欢迎来到天天文库
浏览记录
ID:40945714
大小:73.50 KB
页数:13页
时间:2019-08-11
《Oracle闪回技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle闪回技术闪回(Flashback)错误操作:1.错误的delete一条记录,并且commit2.错误地删除了一个表:droptable3.查询某个表的历史记录(所有已经提交了的历史记录)4.错误地执行了一个事务对应闪回的四种类型:1.闪回表---------针对delete方式删除数据可进行回滚2.闪回删除---------针对drop方式删除整张表进行回滚3.闪回版本查询4.闪回事务查询5.闪回数据库注意:1、delete删除表数据可以闪回,因为他是只删除数据,表没变;但是truncate删除表所有数据无法闪回,因
2、为truncate原理是先删除原先整个表,在重新建立一个结构相同的表,该表是新创建的,无法回滚了。1、对用户进行闪回设置与授权SQL>--闪回的时间参数cmd下>sqlplussystem/admin已连接。SQL>showuserUSER为"SYS"SQL>showparametersundo;l闪回表,实际上是将表中的数据快速恢复到过去的一个是焦点或者系统改变号SCN上。实现表的闪回,需要使用到与撤销表空间相关的undo信息,通过showparameterundo命令可以了解这些信息。ll用户对表数据的修改操作,都记录在撤销
3、表空间中,这为表的闪回提供了数据恢复的基础。例如,某个修改操作在提交后被记录在撤销表空间中,保留时间为900秒,用户可以在这900秒的时间内对表进行闪回操作,从而将表中的数据恢复到修改之前的状态。NAMETYPEVALUEundo_managementstringAUTOundo_retentioninteger900undo_tablespacestringUNDOTBS1--将900秒改为20分钟SQL>altersystemsetundo_retention=1200scope=both;系统已更改。SQL>showpar
4、ametersundo;NAMETYPEVALUEundo_managementstringAUTOundo_retentioninteger1200undo_tablespacestringUNDOTBS1SQL>/*SQL>scope的取值:sessionspfile(参数文件)bothSQL>*/SQL>--为scott授予闪回的权限SQL>grantflashbackanytabletoscott;授权成功。SQL>connscott/tiger已连接。SQL>showuserUSER为"SCOTT"SQL>hostcl
5、s2、闪回delete方式的表数据删除表中数据前先设置时间戳scn,删除好后如果后悔就利用这个时间戳scn回滚,一定要记住这个时间戳scn。本方法只针对delete删除表数据起作用。SQL>createtableflashback_table1(fidnumber,fnamevarchar2(10));表已创建。SQL>insertintoflashback_table1values(&fid,'&fname');//&表示输入字段输入fid的值:1输入fname的值:TomSQL>commit;提交完成。SQL>select*
6、fromflashback_table1;FIDFNAME1Tom2Mary3Mike--记录当前的系统时间(SCN)SQL>selectsysdate时间,timestamp_to_scn(sysdate)SCNfromdual;时间SCN21-9月-114354761SQL>deletefromflashback_table1wherefid=2;已删除1行。SQL>commit;提交完成。SQL>select*fromflashback_table1;FIDFNAME--------------------1Tom3Mik
7、eSQL>--执行闪回表SQL>flashbacktableflashback_table1toscn4354761;flashbacktableflashback_table1toscn4354761*第1行出现错误:ORA-08189:因为未启用行移动功能,不能闪回表SQL>selectrowid,fid,fnamefromflashback_table1;ROWIDFIDFNAME--------------------------------------AAANh7AAEAAAAGnAAA1TomAAANh7AAEAAA
8、AGnAAC3MikeSQL>--开启行移动功能SQL>altertableflashback_table1enablerowmovement;表已更改。SQL>flashbacktableflashback_table1toscn4354761;闪回完成。SQ
此文档下载收益归作者所有