同种平台数据迁移的工作总结

上一篇 / 下一篇  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:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-30  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 509
  • 日志数: 874
  • 建立时间: 2008-01-09
  • 更新时间: 2008-03-24

RSS订阅

Open Toolbar