Oracle 恢复DMP 脚本

Oracle 恢复DMP 脚本在sqlplus操作-beginoracle恢复DMP文件步骤1.创建表空间createtablespace表空间datafile’D:\xxx\xxx.dbf’size1024Mautoextendon;createtablespacecbak_tsdatafile’D:\datebase\orcl\cbak_ts.dbf’size5120Mautoextendon;2.创建用户createuser新用户名identified.

--在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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注