导出:
注意:必须获得相关权限!
declare
-- 创建工作句柄
h1 number;
begin
-- 建立一个用户定义的数据泵做schema的备份
h1 := dbms_datapump.open(operation=>'EXPORT',job_mode =>'schema');
--定义存储文件
dbms_datapump.add_file(handle=> h1,filename => 'qt.dmp');
--定义过滤条件
dbms_datapump.metadata_filter(handle=>h1,name => 'schema_expr',value => 'in''SCOTT''');
--启动数据泵
dbms_datapump.start_job(handle=>h1);
--断开数据泵会话
dbms_datapump.detach(handle=>h1);
end;
默认保存位置:
Oracle\product\10.2.0\db_1\admin\oracleQT\dpdump
导入:
实际上是利用对象模式
declare
-- 创建数据泵工作句柄
h1 number;
begin
-- 建立一个用户定义的数据泵通过数据泵连接oracleQT进行访问
h1:=dbms_datapump.open(operation=>'IMPORT',job_mode => 'schema',remote_link => 'oracleQT');
--把qt对象模式导入到MYHR对象模式中
dbms_datapump.metadata_remap(handle=>h1,name => 'REMAP_SCHEMA', old_value=>'USERS',value => 'MYHR'); 注意 这里的名字要大写!
--把日志写入test.log文件中
dbms_datapump.add_file(handle=>h1,filename => 'test.log',filetype => dbms_datapump.KU$_FILE_TYPE_LOG_FILE);
--启动数据泵会话
dbms_datapump.start_job(handle=>h1);
--断开数据泵会话连接
dbms_datapump.detach(handle=>h1);
end;