日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RAC+单实例DATAGUARD 配置

發布時間:2024/4/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。