DBMS_DATAPUMP
Data pump功能非常用到,expdp和impdp的命令在oracle的内部由dbms_datapump来完成,一些 procedure和function,包括:
Add_file
attach
data_filter
detach
get_dumpfile_info
get_status
log_entry
metadata_filter
metadata_remap
metadata_transform
open
set_parallel
set_parameter
start_job
stop_job
wait_for_job
一个导出表的例子:
select * from dba_tables a where a.owner = 'SCOTT';
create or replace directory dumpdir as 'E:\app\l00187714\product\11.2.0';
select * from scott.emp;
DECLARE
HANDLE1 NUMBER;
BEGIN
HANDLE1 := DBMS_DATAPUMP.OPEN('EXPORT', 'TABLE');
DBMS_OUTPUT.PUT_LINE(HANDLE1);
DBMS_DATAPUMP.ADD_FILE(HANDLE => HANDLE1,
FILENAME => 'table.dmp',
DIRECTORY => 'DUMPDIR',
FILETYPE => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
DBMS_DATAPUMP.METADATA_FILTER(HANDLE => HANDLE1,
NAME => 'SCHEMA_EXPR',
VALUE => 'IN (''SCOTT'')');
DBMS_DATAPUMP.METADATA_FILTER(HANDLE1, 'NAME_EXPR', 'IN (''EMP'')');
DBMS_DATAPUMP.SET_PARALLEL(HANDLE1, 4);
DBMS_DATAPUMP.START_JOB(HANDLE1);
DBMS_DATAPUMP.DETACH(HANDLE1);
END;
/
Import和export差不多,如果要在import后做一些操作的话,可以用wait_for_job。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16179598/viewspace-722319/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16179598/viewspace-722319/