




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
racle數(shù)據(jù)庫日常維護手冊
編號:_____
OraclelOg數(shù)據(jù)庫
保護手冊
日期:_______
編寫:_______
核對:_______
更新:_______
目錄
1.檢查數(shù)據(jù)庫基本狀況3
1.1.檢查ORACLE實例狀態(tài)3
1.2.檢查ORACLE服務進程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)儲目錄6
2.4.檢查ROOT用戶與ORACLE用戶的EMAIL6
3.檢查ORACLE對象狀態(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.檢查無效對象8
3.6.檢查所有回滾段狀態(tài)8
4.檢查ORACLE有關(guān)資源的使用情況9
4.1.檢查ORACLE初始化文件中有關(guān)參數(shù)值9
4.2.檢查數(shù)據(jù)庫連接情況10
4.3.檢查系統(tǒng)磁盤空間11
4.4.檢查表空間使用情況11
4.5.檢查一些擴展特殊的對象12
4.6.檢查SYSTEM表空恒內(nèi)的內(nèi)容12
4.7.檢查對象的下一擴展與表空間的最大擴展值13
5.檢查ORACLE數(shù)據(jù)庫備份結(jié)果13
5.1.檢查數(shù)據(jù)庫備份日志信息13
5.2.檢查BACKUP卷中文件產(chǎn)生的時間13
5.3.檢查ORACLE用戶的EMAIL14
6.檢查ORACLE數(shù)據(jù)庫性能14
6.1.檢查數(shù)據(jù)庫的等待事件14
6.2.DISKREAD最高的SQL語句的獲取14
6.3.查找前十條性能差的SQL14
6.4.等待時間最多的5個系統(tǒng)等待事件的獲取14
6.5.檢查運行很久的SQL15
6.6.檢查消耗CPU最高的進程15
6.7.檢查碎片程度高的表15
6.8.檢查表空間的I/O比例15
6.9.檢查文件系統(tǒng)的I/O比例16
6.10.檢查死鎖及處理16
6.11.檢查數(shù)據(jù)庫CPU、I/O、內(nèi)存性能16
6.12.查看是否有僵死進程17
6.13.檢查行鏈接/遷移17
6.14.定期做統(tǒng)計分析18
6.15.檢查緩沖區(qū)命中率18
6.16.檢查共享池命中率18
6.17.檢查排序區(qū)19
6.18.檢查日志緩沖區(qū)19
7.檢查數(shù)據(jù)庫安全性19
7.1.檢杳系統(tǒng)安全日志信息19
7.2.檢查用戶修改密碼20
8.其他檢查20
8.1.檢查當前CRONTAB任務是否正常20
8.2.ORACLEJOB是否有失敗20
8.3.監(jiān)控數(shù)據(jù)量的增長情況21
8.4.檢查失效的索引21
8.5.檢查不起作用的約束22
8.6.檢查無效的TRIGGER22
巡檢內(nèi)容
1.檢查數(shù)據(jù)庫基本狀況
在本節(jié)中耍緊對數(shù)據(jù)庫的基本狀況進行檢查,其中包含:險查Oracle實例狀態(tài),檢查
Oracle服務進程,檢查Oracle監(jiān)聽進程,共三個部分。
1.1.檢查Oracle實例狀態(tài)
SQL>selectinstance_name,hos:_name,startup_tinie,status,database_statusfromv$instance;
INSTANCE_NAMEHOST_NAMESTARTUP_TIMESTATUSDATABASE.STATUS
CKDBAS142009-5-79:3OPENACTIVE
其中“STATUS”表示Oracle當前的實例狀態(tài),務必為“OPEN”:“DATABASESTATUS”表示
Oracle豈前數(shù)據(jù)隹的狀態(tài),務必為“ACTIVE-
SQL>selectname,log_mode,open_modefromv$database;
NAMELOG_MODEOPEN_MODE
CKDBARCHIVELOGREADWRITE
其中“LOG_MODE”表示0詠1屬前的歸檔方式JARCHIVELCC”表示數(shù)據(jù)庫運行在歸檔模
式卜?,“NOARCHIVELOG”表示數(shù)據(jù)庫運行在非歸檔模式下。在我們的系統(tǒng)中數(shù)據(jù)庫務必運
行在歸檔方式下。
1.2.檢查Oracle服務進程
$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的進程命令輸由后,輸出顯示至少應包含下列一些進程:
.Oracle寫數(shù)據(jù)文件的進程,輸出顯示為:^oradbwOCKDB''
.Oracle寫日志文件的進程,輸出顯示為:“ora」gwr_CKDB”
.Oracle監(jiān)聽實例狀態(tài)的進程,輸出顯示為:“ora_smonCKDB”
.Oracle監(jiān)聽客戶端連接進程狀態(tài)的進程,輸出顯示為:“ora_pnK)n_CKDB”
.Oracle進行歸檔的進程,輸已顯示為:“ora_arcO_CKDB”
.Oracle進行檢查點的進程,輸出顯示為:“ora_ckpt_CKDB”
.Oracle進行恢復的進程,輸匕顯示為:“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”項表示Oracle的監(jiān)聽進程正在監(jiān)聽什么數(shù)據(jù)庫實例,輸出顯示中至少應
該有“CKDB”這一項。
檢查監(jiā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)儲E錄,檢查Root用戶與Oracle用戶的email,總共四個部分。
2.1.檢查操作系統(tǒng)日志文件
#cat/var/log/messages|grepfailed
查看是否有與Oracle用戶有關(guān)的出錯信息
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在運行過程中,會在警告日志文件(alcrl_SID.Io口中記錄數(shù)據(jù)庫的一些運行情況:數(shù)據(jù)
庫的啟動、關(guān)閉,啟動時的非缺省參數(shù);數(shù)據(jù)庫的重做日志切換情況,記錄每次切換的時間,
及假如由于檢查點(checkpoint)操作沒有執(zhí)行完成造成不能切換,會記錄不能切換的原因;
對數(shù)據(jù)庫進行的某些操作,如創(chuàng)建或者刪除表空間、增加數(shù)據(jù)文件:數(shù)據(jù)庫發(fā)生的錯誤,如
表空間不夠、出現(xiàn)壞塊、數(shù)據(jù)庫內(nèi)部錯誤(ORA-600)等。定期檢查日志文件,根據(jù)日志中
發(fā)現(xiàn)的問題及時進行處理:
問題處理
啟動參數(shù)不對檢查初始化參數(shù)文件
由于檢查點操作或者歸檔操作沒有完成假如經(jīng)常發(fā)生這樣的情況,能夠考慮增加重.做日
造成重做日志不能切換志文件組;想辦法提高檢查點或者歸檔操作的效
率;
有人未經(jīng)授權(quán)刪除了表空間檢查數(shù)據(jù)庫的安全問題,是否密碼太簡單;如有
必要,撤消某些用戶的系統(tǒng)權(quán)限
出現(xiàn)壞塊檢查是否是硬件問題[如磁盤本生有壞塊),假如不
是,檢查是那個數(shù)據(jù)庫對象出現(xiàn)了壞塊,對這個
對象進行重建
表空間不夠增加數(shù)據(jù)文件到相應的表空問
出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容杳看相應的TRC文件,假如
是Oracle的bug,要及時打上相應的補丁
Listener日志:SORACLE_HOME/network/log
2.3.檢查Oracle核心轉(zhuǎn)儲目錄
$ls$ORACLE_BASE/admin/CKDB/cdump/*.trc|wc-I
$ls$ORACLE_BASE/admin/CKDB/udump/*.trc|wc-I
假如上面命令的結(jié)果每天都在增長,則說明Oracle進程經(jīng)常發(fā)生核心轉(zhuǎn)儲。這說明某些用
戶進程或者者數(shù)據(jù)庫后臺進程由于無法處理的原因而特殊退出,頻繁的核心轉(zhuǎn)儲特別是數(shù)據(jù)
庫后臺進程的核心轉(zhuǎn)儲會導致數(shù)據(jù)庫特殊終止。
2.4.檢查Root用戶與Oracle用戶的email
#tail-n200Zvar/mail/root
#tail-n200/var/mail/oracle
查看有無與Oracle用戶有關(guān)的出錯信息。
3.檢查Oracle對象狀態(tài)
在本節(jié)要緊檢查有關(guān)Oracle對象的狀態(tài),包含:檢查。racle操縱文件狀態(tài),檢查Oracle
在線U志狀態(tài),檢查Oracle表空間的狀態(tài),檢查Oracle所有數(shù)據(jù)文件狀態(tài),檢查Oracle所
有表、索引、存儲過程、觸發(fā)器、包等對象的狀態(tài),檢查Oracle所有回滾段的狀態(tài),總共
六個部分。
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é)果應該有3條以上(包含3條)的記錄,“STATUS”應該為袁狀態(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é)果應該有3條以上(包含3條)記錄,“STATUS”應該為非“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應該都為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”應該都為“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”應該都為“AVAILABLE”。
3.5.檢查無效對象
sql>selcc(owncr,object_namc.objec(_typcfromdba_objcctswheresta(us!='VALID'and
owner!='SYS'andowner!='SYSTEM';
norowsselected
假如有記錄返回,則說明存在無效對象。若這些對象與應用有關(guān),那么需要重新編譯生成這
個對象,或者者:
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”應該為“ONLINE”。
4.檢查Oracle有關(guān)資源的使用情況
在本節(jié)要緊檢杳Oracle有關(guān)資源的使用情況,包含:檢杳。racle初始化文件中有關(guān)的
參數(shù)值,檢查數(shù)據(jù)庫連接情況,檢查系統(tǒng)磁盤空間,檢杳Oracle各個表空間使用情況,檢
查一些擴展特殊的對象,檢查system表空間內(nèi)的內(nèi)容,檢查對象的卜.一獷展與表空間的最
大擴展值,總共七個部分。
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,則說明與RESOURCE_NAME有關(guān)的Oracle初
始化參數(shù)需要調(diào)整。能夠通過修改Oracle初始化參數(shù)文件
$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora來修改。
4.2.檢查數(shù)據(jù)庫連接情況
查看當前會話連接數(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會話(session)的【D號:
SERIAL#會話的序列號,與SID一起用來唯一標識一個會話;
USERNAME建立該會話的用戶名;
PROGRAM這個會話是用什么工具連接到數(shù)據(jù)庫的:
STATUS當前這個會話的狀態(tài),ACTIVE表示會話正在執(zhí)行某些任務,INACTIVE表示當
前會話沒有執(zhí)行任何操作:
假如建立了過多的連接,會消耗數(shù)據(jù)庫的資源,同時,對?些“掛死”的連接可能需要手工
進行清理。假如DBA要手工斷開某個會話,則執(zhí)行通常不建議使用這種方式去殺抻數(shù)
據(jù)庫的連接,這樣有的時候候session不可能斷開。容易引起死連接。建議通過sid查到操
作系統(tǒng)的spid,使用ps-eflgrepspidno的方式確認spid不是ORACLE的后臺進程。使用操作
系統(tǒng)的kill-9命令殺掉連接)
altersystemkillsession'SID,SERIAL#";
注意:上例中SID為1到IO(USERNAME列為空)的會話,是Oracle的后臺進程,不要對這
些會話進行任何操作。
4.3.檢查系統(tǒng)磁盤空間
假如文件系統(tǒng)的剩余空間過小或者增長較快,需對其進行確認并刪除不用的文件以釋放空間。
[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ù)文件來擴展表空間而不要
是用數(shù)據(jù)文件的自動擴展功能。請不要對表空間增加過多的數(shù)據(jù)文件,增加數(shù)據(jù)文件的原則
是每個數(shù)據(jù)文件大小為2G或者者4G,自動擴展的最大限制在8Gc
4.5.檢查一些擴展特殊的對象
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
假如有記錄返回,則這些對象的擴展已經(jīng)快達到它定義時的最大擴展值。關(guān)于這些對象要修
改它的存儲結(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
假如記錄返回,則說明system表空間內(nèi)存在一些非sysiem與sys用戶的對象。應該進一步
檢查這些對象是否與我們應用有關(guān)。假如有關(guān)請把這些對象移到非System表空間,同時應
該檢查這些對象屬主的缺省表空間值。
4.7.檢查對象的下一擴展與表空間的最大擴展值
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
假如有記錄返回,則說明這些對象的下一個擴展大于該對象所屬表空間的最大擴煽值,需調(diào)
整相應表空間的存儲參數(shù)。
5.檢查Oracle數(shù)據(jù)庫備份結(jié)果
在本節(jié)要緊檢查Oracle數(shù)據(jù)庫備份結(jié)果,包含:檢查數(shù)據(jù)隹備份日志信息,檢查backup
卷中文件產(chǎn)生的時間,檢查oracle用戶的email,總共三個部分。
5.1.檢查數(shù)據(jù)庫備份日志信息
假設(shè):備份的臨時目錄為/backup/hoibakup,我們需要檢查2009年7月22日的備份結(jié)果,
則用下面的命令來檢查:
#cat/backup/hotbackup/hotbackup-09-7-22.log|grcp-ierror
備份腳本的日志文件為hotbackup-月份-日期-年份Jog,在備份的臨時目錄下面。假如文件中
存在“ERROR:",則說明備份沒有成功,存在問題需要檢查。
5.2.檢查backup卷中文件產(chǎn)生的時間
#ls-k/backup/hotbackup
backup卷是備份的臨時目錄,查看輸出結(jié)果中文件的日期,都應當是在當天凌晨由熱備份
腳本產(chǎn)生的。假如時間不對則說明熱備份腳本沒執(zhí)行成功。
5.3.檢查oracle用戶的email
#tail-n300Zvar/mail/oracle
熱備份腳本是通過Oracle用戶的cron去執(zhí)行的。cron執(zhí)行完后操作系統(tǒng)就會發(fā)一條Email
通知Oracle用戶任務已經(jīng)完成。查看Oracleemail中今天凌晨部分有無ORA-,Error,Failed
等出錯信息,假如有則說明備份不正常。
6.檢查Oracle數(shù)據(jù)庫性能
在本方要緊檢查Oracle數(shù)據(jù)庫性能情況,包含:檢查數(shù)據(jù)庫的等待事件,檢查死鎖及
處理,檢查epu、I/O、內(nèi)存性能,查看是否有僵死進程,檢查行鏈接/遷移,定期做統(tǒng)計分
析,檢查緩沖區(qū)命中率,檢查共享池命中率,檢查排序區(qū),檢查日志緩沖區(qū),總共十個部分。
6.1.檢查數(shù)據(jù)庫的等待事件
setpages80
setlines120
coleventfora40
selectsid,event,p1,p2,p3.WAIT_TIME.SECONDS_IN_WAITfromv$scssion_waitwhereevent
notlike'SQL%'andeventnotlike'rdbms%';
假如數(shù)據(jù)庫長時間持續(xù)出現(xiàn)大量像latchfree.enqueue?bufferbusywaits,dbfilesequentialread,
dbfilescatleredread等等待事件時,需要對其進行分析,可能存在問題的語句。
6.2.DiskRead最高的SQL語句的獲取
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.等待時間最多的5個系統(tǒng)等待事件的獲取
SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE
'SQL%'ORDERBYTOTAL_\VAITSDESC)WHEREROWNUM<=5;
6.5.檢查運行很久的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最高的進程
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.檢查死鎖及處理
查詢目前鎖對象生息二
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級kill掉該session:
altersystemkillsession'&sid.&serial#';
操作系統(tǒng)級kill掉session:
#>kill-9pid
6.11.檢查數(shù)據(jù)庫cpu、I/O、內(nèi)存性能
記錄數(shù)據(jù)庫的印u使用、10、內(nèi)存等使用情況,使用vms(al,iostal,sar,lop等命令進行信
息收集并檢查這些信息,推斷資源使用情況。
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
注意上面的藍色字體部分,此部分內(nèi)容表示系統(tǒng)剩余的cpu,當其平均值下降至10%下列的
時視為CPU使用率特殊,需記錄下該數(shù)值,并將狀態(tài)記為特殊。
2.內(nèi)存使用情況:
#free-m
totalusedsharedbufferscached
Mem:202619580761556
-/+buffers/cache:3261700
Swap:5992925900
如上所示,藍色部分表示系統(tǒng)總內(nèi)存,紅色部分表示系統(tǒng)使用的內(nèi)存,黃色部分表示系統(tǒng)剩
余內(nèi)存,當剩余內(nèi)存低于總內(nèi)存的10%時視為特殊。
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
如上所示,藍色字體部分表示磁盤讀寫情況,紅色字體部分為叩uIO等待情況。
4.系統(tǒng)負載情況:
#uptime
12:08:37up162days,23:33,15users,loadaverage:0.01,0.15,0.10
如上所示,藍體字部分表示系統(tǒng)負載,后面的3個數(shù)值假如有高于2.5的時候就說明系統(tǒng)在
超負荷運轉(zhuǎn)了,并將此值記錄到巡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年高中政治課時分層作業(yè)9經(jīng)濟生活與道德建設(shè)含解析新人教版選修6
- 第13課 五四運動(教學設(shè)計)-2024-2025學年浙江省部編版歷史與社會八年級上冊
- 女生唱歌技巧
- 關(guān)于足球的演講稿(29篇)
- 行壓機行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 人教版歷史與社會七年級上冊教學設(shè)計:3.3.1-耕海牧漁
- 庫房轉(zhuǎn)讓合同范本
- 2025年度餐飲業(yè)環(huán)保產(chǎn)品采購合同
- 2025年度全球供應鏈管理出口貿(mào)易三方合作協(xié)議
- 2025年度范文大全固定資產(chǎn)租賃合同多功能版
- 美團外賣騎手服務合同(2025年度)
- 應急預案解讀與實施
- 2025年春季學期團委工作安排表
- 2025年《國有企業(yè)領(lǐng)導人員腐敗案例剖析》心得體會樣本(3篇)
- 廣告行業(yè)安全培訓詳細介紹
- 2024-2029年全球及中國氨能源(綠氨)應用可行性研究與投資戰(zhàn)略規(guī)劃分析報告
- 2025福南平市建武夷水務發(fā)展限公司招聘21人高頻重點提升(共500題)附帶答案詳解
- 2025年上半年工業(yè)和信息化部裝備工業(yè)發(fā)展中心應屆畢業(yè)生招聘(第二批)易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年廣州市海珠區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)單位工作人員筆試真題
- 一科一品一骨科護理
- 《快遞運營》課件-項目三 收件
評論
0/150
提交評論