将oracle設為歸檔模式和非歸檔模式的方法
先手動建立歸檔目錄,在調整oracle啟動方式
将oracle設為歸檔模式
手工在主伺服器建立歸檔目錄
$cd $ORACLE_BASE #$ORACLE_BASE 所指向的目錄是/opt/oracle/,可參看ORACLE使用者環境變量的具體設定
$mkdir -p oradata/szdb/archive # szdb的目錄名稱根據資料庫的SID号進行指定,其實這個目錄可以任意指定
$mkdir -p oradata/szdb/standbyarchive #如果主伺服器有可能作為備用伺服器,則建立該目錄
[oracle@cqcncdb szdb]$ sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> startup mount;
SQL> alter database archivelog;
SQL> archive log start;
SQL> archive log list;
SQL> alter database open;
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oracle/oradata/szdb/archive'; # /oracle/oradata/szdb/archive必須和前面mkdir -p oradata/szdb/archive操作建立的路徑一模一樣
SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile;
SQL> alter system set log_archive_start=true scope=spfile;
重新啟動資料庫,使修改結果生效
SQL> shutdown immediate;
察看歸檔模式
SQL> startup
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/oradata/szdb/archive
Oldest online log sequence 565
Next log sequence to archive 567
Current log sequence 567
以上alter system set操作會在資料庫的[email protected]和[email protected]檔案中新增以下參數
*.log_archive_dest_1='LOCATION=/oracle/oradata/szdb/archive'
*.log_archive_format='%t_%s.dbf'
*.log_archive_start=TRUE
注意:*.log_archive_dest_1定義的檔案夾必須是實際存在的,并且oracle使用者是有寫權限的
注:@sid代表資料庫的實際sid号,比如在這次實際操作中這兩個檔案名就是spfileszdb.ora、 initszdb.ora
如果需要停止歸檔模式,此處使用:
alter database noarchivelog 指令。
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database noarchivelog;
SQL> alter database open;
SQL> archive log list;