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