RAC+单实例DATAGUARD 配置
来源:互联网 发布:软件oem 编辑:程序博客网 时间:2024/05/16 11:02
(以下为作业内容)
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到单实例
- oracle 单实例+文件管理 +dataguard ---------------------》》 oracle rac+asm+ dataguard
- 正式生产库,配置双节点的RAC + 单实例的 DATAGUARD
- ORACLE 11g rac+单实例数据库构建dataguard
- oracle单实例通过dataguard 迁移到RAC
- 11g RAC to 单实例 dataguard ASM TO ASM
- 使用dataguard将单实例数据库转换为rac数据库
- oracle rac与oracle单实例做dataguard
- 【DataGuard安装】RAC环境用DataGuard同步到单实例环境
- 【DataGuard安装】Oracle单实例到RAC用duplicate active database做DataGuard之一
- 【DataGuard安装】Oracle单实例到RAC用duplicate active database做DataGuard之二
- Oracle12c_为RAC配置DATAGUARD
- oracle单实例、RAC监听配置
- rac与单实例ogg同步配置
- Oracle 11G 通过 duplicate 配置单实例DataGuard
- 主库为oracle 10G ASM RAC,备库为单实例ASM的DATAGUARD
- Unity粒子系统组件主要参数浅析(附带火焰粒子demo)!
- activiti图表元素解析<五>
- 题目1500:出操队形
- Apache的请求处理
- hdu 1873 看病要排队(优先队列)
- RAC+单实例DATAGUARD 配置
- DOS命令操作mysql
- JAVA集合总结
- hive 元数据
- PIC 学习---软件延时的具体时间测试方法
- (step4.1.4)hdu 2178(猜数字——逆向应用二分法)
- I/gps_gsd4e( 100): in RMC, fixStatus=V I/gps_gsd4e( 100): gps fd event end I/gps_gsd4e( 100): gps
- Hibernate HQL查询中对日期的查询操作总结
- Android开发Camera类照相机,前后摄像头切换,分辨率读取和调节