Oracle导出dmp文件-Linux

898 阅读3分钟

1 导出步骤

  1. 打开终端,使用Oracle数据库的管理员账户登录到Linux服务器上的Oracle数据库。例如:使用system账户登录
sqlplus /nolog
CONNECT system/password@database_service
# 例子:CONNECT system/123456@127.0.0.1:1521/orcl
  1. 在SQL*Plus提示符下,创建一个目录对象,用于存储导出的dmp文件。例如,创建一个名为EXPORT_DIR的目录对象,指向一个目录路径:
CREATE DIRECTORY EXPORT_DIR AS '/path/to/directory';

请将/path/to/directory替换为实际的目录路径。

  1. 授予目录对象的读写权限给数据库用户。例如,授予sun用户读写权限:
GRANT READ, WRITE ON DIRECTORY EXPORT_DIR TO sun;

请将sun替换为实际的数据库用户名。

  1. 在终端中,使用expdp命令导出数据库的dmp文件。以下是一个示例命令:
expdp scott/password@SID directory=EXPORT_DIR dumpfile=export.dmp logfile=export.log

请将scott/password@SID替换为实际的数据库用户名、密码和SID,export.dmp替换为导出的dmp文件名,export.log替换为导出日志文件名。

  1. 执行命令后,Oracle将开始导出数据库,并将dmp文件保存在之前创建的目录对象所指定的路径下。

    导出过程可能需要一些时间,具体取决于数据库的大小和硬件性能。完成后,您可以在指定的目录中找到导出的dmp文件。

2 expdp介绍

expdp 是 Oracle 提供的一个数据泵导出工具,用于将数据从 Oracle 数据库中导出到外部文件。与传统的 exp 工具相比,expdp 提供了更高的性能和更多的功能。以下是关于 expdp 的详细介绍:

2.1 主要特点

  1. 高性能: expdp 使用多个进程并行处理数据导出任务,显著提高了导出速度。
  2. 压缩支持: 可以对导出的数据进行压缩,减少磁盘空间占用。
  3. 网络传输: 支持通过网络将数据直接导出到远程服务器,无需在本地存储中间文件。
  4. 增量导出: 可以执行增量导出,仅导出自上次导出以来发生变化的数据。
  5. 元数据导出: 可以导出表结构、索引、约束等元数据信息。
  6. 灵活的导出选项: 提供多种参数选项,可以根据需要定制导出内容和行为。

2.2 基本语法

expdp username/password@database_service_name DIRECTORY=directory_object DUMPFILE=dumpfile_name LOGFILE=logfile_name OPTIONS=...

2.3 常用参数

  • username/password:数据库用户名和密码。
  • @database_service_name:数据库服务名或连接字符串。
  • DIRECTORY:指定一个 Oracle 目录对象,该对象指向操作系统中的实际目录,用于存放导出文件。
  • DUMPFILE:指定导出文件的名称。
  • LOGFILE:指定日志文件的名称。
  • TABLES:指定要导出的表。
  • SCHEMAS:指定要导出的模式(用户)。
  • FULL:导出整个数据库。
  • INCLUDE/EXCLUDE:包含或排除特定的对象。
    • TABLE:表
    • INDEX:索引
    • VIEW:视图
    • PROCEDURE:存储过程
    • FUNCTION:函数
    • PACKAGE:包
    • TRIGGER:触发器
    • CONSTRAINT:约束
    • SEQUENCE:序列
    • ALL:所有
  • COMPRESSION:启用压缩。
  • PARALLEL:指定并行度。

2.4 示例

  1. 导出整个模式:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log SCHEMAS=yth_gxpt
  1. 导出特定表:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log TABLES=table1,table2
  1. 启用压缩:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log COMPRESSION=ALL
  1. 并行导出:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log PARALLEL=4