建立DATAGUARD最大保护模式-测试手记

2023-05-16

建立DATAGUARD最大保护模式(自写)

(备注:本文档符合最大保护模式,所有参数均为最大保护模式下适用,其他模式不适用)

1、主库,启动归档,打开强制归档。

alter database archivelog;

alter database force logging;

2、创建standby日志。

alter database add standby logfile group 4 ('D:\oracle\product\10.2.0\oradata\orcl\standbyredo04.log') size 50m;

3、创建备库用的控制文件。

alter database create standby controlfile as 'd:\standbycontrol01.ctl';

4、创建pfile参数文件。

create pfile from spfile;

5、修改主库pfile参数文件。

增加以下内容:

    *.DB_UNIQUE_NAME='PRIMARY'

    *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)'

    *.LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\ARCH\ MANDATORY REOPEN=60 MAX_FAILURE=3 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRIMARY'

    *.LOG_ARCHIVE_DEST_2='SERVICE=STANDBY LGWR SYNC AFFIRM VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY'

    *.LOG_ARCHIVE_DEST_STATE_1=ENABLE

    *.LOG_ARCHIVE_DEST_STATE_2=ENABLE

    *.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

    *.LOG_ARCHIVE_FORMAT=ORCL_%T_%S_%R.ARC

    *.FAL_CLIENT = 'PRIMARY'

    *.FAL_SERVER = 'STANDBY'

*.STANDBY_FILE_MANAGEMENT =AUTO

pfile参数文件启动后,创建spfile文件,然后用spfile启动数据库。

