在 Linux 环境下迁移 Oracle 数据库配置,通常分为几种场景。下面按常见迁移方式系统说明,你可以根据实际需求选择。
sqlplus / as sysdba
select version from v$instance;
rman target /
backup database plus archivelog;
适用:服务器更换、IP 变化不大
lsnrctl stop
sqlplus / as sysdba
shutdown immediate
$ORACLE_BASE/etc/oratab/home/oracle/.bash_profile/u01/app/oracle/...lsnrctl start
sqlplus / as sysdba
startup
✅ 优点:配置几乎不变
❌ 缺点:版本、路径必须一致
适用:跨服务器、跨存储
rman target /
backup database format '/backup/full_%U.bak';
backup archivelog all format '/backup/arch_%U.bak';
rman target /
restore spfile to pfile from '/backup/full_xxx.bak';
startup nomount pfile='?/dbs/initxxx.ora';
restore controlfile from '/backup/full_xxx.bak';
alter database mount;
restore database;
recover database;
alter database open resetlogs;
适用:跨版本、跨平台
expdp system/pwd directory=dp_dir full=y dumpfile=full.dmp
目标库:
impdp system/pwd directory=dp_dir full=y
✅ 不依赖文件路径
❌ 不包含 listener、tns 配置
适合重装后恢复环境
需要迁移的文件:
$ORACLE_HOME/network/admin/
listener.ora
tnsnames.ora
sqlnet.ora
$ORACLE_HOME/dbs/
init<SID>.ora
spfile<SID>.ora
orapw<SID>
/etc/oratab
vi $ORACLE_HOME/network/admin/listener.ora
vi $ORACLE_HOME/network/admin/tnsnames.ora
重启监听:
lsnrctl reload
你可以告诉我:
我可以直接给你一步一步可执行命令。