我们今天主要和大家分享的是Oracle数据库中的闪回恢复,其中包含Oracle备份和恢复案例 ,还有相关的Oracle 学习笔记:,Backup & Recovery 常用的相关命令,以及 重建Control File的实际内容的描述。
更多相关推荐 Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback log实现的。
flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将Oracle数据库往后滚。为了保存管理和备份恢复相关的文件,oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性,可以将所有恢复相关的文件,比如flashback log,archive log,backup set等,放到这个区域集中管理。
1.设置闪回恢复区
闪回恢复区主要通过3个初始化参数来设置和管理
db_recovery_file_dest:指定闪回恢复区的位置
db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
db_flashback_retention_target:指定Oracle数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天。当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的 flash log。所以这个参数要和db_recovery_file_dest_size配合修改。
2.启动flashback database
设置了闪回恢复区后,可以启动闪回数据库功能。
首先,数据库必须已经处于归档模式
那么如何设置归档呢?很简单的步骤
1.关闭数据库
SQL>shutdownimmediate;
2.启动Oracle数据库为mount模式
SQL>startupmount
3.显示和修改归档模式
SQL>archiveloglist SQL>alterdatabasearchivelog; SQL>alterdatabaseopen
4.设置归档日志的格式
SQL>altersystemsetlog_archive_format='ARC%s%t%r.log'scope=spfile;
5.设置归档日志的存放路径
SQL>altersystemsetlog_archive_dest='+data/arcl'scope=spfile; SQL>shutdownimmediate SQL>startup
6.强制切换归档日至
SQL>altersystemswitchlogfile;
7.取消归档
SQL>alterdatabasenoarchivelog;
参数
1.格式参数
%s 日志序列号
%S 日志序列号(带前导的0)
%t 重做线程编号
%a 活动的ID号
%dOracle 数据库ID号
%r RESELOGS的iD值
SQL>archiveloglist; DatabaselogmodeArchiveMode AutomaticarchivalEnabled ArchivedestinationUSE_DB_RECOVERY_FILE_DEST Oldestonlinelogsequence156 Nextlogsequencetoarchive158 Currentlogsequence158
然后,启动Oracle数据库到mount状态
SQL>shutdownimmediate; Databaseclosed. Databasedismounted. ORACLEinstanceshutdown. SQL>startupmount ORACLEinstancestarted. TotalSystemGlobalArea285212672bytes FixedSize1218992bytes VariableSize75499088bytes DatabaseBuffers205520896bytes RedoBuffers2973696bytes Databasemounted. SQL>alterdatabaseflashbackon;
上述的相关内容就是对Oracle数据库中的闪回恢复的部分内容的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】
- 访问 Oracle 数据库的实例描述Oracle数据库的密集型实际应用程序的开发提高 Oracle JDBC的性能的办法Oracle自动编号列的创建Oracle数据安全性的介绍