[Oracle][DATAGUARD]关于REDO_TRANSPORT_USER参数
大家可能已经知道,在Oracle的DATAGUARD(这里指的是PHYSICAL STANDBY)环境中,Primary端会把生成的REDO传到Standby端,然后由Standby端的MRP进程应用该Redo,以达到同期效果。
首先,REDO_TRANSPORT_USER参数的意义如下:
http://docs.oracle.com/database/122/REFRN/REDO_TRANSPORT_USER.htm#REFRN10269
REDO_TRANSPORT_USER
specifies the name of the user whose password verifier is used when a remote login password file is used for redo transport authentication.
This user must have the SYSDBA
or SYSOPER
privilege。。。
翻译过来就是,Standby端使用密码认证来保证REDO传输认证的话,利用指定的REDO_TRANSPORT_USER来进行认证。
手册上写着,REDO_TRANSPORT_USER用户需要有SYSDBA
或者 SYSOPER
权限。
但是通过实际测试来看,只有SYSDBA是不行的,必须有SYSOPEN权限才行。
测试的时候使用的是12.2的DATAGUARD环境。
关于REDO_TRANSPORT_USER这个参数,也可以看看这个Mos 文档
Troubleshooting ORA-16191 and ORA-1017/ORA-1031 in Data Guard Log Transport Services or Data Guard Broker (Doc ID 1368170.1)
=============
6. If you have setup the 'REDO_TRANSPORT_USER'-Initialization Parameter to a certain User,
this User must be granted the 'SYSOPER'-Role and the Setting for this Parameter must be the same on the Primary and all Standby Databases.
=============
简单的测试如下:
Test Case
------------------
▼Primary:ORCL
--create password file(12.2)
cd $ORACLE_HOME/dbs
orapwd file=orapworcl format=12.2 password=ora_1234 force=y
--create user
create user ORASYS identified by ora_1234;
create user ORAOPER identified by ora_1234;
grant CONNECT,SYSDBA to ORASYS;
grant CONNECT,SYSOPER to ORAOPER;
--check if the user created can connect to database.
sqlplus SYS/"ora_1234@orcl as SYSDBA"
sqlplus ORASYS/"ora_1234@orcl as SYSDBA"
sqlplus ORAOPER/"ora_1234@orcl as SYSOPER"
--check V$PWFILE_USERS
col USERNAME format a7
select USERNAME,SYSDBA,SYSOPER from V$PWFILE_USERS where USERNAME like 'ORA%';
USERNAM SYSDB SYSOP
------- ----- -----
ORASYS TRUE FALSE <<<<<ORASYS user does not have SYSOPER Role
ORAOPER FALSE TRUE <<<<<ORAOPER user have SYSOPER Role
■create dataguard
▼Standby:ORCLST
--check V$PWFILE_USERS
col USERNAME format a7
select USERNAME,SYSDBA,SYSOPER from V$PWFILE_USERS where USERNAME like 'ORA%';
USERNAM SYSDB SYSOP
------- ----- -----
ORASYS TRUE FALSE
ORAOPER FALSE TRUE
--check if the user created can connect to database
sqlplus SYS/"ora_1234@orclst as SYSDBA"
sqlplus ORASYS/"ora_1234@orclst as SYSDBA"
sqlplus ORAOPER/"ora_1234@orclst as SYSOPER"
--SYS(default) REDO transportation
▼Primary:ORCL
create table scott.test(id number);
insert into scott.test values(1);
commit;
alter system archive log current;
▼Standby:ORCLST
select count(*) from scott.test;
=> REDO transportation was fine.
--SYSDBA[ORASYS] REDO transportation
▼Primary:ORCL
alter system set REDO_TRANSPORT_USER=ORASYS scope=spfile;
shutdown immediate
▼Standby:ORCLST
alter system set REDO_TRANSPORT_USER=ORASYS;
▼Primary:ORCL
startup
insert into scott.test values(1);
commit;
alter system archive log current;
▼Standby:ORCLST
select count(*) from scott.test;
-- REDO transportation failed on ORA-16191
-- You can see ORA-16191 from alert log of Primary.
--SYSOPER[ORAOPER] REDO transportation
▼Primary:ORCL
alter system set REDO_TRANSPORT_USER=ORAOPER scope=spfile;
shutdown immediate
▼Standby:ORCLST
alter system set REDO_TRANSPORT_USER=ORAOPER;
▼Primary:ORCL
startup
▼Standby:ORCLST
select count(*) from scott.test;
=> REDO transportation was fine.
▼Primary:ORCL
insert into scott.test values(1);
commit;
alter system archive log current;
▼Standby:ORCLST
select count(*) from scott.test;
=> REDO transportation was fine.
[Oracle][DATAGUARD]关于REDO_TRANSPORT_USER参数的更多相关文章
- Oracle Dataguard之switchover
Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...
- Oracle Dataguard之Real-Time Apply
Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...
- Oracle Dataguard之物理standby的基本配置
尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...
- Oracle DataGuard 物理Standby 搭建(上)
物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...
- Oracle DataGuard搭建(一)
第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...
- Oracle DataGuard数据备份方案详解
Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...
- Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]
Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...
- 9. Oracle DataGuard的介绍
一. Oracle DataGuard简介 Oracle DataGuard:简称DG.是由一个Primary Database(主库)和一个或者多个Standby Database(备库)组成.对O ...
- oracle DataGuard 主从 踩过坑的
一.主机描述 dbprimary: 192.168.1.57 主机名称db1 dbstandby: 192.168.1.58 主机名成db2 SID: orcl 二.配置tns,配置好的文 ...
随机推荐
- Oracle错误——tablespace 'XXXX' does not exist
错误 在使用IMP命令导入Oracle数据的时候,因为导出数据的数据库表空间和导入数据的数据库表空间不同,导致导入数据失败,出现:tablespace 'XXXX' does not exist 在网 ...
- Lesson 01-Linux安装及基础命令
.Linux安装(略)2.基础命令 cd 切换目录 /home 切换到home目录 . 代表当前目录 .. 代表切换到当前目录的上级目录 ~ 代表切换到用户家目录 空 代表切换到用户家目录 - 代表切 ...
- Java基础学习-关键字的概述和特点以及常量的概述和分类
1.关键字概述 -被Java语言赋予特定含义的单词 2.关键字的特点 -组成关键字的字母全部小写 -常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要死记硬 ...
- EvansClassification
EvansClassification In his excellent book Domain Driven Design, Eric Evans creates a classification ...
- C# Post 参数中的特殊符号处理
https://cloud.tencent.com/developer/article/1344673 http://blog.csdn.net/henulwj/article/details/791 ...
- Vue小项目二手书商城:(五)参考资料
本项目基于vue2.5.2,如有错误,望指正. 完整程序:https://github.com/M-M-Monica/bukesi Vue.js官方文档:https://cn.vuejs.org/v2 ...
- App 打包
记录一下: 1. applicationIdSuffix 实现不同 ApplicationId 打包,buildTypes 中添加编译后会成功生成加对应后缀的ApplicationId.在 produ ...
- leecode第二百一十七题(存在重复元素)
class Solution { public: bool containsDuplicate(vector<int>& nums) { set<int> s; for ...
- 学习笔记70—Photoshop画齿轮
具体步骤如下: 1)选择多边形工具: 2)设置齿轮个数及颜色相应参数: 3)画出模型: 4)找到上图模型的中心 (借助:ctrl + T),选择椭圆工具,并 长按Shift+Alt, 画出圆: 5) ...
- 搭建日志收集系统时使用客户端连接etcd遇到的问题
问题: 在做日志收集系统时使用到etcd,其中server端在linux上,首先安装第三方包(windows)(安装过程可能会有问题,我遇到的是连接谷歌官网请求超时,如果已经出现下面的两个文件夹并且文 ...