查看当前数据库的角色,可以看v$database视图的database_role列。switchover不会丢数据,failover,如果主库不是在最大包含模式或是最高可用性模式,一些数据可能会丢失。

为角色转换做准备

1确认初始化参数设置正确

2验证备库在archivelog模式

3确保备库上的临时文件盒主库上的临时文件匹配

4确保在rac配置中只有1个实例启动,在角色转换完成后,在启动别的实例

为角色转换选择一个目标数据库,dg提供了一个v$dataguard_stats视图,这个视图可以评估每个备库的可用性,角色转换需要的时间。例如:

SQL> COLUMN NAME FORMAT A18
SQL> COLUMN VALUE FORMAT A16
SQL> COLUMN UNIT FORMAT A10
SQL> COLUMN TIME_COMPUTED FORMAT A24
SQL> SELECT * FROM V$DATAGUARD_STATS;
NAME               VALUE            UNIT       TIME_COMPUTED
------------------ ---------------- ---------- ------------------------
apply finish time  +00 00:00:02.4   day(2) to  15-MAY-2005 10:32:49
       second(1)
       interval
apply lag          +00 0:00:04      day(2) to  15-MAY-2005 10:32:49
       second(0)
       interval
transport lag      +00 00:00:00     day(2) to  15-MAY-2005 10:32:49
       second(0)
       interval

这个例子中,没有传输的延迟,日志应用没有应用过去4秒产生的日志,需要花费2.4秒来完成日志的应用。如果在配置中有物理备库与逻辑备库,那么考虑选择一个物理备库来作为目标备库,在转换完成后,对新的主库来说,配置中所有的数据库作为备库都可用。如果是转换到一个逻辑备库上,那么之前的物理备库都不可用了,你需要用新的主库的备份来重新创建物理备库,才使它们能重新可用。

switchover

一个switchover有2个步骤,第一个步骤,主库转成备库,第二部,备库转成主库。下面是一个示例:

这个是转换过程中,此时是有2个备库的,没有主库。

这时候完成了转换

failovers

如果备库当前运行在最大包含模式,首先将备库转变成最大性能模式

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

在物理备库上的转换

1确认可以转换

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO STANDBY
1 row selected
2在主库上初始化switchover,在主库上执行下面的语句啦转换成物理备库

ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;执行该语句后,主库转换成备库,在转换之前当前控制文件备份到当前会话的trace文件中。这样可以重建一个当前控制文件。

3关闭及重启之前的主服务,启动到mount状态

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;

在这个时间点,2个数据库都是备库

4在v$database 视图中验证转换的状态

在你转换主库到物理备库的角色后,转换的通知被备库接受到,你应该验证转换通知已经被备库处理了,查看下面的语句。

SELECT SWITCHOVER_STATUS FROM V$DATABASE;

5转换物理备库到主库角色

当备库在mount状态或是在只读状态打开状态,你可以转换物理备库到主库角色。在想要转换的物理备库上执行下面的语句:

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

6完成备库到主库的转换过程

1如果物理备库还没有打开,执行下面的语句来打开新的主库

alter database open;

2如果物理备库咋最后一次开始已经打开过了,你必须先关闭,在打开

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;

7在物理备库上重启日志应用服务

对新的物理备库和别的物理备库与逻辑备库,如果日志应用服务之前没有被配置好,那么使用命令来重新启动日志应用服务。

8开始传输日志到备库,在新主库上执行下面的语句。

SQL> ALTER SYSTEM SWITCH LOGFILE;

逻辑库上的角色转换

1在主库上验证是否可以switchover

SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO STANDBY
1 row selected

2准备当前的主库来switchover

在主库上执行下面的语句

ALTER DATABASE PREPARE TO SWITCHOVER TO LOGICAL STANDBY;

这个语句通知当前主库很快要变成了逻辑备库,开始在新主库接受redo数据,这步准备接收logminer多版本的数据字典在当前逻辑备库的redo流中。

如果这个操作成功了,在v$database.switchover_status列中显示PREPARING SWITCHOVER 这个值

3为了switchover准备目标逻辑备库

在目标逻辑备库中执行下面的语句来构建logminer 多版本数据字典。

ALTER DATABASE PREPARE TO SWITCHOVER TO PRIMARY;

这个语句是逻辑备库开始传输日志服务,开始传输它的redo数据到当前的主库和别的备库上,但是这些站点只是接受redo数据,但是不会去应用它。

4确认当前主库准备好了未来主库的redo流

