? ? ? ?
?摘 ? ?要
搭建data guard環(huán)境斗锭,利用RMAN DUPLICATE命令創(chuàng)建physical standby。 創(chuàng)建備庫之前需要有備庫的參數(shù)文件豺撑;同時(shí)連接主數(shù)據(jù)庫和備用數(shù)據(jù)庫烈疚,啟動(dòng)備庫到nomount狀態(tài)。備庫必須工作在recover managed模式下才能應(yīng)用主庫的redo數(shù)據(jù)聪轿。當(dāng)dataguard創(chuàng)建成功后爷肝,在計(jì)劃需求下手工的switchover,或者在主庫故障發(fā)生的情況下手工的執(zhí)行failover陆错,以確保正常的生產(chǎn)工作灯抛。為了確保dataguard的正常工作,必須經(jīng)常檢查dataguard的健康狀況來確保dataguard的安全穩(wěn)定音瓷。
一:系統(tǒng)環(huán)境介紹
我們在進(jìn)行DATAGUARD搭建的時(shí)候牧愁,需要首先確定要進(jìn)行dataguard搭建的服務(wù)器的內(nèi)存,磁盤外莲,操作系統(tǒng)等各方面的情況,以此來確定相應(yīng)的實(shí)施方案。
1.1 服務(wù)器硬件介紹
內(nèi)存的大小
[root@nxqpri ]# free -g
total ? ? ? used ? ? ? free ? ? shared ? ?
23 ? ? ? ? 23 ? ? ? ? ?0?
磁盤的規(guī)劃
[root@nxqpri ]#df -h
Filesystem ? ? ? ? ? ?Size ?Used Avail Use% Mounted o
/dev/sda1 ? ? ? ? ? ? ?29G ?6.7G ? 21G ?25% /
/dev/sda2 ? ? ? ? ? ? 1.0T ?234G ?738G ?25% /u01
tmpfs ? ? ? ? ? ? ? ? ?12G ? ? 0 ? 12G ? 0% /dev/shm
CPU的個(gè)數(shù)
[root@nxqpri ~]#cat /proc/cpuinfo |grep physical |wc -l
48
服務(wù)器的型號(hào)
[root@nxqpri ~]#dmidecode |grep "Product Name"
Product Name: PowerEdge R710
1.2 服務(wù)器軟件介紹
操作系統(tǒng)版本:
[root@nxqpri ~]#cat /etc/issue |grep Linux
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
操作系統(tǒng)的內(nèi)核信息
[root@nxqpri ~]#uname -a
Linux nxqpri 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
數(shù)據(jù)庫的版本信息
SQL>select * from v$version偷线;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
1.3 網(wǎng)絡(luò)環(huán)境介紹
數(shù)據(jù)庫的服務(wù)器只配置了內(nèi)網(wǎng)網(wǎng)絡(luò)
主庫的IP地址
[root@nxqpri ~]#ifconfig eth0
eth0 ? ? ?Link encap:Ethernet ?HWaddr D4:AE:52:63:94:53 ?
? ? ? ? ? inet addr:192.168.1.252 ?Bcast:192.168.1.255 ?Mask:255.255.255.0
備庫的IP的地址
[root@nxqstd ~]#ifconfig eth0
eth0 ? ? ?Link encap:Ethernet ?HWaddr D4:AE:52:64:16:83 ?
? ? ? ? ? inet addr:192.168.1.254 Bcast:192.168.1.255 ?Mask:255.255.255.0
二:DATAGUARD的搭建
2.1 primary database(主庫)的搭建
1.使用OUI安裝數(shù)據(jù)庫軟件?
在primary(主庫)搭建數(shù)據(jù)庫軟件磨确,建立lsnrctl監(jiān)聽,采用dbca搭建實(shí)例声邦,在standby(備庫)上搭建數(shù)據(jù)庫軟件乏奥,建立監(jiān)聽,但是不需要采用dbca建立實(shí)例亥曹。
? ? 使用DBCA創(chuàng)建數(shù)據(jù)庫,全局?jǐn)?shù)據(jù)庫名:orcl ?實(shí)例名:orcl
2.以oracle身份登錄系統(tǒng)邓了,連接主庫,啟動(dòng)到 mount狀態(tài)媳瞪,數(shù)據(jù)庫處于正常啟動(dòng)狀態(tài)先停庫再啟動(dòng)
SQL>Startup mount
3.修改數(shù)據(jù)庫強(qiáng)制記錄日志
SQL>alter database force logging;
4.?確定數(shù)據(jù)庫是否處于歸檔模式庫骗炉,如果創(chuàng)建數(shù)據(jù)庫時(shí)沒有選擇歸檔,將數(shù)據(jù)庫改為歸檔模式
a.查詢數(shù)據(jù)庫是否處于歸檔
SQL> archive log list;
b.更改數(shù)據(jù)庫為歸檔模式(改模式不能在Startup啟動(dòng)模式下)
SQL>alter database archivelog;
5.開啟閃回?cái)?shù)據(jù)庫(不是必須的)
SQL> alter database flashback on;
Database altered.
6.根據(jù)spfile文件創(chuàng)建pfile蛇受,關(guān)閉數(shù)據(jù)庫句葵。
? ?SQL>Create pfile from spfile?
? ?SQL>shutdown immediate
7.修改pfile 文件
a.備份修改文件
#cp $ORACLE_HOME/dbs/initorcl.ora $ORACLE_HOME/dbs/initorcl.ora.bak
#vim $ORACLE_HOME/dbs/initorcl.ora
b.在參數(shù)文件文件里面添加如下內(nèi)容
為每個(gè)數(shù)據(jù)庫指定唯一性名稱? ?
db_unique_name='pdb' ?
允許數(shù)據(jù)庫發(fā)送和接收日志
log_archive_config='dg_config=(pdb,sdb)'
兩個(gè)參數(shù)連接的是網(wǎng)絡(luò)字符名
fal_server=sdb
fal_client=pdb
表示的是本地歸檔日志的存儲(chǔ)路徑
log_archive_dest_1='location=‘/u01/app/archivelog'
表示當(dāng)數(shù)據(jù)庫處于什么角色的時(shí)候,將什么日志兢仰,以什么樣的方式傳輸?shù)侥呐_(tái)遠(yuǎn)端服務(wù)器
log_archive_dest_2='service=sdb lgwr sync affirm valid_for=(online_logfiles,primary_role) ?db_unique_name=sdb'
允許重做日志傳輸?shù)街付康牡?/p>
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
當(dāng)設(shè)置成auto的時(shí)候乍丈,你對(duì)primary database的數(shù)據(jù)文件的增加,resize等操作的時(shí)候把将,standbydatabase將會(huì)自動(dòng)的進(jìn)行同步而不需要DBA在standby進(jìn)行人工的干預(yù)
standby_file_management=AUTO
***** /u01/app/archivelog主備服務(wù)器上該目錄比較存在
8.采用pfile文件啟動(dòng)數(shù)據(jù)庫轻专。(確定數(shù)據(jù)庫是否能正常啟動(dòng))
SQL>startup pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
9.為主數(shù)據(jù)庫創(chuàng)建監(jiān)聽,在oracle用戶下
[oracle@nxqpri admin]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin
創(chuàng)建監(jiān)聽后添加以下內(nèi)容察蹲,連接服務(wù)名默認(rèn)為orcl
[oracle@nxqpri admin]$ vi? listener.ora
SID_LIST_LISTENER =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (GLOBAL_DBNAME = orcl)
? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
? ? ? (SID_NAME = orcl)
? ? )
? ? (SID_DESC =
? ? ? (SID_NAME = PLSExtProc)
? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
? ? ? (PROGRAM = extproc)
? ? )
? )
創(chuàng)建連接服務(wù)服務(wù)監(jiān)聽
[oracle@nxqpri admin]$ vi? tnsnames.ora?
PDB =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.252)(PORT = 5530))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = orcl)
? ? )
? )
SDB =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 5530))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = orcl)
? ? )
2.2 NFS的搭建(可以不用nfs)
通過合理的使用NFS请垛,能夠簡化文件的傳輸和降低磁盤的壓力。
1递览、在主庫上面(192.168.1.252)上修改文件
?[root@nxqpri ~]# ? vi /etc/exports
? ???/u01/app/archivelog ? 192.168.1.0/24(rw,no_root_squash,async)
[root@nxqpri ~]# chkconfig --list|grep portmap
portmap ? ? ? ? 0:off ? 1:off ? 2:off ? 3:on ? ?4:on ? ?5:on ? ?6:off
[root@nxqpri ~]# ?service portmap start
[root@nxqpri ~]# service nfs start
2.在備用數(shù)據(jù)庫上面(192.168.1.254)進(jìn)行nfs掛載
查看能否識(shí)別到主庫(192.168.1.252)上面的nfs磁盤:
[root@nxqst ~]# showmount -e 192.168.1.190
? ? ?Export list for 192.168.1.190:
? ? ? ?/u01/e3data 192.168.1.0/24
如果能夠識(shí)別的到叼屠,那么進(jìn)行掛載
# mount -t nfs -o rw,bg,tcp,hard,nointr,wsize=32768,rsize=32768 192.168.1.252:/u01/app/archivelog ? /u01/app/archivelog
在生產(chǎn)環(huán)境操作的時(shí)候,如果網(wǎng)絡(luò)帶寬的速度沒有磁盤的速度快绞铃,一般要加上相關(guān)的參數(shù)進(jìn)行限制
mount -t nfs -o rw,bg,tcp,hard,nointr,wsize=32768,rsize=32768 192.168.1.5:/dgbackup ? ?/dgbackup
2.3:使用RMAN備份數(shù)據(jù)庫(主庫)
1.備份當(dāng)前的控制文件
RMAN > rman target sys/oracle
RMAN > backup format '/u01/app/archivelog/bk_%U' current controlfile for standby
此處的路徑為NFS掛載的路徑
2.備份數(shù)據(jù)和歸檔
RMAN > backup format '/u01/app/archivelog/dbk_arch_%U' database plus archivelog;
也可以選擇不備份歸檔日志文件
2.2?physical standby database(備庫)創(chuàng)建
1.安裝數(shù)據(jù)庫軟件镜雨,本實(shí)驗(yàn)選擇安裝軟件的路徑與主庫相同
? 這個(gè)步驟只安裝軟件,不安裝數(shù)據(jù)庫儿捧,軟件的版本也應(yīng)該和主庫的一樣
2.參考主庫創(chuàng)建備庫上相應(yīng)的文件目錄(注意目錄名及位置不能寫錯(cuò)荚坞,否則創(chuàng)建過程會(huì)失敗)
?需要添加的文件目錄如下:
閃回區(qū)的相關(guān)目錄添加:
[oracle@nxqpri ~]$ cd ?$ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir flash_recovery_area
[oracle@nxqpri flash_recovery_area]$ ?mkdir ORCL
[oracle@nxqpri ORCL]$ ?mkdir ?onlinelog
Dump文件相關(guān)目錄的添加
[oracle@nxqpri ~]$ cd $ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir admin
[oracle@nxqpri admin]$ mkdir orcl
[oracle@nxqpri orcl]$ mkdir {a,b,c,dp,u}dump
[oracle@nxqpri orcl]$ mkdir pfile
數(shù)據(jù)庫參數(shù)文件放置位置目錄的添加
[oracle@nxqpri orcl]$ cd $ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir oradata/
[oracle@nxqpri oracle]$ cd oradata/
[oracle@nxqpri oradata]$mkdir orcl
歸檔日志目錄添加
$ mkdir/u01/app/archivelog
3.傳輸相關(guān)的文件
?將主庫上面的參數(shù)文件菲盾,密碼文件傳輸?shù)絺溆脭?shù)據(jù)庫上面去颓影,在備用數(shù)據(jù)庫上面放在的位置應(yīng)該和主庫該文件放置的位置一樣。
參數(shù)文件
[oracle@nxqpri ]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora ?
oracle@192.168.1.254:/u01/app/oracle/product/11.2.0/db_1/dbs/
密碼文件
[oracle@nxqpri ]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl.ora ?
oracle@192.168.1.254:/u01/app/oracle/product/11.2.0/db_1/dbs/
注意:要是ssh的端口做了修改的話懒鉴,我們需要在scp過程的時(shí)候诡挂,添加 –P [端口數(shù)] 參數(shù)來進(jìn)行傳輸碎浇。
4、備用數(shù)據(jù)庫參數(shù)的修改
參數(shù)的含義同主庫的含義一樣
db_unique_name='sdb'
log_archive_config='dg_config=(pdb,sdb)'
fal_server=pdb
fal_client=sdb
log_archive_dest_1='location=/u01/app/archivelog'
log_archive_dest_2='service=pdb lgwr sync affirm valid_for=(online_logfiles,primary_role) ?db_unique_name=pdb'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
standby_file_management=AUTO
5. 為備庫創(chuàng)建監(jiān)聽(方法同主庫)
netca
6. 為備庫創(chuàng)建網(wǎng)絡(luò)服務(wù)命名(方法同主庫)
[root@dgsto-pri u01]# vi /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
HPPRI =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.40.201)(PORT = 1521))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = hppri)
? ? )
? )
7.此時(shí)啟動(dòng)兩臺(tái)服務(wù)器的監(jiān)聽璃俗,并確認(rèn)是否能夠正常的連接
lsnrctl start 啟動(dòng)監(jiān)聽
lsnrctl stop 停止監(jiān)聽
lsnrctl status 查看監(jiān)控運(yùn)行狀態(tài)
tnsping + 實(shí)例名? 檢查是否能識(shí)別到其他實(shí)例
sqlplus?sys/oracle@egap?as?sysdba? 檢查是否能登錄數(shù)據(jù)庫
sqlplus?sys/oracle@egapdb?as?sysdba 檢查是否能登錄數(shù)據(jù)庫
8.使用initsdb.ora啟動(dòng)數(shù)據(jù)庫到nomount狀態(tài)奴璃。
SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
9. 啟動(dòng)rman使用 rman duplicate 創(chuàng)建備用數(shù)據(jù)庫
[oracle@nxqstd ]$ rman target sys/oracle@pdb auxiliary sys/oracle
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Nov 11 18:01:00 2008
Copyright (c) 1982, 2005, Oracle. ?All rights reserved.
connected to target database: DB (DBID=1434261387)
connected to auxiliary database: DB (not mounted)
RMAN> duplicate target database for standby nofilenamecheck;
在啟用恢復(fù)模式之前可以先用建好standbylog日志文件
10.修改數(shù)據(jù)庫為恢復(fù)管理模式,以使備庫能夠應(yīng)用主庫的redo 數(shù)據(jù)城豁,達(dá)到同步
SQL> alter database recover managed standby database disconnect from session;
11. 查看備用數(shù)據(jù)庫的日志應(yīng)用情況
SQL> ?select sequence#,first_time,next_time,applied from v$archived_log order by ? sequence#;
SEQUENCE# FIRST_TIM NEXT_TIME APP
---------- --------- --------- ---
? ? ? ? 13 11-NOV-08 11-NOV-08 YES
? ? ? ? 14 11-NOV-08 12-NOV-08 YES
? ? ? ? 15 12-NOV-08 12-NOV-08 YES
? ? ? ? 16 12-NOV-08 12-NOV-08 YES
12.為兩數(shù)據(jù)庫分別創(chuàng)建standby日志文件
主庫
SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standbylog01.log' size 500m;
SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standbylog02.log' size 500m;
SQL> alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standbylog03.log' size 500m;
SQL> alter database add standby logfile group 8 '/u01/app/oracle/oradata/orcl/standbylog04.log' size 500m;
備庫
停止redo應(yīng)用
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standbylog01.log' size 500m;
Database altered.
SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standbylog02.log' size 500m;
Database altered.
SQL> alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standbylog03.log' size 500m;
Database altered.
再起動(dòng)redo應(yīng)用
SQL> alter database recover managed standby database disconnect from session;
Database altered
11.再次查看備庫日志應(yīng)用情況
SQL> ?select sequence#,first_time,next_time,applied from v$archived_log order by ? sequence#;
SEQUENCE# FIRST_TIM NEXT_TIME APP
---------- --------- --------- ---
? ? ? ? 15 11-NOV-08 11-NOV-08 YES
? ? ? ? 16 11-NOV-08 12-NOV-08 YES
? ? ? ? 17 12-NOV-08 12-NOV-08 YES
? ? ? ? 18 12-NOV-08 12-NOV-08 YES
12.確定相關(guān)教程都已經(jīng)啟動(dòng)
SQL> select process,status from v$managed_standby;
PROCESS ? STATUS
--------- ------------
ARCH ? ? ?CLOSING
ARCH ? ? ?CLOSING
MRP0 ? ? ?WAIT_FOR_LOG
RFS ? ? ? IDLE
RFS ? ? ? IDLE
查詢歸檔日志序列和磁盤空間
select sequence#,applied,deleted from v$archived_log;
快速查看DG的報(bào)錯(cuò)信息
select?error?from?v$archive_dest?where?target='STANDBY'
至此物理standby已經(jīng)搭建成功
三:手工的switchover與failover
3.1 手工的switchover
1.查看主數(shù)據(jù)庫可轉(zhuǎn)換的狀態(tài)
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
2.執(zhí)行切換命令轉(zhuǎn)換primary 到 physical standby
SQL>alter database commit to switchover to physical standby with session shutdown
Database altered.
如果查詢到的可轉(zhuǎn)換狀態(tài)為to standby苟穆,則切換命令為
SQL>alter database commit to switchover to physical standby
3.關(guān)閉數(shù)據(jù)庫并啟動(dòng)到mount狀態(tài)
SQL> shutdown immediate;
SQL> startup mount;
Database mounted.
4. 查看備庫可轉(zhuǎn)換的狀態(tài)
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
5.將備庫 轉(zhuǎn)換為primary
SQL> alter database commit to switchover to primary;
Database altered.
6.將新的主庫打開
SQL>shutdown immediate;
SQL> startup ;
Database opened.
注:在打開新的主數(shù)據(jù)庫時(shí),如果新的主數(shù)據(jù)庫在作為備用庫時(shí)曾以READ ONLY的方式打開過唱星,則應(yīng)重啟數(shù)據(jù)庫雳旅,否則可直接執(zhí)行如下操作
SQL> alter database open;
Database altered.
7.Sdb作為新備庫啟動(dòng),設(shè)置恢復(fù)管理模式
SQL> alter database recover managed standby database disconnect from session;
Database altered.
8.查看新備庫pdb的日志應(yīng)用情況
3.2 手動(dòng)的failover
1.對(duì)備用數(shù)據(jù)庫進(jìn)行失敗轉(zhuǎn)移初始化
SQL> alter database recover managed standby database finish force;
Database altered.
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE ? ? ?PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE ?MAXIMUM PERFORMANCE
當(dāng)進(jìn)行失敗轉(zhuǎn)移后间聊,數(shù)據(jù)庫的保護(hù)模式將由最大可用模式變?yōu)樽畲笮阅苣J?/p>
2.將備庫轉(zhuǎn)換為主庫并打開新的主庫
SQL> alter database commit to switchover to primary;
Database altered.
SQL> alter database open;
Database altered.
4攒盈、DATAGUARD的日常檢查工作
1.確定主庫,并查看當(dāng)前的日志號(hào)
SQL> select database_role from v$database; ? ??
DATABASE_ROLE
----------------
PRIMARY
SQL> archive log list
Database log mode ? ? ? ? ? Archive Mode
Automatic archival ? ? ? ? ? Enabled
Archive destination ? ? ? ? ?/u01/app/archivelog
Oldest online log sequence ? ?417
Next log sequence to archive ? 420
Current log sequence ? ? ? ? 420
2:確定備用數(shù)據(jù)庫不存在日志斷點(diǎn):
SQL> select * from v$archive_gap;
no rows selected ?
3:確定備用數(shù)據(jù)庫甸饱,并查看當(dāng)前應(yīng)用的日志序號(hào)
SQL> select sequence#,applied from v$archived_log;
?SEQUENCE# APP
---------- ---
? ? ? ?414 YES
? ? ? ?415 YES
? ? ? ?416 YES
? ? ? ?417 YES
? ? ? ?418 YES
? ? ? ?419 YES
4.在主庫查看當(dāng)前日志傳輸是否正常
SQL> col status for a10
SQL> col destination for a10
SQL> col error a10
SQL> col error for a10
SQL> select dest_id,status,destination,error from v$archive_dest where dest_id <=2;
? ?DEST_ID STATUS ? ? DESTINATIO ERROR
---------- ---------- ---------- ----------
? ? ? ? ?1 VALID ? ? ?/u01/app/archivelog
? ? ? ? ?2 VALID ? ? ?sdb
5.在備庫上面確認(rèn)相關(guān)的進(jìn)程已經(jīng)啟動(dòng)
SQL> select process,status,sequence# from v$managed_standby; ?
PROCESS ? STATUS ? ? ? ?SEQUENCE#
--------- ------------ ----------
ARCH ? ? ?CLOSING ? ? ? ? ? ? 419
ARCH ? ? ?CLOSING ? ? ? ? ? ? 418
MRP0 ? ? ?WAIT_FOR_LOG ? ? ? ?420
RFS ? ? ? IDLE ? ? ? ? ? ? ? ? ?0
RFS ? ? ? IDLE ? ? ? ? ? ? ? ?420
RFS ? ? ? IDLE ? ? ? ? ? ? ? ? ?0
通過以上的過程可以確認(rèn)沦童,DG是處于健康狀態(tài)的
6.已經(jīng)被應(yīng)用的日志的刪除
?因?yàn)橄嚓P(guān)的日志已經(jīng)在備用數(shù)據(jù)庫上面被引用,基于空間的考慮叹话,我們可以刪除一些日志偷遗,只保留部分日志。
相關(guān)刪除腳本如下:
6.1 建立相關(guān)的定時(shí)任務(wù)
[root@nxqpri ~]# crontab -l
0 03 * * * ?su ?- oracle -c "/home/oracle/rman_del.sh"
相關(guān)刪除的腳本
[oracle@nxqpri ~]$ cat rman_del.sh?
rman target sys/oracle ?msglog=/home/oracle/log/`date '+%Y%m%d'`.log cmdfile=/home/oracle/rman_del.rman
[oracle@nxqpri ~]$ cat rman_del.rman?
run {
? #allocate channel cha_full type disk;
? #CONFIGURE CONTROLFILE AUTOBACKUP ON;
? #crosscheck backup;
? #crosscheck archivelog all;
? delete noprompt archivelog until time "sysdate-10";
? #release channel cha_full;
? ? }
附Switchover_Status值的含義
NOT ALLOWED
當(dāng)前的數(shù)據(jù)庫不是帶有備用數(shù)據(jù)庫的主數(shù)據(jù)庫
PREPARING DICTIONARY
該邏輯備用數(shù)據(jù)庫正在向一個(gè)主數(shù)據(jù)庫和其他備用數(shù)據(jù)庫發(fā)送它的重做數(shù)據(jù)驼壶,以便為切換做準(zhǔn)備
PREPARING SWITCHOVER
接受用于切換的重做數(shù)據(jù)時(shí)氏豌,邏輯備用配置會(huì)使用它
RECOVERY NEEDED
備用數(shù)據(jù)庫還沒有接收到切換請求
SESSIONS ACTIVE
在主數(shù)據(jù)庫中存在活動(dòng)的SQL會(huì)話;在繼續(xù)執(zhí)行之前必須斷開這些會(huì)話
SWITCHOVER PENDING
適用于那些已收到主數(shù)據(jù)庫切換請求但是還沒有處理該請求的備用數(shù)據(jù)庫
SWITCHOVER LATENT
切換沒有完成并返回到主數(shù)據(jù)庫
TO LOGICAL STANDBY
主數(shù)據(jù)庫已經(jīng)收到了來自邏輯備用數(shù)據(jù)庫的完整的字典
TO PRIMARY
該備用數(shù)據(jù)庫可以轉(zhuǎn)換為主數(shù)據(jù)庫
TO STANDBY
該主數(shù)據(jù)庫可以轉(zhuǎn)換為備用數(shù)據(jù)庫