① exp/imp逻辑备份与恢复
这是最常用最简单的方法,一般是基于应用的owner级做导入导出。
操作方法:
在新库建立好owner和表空间,停老库的应用,在老库运行以下命令:
$ exp SIEBEL/BYDUAT#SIE owner=SIEBEL grants=y file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log
导入dmp文件到新库,在新库执行以下命令:
$ imp SIEBEL/BYDUAT#SIE ignore=y grants=y fromuser=SIEBEL touser=SIEBEL file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log
优缺点:优点是可以跨平台使用,缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。
② storage存储迁移
这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。
操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机,或者用文件拷贝或dd的方式复制数据文件,启动数据库。
优缺点:优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba只需配合即可,停机时间为停库、切存储、起库的时间;缺点是要求新老库都是同一平台,是相同的数据库版本。
③ 用rman做迁移
rman比较适合于跨文件系统的迁移,如同平台下的不同文件系统。
操作方法:备份还原、rman duplicate
④ 利用dataguard迁移
用dg我们不仅可以用来做容灾,物理的dg我们还可以作为迁移的方式。
操作方法:
优缺点:优点是停机时间短,停机时间为switch over的时间;缺点是主机必须双份、存储必须双份。