RAC+单实例DATAGUARD 配置
(以下为作业内容)
1.配置一个基于归档日志的RAC到单节点standby的data guard,贴出主要的配置操作。
2.分别从RAC的两个节点切换日志,让归档传到standby,在standby上观察它是如何应用来自两个节点的归档日志的,
贴出观察到的结果。
=========================================================================
1. RAC+单实例DATAGUARD 配置情况:
RAC 两节点:
192.168.10.81 ract1
192.168.10.82 ract2
存储:ASM
DB_UNIQUE_NAME= tdb
实例:tdb1; tdb2;
DG:
192.168.10.85 racdg3
存储 :本地文件目录存储
数据库名: tdb
DB_UNIQUE_NAME=tdg;
一、RAC状态 (已配置完成)
1.ract1 /etc/hosts
--------------------------
#public ip
192.168.10.81 ract1
192.168.10.82 ract2
#priv ip
192.168.0.81 ract1-private
192.168.0.82 ract2-private
#vip ip
192.168.10.83 ract1-vip
192.168.10.84 ract2-vip
#scan ip
192.168.10.80 ract-scan
192.168.10.85 racdg3
2.RAC状态:
[root@ract1 ~]# /opt/app/grid/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.CRS.dg ora....up.type ONLINE ONLINE ract1
ora.DATA.dg ora....up.type ONLINE ONLINE ract1
ora....ER.lsnr ora....er.type ONLINE ONLINE ract1
ora....N1.lsnr ora....er.type ONLINE ONLINE ract1
ora....VERY.dg ora....up.type ONLINE ONLINE ract1
ora.asm ora.asm.type ONLINE ONLINE ract1
ora.eons ora.eons.type ONLINE ONLINE ract1
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE ract1
ora.oc4j ora.oc4j.type OFFLINE OFFLINE
ora.ons ora.ons.type ONLINE ONLINE ract1
ora....SM1.asm application ONLINE ONLINE ract1
ora....T1.lsnr application ONLINE ONLINE ract1
ora.ract1.gsd application OFFLINE OFFLINE
ora.ract1.ons application ONLINE ONLINE ract1
ora.ract1.vip ora....t1.type ONLINE ONLINE ract1
ora....SM2.asm application ONLINE ONLINE ract2
ora....T2.lsnr application ONLINE ONLINE ract2
ora.ract2.gsd application OFFLINE OFFLINE
ora.ract2.ons application ONLINE ONLINE ract2
ora.ract2.vip ora....t1.type ONLINE ONLINE ract2
ora....ry.acfs ora....fs.type ONLINE ONLINE ract1
ora.scan1.vip ora....ip.type ONLINE ONLINE ract1
ora.tdb.db ora....se.type ONLINE ONLINE ract1
---------------------------------------------------------
2.#STANDBY listener.ora
# listener.ora Network Configuration File: /opt/app/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = tdg)
(ORACLE_HOME = /opt/app/oracle/product/11.2.0)
(SID_NAME = tdg)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.85)(PORT = 1521))
)
)
#STANDBY 端的 SID_NAME,SID_NAME 设置和PRIMARY 端的 一致。
-----------------------------------------------------------------------
3. tnsnames.ora
[oracle@ractdg3 dbs]$ cat ../network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/app/oracle/product/11.2.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
tdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.81)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.82)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = tdb)
(FAILOVER_MODE =
(TYPE = session)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
)
tdb1 =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.81)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = tdb)
)
)
tdb2 =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.82)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = tdb)
)
)
tdg =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= 192.168.10.85)(PORT=1521))
(CONNECT_DATA =
(SERVICE_NAME = tdg)
)
)
#STANDBY 端的 SERVICE_NAME 和PRIMARY 设置成一致。
---------------------------------------------------------------------
二、配置DATAGUARD相关参数:
2.1.配置参数:
SQL> alter system set log_archive_config='DG_CONFIG=(tdg,tdb)';
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
System altered.
SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
System altered.
SQL> ALTER SYSTEM SET FAL_SERVER=tdg;
System altered.
SQL> alter system set FAL_CLIENT=tdb;
System altered.
SQL>
SQL> alter system set standby_file_management=auto;
System altered.
SQL>
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
#添加STANDBY LOGFILE:
select group#,THREAD#,l.MEMBERS,l.STATUS from v$log l
alter database add STANDBY logfile thread 1 group 5 ;
alter database add STANDBY logfile thread 1 group 6 ;
alter database add STANDBY logfile thread 1 group 7 ;
alter database add STANDBY logfile thread 2 group 8 ;
alter database add STANDBY logfile thread 2 group 9 ;
alter database add STANDBY logfile thread 2 group 10 ;
#2.2 生成pfile,并修改。
SQL> create pfile='/tmp/inittdb.ora' from spfile;
File created.
并修改PFILE,添加以下内容:
*.db_file_name_convert='/opt/app/oracle/oradata/tdg','+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg/tempfile','+DATA/tdb/tempfile'
*.LOG_FILE_NAME_CONVERT='/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog' ,'+RECOVERY/tdb/archivelog'
(注:这里有个错误后面有介绍:'+RECOVERY/tdb/archivelog')
#2.3创建控制文件 :
SQL> alter database create standby controlfile as '/tmp/control01.ctl';
Database altered.
#2.4创建密码文件
[oracle@ract1 ~]$ orapwd file=/tmp/orapwtdg.ora password=sa force=y ignorecase=y
#2.5把文件拷贝到ractdg3 服务器:
scp /tmp/orapwtdg.ora ractdg3:/opt/app/oracle/product/11.2.0/dbs/orapwtdg.ora
scp /tmp/inittdb.ora ractdg3:/tmp/inittdb.ora
scp /tmp/control01.ctl ractdg3:/opt/app/oracle/oradata/tdg/control01.ctl
scp /tmp/control01.ctl ractdg3:/opt/app/oracle/flash_recovery_area/tdg/control02.ctl
(拷贝文件 前建立相关目录:/opt/app/oracle/oradata/tdg,/opt/app/oracle/flash_recovery_area/tdg)
#2.6添加以下内容
*.db_file_name_convert='+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg','+DATA/tdb/tempfile','/opt/app/oracle/oradata/tdg/tempfile'
*.LOG_FILE_NAME_CONVERT='+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+RECOVERY/tdb/archivelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog'
(这里有个错误,因为'+RECOVERY/tdb/archivelog' 这个,搞得RMAN复制数据时,出错了,弄了一天。
正确为: '+RECOVERY/tdb/onlinelog' 这里同步的是在线重做日志,而不是归档日志。)
修改前PRIMARY 端的pfile
[oracle@ract1 dbs]$ cat /tmp/inittdb.ora
tdb1.__db_cache_size=1476395008
tdb2.__db_cache_size=1476395008
tdb1.__java_pool_size=16777216
tdb2.__java_pool_size=16777216
tdb1.__large_pool_size=16777216
tdb2.__large_pool_size=16777216
tdb1.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
tdb2.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
tdb1.__pga_aggregate_target=1375731712
tdb2.__pga_aggregate_target=1375731712
tdb1.__sga_target=2030043136
tdb2.__sga_target=2030043136
tdb1.__shared_io_pool_size=0
tdb2.__shared_io_pool_size=0
tdb1.__shared_pool_size=503316480
tdb2.__shared_pool_size=503316480
tdb1.__streams_pool_size=0
tdb2.__streams_pool_size=0
*.audit_file_dest='/opt/app/oracle/admin/tdb/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='+DATA/tdb/controlfile/current.256.823282229','+RECOVERY/tdb/controlfile/current.256.823282237'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_name_convert='tdg','tdb'
*.db_name='tdb'
*.db_recovery_file_dest='+RECOVERY'
*.db_recovery_file_dest_size=10485760000
*.diagnostic_dest='/opt/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tdbXDB)'
*.fal_client='tdb'
*.fal_server='tdg'
tdb1.instance_number=1
tdb2.instance_number=2
*.db_file_name_convert='/opt/app/oracle/oradata/tdg','+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg/tempfile','+DATA/tdb/tempfile'
*.LOG_FILE_NAME_CONVERT='/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog' ,'+RECOVERY/tdb/onlinelog'
*.log_archive_config='DG_CONFIG=(tdg,tdb)'
*.log_archive_dest_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=30
*.log_file_name_convert='tdg','tdb'
*.memory_target=3401580544
*.open_cursors=300
*.processes=150
*.remote_listener='ract-scan:1521'
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
tdb2.thread=2
tdb1.thread=1
tdb1.undo_tablespace='UNDOTBS1'
tdb2.undo_tablespace='UNDOTBS2'
修改后STANDBY 端的pfile参数如下:
[oracle@ractdg3 dbs]$ cat /tmp/inittdb.ora
tdg.__db_cache_size=1476395008
tdg.__java_pool_size=16777216
tdg.__large_pool_size=16777216
tdg.__oracle_base='/opt/app/oracle'#ORACLE_BASE set from environment
tdg.__pga_aggregate_target=1375731712
tdg.__sga_target=2030043136
tdg.__shared_io_pool_size=0
tdg.__shared_pool_size=503316480
tdg.__streams_pool_size=0
*.audit_file_dest='/opt/app/oracle/admin/tdg/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/opt/app/oracle/oradata/tdg/control01.ctl','/opt/app/oracle/flash_recovery_area/tdg/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='/opt/app/oracle/oradata'
*.db_domain=''
*.db_file_name_convert='tdb','tdg'
*.db_name='tdb'
*.db_recovery_file_dest='/opt/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=10485760000
*.diagnostic_dest='/opt/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tdbXDB)'
*.fal_client='tdg'
*.fal_server='tdb1','tdb2'
*.db_file_name_convert='+DATA/tdb/datafile','/opt/app/oracle/oradata/tdg','+DATA/tdb/tempfile','/opt/app/oracle/oradata/tdg/tempfile'
*.LOG_FILE_NAME_CONVERT='+DATA/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog','+RECOVERY/tdb/onlinelog','/opt/app/oracle/flash_recovery_area/tdg/onlinelog'
*.log_archive_config='DG_CONFIG=(tdg,tdb)'
*.log_archive_dest_2='SERVICE=tdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tdg'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=30
*.log_file_name_convert='tdg','tdb'
*.memory_target=3401580544
*.open_cursors=300
*.processes=150
*.remote_listener='ract-scan:1521'
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
thread=1
undo_tablespace='UNDOTBS1'
#2.7 在STANDBY 端
SQL> create spfile from pfile='/tmp/inittdb.ora';
File created.
SQL> startup nomount;
#2.8复制数据库
[oracle@ract1 dbs]$ rman target sys/sa@tdb auxiliary sys/sa@tdg nocatalog
rman>duplicate target database for standby from active database nofilenamecheck;
#2.9 启动备库
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile='/opt/app/oracle/product/11.2.0/dbs/inittdg.ora';
File created.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 2042241024 bytes
Fixed Size 1337548 bytes
Variable Size 553649972 bytes
Database Buffers 1476395008 bytes
Redo Buffers 10858496 bytes
SQL> alter database mount standby database;
Database altered.
SQL> alter database recover managed standby database disconnect from session;
Database altered.
# 开启STANDBY 数据库
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
#启用STANDBY数据库,进入RECOVER模式:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
#启动到只读模式:
alter database open read only;
#转换到REAL-TIME模式下:
--alter database recover managed standby database cancel;
--ALTER DATABASE OPEN;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT from session;
#2.10检查状态:
#PRIMARY 端:
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ------------------------------------------------
127 INACTIVE
128 CURRENT
29 INACTIVE
30 CURRENT
SQL>
#STANDBY 端
SQL> select archived_thread#,archived_seq#,APPLIED_THREAD#,APPLIED_SEQ# from v$archive_dest_status;
ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ#
---------------- ------------- --------------- ------------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 127 1 127
#RAC PRIMARY 端: 另一个节点插入数据并切换日志:
SQL> insert into test values(5);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> select sequence#,status from v$log;
SEQUENCE# STATUS
---------- ------------------------------------------------
127 INACTIVE
128 CURRENT
31 CURRENT
30 ACTIVE
SQL> /
#STANDBY 端
SQL> select archived_thread#,archived_seq#,APPLIED_THREAD#,APPLIED_SEQ# from v$archive_dest_status;
ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ#
---------------- ------------- --------------- ------------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2 30 2 30
RAC+单实例DATAGUARD 配置相关推荐
- 正式生产库,配置双节点的RAC + 单实例的 DATAGUARD
正式生产库,配置DATAGUARD RAC+单实例DATAGUARD 配置 RAC 两节点: 192.1.0.101 rac1 192.1.0.102 rac2 存储:ASM D ...
- RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理
RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理 PRIMARY: RAC 双节点 ,存储:ASM STANDBY: 单实例 存储: ASM 单实例 数据库 ...
- oracle rac实例切换,RAC+单实例DG的切换
RAC+单实例DG的切换 RAC+单实例DG的搭建过程 之前切换不成功,和参数设置有关.注意的参数是sid=* 之类的,刚搭建好的环境 racdbdg是单实例的,是备库,rac节点是主库. 搭建完毕, ...
- oracle 10g rac 配置物理dataguard系列4,配置 Oracle 10g 单实例物理dataguard和逻辑standby...
rac的结构和单实例结构配置转换方面可能就是逻辑standby在配置时需要注意CLUSTER_DATABASE这个参数,其他都是一样的[@more@] [oracle@yl254-20 ~]$ mor ...
- Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)
实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...
- oracle单实例通过dataguard迁移到RAC 转
原文链接,防止链接过去,内容拷贝如下:http://www.bkjia.com/oracle/949585.html One instance primary to RAC standbyDataGu ...
- GoldenGate配置实例:RHEL 4.7下的Oracle 10g RAC到单实例的单向同步(一)
环境 源端是一个RAC rac1 rac2: RHEL 4u7 + ORACLE 10.2.0.4 + ASM rac1 外网IP 192.168.47.241 虚拟IP 192.168.47.243 ...
- GG 单实例10g 到 11g RAC 搭建配置
GG 单实例10g 到 11g RAC 搭建配置 环境: 10g 单实例 10.2.1 11g RAC 11.2.3 目标RAC: oracle用户 vim .bash_profile ...
- 【Oracle RAC+DG实验】Oracle RAC+ASM+DataGuard配置实验记录+常见问题
[Oracle RAC+DG实验]Oracle RAC+ASM+DataGuard配置实验记录+常见问题 1.环境规划: ---RAC环境介绍(primary database) ...
最新文章
- CNN可视化最新研究方法进展(附结构、算法)
- shell input value from console
- 【NLP】一行Python代码中自动化文本处理
- OAuth 2.0协议在SAP产品中的应用
- 前端学习(2056):初识vue.js
- 在unity 中,使用http请求,下载文件到可读可写路径
- http与https的有什么不同
- ADO.NET与抽水的故事 系列三——抽水机—Command
- javascript call 详细解答与实践
- Gibbs 采样的应用
- 技本功丨呀~我不会写CSS之width:auto!!!
- 经典语音降噪方法-谱减法
- 淘宝运营 DSR评分太低的影响 用补单的方法具体操作步骤,提高DSR评分
- 用.NET开发MSN聊天机器人(转载)
- 用计算机计算勾股定理,勾股计算器(勾股定理计算器)
- win32 WaitCommEvent
- 【6G】基于 Dyncast 的算力网络架构
- 软件测试职业生涯规划
- 算法进化历程之剪刀石头布
- 【Python】 plt.savefig保存图片时一片空白
热门文章
- 硬件加速会使电脑黑屏吗?
- 下载华为交换机MIB参考文件并使用snmpwalk获取OID信息
- leetcode 将包含 n 个元素的数组向右旋转 k 步
- Java集合框架上机练习题:用户分别从两个文本框输入学生的姓名和分数.............
- Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题
- java-final关键字
- 开发时对业务技术框架的理解
- C#中的 隐式与显式接口实现
- 如何学习Linux性能优化?
- Mac下的Mysql无法登陆的问题