Oracle 数据库 基于DBMS_DATAPUMP的数据

Oracle 数据库阿木 发布于 12 天前 6 次阅读


摘要:随着信息技术的飞速发展,数据迁移和备份在数据库管理中扮演着越来越重要的角色。Oracle数据库的DBMS_DATAPUMP提供了强大的数据迁移和备份功能,本文将围绕这一主题,详细解析DBMS_DATAPUMP的使用方法、优势以及在实际应用中的注意事项。

一、

Oracle数据库作为全球最流行的关系型数据库之一,其稳定性和可靠性得到了广泛认可。在数据库管理过程中,数据迁移和备份是至关重要的环节。DBMS_DATAPUMP是Oracle数据库提供的一个高效、灵活的数据迁移和备份工具,它可以帮助用户轻松实现数据的迁移、备份和恢复。

二、DBMS_DATAPUMP简介

DBMS_DATAPUMP是Oracle数据库中一个强大的数据迁移和备份工具,它基于Oracle的导出(Export)和导入(Import)机制,提供了更为灵活和高效的数据迁移和备份功能。DBMS_DATAPUMP支持多种数据迁移和备份方式,包括:

1. 全库迁移:将整个数据库或其部分数据迁移到另一个数据库。

2. 表迁移:将单个表或多个表的数据迁移到另一个数据库。

3. 表空间迁移:将整个表空间或其部分数据迁移到另一个数据库。

4. 数据备份:对数据库或其部分数据进行备份。

三、DBMS_DATAPUMP的使用方法

1. 创建数据泵导出作业

```sql

BEGIN

DBMS_DATAPUMP.DP_SET_VERSION;

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'JOB_NAME', factor_value => 'my_job');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'LOGFILE', factor_value => 'my_job.log');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'COMPRESSION', factor_value => 'YES');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'NETWORK_LINK', factor_value => 'YES');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'BUFFER', factor_value => '8192');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXBLOCKS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXROWS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXERRORS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXTIME', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXLOBSIZE', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXLOGFILES', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXLOGMEMBERS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXLOGHISTORY', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXEXTENTS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXFILES', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXPIECES', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'MAXSIZE', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'OPTIMIZER_MODE', factor_value => 'ALL_ROWS');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'OPTIMIZER_FEATURES_ENABLE', factor_value => '11.2');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'RECORDS_PER_BLOCK', factor_value => '8192');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'BLOCKSIZE', factor_value => '8192');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_IO_PER_SEC', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_CPU_PER_SEC', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_ROWS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_BLOCKS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBS', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_ROWS_PER_BLOCK', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_BLOCKS_PER_LOB', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_ROWS_PER_LOB', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBS_PER_BLOCK', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_BLOCKS_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_BLOCK', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOB', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBS_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_RECORDS_PER_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP.DP_ADD_JOBFACTOR(job_name => 'my_job', factor_name => 'ESTIMATED_NUMBER_OF_LOBSIZE_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD_PER_RECORD', factor_value => '1000000');

DBMS_DATAPUMP