ACCESSPL/SQL远程备份和还原Oracle数据库

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

在客户端远程备份的文书保留在数据库所在主机上,不会直接拷贝到客户端。
——————————————————————————————————————————
率先无论你的Oracle服务器是Linux依然windows操作系统,Oracle的备份和回复操作都以采取DBMS_DUMP来落到实处导入(备份)和导出(复苏)。首先你要安装好PL/SQL,用PL/SQL来进行我上边提供的JOB就足以兑现了。
一、Oracle的导出(备份)
  一,用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’;

    二,在Oracle服务器成立用户,一般用Oracle工具em制造用户

       A、Oracle中从未数据库实体的定义,是“用户”,数据库用户就一定于SQLserver的数据库实体。

B、登陆Oracle的em,用SYS用户登6、SYS的剧中人物是SYSDBA。

C、创制用户,以“SA”为例子,默许表空间一般选拔“USELX570S”,暂且表空间一般接纳TEMP(如若您自身想用本身创设的

表 空间也足以,选拔自身成立的表空间吧)。

D、剧中人物页签,一定要授予该用户DBA角色,在编写列表选拔DBA选项运动到右手。

E、系统权限页签,在编写列表使用“全体活动”,授予该用户拥有的权力。

        F、剩下的页签不需求做此外设置,点击明确就足以唤起该用户创立成功。

    3、用PL\SQL连接Oracle服务器,注意选择第叁步创立的用户登陆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、第一个玉米黄标志(USE安德拉S),DMP文件的表空间的名称,在B里面提到要求牢记的

F、首个革命标记(USE牧马人S),你刚才创立的用户关联的暗许表空间的称谓

六,确保上述手续无误,执行导入(复苏)语句,成功完毕Oracle的导入(苏醒)。

七,在做导入的进度中,第3步提到的不二法门下有导入日志,导入完成后看看有啥错误

相关文章