--在sqlplus操作-begin
--oracle恢复DMP文件步骤
--1.创建表空间
--create tablespace 表空间 datafile 'D:\xxx\xxx.dbf' size 1024M autoextend on;
create tablespace cbak_ts datafile 'D:\datebase\orcl\cbak_ts.dbf' size 5120M autoextend on;
--2.创建用户
--create user 新用户名 identified by 密码 default tablespace 表空间;
create user cbak identified by cevo12345 default tablespace cbak_ts;
--3.给用户赋予权限
--grant connect,resource,imp_full_database,unlimited tablespace to 新用户名;
--grant dba to 新用户名;
grant connect,resource,imp_full_database,unlimited tablespace to cbak;
grant dba to cbak;
--4.建立目录(directory),若存在目录则跳过
--create directory 目录名 as '目录路径';
--5.把目录授权给用户
--grant read,write on directory 目录名 to 新用户名;
grant read,write on directory EXPDP_DIR to cbak;
--在sqlplus操作-end
--在PL/SQL Developer 操作-begin
--6.导入数据(恢复)
--修改对应的值,执行恢复的sql
--恢复
declare
h1 NUMBER;
l1 varchar2(20);
begin
h1 := dbms_datapump.open (operation => 'IMPORT', job_mode => 'SCHEMA', job_name => 'JOB_EXP1', version => 'COMPATIBLE');
dbms_datapump.set_parallel(handle => h1, degree => 1);
dbms_datapump.add_file(handle => h1, filename => 'IMPORT_20211116.LOG', directory => 'EXPDP_DIR', filetype => 3);
dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0);
dbms_datapump.add_file(handle => h1, filename => 'CDATABASE20211116.DMP', directory => 'EXPDP_DIR', filetype => 1);
dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''CDATABASE'')');
dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC');
dbms_datapump.set_parameter(handle => h1, name => 'SKIP_UNUSABLE_INDEXES', value => 0);
dbms_datapump.metadata_remap(handle => h1,name => 'REMAP_SCHEMA', old_value => 'CDATABASE', value => 'CBAK');
dbms_datapump.metadata_remap(handle => h1,name => 'REMAP_TABLESPACE', old_value => 'USERS', value => 'CBAK_TS');
dbms_datapump.metadata_transform(handle => h1,name => 'OID',value => 0);
dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
dbms_datapump.wait_for_job(handle => h1, job_state => l1);
dbms_datapump.detach(handle => h1);
end;
-- CDATABASE 老用户名称大写
-- CBAK 新用户名称大写
-- cbak 新用户名称小写
-- EXPDP_DIR 目录名称大写
-- CBAK_TS 新表空间
-- USERS 老表空间
-- CDATABASE20211116.DMP 需要恢复的文件
-- IMPORT_20211116.LOG 日志文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35767.html