




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫讀寫分離解決方案 -oracle 11G ADG實施方案1. 項目背景介紹1.1 目的通過DG實現(xiàn)主庫與備庫同步,主庫作為業(yè)務(wù)應(yīng)用庫,備庫作為查詢庫,應(yīng)用根據(jù)不同需求配置對應(yīng)數(shù)據(jù)庫;1.2 測試環(huán)境在2臺RedHat5.4上使用ORACLE 的DataGuard組件實現(xiàn)容災(zāi)。設(shè)備配置(VMWare虛擬機(jī)環(huán)境)清單如下:主機(jī)型號數(shù)據(jù)實例配置數(shù)據(jù)庫版本RedHat 5.4(32位)ORCLCPU:1MEM:2GOracle 11gR2 RedHat 5.4(32位)ORCLCPU:1MEM:2GOracle 11gR2 2. Oracle DataGuard
2、介紹備用數(shù)據(jù)庫(standby database)是ORACLE 推出的一種高可用性(HIGH AVAILABLE)數(shù)據(jù)庫方案,在主節(jié)點與備用節(jié)點間通過日志同步來保證數(shù)據(jù)的同步,備用節(jié)點作為主節(jié)點的備份,可以實現(xiàn)快速切換與災(zāi)難性恢復(fù)。 l STANDBY DATABASE的類型:有兩種類型的STANDBY:物理STANDBY和邏輯STANDBY兩種類型的工作原理可通過如下圖來說明:physical standby提供與主數(shù)據(jù)庫完全一樣的拷貝(塊到塊),數(shù)據(jù)庫SCHEMA,包括索引都是一樣的。它是可以直接應(yīng)用REDO實現(xiàn)同步的。logical standby則不是這樣,在logical stan
3、dby中,邏輯信息是相同的,但物理組織和數(shù)據(jù)結(jié)構(gòu)可以不同,它和主庫保持同步的方法是將接收的REDO轉(zhuǎn)換成SQL語句,然后在STANDBY上執(zhí)行SQL語句。邏輯STANDBY除災(zāi)難恢復(fù)外還有其它用途,比如用于用戶進(jìn)行查詢和報表,但其數(shù)據(jù)庫用戶相關(guān)對象均需要有主鍵。 本次實施將選擇物理STANDBY(physical standby)方式l 對主庫的保護(hù)模式可以有以下三種模式: Maximum protection (最高保護(hù))Maximum availability (最高可用性)Maximum performance (最高性能)三種保護(hù)模式區(qū)別如下:保護(hù)模式數(shù)據(jù)丟失保護(hù)重做傳輸最高保護(hù)零數(shù)據(jù)
4、丟失雙重故障保護(hù)LGWR SYNC 將重做同步傳輸至兩個站點,網(wǎng)絡(luò)中斷會導(dǎo)致主Database宕機(jī)最高可用性零數(shù)據(jù)丟失單重故障保護(hù)LGWR SYNC 重做同步傳輸最高性能最少的數(shù)據(jù)丟失LGWR ASYNC 或 ARCH 重做異步傳輸 基于項目應(yīng)用的特征及需求,本項目比較適合采用Maximum availability (最高可用性)模式實施。3. Dataguard 實施前提條件和注意事項:l 災(zāi)備環(huán)境中的所有節(jié)點必須安裝相同的操作系統(tǒng),盡可能令詳細(xì)補丁也保持相同。 l 災(zāi)備環(huán)境中的所有節(jié)點必須安裝完全相同版本的Oracle數(shù)據(jù)庫軟件,包括版本號和發(fā)布號,比如必須都是Oracle 11.2.0
5、.1 l 主庫必須處于歸檔(ARCHIVELOG)模式。 l 災(zāi)備環(huán)境中所有節(jié)點的硬件和操作系統(tǒng)架構(gòu)必須相同 l 主庫可以是單實例,也可以是RAC。 l 主節(jié)點和備用節(jié)點之間的硬件配置可以不同,比如CPU數(shù)量,內(nèi)存數(shù)量,存儲的配置等等。 l 配置災(zāi)備環(huán)境的數(shù)據(jù)庫用戶必須具有SYSDBA權(quán)限。4. Oracle軟件安裝1. 要實施DataGurad的前,需要在主機(jī)RedHat-Primary和備機(jī)RedHat-Standby上進(jìn)行ORACLE軟件的基礎(chǔ)安裝。2. 備機(jī)基礎(chǔ)軟件的安裝有兩種方式供選擇:1) 源始安裝介質(zhì)安裝采用ORACLE數(shù)據(jù)庫安裝介質(zhì)進(jìn)行軟件安裝。2) “克隆”主站源數(shù)據(jù)庫分別對
6、主站源數(shù)據(jù)庫進(jìn)行tar壓縮并FTP/rcp至備機(jī)上,然后展開壓縮文件。 通常出于便捷的原因,備機(jī)的Oracle初始建立可采用上述的第二種方式。測試環(huán)境中直接對虛擬機(jī)進(jìn)行了拷貝,因此相當(dāng)于采用了第二種方式?,F(xiàn)場環(huán)境下,如果主節(jié)點不是RAC環(huán)境,也可以采用第二種方式。4.1 環(huán)境配置RedHat5-Primary (primary , IP 31)以下簡稱主庫Single Instance Primary 說明IP31Oracle單實例InstanceORCLData,Control File,Redo File$ORACLE_BASE/orad
7、ataRedHat5-Standby (standby, IP 32) ,以下簡稱從庫。Single Instance Standby 說明IP32Oracle單實例InstanceORCLData,Control File,Redo File$ORACLE_BASE/oradata4.2 系統(tǒng)硬件環(huán)境檢查4.2.1 檢查內(nèi)存相關(guān)項檢查服務(wù)器的內(nèi)存,可以通過下列命令:rootlocalhost # grep MemTotal /proc/meminfo另外與內(nèi)存相關(guān)的swap 交換分區(qū)的設(shè)置也很重要,通常有下列的規(guī)則:實際內(nèi)存 建議swap
8、交換空間大小- -1G-2G 1.5 倍于內(nèi)存2G-16G 與內(nèi)存相同超過16G 設(shè)置為16G 即可查看當(dāng)前服務(wù)器swap 交換分區(qū)大小,可以通過下列命令:rootlocalhost # grep SwapTotal /proc/meminfo查看系統(tǒng)當(dāng)前共享內(nèi)存,可以通過df 命令,例如:rootlocalhost # df -h /dev/shm4.2.2 查看系統(tǒng)架構(gòu)本步用來查看處理器的架構(gòu)類型,需要確認(rèn)ORACLE 安裝包與處理器架構(gòu)相符,不然安裝時必然報錯。查看當(dāng)前系統(tǒng)的處理器架構(gòu)可以通過下列命令:rootlocalhost # uname mi6864.2.3 檢查磁盤空閑空間首先
9、/tmp 至少要有1g 的空閑空間,查看/tmp 的磁盤空間,也可以通過df 命令查看,例如:rootlocalhost # df -h /tmp在執(zhí)行安裝之前,建議執(zhí)行df -h 命令,查看當(dāng)前是否有充裕的空閑空間來安裝和創(chuàng)建數(shù)據(jù)庫。rootjssnode1 # df h4.3 安裝操作系統(tǒng)軟件包 l (32位 RedHat5.4)binutils-.6compat-libstdc+-33-3.2.3elfutils-libelf-0.125elfutils-libelf-devel-0.125elfutils-libelf-devel-static-0.125gcc-4.
10、1.2gcc-c+-4.1.2glibc-2.5-24glibc-common-2.5glibc-devel-2.5ksh-libaio-0.3.106libaio-devel-0.3.106libgcc-4.1.2libgomp-4.1.2libstdc+-4.1.2libstdc+-devel-4.1.2make-3.81sysstat-7.0.2查看軟件包是否已經(jīng)安裝:rootlocalhost # rpm -aq binutils compat-libstdc+-33rootlocalhost # rpm -aq | grep elfutils-libelfrootlocalhost
11、# rpm -aq | grep gccrootlocalhost # rpm -aq | grep glibcrootlocalhost # rpm -aq | grep kshrootlocalhost # rpm -aq | grep libaiorootlocalhost # rpm -aq | grep libgccrootlocalhost # rpm -aq | grep libgomprootlocalhost # rpm -aq | grep libstdc+rootlocalhost # rpm -aq | grep make-3rootlocalhost # rpm -a
12、q | grep sysstatrootlocalhost # rpm -aq | grep unixODBC通過以上命令來查看是否有未安裝的軟件包,可將未安裝的軟件包放到/rpm下,因有些包會相互依賴,最簡單的方式是將rpm包下的軟件包一起安裝:rootlocalhost #cd rpmrootlocalhost rpm#pwd/root/rpmrootlocalhost rpm#lscompat-libstdc+-33-3.2.3-61.i386.rpmelfutils-libelf-devel-0.137-3.el5.i386.rpmelfutils-libelf-devel-stati
13、c-0.137-3.el5.i386.rpmgcc-4.1.2-46.el5.i386.rpmgcc-c+-4.1.2-46.el5.i386.rpmglibc-devel-2.5-42.i386.rpmglibc-headers-2.5-42.i386.rpmkernel-headers-2.6.18-164.el5.i386.rpmlibaio-devel-0.3.106-3.2.i386.rpmlibgomp-4.4.0-6.el5.i386.rpmlibstdc+-devel-4.1.2-46.el5.i386.rpmsysstat-7.0.2-3.el5.i386.rpmunixOD
14、BC-2.2.11-7.1.i386.rpmunixODBC-devel-2.2.11-7.1.i386.rpmrootlocalhost rpm#rpm Uvh *l 64位需安裝的操作系統(tǒng)軟件包binutils-.6compat-libstdc+-33-3.2.3compat-libstdc+-33-3.2.3 (32 bit)elfutils-libelf-0.125elfutils-libelf-devel-0.125gcc-4.1.2gcc-c+-4.1.2glibc-2.5-24glibc-2.5-24 (32 bit)glibc-common-2.5glibc-
15、devel-2.5glibc-devel-2.5 (32 bit)glibc-headers-2.5ksh-libaio-0.3.106libaio-0.3.106 (32 bit)libaio-devel-0.3.106libaio-devel-0.3.106 (32 bit)libgcc-4.1.2libgcc-4.1.2 (32 bit)libstdc+-4.1.2libstdc+-4.1.2 (32 bit)libstdc+-devel 4.1.2make-3.81sysstat-7.0.2unixODBC-2.2.11unixODBC-2.2.11 (32 bit)unixODBC-
16、devel-2.2.11unixODBC-devel-2.2.11 (32 bit)4.4 修改內(nèi)核參數(shù)下列將要進(jìn)行配置的核心參數(shù)均擁有默認(rèn)值(或者說最小值),需要對其進(jìn)行配置的原因,是為了獲得更好了性能,因此對于產(chǎn)品服務(wù)器來說,務(wù)必根據(jù)實際情況進(jìn)行配置,不適當(dāng)?shù)闹捣吹箍赡苓m得其反。使用vi 命令編輯/etc/sysctl.conf 文件,例如:rootlocalhost # vi /etc/sysctl.conf將下列內(nèi)容加入該文件:fs.aio-max-nr = fs.file-max = kernel.shmall = kernel.shmmax = kernel.shmmni = 40
17、96kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = net.core.rmem_max = net.core.wmem_default = net.core.wmem_max = 注意,某些參數(shù)可能已經(jīng)存在于該文件,注意修改參數(shù)值即可。這里各參數(shù)所指定的值僅供參考,請根據(jù)實際情況進(jìn)行修改,一般來說只需要對kernel.shmmax 這個參數(shù)的參數(shù)值進(jìn)行修改即可,該參數(shù)建議修改為物理內(nèi)存的一半(以字節(jié)為單位)。編輯完之后存盤退出,然后運行下列命令重新加載并
18、驗證參數(shù)是否正確:rootjssnode1 # sysctl -p4.5 修改系統(tǒng)時間修改主機(jī)與備機(jī)的系統(tǒng)時間一致4.6 創(chuàng)建用戶和組及安裝目錄并配置環(huán)境變量創(chuàng)建用戶和組:rootlocalhost # groupadd oinstallrootlocalhost #groupadd dbarootlocalhost #useradd -g oinstall -G dba oraclerootlocalhost #passwd oracle驗證nobody用戶:rootlocalhost #id nobody創(chuàng)建Oracle的安裝目錄:注: (因虛擬機(jī)環(huán)境安裝Linux時沒有手動分區(qū),導(dǎo)致掛載
19、點” /”空間不足,所以將oracle安裝到了/home/db下,現(xiàn)場環(huán)境下Oracle應(yīng)安裝到/opt或單獨分區(qū))rootlocalhost # cd /homerootlocalhost home#mkdir db改變文件系統(tǒng)/home/db的所有者為oracle,以便將Oracle安裝到此目錄rootlocalhost home#chown oracle:oinstall db切換到oracle用戶,修改.bash_profileoraclelocalhost $ vi .bash_profile# .bash_profile# Get the aliases and functions
20、if -f /.bashrc ; then . /.bashrcfi# User specific environment and startup programsORACLE_SID=orcl ORACLE_BASE=/home/db/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID ORACLE_BASE ORACLE_HOME export LD_ASSUME_KERNEL=2.6.18export NLS_LANG=AMERICAN_AMERICA.ZHS16GBKumask 022PATH=$P
21、ATH:/$ORACLE_HOME/bin:$HOME/bin export PATH4.7 安裝Oracle數(shù)據(jù)庫本節(jié)略5. 配置DataGuard過程5.1 備注“SQL”:表示在sqlplus環(huán)境下執(zhí)行,通常是以sysdba身份登錄來執(zhí)行命令“$”或” oraclelocalhost $”:表示在命令行中執(zhí)行的命令5.2 判斷DataGuard是否安裝SQLselect * from v$option where parameter = Oracle Data Guard;5.3 網(wǎng)絡(luò)配置31(orcl)-32(orcldg)5.4 監(jiān)
22、聽配置l 主庫oraclelocalhost $ cd $ORACLE_HOME/network/adminoraclelocalhost admin$ vi listener.oraLISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 31)(PORT = 1521) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = orcl) (ORACLE_H
23、OME = /home/db/oracle/product/11.2.0/db_1) ) ) 注意:SID_LIST_LISTENER 配置的是靜態(tài)注冊,如果沒有該參數(shù),而且Data Guard 啟動順序又不正確,那么在主庫可能會報 PINGARC1: Heartbeat failed to connect to standby orcl_st. Error is 12514. 錯誤,導(dǎo)致歸檔無法完成。oraclelocalhost admin$ vi tnsnames.oraORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL
24、= TCP)(HOST = 31)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )ORCLDG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 32)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = orcldg) ) )l 備庫oraclelocalhost admin$ vi listener.oraLISTENER = (DESCRIPTI
25、ON_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 32)(PORT = 1521) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcldg) (SID_NAME = orcl) (ORACLE_HOME = /home/db/oracle/product/11.2.0/db_1) ) ) oraclelocalhost admin$ vi tnsnames.oraORCL = (DESCRIPTION = (A
26、DDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 31)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )ORCLDG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 32)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = orcldg) ) )5.5 主庫前期準(zhǔn)備設(shè)置強制寫日志SQL select
27、FORCE_LOGGING from v$database;NOSQL alter database force logging;SQL select FORCE_LOGGING from v$database;YES5.6 創(chuàng)建口令文件并將文件傳輸?shù)絺鋷煸谥鲙焐蟿?chuàng)建密碼文件,并將文件傳到備庫的相關(guān)位置oraclelocalhost dbs$ pwd/home/db/oracle/product/11.2.0/db_1/dbsoraclelocalhost bin$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracleoracleloca
28、lhost bin$ cd $ORACLE_HOME/dbs/oraclelocalhost dbs$ ls缺省情況下,win下口令文件的格式是pwdsid.ora,unix下的格式是orapwSID(大小寫敏感)傳送文件:oraclelocalhost dbs$scp -cp orapworcl oracle32:/home/db/oracle/product/11.2.0/db_1/dbsorapworcl 100% 1536 1.5KB/s 00:00oraclelocalhost dbs$5.7 創(chuàng)建備份庫需要的控制文件并傳輸?shù)絺鋷靹?chuàng)建控制文件SQLshutd
29、own immediateSQLstartup mount; SQLalter database create standby controlfile as /tmp/stdby_control01.ctl; SQLalter database open;$scp -rp /tmp/stdby_control01.ctl oracle32:/home/db/oracle/oradata/ORCL/controlfile/$scp -rp /tmp/stdby_control01.ctl oracle32:/home/db/oracle/fla
30、sh_recovery_area/ORCL/controlfile/-手工復(fù)制幾份(未執(zhí)行)$ cd /tmp/$ cp sdtby_control01.ctl stdby_control02.ctl$ cp sdtby_control01.ctl stdby_control03.ctl-5.8 修改主庫初始化參數(shù) 創(chuàng)建主庫pfile sql create pfile from spfile;修改pfileoraclelocalhost dbs$vi initorcl.ora*.db_unique_name=orcl*.log_archive_config=dg_config=(orcl,or
31、cldg) *.log_archive_dest_1=location=/home/db/oracle/oradata/ORCL/archive valid_for=(all_logfiles,all_roles) db_unique_name=orcl *.log_archive_dest_2=service=orcldg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcldg *.log_archive_dest_state_1=enable *.log_archive_dest_state_2=d
32、efer *.log_archive_format=%t_%s_%r.arc *.fal_server=orcldg*.fal_client=orcl*.standby_file_management=autopfile 拷貝到備庫上oraclelocalhost dbs$scp rp /home/db/oracle/product/11.2.0/db_1/dbs/initorcl.ora oracle32:/home/db/oracle/product/11.2.0/db_1/dbs/創(chuàng)建主庫spfileSQLShutdown immediateSQLstartup
33、 pfile=/home/db/oracle/product/11.2.0/db_1/dbs/initorcl.oraSQL create spfile from pfile=/home/db/oracle/product/11.2.0/db_1/dbs/initorcl.ora;SQL shutdown immediate;SQL startup5.9 修改數(shù)據(jù)庫運行在歸檔模式下SQL SHUTDOWN IMMEDIATE; SQL STARTUP MOUNT; SQL ALTER DATABASE ARCHIVELOG; SQL ALTER DATABASE OPEN;5.10 備份生產(chǎn)數(shù)
34、據(jù)庫$scp -rp /home/db/oracle/oradata/ORCL oracle32:/home/db/oracle/oradata/$scp rp /home/db/oracle/admin/orcl oracle32:/home/db/oracle/admin5.11 修改備庫pfileoraclelocalhost dbs$vi initorcl.ora*.db_unique_name=orcldg*.log_archive_config=dg_config=(orcldg,orcl) *.log_archive_dest_
35、1=location=/home/db/oracle/oradata/ORCL/archive valid_for=(all_logfiles,all_roles) db_unique_name=orcldg *.log_archive_dest_2=service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl *.log_archive_dest_state_1=enable *.log_archive_dest_state_2=enable *.log_archive_format=
36、%t_%s_%r.arc *.fal_server=orcl*.fal_client=orcldg*.standby_file_management=auto*.control_files=/home/db/oracle/oradata/ORCL/controlfile/stdby_control01.ctl,/home/db/oracle/flash_recovery_area/ORCL/controlfile/stdby_control01.ctl5.12 在備庫上創(chuàng)建spfile sqlshutdown immediatesqlcreate spfile from pfile;5.13
37、啟動物理備用數(shù)據(jù)庫SQLstartup nomountSQLalter database mount standby database;5.14 配置Standby Redo Log在兩邊都配置standby redo log在主庫查看日志組的數(shù)量和每個日志文件的大小SQL SELECT GROUP#, BYTES FROM V$LOG;在備庫庫查看日志組的數(shù)量和每個日志文件的大小SQL SELECT GROUP#, BYTES FROM V$STANDBY_LOG;在主備庫創(chuàng)建日志組和redo log文件SQL ALTER DATABASE ADD STANDBY LOGFILE group
38、 4(/home/db/oracle/product/11.2.0/db_1/dbs/slog4.rdo) SIZE 50M; SQL ALTER DATABASE ADD STANDBY LOGFILE group 5 (/home/db/oracle/product/11.2.0/db_1/dbs/slog5.rdo) SIZE 50M;SQLALTER DATABASE ADD STANDBY LOGFILE group 6 (/home/db/oracle/product/11.2.0/db_1/dbs/slog6.rdo) SIZE 50M;SQLALTER DATABASE ADD
39、 STANDBY LOGFILE group 7(/home/db/oracle/product/11.2.0/db_1/dbs/slog7.rdo) SIZE 50M;備注:刪除日志組redo log文件的方法SQLALTER DATABASE DROP STANDBY LOGFILE GROUP N;(N代表數(shù)字)5.15 Start Redo Apply在主數(shù)據(jù)庫上設(shè)置DataGuard的保護(hù)模式.把主數(shù)據(jù)庫啟動到mount狀態(tài)設(shè)置好DataGuard的保護(hù)模式.SQLalter system set log_archive_dest_state_2=ENABLE scope=both;
40、SQLshutdown immediate;SQLstartup mount;SQLalter database set standby database to maximize availability;SQLalter database open;在備用數(shù)據(jù)庫上啟動日志傳輸#實時應(yīng)用日志SQLalter database recover managed standby database using current logfile disconnect from session; 查看哪些歸檔日志被APPLY了SQLselect sequence#,applied from v$archiv
41、ed_log order by sequence#;在主庫強制日志切換到當(dāng)前的online redo log file.SQLalter system archive log current;在備庫查看新的被歸檔的redo dataSQL SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;在備庫查看接收到的被應(yīng)用的redoSQL select sequence#,applied from v$archived_log order by sequence#;查看數(shù)據(jù)庫的角色SQLselec
42、t database_role,protection_mode,protection_level from v$database;在主庫查看日志傳送情況SQL Select dest_name,status,error from v$archive_dest;DEST_NAME STATUS ERROR- - -LOG_ARCHIVE_DEST_1 VALIDLOG_ARCHIVE_DEST_2 VALID31 rows selected.兩個節(jié)點都正常。 驗證同步情況在主庫切換日志:SQL alter system switch logfile;System altered.SQL sele
43、ct sequence# from v$archived_log;SEQUENCE#- 15 16SQL alter system switch logfile;System altered.SQL select sequence# from v$archived_log;SEQUENCE#- 17 18在備庫進(jìn)行驗證:SQL select sequence#,applied from v$archived_log; SEQUENCE# APP- - 13 YES 4 NO 14 YES 15 YES 16 YES 18 NO 16 YES 17 YES 18 YES 19 YES同步成功。
44、至此Oracle 的Data Guard 環(huán)境已經(jīng)搭建完成。 5.16 DataGuard日常維護(hù)在日常維護(hù)中,請嚴(yán)格按照以下順序來操作:啟動順序啟動的時候,先啟動備庫,然后啟動主庫。一、啟從、主庫的監(jiān)聽Listener從庫orcldg:$lsnrctl start主庫orcl:$lsnrctl start二、啟動備庫數(shù)據(jù)庫,執(zhí)行如下:$sqlplus “/ as sysdba”SQL startup nomountSQL alter database mount standby database;#讓備庫處于standbySQL ALTER DATABASE RECOVER MANAGED
45、STANDBY DATABASE USING CURRENT LOGFILE disconnect;#開始同步三、啟動主庫數(shù)據(jù)庫(上述第二步執(zhí)行完畢后,方可執(zhí)行如下命令):SQLstartup關(guān)閉順序關(guān)閉的時候正好相反,先關(guān)閉主庫,然后關(guān)閉從庫。l 關(guān)閉主庫CMDsu oracleCMDsqlplus “/ as sysdba”SQLshutdown immediate;l 關(guān)閉從庫telnet 0su oracleCMDsqlplus “/ as sysdba”SQLalter database recover managed standby database cancel
46、;#停止同步SQLshutdown immediate查看備庫的數(shù)據(jù)SQLalter database recover managed standby database cancel;SQL alter database open read only;Database altered.SQL select count(1) from user_tables;.SQL操作完成后,需執(zhí)行以下語句以令從庫繼續(xù)處于接收狀態(tài):SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE disconnect;5.17
47、主備庫切換1. 查看主庫的狀態(tài):確認(rèn)a是否可以做switch overl 不能切換的情況SQLSELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS - SESSIONS ACTIVE在這種情況下,說明還有活動session,需要先kill掉,只留下當(dāng)前sys進(jìn)程select sid,SERIAL# from v$session where sid10; SID SERIAL# - - 12 14 17 3 查出當(dāng)前連接session SQL select distinct ss.sid from v$mystat ss; 殺掉其
48、他session SQL alter system kill session 12,14; System alteredl 可以切換的情況SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUS-TO STANDBY2.將主庫切換至備用模式SQL alter database commit to switchover to physical standby with session shutdown;3.關(guān)閉、裝載主數(shù)據(jù)庫SQL shutdown abort;SQL startup mount;4.查看備庫準(zhǔn)備向主庫模式切換S
49、QL SELECT SWITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUS-TO PRIMARY1 row selected注:如果是TO PRIMARY表示可以正常切換,不過還會遇到NOT ALLOWED和PENDING或者LATENT,實際操作下來如果備庫的switchover_status為not allowed或者to primary都可以正常切換5.切換備庫至主庫模式SQL alter database commit to switchover to primary with session shutdown;6.打開新的主數(shù)據(jù)庫SQL
50、 ALTER DATABASE OPEN;7. 在新的備庫服務(wù)器上啟動 REDO apply。 SQL alter database recover managed standby database using current logfile disconnect from session;5.18 災(zāi)難恢復(fù)(failover)Step 1 Flush any unsent redo from the primary database to the target standbydatabaseSQL ALTER SYSTEM FLUSH REDO TO target_db_name;Step 2 Verify that the standby database has the most recently archived redo logfile for each primary database redo thread.SQL SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) - OVER (PARTITION BY thread#) AS LAST from V$ARCHIVE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣播電視設(shè)備用網(wǎng)絡(luò)通信模塊考核試卷
- 城市垃圾填埋場規(guī)劃考核試卷
- 文化創(chuàng)意產(chǎn)業(yè)的資本運作與市場發(fā)展動態(tài)考核試卷
- 意外傷害保險在旅游業(yè)的風(fēng)險管理考核試卷
- 乳飲料的無乳糖配方設(shè)計與市場潛力考核試卷
- 文具企業(yè)產(chǎn)品線規(guī)劃考核試卷
- 葡萄加工售賣合同范本
- 旅游門票售賣合同范本
- 土建付款合同范本
- 第四季度營銷工作重點計劃及時間表安排方案
- 2025年幼兒園膳食工作計劃
- 《基于二維激光SLAM的AGV導(dǎo)航系統(tǒng)設(shè)計》
- 藥劑學(xué)第9版課件:第一章-緒論
- 《下載-綜合布線》課件
- 電化學(xué)儲能系統(tǒng)測試操作方法
- (高清版)DB43∕T 1588.28-2019 小吃湘菜 第28部分:武岡空餅
- 第六單元 共同面對的全球性問題 知識清單
- 老年病科重點??平ㄔO(shè)
- 工程投標(biāo)文件范本完整版
- 小學(xué)二年級開學(xué)家長會課件2024-2025學(xué)年
- 語文跨學(xué)科合作:語文與數(shù)學(xué)的融合
評論
0/150
提交評論