ORACLE 11g 用Duplicate恢复Data Guard 备库详细过程
1、先查找备库控制文件路径
先在备库上找出控制文件的路径,通过和主库一样,不过为了以防万一,还是check为好。
|
SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /Oracle/app/oracle/oradata/powerdes/control01.ctl /oracle/app/oracle/fast_recovery/powerdes/control02.ctl SQL> |
2、准备控制文件备份文件
在主库上备份当前的控制文件,记得生成的备份文件要在执行全备之前生成,而且命令行也是带for standby字样的backup current controlfile for standby format'/home/oracle/ctlfile.bak'才行,也可以手动提前生成。
|
RMAN> backup current controlfile for standby format '/home/oracle/ctlfile.bak'; Starting backup at 2016-11-23 21:20:41 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including standby control file in backup set channel ORA_DISK_1: starting piece 1 at 2016-11-23 21:20:42 channel ORA_DISK_1: finished piece 1 at 2016-11-23 21:20:43 piece handle=/home/oracle/ctlfile.bak tag=TAG20161123T212041 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 2016-11-23 21:20:43 RMAN> |
然后等备份任务结束后,在主库上,将备份前生成的控制文件、最近的一份备份文件到备库的相同目录:
|
scp /oracle/app/oracle/oradata/powerdes/control01.ctl 192.168.3.112:/home/oracle/ scp -r /data/backup/data/2016-11-23 192.168.3.112:/home/oracle/ |
3、检查主库备库环境
获取备库的tns:(我的是earth_m2)
cat $ORACLE_HOME/network/admin/tnsnames.ora
|
earth_m2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.112)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = powerdes) ) ) |
(1)查看主库备库SID名字是否统一,这个很重要
|
# 备库: [oracle@t1_dbm1_3_112 data]$ echo $ORACLE_SID powerdes [oracle@t1_dbm1_3_112 data]$ # 主库: [oracle@t1_dbm1_3_111 ~]$ echo $ORACLE_SID powerdes [oracle@t1_dbm1_3_111 ~]$ |
(2)查看主库备份传输密码是否一致:
|
# 备库: [oracle@t1_dbm1_3_112 dbs]$ cd $ORACLE_HOME/dbs [oracle@t1_dbm1_3_112 dbs]$ strings orapwpowerdes ]\[Z ORACLE Remote Password file INTERNAL 89F7167638478F13 0Cv# B6E56CBCA47429E2 [oracle@t1_dbm1_3_112 dbs]$ # 主库: [oracle@t1_dbm1_3_111 ~]$ cd $ORACLE_HOME/dbs [oracle@t1_dbm1_3_111 dbs]$ strings orapwpowerdes ]\[Z ORACLE Remote Password file INTERNAL 89F7167638478F13 0Cv# B6E56CBCA47429E2 [oracle@t1_dbm1_3_111 dbs]$ |
4、启动备库到nomount状态
在备库上,直接copy覆盖控制文件
|
cp /home/oracle/ctlfile.bak /oracle/app/oracle/oradata/powerdes/control01.ctl cp /home/oracle/ctlfile.bak /oracle/app/oracle/fast_recovery/powerdes/control02.ctl |
然后启动到nomount状态
|
SQL> startup nomount ORACLE instance started. Total System Global Area 8551575552 bytes Fixed Size 2270360 bytes Variable Size 7247760232 bytes Database Buffers 1291845632 bytes Redo Buffers 9699328 bytes SQL> |
5、使用duplicate恢复备库
在主库上,使用rman登录远程备库earth_m2
|
[oracle@t1_dbm1_3_111 ~]$ rlwrap rman target / auxiliary sys/04181123@earth_m2 Recovery Manager: Release 11.2.0.4.0 - Production on Wed Nov 23 20:05:54 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: POWERDES (DBID=3481287162) connected to auxiliary database: POWERDES (not mounted) RMAN> |
在rman命令行里面执行恢复命令:
run {
allocate auxiliary channel c1 devicetype disk;
allocate auxiliary channel c2 devicetype disk;
duplicate target database for standbynofilenamecheck dorecover;
release channel c1;
release channel c2;
}
#nofilenamecheck:必须指定NOFILENAMECHECK参数,避免覆盖primary数据库的当前的数据文件。另外主从路径一致,不需要执行文件路径以及check了
#release :这是关闭 前两行开启的通道
执行过程比较漫长,屏幕滚动信息比较多,这里不贴出来了,省略过……
执行命令后,需要很长时间,需要等待,因为需要写入文件到备库的数据文件目录里面,找个时候,在备库的alert log后台有如下记录日志,表明正在写数据文件:
|
Full restore complete of datafile 4 /oracle/app/oracle/oradata/powerdes/users01.dbf. Elapsed time: 0:00:00 checkpoint is 32945676 last deallocation scn is 3 Wed Nov 23 20:14:42 2016 Full restore complete of datafile 3 /oracle/app/oracle/oradata/powerdes/undotbs01.dbf. Elapsed time: 0:00:05 checkpoint is 32945676 last deallocation scn is 32897307 Undo Optimization current scn is 32934775 Wed Nov 23 20:15:50 2016 Full restore complete of datafile 5 /oracle/app/oracle/oradata/powerdes/example01.dbf. Elapsed time: 0:01:18 checkpoint is 32945676 last deallocation scn is 32806636 ………… |
6、ORA-01152:问题
最后rman命令行里面duplicate命令执行完,窗口界面上有如下报错信息:
|
Signalling error 1152 for datafile 1! Errors in file /oracle/app/oracle/diag/rdbms/earth_m2/powerdes/trace/powerdes_pr00_4069.trc: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/oracle/app/oracle/oradata/powerdes/system01.dbf' ORA-1547 signalled during: alter database recover cancel... ^C |
有报错没有关系,接下来直接开始应用日志,启动归档日志传输,通过应用归档日志来保证主备数据的一致性:
|
# 先开始启动传输开始应用日志 SQL> alter database recover managed standby database using current logfile disconnect from session; Database altered. SQL># 实时观察应用日志状态 SQL> select sequence#,applied from v$archived_log order by sequence# asc; …… SEQUENCE# APPLIED ---------- --------- 2334 YES 2335 YES 2301 rows selected. SQL> # 等观察应用日志结束后,退出日志传输 SQL> alter database recover managed standby database cancel; Database altered. SQL> # 将备库从mount启动到open状态 SQL> alter database open; Database altered. SQL> # 查看备库状态,就会变成READ ONLY SQL> select database_role,open_mode from v$database; DATABASE_ROLE OPEN_MODE ---------------- -------------------- PHYSICAL STANDBY READ ONLY SQL> # 然后再次启动日志应用 SQL> alter database recover managed standby database using current logfile disconnect from session; Database altered. SQL> # 查看open_mode,有了READ ONLY WITH APPLY字样,OK SQL> select database_role,open_mode from v$database; DATABASE_ROLE OPEN_MODE ---------------- -------------------- PHYSICAL STANDBY READ ONLY WITH APPLY SQL> |
至此,Data Guard备库修复完成,如果遇到了ORA-01152问题,不需要慌张,可以试试应用日志来恢复数据。
ORACLE 11g 用Duplicate恢复Data Guard 备库详细过程的更多相关文章
- oracle data guard备库备份恢复
客户有套data guard环境,主库在阿里云上,备库在本地机房,现在想定期做备份,但是因为一些原因,备份阿里云上的主库实现会有些问题,所以只能备份本地的备库.目前需求就是测试备库的备份文件是否可以进 ...
- Oracle 11gR2 Database和Active Data Guard迁移案例
客户一套核心系统由一台Oracle Database 11.2.0.3.4单机和一台Active Data Guard组成,分别运行在两台PC服务器上,Oracle Linux 5.8 x86_64b ...
- 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
[Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...
- 怎样使用 RMAN 增量备份恢复 data guard log gap(日志断档)
主库查询最小scn 信息: SQL> col current_scn for 999999999999999 SQL> SELECT CURRENT_SCN FROM V$DATABAS ...
- 搭建DG(data guard),及搭建过程中遇到的一些小问题
一.准备工作:主库:虚拟机名称host06 主机名:host06 IP:192.168.100.60 db_name&SID:ENMO db_unique_name:PROD 存储:文件系统 ...
- Oracle 11G DataGuard生产环境又一次启动具体过程
场景,重新启动数据库,不重新启动linux系统,所以不用考虑监听程序,#linux输入lsnrctl start1 数据库关闭1.1 关闭主库SHUTDOWN IMMEDIATE; SQL> ...
- Oracle 11g R2创建数据库之手工建库方式
在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...
- kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份
案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...
- Oracle 11g 异机恢复参考文档
原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...
随机推荐
- unity3d基础02
调试: 在MonoDevelop里可以断点调试,注意绑定unity进程 使用Debug.Log()打印信息 创建游戏对象: GameObject test = GameObject.CreatePri ...
- selectors实现高并发
1. 下面的例子,客户端给服务端发送消息,服务端把消息返回 server #!/usr/bin/env python import selectors import socket import tim ...
- php大力力 [030节] php设计系统后台菜单
php大力力 [030节] php设计系统后台菜单 2015-08-28 00:11 开始设计: 2015-08-28 01:29 设计完毕. php大力力 [030节] php设计系统后台菜单 1. ...
- coins_多重背包
ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...
- HDU5619 (费用流)
Problem Jam's Store (HDU5619) 题目大意 有m个服务员,和n个顾客,给出每个服务员招待每个顾客的时间,每个服务员在同一时间只能服务一个顾客,询问所有顾客完成服务的最少时间. ...
- dedecms SQL数据库连接信息注解(借鉴)
<?php $cfg_dbhost = 'localhost'; //数据库地址,这里的localhost指的是本机$cfg_dbname = 'hunuo'; //数据库名$cfg_dbuse ...
- linux监控nmon和analyser的使用
测试压力的时候使用linux一个简单的监控工具nmon,不仅可以实时监测,也可以生成文件以图标样式展现,小巧实用 安装nmon nmon实际上是个tarball直接解压到所要放置的目录,然后直接运行就 ...
- 配置Hadoop的Eclipse开发环境
前言 在先前的文章中,已经介绍了如何在Ubuntu Kylin操作系统下搭建Hadoop运行环境,而现在将在之前工作的基础上搭建Eclipse开发环境. 配置 开发环境:Eclipse 4.2 其他同 ...
- 二维数组的传输 (host <-> device)
前言 本文的目的很明确:介绍如何将二维数组传递进显存,以及如何将二维数组从显存传递回主机端. 实现步骤 1. 在显存中为二维数组开辟空间 2. 获取该二维数组在显存中的 pitch 值 (cudaMa ...
- JMS生产者+单线程发送-我们到底能走多远系列(29)
我们到底能走多远系列(29) 扯淡: “然后我俩各自一端/望着大河弯弯/终于敢放胆/嘻皮笑脸/面对/人生的难” --- <山丘> “迎着风/迎向远方的天空/路上也有艰难/也有那解 ...