确认主库接受到了logminer多版本数据字典,在主库上查询v$database的switchover_status视图,没有接受到数据字典,转换就不能进行,当返回to logical standby值,你可以做第5步。

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO LOGICAL STANDBY
1 row selected
5转换主库到逻辑备库

ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY;
6确认逻辑被库准备转换成主库

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO PRIMARY
1 row selected
7换成逻辑备库到主库

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
8在新逻辑备库上执行sql apply

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;

dataguard之角色转换相关推荐

  1. Oracle Data Guard 的角色转换

    实验环境:OEL+Oracle11.2.0.3+physical standby 众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方 ...

  2. Data Guard 转载 ⑼ .逻辑standby(3)角色转换

    转自:http://www.blogjava.net/wxqxs/archive/2009/02/25/260737.html 第三部分逻辑standby(3)角色转换  2008.02.22     ...

  3. ORACLE 11G Data Guard 角色转换

    1,ORACLE Dataguard角色切换 DataGuard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方式和异步延迟的传递方式,甚至可以成为远程的异地容 ...

  4. Oracle Data Guard 角色转换

    实验环境:OEL+Oracle11.2.0.3+physical standby 众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方 ...

  5. Oracle 11g Data Guard 之角色转换

    1.1 简介 Data Guard配置包括1个primary角色的数据库和1个或者多个standby角色的数据库,数据库的角色我们可以通过V$DATABASE中DATABASE_ROLE字段来获得. ...

  6. 技术到管理岗位的角色转换:从优秀骨干到优秀管理者

    技术到管理岗位的角色转换:从优秀骨干到优秀管理者 作者:王珺之 前言 目前,我国企业95%的中层管理者都是从技术骨干提拔上来的,有相当一部分从技术骨干提拔上来的新任管理者都存在着诸多的困惑和问题.比如 ...

  7. 团队管理9--新经理角色认知和角色转换

    本文来谈一下我对新经理角色认知和角色转换的理解,希望对大家有启发. 咱们撇开新经理,先谈点别的.假如你刚步入大学,从一名高中生,踏过高考的独木桥,拼杀到大学校园,此时的你对于自己的角色认知和角色转换是 ...

  8. Oracle 11g Data Guard 之逻辑备库角色转换

    逻辑备库不复制数据库服务,在进行switchover或者failover时,连接主库服务的中间层将不能连接(因为服务的创建没有被复制),或者连接不正确的版本(因为服务属性的修改没有被复制). Orac ...

  9. DG - 逻辑standby角色转换

    逻辑standby之switchover 要在primary和逻辑standby之间切换角色,一般是从操作primary开始. 提示:如果primary或逻辑standby是rac结构,切记只保留一个 ...

最新文章

  1. 【中级软考】PV操作是什么?(passeren【通过、申请资源、减量】、vrijgeven【释放、释放资源、增量】【荷兰文】)(用于进程间同步)
  2. Alpha冲刺(8/10)
  3. webpack.config.js和package.json
  4. threading注意点(python 版)
  5. html文本框最小数字,HTML5中的数字类型的输入框:数字选择器
  6. 重名剔除(Deduplicate)
  7. Java中用split函数进行分割字符串。
  8. 色差(color diffference)在不同颜色空间下的计算方式
  9. linux实验2 vi编译器的使用
  10. BAT常见的20道Java面试题详解,完整版开放免费下载!
  11. 【https】 1 HTTP Security (bb102-1)
  12. pc station v15 博图_博图的pcstation是做什么的?和wincc有什么区别?怎么使用?-工业支持中心-西门子中国...
  13. html5做在线课件,HTML5教程:制作移动教育课件
  14. 站点(e.g. Hexo Blog)提交百度搜索引擎收录实现SEO
  15. 小赛毛游C记-初识C语言(2)
  16. 前端 js 微信 支付二维码
  17. 为网页中的图片添加水印的效果
  18. HTTP-PATCH请求
  19. Dubbo 配置http协议
  20. 数据存储领域的“归档Archive”

热门文章

  1. PHP环境搭建(Window操作系统,使用phpstudy)
  2. HTML和CSS写的简易网页
  3. ftp文件服务器连接超时,ftp服务器连接成功 获取文件超时
  4. Win10笔记本常见问题及解决办法
  5. 金山pdf批注更改批注作者_Linux上的PDF批注工具
  6. 2017 年 9 月26 日
  7. Spring执行流程
  8. Set与List转换
  9. 基本的python内置函数str(x)_Python内置函数(12)——str
  10. 阿里云OSS上传文件详细步骤