在Ubuntu上迁移Oracle数据库常用 expdp/impdp工具,步骤如下:
1. 源服务器操作
- 创建目录对象(用于存放导出文件):
su - oracle sqlplus / as sysdba SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/tempFile'; - 导出数据:
expdp username/password@源数据库IP:端口/服务名 DIRECTORY=tmpDir DUMPFILE=export.dmp LOGFILE=export.log SCHEMAS=目标模式名 - 传输文件到目标服务器:
scp -P 端口 /tempFile/export.dmp 目标服务器用户@目标IP:/home/tempFile
2. 目标服务器操作
- 创建目录对象:
su - oracle sqlplus / as sysdba SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/tempFile'; - 导入数据:
impdp username/password@目标数据库IP:端口/服务名 DIRECTORY=tmpDir DUMPFILE=export.dmp LOGFILE=import.log SCHEMAS=目标模式名
关键注意事项
- 权限:确保目录对象对Oracle用户有读写权限。
- 字符集:目标数据库字符集需与源数据库一致,可通过
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';检查。 - 测试验证:迁移后需测试数据完整性、应用连接是否正常。
- 工具选择:优先使用
expdp/impdp(支持并行、断点续传),传统exp/imp已逐步淘汰。
参考来源: