a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 204|回复: 4

[其他] Oracle认证:虚拟机上Oracle10gDataGuard的配置详解

[复制链接]
发表于 2012-8-4 13:41:06 | 显示全部楼层 |阅读模式
 在Oracle数据库中,DataGuard最主要的功能就是容灾。它可以分为物理STANDBY和逻辑STANDBY两种。物理STANDBY主要用在主库的归档日志方面;逻辑STANDBY主要应用的是主库的归档日志提取的SQL语句。本文主要论述的是DataGuard在虚拟机上的配置,包括STANDBY参数的文件的相关配置等。 & `4 }0 C  K$ i, r( u- I8 `2 o& C
  1.环境准备 " l9 d& X- a/ l8 S$ w$ `+ Q8 C& _
  虚拟机版本:VMware GSX
' J0 [9 Z3 G& o- x) Z( v% e- [7 q  操作系统 :redhat linux 4 1 A! N2 o. s/ F8 F# j: D8 \7 T/ `
  Primary主机 & }/ y" g; o: v% y/ x
  ip:192.168.111.131
# _+ W# C1 G# E9 E  db_name:wellcomm 3 d5 i: U: F* K" J4 \! S
  db_unique_name:wellcomm / k7 F) B" }) g0 ]3 w- i
  ip:192.168.111.131
  T) `4 b5 ]2 G9 O/ \  }  db_name:wellcomm 4 f( Q# ~+ S$ p7 C- }+ ~9 G5 x7 e) }
  db_unique_name:wellcommb % y8 E1 i8 w; v$ F, Q. p
  2.设置Primary主机为force logging模式 , U% W/ \3 Q: ?# g
  alter database force logging; # @- ?+ E+ ?' X* O% B0 T! O
  3.在Primary 上面创建备用日志(为切换而用) 2 F* z  O! a* r
  alter database add standby logfile group 4 ('/u01/oracle/oradata/wellcomm/stdredo01.log') size 50m;
3 B. O+ w9 E. f1 v  alter database add standby logfile group 5 ('/u01/oracle/oradata/wellcomm/stdredo02.log') size 50m; / j/ e6 P/ f, |. B
  alter database add standby logfile group 6 ('/u01/oracle/oradata/wellcomm/stdredo03.log') size 50m;
回复

使用道具 举报

 楼主| 发表于 2012-8-4 13:41:07 | 显示全部楼层

Oracle认证:虚拟机上Oracle10gDataGuard的配置详解

  4.修改primary库的参数
& P0 r% z6 i8 q! x3 r2 `  alter system set db_unique_name='wellcomm' scope=spfile; 9 h+ g8 A  z. K5 c$ r3 ?* n; l
  alter system set log_archive_config='DG_CONFIG=(wellcomm,wellcommb)';
