NVME EXPRESS FLASH PCIEにSSDを搭載した新しいDELL PE R920構成の利点



パフォーマンスは、Oracleに基づくプログラムを扱う企業にとって最も重要な品質であり、ストレージサブシステムからの1秒あたりの低レイテンシと最大I / O操作が必要です。 したがって、最新のプロセッサテクノロジと大量のRAMを備えたサーバーだけでなく、アップグレードして高レベルのサービスを提供できるサーバーを選択することが重要です。 Intel®XeonプロセッサーE7 v2ファミリーを搭載した新しいDell PowerEdge R920サーバーは、ミッションクリティカルなアプリケーションに必要なパフォーマンスを提供します。 NVMe Express Flash PCIe SSDを使用すると、サーバーのパフォーマンスを次のレベルに引き上げることができます。

テストラボでは、OLTP TPC-Cワークロードを備えたOracle Database 12cを搭載した2台のDell PowerEdge R920サーバーをテストしました。1台目は標準シリアルSCSI(SAS)ハードドライブ、2台目はNVMe Express Flash PCIe SSDです。 PCIe SSDを使用した構成の更新により、ハードドライブと比較してデータベースのパフォーマンスが14.9倍向上しました。 基本構成は優れたサーバーパフォーマンスを提供しますが、NVMe Express Flash PCIe SSDはそれを大幅に増加させることができ、Oracleデータベースユーザーの要件を満たすことを求めている企業にとって有益な投資になります。


データベースの生産性を大幅に更新



Intel XeonプロセッサE7 v2ファミリを搭載したDell PowerEdge R920は、デルの最速4ソケット4Uサーバーです。 デルは、エンタープライズリソースプランニング(ERP)、eコマース、本格的な仮想化、大規模データベースなどのミッションクリティカルなワークロードを処理するように設計しました。 標準構成には、24台の2.5インチドライブベイが含まれ、最大24台のSASハードドライブをサポートします。 NVMe Express Flash PCIe SSD構成残りのベイで最大8個のPCIe SSDと最大16個のSAS HDDをサポートします。 これにより、最高速度の8個の高性能ディスクと16個のSASディスクの大容量ストレージが提供されます。

標準構成のDell PowerEdge R920サーバーはOracleデータベースを十分にサポートしているという事実にもかかわらず、NVMe Express Flash PCIe SSDの使用時にパフォーマンスを変更する方法を知りたいと考えました。 これを行うために、多くの主要なデータベースのパフォーマンスをテストするパフォーマンス評価プログラムを使用しました。 図に示すように 1、2番目の構成では、Oracleデータベースのパフォーマンスが大幅に向上します。NVMeExpress Flash PCIe SSDを搭載したDell PowerEdge R920サーバーは、SASハードドライブを搭載した最初の構成よりもほぼ15倍効率的です。 更新された構成では、ドライブの3分の1のみを使用して高効率が達成されたことに注意する必要があります(基本構成の24個のSASドライブに対して8個のSSD)。


図1 2つのサーバー構成間で、パフォーマンスの大きな違いが見つかりました

Oracleは比較テストの特定の結果の公開を許可していないため、比較結果のみを提供しました。 ただし、基本構成でも、サーバーは良好な結果を示しました。

2は、さまざまなI / Oワークロードに対してHammerDBによってキャプチャされたパフォーマンスの改善を示しています。 I / O操作のさまざまなワークロードでのパフォーマンスを実証するために、Oracleのfast_start_mttr_targetパラメーターを3つの異なるパラメーターオプション(60秒、120秒、180秒)を使用するように変更し、各パラメーターで比較テストを実施しました。 fast_start_mttr_targetパラメーター設定により、データベースが障害からの回復に費やす秒数を指定できます。 これが速くなるほど、データベースがより早く復元され、ユーザーが利用できるようになります。 60秒などの回復時間を短くすると、データベースインスタンスはバッファーの内容をより頻繁にディスクにフラッシュし、ストレージサブシステムで高負荷のI / O操作を作成する必要があります。 180秒などの長い復旧時間では、ストレージサブシステムのI / Oの負荷が少なくなります。

