在Ubuntu上进行Oracle数据库迁移,常用方法及步骤如下:
su - oracle
sqlplus / as sysdba
SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/tempFile';
expdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp logfile=export.log
scp -P 2222 /tempFile/export.dmp username@目标服务器IP:/home/tempFile
su - oracle
sqlplus / as sysdba
SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/tempFile';
impdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp job_name=myjob
exp username/password@Ip:port/database file=/tempFile/export.dmp log=export.log
imp username/password@Ip:port/database file=/tempFile/export.dmp log=import.log fromuser=dbTest touser=dbTest
sqlplus / as sysdba
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN READ ONLY;
RMAN> CONVERT DATABASE TO PLATFORM 'Linux' FORMAT '/tmp/%U';
scp /tmp/* user@目标服务器IP:/target-directory
sqlplus / as sysdba
SQL> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM '/target-directory/controlfile.bkp';
RMAN> RESTORE DATABASE;
SQL> ALTER DATABASE OPEN;
以上方法可根据实际需求选择,优先使用Data Pump或RMAN,效率更高且支持跨平台。