1. 程式人生 > >Oracle 10.2.0.5 DG For Windows 2008 R2

Oracle 10.2.0.5 DG For Windows 2008 R2

Oracle 10g R2 DATAGUARD 搭建 


目錄
Oracle 10g R2 DATAGUARD 搭建 1
1 環境 3
2 準備條件 3
3 Primary操作 3
3.1 設定主資料庫為force logging 模式 3
3.2 設定主資料庫為歸檔模式,並以mount 啟動資料庫 3
3.3 新增"備用聯機日誌檔案" 3
3.4 建立主庫的初始化引數給備庫用 4
3.5 在主庫建立監聽和配置tnsnams.ora 4
3.5.1 配置初始化引數檔案 4
3.6 用Rman備份,不用停機 5
3.7 啟動主資料庫 5
4 Standby操作 5
4.1 以mount 啟動備庫,新增"備用聯機日誌檔案" 5
4.2 在備庫建立監聽和配置tnsnams.ora (同主庫) 6
4.3 測試主備之間網路連通 6
4.4 配置備庫初始化引數 6
4.5 啟動備用資料庫 6
5 測試 7
5.1 在備庫將例項啟動到mount 狀態: 7
5.2 在主庫啟動例項: 7
5.3 在主庫驗證日誌: 7
5.4 在備庫檢查日誌是否和主庫一致 7
6 備庫standby和read only切換 8
6.1 主庫建立一個表,用於備庫開啟時驗證資料 8
6.2 將備庫啟動到read only狀態 8
6.3 切換回standby狀態. 8
7 主/備庫切換 8
7.1 主庫切換成備庫 9
7.2 備庫切換成主庫 9
8 切換保護模式 10
8.1 在primary上操作 10
8.2 在standby上操作 10
9 建立 Data Guard Broker 配置 11


1 環境
Windows 20008 server
Oracle 10.2.0.4
主機:172.18.18.200(primary)
備機:172.18.18.201(standby)
2 準備條件
分別在primary、standby上安裝資料庫,並自動建立例項;安裝路徑、資料庫例項名(orcl)和密碼都設定成一樣
3 Primary操作
3.1 設定主資料庫為force logging 模式
SQL>sqlplus "/as sysdba"
SQL>alter database force logging;
3.2 設定主資料庫為歸檔模式,並以mount 啟動資料庫
SQL>archive log list
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog;
SQL>archive log list
3.3 新增"備用聯機日誌檔案"
SQL>select * from v$logfile;
再新增:
alter database add standby logfile group 4 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo04.log') size 50m;
alter database add standby logfile group 5 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo05.log') size 50m;
alter database add standby logfile group 6 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo06.log') size 50m;
alter database add standby logfile group 7 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo07.log') size 50m;
3.4 建立主庫的初始化引數給備庫用
SQL>Create pfile from spfile;
產生的檔名為initorcl.ora 存放目錄預設放在%ORACLE_HOME%/database下
3.5 在主庫建立監聽和配置tnsnams.ora
listener.ora配置如下:
SID_LIST_LISTENER中新增:
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = c:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
tnsnames.ora配置如下:
新增:
primary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.18.200)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
standby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.18.201)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
3.5.1 配置初始化引數檔案
*.log_archive_format='%T%S%r.ARC'
*.DB_UNIQUE_NAME='primary'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='location=c:\oracle\product\10.2.0\oradata\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary'
*.log_archive_dest_2='SERVICE=standby lgwr ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='standby'
*.FAL_CLIENT='primary'
關閉資料庫,在用initorcl.ora重啟
SQL>startup pfile='c:\oracle\product\10.2.0\db_1\database\initorcl.ora';
SQL> create spfile from pfile ='C:\oracle\pfile\initorcl.ora';
3.6 用Rman備份,不用停機
$ rman target /
RMAN>backup full format 'C:\oracle\rman_backup\FULL_%d_%T_%s.bak' database include current controlfile for standby;
RMAN>sql 'alter system archive log current';
RMAN>Backup ArchiveLog all format='C:\oracle\rman_backup\arch_%d_%T_%s.bak';
備份完後將備份檔案拷到standby上同樣的目錄,強調:同樣的目錄(C盤),在standby進行rman 恢復即可
3.7 啟動主資料庫
SQL>startup
4 Standby操作
4.1 以mount 啟動備庫,新增"備用聯機日誌檔案"
SQL>sqlplus "/as sysdba"
SQL>shutdown immediate
SQL>startup mount
先檢視日誌檔案位置:
SQL>select * from v$logfile;
再新增:
alter database add standby logfile group 4 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo04.log') size 50m;
alter database add standby logfile group 5 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo05.log') size 50m;
alter database add standby logfile group 6 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo06.log') size 50m;
alter database add standby logfile group 7 ('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo07.log') size 50m;
4.2 在備庫建立監聽和配置tnsnams.ora (同主庫)
4.3 測試主備之間網路連通
Primary:
C:>lsnrctl start
C:>tnsping standby
Standby:
C:>lsnrctl start
C:>tnsping primary
4.4 配置備庫初始化引數
編輯initorcl.ora新增以下內容
*.log_archive_format='%T%S%r.ARC'
*.DB_UNIQUE_NAME='standby'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='location=c:\oracle\product\10.2.0\oradata\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
*.log_archive_dest_2='SERVICE=primary lgwr ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='primary'
*.FAL_CLIENT='standby'
4.5 啟動備用資料庫
SQL>sqlplus "/as sysdba"
SQL>startup nomount pfile='c:\oracle\product\10.2.0\db_1\database\initorcl.ora';
SQL> create spfile from pfile = 'C:\oracle\pfile\initorclstandby.ora';
重啟主、備庫監聽,用Rman還原資料庫
>rman target sys/

[email protected] auxiliary /
RMAN>duplicate target database for standby dorecover nofilenamecheck;
>sqlplus / as sysdba
SQL>alter database recover managed standby database disconnect from session;
5 測試
DG 啟動順序:
 啟動順序:先standby ,後primary;
 關閉順序:先primary 後standby;
5.1 在備庫將例項啟動到mount 狀態:
SQL>startup nomount;
SQL>alter database mount standby database;
SQL>alter database recover managed standby database cancel;
SQL>alter database recover managed standby database disconnect from session;
手動應用自動恢復:
SQL>recover automatic standby database;
5.2 在主庫啟動例項:
SQL>startup;
5.3 在主庫驗證日誌:
SQL>alter system switch logfile;
SQL>select max(sequence#) from v$archived_log;
5.4 在備庫檢查日誌是否和主庫一致
SQL>select max(sequence#) from v$archived_log;
注:主備查詢結果一致,Data Guard 搭建結束。
6 備庫standby和read only切換
6.1 主庫建立一個表,用於備庫開啟時驗證資料
SQL>create table test02 as select * from v$parameter;
SQL>commit;
SQL>alter system switch logfile;
6.2 將備庫啟動到read only狀態
 如果standby db處於mount狀態,則可以通過下面的命令啟動到read-only狀態
C:\Users\Administrator>sqlplus / as sysdba
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- --------------------------------
MOUNTED PHYSICAL STANDBY
SQL>alter database recover managed standby database cancel;
SQL>alter database open;
 如果standby db資料庫處於關閉狀態,則執行下面的命令啟動到read-only狀態
SQL>startup
6.3 切換回standby狀態.
斷開所有連結,執行以下語句
SQL>alter database recover managed standby database disconnect from session;
SQL>select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
---------- ----------------
MOUNTED PHYSICAL STANDBY
注:在standby db開啟的過程中,主庫的日誌檔案還是傳遞過來,只不過不做日誌的應用。所以standby db開啟的時間越長,以後做日誌應用的時間就越長,如果主庫故障,則啟用備庫到正常狀態的時間就越長,這是需要您來權衡的。
注:如果切換後發現日誌不能同步,重新切換一下即可
7 主/備庫切換
一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的資料,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。 在進行DATA GUARD的物理STANDBY切換前需要注意:
 確認主庫和從庫間網路連線通暢;
 確認沒有活動的會話連線在資料庫中;
 PRIMARY資料庫處於開啟的狀態,STANDBY資料庫處於MOUNT狀態;
 確保STANDBY資料庫處於ARCHIVELOG模式;
 如果設定了REDO應用的延遲,那麼將這個設定去掉;
 確保配置了主庫和從庫的初始化引數,使得切換完成後,DATA GUARD機制可以順利的執行。
7.1 主庫切換成備庫
 檢視switchover 狀態
SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
如果返回to standby
SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
否則
SQL>Alter database commit to switchover to physical standby with session shutdown;
 啟動到mount和應用日誌狀態
SQL>shutdown immediate
SQL>startup nomount
SQL>alter database mount standby database;
SQL>alter database recover managed standby database disconnect from session;
檢視資料庫模式
SQL>select dest_name,status,database_mode,recovery_mode,protection_mode from v$archive_dest_status;
SQL>select status,database_mode from v$archive_dest_status;
7.2 備庫切換成主庫
 檢視switchover狀態
SQL>select switchover_status from v$database;
如果返回TO PRIMARY
SQL>alter database commit to switchover to primary;
否則
SQL>alter database commit to switchover to primary with session shutdown
啟動資料庫
SQL>shutdown immediate
SQL>startup
SQL>alter system switch logfile;
SQL>select max(sequence#) from v$archived_log;
 檢視資料庫模式
SQL>select dest_name,status,database_mode,recovery_mode,protection_mode from v$archive_dest_status;
SQL>select status,database_mode from v$archive_dest_status;
注:如果做了switchover,主庫引數設定成以下方式,會觸發ora-16009錯誤,按以下操作即可:
SQL> Alter system set log_archive_dest_2='service=primary DB_UNIQUE_NAME=orcl' scope=spfile;
8 切換保護模式
8.1 在primary上操作
 首先檢視當前的保護模式
SQL>select protection_mode,protection_level from v$database;
 修改初始化引數
SQL>alter system set log_archive_dest_2='SERVICE=standby OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby';
 重啟資料庫並設定新的資料保護模式
SQL>shutdown immediate
SQL>startup mount
SQL>alter database set standby database to maximize availability;
SQL>alter database open;
SQL>select protection_mode,protection_level from v$database;
提示:maximize後可跟{PROTECTION | AVAILABILITY | PERFORMANCE},分別對應最大保護,最高可用性及最高效能。
8.2 在standby上操作
 修改standby初始化引數設定(主要考慮角色切換,如果只測試的話本步可跳過)
SQL>alter system set log_archive_dest_2='SERVICE=primary OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary';
 檢視當前的保護模式
SQL>select instance_name from v$instance;
INSTANCE_NAME
----------------
standby
SQL>select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
 停掉standby資料庫,再檢視primary資料庫狀態
SQL>select protection_mode,protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM AVAILABILITY RESYNCHRONIZATION
SQL>startup nomount;
SQL>alter database mount standby database;
SQL>alter database recover managed standby database cancel;--該語句如果報錯,可忽略
SQL>alter database recover managed standby database disconnect from session;
Standby資料庫shutdown後,primary資料庫保護級別切換為待同步。
注:主庫的保護模式修改之後,備庫的模式也會改變,和主庫保持一致。
9 建立 Data Guard Broker 配置
為避免單點故障而導致切換不成功,Oracle推薦Broker單獨安裝在一臺機器。
 連線到主資料庫,使用以下命令設定 DG_BROKER_START 的值:
ALTER SYSTEM SET dg_broker_start = true;
 連線到物理備用資料庫,使用以下命令設定 DG_BROKER_START 的值:
ALTER SYSTEM SET dg_broker_start = true;
 建立用於監聽器的服務
定義用於監聽器的服務包 GLOBAL_DBNAME
的 db_unique_name_DGMGRL.db_domain 值。
1. 要在代理程式執行期間啟用 DGMGRL 來重新啟動例項,必須將一個具有特定名稱的服務靜態註冊到每個例項的本地監聽器。必須將 GLOBAL_DBNAME 屬性的值設定為<db_unique_name>_DGMGRL.<db_domain> 的連線。
檢查 %oracle_home%/wkdir/dg_broker 中的 listener.ora 檔案,
檢查%ORACLE_HOME%/network/admin/listener.ora。特別注意standby_DGMGRL 和 primary_DGMGRL 的列表項。用%oracle_home%/wkdir/dg_broker/listener. 代替%ORACLE_HOME%/network/admin/listener.ora
2. 使用 lsnrctl reload 命令重新載入監聽器。
使用 lsnrctl status 命令驗證新的監聽器配置。服務列表應該包括針對 standby1_DGMGRL和 primary_DGMGRL 的項:
 建立 Broker 配置
在這一任務中,您將建立 Data Guard Broker 配置。
1. 呼叫 DGMGRL 並連線至主資料庫。為 SYS 輸入您的口令。
set oracle_sid=primary
dgmgrl
connect sys
2. 建立 Broker 配置,包括主資料庫的配置檔案。
DGMGRL> Create configuration ‘DGConfig’ AS primary database is ‘orcl’ connect
identifier is orcl
3. 顯示相關配置資訊
DGMGRL> show configuration
4. 使用以下命令將物理備用資料庫新增到broker配置中
DGMGRL> add database ‘orcl’ as connect identifier is standby;
5. 使用 SHOW CONFIGURATION 命令驗證 standby資料庫已新增到配置中。
DGMGRL>show configuration
6. 啟用broker配置
 成功為主資料庫和備用資料庫設定好 Data Guard 環境後,現在可以啟用 broker 配置了。
1. 啟用整個配置。
DGMGRL> enable configuration
2. 驗證配置已成功啟用。
DGMGRL> show configuration
 通過切換測試 Broker
使用 Data Guard Broker 配置來切換主資料庫與備用資料庫的角色,對 Data Guard Broker 配置進行測試。
1. 執行 SWITCHOVER 命令測試 Data Guard Broker 配置。
DGMGRL> switchover to standby;
2. 驗證 SWITCHOVER 已成功完成。注意,現在 standby是主資料庫,而 orcl 是物理備用資料庫。
DGMGRL> show configuration
3. 再次執行 SWITCHOVER 命令,將您的 Data Guard 環境返回到初始的資料庫角色。這可能需要一些時間來完成。
DGMGRL> Switchover to standby;
4. 驗證第二個 SWITCHOVER 已成功完成。注意,現在 orcl 又是主資料庫了,而 standby仍為物理備用資料庫。退出 DGMGRL 完成本教程。
DGMGRL> show configuration

相關推薦

Oracle 10.2.0.5 DG For Windows 2008 R2

Oracle 10g R2 DATAGUARD 搭建  目錄 Oracle 10g R2 DATAGUARD 搭建 1 1 環境 3 2 準備條件 3 3 Primary操作 3 3.1 設定主資料庫為force logging 模式 3 3.2 設定主資料庫為歸檔模式,

Oracle 10.2.0.5 RMAN遷移並升級11.2.0.4一例

oracle 遷移 rman 一、環境介紹1. 源數據庫環境操作系統版本: OEL 5.4 x64數據庫版本 : 10.2.0.5 x64數據庫sid名 : orclOracle 10g 10.2.0.5(64bit)安裝目錄如下:數據庫軟件:/u01/app/oracle/product/10

關於Oracle 10.2.0.5 版本應用SCN補丁14121009相關問題

環境:OEL 5.7 + Oracle 10.2.0.5 背景:Oracle釋出的兩篇關於2019年6月份將自動調整高版本資料庫的SCN COMPATIBILITY的MOS文章引起了很多客戶的恐慌,尤其是起初Oracle對10g版本未提供任何補丁。我這裡結合業界多位Oracle ACE專家的系列文章,在自己的

續:糾正:ubuntu【7.04】可以安裝,而且完美的安裝 ! forOracle-10.2.0.1,打補丁10.2.0.5:在 debian 版本4【不含4】以上,及 ubuntu 7.04【不含7.04】以上都可以安裝!》

etc ubun oracl poweroff ++ ldconfig red aio edi n次的測試後,最終證明,如下做法,可以完美安裝。 中間都不帶任何一個錯誤的!!!完美! dhclient vi /etc/profile ll cd /e

Oracle 10g 應用補丁PSU 10.2.0.5.180717

  最近測試了一下在Oracle 10g下面(單例項下面)升級、應用補丁PSU 10.2.0.5.180717,打這個補丁的主要原因是 Oracle 將於 2019年6月啟用新的SCN相容性,並且由於BigSCN的作用,96K每秒的SCN增速,都可能會使得通過DB Link的訪問產生SCN過度拉昇

10.2.0.5環境dg測試logminer挖掘日誌分析

起因:客戶需求,資料庫正常每天總的日誌切換是20以內,有一天日誌切換總數,達到30,客戶建議使用Logminer進行日誌挖掘分析,到底什麼應用導致的問題。 說明:使用logminer進行日誌挖掘,只能挖掘出什麼物件表,dml操作多少次,而無法明確得到什麼應用佔用的日誌最多。只能提供很單項的東西,某個表dml

silent install oracle 11.2.0.1 x86_64 for linux

nbsp clas pad hostname $path req bash -a uninstall su - root #groupadd oinstall #useradd -g oinstall oracle #passwd oracle #mkdir -p /u

Open Source Vbootkit 2 0 Attack Tool for Windows 7

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Oracle 10 2 0 1 升級到 10 2 0 4

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

10.2.0.5升級遷移11.2.0.4(rman+dbua)

在10g軟體伺服器進行升級檢查 [[email protected] admin]$ scp utlu112i.sql 192.168.56.11:/home/oracle -檢查SYS與SYSTEM重複物件  SQL> select object_name, object

logminer使用測試庫進行挖掘分析,10.2.0.5

上一篇測試是在dg環境進行測試挖掘,但是如果客戶存在一個測試庫,那樣使用日誌挖掘的影響性更小。本篇進行測試分析。 測試環境介紹: oracle linux  5.6,vmware虛擬機器,安裝兩套單例項10.2.0.5資料庫,一套模擬生產環境進行dml操作,另一套模擬測試環境進行日誌相關挖掘。

Oracle 10.2.0.1 升級到 10.2.0.4

--********************************* -- Oracle 10.2.0.1 升級到 10.2.0.4 --*****************************

10.2.0.5上啟動EM 出錯及解決

通過DBCA 安裝資料庫的同時選擇了安裝OEM 但是在DBCA建立的最後報錯如圖: 意思是我的HOST 檔案有問題 1.檢查我的/etc/hosts # Do not remove the following line, or various programs # tha

資料庫通過資料泵由10.2.0.5到11.2.0.4遭遇ORA-39126、ORA-01555

資料庫由10g(10.2.0.5)庫expdp匯出,到11g(11.2.0.4)庫匯入,匯入分割槽表時報錯ORA-39126: Worker unexpected fatal error in KUPW$WORKER.MOVE_DATA [TABLE_DATA:"KTACTW

安裝10.2.0.5升級包

環境OEL5.9 x86_64 oracle10g 10.2.0.1 x86_64 把升級包p8202632_10205_Linux-x86-64.zip傳入伺服器並解壓,如下。 [[email protected] ~]# cd /u01/ [[email&

[轉帖]Oracle 11G RAC For Windows 2008 R2部署手冊 Oracle 11G RAC For Windows 2008 R2部署手冊(親測,成功實施多次)

Oracle 11G RAC For Windows 2008 R2部署手冊(親測,成功實施多次)   https://www.cnblogs.com/yhfssp/p/7821593.html   總體規劃 伺服器規劃

Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安裝手冊(一抹曦陽)

oracl track microsoft sun msu ica http net ref Oracle 10g 10.2.0.1 在Oracle Linux 5.4 32Bit RAC安裝手冊(一抹曦陽).pdf下載地址 ,step by step

oracle 11.2.0.1 for windows installation

oracle windows 11.2.0.1 數據庫安裝 目前,自己所在的公司對oracle for windows環境有依賴,平時這種oracle 11g for windows installation工作還比較多,好在自己不用動手操作,但是技術支撐類型的技術咨詢還是免不了;為了降

在widows 2008 x64bit R2下安裝Oracle db 10.2.0.4時遇到的"檢查作業系統版本: 必須是5.1 or 5.2。實際為 6.1未通過"

在Widows 2008 x64bit R2下安裝Oracle db 10.2.0.4時遇到的"檢查作業系統版本: 必須是5.1 or 5.2。實際為 6.1未通過" 特別說明:Widows 2008 x64bit R2下安裝Oracle db 10.2.0.4僅僅是第一