図2に示すように、PCIe SSDで構成され Dell PowerEdge R920サーバーは、3つのケースすべてでI / Oワークロードをよりよく処理します。 リカバリ時間が短くなると、SASドライブよりもNVMe Express Flash PCIe SSDのパフォーマンスが向上します。 SASハードドライブを使用した基本構成のPowerEdge R920 サーバーは良好な結果を示しましたが、NVMe Express Flash PCIe SSDを使用した構成ではより高いパフォーマンスが記録されました。


2 HammerDBで記録された基本構成に対するPCIe SSDを使用した構成の利点の相対的な結果

両方のテスト構成で、自動ストレージ管理(ASM)にオラクルが推奨するアプローチを使用しました。 各サーバーで、ほとんどすべての環境で必要となる冗長性のためにメインストレージを構成しました。 Oracle ASMは、2つのレベルの冗長性を提供します。2チャネル・コピーの通常、3チャネル・コピーの高レベル、およびコピーなしの外部ハードウェアRAIDコントローラを使用した外部レベルです。 Dell PowerEdge RAID Controller(PERC)H730Pを使用した基本構成では、RAID 1ディスクグループと外部冗長レベルを使用しました。 RAIDコントローラがない場合のPCIe SSDを使用した構成では、2チャネルコピーによるOracle ASMの通常の冗長レベルを使用しました。

I / O加速値


NVMe Express PCIe SSDを使用してOracleデータベースをアップグレードした後のストレージパフォーマンスの改善は、場合によっては企業にメリットをもたらします。


I / O操作の生産性もシャープに増加


データベースのパフォーマンスに加えて、SASドライブと比較したNVMe Express Flash PCIe SSDのI / Oパフォーマンスを分析しました。 2つのサーバー構成でI / Oを測定するために、Fioとも呼ばれるフレキシブルI / Oを使用しました。 図3に結果を示します。両方のテストで、NVMe Express Flash PCIe SSDを搭載したDell PowerEdge R920サーバーは、SASハードドライブを使用した基本構成を大幅に上回りました。
1秒あたり313,687 I / O操作のランダム書き込みは、コピーされる構成をほぼ表していることに注意してください。 結合されたデバイスの出力操作の総数は2倍になり、テストで使用した通常のレベルの2チャネルコピーでのASM構成を反映するために2つに分割しました。 PCIeバスにはRAID機能がないため、コピーなしの構成でFioテストを実行しました。 結果を1秒あたり627,374のI / O操作で2で除算して、RAID 1でレコードをコピーしたおおよその結果を取得しました。構成の詳細については、 付録Bを参照してください。

アプリケーション、キュー、ソフトウェアレベルによって作成される負荷を含むデータベースのパフォーマンスとは対照的に、I / O操作のパフォーマンスは、ストレージサブシステムのデータ処理能力を示し、多くの場合、データベースのパフォーマンスよりも何倍も高くなります。


図3 Fioベンチマーク結果。 1秒あたりの多数のI / O操作が推奨されます。 NVMeの書き込み操作の数は627,374でした;コピーの結果に数学的に近づけるために、結果を2で除算しました。

テスト済みコンポーネントについて



Dell PowerEdge R920について


Dell PowerEdge R920は、Dellの最速4ソケット4Uサーバーです。
サーバーは、大企業の生産性を向上させるように設計されており、以下をサポートします。

また、サーバー構成は、デュアルPERCオプションコントローラー、PERC9(H730P)、SAN環境用のFluid Cache、Fault Resilient MemoryやIntel Run Sureテクノロジーなどの多くのRAS機能(信頼性、可用性、使いやすさ)も提供します。

Intel Xeon Processor E7 v2ファミリの使用


PowerEdge R920サーバーは、Intelが開発した新しいIntel XeonプロセッサーE7 v2ファミリーを使用して、コア/スレッドを50%増やし、キャッシュメモリを25%増やしてミッションクリティカルなタスクの高いパフォーマンスを維持します。 。 Intel XeonプロセッサE7 v2ファミリは、最大6 TBのDDR3メモリ、ソケットあたり最大24のDDR3 DIMMをサポートし、最大1,600 MHzの速度でパフォーマンスとスケーラビリティを向上させます。

