フラッシュバック・データベースのメンテナンス
フラッシュバック・データベースにおける個別表領域のフラッシュバック無効化
特定の表領域のフラッシュバック・ロギングを無効にして、オーバーヘッドを軽減できる。
SQL> alter tablespace INDX flashback off;
各表領域のフラッシュバックの有効性を確認する。 V$TABLESPACE
SQL> select name,flashback_on from v$tablespace; NAME FLASHBACK ------------------------------------------------------------------------------------------ --------- SYSTEM YES UNDOTBS YES SYSAUX YES TEMP YES USERS YES BATCH YES INDX NO EXAMPLE YES OLTP YES 9 rows selected. SQL>
※ 表領域に対してOracle Flashback Databaseを無効にする場合は、FLASHBACK DATABASEを実行する前に、データ・ファイルをオフラインにする必要がある。
フラッシュバックを無効にした表領域を有効化にする。
SQL> alter tablespace indx flashback on; alter tablespace indx flashback on * ERROR at line 1: ORA-01126: database must be mounted in this instance and not open in any instance SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 314572800 bytes Fixed Size 1260612 bytes Variable Size 104858556 bytes Database Buffers 205520896 bytes Redo Buffers 2932736 bytes Database mounted. SQL> alter tablespace indx flashback on; Tablespace altered. SQL> alter database open; Database altered. SQL>
フラッシュバックログの領域管理
フラッシュバックログのDisk領域の見積り V$FLASHBACK_DATABASE_LOG
一定期間データベースを通常のワークロードで実行して、フラッシュバック・ログの典型的なサンプルを作成することができる。フラッシュバックを設定したばかりで、0となってしまった。
SQL> select estimated_flashback_size from v$flashback_database_log; ESTIMATED_FLASHBACK_SIZE ------------------------ 0 SQL>
フラッシュバック・ログの保持と削除の規則
- フラッシュバック・ログは、フラッシュ・リカバリ領域に十分な領域があるかぎり、フラッシュバックの保存ターゲットを満たす必要がある場合に必ず作成される。
- フラッシュバック・ログは、古くなり、フラッシュバックの保存ターゲットを満たすために必要とされなくなると再利用できる。
- データベースで新しいフラッシュバック・ログを作成する必要がある場合に、フラッシュ・リカバリ領域が一杯になっていたり、ディスク領域がない場合は、最も古いフラッシュバック・ログがかわりに再利用される。
- フラッシュ・リカバリ領域が一杯になると、フラッシュ・リカバリ領域によってアーカイブREDOログが自動的に削除され、その他のファイル用の領域が確保されます。この場合、FLASHBACK DATABASEを使用するために、そのREDOログ・ファイルを使用する必要があるフラッシュバック・ログも削除される。
現行のデータベースのフラッシュバックの期間の確認
SQL> SELECT OLDEST_FLASHBACK_SCN, TO_CHAR(OLDEST_FLASHBACK_TIME,'YYYY/MM/DD HH24:MI:SS') FROM V$FLASHBACK_DATABASE_LOG; OLDEST_FLASHBACK_SCN TO_CHAR(OLDEST_FLASHBACK_TIME,'YYYY/MM/DDHH24:MI:SS') -------------------- --------------------------------------------------------- 520762 2009/04/15 02:14:18 SQL>
page revision: 16, last edited: 18 Nov 2009 14:02