oracle10g data guard建立物理standby資料庫的例子
data guard主備資料庫是在不現的機器上
主資料庫的db_name=jytest db_unique_name=jytest
備份資料庫db_name=jytest db_unique_name=jyrac1
演示用的示例足夠了,我們分兩階段配置,分別是配置primary 資料庫和配置standby 資料庫,如下:
一、Primary
資料庫配置及相關操作
1、確認主庫處於歸檔模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/arch/jytest
Oldest online log sequence 124
Next log sequence to archive 126
Current log sequence 126
2、將primary 資料庫置為FORCE LOGGING 模式。透過下列語句:
SQL> alter database force logging;
資料庫已更改。
3、建立standby 資料庫控制檔案
SQL> alter database create standby controlfile as '/u01/app/oracle/jyrac1_01.ctl';
Database altered.
SQL>。
4、建立primary 資料庫客戶端初始化引數檔案
注:主要此處修改項較多,為了方便,我們首先建立並修改pfile,然後再透過pfile 重建spfile,你當
然也可以透過alter system set 命令直接修改spfile 內容。
SQL> create pfile from spfile;
檔案已建立。
將該初始化引數檔案複製一份,做為standby 資料庫的客戶端初始化引數檔案
SQL> host copy /u01/app/oracle/product/10.2.0/db/dbs/initjytest.ora
/u01/app/oracle/product/10.2.0/db/dbs/initjytest01.ora
已複製1 個檔案。
SQL>
修改客戶端初始化引數檔案,增加下列內容
DB_UNIQUE_NAME='jytest'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jytest,jyrac1)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch/jytest VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jytest'
LOG_ARCHIVE_DEST_2='SERVICE=jyrac1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyrac1'
LOG_ARCHIVE_DEST_STATE_1='ENABLE'
LOG_ARCHIVE_DEST_STATE_2='ENABLE'
REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
#--------配置standby 角色的引數用於角色轉換
FAL_CLIENT='jytest'
FAL_SERVER='jyrac1'
DB_FILE_NAME_CONVERT=/u01/app/oracle/oradata/jytest','/u01/app/oracle/oradata/jytest'
在備位置後面指定主資料庫檔案的路徑名和檔名位置。這
個引數將主資料庫的資料檔案路徑名轉換成備資料檔案路
徑名。如果備資料庫與主資料庫處於同一系統上或如果資料
檔案在備站點上的目錄結構與主站點不同,則需要這個參
數。注意這個引數只是用於轉換物理備資料庫的路徑名。這
個引數可以指定多對路徑。(我這裡主備資料庫目錄路徑相同也可以不配置)
LOG_FILE_NAME_CONVERT=’/u01/app/oracle/oradata/jytest',' /u01/app/oracle/oradata/jytest'
在備位置後面指定主資料庫聯機重做日誌檔案的位置。這個
引數將主資料庫日誌檔案的路徑名轉換成備資料庫上的路
徑名。如果備資料庫與主資料庫處於同一系統上或如果資料
檔案在備站點上的目錄結構與主站點不同,則需要這個參
數。這個引數可以指定多對路徑(我這裡主備資料庫目錄路徑相同也可以不配置)
STANDBY_FILE_MANAGEMENT='AUTO'
透過pfile 重建spfile
SQL> shutdown immediate
...
SQL> create spfile from pfile
檔案已建立。
5、複製資料檔案到standby 伺服器(方式多樣,不詳述)
將adump,bdump,cdump,dpdump,pfile,udump目錄複製到weblogic29機器上來
[root@weblogic28 ~]# scp -r /u01/app/oracle/admin/* root@10.138.130.29:/u01/app/oracle/admin
root@10.138.130.29's password:
將資料檔案,控制檔案和重做日誌檔案複製到weblogic29這臺機器上
[root@weblogic28 ~]# scp -r /u01/app/oracle/oradata/* root@10.138.130.29:/u01/app/oracle/oradata
root@10.138.130.29's password:
redo07a.log 100% 50MB 25.0MB/s 00:02
hygeia01.dbf 100% 20GB 42.9MB/s 07:57
redo04a.log 100% 50MB 50.0MB/s 00:01
control02.ctl 100% 6896KB 6.7MB/s 00:00
temp01.dbf 100% 5120MB 43.4MB/s 01:58
redo06b.log 100% 50MB 25.0MB/s 00:02
users01.dbf 100% 5128KB 5.0MB/s 00:00
control03.ctl 100% 6896KB 6.7MB/s 00:00
redo06a.log 100% 50MB 25.0MB/s 00:02
control01.ctl 100% 6896KB 6.7MB/s 00:00
redo05a.log 100% 50MB 50.0MB/s 00:01
redo07b.log 100% 50MB 50.0MB/s 00:01
redo05b.log 100% 50MB 50.0MB/s 00:01
sysaux01.dbf 100% 5120MB 43.0MB/s 01:59
redo04b.log 100% 50MB 50.0MB/s 00:01
redo01.log 100% 50MB 50.0MB/s 00:01
redo03.log 100% 50MB 25.0MB/s 00:02
redo02.log 100% 50MB 50.0MB/s 00:01
system01.dbf 100% 5120MB 41.0MB/s 02:05
undotbs01.dbf 100% 5120MB 34.1MB/s 02:30
[root@weblogic28 ~]#
還要將引數檔案和口令檔案複製過來
[root@weblogic28 ~]# scp -r /u01/app/oracle/product/10.2.0/db/dbs/* root@10.138.130.29:/u01/app/oracle/product/10.2.0/db/dbs
root@10.138.130.29's password:
alert_jytest.log 100% 435 0.4KB/s 00:00
hc_jytest.dat 100% 1552 1.5KB/s 00:00
initdw.ora 100% 13KB 12.6KB/s 00:00
initjytest.ora 100% 1753 1.7KB/s 00:00
init.ora 100% 8385 8.2KB/s 00:00
lkJYTEST 100% 24 0.0KB/s 00:00
orapwjytest 100% 1536 1.5KB/s 00:00
spfilejytest.ora 100% 4608 4.5KB/s 00:00
[root@weblogic28 ~]#
注意需要複製所有資料檔案,備份的控制檔案及客戶端初始化引數檔案
6、配置listener 及net service names(方式多樣,不詳述)。
分別在主資料庫和備份資料庫上進行配置
Jytest主資料庫(weblogic28)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME =jytest)
(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)
(SID_NAME =jytest)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = weblogic28)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
Jyrac1備份資料庫(weblogic29)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME =jytest)
(ORACLE_HOME =/u01/app/oracle/product/10.2.0/db)
(SID_NAME =jytest)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = weblogic29)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
在tnsnames.ora檔案加入主資料庫和備份資料庫的服務名
jytest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.28)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = jytest)
)
)
jyrac1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =jytest)
)
)
完之後重啟listener:
[oracle@weblogic28 ~]$ lsnrctl stop
[oracle@weblogic28 ~]$lsnrctl start
透過tnsping 測試tnsnames 是否正確有效:
C:\Documents and Settings\Administrator>tnsping jyrac1
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 01-12月-
2012 21:29:27
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的引數檔案:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 介面卡來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10.138.130.29)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =jytest)))
OK (10 毫秒)
C:\Documents and Settings\Administrator>tnsping jytest
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 01-12月-
2012 21:31:57
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的引數檔案:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 介面卡來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10.138.130.28)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =jytest)))
OK (0 毫秒)
二、Standby
資料庫配置及相關操作
1、透過ORADIM 建立新的OracleService
2、建立密碼檔案,注意保持sys 密碼與primary 資料庫一致。
[oracle@weblogic29 ~]$orapwd file=/u01/app/oracle/product/10.2.0\db\dba\PWDjytest
.ora password=system entries=30
3、建立目錄
[root@weblogic28 ~]# mkdir /u01/app/oracle /admin/jytest/adump
4、複製檔案,不做過多描述
5、修改初始化引數檔案
增加下列引數
db_unique_name=jyrac1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jytest,jyrac1)'
DB_FILE_NAME_CONVERT=/u01/app/oracle/oradata/jytest','/u01/app/oracle/oradata/jytest'
在備位置後面指定主資料庫檔案的路徑名和檔名位置。這
個引數將主資料庫的資料檔案路徑名轉換成備資料檔案路
徑名。如果備資料庫與主資料庫處於同一系統上或如果資料
檔案在備站點上的目錄結構與主站點不同,則需要這個參
數。注意這個引數只是用於轉換物理備資料庫的路徑名。這
個引數可以指定多對路徑。(我這裡主備資料庫目錄路徑相同也可以不配置)
LOG_FILE_NAME_CONVERT=’/u01/app/oracle/oradata/jytest',' /u01/app/oracle/oradata/jytest'
在備位置後面指定主資料庫聯機重做日誌檔案的位置。這個
引數將主資料庫日誌檔案的路徑名轉換成備資料庫上的路
徑名。如果備資料庫與主資料庫處於同一系統上或如果資料
檔案在備站點上的目錄結構與主站點不同,則需要這個參
數。這個引數可以指定多對路徑(我這裡主備資料庫目錄路徑相同也可以不配置)
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch/jyrac1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jyrac1'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
#---下列引數用於角色切換
LOG_ARCHIVE_DEST_2='SERVICE=jytest LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jytest'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=jytest
FAL_CLIENT=jyrac1
STANDBY_FILE_MANAGEMENT=AUTO
注意同時修改*_dest 的路徑。
透過該pfile 建立spfile
SQL> create spfile from pfile;
檔案已建立。
6、啟動standby 到mount
SQL> startup mount
ORACLE instance started.
Total System Global Area 6442450944 bytes
Fixed Size 2030368 bytes
Variable Size 1090520288 bytes
Database Buffers 5335154688 bytes
Redo Buffers 14745600 bytes
Database mounted.
7、啟動redo 應用
SQL> alter database recover managed standby database disconnect from session;
Database altered.
8、檢視同步情況
首先連線到primary 資料庫
SQL> show parameter db_unique
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string jytest
SQL> alter system switch logfile;
System altered
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
129
連線到standby 資料庫
SQL> show parameter db_unique
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string jyrac1
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
129
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-750472/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建立物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- 管理物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- Oracle 11g RAC Data Guard 物理standby 建立Oracle
- Data Guard學習之物理standby建立步驟
- 建立邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- 物理data guard備standby庫的時候報錯。
- DATA GUARD物理STANDBY的 SWITCHOVER切換
- 【DataGuard】Oracle 11g物理Data Guard之Snapshot Standby資料庫功能Oracle資料庫
- DATA GUARD物理STANDBY的FAILOVER切換AI
- DATA GUARD物理STANDBY的 SWITCHOVER切換[zt]
- ORACLE DUPLICATE建立物理standby資料庫Oracle資料庫
- 使用RMAN建立物理Standby資料庫資料庫
- 【轉】【DataGuard】Oracle 11g物理Data Guard之Snapshot Standby資料庫功能Oracle資料庫
- Data Guard之Snapshot Standby資料庫功能[轉]資料庫
- 管理邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- 盛哥學習 Data Guard 第二篇《物理standby準備和建立》
- Data Guard 之RMAN備份線上搭建物理standby
- 【DATAGUARD 學習】使用duplicate 建立物理standby 資料庫資料庫
- 建立Data guard logical standby database須知Database
- 利用RMAN建立10GRAC資料庫的DATA GUARD資料庫
- DATA GUARD物理備庫的SWITCHOVER切換
- Oracle10g Data Guard (Standby) 理論與實踐Oracle
- oracle10g 物理standby dataguard 建立過程Oracle
- 物理Standby資料庫及邏輯Standby資料庫(Physical Standby & Logical Standby)資料庫
- Oracle10g Data Guard (Standby) 理論與實踐 2Oracle
- ZT:oracle10g Data Guard新特性:物理備庫也可以read/writeOracle
- Data guard 配置之搭建物理備庫
- Oracle10g Data Guard (Standby) 理論與實踐 [final]Oracle
- using rman to creat oracle10g data guard standby db_with recoveryOracle
- 物理data guard原理的理解(zt)
- [轉]物理data guard原理的理解
- oracle10g data guard 主備資料庫配置引數說明Oracle資料庫
- 【DG】Data Guard搭建(physical standby)
- 使用Data Guard Broker進行Data Guard物理備用庫配置(Oracle 19c)Oracle
- 在單機上建立物理的Oracle9i standby資料庫(轉)Oracle資料庫
- RedHat搭建物理Data GuardRedhat
- Oracle Standby資料庫建立Oracle資料庫
- Oracle 19C Data Guard基礎運維-01安裝物理standbyOracle運維