RMAN或expdp全库导出,确保备份可恢复。逻辑迁移通过导出/导入数据逻辑结构(表、索引、存储过程等),适用于跨平台或需要调整表结构的场景。
sqlplus / as sysdba
SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/u01/tmp';
expdp工具导出指定schema或表,生成.dmp文件和日志文件。expdp username/password@source_ip:1521/source_db schemas=HR directory=tmpDir dumpfile=exp_HR.dmp logfile=exp_HR.log
.dmp文件从源端复制到目标端(使用scp或rsync,建议压缩以减少传输时间)。scp -P 22 /u01/tmp/exp_HR.dmp oracle@target_ip:/u01/tmp/
sqlplus / as sysdba
SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/u01/tmp';
impdp工具导入.dmp文件,可通过TABLE_EXISTS_ACTION=APPEND选项追加数据(避免表已存在的错误)。impdp username/password@target_ip:1521/target_db schemas=HR directory=tmpDir dumpfile=exp_HR.dmp logfile=imp_HR.log
物理迁移通过备份/恢复数据库物理文件(数据文件、控制文件、SPFILE),适用于同平台或需要快速迁移的场景。
RMAN备份数据库(全备+归档日志),并将备份文件传输到目标端。rman target /
RMAN> RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/u01/backup/%U';
BACKUP DATABASE PLUS ARCHIVELOG;
BACKUP CURRENT CONTROLFILE FORMAT '/u01/backup/controlfile.bak';
BACKUP SPFILE FORMAT '/u01/backup/spfile.bak';
RELEASE CHANNEL c1;
}
~/.bash_profile,设置ORACLE_HOME、ORACLE_SID等变量。export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
rman TARGET /
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE SPFILE FROM '/u01/backup/spfile.bak';
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM '/u01/backup/controlfile.bak';
RMAN> ALTER DATABASE MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
ALTER SYSTEM命令转换数据文件、日志文件路径。sqlplus / as sysdba
SQL> ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/u01/source_data/','/u01/target_data/' SCOPE=SPFILE;
SQL> ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/u01/source_redo/','/u01/target_redo/' SCOPE=SPFILE;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
GoldenGate适用于实时/准实时数据同步(如零停机迁移),通过捕获源端变更并应用到目标端。
GLOBALS文件(设置Oracle Home、路径等),创建extract(捕获变更)、replicat(应用变更)进程配置文件。extract进程(捕获数据变更)和目标端replicat进程(应用变更)。ggsci
GGSCI> START EXTRACT ext1
GGSCI> START REPLICAT rep1
GGSCI命令检查进程状态(INFO EXTRACT ext1),比对源端与目标端数据一致性。expdp/impdp的TABLE_EXISTS_ACTION=SKIP选项跳过已存在表,或GoldenGate的校验功能)。V$SYSSTAT),及时处理异常。COMPATIBLE参数),字符集一致(如AL32UTF8)。rsync断点续传)。