Oracleのノーアーカイブモードでバックアップするには、データベースの停止と、すべての構成ファイルをコピーする必要があります。また、リストアも同様に停止、全ファイルのリストアが必要です。
アーカイブモードに切り替えると、オンラインバックアップを使って停止せずにバックアップでき、バックアップもテーブルスペース単位にバックアップすることができます。
障害発生時には、バックアップ時点から障害発生直前まで復元することができるようになります。(その分、手順や仕組みが複雑になりますが…)
どちらのモードで動いているか確認
DBA権限を持ったユーザで操作する必要があります。
archive log listで確認することができます。
$ sudo -u oracle -i `env | egrep "ORA|PATH"` sqlplus /nolog SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 19 13:09:08 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. SQL> connect / as sysdba Connected to an idle instance. SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 3 Current log sequence 4 SQL>
アーカイブモードに切り替え
切り替えには、データベースの停止とマウントが必要です。
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 1260268 bytes Variable Size 180356372 bytes Database Buffers 415236096 bytes Redo Buffers 2932736 bytes Database mounted. SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 577 Current log sequence 578 SQL>
その後でアーカイブログモードに切り替えてデータベースをオープンします。
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 577 Next log sequence to archive 578 Current log sequence 578 SQL> alter database open; Database altered. SQL>
アーカイブログが作成されるか確認
アーカイブログは、v$parameterのdb_recovery_file_destで保管先を確認できます。(たぶん…)
SQL> select name, value from v$parameter where name like 'db_recovery_%'; NAME VALUE -------------------------------------------------- ---------------------------------------------------------------------------------------------------- db_recovery_file_dest /usr/lib/oracle/xe/app/oracle/flash_recovery_area db_recovery_file_dest_size 10737418240 SQL>
以下を発行すると保管先にファイルが作成されることがわかります。
SQL> alter system archive log current; System altered. SQL> quit Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production $ sudo ls -l /u01/app/oracle/fast_recovery_area/XE/archivelog 合計 8 drwxr-x--- 2 oracle dba 4096 2012-02-19 10:50 2012_02_19 drwxr-x--- 2 oracle dba 4096 2012-02-21 22:55 2012_02_21 $