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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

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

一、啟用Force Logging

將Primary數據庫置為Force Logging模式。通過下列語句:

查看狀態:

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(目的是提高速度,某些時候確實有效)。指定數據庫為Force Logging模式后,數據庫將會記錄除臨時表空間或臨時回滾段外所有的操作,而忽略類似NOLOGGING之類的指定參數。如果在執行Force Logging時有NOLOGGING之類的語句在執行,那么Force Logging會等待,直到這類語句全部執行。

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

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

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

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

不帶參調用時,會返回該命令的調用方式和參數形式,例如:

[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:指定該數據庫能夠擁有SYSDBA權限的用戶最大數。

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

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

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

Windows平臺命名規則:PWD[sid].ora

Linux/UNIX平臺命令規則: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數據庫配置Standby Redologs(不配置也可以,Oracle將在Standby數據庫端自動創建歸檔文件,并虛擬為一組Standby Redologs),并使用LGWR SYNC模式傳輸REDO數據。

1.關于Standby Redologs

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

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

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

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

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

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

2.管理Standby Redologs

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

查看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組(注意組號不要與當前存在的Online Redologs組重復),并為該組指定一個成員:

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;

可以通過動態性能視圖V$LOGFILE查看當前數據庫中創建的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列區分該條記錄是Online Redologs或是Standby Redologs。

通過查看Standby Redologs的專用視圖V$STANDBY_LOG來查看當前數據庫中創建的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的設計初衷就是當發生故障時快速切換Primary和Standby的角色,以達到快速恢復應用訪問的目的。一旦發生切換,原Primary數據庫就變成了Standby數據庫,就得需要Standby Redologs,為了減少真正切換時應做的工作,建議在Primary數據庫也創建Standby Redologs,這樣即使發生切換,也不會影響Primary作為Standby身份的正常運行。

四、設置初始化參數

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

五、將Primary數據庫置于歸檔模式

要創建一個Data Guard環境,Primary數據庫必須處于歸檔模式。

對于非歸檔模式的數據庫該為歸檔模式,步驟如下:

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

2.關閉數據庫

SQL> shutdown immediate

3.啟動數據mount狀態:

SQL> startup mount;

4、修改數據庫為歸檔模式:

SQL> alter database archivelog;

5、打開數據庫,查詢:

SQL> alter database open;

總結

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

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