6 O' V% ^, f; h  alter system set log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcomm/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcomm';
! u2 i# l( g2 b$ b, N, b  alter system set log_archive_dest_2='SERVICE=wellcommb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcommb';
! a" `- ]2 S6 F$ y' R) v4 h  alter system set log_archive_dest_state_1=enable;
1 @/ c& b8 Y9 t2 }0 X  alter system set log_archive_dest_state_2=enable;
* p- Y4 F8 S* g3 n1 `' A. S8 a. K  alter system set log_archive_max_processes=10;
8 A7 h9 S, r, h- f1 v6 ?, P( O& ^+ k  5.克隆Primary数据库 " w5 l1 G2 R" P+ J3 S/ q
  shutdown immediate 7 U+ v/ R' k& x/ Q5 W9 p! x
  startup mount
. p2 q# W; L) q  backup database;
% Y& L5 J; ^6 l  创建standby的控制文件
3 q6 {. ]! m: i# H3 @! ?5 \  alter database create standby controlfile as '/u01/oracle/controlbak.ctl'; / u& {. Z3 D. G; K
  创建standby的参数文件并按standby主机的配置修改 5 ]. a9 R9 T0 ^) J1 y$ r
  create pfile='/u01/oracle/initwellcommb.ora' from spfile; # _" f1 U6 s6 @8 o/ M2 s+ k
  6.在standby主机上恢复数据库(rman方式); " ?  Y* G$ Z( r' B* y
  将5步的文件拷备到对应位置(ftp) / ~( {. u( I- d5 }0 Z% N9 m
  startup mount pfile=''; ) G: w" u, o: f4 o
  修改参数文件 1 u/ a  y- `  g5 s
  db_name='ora10g1' # }, l0 w; `; F% |. f0 |+ N" b2 `
  db_unique_name='ora10g3' - I5 i8 w7 z, ~6 b+ V
  log_archive_config='DG_CONFIG=(wellcomm,wellcommb)' 4 S. y  \$ t7 V$ Z/ K( w
  log_archive_dest_1='LOCATION=/u01/oracle/oradata/wellcommb/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wellcommb' log_archive_dest_2='SERVICE=wellcomm LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wellcomm' 4 R! }" h% G) [/ T9 p
  log_archive_dest_state_1=enable
/ Y- l' ^) m6 [7 o. E5 K, r( @5 u  log_archive_dest_state_2=enable 1 I4 b5 i% F% o' Y+ @7 Q' a
  remote_login_passwordfile='EXCLUSIVE' % Z& k0 B9 Y$ c
  log_archive_max_processes=10   restore database;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 13:41:08 | 显示全部楼层

Oracle认证:虚拟机上Oracle10gDataGuard的配置详解

7.监听配置和tns服务配置
( }' M) R5 E6 c, v7 X6 i: W6 k  (1)primary 主机上配置
% e) `! V5 G! t: U, H( s& h  listener.ora文件内容如下: 0 D" Y0 x: M' `) y- O
  SID_LIST_LISTENER =
5 j$ |* Q9 Q7 `( w& w% p! H  (SID_LIST =
. N8 ?& S) n7 h* L% V  (SID_DESC = 3 L, b" J7 B' [3 S
  (GLOBAL_DBNAME = wellcomm )
& ~0 o! i/ H1 o  u& `# K* B  (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1) 3 [* c% G7 a2 a8 T8 J( @
  (SID_NAME = wellcomm )