6、修改主库listenernet解析配置文件。(这部分主要的目的是要保证两边数据库要互相能够登录,所以在启动DG之前,一定要用从各自主机上用sqlplus登录,尝试能不能登录,记得用sys用户登录要加上as sysdba,否则会报异常错误,由于备库会处于mount状态,经过验证,在mount下,动态注册监听会导致远程sqlplussys用户登录会报错,所以备库还是使用静态注册监听)(NET部分配置,可以使用NETCA来配置,只是从主库上建立到备库的连接时,由于没有启动或者处于mount状态,只能用sys用户来做测试,输入本地服务名主要和log_archive_dest_2中的service后面的服务名相关,要一样才能让主库进行解析,备库一样配置的目的,主要为了切换之后可以正常使用.

由于备库没有启动,所以用netca配置可能不灵光,还是推荐直接用配置文件的方式做。

listener.ora配置

    SID_LIST_LISTENER =

    (SID_LIST =

下增加: (SID_DESC =

        (SID_NAME = orcl)

        (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

        (PROGRAM = orcl)

        )

        就是增加一个静态监听注册,其实主库可以不这样配置,但是为了以后切换之后,可以正常使用,所以还是按照standby数据要求来配置。

tnsnames.ora配置

增加:

PRIMARY =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

STANDBY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.11)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

7、复制文件到备库:数据库数据文件,生成出来的控制文件,做好的pfile参数文件,日志文件,以及修改过的listener.oratnsnames.ora。这里和网上的不太一样,但是我推荐还是将联机日志文件全部复制到备库。

8、修改备库上的pfile文件

    *.DB_UNIQUE_NAME='STANDBY'

    *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)'

    *.LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\ARCH\ MANDATORY REOPEN=60 MAX_FAILURE=3 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY'

    *.LOG_ARCHIVE_DEST_2='SERVICE=PRIMARY LGWR SYNC AFFIRM VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRIMARY'

    *.LOG_ARCHIVE_DEST_STATE_1=ENABLE

    *.LOG_ARCHIVE_DEST_STATE_2=ENABLE

    *.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

    *.LOG_ARCHIVE_FORMAT=ORCL_%T_%S_%R.ARC

    *.FAL_CLIENT = 'STANDBY'

    *.FAL_SERVER = 'PRIMARY'

    *.STANDBY_FILE_MANAGEMENT =AUTO

9、检查listener.oratnsnames.ora文件配置是否正确,主要可能是目录不太一样。

10、将控制文件复制2份,复制到和主库一样的位置,并且文件名改成和主库一样的。

11、将数据文件复制到和主库一样的位置。

12、将修改好的pfile参数文件,复制到db_1\database下。

13、将listener.oratnsnames.ora复制到到db_1\network\admin下。

14、备库上的文件夹要创建和主库一样的。主要有D:\oracle\product\10.2.0\admin\orcl下的6个文件夹,D:\oracle\product\10.2.0\flash_recovery_areaD:\oracle\product\10.2.0\oradata下的数据文件存放文件夹及归档日志文件夹。

15pfilelistener.oratnsnames.ora修改检查复制完成,数据文件、联机日志文件及控制文件复制完成之后,可以开始了。

16、创建服务:oradim -new -sid orcl -startmode m

17、生成密码文件:orapwd file='D:\oracle\product\10.2.0\db_2\database\pwdorcl.ora' password=XXXX entris=5;

18、用pfile参数文件启动数据库到mount状态,创建spfile,然后用spfile重新启动到mount状态,由于在复制过来的时候,带过来了关于standby日志的配置,这里最好是删除之后重新建立:

alter database drop standby logfile group 4;

alter database add standby logfile group 4 ('D:\oracle\product\10.2.0\oradata\orcl\standbyredo04.log') size 50m;

19、启动备库中的redo实时应用:

alter database recover managed standby database using current logfile disconnect from session;

19、回到主库:

sqlplus来检查一下standby 数据库能不能正常登陆。记得用SYS用户登录,加上as sysdba

20、启动主库到mount状态,mount状态下修改主库到最大保护模式:

alter database set standby database to maximize protection;

21、启动正常,说明DG建立成功。

 

22、数据库切换

主库执行:

Alter database commit to switchover to phiscal standby with session shutdown;

Shutdown immediate

Startup mount

备库执行:

Alter databse commit to switchover to primary;

可能需要执行一下redo应用之后,才能切换

Alter databse recover managed standby database disconnect from session;

Alter databse commit to switchover to primary;

主要是备库切换过来之后,由于是双向都是最大保护,所以要备库能连接到主库,所以首先要在备库上执行sqlplus,看看能不能正常登录到主库,也有可能登录不上,那么有可能是主库的listener.ora的服务名不一样,将备库中tnsnames.ora中的service_name改成要主库一样的就可以了,这主要是因为主库和备库都配置了db_unique_name,listener.ora有netca配置的时候,可能会将db_unique_name配置为服务名,但是oracle_sid还是orcl,这个要务必注意。

总结 :

一、DG主要,是有参数文件的参数来确定,只要正确,建立一般没有问题,每种DG保护模式参数都不一样,不能套用。

二 、DG启动,则是有SQLPLUS命令来控制的,参数正确,命令执行就没有问题。

三、DG中的NET部分非常重要,很多错误可能会发生在NET配置部分,由于DB_UNIQUE_NAME的设立,可能会导致listener.ora中的配置和一般的不一样,也就是里面的服务名和oracle_sid 不一定是一样的,这点要注意,如果不一样,也需要改动太多,只要将对面的数据库(主库或者备库)中的tnsnames.ora中的service_name改成一样就可以了,尽量不要修改太多。


本 文档 已经经过3次验证,没有问题,如果有错误,一定要仔细看看参数是否正确,配置是否一致,NET部分是否支持相互正常登录。再三提醒,本文档中的参数,只适合DG最大保护模式,其他模式,可能需要更改.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9606200/viewspace-757947/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9606200/viewspace-757947/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

建立DATAGUARD最大保护模式-测试手记 的相关文章

  • C++ 一个简单的判断子网掩码是否有效的函数

    简介 子网掩码 subnet mask 又叫网络掩码 地址掩码 子网络遮罩 xff0c 它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网 xff0c 以及哪些位标识的是主机的位掩码 子网掩码不能单独存在 xff0c 它必须结合IP
  • css中块元素和内联元素有什么区别?

    块级元素和内联元素 xff0c 我想接触过CSS的朋友都有所了解 xff0c 但是在实际写CSS代码时却考虑的并不多 xff0c 我们无意中就已经按照块级元素和内联元素的规则进行布局样式了 我有时在想 xff0c 为什么要区别块级元素和内联
  • 用docker启动ubuntu的桌面环境

    在win10下使用了docker之后 xff0c 已经完全抛弃了之前虚拟机的开发方式 xff0c 在学习一些计算机视觉相关的内容时 xff0c 可能需要在图形化界面进行开发和调试 xff0c 所以尝试了下在dockerhub上搜索了下支持d
  • 使用Git Extensions直接push代码到Gerrit审核

    公司使用Gerrit代码审核 xff0c 本地push代码只能提交到refs for branch xff0c 所以使用git bash进行push时 xff0c 需要使用如下命令 git push origin HEAD refs for
  • C++避免变量重复定义

    C 43 43 小白选手 求轻拍 在A cpp B cpp文件中同时包含B h 这样的话在B h中的变量就会重复定义了 解决的办法是在B h中 变量前面加上extern关键字 在B cpp文件中再定义一次
  • 使用Eclipse编译运行MapReduce程序

    下载eclipse 64位 http eclipse bluemix net packages mars 1 JAVA LINUX64 解压到安装目录 安装 Hadoop Eclipse Plugin 要在 Eclipse 上编译和运行 M
  • 内部网盘phpdisk创建记录

    PHPDISK的这次创建是在PHPWIND8 7的基础上 xff0c 一起安装的 xff0c 所以单独安装PHPDISK所需要的RPM包就不需要再安装了 将PHPDISK解压缩后 xff0c UPLOAD文件夹里面的东西 xff0c 复制到
  • July 17th 模拟赛C T2 Number Solution

    空降题目处 外网 点我点我点我 空降题目处 内网 点我点我点我 Description 给出一个整数 xff0c 你可以对 进行两种操作 1 将x变成4x 43 3 2 将x变成8x 43 7 问 xff0c 最少通过多少次操作 xff0c
  • np.maximum vs np.minimum

    一直按照字面意思理解 xff0c 以为maxmum取最大值 examples 原来是有广播机制的 xff0e np maximum 取对应位置上的大值 xff0c np minimum 取对应位置上的较小值 xff0e import num
  • tensorflow通过模型文件,使用tensorboard查看其模型图Graph

    Google提供了一个工具 xff0c TensorBoard xff0c 它能以图表的方式分析你在训练过程中汇总的各种数据 xff0c 其中包括Graph结构 所以我们可以简单的写几行Pyhton xff0c 加载Graph xff0c
  • numpy中np.maximum的使用

    np maximum X Y out 61 None X和Y逐位进行比较 选择最大值 xff0c 最少接受两个参数 gt gt gt np maximum 2 3 4 1 5 2 array 2 5 4 gt gt gt np maximu
  • [svn]status命令

    wangyetao 64 linux u1604 LinuxRoom SVN FILE 个人空间 xx wangyetao 64 linux u1604 LinuxRoom SVN FILE 个人空间 xx svn help status
  • 维护型项目的管理

    最近 xff0c 一直在维护一个项目 项目很大 xff0c 有很多个系统相互配合 xff0c 且使用的语言也不一样 有JAVA写的系统 xff0c 有PHP写的 xff0c 各系统用的数据库也不一样 xff0c 还有一些我说不出来的技术 项
  • cas5.2.6 搭建cas服务端

    1 打包cas服务器端war包 下载cas overlay template 5 2 zip 1 1配置pom xml lt dependencies gt lt dependency gt lt groupId gt org apereo
  • PHP516 用phpize增加扩展PDO_OCI和OCI8

    环境 xff1a centos5 5 PHP5 1 6 oracle10 2 0 5 客户端 1 从oracle官网下载oracle客户端包 oracle instantclient basic 10 2 0 5 1 i386 rpm or
  • npm ERR! enoent This is related to npm not being able to find a file.解决

    一 问题描述 运行sudo npm install color name出现如下错误 xff1a npm ERR path root blog node modules color namenpm ERR code ENOENT npm E

随机推荐

  • ROS中最重要的变量$ROS_PACKAGE_PATH

    昨天刚成功安装了ardrone autonomy 和 tum ardrone xff0c 运行也是通过了 今天又尝试了一下昨天的命令 xff0c 结果发现tum ardrone居然又运行不了了 xff0c 郁闷 xff01 说是没有在环境变
  • 用TIKZ在LaTex中画图

    我之前是用Edraw max画图的 xff0c 但是有一个致命的问题就是在图上写字母的时候与图解释中不一致 xff0c 所以尝试了一下LaTex画图 xff0c 哎呀 xff0c 耗费我一下午的时间呀 首先导入包 xff1a usepack
  • NLP中三种特征抽取器的优与劣

    RNN LSTM GRU xff1a 缺点 xff08 1 xff09 xff1a 无法并行 xff0c 因此速度较慢 xff08 2 xff09 xff1a RNN无法很好地学习到全局的结构信息 xff0c 尤其对于序列结构很长的 CNN
  • python List中元素两两组合

    aa span class token operator 61 span span class token punctuation span span class token string 39 a 39 span span class t
  • JRE not compatible with project .class file compatibility: 1.7

    电脑上刚装了jdk1 7 xff0c 运行一般程序的时候没有出现什么问题 xff0c 由于内存不够用 xff0c 在设置虚拟内存时却出现问题 xff0c 如下 xff1a 还好找到了解决办法 xff0c 错误的原因是JRE库配置与Java
  • BufferedWriter 的 flush() 方法

    package com corpus import java io import java util List import edu stanford nlp ling HasWord import edu stanford nlp lin
  • 正则表达式匹配连续多个空格或tab空格

    Pattern p 61 Pattern compile 34 s 2 t 34 Matcher m 61 p matcher str String strNoBlank 61 m replaceAll 34 34 System out p
  • LaTex中插入花体字母

    特别要注意的是 xff1a 在LaTeX中 xff0c 别把希腊字母和英文的花体字母搞混哦 xff0c 哈哈 举个例子 xff1a 后面显示的 X 不是希腊字母 西 即 也就是说不能通过 Chi 的方式插入这个特殊符号 xff0c 正确的花
  • 气哭了的C++调试,cmake 找不到 eigen

    这才刚刚开头 xff0c 可是就是不知道错误在哪里 xff1f 百度了问题后 xff0c 打开了很多很多相关的解答 xff0c 从昨天上午遇到这个问题 xff0c 历经昨天下午和晚上 xff0c 还是错误 xff0c 终于在今天上午圆满解决
  • 对ORACLE SCN的理解

    1 SCN数值实际来源于系统的timestamp xff0c 这个实际可以证明 select current scn from v database select timestamp to scn sysdate from dual 这两个
  • Ubuntu 下 终端界面转图形界面

    在运行程序的时候 xff0c 错误的使用了快捷键 ctrl 43 alt 43 F10 然后 unbuntu就黑屏了 xff0c 整个界面只剩下左上角有一个白色的字符在闪 xff0c 然后 Ctrl 43 alt 43 F2时跳出终端的登录
  • python错误:TypeError: 'module' object is not callable

    TrainCorpusStructure py 文件中的代码如下 xff1a class TrainCorpusStructure inputs 61 Demo py中的代码如下 xff1a from corpusProcess impor
  • python 除法保留两位小数点

    span class hljs operator a span 61 span class hljs number 1 span b 61 span class hljs number 3 span print span class hlj
  • pytorch中contiguous()

    contiguous xff1a view只能用在contiguous的variable上 如果在view之前用了transpose permute等 xff0c 需要用contiguous 来返回一个contiguous copy 一种可
  • tensorflow中control_flow_ops.while_loop

    self h0 61 tf zeros self batch size self hidden dim self h0 61 tf stack self h0 self h0 相当于 h0和C0 generator on initial r
  • k8s基础

    目录 一 基本介绍 二 组件介绍 1 master组件 2 node组件 三 核心概念 1 Pod 2 controller 3 service 四 单master搭建集群 1 系统初始化 2 安装k8s核心组件 3 容器化安装其他插件 4
  • 论文解读:Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge

    这是关于VQA问题的第十二篇系列文章 这篇论文具有很强的指导意义 xff0c 本篇文章将介绍论文 xff1a 主要思想 xff1b 模型方法 xff1b 试验细节 有兴趣可以查看原文 xff1a Tips and Tricks for Vi
  • 总结2014——迷茫以及迷茫过后的坚持

    首先 xff0c 借用一句话和大家共勉 xff1a 少一些功利主义的追求 xff0c 多一些不为什么的坚持 xff01 xff01 不知不觉15年也快过了1个月了 xff0c 还是想着要为14年做一下总结 xff1a 记录一下自己的历程 今
  • 在faster rcnn中使用soft nms,faster rcnn的改进(一)

    1 背景介绍 我的项目是利用faster rcnn检测kiiti数据集 xff0c 用原始nms xff0c iters 61 10000的情况下 xff0c 得到的mAP 61 0 586 在改用soft nms后 xff0c 其他参数均
  • 建立DATAGUARD最大保护模式-测试手记

    建立DATAGUARD 最大保护模式 xff08 自写 xff09 xff08 备注 xff1a 本文档符合最大保护模式 xff0c 所有参数均为最大保护模式下适用 xff0c 其他模式不适用 xff09 1 主库 xff0c 启动归档 x