Oracle Database 11G RMAN 冷备异地恢复数据库

简述

该实验在 11G 的版本进行,先通过 RMAN 进行全库冷备,然后在异地通过 RMAN 进行恢复。

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

步骤

步骤

1. 从源数据库获取 pfile

SQL> create pfile='/orcl/app/oracle_rman/pfile.ora' from spfile;

2. 修正pfile

修改 pfile 文件的以下参数。

参数 默认值 含义
orcl.__oracle_base $ORACLE_BASE oracle 软件的基目录
*.audit_file_dest $ORACLE_BASE/admin/$SID/adump 审计文件目录
*.control_files '$ORACLE_BASE/oradata/$SID/control01.ctl','$DB_RECOVERY_FILE_DEST/$SID/control02.ctl' 控制文件的存储位置
*.db_name $SID 数据库的标识ID
*.db_recovery_file_dest $DB_RECOVERY_FILE_DEST 快速恢复区的目录,默认为 $ORACLE_HOME/fast_recovery_area
*.diagnostic_dest $ORACLE_BASE 诊断日志的目录

3. 异地数据库-用 pfile 启动数据库到 nomount 状态

SQL> startup nomount pfile=/orcl/app/oracle_rman/pfile.ora

4. 异地数据库-指定备份集恢复控制文件到指定路径

控制文件的新路径需要与 pfile 文件指定的 *.control_files 相一致。

RMAN> restore controlfile to '/orcl/app/oracle_rman/oradata/orcl/control01.ctl' from '/orcl/app/oracle_rman/fast_recovery_area/ORCL/backupset/2019_05_23//o1_mf_ncsnf_TAG20190523T220607_ggfbnr4m_.bkp';
RMAN> restore controlfile to '/orcl/app/oracle_rman/fast_recovery_area/orcl/control02.ctl' from '/orcl/app/oracle_rman/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_ncsnf_TAG20190523T220607_ggfbnr4m_.bkp';

5. 异地数据库-将备份集放入到新的快速恢复区

6. 异地数据库-将数据文件恢复到指定路径

RMAN> run {
set newname for datafile 1 to '/orcl/app/oracle_rman/oradata/orcl/system01.dbf';
set newname for datafile 2 to '/orcl/app/oracle_rman/oradata/orcl/sysaux01.dbf';
set newname for datafile 3 to '/orcl/app/oracle_rman/oradata/orcl/undotbs01.dbf';
set newname for datafile 4 to '/orcl/app/oracle_rman/oradata/orcl/users01.dbf';
set newname for datafile 5 to '/orcl/app/oracle_rman/oradata/orcl/example01.dbf';
restore database;
switch datafile all;
}

7. 异地数据库-备份控制文件到 trace

SQL> alter database backup controlfile to trace as '/orcl/app/oracle_rman/control_new.trc';

根据异地数据库的配置修改新生成的控制文件脚本。

8. 异地数据库-创建新的控制文件

关闭数据库后,继续将数据库用 pfile 文件启动到 nomount 状态。

SQL> startup nomount pfile=/orcl/app/oracle_rman/pfile.ora

生成新的控制文件。

SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/orcl/app/oracle_rman/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/orcl/app/oracle_rman/oradata/orcl/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/orcl/app/oracle_rman/oradata/orcl/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/orcl/app/oracle_rman/oradata/orcl/system01.dbf',
  '/orcl/app/oracle_rman/oradata/orcl/sysaux01.dbf',
  '/orcl/app/oracle_rman/oradata/orcl/undotbs01.dbf',
  '/orcl/app/oracle_rman/oradata/orcl/users01.dbf',
  '/orcl/app/oracle_rman/oradata/orcl/example01.dbf'
CHARACTER SET WE8MSWIN1252
;

9. 异地数据库-打开数据库

以 RESETLOGS 模式打开数据库。

SQL> ALTER DATABASE OPEN RESETLOGS;

为临时表空间添加数据文件。

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf' SIZE 1G REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 2G;

详情

1 从源数据库获取备份集

1.1 查询数据库版本

确保数据库版本为 11G。

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值