Oracle EXPDP-IMPDP 使用教程:从基础到高级

需积分: 33 4 下载量 167 浏览量 更新于2024-09-15 收藏 37KB DOC 举报
"Oracle EXPDP 和 IMPDP 是用于数据导出和导入的工具,它们是 Oracle 数据泵(Data Pump)的一部分,用于高效地转移数据库对象和数据。此工具提供了多种选项来定制数据导出和导入的过程,以满足不同的需求。" Oracle EXPDP (Export Data Pump) 是一个命令行实用程序,用于将 Oracle 数据库中的数据和元数据导出到操作系统文件中。这些文件可以是数据转储文件,包含表、视图、索引、存储过程等信息。以下是使用 EXPDP 的一些关键知识点: 1. 创建逻辑目录:在数据库中创建一个逻辑目录对象,如 `createdirectory dpdata1 as 'd:\test\dump';` 这并不会在操作系统上创建实际的目录,但为后续的导出操作定义了一个路径。 2. 查看目录:通过查询 `dba_directories` 视图来检查已创建的目录,如 `select * from dba_directories;`,确保目录设置正确,并与操作系统上的实际路径对应。 3. 授权:使用 `GRANT` 命令给予用户对指定目录的读写权限,如 `grant read, write on directory dpdata1 to scott;`,允许用户执行导出操作。 4. 数据导出: - 按用户导出:导出特定用户的全部对象,例如 `expdp scott/tiger@orcls schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;` - 并行导出:使用 `PARALLEL` 参数增加导出速度,如 `expdp scott/tiger@orcldirectory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3;` - 按表名导出:导出单个或多个表,如 `expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;` - 按查询条件导出:基于 SQL 查询导出满足特定条件的记录,如 `expdp scott/tiger@orcldirectory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';` - 按表空间导出:导出指定表空间的所有对象,如 `expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;` - 全库导出:使用 `FULL` 参数导出整个数据库,如 `expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;` Oracle IMPDP (Import Data Pump) 是 EXPDP 的反向操作,它将数据转储文件重新导入到数据库中。以下是使用 IMPDP 的关键知识点: 1. 导入到指定用户:将数据导入到特定用户下,如 `impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;` 2. 更改表所有者:在导入时重映射对象的所有权,如 `impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;` 3. 导入表空间:指定导入时的目标表空间,如 `impdp system/manager DIR...`(这个例子未完成,但通常会继续提供表空间信息) Oracle EXPDP 和 IMPDP 提供了丰富的选项,使得在数据库维护、备份恢复、迁移和数据处理等方面具有很高的灵活性。它们可以处理大量数据,并且支持网络和存储优化,极大地提高了数据传输的效率。在实际使用中,根据具体需求选择适当的参数和选项是至关重要的。