Intel XeonプロセッサーE7 v2ファミリーは、ミッションクリティカルなワークロードをサポートするために、以前のモデルにあったすべての信頼性、可用性、および使いやすさの機能をサポートしています。 Intel Run Sureテクノロジーにより、このプロセッサにはeMCA Gen 1、MCAリカバリ実行パス、MCA I / O、PCIeライブエラーリカバリなどの新機能が搭載されています。

労働集約的なワークロードを維持する


PowerEdge R920サーバーは、時間のかかるミッションクリティカルなワークロード、エンタープライズリソースプランニング(ERP)、eコマース、本格的な仮想化、および非常に大規模なデータベースを処理できます。 特に次のワークロードと環境に適しています。

Dell PowerEdge R920サーバーの詳細については、 www.dell.com / us / business / p / poweredge-r920 / pdを参照してください。

NVMe Express Flash PCIe SSDを搭載したDell PowerEdgeサーバーについて


NVMe Express Flash PCIe SSDを搭載したDell PowerEdgeサーバーは、低レイテンシ、1秒あたりの最大I / O、エンタープライズクラスのストレージ信頼性を必要とするソリューションに最適な高性能ストレージです。 PCIe Gen3互換NVMe ExpressフラッシュPCIe SSDは、ブレードサーバーラックサーバー 、ビデオオンデマンドサーバー、Webアクセラレーター、仮想化デバイスなどの手間のかかる企業環境でキャッシュまたはメインストレージデバイスとして使用できます。

NVM Expressは、不揮発性メモリ(NVM)を処理するための高度なレジスタインターフェイスと命令セットを備えた、最適化された非常に効率的でスケーラブルなマスターコントローラインターフェイスです。 PCIe SSDを使用する企業、データセンター、クライアントシステム向けに設計されています。

90社以上のストレージ企業のグループであるNVMHCIワークグループによると、「NVM Expressは、レイテンシを削減し、高レベルの複製を提供し、命令セットを最適化するとともに、セキュリティ、継続的なデータ保護、ユーザーのニーズ。 NVM Expressは、エコシステムサポートとPCIe SSD互換性を提供することにより、標準ベースのアプローチを保証します。

NVMe Express Flash PCIe SSDを搭載したDell PowerEdgeサーバーの詳細については、 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 SSDを接続するとパフォーマンスが大幅に向上します。 テスト中、Dell PowerEdge R920の更新された構成により、基本構成のパフォーマンスが14.9倍に向上しました。 さらに、I / O操作のパフォーマンスをテストすると、NVMe Express Flash PCIe SSDを使用した構成は、基本構成のパフォーマンスを192.8倍超えました。 サーバーおよび特定のデータベースアプリケーションでストレージサブシステムが重要であることを考えると、NVMe Express Flash PCIe SSDでパフォーマンスを改善することは有益な投資となり、サービスレベルの大幅な向上につながります。

付録A-サーバー構成情報


図 4は、テスト対象のシステムの構成に関する情報を提供します。

図 4は、テスト対象のシステムの構成に関する情報を提供します。

付録B-テスト方法


テストツールについて


ハンマーdb

HammerDBは、Oracle Database、Microsoft®SLServer®、PostgreS-L、MyS-L™などを含む多くの主要なデータベース向けに公開されているベンチマークツールです。 評価には、業界標準として受け入れられている評価から派生した2つの組み込みワークロード、トランザクション(TPC-C)ワークロードと(TPCH)データウェアハウスワークロードが含まれます。 このテストでは、トランザクションワークロードを使用しました。 私たちのテストは公式のTPCの結果ではなく、比較することはできません。 HammerDBの詳細については、hammerora.sourceforge.netを参照してください。

フレキシブルI / O(Fio)2.1.4

Fioは、ハードウェアをロードし、IOPS(1秒あたりのI / O操作の数)で結果を取得するために使用される、公開されているI / Oツールです。 テスト用にFio 2.1.4をダウンロードして使用しました(pkgs.repoforge.org/fio/fio-2.1.4-1.el6.rf.x86_64.rpm)。

構成の概要

