使用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
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.
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.
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.
File created.
SQL> startup mount;
SQL> alter database archivelog;
Database altered
SQL> alter database open;
Database altered.
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.
System altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-733089/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26110315/viewspace-733089/