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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oracle dg物理和逻辑,Oracle DG 物理Standby环境搭建

發(fā)布時間:2024/10/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle dg物理和逻辑,Oracle DG 物理Standby环境搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Oracle Data Guard, 分邏輯Standby和物理Standby。 下面講的是物理Standby環(huán)境的搭建步驟。

一、啟用Force Logging

將Primary數(shù)據(jù)庫置為Force Logging模式。通過下列語句:

查看狀態(tài):

SQL> SELECT DATABASE_ROLE,FORCE_LOGGING FROM V$DATABASE;

DATABASE_ROLE ? ?FORCE_LOGGING

---------------- ?---------------

PRIMARY ? ? ? ? ? NO

修改模式

SQL> alter database force logging;

Database altered.

取消Force logging 模式:

SQL> alter database no force logging;

Database altered.

說明:為什么要改成Force Logging

有一些DDL語句可以通過指定NOLOGGING子句的方式避免寫REDO(目的是提高速度,某些時候確實有效)。指定數(shù)據(jù)庫為Force Logging模式后,數(shù)據(jù)庫將會記錄除臨時表空間或臨時回滾段外所有的操作,而忽略類似NOLOGGING之類的指定參數(shù)。如果在執(zhí)行Force Logging時有NOLOGGING之類的語句在執(zhí)行,那么Force Logging會等待,直到這類語句全部執(zhí)行。

Force Logging是作為固定參數(shù)保存在控制文件中,因此其不受重啟之類操作的影響(只執(zhí)行一次即可),如果想取消,可以通過ALTER DATABASE NO FORCE LOGGING語句關(guān)閉強制記錄。

二、創(chuàng)建密鑰文件(如果不存在的話)

同一個Data Guard配置中所有數(shù)據(jù)庫必須都擁有獨立的密鑰文件,并且必須保證同一個Data Guard配置中,所有數(shù)據(jù)庫服務(wù)器的SYS用戶擁有相同密碼,以保證REDO數(shù)據(jù)的順利傳輸,因為REDO傳輸服務(wù)是通過認證的網(wǎng)絡(luò)會話來傳輸REDO數(shù)據(jù),而會話使用包含在密鑰文件中的SYS用戶密碼來認證。

如果使用DBCA建庫則Oracle會自動創(chuàng)建密鑰文件,該文件默認路徑在%ORACLE_HOME%/database目錄下,如果在該目錄沒能找到對應(yīng)的密鑰文件也沒關(guān)系,Oracle提供了一個創(chuàng)建密鑰文件的命令:orapwd,位于%ORACLE_HOME%/bin目錄下,該命令有兩種調(diào)用方式:帶參調(diào)用和不帶參調(diào)用。

不帶參調(diào)用時,會返回該命令的調(diào)用方式和參數(shù)形式,例如:

[oracle@localhost ~]$ orapwd

Usage: orapwd file= password= entries= force=

where

file - name of password file (mand),

password - password for SYS (mand),

entries - maximum number of distinct DBA and ? ? force - whether to overwrite existing file (opt),

OPERs (opt),

There are no spaces around the equal-to (=) character.

其中:

file:指定密鑰文件名稱和路徑。

password:SYS用戶密碼。

entries:指定該數(shù)據(jù)庫能夠擁有SYSDBA權(quán)限的用戶最大數(shù)。

force:如果文件存在是否覆蓋。

orapwd命令使用非常簡單,file和password為必填參數(shù)。

需要注意Windows平臺和Linux/UNIX平臺密鑰文件的命名規(guī)則并不相同:

Windows平臺命名規(guī)則:PWD[sid].ora

Linux/UNIX平臺命令規(guī)則:orapw[sid] ?-- 注意:沒有文件名,(大小寫敏感)

示例如下:

[oracle@localhost dbs]$ orapwd file=/u01/app/oracle/product/10.2.0/db_1/dbs/orapworcl password=admin entries=30

三、配置Standby Redologs

對于最大保護和最高可用性模式,建議為Standby數(shù)據(jù)庫配置Standby Redologs(不配置也可以,Oracle將在Standby數(shù)據(jù)庫端自動創(chuàng)建歸檔文件,并虛擬為一組Standby Redologs),并使用LGWR SYNC模式傳輸REDO數(shù)據(jù)。

1.關(guān)于Standby Redologs

Oracle建議DBA在創(chuàng)建Standby數(shù)據(jù)庫時,就考慮Standby Redologs配置的問題。Standby Redologs與Online Redologs非常類似,應(yīng)該說兩者只是服務(wù)對象不同,其他參數(shù)屬性,甚至操作的命令格式幾乎都一樣,DBA在設(shè)計Standby Redologs的時候完全可以借鑒創(chuàng)建Online Redologs的思路,如創(chuàng)建幾個文件組,每組多個文件冗余之類的。除些之外呢,Oracle提供了一些標(biāo)準(zhǔn)的建議,如下所示:

(1)確保Standby Redologs的文件大小與Primary數(shù)據(jù)庫Online Redologs文件大小相同。這個很好理解,就是為了接收和應(yīng)用方便嘛。

(2)創(chuàng)建適當(dāng)數(shù)目的日志組。一般而言,Standby Redologs日志組要比Primary數(shù)據(jù)庫的Online Redologs日志文件組數(shù)至少多一個。建議Standby Redologs日志組數(shù)量基于Primary數(shù)據(jù)庫的線程數(shù)來確定(這里的線程數(shù)可以理解為RAC環(huán)境中的節(jié)點數(shù))。

