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;
BEGINDBMS_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命令,可以一步完成数据库导出。