SSD構成の8つのディスクすべてをランダム読み取りと書き込みに使用し、20個のSASディスクを10個のデュアルディスクRAID構成1に使用しました。したがって、SAS構成には10個のダブルディスクグループが含まれ、SSD構成には1つのディスクを持つ8個のグループが含まれます。 この構成の理由は、SASドライブとは異なり、SSDにはRAIDコントローラーがないためです。 Oracleテストでは、自動ストレージ管理でこれらの構成を定義したため、Fioを実行してOracle構成を反映しました。 これにより、テスト用のデータベースを使用してディスク構成をシミュレートできました。 Fioでは、8kブロックサイズを使用してOracleデータベース構成をシミュレートしました。

Red Hat Enterprise LinuxおよびOracle Database 12cの構成

両方のDell PowerEdge R920サーバーにRed Hat Enterprise Linuxをインストールし、以下に示すように設定を構成しました。 画面に表示されるデータは、灰色の背景に表示されます。

Red Hat Enterprise Linuxをインストールする

IntelサーバーにRed Hat Enterprise Linuxをインストールし、次に示すように設定を構成しました。


初期設定

次の手順に従って、Oracle Databaseに必要な基本機能を提供します。 これらすべてのタスクをルートとして完了しました。

SELINUXを無効にする
vi / etc / selinux / config
SELINUX =無効

CPU速度コントローラーのタイプを設定する
vi / etc / sysconfig / cpuspeed
ガバナー=パフォーマンス

IPv4およびIPv6のファイアウォールを無効にします。
chkconfig iptables off
chkconfig ip6tables off

オペレーティングシステムパッケージを更新するには、次を入力します。
yum update –y

追加のパッケージをインストールするには、次のコマンドを指定します。
yum install -y acpid cpuspeed wget vim nfs-utils openssh-clients man
lsscsi unzip smartmontools numactl ipmitool OpenIPMI

追加のパッケージをインストールするには、次のコマンドを指定します。
yum install -y acpid cpuspeed wget vim nfs-utils openssh-clients man
lsscsi unzip smartmontools numactl ipmitool OpenIPMI

サーバーを再起動します。
再起動

次のコマンドを使用して追加のパッケージをインストールします。
yum install -y \
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 ++-開発\
libstdc ++-devel.i686 \
リバイオ\
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 \
\を作る
sysstat \
unixODBC \
unixODBC-devel \
xorg-x11-xauth \
xorg-x11-utils

sysctlファイルを編集します。
vim /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100128
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

次のコマンドで変更を適用します。
sysctl -p

セキュリティ制限の構成を編集します。
vim /etc/security/limits.conf
Oracleソフトnofile 1024
oracle hard nofile 65536
Oracleソフトnproc 2047
Oracle Hard Nproc 16384
Oracleソフトスタック10240
Oracleハードスタック32768
Oracleソフトmemlock 536870912
Oracleハードmemlock 536870912

必要なグループとユーザーを追加します。
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba、oper oracle

Oracleユーザーのパスワードを変更します。
passwd oracle
ユーザーoracleのパスワードの変更。
新しいパスワード:
新しいパスワードを再入力:
passwd:すべての認証トークンが正常に更新されました。

hostsファイルを編集します。
vim / etc / hosts
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

90-nproc.confファイルを編集します。
vim /etc/security/limits.d/90-nproc.conf
行を変更します。
*ソフトnproc 1024
に:
*-nproc 16384

パラメータファイルを編集して、環境変数を設定します。
vim /home/oracle/.bash_profile
#Oracle設定
エクスポートTMP = / tmp
エクスポート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
エイリアスgrid_env = '。 /ホーム/ oracle / grid_env '
エイリアスdb_env = '。 /ホーム/ oracle / db_env '

grid_envファイルを編集し、追加の変数を設定します。
vim / home / oracle / grid_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

db_envファイルを編集し、追加の変数を設定します。
vim / home / oracle / db_env
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

scsi_idファイルを編集します。
echo "options = -g"> /etc/scsi_id.config


SASストレージの構成

ASMを構成する前にSASストレージを構成するには、次の手順を完了しました。
99-oracle-asmdevicesルールファイルを編集します。
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
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”

