!!!Oracle Database10g ARCHIVELOGモードの構成 [Oracle Database10g] http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/archredo.htm#922104 !!概要 *いっぱいになったREDOログ・ファイルのグループを1つ以上のオフライン・アーカイブ先に保存できる。 *これを総称して、アーカイブREDOログまたは単にアーカイブ・ログと呼ぶ。 *REDOログをアーカイブREDOログに変更するプロセスをアーカイブと呼ぶ。 *このプロセスを実行できるのは、データベースがARCHIVELOGモードで稼働しているときのみ。 *自動アーカイブと手動アーカイブのいずれかを選択できる。 !!NOARCHIVELOGモード *REDOログはアーカイブされません。 *制御ファイルは、グループがいっぱいになってもアーカイブする必要がないことを示す。 *ログ・スイッチが発生して、いっぱいになったグループがアクティブでなくなると、そのグループはLGWRで再利用できるようになる ""インスタンス障害からは保護されるが、メディア障害からは保護されない。 *オンラインREDOログ・グループに格納されているデータベースへの最新の変更のみをインスタンスのリカバリに使用できる。 ""メディア障害が発生した場合、最後にデータベース全体のバックアップを行った時点までのデータベースをリストアでき、そのバックアップ以降のトランザクションはリカバリできない。 *オンライン表領域のバックアップを実行できない。 *ARCHIVELOGモードのときに作成したオンライン表領域のバックアップも使用できない。 ""データベースのリストアには、データベースがクローズされているときに作成された全体のバックアップのみを使用できる。 ""NOARCHIVELOGモードでデータベースを操作する場合は、データベース全体のバックアップを短い間隔で定期的に作成する必要がある。 !!ARCHIVELOGモード *REDOログのアーカイブを使用可能にする。 *制御ファイルは、いっぱいになったREDOログ・ファイルのグループがアーカイブされるまでは、LGWRでこのグループを再使用できないことを示す。 *いっぱいになったグループは、ログ・スイッチの発生直後からアーカイブに使用できる。 ""バックアップ、オンラインREDOログおよびアーカイブREDOログ・ファイルが揃っていると、オペレーティング・システムやディスクに障害が発生しても、コミットされたすべてのトランザクションをリカバリできることが保証されます。 ""アーカイブ・ログを保管していれば、オープンしているデータベースを通常どおり使用している状態で作成したバックアップを使用できる。 ""オリジナル・データベースのアーカイブREDOログを絶えずスタンバイ・データベースに適用することで、スタンバイをオリジナルとともに最新の状態に保つことができる。 !!アーカイブ・モードの変更 +データベース・インスタンスを停止 +データベースのバックアップを作成 +初期化パラメータ・ファイルを編集して、アーカイブ・ログ・ファイルのアーカイブ先を初期化パラメータで指定 +新しいインスタンスを起動し、データベースをマウント +データベース・アーカイブ・モードの変更。通常の操作を実行するためにデータベースをオープン +データベースを停止 +データベースのバックアップを作成 SQL> archive log list Database log mode No Archive Mode+ Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 30 Current log sequence 32 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 83888372 bytes Database Buffers 79691776 bytes Redo Buffers 2973696 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 30 Next log sequence to archive 32 Current log sequence 32 SQL> alter database open; Database altered. SQL> select group#,status,type,substr(member,1,64) from v$logfile order by group#; -------------------------------------------------------------------------- GROUP# STATUS TYPE SUBSTR(MEMBER,1,64) 1 ONLINE /opt/oracle/app/oradata/oradb1/redo01.log 2 ONLINE /opt/oracle/app/oradata/oradb1/redo02.log 3 ONLINE /opt/oracle/app/oradata/oradb1/redo03.log