




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
racle數(shù)據(jù)庫(kù)日常維護(hù)手冊(cè)
編號(hào):_____
OraclelOg數(shù)據(jù)庫(kù)
保護(hù)手冊(cè)
日期:_______
編寫:_______
核對(duì):_______
更新:_______
目錄
1.檢查數(shù)據(jù)庫(kù)基本狀況3
1.1.檢查ORACLE實(shí)例狀態(tài)3
1.2.檢查ORACLE服務(wù)進(jìn)程3
1.3.檢查ORACLE監(jiān)聽狀態(tài)4
2.檢查系統(tǒng)與ORACLE日志文件5
2.1.檢查操作系統(tǒng)日志文件5
2.2.檢查ORACLE日志文件5
2.3.檢查ORACLE核心轉(zhuǎn)儲(chǔ)目錄6
2.4.檢查ROOT用戶與ORACLE用戶的EMAIL6
3.檢查ORACLE對(duì)象狀態(tài)6
3.1.檢查ORACLE操縱文件狀態(tài)6
3.2.檢查ORACLE在線n志狀態(tài)6
3.3.檢查ORACLE表空間的狀態(tài)7
3.4.檢查ORACLE所有數(shù)據(jù)文件狀態(tài)7
3.5.檢查無(wú)效對(duì)象8
3.6.檢查所有回滾段狀態(tài)8
4.檢查ORACLE有關(guān)資源的使用情況9
4.1.檢查ORACLE初始化文件中有關(guān)參數(shù)值9
4.2.檢查數(shù)據(jù)庫(kù)連接情況10
4.3.檢查系統(tǒng)磁盤空間11
4.4.檢查表空間使用情況11
4.5.檢查一些擴(kuò)展特殊的對(duì)象12
4.6.檢查SYSTEM表空恒內(nèi)的內(nèi)容12
4.7.檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值13
5.檢查ORACLE數(shù)據(jù)庫(kù)備份結(jié)果13
5.1.檢查數(shù)據(jù)庫(kù)備份日志信息13
5.2.檢查BACKUP卷中文件產(chǎn)生的時(shí)間13
5.3.檢查ORACLE用戶的EMAIL14
6.檢查ORACLE數(shù)據(jù)庫(kù)性能14
6.1.檢查數(shù)據(jù)庫(kù)的等待事件14
6.2.DISKREAD最高的SQL語(yǔ)句的獲取14
6.3.查找前十條性能差的SQL14
6.4.等待時(shí)間最多的5個(gè)系統(tǒng)等待事件的獲取14
6.5.檢查運(yùn)行很久的SQL15
6.6.檢查消耗CPU最高的進(jìn)程15
6.7.檢查碎片程度高的表15
6.8.檢查表空間的I/O比例15
6.9.檢查文件系統(tǒng)的I/O比例16
6.10.檢查死鎖及處理16
6.11.檢查數(shù)據(jù)庫(kù)CPU、I/O、內(nèi)存性能16
6.12.查看是否有僵死進(jìn)程17
6.13.檢查行鏈接/遷移17
6.14.定期做統(tǒng)計(jì)分析18
6.15.檢查緩沖區(qū)命中率18
6.16.檢查共享池命中率18
6.17.檢查排序區(qū)19
6.18.檢查日志緩沖區(qū)19
7.檢查數(shù)據(jù)庫(kù)安全性19
7.1.檢杳系統(tǒng)安全日志信息19
7.2.檢查用戶修改密碼20
8.其他檢查20
8.1.檢查當(dāng)前CRONTAB任務(wù)是否正常20
8.2.ORACLEJOB是否有失敗20
8.3.監(jiān)控?cái)?shù)據(jù)量的增長(zhǎng)情況21
8.4.檢查失效的索引21
8.5.檢查不起作用的約束22
8.6.檢查無(wú)效的TRIGGER22
巡檢內(nèi)容
1.檢查數(shù)據(jù)庫(kù)基本狀況
在本節(jié)中耍緊對(duì)數(shù)據(jù)庫(kù)的基本狀況進(jìn)行檢查,其中包含:險(xiǎn)查Oracle實(shí)例狀態(tài),檢查
Oracle服務(wù)進(jìn)程,檢查Oracle監(jiān)聽進(jìn)程,共三個(gè)部分。
1.1.檢查Oracle實(shí)例狀態(tài)
SQL>selectinstance_name,hos:_name,startup_tinie,status,database_statusfromv$instance;
INSTANCE_NAMEHOST_NAMESTARTUP_TIMESTATUSDATABASE.STATUS
CKDBAS142009-5-79:3OPENACTIVE
其中“STATUS”表示Oracle當(dāng)前的實(shí)例狀態(tài),務(wù)必為“OPEN”:“DATABASESTATUS”表示
Oracle豈前數(shù)據(jù)隹的狀態(tài),務(wù)必為“ACTIVE-
SQL>selectname,log_mode,open_modefromv$database;
NAMELOG_MODEOPEN_MODE
CKDBARCHIVELOGREADWRITE
其中“LOG_MODE”表示0詠1屬前的歸檔方式JARCHIVELCC”表示數(shù)據(jù)庫(kù)運(yùn)行在歸檔模
式卜?,“NOARCHIVELOG”表示數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式下。在我們的系統(tǒng)中數(shù)據(jù)庫(kù)務(wù)必運(yùn)
行在歸檔方式下。
1.2.檢查Oracle服務(wù)進(jìn)程
$ps-etlgrepora_|grep-vgrep&&ps-eflgrepora_|grep-vgreplwc-I
oracle296010May07?00:01:02ora_pmon_CKDB
oracle296210Ma>07?00:00:22ora_pspO_CKDB
oracle296410May07?00:00:00ora_mman_CKDB
oracle296610May07?00:03:20ora_dbw0_CKDB
oracle296810May07?00:04:29ora_lgwr_CKDB
oracle297010May07?00:10:31ora_ckpt_CKDB
oracle297210May07?00:03:45ora_smon_CKDB
oracle297410May07?00:00:00ora_reco_CKDB
oracle297610Ma>07?00:01:24ora_cjqO_CKDB
oracle297810May07?00:06:17ora_mmon_CKDB
oracle298010May07?00:07:26ora_mmnl_CKDB
oracle298210May07?00:00:00ora_d000_CKDB
oracle298410Ma>07?00:00:00ora_s000_CKDB
oracle299410Ma>07?00:00:28ora_arc0_CKDB
oracle299610May07?00:00:29ora_arcl_CKDB
oracle300010May07?00:00:00ora_qmnc_CKDB
oracle362510May07?(X):01:40ora_q(XM)_CKDB
oracle3159410Jul20?00:00:00ora_q003_CKDB
oracle238021005:09?00:00:33oraJ000_CKDB
19
在檢查Oracle的進(jìn)程命令輸由后,輸出顯示至少應(yīng)包含下列一些進(jìn)程:
.Oracle寫數(shù)據(jù)文件的進(jìn)程,輸出顯示為:^oradbwOCKDB''
.Oracle寫日志文件的進(jìn)程,輸出顯示為:“ora」gwr_CKDB”
.Oracle監(jiān)聽實(shí)例狀態(tài)的進(jìn)程,輸出顯示為:“ora_smonCKDB”
.Oracle監(jiān)聽客戶端連接進(jìn)程狀態(tài)的進(jìn)程,輸出顯示為:“ora_pnK)n_CKDB”
.Oracle進(jìn)行歸檔的進(jìn)程,輸已顯示為:“ora_arcO_CKDB”
.Oracle進(jìn)行檢查點(diǎn)的進(jìn)程,輸出顯示為:“ora_ckpt_CKDB”
.Oracle進(jìn)行恢復(fù)的進(jìn)程,輸匕顯示為:“ora_reco_CKDB”
1.3.檢查Oracle監(jiān)聽狀態(tài)
/home/oracle>lsnrctlstatus
LSNRCTLforLinux:VersionI.0-Productionon23-JUL-2009I4:ll:53
Copyright(c)1991,2005,Oracle.Allrightsreserved.
Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUSoftheLISTENER
AliasLISTENER
Vers沁nTNSLSNRforLinux:VersionI0.2.C.2.0-Production
StartDateO7-MAY-2OO909:35:52
Uptime77days4hr.36min.0sec
TraceLeveloff
SecurityON:LocalOSAuthentication
SNMPOFF
LislcnciParaiiiclcrFile/daia/uracIc/pioducl/lO.Z.O/neiwuik/adiiiiii/listciicr.ora
ListenerLogFile/data/oracle/product/10.2.0/network/lo^/listcncr.log
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521)))
ServicesSummary...
Service"CKDB"has1instance(s).
Instance"CKDB",statusREADY,hasIhandler(s)forthisservice...
Service"CKDBXDB"has1instance(s).
Instance"CKDB",statusREADY,has1handler(s)forthisservice...
Service"CKDB_XPT"hasIinstance(s).
Instance"CKDB",statusREADY,has1handler(s)forthisservice...
Thecommandcompletedsuccessfully
“ServicesSummary”項(xiàng)表示Oracle的監(jiān)聽進(jìn)程正在監(jiān)聽什么數(shù)據(jù)庫(kù)實(shí)例,輸出顯示中至少應(yīng)
該有“CKDB”這一項(xiàng)。
檢查監(jiān)聽進(jìn)程是否存在:
loracle@AS14~]$ps-eflgieplsn|grep-vgrep
oracle295410May07?00:01:17/data/oracle/product/10.2.0/bin/tnslsnr
LISTENER-inherit
2.檢查系統(tǒng)與oracle日志文件
在本節(jié)要緊檢查有關(guān)的日志文件,包含:檢查操作系統(tǒng)的m志文件,檢查Oracle日志
文件,檢查Oracle核心轉(zhuǎn)儲(chǔ)E錄,檢查Root用戶與Oracle用戶的email,總共四個(gè)部分。
2.1.檢查操作系統(tǒng)日志文件
#cat/var/log/messages|grepfailed
查看是否有與Oracle用戶有關(guān)的出錯(cuò)信息
2.2.檢查oracle日志文件
[oracle@ASI4~]Scat/data/oracle/admin/CKDB/b<iump/alert_CKDB.logIgrepora-
[oracle@AS14~]Scat/data/oracle/admin/CKDB/bdump/aleri_CKDB.logIgreperr
[oracle@ASl4cat/data/oracle/admin/CKDB/bdump/alert_CKD氏logIgrepfail
Oracle在運(yùn)行過(guò)程中,會(huì)在警告日志文件(alcrl_SID.Io口中記錄數(shù)據(jù)庫(kù)的一些運(yùn)行情況:數(shù)據(jù)
庫(kù)的啟動(dòng)、關(guān)閉,啟動(dòng)時(shí)的非缺省參數(shù);數(shù)據(jù)庫(kù)的重做日志切換情況,記錄每次切換的時(shí)間,
及假如由于檢查點(diǎn)(checkpoint)操作沒(méi)有執(zhí)行完成造成不能切換,會(huì)記錄不能切換的原因;
對(duì)數(shù)據(jù)庫(kù)進(jìn)行的某些操作,如創(chuàng)建或者刪除表空間、增加數(shù)據(jù)文件:數(shù)據(jù)庫(kù)發(fā)生的錯(cuò)誤,如
表空間不夠、出現(xiàn)壞塊、數(shù)據(jù)庫(kù)內(nèi)部錯(cuò)誤(ORA-600)等。定期檢查日志文件,根據(jù)日志中
發(fā)現(xiàn)的問(wèn)題及時(shí)進(jìn)行處理:
問(wèn)題處理
啟動(dòng)參數(shù)不對(duì)檢查初始化參數(shù)文件
由于檢查點(diǎn)操作或者歸檔操作沒(méi)有完成假如經(jīng)常發(fā)生這樣的情況,能夠考慮增加重.做日
造成重做日志不能切換志文件組;想辦法提高檢查點(diǎn)或者歸檔操作的效
率;
有人未經(jīng)授權(quán)刪除了表空間檢查數(shù)據(jù)庫(kù)的安全問(wèn)題,是否密碼太簡(jiǎn)單;如有
必要,撤消某些用戶的系統(tǒng)權(quán)限
出現(xiàn)壞塊檢查是否是硬件問(wèn)題[如磁盤本生有壞塊),假如不
是,檢查是那個(gè)數(shù)據(jù)庫(kù)對(duì)象出現(xiàn)了壞塊,對(duì)這個(gè)
對(duì)象進(jìn)行重建
表空間不夠增加數(shù)據(jù)文件到相應(yīng)的表空問(wèn)
出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容杳看相應(yīng)的TRC文件,假如
是Oracle的bug,要及時(shí)打上相應(yīng)的補(bǔ)丁
Listener日志:SORACLE_HOME/network/log
2.3.檢查Oracle核心轉(zhuǎn)儲(chǔ)目錄
$ls$ORACLE_BASE/admin/CKDB/cdump/*.trc|wc-I
$ls$ORACLE_BASE/admin/CKDB/udump/*.trc|wc-I
假如上面命令的結(jié)果每天都在增長(zhǎng),則說(shuō)明Oracle進(jìn)程經(jīng)常發(fā)生核心轉(zhuǎn)儲(chǔ)。這說(shuō)明某些用
戶進(jìn)程或者者數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程由于無(wú)法處理的原因而特殊退出,頻繁的核心轉(zhuǎn)儲(chǔ)特別是數(shù)據(jù)
庫(kù)后臺(tái)進(jìn)程的核心轉(zhuǎn)儲(chǔ)會(huì)導(dǎo)致數(shù)據(jù)庫(kù)特殊終止。
2.4.檢查Root用戶與Oracle用戶的email
#tail-n200Zvar/mail/root
#tail-n200/var/mail/oracle
查看有無(wú)與Oracle用戶有關(guān)的出錯(cuò)信息。
3.檢查Oracle對(duì)象狀態(tài)
在本節(jié)要緊檢查有關(guān)Oracle對(duì)象的狀態(tài),包含:檢查。racle操縱文件狀態(tài),檢查Oracle
在線U志狀態(tài),檢查Oracle表空間的狀態(tài),檢查Oracle所有數(shù)據(jù)文件狀態(tài),檢查Oracle所
有表、索引、存儲(chǔ)過(guò)程、觸發(fā)器、包等對(duì)象的狀態(tài),檢查Oracle所有回滾段的狀態(tài),總共
六個(gè)部分。
3.1.檢查Oracle操縱文件狀態(tài)
SQL>selectstatus,namefromvScontrolfile;
STATUSNAME
/data/oradata/CKDB/controlOI.ctl
/data/oradata/CKDB/control02.ctl
/data/oradata/CKDB/oontrol03.ctl
輸出結(jié)果應(yīng)該有3條以上(包含3條)的記錄,“STATUS”應(yīng)該為袁狀態(tài)為空表示操縱文
件狀態(tài)正常。
3.2.檢查Oracle在線日志狀態(tài)
SQL>selectgroup#,status.type,memberfromv$logfile;
GROUP#STATUSTYPEMEMBER
3ONLINE/data/oradata/CKDB/redo03.log
2ONLINE/data/oradata/CKDB/redo02.1og
1ONLINE/da(a/oradata/CKDB/rcdoOl.log
4ONLINE/data/oradata/CKDB/redo04.1og
5ONLINE/data/oradata/CKDB/redo05.log
6ONLINE/data/oradata/CKDB/rcdo06.1og
6rowsselected
輸出結(jié)果應(yīng)該有3條以上(包含3條)記錄,“STATUS”應(yīng)該為非“INVALID”,非“DELETED”。
注:“STATUS”顯示為空表示正常。
3.3.檢查Oracle表空間的狀態(tài)
SQL>selecttablespace_name,statusfromdba_tablespaces;
TABLESPACE_NAMESTATUS
SYSTEMONLINE
UNDOTBS1ONLINE
SYSAUXONLINE
TEMPONLINE
USERSONLINE
SJ1ONLINE
ADM」NDEXONLINE
HOME_DATAONLINE
HOME」NDEXONLINE
PHOTO.DATAONLINE
PHOTO_INDEXONLINE
0OO0ooo
輸出結(jié)果中STATUS應(yīng)該都為ONLINE。
3.4.檢查Oracle所有數(shù)據(jù)文件狀態(tài)
SQL>selectname,statusfromv$datafile;
NAMESTATUS
/data/oradata/CKDB/systcmO1.dbfSYSTEM
/dala/oradata/CKDB/undotbsO1.dbfONLINE
/data/oradata/CKDB/sysauxOl.dbfONLINE
/data/oradata/CKDB/usersO1.dbfONLINE
/data/oradata/CKDB/sj.dbfONLINE
/data/oradata/CKDB/HOME_DATAl.dbfONLINE
/data/oradata/CKDB/HOME_INDEXl.dbfONLINE
/data/oradata/CKDB/PHOTO_DATAl.dbfONLINE
Zdata/oradata/CKDB/PHOTO_lNDEXl.dbfONLINE
/data/oradata/CKDB/BLOG_DATAl.dbfONLINE
/data/oradata/CKDB/BLOGJNDEXl.dbfONLINE
Zdata/oradata/CKDB/AUDIO_DATAl.dbfONLINE
/data/oradata/CKDB/AUDIO_INDEXl.dbfONLINE
/data/oradata/CKDB/VIDEO_DATAl.dbfONLINE
/data/oradata/CKDB/VIDEO」NDEXl.dbfONLINE
/data/oradata/CKDB/SYS_DATAl.dbfONLINE
/data/oradata/CKDB/SYS_INDEXl.dbfONLINE
/data/oradata/CKDB/ADM_DATAl.dbfONLINE
/data/oradata/CKDB/ADM_INDEXl.dbfONLINE
/data/oradata/CKDB/perfstat.dbfONLINE
輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE”O(jiān)或者者:
SQL>selectfile_name,statusfromdba_data_files;
FILE.NAMESTATUS
/data/oradata/CKDB/usersO1.dbfAVAILABLE
/data/oradata/CKDB/sysauxOl.dbfAVAILABLE
Zdata/oradata/CKDB/undotbsOl.dbfAVAILABLE
/data/oradata/CKDB/systemO1.dbfAVAILABLE
/data/oradata/CKDB/sj.dbfAVAILABLE
/data/oradata/CKDB/perfstat.dbfAVAILABLE
/data/oradata/CKDB/HOME_DATAl.dbfAVAILABLE
/data/oradata/CKDB/HOME_INDEXl.dbfAVAILABLE
/data/oradata/CKDB/PHOTO_DATAl.dbfAVAILABLE
輸出結(jié)果中“STATUS”應(yīng)該都為“AVAILABLE”。
3.5.檢查無(wú)效對(duì)象
sql>selcc(owncr,object_namc.objec(_typcfromdba_objcctswheresta(us!='VALID'and
owner!='SYS'andowner!='SYSTEM';
norowsselected
假如有記錄返回,則說(shuō)明存在無(wú)效對(duì)象。若這些對(duì)象與應(yīng)用有關(guān),那么需要重新編譯生成這
個(gè)對(duì)象,或者者:
SELECTowner,object_name,object_typeFROMdba_objectsWHEREstatus='INVALID';
3.6.檢查所有回滾段狀態(tài)
SQL>selectsegment_name,statusfromdba_rollback_segs;
SEGMENT_NAMESTATUS
SYSTEMONLINE
_SYSSMUlSONLINE
_SYSSMU2SONLINE
_SYSSMU3SONLINE
_SYSSMU4SONLINE
_SYSSMU5SONLINE
_SYSSMU6SONLINE
_SYSSMU7SONLINE
_SYSSMU8SONLINE
.SYSSMU9SONLINE
_SYSSMUlO$ONLINE
11rowsselected
輸出結(jié)果中所有回滾段的“STATUS”應(yīng)該為“ONLINE”。
4.檢查Oracle有關(guān)資源的使用情況
在本節(jié)要緊檢杳Oracle有關(guān)資源的使用情況,包含:檢杳。racle初始化文件中有關(guān)的
參數(shù)值,檢查數(shù)據(jù)庫(kù)連接情況,檢查系統(tǒng)磁盤空間,檢杳Oracle各個(gè)表空間使用情況,檢
查一些擴(kuò)展特殊的對(duì)象,檢查system表空間內(nèi)的內(nèi)容,檢查對(duì)象的卜.一獷展與表空間的最
大擴(kuò)展值,總共七個(gè)部分。
4.1.檢查Oracle初始化文件中有關(guān)參數(shù)值
SQL>selectresource_name,max_utilization,initial_allocation,
limit_valucfromvSrcsourcc_limit;
RESOURCE_NAMEMAX_UTILIZATIONINITIAL_ALLOCATLIMIT.VALUE
processes162500500
sessions168555555
enqueuejock/p>
enqueue_resources1112660UNLIMITED
cs000
ges_ress00UNLIMITED
ges_locks00UNLIMITED
gcs_cachc_rcss00UNLIMITED
ges_reg_msgs00UNLIMITED
ges_big_msgs00UNLIMITED
ges_rsv_msgs000
gcs_resources000
gcs_shadows000
dmljocks762440UNLIMITED
temporary_table_locks26UNLIMITEDUNLIMITED
transactions13610UNLIMITED
branches0610UNLIMITED
cmtcallbk3610UNLIMITED
sort_segment_locks5UNLIMITEDUNLIMITED
max_rollback_segments1161065535
RESOURCE_NAMEMAX_UTILIZATIONINITIAL_ALLOCATLIMIT.VALUE
max_shared_servers1UNLIMITEDUNLIMITED
parallcl_max_scn,crs16803600
22rowsselected
若LIMIT_VALU-MAX_UTILIZATION<=5,則說(shuō)明與RESOURCE_NAME有關(guān)的Oracle初
始化參數(shù)需要調(diào)整。能夠通過(guò)修改Oracle初始化參數(shù)文件
$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora來(lái)修改。
4.2.檢查數(shù)據(jù)庫(kù)連接情況
查看當(dāng)前會(huì)話連接數(shù),是否屬于正常范圍。
SQL>selectcount(*)fromvSsession;
COUNT(*)
29
selectsid,serial#,username,program,machine.statusfromv$session;
SIDSERIAL#USERNAMEPROGRAMMACHINESTATUS
13uraulc@xzl5salcdb(PMON)xz15salcdbACTIVE
23oracle@xz15salcdb(DBW0)xz15saledbACTIVE
33oracle@xz15saledb(DBW1)xzl5saledbACTIVE
43oracle@xz15saledb(LGWR)xz15saledbACTIVE
53oracle@xz15saledb(CKPT)xz15saledbACTIVE
63oracle@xz15saledb(SMON)xzl5saledbACTIVE
73oracle@xz15saledb(RECO)xz15saledbACTIVE
81oracle@xz15saledb(CJQO)xz15salcdbACTIVE
93oracle@xz15saledb(ARCO)xz15saledbACTIVE
103oracle@xz15saledb(ARC1)xzl5saledbACTIVE
1111319ZKAccPrtInv_svr@xz15tuxedo2(TNSV1-V3)xzl5tuxedo2
INACTIVE
1348876ZGupload@xz15saleap(TNSVI-V3)xzl5saleap
INACTIVE
1720405ZKAccCreateRpt@xz15tuxedo1(TNSVI-V3)xzl5tuxedol
INACTIVE
2012895ZKOweScanSvr@xzl5billdb(TNSVI-V3)xzl5billdb
INACTIVE
其中:SID會(huì)話(session)的【D號(hào):
SERIAL#會(huì)話的序列號(hào),與SID一起用來(lái)唯一標(biāo)識(shí)一個(gè)會(huì)話;
USERNAME建立該會(huì)話的用戶名;
PROGRAM這個(gè)會(huì)話是用什么工具連接到數(shù)據(jù)庫(kù)的:
STATUS當(dāng)前這個(gè)會(huì)話的狀態(tài),ACTIVE表示會(huì)話正在執(zhí)行某些任務(wù),INACTIVE表示當(dāng)
前會(huì)話沒(méi)有執(zhí)行任何操作:
假如建立了過(guò)多的連接,會(huì)消耗數(shù)據(jù)庫(kù)的資源,同時(shí),對(duì)?些“掛死”的連接可能需要手工
進(jìn)行清理。假如DBA要手工斷開某個(gè)會(huì)話,則執(zhí)行通常不建議使用這種方式去殺抻數(shù)
據(jù)庫(kù)的連接,這樣有的時(shí)候候session不可能斷開。容易引起死連接。建議通過(guò)sid查到操
作系統(tǒng)的spid,使用ps-eflgrepspidno的方式確認(rèn)spid不是ORACLE的后臺(tái)進(jìn)程。使用操作
系統(tǒng)的kill-9命令殺掉連接)
altersystemkillsession'SID,SERIAL#";
注意:上例中SID為1到IO(USERNAME列為空)的會(huì)話,是Oracle的后臺(tái)進(jìn)程,不要對(duì)這
些會(huì)話進(jìn)行任何操作。
4.3.檢查系統(tǒng)磁盤空間
假如文件系統(tǒng)的剩余空間過(guò)小或者增長(zhǎng)較快,需對(duì)其進(jìn)行確認(rèn)并刪除不用的文件以釋放空間。
[oracle@AS14~JSdf-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/sda59.7G3.9G5,4G42%/
/dev/sdal479M16M438M4%/boot
/dev/sda249G19G28G41%/data
none1014M01014M0%/dev/shm
4.4.檢查表空間使用情況
SQL>selectf.tablespace_name,a.total,f.free,round((f.free/a.total)*100)"%Free"
from
(selecttablespace_name,sum(bytes/(1024*1024))totalfromdba_data_filesgroupby
tablespace_name)a,
(selecttablespace_name,round(sum(bytes/(1024*1024)))freefromdba_free_spacegroupby
tablespace_name)f
WHEREa.tabiespace_name=f.tablespace_name(+)
orderby"%Free";
TABLESPACE_NAMETOTALFREE%Free
OPERATION_DATA180054730
WAPWEB.DATA1003636
OPERATION_INDEX50018637
SYSTEM102451550
SYSAUX102453452
SALE8_TEMP1006262
SJ150034870
PERFSTAT50035671
HOME_DATA1007777
SYSJNDEX100100100
VIDEOJNDEX100100100
VIDEO.DATAl(X)10()100
BLOGDATA100100100
39rowsselected
假如空閑率%Free小于10%以上7包含-10%),則注意要增加數(shù)據(jù)文件來(lái)擴(kuò)展表空間而不要
是用數(shù)據(jù)文件的自動(dòng)擴(kuò)展功能。請(qǐng)不要對(duì)表空間增加過(guò)多的數(shù)據(jù)文件,增加數(shù)據(jù)文件的原則
是每個(gè)數(shù)據(jù)文件大小為2G或者者4G,自動(dòng)擴(kuò)展的最大限制在8Gc
4.5.檢查一些擴(kuò)展特殊的對(duì)象
sql>selectSegment_Name,Seginen(_Type,TableSpace_Name,
(Ex(ents/Max_extcnts)*100Percent
Fromsys.DBA_Segments
WhereMax_Extents!=0and(Extents/Max_extents)*100>=95
orderByPercent;
norowsselected
假如有記錄返回,則這些對(duì)象的擴(kuò)展已經(jīng)快達(dá)到它定義時(shí)的最大擴(kuò)展值。關(guān)于這些對(duì)象要修
改它的存儲(chǔ)結(jié)構(gòu)參數(shù)。
4.6.檢查system表空間內(nèi)的內(nèi)容
selectdistinct(owner)fromdba_tables
wheretablespace_name="SYSTEM'and
owner!='SYS,andowncr!='SYSTEM'
union
selectdistinct(owner)fromdba_indexes
wheretablespace_naine='SYSTEM'and
owner!^SYS'andowner!='S¥STEM';
norowsselected
假如記錄返回,則說(shuō)明system表空間內(nèi)存在一些非sysiem與sys用戶的對(duì)象。應(yīng)該進(jìn)一步
檢查這些對(duì)象是否與我們應(yīng)用有關(guān)。假如有關(guān)請(qǐng)把這些對(duì)象移到非System表空間,同時(shí)應(yīng)
該檢查這些對(duì)象屬主的缺省表空間值。
4.7.檢查對(duì)象的下一擴(kuò)展與表空間的最大擴(kuò)展值
sql>selecta.table_name,a.next_extent,a.tablespace_name
fromall_tablesa,
(selecttablespace_name,max(bytes)asbig_chunk
fromdba_free_space
groupbytablespace_name)f
wheref.(ablcspacc_namc=a.tablcspacc_namc
anda.next_extent>f.big_chunk
union
selecta.index_namc,a.ncxt_extent,a.tablespace_name
fromall_indexesa,
(selecttablespace_name.max(bytes)asbig_chunk
fromdba_frcc_spacc
groupbytablespace_name)f
wheref.(ablespace_nanie=a.tablespace_name
anda.next_extent>f.big_chunk;
norowsselected
假如有記錄返回,則說(shuō)明這些對(duì)象的下一個(gè)擴(kuò)展大于該對(duì)象所屬表空間的最大擴(kuò)煽值,需調(diào)
整相應(yīng)表空間的存儲(chǔ)參數(shù)。
5.檢查Oracle數(shù)據(jù)庫(kù)備份結(jié)果
在本節(jié)要緊檢查Oracle數(shù)據(jù)庫(kù)備份結(jié)果,包含:檢查數(shù)據(jù)隹備份日志信息,檢查backup
卷中文件產(chǎn)生的時(shí)間,檢查oracle用戶的email,總共三個(gè)部分。
5.1.檢查數(shù)據(jù)庫(kù)備份日志信息
假設(shè):備份的臨時(shí)目錄為/backup/hoibakup,我們需要檢查2009年7月22日的備份結(jié)果,
則用下面的命令來(lái)檢查:
#cat/backup/hotbackup/hotbackup-09-7-22.log|grcp-ierror
備份腳本的日志文件為hotbackup-月份-日期-年份Jog,在備份的臨時(shí)目錄下面。假如文件中
存在“ERROR:",則說(shuō)明備份沒(méi)有成功,存在問(wèn)題需要檢查。
5.2.檢查backup卷中文件產(chǎn)生的時(shí)間
#ls-k/backup/hotbackup
backup卷是備份的臨時(shí)目錄,查看輸出結(jié)果中文件的日期,都應(yīng)當(dāng)是在當(dāng)天凌晨由熱備份
腳本產(chǎn)生的。假如時(shí)間不對(duì)則說(shuō)明熱備份腳本沒(méi)執(zhí)行成功。
5.3.檢查oracle用戶的email
#tail-n300Zvar/mail/oracle
熱備份腳本是通過(guò)Oracle用戶的cron去執(zhí)行的。cron執(zhí)行完后操作系統(tǒng)就會(huì)發(fā)一條Email
通知Oracle用戶任務(wù)已經(jīng)完成。查看Oracleemail中今天凌晨部分有無(wú)ORA-,Error,Failed
等出錯(cuò)信息,假如有則說(shuō)明備份不正常。
6.檢查Oracle數(shù)據(jù)庫(kù)性能
在本方要緊檢查Oracle數(shù)據(jù)庫(kù)性能情況,包含:檢查數(shù)據(jù)庫(kù)的等待事件,檢查死鎖及
處理,檢查epu、I/O、內(nèi)存性能,查看是否有僵死進(jìn)程,檢查行鏈接/遷移,定期做統(tǒng)計(jì)分
析,檢查緩沖區(qū)命中率,檢查共享池命中率,檢查排序區(qū),檢查日志緩沖區(qū),總共十個(gè)部分。
6.1.檢查數(shù)據(jù)庫(kù)的等待事件
setpages80
setlines120
coleventfora40
selectsid,event,p1,p2,p3.WAIT_TIME.SECONDS_IN_WAITfromv$scssion_waitwhereevent
notlike'SQL%'andeventnotlike'rdbms%';
假如數(shù)據(jù)庫(kù)長(zhǎng)時(shí)間持續(xù)出現(xiàn)大量像latchfree.enqueue?bufferbusywaits,dbfilesequentialread,
dbfilescatleredread等等待事件時(shí),需要對(duì)其進(jìn)行分析,可能存在問(wèn)題的語(yǔ)句。
6.2.DiskRead最高的SQL語(yǔ)句的獲取
SQI>SF.LECTSQI._TEXTFROM(SEIF.CT*FROMV$SQIAREAORDERRY
DISK.READS)
WHEREROWNUM<=5desc;
6.3.查找前十條性能差的sql
SELECT*FROM(SELECTPARSING_USERJD
EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,
SQL.TEXTFROMV$SQLAREAORDERBYDiSK_READSDESC)
WHEREROWNUM<10:
6.4.等待時(shí)間最多的5個(gè)系統(tǒng)等待事件的獲取
SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE
'SQL%'ORDERBYTOTAL_\VAITSDESC)WHEREROWNUM<=5;
6.5.檢查運(yùn)行很久的SQL
COLUMNUSERNAMEFORMATA12
COLUMNOPNAMEFORMATA16
COLUMNPROGRESSFORMATA8
SELECTUSERNAME,SID,OPNAME,ROUND(SOFAR*100/TOTALWORK,0)||'%'AS
PROGRESS,TIME_REMAINING,SQL_TEXTFROMV$SESSION_LONGOPS,V$SQL
WHERETIME_REMAINING<>0ANDSQL_ADDRESS=ADDRESSAND
SQL_HASH_VALUE=HASH.VALUE;
6.6.檢查消耗CPU最高的進(jìn)程
SETLINE240
SETVERIFYOFF
COLUMNSIDFORMAT999
COLUMNPIDFORMAT999
COLUMNS_#FORMAT999
COLUMNUSERNAMEFORMATA9HEADING"ORAUSER"
COLUMNPROGRAMFORMATA29
COLUMNSQLFORMATA60
COLUMNOSNAMEFORMATA9HEADING"OSUSER"
SELECTP.PIDPID,S.SIDSID,P.SPIDSPID,S.USERNAMEUSERNAME,S.OSUSER
OSNAME,P.SERIAL#S_#,P.TERMINAL,RPROGRAM
PROGRAM.P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT,1,80))SQLFROM
V$PROCESSP,VSSESSIONS,V$SQLAREAAWHERERADDR=S.PADDRAND
S.SQL_ADDRESS=A.ADDRESS(+)ANDP.SPIDLIKE'%&1%;
6.7.檢查碎片程度高的表
SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmenlsWHERE
ownerNOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECT
MAX(COUNT(*))FROMdba_segmentsGROUPBYscgmcnt_namc);
6.8.檢查表空間的I/O比例
SQL>SELECTDF.TABLESPACE_NAMENAME,DF.FILE_NAME"FILE\EPHYRDSPYR.
F.PHYBLKRDPBR,F.PHYWRTSPYW,F.PHYBLKWRTPBWFROMVSFILESTATF,
DBA_DATA_FILESDFWHEREF.FILE#=DF.FILE_IDORDERBY
DF.TABLESPACE_NAME;
6.9.檢查文件系統(tǒng)的I/O比例
SQL>SELECTSUBSTR(A.FILE#,1,2)SUBSTR(A.NAMEJ,30)"NAME",
A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTSFROMVSDATAFILEA,VSFILESTATB
WHEREA.FILE#=B.HLE#;
6.10.檢查死鎖及處理
查詢目前鎖對(duì)象生息二
colsidfor999999
colusernameforaiO
colschemanameforalO
colosuserfbral6
colmachinefbra!6
colterminalfora20
colownerfbra10
colobject_namefora30
colobjeci_typeforalO
selectsid,serial#,usernanie,SCHEMANAME,osuser,MACHINE,
terminal,PROGRAM,owner,object_name,object_type,o.object_id
fromdba_objectso,v$locked_objectl,v$sessions
whereo.object_id=l.object_idands.sid=l.session_id;
oracle級(jí)kill掉該session:
altersystemkillsession'&sid.&serial#';
操作系統(tǒng)級(jí)kill掉session:
#>kill-9pid
6.11.檢查數(shù)據(jù)庫(kù)cpu、I/O、內(nèi)存性能
記錄數(shù)據(jù)庫(kù)的印u使用、10、內(nèi)存等使用情況,使用vms(al,iostal,sar,lop等命令進(jìn)行信
息收集并檢查這些信息,推斷資源使用情況。
1.CPU使用情況:
[root@sale8top
top-10:29:35up73days,19:54,Iuser,loadaverage:0.37,0.38,0.29
Tasks:353total,2running,351sleeping.0stopped,0zombie
Cpu(s):1.2%us,0.1%sy,0.0%ni,98.8%id.0.0%wa,0.0%hi,0.0%si
Mem:16404472ktotal,12887428kused,3517044kfree,60796kbuffers
Swap:8385920ktotal,665576kused,7720344kfree,10358384kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
30495oracle1508329m866m861mR105.47:53.90oracle
32501oracle1508328m1.7g1.7gS210.61:58.38oracle
32503oracle1508329m1.6g1.6gS210.22:06.62oracle
注意上面的藍(lán)色字體部分,此部分內(nèi)容表示系統(tǒng)剩余的cpu,當(dāng)其平均值下降至10%下列的
時(shí)視為CPU使用率特殊,需記錄下該數(shù)值,并將狀態(tài)記為特殊。
2.內(nèi)存使用情況:
#free-m
totalusedsharedbufferscached
Mem:202619580761556
-/+buffers/cache:3261700
Swap:5992925900
如上所示,藍(lán)色部分表示系統(tǒng)總內(nèi)存,紅色部分表示系統(tǒng)使用的內(nèi)存,黃色部分表示系統(tǒng)剩
余內(nèi)存,當(dāng)剩余內(nèi)存低于總內(nèi)存的10%時(shí)視為特殊。
3.系統(tǒng)I/O情況:
#iostat-k13
Linux2.6.9-22.ELsmp(AS14:07/29/2009
avg-cpu:%user%nice%sys%iowait%idle
0.160.000.050.3699.43
Device:tpskB_rcad/skB_wrtn/skB_readkB_wrtn
sda3.3313.1650.2594483478360665804
avg-cpu:%user%nice%sys%iowait%idle
0.000.000.000.00100.00
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda0.000.000.0000
如上所示,藍(lán)色字體部分表示磁盤讀寫情況,紅色字體部分為叩uIO等待情況。
4.系統(tǒng)負(fù)載情況:
#uptime
12:08:37up162days,23:33,15users,loadaverage:0.01,0.15,0.10
如上所示,藍(lán)體字部分表示系統(tǒng)負(fù)載,后面的3個(gè)數(shù)值假如有高于2.5的時(shí)候就說(shuō)明系統(tǒng)在
超負(fù)荷運(yùn)轉(zhuǎn)了,并將此值記錄到巡
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共政策與輿論導(dǎo)向的互動(dòng)研究試題及答案
- 啟發(fā)式學(xué)習(xí)的考試試題及答案
- 公共政策的理論發(fā)展及其應(yīng)用探討試題及答案
- 防疫政策與公共健康的挑戰(zhàn)試題及答案
- 指導(dǎo)原則信息系統(tǒng)項(xiàng)目管理師試題及答案
- 利用案例備考西方政治考試試題及答案
- 機(jī)電工程重點(diǎn)知識(shí)點(diǎn)及試題答案
- 機(jī)電工程新興市場(chǎng)的發(fā)展機(jī)會(huì)試題及答案
- 網(wǎng)絡(luò)工程師實(shí)踐經(jīng)驗(yàn)分享試題及答案
- 如何提高公共政策的信息共享機(jī)制試題及答案
- 義務(wù)教育體育與健康課程標(biāo)準(zhǔn)(2022年版)
- 項(xiàng)目volume3修改版-舊20.commissioning servicing manualFMZ5000火災(zāi)探測(cè)和滅火系統(tǒng)控制盤安裝調(diào)試維保手冊(cè)
- 消防安全常識(shí)二十條系列掛圖清晰版
- GB/T 23227-2018卷煙紙、成形紙、接裝紙、具有間斷或連續(xù)透氣區(qū)的材料以及具有不同透氣帶的材料透氣度的測(cè)定
- GB/T 18049-2017熱環(huán)境的人類工效學(xué)通過(guò)計(jì)算PMV和PPD指數(shù)與局部熱舒適準(zhǔn)則對(duì)熱舒適進(jìn)行分析測(cè)定與解釋
- 煙草專賣管理師崗位技能標(biāo)準(zhǔn)(2023版)
- 半條被子(紅軍長(zhǎng)征時(shí)期故事) PPT
- 公司車輛駕駛扣分違章處理證明 模板
- 一次性賠償協(xié)議書模板
- (中職)車削加工技術(shù)全冊(cè)實(shí)訓(xùn)課教案完整版
- 幼兒園繪本故事:《漏》
評(píng)論
0/150
提交評(píng)論