有一個推薦的公式可供參考:(每線程的日志組數(shù)+1)×最大線程數(shù)。

例如Primary數(shù)據(jù)庫有兩個線程,每個線程分配兩組日志,則Standby日志組數(shù)建議為6組,使用這個公式可以降低Primary數(shù)據(jù)庫實例LGWR進程鎖住的可能性。

提 示: 邏輯Standby數(shù)據(jù)庫有可能需要視工作量,增加更多的Standby Redologs組(或增加歸檔進程),因為邏輯Standby數(shù)據(jù)庫有可能需要同時寫Online Redologs文件。

2.管理Standby Redologs

Standby Redologs的操作方式與Online Redologs幾乎一模一樣,只不過在創(chuàng)建或刪除時需要多指定一個Standby關(guān)鍵字。

查看redo log:

SQL> SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE;

GROUP# TYPE ? ?MEMBER

---------- ------- --------------------------------------------------

3 ONLINE ?/u01/app/oracle/oradata/orcl/redo03.log

2 ONLINE ?/u01/app/oracle/oradata/orcl/redo02.log

1 ONLINE ?/u01/app/oracle/oradata/orcl/redo01.log

添加一個新的Standby Redologs組(注意組號不要與當(dāng)前存在的Online Redologs組重復(fù)),并為該組指定一個成員:

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo04.log') size 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') size 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') size 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/app/oracle/oradata/orcl/redo07.log') size 50M;

刪除Standby Redologs組也同樣簡單:

SQL> ALTER DATABASE DROP STANDBY LOGFILE GROUP 4;

可以通過動態(tài)性能視圖V$LOGFILE查看當(dāng)前數(shù)據(jù)庫中創(chuàng)建的Standby Redologs,例如:

SQL> SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE;

GROUP# TYPE ? ?MEMBER

---------- ------- --------------------------------------------------

3 ONLINE ?/u01/app/oracle/oradata/orcl/redo03.log

2 ONLINE ?/u01/app/oracle/oradata/orcl/redo02.log

1 ONLINE ?/u01/app/oracle/oradata/orcl/redo01.log

4 STANDBY /u01/app/oracle/oradata/orcl/redo04.log

5 STANDBY /u01/app/oracle/oradata/orcl/redo05.log

6 STANDBY /u01/app/oracle/oradata/orcl/redo06.log

7 STANDBY /u01/app/oracle/oradata/orcl/redo07.log

提示:通過該視圖中的TYPE列區(qū)分該條記錄是Online Redologs或是Standby Redologs。

通過查看Standby Redologs的專用視圖V$STANDBY_LOG來查看當(dāng)前數(shù)據(jù)庫中創(chuàng)建的Standby Redologs,如:

SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

GROUP# ? ?THREAD# ?SEQUENCE# ARC STATUS

---------- ---------- ---------- --- ----------

4 ? ? ? ? ?0 ? ? ? ? ?0 YES UNASSIGNED

5 ? ? ? ? ?0 ? ? ? ? ?0 YES UNASSIGNED

6 ? ? ? ? ?0 ? ? ? ? ?0 YES UNASSIGNED

7 ? ? ? ? ?0 ? ? ? ? ?0 YES UNASSIGNED

從可靠性方面考慮,DG的設(shè)計初衷就是當(dāng)發(fā)生故障時快速切換Primary和Standby的角色,以達到快速恢復(fù)應(yīng)用訪問的目的。一旦發(fā)生切換,原Primary數(shù)據(jù)庫就變成了Standby數(shù)據(jù)庫,就得需要Standby Redologs,為了減少真正切換時應(yīng)做的工作,建議在Primary數(shù)據(jù)庫也創(chuàng)建Standby Redologs,這樣即使發(fā)生切換,也不會影響Primary作為Standby身份的正常運行。

四、設(shè)置初始化參數(shù)

對于Primary數(shù)據(jù)庫,有幾個與角色相關(guān)的初始化參數(shù)需要進行設(shè)置,這些參數(shù)初始時有些用來控制REDO傳輸服務(wù)(即Primary數(shù)據(jù)庫生成的REDO數(shù)據(jù)傳給誰以及怎么傳),有些用來指定角色,還有幾個與Standby角色相關(guān)的初始化參數(shù),也建議進行配置,以便switchover/failover操作后,Primary/Standby數(shù)據(jù)庫仍能正常工作,建議不管是Primary數(shù)據(jù)庫,還是Standby數(shù)據(jù)庫,對于角色相關(guān)的初始化參數(shù)都進行配置。

五、將Primary數(shù)據(jù)庫置于歸檔模式

要創(chuàng)建一個Data Guard環(huán)境,Primary數(shù)據(jù)庫必須處于歸檔模式。

對于非歸檔模式的數(shù)據(jù)庫該為歸檔模式,步驟如下:

1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';

2.關(guān)閉數(shù)據(jù)庫

SQL> shutdown immediate

3.啟動數(shù)據(jù)mount狀態(tài):

SQL> startup mount;

4、修改數(shù)據(jù)庫為歸檔模式:

SQL> alter database archivelog;

5、打開數(shù)據(jù)庫,查詢:

SQL> alter database open;

總結(jié)

以上是生活随笔為你收集整理的oracle dg物理和逻辑,Oracle DG 物理Standby环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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