使用flashback database 特性時遇到的錯誤

pingley發表於2012-06-17
使用flashback database 特性時遇到的錯誤
今天要嘗試下flashback database 的oracle 特性,為了使用該特性有一些準備工作要做。
首先是確定資料庫處在歸檔模式下。
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            E:\oracle\zeng\oradata\archive
Oldest online log sequence     428
Next log sequence to archive   430
Current log sequence           430
資料庫已經處於歸檔模式下了。下面先設定db_recovery_file_dest_size的大小。
然後設定db_recovery_file_dest 引數。結果出現下面的錯誤。
SQL> alter system set db_recovery_file_dest_size = 5G;
System altered.
5G的空間只有為了試驗。
SQL> alter system set db_recovery_file_dest = 'E:\oracle\zeng\oradata\fra';
alter system set db_recovery_file_dest = 'E:\oracle\zeng\oradata\fra'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16019: cannot use db_recovery_file_dest with LOG_ARCHIVE_DEST or
LOG_ARCHIVE_DUPLEX_DEST
說這個引數不能與log_archive_dest、log_archive_duplex_dest 一起使用。我沒有設定過log_archive_duplex_dest 引數,倒是設定過log_archive_dest 引數用於歸檔。既然db_recovery_file_dest 與log_archive_dest 引數水火不容,那歸檔檔案存放的目錄我們就用log_archive_dest_n 引數來指定吧。
SQL> alter system set log_archive_dest_1 = 'location=E:\oracle\zeng\oradata\archive' scope = spfile;
System altered.
SQL> shutdown immediate;
SQL> startup mount;
ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST
出現這個錯誤的原因很清楚,也是引數不相容的問題,這裡是因為log_archive_dest_1 與log_archive_dest 引數衝突了。我們嘗試從spfile 中建立pfile 然後刪除掉不相容的引數的方式來解決這個問題。
SQL> create pfile ='E:\oracle\zeng\oradata\initoracle.ora' from spfile;
File created.
找到指定的目錄下的initoracle.ora 檔案,刪除如下的引數,關閉儲存檔案。
*.log_archive_dest='E:\oracle\zeng\oradata\archive'
使用編輯以後的pfile 建立一個spfile 然後用新的spfile startup 資料庫,並啟用日誌歸檔。
SQL> create spfile from pfile ='E:\oracle\zeng\oradata\initoracle.ora';
File created.
SQL> startup mount;
SQL> alter database archivelog;
Database altered
SQL> alter database open;
Database altered.
SQL> archive log list;--確定歸檔情況。
現在再來設定db_recovery_file_dest ,一切OK了。
SQL> alter system set db_recovery_file_dest = 'E:\oracle\zeng\oradata\fra';
System altered.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-733089/,如需轉載,請註明出處,否則將追究法律責任。

相關文章