ACCESSPL/SQL远程备份和恢复Oracle数据库

(转自:http://blog.csdn.net/huchunfu/article/details/25165901)

每当客户端远程备份的公文保留于数据库所在主机上,不见面一直拷贝到客户端。
——————————————————————————————————————————
第一无论你的Oracle服务器是Linux还是windows操作系统,Oracle的备份和恢复操作都是下DBMS_DUMP来落实导入(备份)和导出(恢复)。首先你如果安装好PL/SQL,用PL/SQL来实行我下提供的JOB就足以实现了。
一、Oracle的导出(备份)
  1、用PLSQL连接Oracle数据库服务器,使用你待导出的用户连接Oracle数据库服务器,执行下告诉句备份:

declare
        h1   NUMBER;
        l1   varchar2(20);
        begin
           h1 :=dbms_datapump.open (operation => ‘EXPORT’, job_mode
=>’SCHEMA’, job_name => ‘JOB_EXP1′, version
=>’COMPATIBLE’);
         dbms_datapump.set_parallel(handle=> h1, degree => 1);
         dbms_datapump.add_file(handle=> h1, filename =>
‘EXPDAT.LOG’, directory =>’DATA_PUMP_DIR’, filetype => 3);
         dbms_datapump.set_parameter(handle=> h1, name =>
‘KEEP_MASTER’, value => 0);
         dbms_datapump.metadata_filter(handle=> h1, name =>
‘SCHEMA_EXPR’, value => ‘IN(”CHY”)’);
         dbms_datapump.add_file(handle=> h1, filename =>
‘CHYDB.DMP’,directory => ‘DATA_PUMP_DIR’, filetype => 1);
         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 =>
‘ESTIMATE’, value => ‘BLOCKS’);
         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;

    2、注意:
         A、’IN(”CHY”)’
中的CHY为PL\SQL登陆的用户称,待备份的用户,注意用小写。
         B、filename=>
‘CHYDB.DMP’中的CHYDB是指定的备份出的dmp文件名称,注意用小写。

    3、待plsql中实践就,从下查询得到备份文件的路子,并拿dmp文件可以拷贝出来
         SELECTdirectory_path FROM dba_directories
WHEREdirectory_name=’DATA_PUMP_DIR’;

    4、Oracle的导出(备份)完成了。

二、Oracle的导入(恢复)

    1、登陆或远程到Oracle服务器,将Oracle的备份文件(DMP文件)拷贝到指定路线下,路径的获用脚的SQL语句:

SELECT directory_path FROMdba_directories WHERE
directory_name=’DATA_PUMP_DIR’;

    2、在Oracle服务器创建用户,一般用Oracle工具em创建用户

       A、Oracle中无数据库实体的概念,是“用户”,数据库用户就是相当给SQLserver的数据库实体。

B、登陆Oracle的em,用SYS用户登陆,SYS的角色是SYSDBA。

C、创建用户,以“SA”为例,默认表空间一般选择“USERS”,临时表空间一般选TEMP(如果你协调想用好创造的

表 空间也可以,选择自己创建的表空间吧)。

D、角色页签,一定要是给以该用户DBA角色,在编写列表选择DBA选项运动到右。

E、系统权限页签,在编辑列表使用“全部运动”,授予该用户有的权。

        F、剩下的页签不需要举行其他设置,点击确定就得提醒该用户创建成功。

    3、用PL\SQL连接Oracle服务器,注意采取第2步创建的用户登陆PL\SQL连接Oracle服务器

     4、在初的SQLWindow执行下的说话进行导入(恢复)

        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.LOG’, directory => ‘DATA_PUMP_DIR’, filetype =>3);
             dbms_datapump.set_parameter(handle => h1, name=>
‘KEEP_MASTER’, value => 0);
             dbms_datapump.add_file(handle => h1,
filename=> ‘CHYDB.DMP’, directory =>’DATA_PUMP_DIR’, filetype
=> 1);
             dbms_datapump.metadata_filter(handle=> h1, name =>
‘SCHEMA_EXPR’, value => ‘IN(”CHY”)’);
             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 => ‘CHY’, value => ‘SA’);
             dbms_datapump.metadata_remap(handle=> h1,name =>
‘REMAP_TABLESPACE’, old_value =>’USERS’, value => ‘USERS’);
             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;

     5、注意:(下面的满还要大写)

        A、第一个红标志(’CHYDB.DMP’),拷贝到Oracle服务器的DMP文件之名目

        B、第二个革命标志(CHY),DMP文件的用户,所以当导入(备份)Oracle用户是索要记下用户名和表空间的称

        C、第三单红标记(CHY),DMP文件之用户

        D、第四独红标志(SA),你刚才创建的用户

E、第五独红标记(USERS),DMP文件之表空间的称,在B里面提到要记住的

F、第六独革命标记(USERS),你刚刚创建的用户关联的默认表空间的名号

6、确保上述手续无误,执行导入(恢复)语句,成功促成Oracle的导入(恢复)。

7、在召开导入的长河遭到,第1步提到的途径下起导入日志,导入好后看有啊错

相关文章