在Ubuntu上进行Oracle数据迁移的步骤如下:
源服务器操作
-
创建目录:
在源服务器上创建一个目录对象,用于指定导入数据文件的路径。可以使用以下命令创建目录对象:
[root@linux100 ~]# su - oracle [oracle@linux100 ~]# sqlplus / as sysdba SQL> create or replace directory tmpDir as '/tempFile' tmpDir是目录对象的名称,/tempFile是导入数据文件的路径。
-
使用expdp导出数据表:
使用expdp命令从测试库所在的源服务器将指定的数据表或数据源导出为一个或多个数据文件(.dmp文件)。例如:
[oracle@linux100 ~]# expdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp logfile=export.log username/password@Ip:port/database:指定要导出的数据库用户及其密码、数据库ip、端口、数据库名称; schemas=dbTest:指定要导出的数据库用户名称; directory=tmpDir:指定导出的数据文件路径,这里的tmpDir是预先定义的一个目录对象; dumpfile=export.dmp:指定导出的数据文件名称,这里的export.dmp是数据导出时生成的数据文件; logfile=export.log:指定导出日志文件名称。 如果需要导出单个表,可以使用以下命令: ```bash [oracle@linux100 ~]# expdp username/password@Ip:port/database directory=tmpDir dumpfile=export.dmp tables=student,school,teacher 其中,tables是要导入的数据表名称,多个数据表之间使用逗号分隔。
-
复制dmp文件到目标服务器:
使用scp命令将导出的dmp文件复制到目标服务器。例如:
[oracle@linux100 ~]# scp -P 2222 /tempFile/export.dmp name@xxx.xxx.xxx.xxx:/home/tempFile 输入目标服务器密码,按回车,文件就会自动传输到目标服务器中指定的文件夹中。
目标服务器操作
-
创建目录:
在目标服务器上创建一个目录对象,用于指定导入数据文件的路径。可以使用以下命令创建目录对象:
[root@linux101 ~]# su - oracle [oracle@linux101 ~]# sqlplus / as sysdba SQL> create or replace directory tmpDir as '/tempFile' tmpDir是目录对象的名称,/tempFile是导入数据文件的路径。
-
使用impdp导入数据表:
使用impdp命令将数据文件导入到目标服务器。例如:
[oracle@linux101 ~]# su - oracle [oracle@linux101 ~]# impdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp job_name=myjob username/password@Ip:port/database:指定要导入的数据库用户及其密码、数据库ip、端口、数据库名称; schemas=dbTest:指定要导入的数据库用户名称; directory=tmpDir:指定导入的数据文件路径,这里的tmpDir是预先定义的一个目录对象; dumpfile=export.dmp:指定导入的数据文件名称,这里的export.dmp是数据导出时生成的数据文件; job_name=myjob:指定导入作业的名称。
请注意,上述步骤可能需要根据您的具体环境和需求进行调整。在执行数据迁移之前,请确保备份所有重要数据,并在非生产环境中进行充分测试。