提交后回滚可以吗? 我想测试一些功能,由于某些原因我需要在数据中插入或修改一些数据而且必须要提交,但我希望当我测试完以后能回到我测试之前的数据库。有些类似savepoint的功能,但savepoint提交后是不能回滚的。大家有没有什么解决办法呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看flashback功能开起来没有,开起来的话直接闪回就好了 在PL/SQL Developer中测试,在你退出之前执行rollback即可。 如果开了闪回就可以,没开的话alter database flashback on; 对于一个事物来说,你提交后就没有所谓的回滚了,只能在提交前回滚。当然flashback另说。 可以使用Oracle 11g的闪回技术。具体操作步骤如下(所有操作均在SQL*Plus中进行):启用闪回功能1. 登录系统2.查询并设置快速恢复区参数。http://hi.csdn.net/attachment/201111/11/1175441_1320985264l50n.png3.确认数据库是否处于归档模式 如果不是将实例改为归档模式运行4.查看DB_FLASHBACK_RETENTION_TARGET的值,单位为分钟,,默认为1440,即一天。5.设置DB_FLASHBACK_RETENTION_TARGET为希望的值:(这里设置为4320,即3天)6.启动闪回数据库,并打开数据库。到此,已经启用了数据库闪回。可以进行练习了。练习结束后,执行闪回,就可以回复到这时的状态。 闪回数据库(就是练习完了,恢复数据库到练习之前的状态)1.查询最老闪回的备份,记下SCN编号。2.关闭数据库,并将数据库启动到MOUNT状态3.进行闪回4.用RESETLOGS选项打开数据库此时数据又恢复到练习之前的状态。爽吧,呵呵。 CASE WHEN 数据导入时数据量异常增大,可能是什么原因? 求一个日期转换 在线等 求SQL语句 取出每天的这天最大的数值的记录。 急!!!!在线等帮助 谁能告诉我在新建的数据库里在哪建我的表啊? 如何得到Oracle包中的过程名 如何重建数据库序列 请问ORACLE中如何象“SQL SERVER事件探察器”一样跟踪其执行情况啊? Oracle安装错误!!!请高手指点。 ora-01017:invalid username/password;logon denied .edm格式的文件怎么打开
alter database flashback on;
具体操作步骤如下(所有操作均在SQL*Plus中进行):
启用闪回功能
1. 登录系统2.查询并设置快速恢复区参数。http://hi.csdn.net/attachment/201111/11/1175441_1320985264l50n.png
3.确认数据库是否处于归档模式 如果不是将实例改为归档模式运行4.查看DB_FLASHBACK_RETENTION_TARGET的值,单位为分钟,,默认为1440,即一天。5.设置DB_FLASHBACK_RETENTION_TARGET为希望的值:(这里设置为4320,即3天)6.启动闪回数据库,并打开数据库。
到此,已经启用了数据库闪回。可以进行练习了。练习结束后,执行闪回,就可以回复到这时的状态。
1.查询最老闪回的备份,记下SCN编号。2.关闭数据库,并将数据库启动到MOUNT状态
3.进行闪回4.用RESETLOGS选项打开数据库
此时数据又恢复到练习之前的状态。爽吧,呵呵。