Oracle客户端导出服务端数据(数据泵)生成DMP文件并导入

发布时间 2023-05-17 14:35:37作者: 章齐斌

1.首先了解下EXPDP 和 EXP的区别

      1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

      2)EXPDP和IMPDP是服务端的工具程序,他们只能在 ORACLEQ 服务端使用,不能在客户端使用

      3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适于EXP导出文件。


 

2.EXPDP与IMPDP的使用 

  1. 在本地计算机上打开命令行终端或者 PowerShell 窗口。
  2. 使用 expdp 命令连接到远程 Oracle 数据库,并导出数据。例如:
expdp username/password@remote_database schemas=schema_name directory=data_pump_dir dumpfile=file_name.dmp logfile=log_file_name.log include=table:\"IN \(\'table1\', \'table2\'\)\"\ full=y

   其中,usernamepassword 是远程 Oracle 数据库的用户名和密码;remote_database 是远程数据库的连接字符串;schema_name 是包含要导出表的用户(或 者模式)的名称;data_pump_dir 是存储导出文件的目录对象名称;file_name.dmp 是导出文件的名称;log_file_name.log 是记录导出日志信息的文件名称。

  1. 导出完成后,将导出文件传输到本地计算机上。您可以使用基于 FTP 或 SCP 协议的工具(如 FileZilla、WinSCP 等)来进行文件传输。
  2. 在本地计算机上,使用 impdp 命令连接到本地 Oracle 数据库,并导入数据。例如:
impdp username/password@local_database directory=data_pump_dir dumpfile=file_name.dmp logfile=log_file_name.log full=y

 其中,usernamepassword 是本地 Oracle 数据库的用户名和密码;local_database(例子: 170.20.6.16:1521/orcl) 是本地数据库的连接字符串;

directory_name 参数指定导出或导入数据文件所在的目录名称。在 Oracle 数据库中,您需要先创建一个目录对象,然后将其用于 expdp 或 impdp 命令。以下是创建和使用目录对象的示例:

  1. 在数据库中以管理员身份登录,并执行以下 SQL 语句来创建目录对象:
    CREATE DIRECTORY data_pump_dir AS '/path/to/directory'

file_name.dmp 是导出文件的名称;log_file_name.log 是记录导入日志信息的文件名称。

 请注意,如果要从远程计算机上运行 expdp 命令,需要确保已经在远程计算机上安装了 Oracle 数据库客户端,并且可以访问远程数据库。


 

3.EXP与IMP的使用

参考例子:

exp xir_md/123@172.19.6.12:1521/test2 file=D:exp_test2.dmp owner=xir_md

imp xir_md/123r@172.19.6.12:1521/test2 full=y file=D:\exp_test2.dmp ignore=y

imp xir_md/123@10.4.111.29:1521/test2 file=E:\exp_test  touser=xir_md  fromuser=xir_md ignore=y