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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle物理DG管理-redo数据传输,应用与三种模式

發(fā)布時間:2024/8/26 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle物理DG管理-redo数据传输,应用与三种模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

環(huán)境http://blog.csdn.net/sunziyue/article/details/50799648基礎(chǔ)之上

1學(xué)習(xí)配置參數(shù)

下列參數(shù)為primary 角色相關(guān)

*.db_name='orcl'???? ???????//注意Guard Data中所有數(shù)據(jù)庫DB_NAME應(yīng)該一致;

*.db_unique_name='orcldg'??//配置有效的db_unique_name列表,且負(fù)責(zé)主備驗(yàn)證內(nèi)容;

*.log_archive_config='dg_config=(orcl,orcldg)' //同一個Guard Data中所有數(shù)據(jù)庫的db_unique_name;

*.log_archive_dest_1='location=/u01/app/oracle/archivelogvalid_for=(all_logfiles,all_roles) ?db_unique_name=orcldg'? ??//本地歸檔文件路徑;

*.log_archive_dest_2='service=orcl?lgwr sync affirm ?valid_for=(online_logfiles,primary_role)? db_unique_name=orcl' ???//遠(yuǎn)程歸檔文件路徑,負(fù)責(zé)傳輸重做等;

service:遠(yuǎn)程備庫網(wǎng)絡(luò)服務(wù)名

lgwr或者arch: ?lgwr或者arch進(jìn)程傳輸主庫的redo數(shù)據(jù)

sync或者async:?同步或者異步傳輸

affirm與noaffirm: affirm表示只有當(dāng)日志寫入standby重做日志后才算日志傳輸成功,noaffirm則沒有這個要求;

reopen:主數(shù)據(jù)庫重新連接備庫的時間

net_timeout:當(dāng)采用sync傳輸模式時,超過多少秒則表示網(wǎng)路超時(默認(rèn)為30s),建議設(shè)置改參數(shù);

valid_for:定義使用log_archive_dest_n參數(shù)歸檔,控制主備庫是否可以歸檔在線日志文件或者歸檔備用日志文件,有如下子參數(shù):

? ? ? ? ? ? ? ? ?online_logfile:僅歸檔聯(lián)機(jī)日志文件

? ? ? ? ? ? ? ? ?standby_logfile:歸檔備用日志文件

? ? ? ? ? ? ? ? ?all_logfiles:歸檔所有日志文件

? ? ? ? ? ? ? ? ?primary_role:在主角色起作用

? ? ? ? ? ? ? ? ?standby_role:在備角色起作用

? ? ? ? ? ? ? ? ?all_roles:在所有角色起作用

compression:傳送中進(jìn)行壓縮,

delay:在備庫延遲應(yīng)用redo的時間(秒/單位)

*.log_archive_dest_state_1=enable? //控制相關(guān)歸檔路徑是否生效;

*.log_archive_dest_state_2=enable? //控制相關(guān)歸檔路徑是否生效;

*.log_archive_max_processes=10?? //歸檔進(jìn)程數(shù)量;

以下參數(shù)為主庫轉(zhuǎn)為standby 角色時相關(guān)的參數(shù)

*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcldg'

*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcldg' ? ??//當(dāng)備庫和主庫文件不同,彼此切換主備的時候使用該參數(shù)轉(zhuǎn)換;

*.fal_server=orcl???? //用于管理歸檔中斷,FAL(fetch archive log),響應(yīng)傳輸歸檔的庫;

*.fal_client=orcldg??

*.standby_file_management=auto//如果主庫數(shù)據(jù)文件發(fā)生某些修改,是否自動同步到備庫;

2三種模式

比較項(xiàng)

最大保護(hù)

最高可用

最大性能

Redo寫或傳輸進(jìn)程

lgwr

lgwr

lgwr或者arch

網(wǎng)絡(luò)傳輸模式

sync

sync

sync或者async

是否落盤確認(rèn)

affirm

affirm

affirm或者noaffirm

standby redologs

需要

需要

可有可無

(1)設(shè)置參數(shù)位置

主庫log_archive_dest_n參數(shù)設(shè)置

示例:*.log_archive_dest_2='service=orcl ?lgwr sync affirm

valid_for=(online_logfiles,primary_role)? db_unique_name=orcl'

(2)重要參數(shù)分析

arch:只支持最大性能模式。歸檔日志通過primary上的arch進(jìn)程傳送給standby的rfs進(jìn)程,保存到指定路徑(如果有standby redo logfile,則保存到該位置,然后再歸檔),然后redo應(yīng)用。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?( 圖片來自互聯(lián)網(wǎng))

lgwr:primary使用LGWR即時將日志傳送到standby的rfs進(jìn)程,并保存到standby redo logfile中,而不再需要等到歸檔操作時才傳送,保存到standbyredo logfile,然后再歸檔,然后redo應(yīng)用。

用LGWR傳輸大致如下:

1)主庫:只要有新的重做日志產(chǎn)生,lgwr進(jìn)程將觸發(fā)LNSn進(jìn)程把新生成的日志傳輸給備庫rfs進(jìn)程。

2)備庫:rfs進(jìn)程接收到日志后,將其寫入standby重做日志,如果備庫開啟了實(shí)時應(yīng)用,就立即做日志應(yīng)用,如果沒有開啟,則等standby重做日志歸檔后再應(yīng)用。

3)其中,async和sync的區(qū)別在于:sync是在redo還在內(nèi)存時,LNSn進(jìn)程就開始傳輸,而async是在redo寫到online redo log后,LNSn才開始傳輸。

同步的實(shí)時性來看,lgwr(sync) > lgwr(async)> arch

sync模式下,主庫產(chǎn)生任何redo時,同時馬上觸發(fā)網(wǎng)絡(luò)傳輸給備庫RFS進(jìn)程;?


async模式下,主庫產(chǎn)生redo時,先寫到本地online redo logfile文件中,LNSn進(jìn)程從online redo logfile文件中取redo數(shù)據(jù)網(wǎng)絡(luò)傳輸給備庫RFS進(jìn)程。


(3)模式切換

首次performance>>availability>>protection順序需要在主庫執(zhí)行且主庫必須處于mount狀態(tài);

如果已經(jīng)由performance>> availability>>protection數(shù)據(jù)保護(hù)級別操作過1次,那么再次操作時可直接操作;

protection>>availability>>performance順序直接操作即可

主備庫操作:SQL>select database_role,protection_mode,protection_level from v$database;

主庫更改log_archive_dest_n參數(shù)配置,如:

SQL>alter system set log_archive_dest_2='service=orcldg lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=orcldg';

主庫操作:SQL> shutdown immediate;

備庫操作:alter database recover managed standby database cancel;

主庫操作:SQL>startup mount;

主庫操作:SQL>alter database set standby database to maximize availability;

主庫操作:SQL>alter database open

完成。

問題

當(dāng)切換為alter database set standby database to maximize protection;之后alter database open報(bào)錯

alter database open

*

ERROR at line 1:

ORA-03113: end-of-file on communication channel

Process ID: 10711

Session ID: 1 Serial number: 5

解決:讀alert_orcl.log,我這里是備庫端監(jiān)聽沒有啟動,啟動了問題就解決了。

Fatal NI connect error 12541, connecting to:

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=orcldg)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcldg)(CID=(PROGRAM=oracle)(HOST=orcldg)(USER=oracle))))

? VERSION INFORMATION:

????? TNS for Linux: Version 11.2.0.4.0 - Production

????? TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production

? Time: 08-MAR-2016 21:14:11

? Tracing not turned on.

? Tns error struct:

??? ns main err code: 12541

TNS-12541: TNS:no listener

??? ns secondary err code: 12560

??? nt main err code: 511

TNS-00511: No listener

??? nt secondary err code: 111

??? nt OS err code: 0

***********************************************************************

3備庫怎樣應(yīng)用redo數(shù)據(jù)

啟動實(shí)時應(yīng)用://備庫MRP進(jìn)程直接讀取standbyredo logfile應(yīng)用

? ? ? ? ? ? ? ? ? ? ? ? ? ?alter database recover managed standby database using current logfile disconnect from session;

取消實(shí)時應(yīng)用:alter database recover managed standby database cancel;

延遲應(yīng)用數(shù)據(jù):

? ? ? ? ? ? ? ? ?主庫*.log_archive_dest_2='service=orcl…'參數(shù)中指定delay屬性(如果備庫實(shí)時應(yīng)用redo數(shù)據(jù),delay則不起作用)

? ? ? ? ? ? ? ? ?備庫配置:alter database recover managed standby database delay 10 disconnect from session;//舉例

取消延時應(yīng)用數(shù)據(jù):alter database recover managed standby database nodelay;

備庫啟動遇到問題

SQL> startup

ORA-10458: standby database requires recovery

ORA-01196: file 1 is inconsistent due to a failed media recovery session

ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'

原因是由于某些redo沒有傳輸?shù)絺鋷?#xff0c;可能落后了很多歸檔文件

處理:

1)備庫查詢:SQL>select process,client_process,sequence#,status from v$managed_standby;//定位正在應(yīng)用的日志文件

select max(sequence#) from v$archived_log;

2)主庫查詢:SQL> select process,client_process,sequence#,status from v$managed_standby;//查詢主庫當(dāng)前寫到的日志文件

select max(sequence#) from v$archived_log;

3)對比備庫與主庫之間的待傳輸應(yīng)用日志文件,從主庫拷貝到備庫歸檔路徑

4)備庫注冊

ALTER DATABASE REGISTER PHYSICAL LOGFILE '/u01/app/oracle/archivelog/xxx.dbf' ;

5)備庫應(yīng)用redo

alter database recover managed standby database disconnect from session;

即可。

?

總結(jié)

以上是生活随笔為你收集整理的oracle物理DG管理-redo数据传输,应用与三种模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。