IMP问题(急,在线等)

[复制链接]
查看11 | 回复9 | 2006-12-23 13:14:36 | 显示全部楼层 |阅读模式
最近我的ERP系统的一个F0001这个TABLE丢失了部份数据,想通过IMP的方式找回来,现在有些题想请大家帮心解答
环境:
ORACLE版本:8.1.7
备份文件放在:BACKUP01电脑上是个WINDOW2003的OS,备份文件大概有140GB
ERP系统:有正式,测试两种环境,同一个数据库实例,正式数据放在R1用户下,测式数据放在R2用户下,系统是Solaris 8
我的计划
用IMP把F0001导入到测试环境,然后在写SQL找回丢失的数据
问题:
1.可不可以在BACKUP01电脑上直接通过IMP到测试系统,如果不行的话就只有把文件COPY到Solaris 系统
2.IMP语句这样写有没有问题
imp [email=system/[email protected]]system/[email protected][/email] file=D:\prodd0823.DMP buffer=67108864 log=D:\prodd0823.log fromuser=R1 touser=R2 tables=F0001
3.如果想在IMP进去的时候改Table的名字可以不.比如R1的F0001,IMP进去直接导入R.F0002
4.我F0001有400万条记录,用IMP导入大约要多长时间.
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
问题:
1.可不可以在BACKUP01电脑上直接通过IMP到测试系统,如果不行的话就只有把文件COPY到Solaris 系统
可以
2.IMP语句这样写有没有问题
imp system/[email protected] file=D:\prodd0823.DMP buffer=67108864 log=D:\prodd0823.log fromuser=R1 touser=R2 tables=F0001
没有什么问题,最好设置R2用户对生产环境的表空间的quota为0.避免误恢复到R1生产用户下.
3.如果想在IMP进去的时候改Table的名字可以不.比如R1的F0001,IMP进去直接导入R.F0002
没做过这样的事情,应该是不可以.可以imp后再alter table rename
4.我F0001有400万条记录,用IMP导入大约要多长时间.
你的导出文件100多G,要找到F0001这个表,文件遍历时间也很长.
400w不算多,注意你的undo大小,或者用cmmit=y参数.
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
说得不对的请后面大侠指正.
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
我就是担心会误恢复到R1生产用户下
表F0001是设成PUBLIC
grant select, insert, update, delete, references, alter, index on R1.F0001 to PUBLIC;
这个有没有影响
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
fromuser=R1 touser=R2
你这里不是写明了是导入到 R2 这个用户了吗?
而且 ,你的imp上面没有 ignore=y的参数,R1上面本身是有F0001这个表的话,是会报错的,导不进去的.
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
谢谢楼上的
R1,R2都有这个表,R2.F0001是不是要先DEL才行
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
同意 烟囱 所说,具体时间要看你测试环境所用的存储情况,以及机器性能等。
耗时主要在I/O上,一般来说几分钟时间总是要的。
[ 本帖最后由 hz_wm 于 2008-2-26 13:55 编辑 ]
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
1、在windows上直接IMP,COPY到SOLARIS上,肯定是不行的
3、先把R2里的表改名,然后在导入,有问题在改回来。
4、400W条记录,应该是很快的。可以把INDEXES设为N,加快速度。
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
原帖由 lovezw810624 于 2008-2-26 13:49 发表
谢谢楼上的
R1,R2都有这个表,R2.F0001是不是要先DEL才行

最好是要DEL掉,要不有什么约束,有的数据不是进不去了。进去了,数据也是两部份的数据了。而且两个表的表结构要一样,不然导不成功。
如果想在IMP进去的时候改Table的名字可以不.比如R1的F0001,IMP进去直接导入R.F0002
我记得,是不行的。
回复

使用道具 举报

千问 | 2006-12-23 13:14:36 | 显示全部楼层
把测试用户的quota进行下分配,心里放心,也可以有效的防止误操作.
这样做是有必要的.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行