闪回数据库的使用

oracle闪回技术-----使用闪回日志来恢复用户的逻辑错误,这种修复只针对用户逻辑错误的恢复,而不涉及整个数据库的恢复
					恢复更具有针对性而且恢复时间大大减少。
	对于闪回数据库而言,闪回日志不会被归档
		启用闪回数据库-----数据库处于归档模式
			使用DB_RECOVERY_FILE_DEST参数指定的目录作为存储目录,该参数的值即为快速恢复区
			db_flashback_retention_target,该参数的值是一个一分钟为单位的数字。
			通过数据字典v$flashback_database_log来评估需要的快闪恢复区空间
				select estimated_flashback_size,retention_target,flashback_size
				from v$flashback_database_log
			mount - alter database flashback on
			查看启用状态
				select flashback_on from v$database;
			关闭闪回数据库
				alter database falshback off;
				禁用某个表空间的闪回特性
					alter tablespace users flashback off;
				通过数据字典V$TABLESPACE来查询该表空间是否已经不被闪回保护
					col flashback_on for a15
					select name,flashback_on
					from v$tablespace;      
				如果要重新对表空间启用闪回数据库--需要将数据库启动到Mount状态
					startup mount
					alter tablespace users flashback on;
			startup mount 
			alter database flashback off;
		闪回数据库方法
			可以使用RMAN方法也可以使用SQL指令的方法实现。
				使用RMAN闪回数据库如下3中方法
				  1.将数据库闪回到过去的某个时间点,通过to_date函数指定具体的时间
						flashback database to time=to_date('xxxx-xx-xx xx:xx:xx','yyyy-mm-dd hh34:mi:ss')
				  2.将数据库闪回到过去的某个SCN,不太实际
				  		flashback database to scn =xxxxx
				  3.将数据库闪回到特定的日志序列号之前的状态,不包括序列号345
				  		flashback database to sequence=345 thread=1;
				使用sql指令闪回数据库
				   1.将数据库闪回到时间戳指定的状态
				   		flashback database to timestamp (sysdate-1/24)
				   2.闪回数据库到某个过去的SCN
				   		flashback database to scn 678854
			执行闪回数据库时,需要将数据库切换到MOUNT状态,在闪回数据库结束之后,需要用resetlogs开库,即需要重新设置重做日志
			,使得重做日志序列号重新计数

			使用闪回数据库
				创建用户,并授予相关权限
				登录到新建用户下,创建测试用表,插入记录
				删除用户

				在闪回日志中查看相关记录,使用到的视图v$flashback_database_log
					select * from v$flashback_database_log;
				使用resetlogs打开数据库,闪回日志仍然有效。

			监控闪回数据库
				使用v$flashback_database_log查询可以闪回到的最小SCN号以及可以闪回到的时间点。
					select oldest_flashback_scn,oldest_flashback_time
					from v$flashback_database_log;

				数据字典视图v$flashback_database_stat,用于监视闪回日志写入闪回数据的各种开销,
								比如记录当前闪回记录起止时间,闪回记录的数据量以及重做日志记录的数据量等信息
					select * from v$flashback_database_stat;

				监控快闪恢复区的空间变化,在必要时候增加快闪恢复区的空间
					select name,space_limit,space_used,space_reclaimable,number_of_files
					from v$recovery_file_dest

					name 				快速恢复区的目录
					space_limit 		空间最大使用上限
					space_used			已使用了的空间
					space_reclaimable	可以回收的空间
					
			使用闪回数据库的限制
				1.数据文件被删除或缩短
				2.在闪回时间范围内复原或重建了一个控制文件
				3.在resetlogs操作之前
				4.表空间被删除

本文标题:闪回数据库的使用
分享路径:http://ybzwz.com/article/pcjehe.html