udevadmを実行し、udevを実行します。
udevadm control --reload-rules
start_udev

ASMデバイスのリスト:
ls -l / dev / oracleasm /
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ストレージの構成

ASMを構成する前にPCIe SSDを構成するには、次の手順を完了しました。
次のコマンドを実行して、SCSI名を作成します。
for i in `se- 0 7`; do scsi_id --export -d / dev / nvme {i} n1 | grep
ID_SCSI_SERIAL; やった
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

99-oracle-asmdevicesルールファイルを編集します。
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
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”

udevadmを実行し、udevを実行します。
udevadm control --reload-rules
start_udev

ASMデバイスのリスト:
ls -l / dev / oracleasm /
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd0-> ../nvme0n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd1-> ../nvme1n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd2-> ../nvme2n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd3-> ../nvme3n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd4-> ../nvme4n1p1
lrwxrwxrwx 1 root root 12 Feb 19 16:46 ssd5-> ../nvme5n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd6-> ../nvme6n1p1
lrwxrwxrwx 1ルートルート12 Feb 19 16:46 ssd7-> ../nvme7n1p1


Oracle Grid Infrastructureをスタンドアロンの12cサーバーにインストールします "

次の手順を実行する前に、Oracle 12 Gridインストールファイルをダウンロードし、/ home / gridディレクトリに抽出しました。
1。
次のコマンドを使用して、Oracle DatabaseのGUIインストールファイルを実行します。
ssh –Y oracle @ R920_IP_address
db_env
cd / home / grid
./runInstaller

2. Oracle Grid Infrastructureインストールウィザードを実行します。
3. [ソフトウェアの更新]で、[ソフトウェアの更新をスキップする]を選択し、[次へ]をクリックします。
4.「インストールオプション」で、「スタンドアロンサーバー用のOracle Grid Infrastructureのインストールと構成」を選択し、「次へ」をクリックします。
5. [製品の言語]で[英語]を選択し、右矢印をクリックして、選択した言語パネルに言語を追加します。 次へをクリックします。
6.「ASMディスクグループの作成」で、「検出パスの変更」を選択します。
7. [ディスク検出パス]に/ dev / nvme *と入力し、[OK]をクリックします(SAS構成のデフォルト値のままにしました)。
8.すべてのディスクを確認し、[次へ]をクリックします(SAS構成では、最後のディスクをマークしませんでした。SAS構成のプロトコル用に最後のディスクを構成しました)。
9. [ASMパスワード]で、[これらのアカウントに同じパスワードを使用する]を選択します。 パスワードを入力して確認します。 次へをクリックします。
10.オペレーティングシステムグループで、すべてのグループをdbaに設定します。 次へをクリックします。
11. [はい]をクリックして通知を確認し、続行します。
12. [インストール場所]で、デフォルトのままにして[次へ]をクリックします。
13. [インベントリの作成]で、デフォルトのままにして[次へ]をクリックします。
14. [ルートスクリプトの実行]で、[構成スクリプトを自動的に実行する]ボックスをオンにします。
15.「root」ユーザー資格情報を使用を選択し、rootパスワードを入力します。 次へをクリックします。
16. [概要]で情報を確認し、[インストール]をクリックしてインストールを開始します。
17.「はい」をクリックして、インストールのための特権ユーザーの使用を確認します。
18.「終了」ウィンドウで、「閉じる」をクリックしてインストーラーを終了します。

Oracle Database 12cのインストール

1。
次のコマンドを使用して、Oracle DatabaseのGUIインストールファイルを実行します。
ssh –Y oracle @ R920_IP_address
db_env
cd / home / database
./runInstaller

