1 导出步骤
- 打开终端,使用Oracle数据库的管理员账户登录到Linux服务器上的Oracle数据库。例如:使用system账户登录
sqlplus /nolog
CONNECT system/password@database_service
# 例子:CONNECT system/123456@127.0.0.1:1521/orcl
- 在SQL*Plus提示符下,创建一个目录对象,用于存储导出的dmp文件。例如,创建一个名为
EXPORT_DIR的目录对象,指向一个目录路径:
CREATE DIRECTORY EXPORT_DIR AS '/path/to/directory';
请将/path/to/directory替换为实际的目录路径。
- 授予目录对象的读写权限给数据库用户。例如,授予
sun用户读写权限:
GRANT READ, WRITE ON DIRECTORY EXPORT_DIR TO sun;
请将sun替换为实际的数据库用户名。
- 在终端中,使用
expdp命令导出数据库的dmp文件。以下是一个示例命令:
expdp scott/password@SID directory=EXPORT_DIR dumpfile=export.dmp logfile=export.log
请将scott/password@SID替换为实际的数据库用户名、密码和SID,export.dmp替换为导出的dmp文件名,export.log替换为导出日志文件名。
-
执行命令后,Oracle将开始导出数据库,并将dmp文件保存在之前创建的目录对象所指定的路径下。
导出过程可能需要一些时间,具体取决于数据库的大小和硬件性能。完成后,您可以在指定的目录中找到导出的dmp文件。
2 expdp介绍
expdp 是 Oracle 提供的一个数据泵导出工具,用于将数据从 Oracle 数据库中导出到外部文件。与传统的 exp 工具相比,expdp 提供了更高的性能和更多的功能。以下是关于 expdp 的详细介绍:
2.1 主要特点
- 高性能: expdp 使用多个进程并行处理数据导出任务,显著提高了导出速度。
- 压缩支持: 可以对导出的数据进行压缩,减少磁盘空间占用。
- 网络传输: 支持通过网络将数据直接导出到远程服务器,无需在本地存储中间文件。
- 增量导出: 可以执行增量导出,仅导出自上次导出以来发生变化的数据。
- 元数据导出: 可以导出表结构、索引、约束等元数据信息。
- 灵活的导出选项: 提供多种参数选项,可以根据需要定制导出内容和行为。
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 示例
- 导出整个模式:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log SCHEMAS=yth_gxpt
- 导出特定表:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log TABLES=table1,table2
- 启用压缩:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log COMPRESSION=ALL
- 并行导出:
expdp sun/password@SID DIRECTORY=EXPORT_DIR DUMPFILE=sun_20241210.dmp LOGFILE=sun_20241210.log PARALLEL=4