下面给你一套在 Linux 下迁移 Oracle 数据库配置(含数据)的常见做法,按“场景 → 方法 → 关键步骤”来说明,你可以根据自己是同版本 / 跨版本 / 同机 / 跨机来选择。
一般说“Oracle 配置迁移”包括:
适用:跨机、同版本、最安全
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
rman target /
RESTORE CONTROLFILE FROM '/backup/xxx.ctl';
ALTER DATABASE MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
✅ 优点:最完整、可跨机
❌ 缺点:步骤多
适用:跨版本、部分用户、开发测试
expdp system/password \
DIRECTORY=dp_dir \
DUMPFILE=orcl.dmp \
FULL=Y LOGFILE=exp.log
impdp system/password \
DIRECTORY=dp_dir \
DUMPFILE=orcl.dmp \
FULL=Y LOGFILE=imp.log
⚠ 注意:
DIRECTORY适用:同机或同版本快速迁移
步骤:
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
$ORACLE_HOME/dbs❌ 不推荐跨版本
如果你只是想搬配置:
$ORACLE_HOME/network/admin/
├── listener.ora
├── tnsnames.ora
└── sqlnet.ora
$ORACLE_HOME/dbs/
├── init<sid>.ora
├── spfile<sid>.ora
└── orapw<sid>
然后:
lsnrctl reload
uid/gid 最好一致(oracle:oinstall)
ORACLE_HOME
ORACLE_SID
PATH
chown -R oracle:oinstall $ORACLE_HOME
chmod 6751 oracle
| 场景 | 推荐方式 |
|---|---|
| 生产迁移 | RMAN |
| 跨版本 | expdp/impdp |
| 同机换目录 | 冷备 |
| 只搬配置 | 拷贝 ora 文件 |
如果你愿意,可以告诉我:
我可以直接给你一步一步的命令脚本。