使用RAC和Data Guard构建MAA架构
在前面的單實(shí)例數(shù)據(jù)庫(kù)遷移至rac環(huán)境配置過(guò)程中,介紹了使用standby技術(shù)構(gòu)建單實(shí)例主庫(kù)對(duì)應(yīng)rac物理備庫(kù)的data guard模型,本節(jié)中將介紹rac主庫(kù)對(duì)應(yīng)單實(shí)例物理備庫(kù)的data guard模型構(gòu)建;在MAA架構(gòu)中,ASM提供了存儲(chǔ)方面的網(wǎng)格,RAC提供了數(shù)據(jù)庫(kù)層面上的網(wǎng)格計(jì)算,data guard則著重強(qiáng)調(diào)在數(shù)據(jù)的備份和容災(zāi)方面,更多MAA方面的知識(shí),參考下面的鏈接!
http://www.oracle.com/technetwork/database/features/availability/maa-090890.html
一:主備庫(kù)的環(huán)境介紹
主庫(kù):
數(shù)據(jù)庫(kù)版本:10.2.0.5
OS版本:centos4.8 64位
數(shù)據(jù)庫(kù)名:rac(兩個(gè)實(shí)例)
實(shí)例名:rac1,rac2
IP地址:192.168.1.41/24,192.168.1.42/24
db_unique_name: rac
服務(wù)名:rac.yang.com
監(jiān)聽(tīng)器端口:1521
存儲(chǔ)類型:OMF+ASM磁盤(pán)組,+DATA,+FRA
備庫(kù):
數(shù)據(jù)庫(kù)版本:10.2.0.5
OS版本:rhel5.4 64位
數(shù)據(jù)庫(kù)名:rac (單實(shí)例)
實(shí)例名:orcl
IP地址:192.168.1.49/24
db_unique_name: orcl
服務(wù)名:orcl.yang.com
監(jiān)聽(tīng)器端口:1521
存儲(chǔ)類型:文件系統(tǒng)+OMF
在開(kāi)始前確保主庫(kù)rac環(huán)境正常,備庫(kù)只需要安裝數(shù)據(jù)庫(kù)軟件即可,不需要建庫(kù)
| [oracle@rac1 ~]$ crs_stat -t -v Name?????????? Type?????????? R/RA?? F/FT?? Target??? State???? Host???????? ---------------------------------------------------------------------- ora.rac.db???? application??? 0/0??? 0/1??? ONLINE??? ONLINE??? rac1???????? ora....c1.inst application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora....c2.inst application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac2???????? ora....SM1.asm application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora....C1.lsnr application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora.rac1.gsd?? application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora.rac1.ons?? application??? 0/3??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora.rac1.vip?? application??? 0/0??? 0/0??? ONLINE??? ONLINE??? rac1???????? ora....SM2.asm application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac2???????? ora....C2.lsnr application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac2???????? ora.rac2.gsd?? application??? 0/5??? 0/0??? ONLINE??? ONLINE??? rac2???????? ora.rac2.ons?? application??? 0/3??? 0/0??? ONLINE??? ONLINE??? rac2???????? ora.rac2.vip?? application??? 0/0??? 0/0??? ONLINE??? ONLINE??? rac2? |
| [oracle@rac1 ~]$ cat $ORACLE_HOME/network/admin/listener.ora? SID_LIST_LISTENER_RAC1 = [oracle@rac1 ~]$ sqlplus?sys/123456@192.168.1.41:1521/rac_DGMGRL.yang.com?as sysdba Connected to: [oracle@rac1 ~]$ cat $ORACLE_HOME/admin/tnsnames.ora? LISTENER_RAC1 = LISTENER_RAC2 = RAC = RAC1 = RAC2 = ORCL = |
| [oracle@server49 ~]$ cat /u01/app/oracle/product/10.2.0/db1/network/admin/listener.ora? SID_LIST_LISTENER_ORCL = [oracle@server49 ~]$ cat /u01/app/oracle/product/10.2.0/db1/network/admin/tnsnames.ora? RAC = RAC1 = RAC2 = ORCL = |
| [oracle@rac1 ~]$ sqlplus /nolog SQL> alter database force logging; SQL> alter system set log_file_name_convert='+FLASH/rac','/u01/app/oracle/flash_recover_area/orcl','+DATA/rac','/u01/app/oracle/oradata/orcl' scope=spfile; SQL> alter system set db_file_name_convert='+DATA/rac','/u01/app/oracle/oradata/orcl' scope=spfile; SQL> alter system set dg_broker_config_file1='+DATA/rac/dgbroker/dg_config_file1.dat'; SQL> alter system set dg_broker_config_file2='+FRA/rac/dgbroker/dg_config_file2.dat'; SQL> alter system set fal_client='rac1' sid='rac1'; SQL> alter system set fal_client='rac2' sid='rac2'; SQL> alter system set fal_server='orcl'; SQL> alter system set local_listener='LISTENER_RAC1' sid='rac1'; SQL> alter system set local_listener='LISTENER_RAC2' sid='rac2'; SQL> alter system set log_archive_config='DG_CONFIG=(rac,orcl)'; SQL> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac'; SQL> alter system set log_archive_dest_state_2='defer'; SQL> alter system set log_archive_dest_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'; SQL> alter system set log_archive_dest_3='LOCATION=+FRA/rac/standbylog/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=rac'; SQL> alter system set log_archive_dest_state_1=enable; SQL> alter system set log_archive_dest_state_3=enable; SQL> alter system set log_archive_max_processes=5; SQL> alter system set remote_listener='LISTENERS_RAC'; SQL> alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile; SQL> alter system set standby_archive_dest='+FRA/rac/standbylog'; SQL> alter system set standby_file_management='auto'; |
| SQL> create pfile='/home/oracle/backup/initrac.ora' from spfile; SQL> select thread#,group# from v$log; ?? THREAD#???? GROUP# SQL> alter database add standby logfile thread 1 group 11 size 50M,group 12 size 50M,group 13 size 50M; SQL> alter database add standby logfile thread 2 group 14 size 50M,group 15 size 50M,group 16 size 50M; SQL> select thread#,group# from v$standby_log; ?? THREAD#???? GROUP# |
| [oracle@rac1 ~]$ rman target / RMAN> run { RMAN> backup current controlfile for standby format '/home/oracle/backup/control01.ctl'; |
| [oracle@server49 orcl]$ env |grep ORA [oracle@server49 orcl]$ pwd [oracle@server49 ~]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=123456 [oracle@server49 ~]$ sqlplus /nolog SQL> conn /as sysdba Total System Global Area? 213909504 bytes SQL> create spfile from pfile='/home/oracle/backup/initrac.ora'; [oracle@server49 ~]$ rman target?sys/123456@rac?auxiliary / connected to target database: RAC (DBID=2360349352) RMAN> duplicate target database for standby; RMAN> report schema; using target database control file instead of recovery catalog List of Permanent Datafiles |
| SQL> show parameter name; NAME???????????????????????????????? TYPE??????? VALUE NAME???????????????????????????????? TYPE??????? VALUE SQL> archive log list; RMAN> restore archivelog all; [oracle@server49 ~]$ ls /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2012_01_12/
??? GROUP# MEMBER SQL> alter system set standby_file_management=manual; SQL> alter database rename file '+FRA/rac/onlinelog/group_2.306.772367347' to '/u01/app/oracle/oradata/ORCL/onlinelog/group_2.306.772367347'; SQL> select member from v$logfile; MEMBER SQL> alter system set standby_file_management=auto; |
| SQL> select name,database_role from v$database; NAME????? DATABASE_ROLE SQL> alter database recover managed standby database using current logfile disconnect from session; [oracle@server49 ~]$ tail -f /u01/app/oracle/admin/orcl/bdump/alert_orcl.log? SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log order by 5,3; FIRST_TIME????????? NEXT_TIME??????????? SEQUENCE# APP??? THREAD# FIRST_TIME????????? NEXT_TIME??????????? SEQUENCE# APP??? THREAD# FIRST_TIME????????? NEXT_TIME??????????? SEQUENCE# APP??? THREAD# |
| [oracle@rac1 ~]$ sqlplus?sys/123456@rac?as sysdba Connected to: SQL> create tablespace maa datafile size 100M; SQL> create table hr.maa_test tablespace maa as select * from dba_source; SQL> alter system archive log current; SQL> alter system set log_archive_dest_state_2=enable; SQL> alter system archive log current; SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log? where sequence# >10 order by 5,3; FIRST_TIME????????? NEXT_TIME??????????? SEQUENCE# APP??? THREAD# 節(jié)點(diǎn)1: 節(jié)點(diǎn)2: SQL> alter database recover managed standby database cancel; SQL> alter database open read only; SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME SQL> select count(*) from hr.maa_test; ? COUNT(*) SQL> alter database recover managed standby database using current logfile disconnect from session; SQL> select * from v$archive_gap; SQL> select process, client_process, sequence#, status from v$managed_standby; PROCESS?? CLIENT_P? SEQUENCE# STATUS PROCESS?? CLIENT_P? SEQUENCE# STATUS SQL> select thread#, max (sequence#) from v$log_history group by thread#; ?? THREAD# MAX(SEQUENCE#) 備庫(kù)上相關(guān)的文件如下: [oracle@server49 ~]$ ls /u01/app/oracle/oradata/ORCL/controlfile/ |
參考文檔:http://www.oracledba.org/10g/dr/10gR2_dataguard_RAC_to_RAC.html,感謝作者分享!
本文轉(zhuǎn)自斬月博客51CTO博客,原文鏈接http://blog.51cto.com/ylw6006/762927如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
ylw6006
總結(jié)
以上是生活随笔為你收集整理的使用RAC和Data Guard构建MAA架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2017年------阿里大神带你详解D
- 下一篇: 白马股有哪些 有哪些白马股