$ J& k. c9 i* ~% a& g4 e  )
& {( t9 W6 {4 ?( \  ) ( B. [5 H! z  s: h
  LISTENER = % O; w+ ~5 X: A5 S
  (DESCRIPTION_LIST =
6 \% H  \- V2 r2 \8 o/ M( F  (DESCRIPTION = - q6 d+ u/ b" H0 y; V
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521))
( ^( {! x  T7 X" o+ {' B0 t  ) " b6 P& p; B% K' J1 t! X  Z
  ) ! h) N3 _, p8 y  T* a
  tnsnames.ora文件内容如下: 0 c& q7 f' p& t) d
  WELLCOMM = 9 G' P# a: F' ~  i8 x3 ^
  (DESCRIPTION =
4 s; @4 B0 W/ ]% X  (ADDRESS = (PROTOCOL = TCP)(HOST = wangwang)(PORT = 1521))
+ Z9 T- q# l$ A  (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = wellcomm) ) ) WELLCOMMB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521))
  ?/ E. @. ]- P/ W& [/ X" o5 q  (CONNECT_DATA = " p: l. I* p9 Q2 f% y
  (SERVER = DEDICATED)
* @& z9 W5 J# _4 v  (SERVICE_NAME = wellcommb)
' e. d, K6 v4 g! ?* r  )
# M( H  ^0 B# S# C: P  ) . k3 ?( v9 y$ {0 m
  (2)在standby主机上配置
% [- M7 u5 \! @$ C& r  listener.ora文件内容如下:
6 Z. a; F/ Z' W  SID_LIST_LISTENER = 4 ?/ V8 l2 l, I1 X/ q
  (SID_LIST = " \! a/ d" m2 n. g
  (SID_DESC =
+ L) G! r& a5 v! |+ w3 O  (GLOBAL_DBNAME = wellcommb)
* m# [1 x; U( `  P  (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1) : O7 d, V9 e0 z8 Z* d' r# n$ ]
  (SID_NAME = wellcommb)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 13:41:09 | 显示全部楼层

Oracle认证:虚拟机上Oracle10gDataGuard的配置详解

  ) / N' k1 g/ P2 _7 C8 o9 V
  )
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 13:41:10 | 显示全部楼层

Oracle认证:虚拟机上Oracle10gDataGuard的配置详解

  LISTENER = 3 y& D# r9 c; d; \- n0 g) j1 k
  (DESCRIPTION_LIST =
0 R% M5 B' P4 G5 W& W4 E' ?  (DESCRIPTION = ( Z6 m5 Z( v$ w/ D( K
  (ADDRESS = (PROTOCOL = TCP)(HOST = wangkang)(PORT = 1521))
& W+ _7 ~7 S# e/ O7 u9 \  )
6 X" p7 |; e1 ]# J0 t  )
0 E# ]. F1 _, S+ {) y( F% Z  tnsnames.ora文件内容如下:
4 f6 t, d5 w! o" i$ ^6 F9 l  WELLCOMM = $ f* E7 S# g) @
  (DESCRIPTION =
' L( F. n. q. U' \1 O  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.131)(PORT = 1521)) . n8 ]+ k" M- r+ d- _
  (CONNECT_DATA = ( `; b: X/ Z% j! G: u+ o
  (SERVICE = DEDICATED) 5 W7 p0 _, u9 `' U9 W
  (SERVICE_NAME = wellcomm)
# C8 V" F3 e+ Y3 D; |  ) 8 W. z/ u* w1 E) h/ L! d  ~1 U
  ) 4 {. d: A; S' m
  WELLCOMMB =
+ u! ~9 u3 _7 }5 j  (DESCRIPTION = 0 Q: ^9 @1 o9 l6 _# T) p$ x
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.132)(PORT = 1521)) 6 n4 X6 Y! W" J- @1 N8 P9 L
  (CONNECT_DATA = 3 o# g' q, ?  K* I
  (SERVER = DEDICATED ) , Y/ j8 |( w1 ]" M4 {0 j
  (SERVICE_NAME = wellcommb) $ o- A" a9 d. C2 O
  ) 3 i- t4 d( A& _  t
  )
( |5 f; l: ?% g: H  重启监听
+ P8 q$ [# y( Q+ b  lsnrctl stop   x" ^" S6 a, [9 a- T
  lsnrctl start + w/ Z3 y: T( Y  K1 @+ _
  8.在standby主机上启动应用redo
" x' M( L& u7 A" D1 A$ z. o* v+ m" I0 ^  alter database recover managed standby database disconnect from session;
/ I5 t+ _2 ^& |: c- J: N  (取消:alter database recover managed standby database cancel;) / `5 \8 J; Z# Z/ W
  9.确认从Primary到Standby的Redo传输及应用 , I3 s. @8 G. u& v# a
  (1)在Primary主机上执行日志文件切换(最好多次)
; {$ y  F' N( O2 C% I1 i  alter system switch logfile; $ C; \. Q# A& q0 h, ]2 S
  (2)查询Primary的归档日志
+ |3 `  Z1 _* C2 j, G) D( q  select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;
' q3 y- `, p! T3 B  (3)查询Standby的归档日志及其应用
; Q4 m+ ~% @* M' C) H" h% r  select sequence#,applied,first_time,next_time from v$archived_log order by sequence#;   注意applied字段显示YES则表明该归档日志已被standby数据库应用了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 14:32 , Processed in 0.159344 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表