Производительность – важнейшее качество для компаний, работающих с программами на базе данных Oracle, что требует от подсистем хранения низкого времени задержки и максимального количества операций ввода-вывода в секунду. Таким образом, важно выбрать сервер не только с новейшей технологией процессора и большим объемом оперативной памяти, но и с возможностью обновлений для обеспечения высокого уровня обслуживания. Новый сервер Dell PowerEdge R920 с процессором Intel® Xeon семейства E7 v2 обеспечивает производительность, необходимую для критически важных приложений. При помощи твердотельных накопителей NVMe Express Flash PCIe можно поднять производительность сервера на новый уровень.
В нашей тестовой лаборатории мы протестировали два сервера Dell PowerEdge R920 с базой данных Oracle Database 12c с OLTP TPC-C рабочими нагрузками, первый в конфигурации со стандартными серийными SCSI (SAS) жесткими дисками, второй с твердотельными накопителями NVMe Express Flash PCIe. Обновленная конфигурация с твердотельными накопителями PCIe увеличила производительность базы данных в 14,9 раз по сравнению с жесткими дисками. В то время как базовая конфигурация обеспечивает хорошую производительность сервера, твердотельные накопители NVMe Express Flash PCIe позволяют существенно ее повысить, став выгодной инвестицией для бизнеса, стремящегося удовлетворить требованиям пользователей базы данных Oracle.
ПРИ ОБНОВЛЕНИИ ПРОИЗВОДИТЕЛЬНОСТЬ БАЗЫ ДАННЫХ РЕЗКО ВОЗРАСТАЕТ
Dell PowerEdge R920 с процессором Intel Xeon семейства E7 v2 – это самый быстрый 4-сокетный сервер Dell с форм-фактором 4U. Компания Dell разработала его для работы с критически важными рабочими нагрузками, такими как планирование ресурсов предприятия (ERP), электронная коммерция, полномасштабная виртуализация и крупные базы данных. Стандартная конфигурация включает 24 отсека под дисковод на 2,5 дюйма и поддерживает до 24 жестких дисков SAS. Конфигурация с твердотельными накопителями NVMe Express Flash PCIe поддерживает до восьми твердотельных накопителей PCIe и до 16 жестких дисков SAS в оставшихся отсеках. Это обеспечивает максимальную скорость восьми высокоэффективных дисков и большую емкость для хранения на 16 дисках SAS.
Несмотря на то, что сервер Dell PowerEdge R920 в стандартной конфигурации хорошо поддерживает базу данных Oracle, мы хотели узнать, как измениться производительность при использовании твердотельных накопителей NVMe Express Flash PCIe. Для этого мы использовали программу по оценке производительности, тестирующую эффективность многих ведущих баз данных. Как показано на Рис. 1 во второй конфигурации производительность базы данных Oracle резко повышается, сервер Dell PowerEdge R920 с твердотельными накопителями NVMe Express Flash PCIe работает почти в 15 раз эффективнее, чем в первой конфигурации с жесткими дисками SAS. Следует отметить, что в обновленной конфигурации высокая эффективность была достигнута при использовании лишь одной трети дисков (восемь твердотельных накопителей против 24 SAS-дисков в базовой конфигурации).
Рис.1 Между двумя конфигурациями сервера обнаружена значительная разница в производительности
Мы привели лишь сравнительные результаты, поскольку Oracle не позволяет публиковать конкретные результаты сравнительного тестирования. Однако даже в базовой конфигурации сервер показал хорошие результаты.
На рис. 2 показаны улучшения производительности, зафиксированные при помощи HammerDB, при различных рабочих нагрузках операций ввода-вывода. Чтобы продемонстрировать производительность при разных рабочих нагрузках операций ввода-вывода мы изменили параметр fast_start_mttr_target в Oracle для использования трех различных вариантов параметра – 60 секунд, 120 секунд и 180 секунд, а затем провели сравнительное тестирование с каждым параметром. Настройки параметра fast_start_mttr_target позволяют задать количество секунд, которое база данных будет затрачивать на восстановление после сбоя. Чем быстрее это произойдет, тем раньше восстановится база данных и станет доступна пользователям. При меньшем времени восстановления, например 60 секундах, экземпляр базы данных должен чаще сбрасывать содержимое буфера на диск, создавая высокую нагрузку операций ввода-вывода на подсистему хранения. При большем времени восстановления, например, 180 секундах, на подсистему хранения оказывается меньшая нагрузка операций ввода-вывода.
Как показано на рис.2 сервер Dell PowerEdge R920 в конфигурации с твердотельными накопителями PCIe лучше справляется с нагрузками операций ввода-вывода во всех трех случаях. При уменьшении времени восстановления преимущество в производительности твердотельных накопителей NVMe Express Flash PCIe перед жесткими дисками SAS возрастает. В то время как сервер PowerEdge R920 в базовой конфигурации с жесткими дисками SAS показал хорошие результаты, более высокая производительность зафиксирована в конфигурации с твердотельными накопителями NVMe Express Flash PCIe.
Рис. 2 Относительные результаты преимущества конфигурации с твердотельными накопителями PCIe над базовой конфигурацией, зафиксированные при помощи HammerDB
В обеих тестируемых конфигурациях мы использовали рекомендуемый Oracle подход к управлению хранилищем Automatic Storage Management (ASM). На каждом сервере мы сконфигурировали основное хранилище для избыточности, что потребовалось бы почти в любой среде. Oracle ASM обеспечивает три уровня избыточности: Нормальный с двуканальным копированием, Высокий с трехканальным копированием и Внешний без копирования, но с обеспечением избыточности при помощи аппаратных RAID-контроллеров. В базовой конфигурации с Dell PowerEdge RAID Controller (PERC) H730P мы использовали дисковые группы уровня RAID 1 и Внешний уровень избыточности. В конфигурации с твердотельными накопителями PCIe при отсутствии RAID-контроллера мы использовали нормальный уровень избыточности Oracle ASM с двуканальным копированием.
Значение ускорения операций ввода-вывода
Улучшенная производительность хранилища после обновления базы данных Oracle с твердотельными накопителями NVMe Express PCIe может дать преимущества компании в ряде случаев:
- Улучшение условий соглашения о сервисном обслуживании благодаря уменьшению времени ответа базы данных и/или поддержке большего числа пользователей.
- Уменьшение времени восстановления в случае сбоя
- Уменьшение времени обслуживания базы данных
- Повышение удовлетворенности пользователей
- Снижение затрат благодаря избавлению от аппаратных средств с плохой производительностью
ПРОИЗВОДИТЕЛЬНОСТЬ ОПЕРАЦИЙ ВВОДА-ВЫВОДА ТАКЖЕ РЕЗКО ВОЗРАСТАЕТ
В дополнение к производительности базы данных, мы проанализировали производительность операций ввода-вывода твердотельных накопителей NVMe Express Flash PCIe в сравнении с дисками SAS. Для измерения операций ввода-вывода в двух конфигурациях сервера мы использовали программу Flexible I/O, известную также как Fio. На рис.3 показаны результаты: в обоих тестированиях сервер Dell PowerEdge R920 с твердотельными накопителями NVMe Express Flash PCIe значительно превосходил по производительности базовую конфигурацию с жесткими дисками SAS.
Обратите внимание на то, что случайная запись в количестве 313 687 операций ввода-вывода в секунду приблизительно отображает копируемую конфигурацию. Совокупное количество операций вывода объединенных устройств было удвоено, затем мы разделили его на два, чтобы отразить конфигурацию ASM при нормальном уровне двуканального копирования, которую мы использовали в тестировании. Мы запустили тесты Fio в конфигурации без копирования, поскольку шина PCIe не обладает возможностями RAID. Мы поделили результаты, 627 374 операций ввода-вывода в секунду, на два, чтобы получить приблизительные результаты копирования записи в массиве RAID 1. Подробное описание конфигурации см. в Приложении B.
В отличие от производительности базы данных, включающей нагрузки, создаваемые приложениями, очередями и уровнем ПО, производительность операций ввода-вывода показывает способность подсистемы хранения обрабатывать данные, и зачастую она во много раз превосходит производительность базы данных.
Рис.3. Результаты сравнительного тестирования Fio. Предпочтительнее большое количество операций ввода-вывода в секунду. Количество операций записи для NVMe составило 627 374, мы поделили результат на двое, чтобы математически приблизить к результату копирования.
О ТЕСТИРУЕМЫХ КОМПОНЕНТАХ
О Dell PowerEdge R920
Сервер Dell PowerEdge R920 является самым быстрым 4-сокетным сервером Dell с форм-фактором 4U.
Сервер разработан с возможностью увеличения производительности для крупных предприятий, он поддерживает:
- До 96 модулей памяти DIMM
- 24 внутренних диска
- 8 дисков NVMe Express Flash (с дополнительной объединительной платой PCIe)
- 10 разъемов PCIe Gen3/Gen2
- SAS диски 12Гб/с
Конфигурация сервера также предлагает двойной контроллер Dual PERC option, PERC9 (H730P), Fluid Cache для среды SAN и множество функций RAS (надежность, работоспособность, удобство эксплуатации), таких как Fault Resilient Memory и технология Intel Run Sure.
Использование процессора Intel Xeon семейства E7 v2
Сервер PowerEdge R920 использует новый процессор Intel Xeon семейства E7 v2, разработанный компанией Intel для поддержания высокой производительности критически важных задач путем добавления на 50% больше ядер/потоков и на 25% больше кэш-памяти, что обеспечивает значительный скачок производительности по сравнению с предыдущими моделями. Процессор Intel Xeon семейства E7 v2 поддерживает до 6ТБ памяти DDR3, до 24 модулей DDR3 DIMM памяти на разъем и скорость до 1 600 МГц для улучшения производительности и увеличения масштабируемости.
Процессор Intel Xeon семейства E7 v2 поддерживает все функции надежности, работоспособности и удобства эксплуатации, присутствующие в предыдущих моделях для поддержания критически важных рабочих нагрузок. С технологией Intel Run Sureэтот процессор получил новые функции, включающие eMCA Gen 1, MCA Recovery Execution Path, MCA I/O и PCIe Live Error Recovery.
Поддержание трудоемких рабочих нагрузок
Сервер PowerEdge R920 способен обрабатывать трудоемкие, критически важные рабочие нагрузки, планирование ресурсов предприятия (ERP), электронная коммерция, полномасштабная виртуализация и очень большие базы данных. Он особенно подходит для следующих рабочих нагрузок и сред:
- Ускорение больших общекорпоративных программ ((ERP, CRM, Business Intelligence)
- Внедрение крупных традиционных баз данных или баз данных, расположенных в памяти
- Объединение рабочей нагрузки предприятия с полномасштабной виртуализацией
- Переключение с дорогих и устаревших аппаратных средств RISC на перспективный центр обработки данных
Подробную информацию о сервере Dell PowerEdge R920 см. на www.dell.com/us/business/p/poweredge-r920/pd.
О сервере Dell PowerEdge с твердотельными накопителями NVMe Express Flash PCIe
Сервер Dell PowerEdge с твердотельными накопителями NVMe Express Flash PCIe является идеальным высокоэффективным хранилищем для решений, требующих низкого времени задержки, максимального количества операций ввода-вывода в секунду и надежности хранения корпоративного класса. Совместимый с PCIe Gen3 твердотельный накопитель NVMe Express Flash PCIe может использоваться в качестве кэш-памяти или основного устройства хранения данных в трудоемкой корпоративной среде, такой как blade- и стоечные серверы, серверы видео по запросу, web ускорители, устройства виртуализации.
NVM Express – это оптимизированный высокоэффективный масштабируемый интерфейс главного контроллера с усовершенствованным интерфейсом регистра и набором команд для обработки энергонезависимой памяти (NVM). Он разработан для предприятий, центров обработки данных, клиентских систем, использующих твердотельные накопители PCIe.
Согласно NVMHCI Work Group, группе, включающей более 90 компаний, занимающихся хранением, “NVM Express значительно улучшает случайную и последовательную производительность, уменьшая время задержки, обеспечивая высокие уровни дублирования и оптимизацию набора команд, поддерживая безопасность, непрерывную защиту данных и прочие функции, в которых нуждается пользователь. NVM Express гарантирует подход, основанный на стандартах, обеспечивая поддержку экосистемы и совместимость твердотельных накопителей PCIe.
Подробности о сервере Dell PowerEdge с твердотельными накопителями NVMe Express Flash PCIe см. на www.dell.com/learn/us/en/04/campaigns/poweredge-express-flash.
Подробности об интерфейсе NVM Express см. на www.nvmexpress.org/.
ЗАКЛЮЧЕНИЕ
Высокая производительность сервера является необходимым условием для компаний, работающих с Oracle Database. Новый сервер Dell PowerEdge R920 обеспечивает высокую производительность в базовой конфигурации с 24 жесткими дисками SAS, но его производительность значительно возрастает при подключении твердотельных накопителей NVMe Express Flash PCIe. При проведении тестирования обновленная конфигурация Dell PowerEdge R920 увеличила производительность базовой конфигурации в 14,9 раз. Кроме того, при тестировании производительности операций ввода-вывода, конфигурация с твердотельными накопителями NVMe Express Flash PCIe превзошла производительность базовой конфигурации в 192,8 раз. Учитывая, что подсистема хранения является критически важной в серверах и в частности в приложениях баз данных, повышение производительности с помощью твердотельных накопителей NVMe Express Flash PCIe может стать выгодной инвестицией и привести к значительному повышению уровня услуг.
ПРИЛОЖЕНИЕ A – ИНФОРМАЦИЯ О КОНФИГУРАЦИИ СЕРВЕРА
На Рис. 4 предоставлена информация о конфигурации тестируемых систем.
На Рис. 4 предоставлена информация о конфигурации тестируемых систем.
ПРИЛОЖЕНИЕ B – МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ
Об инструментах тестирования
Hammer DB
HammerDB является общедоступной программой для тестирования производительности многих ведущих баз данных, включая Oracle Database, Microsoft® S-L Server®, PostgreS-L, MyS-L™ и другие. Оценка включает две встроенных рабочих нагрузки, полученных из оценок, принятых к качестве отраслевого стандарта: транзакционная (TPC-C) рабочая нагрузка и (TPCH) рабочая нагрузка хранилища данных. Для этого тестирования мы использовали транзакционную рабочую нагрузку. Наши тесты не являются официальными результатами TPC и не подлежат сравнению. Дополнительную информацию о HammerDB см. на hammerora.sourceforge.net.
Flexible I/O (Fio) 2.1.4
Fio является общедоступным инструментом ввода/вывода, используемым для нагрузки аппаратных средств и получения результатов в IOPS (количество операций ввода/вывода в секунду). Мы скачали и использовали для тестирования Fio 2.1.4 (pkgs.repoforge.org/fio/fio-2.1.4-1.el6.rf.x86_64.rpm).
Обзор конфигурации
Мы использовали все восемь дисков в конфигурации SSD для случайного чтения и записи и 20 SAS-дисков в 10 двухдисковых конфигурациях RAID 1. Таким образом, SAS-конфигурация включает 10 двухдисковых групп, в то время как SSD-конфигурация включает восемь групп с одним диском. Причиной такой конфигурации является то, что твердотельные SSD-накопители не обладают RAID-контроллером в отличие от SAS-дисков. Для тестирования Oracle мы задали эти конфигурации в Automatic Storage Management, таким образом, мы запустили Fio, чтобы отразить конфигурацию Oracle. Это позволило смоделировать дисковую конфигурацию с базой данных для тестирования. Для Fio мы использовали размер блока 8k, чтобы смоделировать конфигурацию базы данных Oracle.
Настройка Red Hat Enterprise Linux и Oracle Database 12c
Мы установили Red Hat Enterprise Linux на оба сервера Dell PowerEdge R920 и настроили параметры согласно указанием ниже. Выводимые на экран данные отображены на сером фоне.
Установка Red Hat Enterprise Linux
Мы установили Red Hat Enterprise Linux на сервер Intel, а затем настроили параметры согласно указанием ниже.
- Вставьте Red Hat Enterprise Linux 6.5 DVD в сервер и загрузите его.
- Выберите Install или обновите существующую систему.
- При сомнениях в качестве установочного диска, выберите OK для проверки установочного носителя, в ином случае выберите Skip.
- В открывшемся окне нажмите Next.
- Выберите нужный язык, нажмите Next.
- Выберите раскладку клавиатуры, нажмите Next.
- Выберите основные устройства хранения, нажмите Next.
- Нажмите Yes, сбросьте любые данные в окне предупреждения устройства хранения.
- Введите имя хост-системы, нажмите Next.
- Выберите ближайший город по часовому поясу и нажмите Next.
- Введите корневой пароль, нажмите Next.
- Выберите Create Custom Layout, нажмите Next.
- Выберите установочный диск и нажмите Create. (Создайте следующие массивы: Root = 300ГБ, Home = 500ГБ, Boot = 200МБ, SWAP = 20ГБ).
- Нажмите Next.
- В всплывающем окне нажмите Write changes to disk.
- Выберите соответствующие устройства хранения данных и директорию для загрузчика, нажмите Next.
- Выберите основной сервер ПО, нажмите Next. Начнется установка Linux.
- После завершения установки, выберите Reboot для перезагрузки сервера.
Настройка исходной конфигурации
Выполните следующие шаги для обеспечения базовой функциональности, необходимой Oracle Database. Мы выполнили все эти задания, как корневые.
SELINUX=disabled
GOVERNOR=performance
chkconfig ip6tables off
lsscsi unzip smartmontools numactl ipmitool OpenIPMI
lsscsi unzip smartmontools numactl ipmitool OpenIPMI
binutils
compat-libcap1
compat-libstdc++-33
compat-libstdc++-33.i686
gcc
gcc-c++
glibc
glibc.i686
glibc-devel
glibc-devel.i686
ksh
libgcc
libgcc.i686
libstdc++
libstdc++.i686
libstdc++-devel
libstdc++-devel.i686
libaio
libaio.i686
libaio-devel
libaio-devel.i686
libXext
libXext.i686
libXtst
libXtst.i686
libX11
libX11.i686
libXau
libXau.i686
libxcb
libxcb.i686
libXi
libXi.i686
make
sysstat
unixODBC
unixODBC-devel
xorg-x11-xauth
xorg-x11-utils
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
vm.nr_hugepages = 262144
vm.hugetlb_shm_group = 54321
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 536870912
oracle hard memlock 536870912
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
127.0.0.1 R920 R920.localhost.localdomain localhost
localhost.localdomain localhost4 localhost4.localdomain4
::1 R920 R920.localhost.localdomain localhost
localhost.localdomain localhost6 localhost6.localdomain6
Измените строку:
* soft nproc 1024
на:
* — nproc 16384
# Oracle Settings
export TMP=/tmp
export TMPDIR= TMP
export ORACLE_HOSTNAME=R920.localhost.localdomain
export ORACLE_BASE=/home/oracle/app/oracle
export GRID_HOME= ORACLE_BASE/product/12.1.0/grid
export DB_HOME= ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_HOME= DB_HOME
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin: PATH
export PATH= ORACLE_HOME/bin: BASE_PATH
export LD_LIBRARY_PATH= ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH= ORACLE_HOME/JRE: ORACLE_HOME/jlib: ORACLE_HOME/rdbms/jlib
alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'
export ORACLE_SID=+ASM
export ORACLE_HOME= GRID_HOME
export PATH= ORACLE_HOME/bin: BASE_PATH
export LD_LIBRARY_PATH= ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH= ORACLE_HOME/JRE: ORACLE_HOME/jlib: ORACLE_HOME/rdbms/jlib
export ORACLE_SID=orcl
export ORACLE_HOME= DB_HOME
export PATH= ORACLE_HOME/bin: BASE_PATH
export LD_LIBRARY_PATH= ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH= ORACLE_HOME/JRE: ORACLE_HOME/jlib: ORACLE_HOME/rdbms/jlib
Настройка хранилища SAS
Мы выполнили следующие шаги для настройки хранилища SAS перед настройкой ASM:
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a10580658268a»,
SYMLINK+=«oracleasm/mirror01», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a106c07885c76»,
SYMLINK+=«oracleasm/mirror02», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a108f09a3aecc»,
SYMLINK+=«oracleasm/mirror03», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a10ad0b720998»,
SYMLINK+=«oracleasm/mirror04», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a10c00c8d5153»,
SYMLINK+=«oracleasm/mirror05», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a10d20da90647»,
SYMLINK+=«oracleasm/mirror06», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a110c1118728c»,
SYMLINK+=«oracleasm/mirror07», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a111e1229ba5a»,
SYMLINK+=«oracleasm/mirror08», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a1132135878df»,
SYMLINK+=«oracleasm/mirror09», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a114814ac573a»,
SYMLINK+=«oracleasm/mirror10», OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«sd?1», ENV{DEVTYPE}==«partition»,
ENV{ID_SERIAL}==«36c81f660d8d581001a9a115c15d5b8ce»,
SYMLINK+=«oracleasm/mirror11», OWNER=«oracle», GROUP=«dba», MODE=«0660»
start_udev
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror01 -> ../sdb1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror02 -> ../sdc1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror03 -> ../sdd1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror04 -> ../sde1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror05 -> ../sdf1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror06 -> ../sdg1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror07 -> ../sdh1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror08 -> ../sdi1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror09 -> ../sdj1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror10 -> ../sdk1
lrwxrwxrwx 1 root root 7 Feb 24 19:17 mirror11 -> ../sdl1
Настройка хранилища PCIe SSD
Мы выполнили следующие шаги для настройки хранилища PCIe SSD перед настройкой ASM:
ID_SCSI_SERIAL; done
ID_SCSI_SERIAL= S1J0NYADC00150
ID_SCSI_SERIAL= S1J0NYADC00033
ID_SCSI_SERIAL= S1J0NYADC00111
ID_SCSI_SERIAL= S1J0NYADC00146
ID_SCSI_SERIAL= S1J0NYADC00136
ID_SCSI_SERIAL= S1J0NYADC00104
ID_SCSI_SERIAL= S1J0NYADC00076
ID_SCSI_SERIAL= S1J0NYADC00048
KERNEL==«nvme?n?», ENV{ID_SCSI_SERIAL} ="?*", IMPORT{program}=«scsi_id — export --whitelisted -d tempnode», ENV{ID_BUS}=«scsi»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00150», SYMLINK+=«oracleasm/ssd0»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00033», SYMLINK+=«oracleasm/ssd1»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00111», SYMLINK+=«oracleasm/ssd2»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00146», SYMLINK+=«oracleasm/ssd3»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00136», SYMLINK+=«oracleasm/ssd4»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00104», SYMLINK+=«oracleasm/ssd5»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00076», SYMLINK+=«oracleasm/ssd6»,
OWNER=«oracle», GROUP=«dba», MODE=«0660»
KERNEL==«nvme?n?p1», ENV{DEVTYPE}==«partition»,
ENV{ID_SCSI_SERIAL}==«S1J0NYADC00048», SYMLINK+=«oracleasm/ssd7»,
OWNER=«oracle», GROUP=«dba», MODE=“0660"
start_udev
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd0 -> ../nvme0n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd1 -> ../nvme1n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd2 -> ../nvme2n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd3 -> ../nvme3n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd4 -> ../nvme4n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd5 -> ../nvme5n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd6 -> ../nvme6n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd7 -> ../nvme7n1p1
Установка Oracle Grid Infrastructure на автономный сервер 12c"
Перед выполнением следующих шагов мы скачали установочный файл Oracle 12 Grid и извлекли его в директорию /home/grid.
1.
db_env
cd /home/grid
./runInstaller
2. Запустите мастер установки Oracle Grid Infrastructure.
3. В Software Updates выберите Skip software updates и нажмите Next.
4. В Installation Options выберите Install and Configure Oracle Grid Infrastructure for a Standalone Server и нажмите Next.
5. В Product Languages выберите English и нажмите на стрелочку, указывающую вправо, чтобы добавить язык в панель выбранных языков. Нажмите Next.
6. В Create ASM Disk Group выберите Change Discovery Path.
7. Введите /dev/nvme* для Disk Discovery Path и нажмите OK (Для конфигурации SAS мы оставили значение по умолчанию).
8. Отметьте «флажком» все диски и нажмите Next (В конфигурации SAS мы не отмечали последний диск. Мы сконфигурировали последний диск для протоколов в конфигурации SAS).
9. В ASM Password выберите Use same passwords for these accounts. Введите и подтвердите пароль. Нажмите Next.
10. В Operating System Groups установите все группы на dba. Нажмите Next.
11. Нажмите Yes, чтобы подтвердить уведомления и продолжить.
12. В Installation Location оставьте значения по умолчанию и нажмите Next.
13. В Create Inventory оставьте значения по умолчанию и нажмите Next.
14. В Root Script Execution отметьте «флажком» Automatically run configuration scripts.
15. Выберите Use “root” user credential и введите корневой пароль. Нажмите Next.
16. В Summary проверьте информацию и нажмите Install, чтобы начать установку.
17. Нажмите Yes, чтобы подтвердить использование привилегированного пользователя для установки.
18. В окне Finish нажмите Close, чтобы выйти из установщика.
Установка Oracle Database 12c
1.
db_env
cd /home/database
./runInstaller
2. Запустите мастер установки Oracle Database 12c Release 1.
3. В окне Configure Security Updates снимите «флажок» с I wish to receive security updates. Нажмите Next.
4. Нажмите Yes, чтобы подтвердить отсутствие электронной почты и продолжить.
5. В Software Updates выберите Skip software updates и нажмите Next.
6. В Installation Options выберите Install database software only и нажмите Next.
7. В Grid Installation Options выберите Single instance database installation и нажмите Next.
8. В Product Languages выберите English и нажмите на стрелочку, указывающую вправо, чтобы добавить язык в панель выбранных языков. Нажмите Next.
9. В Database Edition выберите Enterprise Edition и нажмите Next.
10. В Installation Location оставьте значения по умолчанию и нажмите Next.
11. В Operating System Groups оставьте значения по умолчанию и нажмите Next.
12. В Summary проверьте информацию и нажмите Install, чтобы начать установку.
13. Следуйте инструкциям для выполнения сценариев. После выполнения сценариев нажмите OK.
14. В окне Finish нажмите Close, чтобы выйти из установщика.
15. При поступлении соответствующего запроса системы в установщике GUI запустите корневой сценарий оболочки, чтобы завершить установку.
/home/oracle/app/oracle/product/12.1.0/dbhome_1/root.sh
Создание Oracle Database (при помощи DBCA)
1. Запустите Database Configuration Assistant (DBCA)
2. В Database Operations выберите Create Database и нажмите Next.
3. В Creation Mode выберите Advanced Mode и нажмите Next.
4. В Database Template выберите Template for General Purpose or Transaction Processing и нажмите Next.
5. В Database Identification введите orcl в поле Global Database Name.
6. Введите orcl в поле SID. Нажмите Next.
7. В Management Options выберите Configure Enterprise Manager (EM) Database Express. Нажмите Next.
8. В Database Credentials выберите Use the Same Administrative Password for All Accounts.
9. Введите и подтвердите пароль администратора и нажмите Next.
10. В Network Configuration отметьте «флажком» все приемники и нажмите Next.
11. В Storage Locations выберите User Common Location for All Database Files. Введите +DATA в поле Database Files Location.
12. Выберите Specify Fast Recovery Area. Введите (ORACLE_BASE)/fast_recovery_area в поле Fast Recovery Area.
13. Установите размер Fast Recovery Area 400 ГБ и нажмите Next.
14. В Database Options оставьте значения по умолчанию и нажмите Next.
15. В Initialization Parameters и под стандартными настройками установите размер памяти на 80% и нажмите Next.
16. В Creation Options выберите Create Database. Нажмите Customize Storage Locations.
17. В панели Customize Storage и под Redo Log Groups выберите 1.
18. Установите размер файла на 51 200 МБ. Нажмите Apply.
19. Под Redo Log Groups выберите 2.
20. Установите размер файла на 51 200 МБ. Нажмите Apply.
21. Под Redo Log Groups выберите 3.
22. Нажмите Remove, затем нажмите Yes.
23. Чтобы выйти из панели Customize Storage panel, нажмите Ok.
24. Нажмите Next.
25. Проверьте Summary. Для завершения создания базы данных нажмите Finish.
26. Проверьте информацию на экране и нажмите Exit.
27. Для выхода из DBCA нажмите Close.
Настройка Oracle Tablespaces и протокола redo
ALTER DATABASE ADD LOGFILE GROUP 12 ( '/tmp/temp2.log' ) SIZE 50M;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT;
ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 3;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT;
ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 3;
— DELETE OLD REDO LOG FILES IN ASM MANUALLY USING ASMCMD HERE — alter system set "_disk_sector_size_override"=TRUE scope=both;
— BEGIN: SSD REDO LOGS — ALTER DATABASE ADD LOGFILE GROUP 1 ( '+DATA/orcl/redo01.log' ) SIZE 50G
BLOCKSIZE 4k;
ALTER DATABASE ADD LOGFILE GROUP 2 ( '+DATA/orcl/redo02.log' ) SIZE 50G
BLOCKSIZE 4k;
— END: SSD REDO LOGS — -- BEGIN: SAS REDO LOGS — ALTER DATABASE ADD LOGFILE GROUP 1 ( '+REDO/orcl/redo01.log' ) SIZE 50G;
ALTER DATABASE ADD LOGFILE GROUP 2 ( '+REDO/orcl/redo02.log' ) SIZE 50G;
— END: SAS REDO LOGS — ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT;
ALTER DATABASE DROP LOGFILE GROUP 11;
ALTER DATABASE DROP LOGFILE GROUP 12;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT;
ALTER DATABASE DROP LOGFILE GROUP 11;
ALTER DATABASE DROP LOGFILE GROUP 12;
HOST rm -f /tmp/temp*.log
SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
— DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, <MAX_LATENCY>, iops, mbps,
lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2000, 10, iops, mbps, lat);
DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
dbms_output.put_line('max_mbps = ' || mbps);
end;
/
CREATE BIGFILE TABLESPACE «TPCC»
DATAFILE '+DATA/orcl/tpcc.dbf' SIZE 400G AUTOEXTEND ON NEXT 1G
BLOCKSIZE 8K
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE «TPCC_OL»
DATAFILE '+DATA/orcl/tpcc_ol.dbf' SIZE 150G AUTOEXTEND ON NEXT 1G
BLOCKSIZE 16K
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DATAFILE '+DATA/tpcc1/undotbs01.dbf' RESIZE 32760M;
Настройка Oracle pfile
environment
_disk_sector_size_override=TRUE
_enable_NUMA_support=TRUE
_kgl_hot_object_copies=4
_shared_io_pool_size=512m
aq_tm_processes=0
audit_file_dest='/home/oracle/app/oracle/admin/orcl/adump'
audit_trail='NONE'
compatible='12.1.0.0.0'
control_files='+DATA/orcl/control01.ctl','+DATA/orcl/control02.ctl'
db_16k_cache_size=32g
db_block_size=8192
db_cache_size=128g
db_create_file_dest='+DATA'
db_domain=''
db_name='orcl'
db_recovery_file_dest_size=500g
db_recovery_file_dest='/home/oracle/app/oracle/fast_recovery_area'
db_writer_processes=4
diagnostic_dest='/home/oracle/app/oracle'
disk_asynch_io=TRUE
dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
dml_locks=500
fast_start_mttr_target=60
java_pool_size=4g
job_queue_processes=0
large_pool_size=4g
local_listener='LISTENER_ORCL'
lock_sga=TRUE
log_buffer=402653184
log_checkpoint_interval=0
log_checkpoint_timeout=0
log_checkpoints_to_alert=TRUE
open_cursors=2000
parallel_max_servers=0
parallel_min_servers=0
pga_aggregate_target=5g
plsql_code_type='NATIVE'
plsql_optimize_level=3
processes=1000
recovery_parallelism=30
remote_login_passwordfile='EXCLUSIVE'
replication_dependency_tracking=FALSE
result_cache_max_size=0
sessions=1500
shared_pool_size=9g
statistics_level='BASIC'
timed_statistics=FALSE
trace_enabled=FALSE
transactions=2000
transactions_per_rollback_segment=1
undo_management='AUTO'
undo_retention=1
undo_tablespace='UNDOTBS1'
use_large_pages='ONLY'
+DATA/orcl/spfileorcl.ora
Настройка клиента HammerDB
Мы использовали двупроцессорный сервер с Red Hat Enterprise Linux 6.5 для клиента HammerDB. Мы выполнили процедуры установки в начале данного приложения для установки Red Hat Enterprise Linux, но установили GUI. Затем мы установили ПО клиента HammerDB.
Установка HammerDB
Скачайте и установите версию 2.16 на клиент Red Hat. Мы скачали HammerDB с hammerora.sourceforge.net/download.html. Мы установили HammerDB в соответствии с инструкцией по установке (hammerora.sourceforge.net/hammerdb_install_guide.pdf).
Установка библиотек HammerDB Oracle
Выполните следующие шаги в обеих системах.
1. Запустите Oracle Client Installer.
2. В Select Installation Type выберите Administrator (1.8 ГБ) в качестве типа установки и нажмите Next.
3. В Software Updates выберите Skip software updates и нажмите Next.
4. В Product Languages выберите English и нажмите на стрелочку, указывающую вправо, чтобы добавить язык в панель выбранных языков. Нажмите Next.
5. В Specify Installation Location оставьте значения по умолчанию и нажмите Next.
6. В Create Inventory оставьте значения по умолчанию и нажмите Next.
7. В Summary проверьте информацию и нажмите Install, чтобы начать установку.
8. В Install Product следуйте инструкциям для выполнения сценариев. Нажмите OK после выполнения сценариев.
9. В окне Finish нажмите Close для выхода из установщика.
Настройка базы данных
System user = system
System User Password = Password1
TPC-C User = tpcc
TPC-C User Password = tpcc
TPC-C Default Tablespace = tpcc
Order Line Tablespace = tpcc_ol
TPC-C Temporary Tablespace = temp
TimesTen Database Commatible = unchecked
Partition Order Line Table = checked
Number of Warehouses = 5000
Virtual Users to Build Schema = 60
Use PL/S-L Server Side Load = unchecked
Server Side Log Directory = /tmp
Запуск HammerDB
Мы запустили HammerDB, заполнив соответствующую информацию в опциях диска. Мы провели тестирование в течение 5 минут постепенного нарастания нагрузки и 5 минут испытаний. Мы использовали 101 виртуального пользователя с пользовательской задержкой в 500 миллисекунд и повторяющимися задержками. Мы использовали rman для восстановления базы данных между испытаниями.
Автор: ThePixel