2. Oracle Database 12cリリース1セットアップウィザードを実行します。
3. [セキュリティ更新プログラムの構成]ウィンドウで、セキュリティ更新プログラムの受信を希望する[チェックボックス]をオフにします。 次へをクリックします。
4. [はい]をクリックして、メールを確認せずに続行します。
5. [ソフトウェアの更新]で、[ソフトウェアの更新をスキップする]を選択し、[次へ]をクリックします。
6. [インストールオプション]で、[データベースソフトウェアのみをインストールする]を選択し、[次へ]をクリックします。
7.グリッドインストールオプションで、[シングルインスタンスデータベースインストール]を選択し、[次へ]をクリックします。
8. [製品の言語]で[英語]を選択し、右を指す矢印をクリックして、選択した言語のパネルに言語を追加します。 次へをクリックします。
9. Database Editionで、Enterprise Editionを選択し、[次へ]をクリックします。
10.「インストール場所」で、デフォルトのままにして「次へ」をクリックします。
11. [オペレーティングシステムグループ]で、デフォルト値のままにして[次へ]をクリックします。
12. [概要]で情報を確認し、[インストール]をクリックしてインストールを開始します。
13.指示に従ってスクリプトを実行します。 スクリプトを実行した後、「OK」をクリックします。
14.「終了」ウィンドウで、「閉じる」をクリックしてインストーラーを終了します。
15. GUIインストーラーで適切なシステム要求を受信したら、シェルルートスクリプトを実行してインストールを完了します。
/home/oracle/app/oracle/product/12.1.0/dbhome_1/root.sh

Oracleデータベースの作成(DBCAを使用)

1. Database Configuration Assistant(DBCA)を起動します
2.「データベース操作」で、「データベースの作成」を選択し、「次へ」をクリックします。
3.作成モードで、詳細モードを選択し、次へをクリックします。
4.データベーステンプレートで、[汎用またはトランザクション処理用のテンプレート]を選択し、[次へ]をクリックします。
5.「データベースID」で、「グローバルデータベース名」フィールドにorclと入力します。
6.「SID」フィールドにorclと入力します。 次へをクリックします。
7. [管理オプション]で、[Enterprise Manager(EM)Database Expressの構成]を選択します。 次へをクリックします。
8. [データベース資格情報]で、[すべてのアカウントに同じ管理パスワードを使用する]を選択します。
9.管理者パスワードを入力して確認し、「次へ」をクリックします。
10. [ネットワークの構成]で、すべての受信者のチェックボックスを選択し、[次へ]をクリックします。
11. [保存場所]で、[すべてのデータベースファイルのユーザー共通場所]を選択します。 [データベースファイルの場所]フィールドに「+データ」と入力します。
12.「高速リカバリ領域の指定」を選択します。 「高速リカバリ領域」フィールドに(ORACLE_BASE)/ fast_recovery_areaと入力します。
13.高速リカバリ領域のサイズを400 GBに設定し、「次へ」をクリックします。
14. [データベースオプション]で、デフォルトのままにして[次へ]をクリックします。
15. [初期化パラメーター]および標準設定で、メモリサイズを80%に設定し、[次へ]をクリックします。
16. [作成オプション]で、[データベースの作成]を選択します。 [保存場所のカスタマイズ]をクリックします。
17. [ストレージのカスタマイズ]パネルの[REDOロググループ]で、[1]を選択します。
18.ファイルサイズを51,200 MBに設定します。 適用をクリックします。
19. [REDOロググループ]で[2]を選択します。
20.ファイルサイズを51,200 MBに設定します。 適用をクリックします。
21. REDOロググループで、3を選択します。
22.「削除」をクリックしてから、「はい」をクリックします。
23. [ストレージのカスタマイズ]パネルを終了するには、[OK]をクリックします。
24.「次へ」をクリックします。
25.概要を確認します。 データベースの作成を完了するには、[完了]をクリックします。
26.画面の情報を確認して、「終了」をクリックします。
27. DBCAを終了するには、「閉じる」をクリックします。

Oracle TablespacesおよびREDOプロトコルの構成

