首先你要知道依赖关系:
flashback database依赖于:闪回日志
flashback drop依赖于:回收站
flashback table/query依赖于:undo
开启闪回要在mount状态下:
alter system set db_flashback_retention_target=2880 scope=both;
alter database flashback on;
再者你要利用事务号获得undo语句
查看事务号:select versions_xid,empno,ename,sal from tt01
versions between timestamp minvalue and maxvalue
order by empno;
根据得到的事务号查看undo_sql语句:
select undo_sql from flashback_transaction_query
where xid='versions_xid' //这里的XID就是上面查询到的versions_xid
如果只是闪回误删除的表:
flashback table TT01 to before drop;
闪回的是最近删除的一张表,当然也可以根据情况自定义闪回误删的表
步骤:
查看DB回收站内容:show recyclebin;
在里面可以查看到删除的表,根据里面的recyclebin name可以来查看表结构
比如:desc "BIN$3naDFKEKFIDISB332DI"
这些都用在事务中,就是可能有好几句语句放在一起执行,rollback的话一旦中间那条语句执行错误,那之前没错误语句的执行对数据库的修改都将无效,这也是保证了数据库的完整性,不用rollback的话那就前面改掉的就不会再恢复了
单击开始,这里输入cmd,打开dos窗口
输入命令
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp
这里说明一下
这里的bms是指备份时,登录数据库实例TCDB的用户名;
这里的/是语法符号。
这里的BMSPASS是用户bms登录数据库TCDB时的密码;
@是语法符号。
这里的TCDB是Oracle数据库的实例名。
这里的file=E:\DBback\dbback20160112dmp 是只指备份文件的存放路径。
等待导出完成,如果看到这里的导出成功,说明备份完成了。
打开备份时指定的存储路径,就可以看到备份文件了。
如果在导出命令的最后加上full=y的参数,也就是
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp full=y
意思是将用户bms在TCDB数据库实例中的所有文件都备份,也就是完整备份。
数据库还原使用语法
imp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112dmp
这里的E:\DBback\dbback20160112dmp是备份文件的存放路径
请添加详细解释
以上就是关于oracle高级数据库应用,实验报告:数据闪回 使用flashback实现对表、模式以及数据库级误删除进行恢复。全部的内容,包括:oracle高级数据库应用,实验报告:数据闪回 使用flashback实现对表、模式以及数据库级误删除进行恢复。、MYSQL 中的 不提交 与rollback 回滚有什么区别分别对数据库有什么影响、oracle 数据库如何还原等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)