Oracle 單機配置DataGuard
一.主庫引數配置
1.啟用force logging (強制記錄日誌)
-- 檢視
select log_mode,force_logging from v$database;
-- 啟動
alter database force logging;
2.啟用歸檔
-- 檢視
archive log list;
select log_mode from v$database;
alter database archivelog;
二.配置監聽
TNS:
主庫
DBPRI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbpri)
)
)
備庫:
DBSTD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbstd)
(UR = A)
)
)
三.配置主庫引數
--1. 修改歸檔檔名字尾為.arc(可選)
alter system set log_archive_format=’%t_%s_%r.arc’ scope=spfile;
--2. 檢查db_unique_name
show parameter db_unique_name
alter system set db_unique_name=’dbpri’ scope=spfile;
--3. 修改log_archive_config 引數,括號中為組備庫的db_unique_name
alter system set log_archive_config=’DG_CONFIG=(dbpri,dbstd)’ scope=both;
--4. 配置log_archive_dest_1 ,主庫歸檔位置
alter system set log_archive_dest_1=’LOCATION=/u01/archivelog/dbpri VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dbpri’ scope=both;
--5. 配置log_archive_dest_2,備份歸檔引數,採用LGWR非同步傳輸方式
alter system set log_archive_dest_2=’SERVICE=dbstd LGWR ASYNC VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=dbstd’ scope=both;
--6. 修改歸檔日誌程式的最大數量(可選)
alter system set log_archive_max_processes=30 scope=both;
show parameter log_archive_max_processes;
--7. 檢查資料庫口令檔案的使用模式(可選)
Show parameter remote_login_passwordfile
Alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
--8.修改/etc/hosts 檔案
--9. 修改db_file_name_convert引數,主備庫資料檔名稱跟路徑對應關係
--主庫跟備庫存放檔案的路徑不一定一樣,如果一樣的話可以不指定,但是不一樣就需要指定,一般來說主庫跟備庫的例項名不一樣,所以肯定是前面路徑是備庫資料檔案路徑,後面是主庫路徑
alter system set db_file_name_convert=’/u01/app/oracle/oradata/dbstd/’,’/u01/app/oracle/oradata/dbpri/’ scope=file;
--10. 修改log_file_name_convert引數,主備庫日誌檔名稱跟路徑對應關係
Alter system set log_file_name_convert=’/u01/app/oracle/oradata/dbstd/’,’/u01/app/oracle/oradata/dbpri/’ scope=file;;
--11. 設定standby_file_management為auto
--設定檔案管理模式,此項設定為自動,不然在主庫建立資料檔案後,備庫不會自動建立
Alter system set standby_file_management=auto;
--12.修改fal_client及fal_server
Alter system set fal_client=’dbpri’ scope=both; --主庫tns
Alter system set fal_server=’dbstd’ scope=both; --備庫tns
四.配置備庫引數
1.密碼檔案,主庫和備庫的sys密碼必須一致
-- 方式1: 使用orapwd 設定相同密碼
orapwd file=orapwsbdb password=
-- 方式2: scp 主庫密碼檔案到備庫$ORALCE_HOME/dbs目錄下,並修改密碼檔名為orapwdbstd
2.設定pfile檔案並啟動到nomount狀態
在備庫的dbs目錄下建立initdbstd.ora 並參考主庫新增引數
db_name='dbpri'
db_unique_name='dbstd'
pga_aggregate_target=13520338944 --設定跟主庫一樣
sga_target=40563113984 --設定跟主庫一樣
audit_file_dest='/u01/app/oracle/admin/dbpri/adump' --建立這個路徑
compatible='11.2.0.4.0' --相容性引數 主備庫要保持一致
log_archive_format='%t_%s_%r.arc'
control_files='/u01/app/oracle/oradata/dbstd/control01.ctl','/u01/app/oracle/fast_recovery_area/dbstd/control02.ctl' --注意修改檔案路徑中的例項名
log_archive_config='DG_CONFIG=(dbpri,dbstd)'
log_archive_dest_1='LOCATION=/u01/archivelog/dbstd VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dbstd'
log_archive_dest_2='SERVICE=dbpri LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dbpri'
db_file_name_convert='/u01/app/oracle/oradata/dbpri/','/u01/app/oracle/oradata/dbstd/' --前面是對方的,後面是本地的
log_file_name_convert='/u01/app/oracle/oradata/dbpri/','/u01/app/oracle/oradata/dbstd/'
fal_client='dbstd' --該引數與主庫設定相反
fal_server='dbpri' --該引數與主庫設定相反
standby_file_management='AUTO'
用剛編輯的initdbstd.ora 檔案將資料庫啟動到nomount狀態
startup nomount pfile=’/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/initdbstd.ora';
Create spfile from pfile;
利用spfile將資料庫啟動到nomount狀態。
五.配置備庫tns
主庫tns
DBPRI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbpri)
(UR = A)
)
)
備庫tns:
DBSTD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbstd)
(UR = A)
)
)
測試tns
主庫和備庫分別測試
tnsping dbpri
tnsping dbstd
sqlplus sys/system@dbpri as sysdba;
sqlplus sys/system@dbstd as sysdba;
六.使用duplicate 建立物理standby
備庫執行
-- 連線RMAN 並連線輔助(auxiliary) 例項,備庫目前狀態是nomount狀態。
rman target sys/system@dbpri auxiliary sys/system@dbstd;
-- 執行復制
-- nofilenamecheck 不進行檔名檢查(如果複製資料時,備庫的路徑和原庫一致,就需要加nofilenamecheck,否者會報錯)
duplicate target database for standby from active database nofilenamecheck;
七.新增standby 日誌組並開啟同步
1.主庫新增standby 日誌組
?Standby 日誌組數量: redo 日誌組數量+1
?新增前需要檢視已有的日誌組號
?Standby 日誌大小與普通日誌相同大小即可
?為日後主備切換做準備,所以主庫上也新增standby 日誌
Select * from v$log;
Select * from v$logfile;
主庫新增:
alter database add standby logfile group 4 ('/u01/app/oracle/oradata/dbpri/redo04.log') size 50m;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/dbpri/redo05.log') size 50m;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/dbpri/redo06.log') size 50m;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/dbpri/redo07.log') size 50m;
備庫新增:
alter database add standby logfile group 4 ('/u01/app/oracle/oradata/dbstd/redo04.log') size 50m;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/dbstd/redo05.log') size 50m;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/dbstd/redo06.log') size 50m;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/dbstd/redo07.log') size 50m;
檢視standby 日誌:
Select * from v$standby_log;
開啟備庫:
alter database open;
2.設定同步
-- 1. 開啟實時同步(啟動MRP程式),備庫操作
alter database recover managed standby database using current logfile disconnect from session;
alter database recover managed standby database using current logfile disconnect; -- 簡寫
--2. 開啟同步,日誌切換才會同步
Alter database recover managed standby database disconnect from session;
--3. 停止同步 (關閉MRP 程式)
Alter database recover managed standby database cancel;
3.主備庫檢查模式
Select open_mode,database_role,protection_mode,protection_level from v$database;
八.總結
本篇整理了oracle 11gR2 DG 單機環境搭建過程,日誌傳輸為LGWR ASYNC非同步傳輸,開啟real time apply。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2773108/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle dataguard broker 配置Oracle
- Oracle 11g dataguard 配置簡約步驟Oracle
- 【DATAGUARD】Oracle Dataguard nologging 塊修復Oracle
- Oracle 11.2.0.4 physical dataguard和snapshot dataguard切換Oracle
- 【DATAGUARD】Oracle Dataguard體系架構詳解Oracle架構
- 【DATAGUARD】Oracle19c dataguard新特性及部署Oracle
- Oracle dataguard failover 實戰OracleAI
- 【DATAGUARD】Dataguard遠端同步配置最佳實踐
- 基於單機的DataGuard切換文件
- oracle 19c dataguard silent install (oracle 19c dataguard 靜默安裝)Oracle
- rman oracle11g_單機實用配置Oracle
- Oracle之11g DataGuardOracle
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- 【Dataguard】Oracle多租戶環境對Dataguard的影響Oracle
- oracle11g dataguard切換Oracle
- Oracle Dataguard故障轉移(failover)操作OracleAI
- 7 Oracle DataGuard 命令列參考Oracle命令列
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- 【DATAGUARD】Oracle19c Data Guard BrokerOracle
- Oracle 11.2.0.4 Dataguard兩則故障處理Oracle
- 跨平臺級聯dataguard配置
- 【DG】Oracle11g異構平臺之Linux To Windows DataGuard安裝配置--duplicateOracleLinuxWindows
- oracle 11.2.0.4 DataGuard Broker配置過程中可能遇到的問題及解決方法Oracle
- 【DATAGUARD】Oracle21c Dataguard建立注意事項及主要引數介紹Oracle
- Oracle dataguard報錯:Error 1017 received logging on to the standbyOracleError
- Oracle資料庫(DataGuard)遷移方案(上)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(中)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(下)Oracle資料庫
- 【ASK_ORACLE】手動配置DataGuard的自動化Client Failover(故障轉移)的serviceOracleclientAI
- 【DATAGUARD】Oracle 通過Dataguard指定恢復時間用於找回丟失資料Oracle
- oracle配置開機自啟動Oracle
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- oracle10g DataGuard的日誌傳輸方式Oracle
- Oracle12.02.1單機安裝Oracle
- dataguard 搭建 oracle_sid相同 2節點 primary+standbyOracle
- ORACLE 11G DATAGUARD 日誌中斷處理方案Oracle
- dataguard 搭建 oracle_sid不同 2節點 primary+standbyOracle