今天我们来总结一下闪回技术的开启
1: 在开启闪回的前提我们肯定是要开启归档
a 查询归档状态 :archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 8
Current log sequence 10
alter database open;
c 查看归档状态
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 8
Next log sequence to archive 10
Current log sequence 10
1: 在开启闪回的前提我们肯定是要开启归档
a 查询归档状态 :archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 8
Current log sequence 10
b 将数据库启动到MOUNT 模式下
startup mount
C 开启归档
alter database archivelog
d 启动数据库到open 模式下alter database open;
c 查看归档状态
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 8
Next log sequence to archive 10
Current log sequence 10
此时我们归档启动
3. 启用闪回日志,即闪回数据库功能
3. 启用闪回日志,即闪回数据库功能
SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
ORA-38709: Recovery Area is not enabled.
报错,无法开启闪回功能。到这里本文的主角--"oerr"命令君隆重登场。
4. 根据上文中提示的错误号使用oerr命令排错
$ oerr ORA 38709
38709, 00000, "Recovery Area is not enabled."
// *Cause: An ALTER DATABASE FLASHBACK ON command failed because the
// Recovery Area was not enabled.
// *Action:
Set DB_RECOVERY_FILE_DEST to a location and retry.
5. 从上述的提示中找到错误原因:DB_RECOVERY_FILE_DEST 没有预设
SQL> show parameter DB_RECOVERY_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
6. 设置DB_RECOVERY_FILE_DEST
SQL> alter system set db_recovery_file_dest='/opt/oracle/fast_recovery_area';
alter system set db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
7. 使用oerr命令排错
$ oerr ORA 19802
19802, 00000, "cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE"
// *Cause: There are two possible cause for this error:
// 1) The DB_RECOVERY_FILE_DEST parameter was in use when no
//
DB_RECOVERY_FILE_DEST_SIZE parameter was encountered while
// fetching initialization parameter.
// 2) An attempt was made to set DB_RECOVERY_FILE_DEST with the
// ALTER SYSTEM command when no DB_RECOVERY_FILE_DEST_SIZE
// was in use.
// *Action: Correct the dependency parameter definitions and retry the command.
8. 从上述错误原因与解决方案提示中得知需要先设置DB_RECOVERY_FILE_DEST_SIZE
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=500m scope=both;
System altered.
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 500m
9. 设置DB_RECOVERY_FILE_DEST
SQL> alter system set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' scope=both;
System altered.
10. 启用闪回日志,即闪回数据库功能
SQL> alter database flashback on;
Database altered.
此时可以在'db_recovery_file_dest'设定的目录中看到扩展名为.flb的文件,它们就是闪回日志。
$ ls
o1_mf_98mpkdl6_.flb o1_mf_98okkcs9_.flb
11. 闪存日志的保存期限由参数db_flashback_ retention_target控制(单位为分钟),凡是超出保存期限的闪回日志将会在快速恢复区空间吃紧时被自动删除。
SQL> show parameter db_flashback_retention_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 10080
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30176559/viewspace-1651645/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30176559/viewspace-1651645/