oracle备份后再恢复的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:18:26
我1号备份了数据库,到现在数据库里又添加了很多其他的记录,我想恢复到1号时候的状态,直接使用imp恢复报了很多冲突 而且我听说 这种恢复不是先删除表后重建 所以就算恢复成功 1号之后添加的数据还是会有 请问有这方面经验的朋友指导一下。(有人建议先删除所有的表然后再imp,这样我不知道会有什么问题,可行吗?)
首先感谢各位的帮忙!!对 chengynecsl 朋友的回答,我感觉不错,但是有一个疑问:drop user xxx cascadr;create user xxx identified by xxx;
grand connect, resource to xxx;这些语句是在oracle数据库服务端执行还是客户段执行,我这边是客户端的连接,就是用xxx账户连接的,请问可以xxx删除自己吗?

不用这么麻烦的,一般数据SCHEMA都是一个,比方说叫xxx
那么 drop user xxx cascadr; 这个用户没了,用户下的所有对象也没有了
再create user xxx identified by xxx;
grand connect, resource to xxx;
新建立同样的一个用户,给他权限
最后 imp 肯定就没有问题了
该问题的最后的根源,在于IMP的方法其实就是很多CRETAE TABLE啦 INSERT数据啦,现有已经有了表和数据 当然报错

可以先删除所有的表再imp(我在项目中就这么干)。如果你觉得不安全可先把当前的数据exp备份。
也可以新建一个库把原备份的数据imp,再把脚本导出到现在的库执行(执行前删除所有数据)。建议在备份dmp的同时也备份数据库脚本(sql文件)

先备份当前数据,然后删除所有表,然后再导入

回答补充:
你可以在服务端和客户端执行,当然你的用一个dba用户进行删除和创建你的用户xxx,自己不能删除自己,也不能给自己授权的。