アーカイブログサイズの確認方法
この記事では、以下の3つのトピックについてお話します。
- アーカイブログのサイズを定義するには?
- すべてのアーカイブログは同じサイズですか?
- アーカイブログのサイズを確認するには?
A.アーカイブログのサイズを定義するには?
アーカイブ-ログ-サイズを決定する前に、アーカイブ-ログはオンラインredoログの切り替えから派生していることを知っておく必要があります。 つまり、アーカイブ-ログは廃止され、オンラインredoログがコピーされます。 つまり、アーカイブ-ログ-サイズは決定しておらず、実際にはオンラインredoログ-サイズを決定しています。
Define Mean Time To Recover(MTTR)
しかし、今の問題は、オンラインredoログに適切かつ最適なサイズを設定する方法ですか? 私たちには簡単な答えがあります。 データベースがOracle10g以降の場合は、現在のインスタンス構成から最適な値を取得できます。
まず、FAST_START_MTTR_TARGETがゼロ以外の値に設定されていることを確認する必要があります。FAST_START_MTTR_TARGETが設定されている場合は、最適なRedoログ・サイズを確認します。 1800秒この場合、このクエリでログファイルのサイズを最適化するためのアドバイザリ値を取得できます。ご覧のとおり、3番目の列OPTIMAL_LOGFILE_SIZEが答えです。 Redoログ・サイズを1469MBに設定することをお薦めします。
次に、推奨サイズに合わせてredoログのサイズを変更する必要がある場合があります。
B.すべてのアーカイブログのサイズは同じですか?
ほとんどの場合、アーカイブログは同じサイズですが、以下の要因の影響を受ける可能性があります。
すべてのredoログを同じサイズとして定義しますか。
すべてのredoログ・グループおよびメンバーを同じサイズとして定義する必要がありますが、いくつかのデータベースで定義されているredoログのサイズが異 通常、より大きなredoログは、データベースの作成後に追加されます。 そういうわけで私達は異なった大きさのアーカイブログを見た。
ログ切り替え間隔を設定したことがありますか?
ログの切り替えは、ARCHIVE_LAG_TARGET初期化パラメータを設定して、アーカイブ頻度を制御することにより、一定の間隔で行うことができます。
パラメータがデフォルト値(0、無効)以外に設定されている場合、redoログがいっぱいになる前にログの切り替えが行われます。 このような時期尚早のredoログは、異なるサイズのアーカイブ-ログを作成します。
RMAN Backup
ログ切り替え間隔の設定のほかに、RMANによるアーカイブ-ログを含むデータベース-バックアップを取ると、ログ切り替えがトリガーされます。 たとえば、次のような自己完結型の完全バックアップを作成したいとします:
RMAN> backup database plus archivelog;
Starting backup at 27-JUN-16
current log archived
...
Starting backup at 27-JUN-16
current log archived
...
ご覧のとおり、2つのredoログは、完全バックアップの前後にRMANによってアーカイブされました。 それらは、定義されたサイズよりも小さい。
アーカイブログのサイズを確認するには?
さて、私たちのメイントピック、データベース内のアーカイブログのサイズを確認する方法に戻りましょうか?
各アーカイブログのサイズ
各アーカイブログのサイズを確認するには、V$ARCHIVED_LOGを照会します:
SQL> column name format a50;
SQL> column "Size (MB)" format 9999.999;
SQL> select sequence#, name, blocks*block_size/1024/1024 "Size (MB)" from v$archived_log where status = 'A' and standby_dest = 'NO' and completion_time > sysdate-1;
SEQUENCE# NAME Size (MB)
---------- -------------------------------------------------- ---------
175398 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175398.arc 1023.999
175399 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175399.arc 1023.999
175400 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175400.arc 749.232
175401 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175401.arc 43.875
175402 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175402.arc 727.369
175403 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175403.arc 6.957
175404 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175404.arc 1023.993
175405 /oradata/FRA/ORCL/ARCH/ERPAPP1_1_175405.arc 1023.999
...
すべての単一のアーカイブログのサイズは、ブロックにBLOCK_SIZE列を乗算することから計算できます。 さらに、24時間以内に完了し、プライマリデータベースで利用可能なアーカイブログのみを計算しました。
ご覧のように、すべてのアーカイブログが同じサイズではなく、ほとんどのアーカイブログは1024MB(つまり1GB)です。
すべてのアーカイブ-ログのサイズ
すべてのAvailables
プライマリ-データベース-サーバーで利用可能なアーカイブ-ログの全体的なサイズを確認するには、次のようにします:
SQL> sselect sum(blocks*block_size)/1024/1024/1024 "Total Size (GB)" from v$archived_log where status = 'A' and standby_dest = 'NO';
Total Size (GB)
---------------
436.632
私たちが見ることができるように、私たちはアーカイブログの400GB以上を持っている、我々は今からより積極的にそれらを削除する必要があります。
過去24時間
プライマリデータベースサーバーで過去24時間に利用可能なアーカイブログのサイズをすべて合計するには、次のようにします:
SQL> column "Total Size (GB)" format 9999.999;
SQL> select sum(blocks*block_size)/1024/1024/1024 "Total Size (GB)" from v$archived_log where status = 'A' and standby_dest = 'NO' and completion_time > sysdate-1;
Total Size (GB)
---------------
101.828
アーカイブログの時間範囲を制限するフィルタを追加しました。