以下に示すように、両方のシステムのテーブル領域を変更します。
ALTER DATABASE ADD LOGFILE GROUP 11( '/tmp/temp1.log')サイズ50M;
ALTER DATABASE ADD LOGFILE GROUP 12( '/tmp/temp2.​​log')サイズ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;
-ASMCMDを使用して手動でASMの古いREDOログファイルを削除する-システムセット "_disk_sector_size_override"を変更する= TRUE scope = both;
-開始:SSD REDOログ-ALTER DATABASE ADD LOGFILE GROUP 1( '+ DATA / orcl / redo01.log')サイズ50G
ブロックサイズ4k;
ALTER DATABASE ADD LOGFILE GROUP 2( '+ DATA / orcl / redo02.log')サイズ50G
ブロックサイズ4k;
-終了:SSD REDOログ--開始:SAS REDOログ-ALTER DATABASE ADD LOGFILE GROUP 1( '+ REDO / orcl / redo01.log')サイズ50G;
ALTER DATABASE ADD LOGFILE GROUP 2( '+ REDO / orcl / redo02.log')サイズ50G;
-終了:SAS REDOログ-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
サーバー出力をオンに設定
デカール
lat INTEGER;
iops INTEGER;
mbps INTEGER;
開始
-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);
終わり;
/
BIGFILE TABLESPACE "TPCC"の作成
DATAFILE '+ DATA / orcl / tpcc.dbf' SIZE 400G AUTOEXTEND ON NEXT 1G
ブロックサイズ8K
エクステント管理ローカル自動割り当て
セグメントスペース管理オート;
CREATE BIGFILE TABLESPACE "TPCC_OL"
DATAFILE '+ DATA / orcl / tpcc_ol.dbf' SIZE 150G AUTOEXTEND ON NEXT 1G
ブロックサイズ16K
エクステント管理ローカル自動割り当て
セグメントスペース管理オート;
ALTER DATABASE DATAFILE '+ DATA / tpcc1 / undotbs01.dbf' RESIZE 32760M;


Oracle pfileの構成

以下に示すように、両方のシステムのOracle pfileを変更します。fast_start_mttr_targetを3つの構成で変更し、60、120、および180に変更しました。
orcl.__oracle_base='/home/oracle/app/oracle'#ORACLE_BASE set from
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クライアントの構成

HammerDBクライアントには、Red Hat Enterprise Linux 6.5を搭載したデュアルプロセッサーサーバーを使用しました。このアプリケーションの冒頭にあるインストール手順に従ってRed Hat Enterprise Linuxをインストールしましたが、GUIをインストールしました。次に、HammerDBクライアントソフトウェアをインストールしました。

HammerDBをインストールする

Red Hatクライアントにバージョン2.16をダウンロードしてインストールします。HammerDBをhammerora.sourceforge.net/download.htmlからダウンロードしました。インストール手順(hammerora.sourceforge.net/hammerdb_install_guide.pdf)に従ってHammerDBをインストールしました。

HammerDB Oracle Librariesのインストール

両方のシステムで次の手順を実行します。
1. Oracle Client Installerを起動します。
2. [インストールタイプの選択]で、インストールタイプとして[管理者(1.8 GB)]を選択し、[次へ]をクリックします。
3. [ソフトウェアの更新]で、[ソフトウェアの更新をスキップする]を選択し、[次へ]をクリックします。
4. [製品の言語]で[英語]を選択し、右矢印をクリックして、選択した言語パネルに言語を追加します。次へをクリックします。
5.「インストール場所の指定」で、デフォルトのままにして「次へ」をクリックします。
6.「インベントリの作成」で、デフォルトのままにして「次へ」をクリックします。
7. [概要]で情報を確認し、[インストール]をクリックしてインストールを開始します。
8.製品のインストールで、スクリプトを実行するための指示に従います。スクリプトを実行した後、[OK]をクリックします。
9.「終了」ウィンドウで、「閉じる」をクリックしてインストーラーを終了します。

データベースのセットアップ

HammerDBのOracleの組み込みオプションを使用して、データベースを作成しました。構成図では、次を設定します。
Oracle Service Name = R920_IP_addres/orcl
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/SL Server Side Load = unchecked
Server Side Log Directory = /tmp


HammerDBを起動します

ディスクオプションに関連情報を入力して、HammerDBを起動しました。5分間の負荷の緩やかな増加と5分間のテストを行いました。500ミリ秒のユーザー遅延と繰り返し遅延を持つ101人の仮想ユーザーを使用しました。rmanを使用して、試行間でデータベースを復元しました。

Source: https://habr.com/ru/post/J219811/


All Articles