同种平台数据迁移的工作总结
上一篇 /
下一篇 2008-01-18 00:00:00
/ 个人分类:ORACLE
这周三由于业务变更,需要进行数据迁移。
这也是我第一次有机会在生产系统上进行数据迁移。
操作系统:RHEL AS 4, ORACLE版本是9.2.0.4,数据量大约是10G左右,但是迁移后,主机的ip和主机名都和源平台不一样了。
同种OS平台数据迁移,一般有两种方案。
方案1:将原有服务器中的ORACLE_HOME和ORACLE_BASE给TAR出来,还有/etc下和/var/opt下的相关文件tar出来,确保文件位置相同,在新的服务器上几个TAR包TAR回到相同的目录下,然后运行 oraInventory.sh 和 root.sh两个脚本,但是由于有一些信息是和机器的主机名或者ip关联的,比如Oem,agent,vault,这些东西tar过去会不好用(我第一次迁移就是使用的这种方法,但监听怎么也启动不了);
方案2:把数据库软件装好,把数据库tar过去,或者用impdp,imp进行全库导入;
我采用的是第二种方案,imp导入的parfile内容如下:
userid=system/***** buffer=100000
file=/***/expfulldb.dmp
log=/***/impfull0116.log
feedback=10000
Full=y
这次数据导入耗费的时间很长,而且中间出现过长时间的等待。
工作总结:
一·由于疏忽忘记加参数commit=y,这个参数主要在于可以避免大数据量导入的时候,对回滚段造成的压力,因为imp导入的时候,实际上是insert的过程,如果不提交会对回滚段和redolog造成很大压力;
二·imp导入的过程中出现的长时间等待,可能是有重建索引造成的,所以当我们imp导入大表前,可以通过禁止相关约束和索引,达到提高速度的目的,毕竟建index很耗费时间的;
三·为了提高imp导入速度,我们可以根据系统情况加大buffer,此外,如果库是归档模式,也要改成非归档,否则,会给redolog造成很大压力。
在论坛上看到exp/imp导入大数据量表的相关帖子,可供借鉴:
http://www.itpub.net/viewthread.php?tid=903208
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: