亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle 給rac創建單實例dg并做主從切換功能

2020-07-26 13:26:21
字體:
來源:轉載
供稿:網友

一、概述

本文將介紹如何給rac搭建單節點的dg,以及如何對其進行角色轉換。預先具備的知識(rac搭建,單實例-單實例dg搭建)

二、實驗環境介紹

主庫rac(已安裝rac,并已有數據庫orcl)

rac1:192.168.56.11,sid1:orcl1,version:11.2.0.4rac2:192.168.56.12,sid2:orcl2,version:11.2.0.4

從庫(已安裝單實例數據庫軟件,無數據庫實例)

oradg:192.168.56.102,sid:orcldg,version:11.2.0.4

三、搭建dg

** 以下所有主庫操作都在節點1上做,如果需要在節點2上做的,我會標明

1. 主庫打開歸檔模式,并強制寫日志

先查看數據庫的歸檔狀態以及是否開啟強制寫日志,從下圖可以看到目前數據庫并沒有打開歸檔,也沒有開啟強制寫日志

SQL> select log_mode, force_logging from v$database;

數據庫在mount狀態下打開歸檔

SQL> alter system set log_archive_dest_1='location=+data' sid='*' scope=spfile;SQL> shutdown immediate; # 兩節點都關閉SQL> startup mount; # 只開啟節點1SQL> alter database archivelog;SQL> alter database open;

強制日志寫,數據庫在open狀態就能修改

SQL> alter database force logging;SQL> startup; # 當節點1open完畢后,在節點2上打開數據庫

再來查看數據庫的歸檔狀態以及是否開啟強制寫日志

SQL> select log_mode, force_logging from v$database;

2. 主庫打開dataguard開關

SQL> alter system set log_archive_config='dg_config=(orcl,orcldg)' sid='*'; # orcl是主庫的db_unique_name,orcldg是從庫的db_unique_name

3. 主庫設置遠程歸檔

SQL> alter system set log_archive_dest_3='service=orcldg valid_for=(online_logfiles,primary_role) db_unique_name=orcldg' sid='*';

4. 將主庫的口令文件傳送給從庫

[oracle@rac1 ~]$ scp $ORACLE_HOME/dbs/orapw$ORACLE_SID 192.168.56.102:$ORACLE_HOME/dbs/orapworcldg

5. 從庫準備參數文件

這里參數文件跟給單實例搭建單實例dg沒什么區別,所以不做具體介紹

[root@oradg ~]# vi $ORACLE_HOME/dbs/initorcldg.ora*.audit_file_dest='/u01/app/oracle/admin/orcldg/adump'*.audit_trail='db'*.compatible='11.2.0.4.0'*.control_files='/u01/app/oracle/oradata/orcldg/controlfile/control01.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.diagnostic_dest='/u01/app/oracle'*.log_archive_config='dg_config=(orcl,orcldg)'*.log_archive_dest_2='location=/u01/app/oracle/oradata/orcldg/archstdlog/ valid_for=(standby_logfiles,standby_role) db_unique_name=orcldg'*.memory_target=838860800*.open_cursors=300*.processes=150*.remote_login_passwordfile='exclusive'*.undo_tablespace='UNDOTBS1'standby_file_management=auto # 該參數默認值是manual,需要將其改為auto,表示主庫的數據文件發生修改(如新建,重命名等),相應地從庫也做相應修改db_unique_name='orcldg'db_file_name_convert='+DATA/orcl/datafile/','/u01/app/oracle/oradata/orcldg/datafile/','+DATA/orcl/tempfile/','/u01/app/oracle/oradata/orcldg/tempfile/'log_file_name_convert='+DATA/orcl/onlinelog/','/u01/app/oracle/oradata/orcldg/onlinelog/'

6. 從庫中準備相關目錄

[oracle@oradg ~]$ mkdir -p /u01/app/oracle/admin/orcldg/adump[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/controlfile[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/archstdlog[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/datafile[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/tempfile[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/onlinelog

7. 啟動從庫實例

[oracle@oradg ~]$ export ORACLE_SID=orcldg[oracle@oradg ~]$ sqlplus / as sysdbaSQL> create spfile from pfile;SQL> startup nomount

8. 從庫配置并啟動監聽程序

因為采用duplicate方式復制主庫數據,所以需要將從庫配置為靜態注冊的形式

[oracle@oradg ~]$ vi $ORACLE_HOME/network/admin/listener.oraSID_LIST_LISTENER = (SID_LIST = (SID_DESC =  (GLOBAL_DBNAME = orcldg)  (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)  (SID_NAME = orcldg) ) )LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521)) )[oracle@oradg ~]$ lsnrctl start

9. 主庫配置服務命名

# 兩個節點都要設置[oracle@rac1 ~]$ vi $ORACLE_HOME/network/admin/tnsnames.oraorcldg = (DESCRIPTION = (ADDRESS_LIST =  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.102)(PORT = 1521)) ) (CONNECT_DATA =  (SERVER = DEDICATED)  (SERVICE_NAME = orcldg) ) ) [oracle@rac2 ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora

內容跟rac1一致,略

10. 主庫使用網絡連接從庫(測試連通性)

# 這里我的主庫的sys密碼是123456,從庫與主庫一致[oracle@rac1 ~]$ sqlplus sys/123456@orcldg as sysdba

11. 在主庫啟動rman復制從庫

rman連接主庫和從庫

[oracle@rac1 ~]$ rman target / auxiliary sys/123456@orcldgRMAN> duplicate target database for standby from active database;

12. 從庫添加standbylog

添加的日志大小跟主庫的onlinelog保持一致,數量多兩組(主庫的onlinelog信息查看v$log)

group的編號不與當前的onlinelog重復即可

[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/standbylog/  SQL> alter database add standby logfile group 21 '/u01/app/oracle/oradata/orcldg/standbylog/std01.log' size 50M;SQL> alter database add standby logfile group 22 '/u01/app/oracle/oradata/orcldg/standbylog/std02.log' size 50M;SQL> alter database add standby logfile group 23 '/u01/app/oracle/oradata/orcldg/standbylog/std03.log' size 50M;SQL> alter database add standby logfile group 24 '/u01/app/oracle/oradata/orcldg/standbylog/std04.log' size 50M;SQL> alter database add standby logfile group 25 '/u01/app/oracle/oradata/orcldg/standbylog/std05.log' size 50M;SQL> alter database add standby logfile group 26 '/u01/app/oracle/oradata/orcldg/standbylog/std06.log' size 50M;

13. 從庫打開應用日志

SQL> alter database recover managed standby database disconnect from session;

14. 主庫切換歸檔

SQL> alter system switch logfile;

15. 打開從庫

當從庫應用歸檔一段時間后,就關閉應用歸檔日志,打開從庫。

SQL> alter database recover managed standby database cancel;SQL> alter database open;SQL> alter database recover managed standby database using current logfile disconnect from session;

16. 驗證同步

主庫做修改

SQL> update scott.emp set sal=2000;SQL> commit;

從庫查詢

SQL> select * from scott.emp;

至此,給rac搭建一個單實例的dg就已經做完了,跟單實例搭建單實例的dg沒什么區別。接下來介紹如何切換。

四、主從切換準備

17. 主庫添加standby logfile歸檔路徑

使用grid賬號,創建歸檔路徑

[grid@rac1 ~]$ asmcmdASMCMD> lsdg # 查看磁盤組名字ASMCMD> cd dataASMCMD> cd orclASMCMD> mkdir ARCHSTDLOG

使用sys數據庫賬號,修改數據庫參數

SQL> alter system set log_archive_dest_2='location=+DATA/ORCL/ARCHSTDLOG/ valid_for=(standby_logfiles,standby_role) db_unique_name=orcl' sid='*';

18. 主庫添加standby logfile

添加的日志的大小跟主庫的onlinelog保持一致,數量多兩組(主庫的onlinelog信息查看v$log)

SQL> alter database add standby logfile thread 1 group 21 ('+data') size 50M;SQL> alter database add standby logfile thread 1 group 22 ('+data') size 50M;SQL> alter database add standby logfile thread 1 group 23 ('+data') size 50M;SQL> alter database add standby logfile thread 2 group 24 ('+data') size 50M;SQL> alter database add standby logfile thread 2 group 25 ('+data') size 50M;SQL> alter database add standby logfile thread 2 group 26 ('+data') size 50M;

19. 主庫修改參數文件

SQL> alter system set standby_file_management=auto sid='*';SQL> alter system set db_file_name_convert='/u01/app/oracle/oradata/orcldg/datafile/','+DATA/orcl/datafile/','/u01/app/oracle/oradata/orcldg/tempfile/','+DATA/orcl/tempfile/' sid='*' scope=spfile;SQL> alter system set log_file_name_convert='/u01/app/oracle/oradata/orcldg/onlinelog/','+DATA/orcl/onlinelog/' sid='*' scope=spfile;

到這里,主庫轉換為備庫的準備工作已完成!

20. 從庫配置tnsnames.ora

這里的配置tnsnames.ora的目的是,當原從庫轉變為新主庫之后,原主庫變為新從庫,新主庫需要給新從庫發送歸檔日志,所以這里的tnsnames要指向新從庫,又由于dg庫應用歸檔只能在一個節點上, 所以toorcl只指向節點1。

[oracle@oradg ~]$ vi $ORACLE_HOME/network/admin/tnsnames.oratoorcl = (DESCRIPTION = (ADDRESS_LIST =  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.11)(PORT = 1521)) ) (CONNECT_DATA =  (SERVER = DEDICATED)  (SERVICE_NAME = orcl) ) )

21. 從庫為onlinelog設置歸檔路徑

[oracle@oradg ~]$ mkdir -p /u01/app/oracle/oradata/orcldg/archivelogSQL> alter system set log_archive_dest_1='location=/u01/app/oracle/oradata/orcldg/archivelog/ valid_for=(online_logfiles,primary_role) db_unique_name=orcldg';

22. 從庫設置遠程歸檔參數

SQL> alter system set log_archive_dest_3='service=toorcl valid_for=(online_logfiles,primary_role) db_unique_name=orcl';

到這里,從庫轉為主庫的準備工作已完成!

四、主從切換

23. 查看主庫的角色轉換狀態

SQL> select database_role,switchover_status from v$database;

24. 在節點1上主轉從

集群在做角色轉換時,只能有一個實例是打開狀態,其余都要關閉,所以將節點2的實例關閉。
SQL> shutdown immediate; # 只在節點2上做

在節點1上執行以下命令,將主庫轉為從庫,并且關閉實例

SQL> alter database commit to switchover to physical standby with session shutdown;

25. 在節點3上從轉主

SQL> select database_role,switchover_status from v$database;

如果是"NOT ALLOWED"表示歸檔還沒有應用完成,可以等待一段時間

如果日志全部應用了再查看角色轉換狀態

SQL> select database_role,switchover_status from v$database;

如果角色轉換狀態是TO PRIMARY,那么表示可以進行角色轉換

執行從轉主的命令,命令執行成功后,數據庫的狀態會變為mount

SQL> alter database commit to switchover to primary;SQL> alter database open;

26. 打開新從庫

在節點1和節點2上

SQL> startup

節點1上應用歸檔

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

節點3上切換歸檔

SQL> alter system switch logfile;

27. 驗證同步

主庫做修改

SQL> update scott.emp set sal=3000;SQL> commit;

從庫查詢

SQL> select * from scott.emp;

28. 錯誤處理

如果發現日志傳不到備庫的話可以在主庫通過以下命令查看錯誤原因

SQL> select dest_id,dest_name,log_sequence,status,error from v$archive_dest;

如果報上面的錯誤的話,可以把歸檔開關重啟一下即可

SQL> alter system set log_archive_dest_state_3='defer' sid='*';SQL> alter system set log_archive_dest_state_3='enable' sid='*';

五、總結

1. dg的切換需要停掉所有的應用,并把數據庫的所有連接全部kill掉,賬號全鎖,切換完成后再解鎖

2. rac在切換時,只留一個活的實例,其它全部關閉

3. 命令每執行一條,就留意返回的結果,并實時查看alert.log

總結

以上所述是小編給大家介紹的Oracle 給rac創建單實例dg并做主從切換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久视频在线免费观看| 日本久久久久久久久| 久久久噜噜噜久久中文字免| 成人一区二区电影| 欧美壮男野外gaytube| 国产精品久久婷婷六月丁香| 亚洲片国产一区一级在线观看| 成人美女免费网站视频| 国产日韩精品入口| 亚洲欧美国产一本综合首页| 亚洲在线观看视频网站| 国产精品一区久久久| 亚洲男人天堂2019| 精品久久香蕉国产线看观看gif| 久久久视频在线| 久久国产视频网站| 欧美超级乱淫片喷水| 狠狠躁夜夜躁人人躁婷婷91| 欧美色xxxx| 国产欧美日韩视频| 国内精品美女av在线播放| 欧美国产精品人人做人人爱| 日本一本a高清免费不卡| 国产精品美女久久| 懂色av一区二区三区| 国产精品一区二区性色av| 日韩福利视频在线观看| 久久婷婷国产麻豆91天堂| 亚洲美女福利视频网站| 97在线视频国产| 亚洲福利在线播放| 国产亚洲福利一区| 久久久女女女女999久久| 亚洲欧美色图片| 日本午夜精品理论片a级appf发布| 日韩亚洲国产中文字幕| 精品露脸国产偷人在视频| 国产精品久久婷婷六月丁香| 久久亚洲电影天堂| 粗暴蹂躏中文一区二区三区| 欧美中文在线字幕| 国产精品免费一区二区三区都可以| 欧美另类暴力丝袜| 国产综合在线视频| 一区二区三区视频观看| 亚洲综合第一页| 欧美日韩成人免费| 国产综合在线看| 亚洲日本中文字幕| 久久中文字幕在线| 欧美与欧洲交xxxx免费观看| 日韩高清av一区二区三区| 日韩av在线播放资源| 96精品久久久久中文字幕| 国产亚洲精品一区二区| 78m国产成人精品视频| 日本不卡视频在线播放| 久久久久九九九九| 性色av香蕉一区二区| 日韩在线播放一区| 欧美激情一二三| 欧美大尺度激情区在线播放| 久久亚洲综合国产精品99麻豆精品福利| 97视频com| 亚洲国产精品va| 91精品国产色综合| 日本一区二区在线播放| 欧美另类极品videosbest最新版本| 精品亚洲一区二区三区| 亚洲第一综合天堂另类专| 在线精品国产成人综合| 96pao国产成视频永久免费| 国产日韩欧美在线播放| 亚洲精品国产精品乱码不99按摩| 伊人久久久久久久久久久| 麻豆国产精品va在线观看不卡| 国内精品一区二区三区四区| 亚洲精品永久免费精品| 国产一区二区三区四区福利| 高跟丝袜一区二区三区| 久久天堂电影网| 日韩欧美福利视频| 免费91麻豆精品国产自产在线观看| 亚洲国产女人aaa毛片在线| 亚洲最大成人在线| 日韩欧美在线播放| 亚洲最大福利网站| 久久久久亚洲精品| 日韩一二三在线视频播| 国产精品久久久久久久久久小说| 另类专区欧美制服同性| 欧美激情一级欧美精品| 精品性高朝久久久久久久| 国产噜噜噜噜噜久久久久久久久| 欧美日韩中文在线观看| 日韩精品高清在线| 最近2019年日本中文免费字幕| 亚洲www在线观看| 久久成人精品电影| 岛国视频午夜一区免费在线观看| 国产精品影片在线观看| 欧美日韩亚洲精品内裤| 超碰91人人草人人干| 亚洲国产精品va在线看黑人| 国产69精品久久久| 欧美国产日韩二区| 亚洲片国产一区一级在线观看| 国产精品美女久久| 日韩暖暖在线视频| 中文字幕日韩精品在线| 精品亚洲一区二区| 日韩电影中文字幕在线| 亚洲免费av电影| 亚洲视频免费一区| 国产日韩av在线| 国产精品日日摸夜夜添夜夜av| 国产欧美一区二区三区久久| 欧美国产亚洲精品久久久8v| 欧美精品日韩www.p站| 国产精品欧美在线| 日韩人在线观看| 日韩欧美在线字幕| 亚洲男人天堂网站| 欧美中文在线观看国产| 亚洲丁香婷深爱综合| 久久精品视频va| 欧美在线亚洲在线| 久久综合国产精品台湾中文娱乐网| 97久久久免费福利网址| 亚洲黄色www网站| 国产精品国产福利国产秒拍| 精品国产区一区二区三区在线观看| 亚洲美女在线观看| 亚洲午夜未满十八勿入免费观看全集| 日韩网站免费观看| 国产成人高清激情视频在线观看| 日韩性生活视频| 岛国精品视频在线播放| 欧美久久久精品| 久久全球大尺度高清视频| 亚洲综合一区二区不卡| 国产精品99久久久久久白浆小说| 国产ts一区二区| 91视频-88av| 欧美夜福利tv在线| 久久久久久国产精品美女| 国产午夜一区二区| 日韩一区二区三区xxxx| 久久久伊人欧美| 日韩电影视频免费| 91精品久久久久久| 日韩av综合中文字幕| 久久久久久香蕉网| 色综久久综合桃花网| 538国产精品一区二区免费视频| 久久精品国产久精国产一老狼| 欧美激情视频网站| 精品国产自在精品国产浪潮| 亚洲精品成人久久电影| 欧美日韩国产一区二区三区| 欧美性感美女h网站在线观看免费| 精品久久久久久| 亚洲a级在线观看| 亚洲在线免费观看|