Show parameter recover --查看归档日志文件的存放路径
Alter database archive --修改数据库为归档模式
Archive log list / SQL> select name,log_mode from v$database; 查看数据库当时状态
修改归档日志文件的路径
[Oracle@localhost 2010_06_07]$ mkdir /home/oracle/yofee/archive
[oracle@localhost 2010_06_07]$ exit
exit
SQL> alter system set log_archive_dest_1='location=/home/oracle/yofee/archive' scope=both;
System altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/yofee/archive
Oldest online log sequence 40
Next log sequence to archive 43
Current log sequence 43
Recover 原理:
在media recover的时候,其实我们最关心的是从什么地方开始recover,什么地方结束。那么oracle到底怎么来确定从什么地方开始的呢?
在数据库正常关闭的时候控制文件的scn ,数据文件的scn ,应该是保持一致的,如若不一致,则在open database的时候提示需要恢复
下面的两个view必须注意一下:
V$datafile_header 里面的内容来自数据文件的头部
V$datafile 里面的内容来自 控制文件
两个view的checkpoint_change#字段的值必须保持一致,否在在open的时候提示需要recover
那么v$datafile_header可以确定应用重做的起始SCN值,而 v$datafile可以确定应用重做的结束SCN值)
有兴趣的朋友可以试验一下!
另外: oracle之所以可以在recover的时候定位从那个日志的那个block开始,得益于在datafile header的checkpoint的时候还记录了此事的 redo的sequence 和block