1、将数据库test做exp操作后,删除数据库中部分旧的数据,数据库继续使用,当要查看原有删除数据时,需要用到exp备份,有两种方法可以实现
1)将备份文件imp到另一个表空间,进行恢复。
测试
创建表空间test1 ,并分配给80m容量
create tablespace test1 datafile 'D:\jxj\test\test1_data.dbf' size 80m;
创建用户test1,并设置默认表空间为test1
create user test1 identified by test1123 default tablespace test1;
给test1授予相关权限
grant connect,resource to test1;
grant dba to test1;
执行输入imp导入,从原有用户test导入到test1
C:\>imp test1/test1123 file=c:\test_tablespace5.dmp log=c:\test_tablespace5.log fromuser=test touser=test1 ignore=y
直接导入会失败

可配置
撤销用户test1的unlimited tablespac配额
revoke unlimited tablespace from test1
将test1表空间设置为test1用户的默认表空间,
alter user test1 default tablespace test1并给test1用户的test1表空间的unlimited配额;
alter user test1 quota unlimited on test1;
设置test1对system,users表空间的配额为0
alter user test1 quota 0 on users;
alter user test1 quota 0 on system;
再次导入C:\>imp test1/test1123 file=c:\test_tablespace5.dmp log=c:\test_tablespace5.log fromuser=test touser=test1 ignore=y
ok,数据导入成功。
2)将备份文件恢复到原有表空间,但因原有表在继续使用中,导致imp导入失败,警告错误为建表失败,终止导入。

此时,可在imp导入时加入ignore=y 参数,即可正常导入。

对于导入的数据有重复情况,可添加关键字distinct参数----用于返回唯一不同的值
select DISTINCT * from t_qingli_2013_03
参考网页http://blog.sina.com.cn/s/blog_56f26ecb0100pqkl.html
本文介绍了在Oracle数据库中如何通过exp备份文件恢复已删除的数据。主要包括两种方法:一是将备份文件导入到新的表空间;二是将备份文件恢复到原有表空间。文中详细记录了创建表空间、用户权限配置及导入过程中的注意事项。
2146

被折叠的 条评论
为什么被折叠?



