Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JPOUG Advent Calendar 2017 Day11

425 views

Published on

RMANチューニングについて記載しています。
JPOUG Advent Calendar 2017 Day11 の資料です。

Published in: Engineering
  • Be the first to comment

JPOUG Advent Calendar 2017 Day11

  1. 1. ~JPOUG Advent Calendar 2017 Day11 ~ 2017/12/11 細谷竜馬
  2. 2. はじめの1歩としてはパラレル度を上げてみることをオススメします。 CPU以外の大きなボトルネックがなければスループットが簡単に向上します。 定義例: CONFIGURE DEVICE TYPE DISK PARALLELISM <n>; ※EnterpriseEditionのみ https://docs.oracle.com/cd/E60665_01/db112/RCMRF/rcmsynta010.htm https://docs.oracle.com/cd/E16338_01/backup.112/b56269/rcmconfa.htm#i1006906 はじめの1歩
  3. 3. ここからチューニングを進めていく際に、ある程度 トライ&エラーになるのは仕方のない事ですが “どこまでチューニングしなければならないか” を事前に把握し、そこに到達したら終わらせることが、 循環を抜けるには必要となります。 (循環し続けたいという人も私は好きです。)
  4. 4. ■ マルチ化によりパラレル実行をより強力にする - マルチインスタンス(RAC)からの実行 - マルチセクションバックアップの適用(※EEのみ) (参考資料) https://www.slideshare.net/YuyaOhta/oracletips-racrman-20160223-jpoug ■ Kernel parameter, Mount option チューニング対象は多々ありますが、ディスクアクセスの 最適化という観点では、まずは以下の2点をオススメします - ASMへの取得 (I/O buffer 等が自動最適化) - (NFSサーバに取得する場合) dNFS の実装 (dNFSのご参考) http://www.oracle.com/technetwork/jp/ondemand/db-technique/c-11-directnfs-1484611-ja.pdf ■ 圧縮の実施 特にネットワークがボトルネックになっている場合、 チューニング対象として有効(※SEでも使えます!) 定義例: CONFIGURE COMPRESSION ALGORITHM ‘<圧縮度>'; https://blogs.oracle.com/oracle4engineer/oraclerman https://docs.oracle.com/cd/E16338_01/backup.112/b56269/rcmconfa.htm#CHDEHCEB つぎの1歩
  5. 5. ■ 非同期 I/O 性能面において I/O は同期より非同期の方が有利です。 Oracle で非同期 I/O を有効にするための初期化パラメータは以下の2つです。 ( OS で非同期 I/O がサポートされていない場合、設定は無効になります) - DISK_ASYNCH_IO : 全てのデータベースファイルに対しての非同期I/Oを制御 - FILESYSTEMIO_OPTIONS : ファイルシステムに対しての非同期I/OやダイレクトI/Oを制御
  6. 6. ■ 非同期 I/O(続き) どうやら FILESYSTEMIO_OPTIONS で async にしただけではファイルシステムに対して、 非同期 I/O が有効にならないようです。 “io_submit(2)はO_DIRECTをつけてopenしないと同期I/Oとなる” http://d.hatena.ne.jp/yohei-a/20101002/1286048562 RHEL6.4 の 11.2.0.4 で検証した所、open 時に O_DIRECT がついていました。RAC だから・・? ・RAC_FILESYSTEMIO_OPTIONS=async strace -o /tmp/oracle_rman_rac.trc -p <RMANプロセス> -> open("/home/oracle/mnt/nfs/5islsapg_1_1", O_RDWR|O_DIRECT) = 27 切り分けのため同様にシングルインスタンスで検証をしたところ、O_DIRECT はついていませんで した。確かに。 ・SINGLE_FILESYSTEMIO_OPTIONS=async strace -o /tmp/oracle_rman_single.trc -p <RMANプロセス> -> open("/home/oracle/mnt/nfs/52sls8pm_1_1", O_RDWR) = 27 ∴ RAC であれば FILESYSTEMIO_OPTIONS=async でも非同期 I/O が使用可能。 シングルインスタンスで非同期I/Oを使用可能にするには FILESYSTEMIO_OPTIONS=setall が必要。
  7. 7. ~終わりです~

×