Oracle整库导出:一步到位(oracle整库导出)

Oracle数据库的导出是保证数据安全的一个必要流程,很多情况下,我们需要导出整个Oracle数据库,以便做备份、校对、测试等操作,这里介绍一个可以一步到位完成Oracle整库导出的方法。

首先,进入Oracle数据库,然后用expdp工具导出整库数据,例如:

“`shell

expdp system/****@pdb1 schemas=scott full=y directory=test_dir dumpfile=fulldb.dmp logfile=fulldblog.log

以上命令的意思是以用户system进行登录,以dmp格式从PDB1数据库导出指定用户scott生成的全库数据,存放到test_dir目录下,运行过程记录到fulldblog.log日志文件中,完成之后可以生成一个dump文件fulldb.dmp 来保存整库数据。
在完成数据库导出之后,可以根据需要来进行数据处理,比如压缩,加密,分发等操作。

要完成这样的一次性整库导出工作,除了expdp命令以外,如果是oracle 12c数据库可以使用Data Pump,Data Pump是Oracle自带的功能,以JOB的形式运行,可以更好的控制多个任务的同时运行,非常适用于大数据库的导出操作。

可以采用下列Data Pump命令来完成整库的导出:
```shell
CREATE or REPLACE DIRECTORY test_dir AS '/home/oracle/data/dbbackups';
GRANT READ, WRITE ON DIRECTORY test_dir TO system;
BEGIN
DBMS_DATAPUMP.METADATA_FILTER(
HANDLE => '1',
NAME => 'ALL_DB',
VALUE => 'INCLUDE'
);
END;

DECLARE
handle NUMBER;
BEGIN
handle := DBMS_DATAPUMP.OPEN(
operation =>'EXPORT',
job_mode =>'FULL', -- other vals: SCHEMA, TABLE, INCLUDE exclude partitions
job_name =>'full_dmp_job'
);
DBMS_DATAPUMP.ADD_FILE(
handle => handle,
filename => 'full_dump.dmp',
directory => 'TEST_DIR',
filetype => dbms_datapump.ku$_file_type_dump_file );
DBMS_DATAPUMP.START_JOB(handle=>handle);
END;
/

其中’test_dir’目录下的’full_dump.dmp’就是最后的整库的导出文件。

总结:Oracle整库导出,可以采用expdp和Data Pump ,结合shell命令,可以一步完成数据库导出。


数据运维技术 » Oracle整库导出:一步到位(oracle整库导出)