广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    ORACLE 数据库RMAN备份恢复

    2018-04-25 21:46:10 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布
    机器A:
    select instance_name from v$instance;
    select name from v$database;
    select name from v$datafile;
    查询日志模式:
    archive log list;
    shutdown immediate;
    startup mount;
    把日志改为归档模式:
    alter database archivelog;
    alter database open;
    alter system archive log current;
    select name from v$archived_log;
    打开控制文件跟踪:
    alter database backup controlfile to trace;
    查看跟踪文件位置:
    show parameter user_dump_dest
    cmd:
    set oracle_sid=orcl
    rman target sys/abc
    host "md c:/back";
    run
    {
    backup database;
    format 'c:/back/%d_%s_%T_full.bak';
    }
    select file#,name from v$datafile;
    传送以下文件到机器B:
    c:/back
    d:/oracle/product/10.2.0/admin/orcl
    CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG' SIZE 50M,
    GROUP 2 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG' SIZE 50M,
    GROUP 3 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG' SIZE 50M
    -- STANDBY LOGFILE
    DATAFILE
    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF',
    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF',
    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF',
    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF',
    'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/XM'
    CHARACTER SET ZHS16GBK

    机器B:
    创建要恢复oracle的目录
    e:/oracle/product/10.2.0/oradata/orcl
    e:/oracle/product/10.2.0/admin
    e:/oracle/product/10.2.0/falsh_recovery_area
    把收到的文件夹orcl放到e:/oracle/product/10.2.0/admin
    拷贝
    e:/oracle/product/10.2.0/admin/orcl/pfile中的参数文件到自己真实数据库db_1/database文件夹中,并改名为initorcl.ora
    打开initorcl.ora
    把里面的路径改为真实oracle数据库的位置
    d:/替换为e:/
    cmd1:
    set oracle_sid=orcl
    oracle orcl
    等到提示ctrl+c
    cmd2:
    set oracle_sid=orcl
    sqlplus / as sysdba
    startup nomount;
    cmd3:
    set oracle_sid=orcl
    rman target sys/abc
    restore controlfile from 'C:/back/ORCL_2_20090414_FULL.BAK';
    cmd2:
    alter database mount;
    cmd3:
    run{
    set newname for datafile 1 to 'E:/oracle/product/10.2.0/oradata/orcl/SYSTEM01.DBF';
    set newname for datafile 2 to 'E:/oracle/product/10.2.0/oradata/orcl/UNDOTBS01.DBF';
    set newname for datafile 3 to 'E:/oracle/product/10.2.0/oradata/orcl/SYSAUX01.DBF';
    set newname for datafile 4 to 'E:/oracle/product/10.2.0/oradata/orcl/USERS01.DBF';
    set newname for datafile 5 to 'E:/oracle/product/10.2.0/oradata/orcl/XM';
    restore database;
    switch datafile all;
    }
    cmd2:
    select name from v$database;
    shutdown immediate;
    startup mount;
    alter database backup controlfile to trace;
    找到跟踪文件:
    重做控制文件:把里面的路径改为正确路径:
    d:/改为 e:/
    shutdown immediate;
    startup nomount;
    执行生成控制文件的语句;执行钱必须先删除.ctl的文件
    alter database open resetlogs;
    select name from v$database;
    select member from v$logfile;

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告