Oracle Dataguard如何配置物理standby

來源:互聯網
上載者:User

儘管網上有很多Oracle Dataguard的配置教程,但不難發現,很多採用的是rman duplicate這種方法,儘管此種方法較為簡便。但在某種程度上,卻也誤導了初學者,雖說也能配置成功,但只知其然不知其所以然,Dataguard的本質沒有吃透,也不利於其維護和調優。

本配置文檔基於Oracle官方文檔,目的在於加深大家對於Dataguard的瞭解。

本配置的結果是最大效能模式下的非同步傳輸 ,因此在參數檔案中,只涉及基本的主備參數,沒有考慮switchover和最大效能模式下的real time apply。在監聽的配置中,也沒有考慮Data Guard Broker的應用情況

配置環境:

主庫:                                                                         備庫:

作業系統版本:           Oracle Linux 6.3                             Oracle Linux 6.3

資料庫版本:              Oracle 11.2.0.1.0                           Oracle 11.2.0.1.0

主機名稱:                    node1.being.com                           node2.being.com

IP:                          192.168.1.11                                192.168.1.12

db_name                   orcl                                              victor

db_unique_name        orcl                                               orcl

instance_name           orcl                                              victor

service_names            orcl                                              victor

注意:1. Dataguard中只需要db_unique_name保持一致即可

2. 主庫中除了安裝Oracle軟體以外,還需要dbca建庫。而備庫中,只需要安裝Oracle軟體即可,即在./runInstaller安裝過程中,第三步選擇install software only

即可

3. 主備庫的ORACLE_BASE=/u01/app/oracle,ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1/db_1

一、配置監聽

1> 主庫上

[oracle@node1 ~]$ cd $ORACLE_HOME/network/admin/

[oracle@node1 admin]$ cat tnsnames.ora

TO_VICTOR =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.12)(PORT = 1521))    )    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = victor)    )  )

其中to_victor為網路服務名,在後面配置log_archive_dest_2和fal_server中會用到

2> 備庫上

[oracle@node2 ~]$ cd $ORACLE_HOME/network/admin/

[oracle@node2 admin]$ cat tnsnames.ora

TO_ORCL =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))    )    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = orcl)    )  )

注意:該配置只是基於基本的Dataguard配置,沒有考慮Dataguard broker的配置

二、主庫環境準備  -->> 在node1上操作

1> 將資料庫設定為歸檔模式

SQL> archive log list   -->>若Database log mode為No Archive Mode,則表示該資料庫運行在非歸檔模式下。進行以下操作

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

2> 將資料庫設定為Force Logging模式

SQL> select force_logging from v$database;  -->>若為NO,則進行以下操作

SQL> alter database force logging;

3> 修改主庫參數檔案

SQL> alter system set log_archive_config='dg_config=(orcl,victor)';

-->> 代表該Dataguard是兩個節點,一主一從,若要配置多個節點,則需要在此處添加。

SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(online_logfiles,primary_role) db_unique_name=orcl';

-->> location代表本地歸檔。在這裡我們使用閃回區作為線上記錄檔的歸檔目錄,在實際生產環境中,如果歸檔日誌是歸檔在本地檔案系統上,不建議使用閃回區,因為閃回區和資料庫軟體是在同一個目錄下,如果歸檔日誌過多,閃回區空間增長過快,容易造成磁碟空間不足,這樣容易使資料庫掛掉。valid_for代表該歸檔目錄只有在該庫為主庫,歸檔線上記錄檔時才有效。

SQL> alter system set log_archive_dest_2='service=to_victor async valid_for=(online_logfiles,primary_role) db_unique_name=victor';

-->> service後面接的是網路服務名

SQL> alter system set log_archive_dest_state_1='enable';

SQL> alter system set log_archive_dest_state_2='enable';

SQL> alter system set remote_login_passwordfile=exclusive scope=spfile;  -->> 設定密碼檔案的許可權,該設定需重啟資料庫才會生效

SQL> alter system set log_archive_format='%t_%s_%r.arc' scope=spfile;  -->> 設定歸檔日誌的格式,該設定需重啟資料庫才會生效

-->> 最後兩項可不用顯性設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.