




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Oracle10gOracle10g 數(shù)據(jù)庫數(shù)據(jù)庫日常維護(hù)手冊日常維護(hù)手冊目 錄1.1.檢查數(shù)據(jù)庫基本狀況檢查數(shù)據(jù)庫基本狀況.4 41.1.檢查 ORACLE實(shí)例狀態(tài).41.2.檢查 ORACLE服務(wù)進(jìn)程.41.3.檢查 ORACLE監(jiān)聽狀態(tài).52.2.檢查系統(tǒng)和檢查系統(tǒng)和 ORACLEORACLE 日志文件日志文件.6 62.1.檢查操作系統(tǒng)日志文件.62.2.檢查ORACLE日志文件.62.3.檢查 ORACLE核心轉(zhuǎn)儲目錄.72.4.檢查 ROOT用戶和 ORACLE用戶的EMAIL.73.3.檢查檢查 ORACLEORACLE 對象狀態(tài)對象狀態(tài).7 73.1.檢查 ORACLE控制文件
2、狀態(tài).73.2.檢查 ORACLE在線日志狀態(tài).83.3.檢查 ORACLE表空間的狀態(tài).83.4.檢查 ORACLE所有數(shù)據(jù)文件狀態(tài).83.5.檢查無效對象.93.6.檢查所有回滾段狀態(tài).104.4.檢查檢查 ORACLEORACLE 相關(guān)資源的使用情況相關(guān)資源的使用情況.10104.1.檢查 ORACLE初始化文件中相關(guān)參數(shù)值.104.2.檢查數(shù)據(jù)庫連接情況.114.3.檢查系統(tǒng)磁盤空間.124.4.檢查表空間使用情況.124.5.檢查一些擴(kuò)展異常的對象.134.6.檢查SYSTEM表空間內(nèi)的內(nèi)容.144.7.檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值.145.5.檢查檢查 ORACLEORA
3、CLE 數(shù)據(jù)庫備份結(jié)果數(shù)據(jù)庫備份結(jié)果.14145.1.檢查數(shù)據(jù)庫備份日志信息.155.2.檢查BACKUP卷中文件產(chǎn)生的時間.155.3.檢查ORACLE用戶的EMAIL.156.6.檢查檢查 ORACLEORACLE 數(shù)據(jù)庫性能數(shù)據(jù)庫性能.15156.1.檢查數(shù)據(jù)庫的等待事件.156.2.DISK READ最高的 SQL 語句的獲取 .156.3.查找前十條性能差的SQL.166.4.等待時間最多的 5 個系統(tǒng)等待事件的獲取.166.5.檢查運(yùn)行很久的 SQL .166.6.檢查消耗 CPU 最高的進(jìn)程.166.7.檢查碎片程度高的表.176.8.檢查表空間的 I/O 比例.176.9.檢查
4、文件系統(tǒng)的 I/O 比例.176.10.檢查死鎖及處理.176.11.檢查數(shù)據(jù)庫CPU、I/O、內(nèi)存性能.186.12.查看是否有僵死進(jìn)程.196.13.檢查行鏈接/遷移.196.14.定期做統(tǒng)計分析.196.15.檢查緩沖區(qū)命中率.206.16.檢查共享池命中率.206.17.檢查排序區(qū).206.18.檢查日志緩沖區(qū).217.7.檢查數(shù)據(jù)庫安全性檢查數(shù)據(jù)庫安全性.21217.1.檢查系統(tǒng)安全日志信息.217.2.檢查用戶修改密碼.218.8.其他檢查其他檢查.22228.1.檢查當(dāng)前CRONTAB任務(wù)是否正常 .228.2.ORACLE JOB是否有失敗.228.3.監(jiān)控數(shù)據(jù)量的增長情況.2
5、28.4.檢查失效的索引.238.5.檢查不起作用的約束.238.6.檢查無效的TRIGGER.23巡檢內(nèi)容1.1.檢查數(shù)據(jù)庫基本狀況檢查數(shù)據(jù)庫基本狀況在本節(jié)中主要對數(shù)據(jù)庫的基本狀況進(jìn)行檢查,其中包含:檢查 Oracle 實(shí)例狀態(tài),檢查Oracle 服務(wù)進(jìn)程,檢查 Oracle 監(jiān)聽進(jìn)程,共三個部分。. 檢查檢查 OracleOracle 實(shí)例狀態(tài)實(shí)例狀態(tài) SQL select instance_name,host_name,startup_time,status,database_status from v$instance; INSTANCE_NAME HOST_NAME S
6、TARTUP_TIME STATUS DATABASE_STATUS- - - - - -CKDB AS14 2009-5-7 9:3 OPEN ACTIVE其中“STATUS”表示 Oracle 當(dāng)前的實(shí)例狀態(tài),必須為“OPEN” ;“DATABASE_STATUS”表示Oracle 當(dāng)前數(shù)據(jù)庫的狀態(tài),必須為“ACTIVE” 。 SQL select name,log_mode,open_mode from v$database; NAME LOG_MODE OPEN_MODE- - -CKDB ARCHIVELOG READ WRITE其中“LOG_MODE”表示 Oracle 當(dāng)前的歸檔
7、方式。 “ARCHIVELOG”表示數(shù)據(jù)庫運(yùn)行在歸檔模式下, “NOARCHIVELOG”表示數(shù)據(jù)庫運(yùn)行在非歸檔模式下。在我們的系統(tǒng)中數(shù)據(jù)庫必須運(yùn)行在歸檔方式下。. 檢查檢查 OracleOracle 服務(wù)進(jìn)程服務(wù)進(jìn)程$ps -ef|grep ora_|grep -v grep&ps -ef|grep ora_|grep -v grep|wc loracle 2960 1 0 May07 ? 00:01:02 ora_pmon_CKDBoracle 2962 1 0 May07 ? 00:00:22 ora_psp0_CKDBoracle 2964 1 0 May07 ?
8、 00:00:00 ora_mman_CKDBoracle 2966 1 0 May07 ? 00:03:20 ora_dbw0_CKDBoracle 2968 1 0 May07 ? 00:04:29 ora_lgwr_CKDBoracle 2970 1 0 May07 ? 00:10:31 ora_ckpt_CKDBoracle 2972 1 0 May07 ? 00:03:45 ora_smon_CKDBoracle 2974 1 0 May07 ? 00:00:00 ora_reco_CKDBoracle 2976 1 0 May07 ? 00:01:24 ora_cjq0_CKDBo
9、racle 2978 1 0 May07 ? 00:06:17 ora_mmon_CKDBoracle 2980 1 0 May07 ? 00:07:26 ora_mmnl_CKDBoracle 2982 1 0 May07 ? 00:00:00 ora_d000_CKDBoracle 2984 1 0 May07 ? 00:00:00 ora_s000_CKDBoracle 2994 1 0 May07 ? 00:00:28 ora_arc0_CKDBoracle 2996 1 0 May07 ? 00:00:29 ora_arc1_CKDBoracle 3000 1 0 May07 ? 0
10、0:00:00 ora_qmnc_CKDBoracle 3625 1 0 May07 ? 00:01:40 ora_q000_CKDBoracle 31594 1 0 Jul20 ? 00:00:00 ora_q003_CKDBoracle 23802 1 0 05:09 ? 00:00:33 ora_j000_CKDB19在檢查 Oracle 的進(jìn)程命令輸出后,輸出顯示至少應(yīng)包括以下一些進(jìn)程: . Oracle 寫數(shù)據(jù)文件的進(jìn)程,輸出顯示為:“ora_dbw0_CKDB” . Oracle 寫日志文件的進(jìn)程,輸出顯示為:“ora_lgwr_ CKDB” . Oracle 監(jiān)聽實(shí)例狀態(tài)的進(jìn)程,
11、輸出顯示為:“ora_smon_ CKDB” . Oracle 監(jiān)聽客戶端連接進(jìn)程狀態(tài)的進(jìn)程,輸出顯示為:“ora_pmon_ CKDB” . Oracle 進(jìn)行歸檔的進(jìn)程,輸出顯示為:“ora_arc0_ CKDB” . Oracle 進(jìn)行檢查點(diǎn)的進(jìn)程,輸出顯示為:“ora_ckpt_ CKDB” . Oracle 進(jìn)行恢復(fù)的進(jìn)程,輸出顯示為:“ora_reco_ CKDB”. 檢查檢查 OracleOracle 監(jiān)聽狀態(tài)監(jiān)聽狀態(tài)/home/oraclelsnrctl statusLSNRCTL for Linux: Version .0 - Productio
12、n on 23-JUL-2009 14:11:53Copyright (c) 1991, 2005, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)STATUS of the LISTENER-Alias LISTENERVersion TNSLSNR for Linux: Version .0 - ProductionStart Date 07-MAY-2009 09:35:52Uptime 77 days 4 hr. 36 min. 0 secTrace
13、Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /data/oracle/product/10.2.0/network/admin/listener.oraListener Log File /data/oracle/product/10.2.0/network/log/listener.logListening Endpoints Summary. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521)Services Sum
14、mary.Service CKDB has 1 instance(s). Instance CKDB, status READY, has 1 handler(s) for this service.Service CKDBXDB has 1 instance(s). Instance CKDB, status READY, has 1 handler(s) for this service.Service CKDB_XPT has 1 instance(s). Instance CKDB, status READY, has 1 handler(s) for this service.The
15、 command completed successfully“Services Summary”項(xiàng)表示 Oracle 的監(jiān)聽進(jìn)程正在監(jiān)聽哪些數(shù)據(jù)庫實(shí)例,輸出顯示中至少應(yīng)該有“CKDB”這一項(xiàng)。檢查監(jiān)聽進(jìn)程是否存在:oracleAS14 $ ps -ef|grep lsn|grep -v greporacle 2954 1 0 May07 ? 00:01:17 /data/oracle/product/10.2.0/bin/tnslsnr LISTENER inherit2.2.檢查系統(tǒng)和檢查系統(tǒng)和 oracleoracle 日志文件日志文件在本節(jié)主要檢查相關(guān)的日志文件,包含:檢查操作系統(tǒng)的日
16、志文件,檢查 Oracle 日志文件,檢查 Oracle 核心轉(zhuǎn)儲目錄,檢查 Root 用戶和 Oracle 用戶的 email,總共四個部分。. 檢查操作系統(tǒng)日志文件檢查操作系統(tǒng)日志文件# cat /var/log/messages |grep failed查看是否有與 Oracle 用戶相關(guān)的出錯信息。. 檢查檢查 oracleoracle 日志文件日志文件oracleAS14 $ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep ora-oracleAS14 $ cat /data/oracle/ad
17、min/CKDB/bdump/alert_CKDB.log |grep erroracleAS14 $ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep fail Oracle 在運(yùn)行過程中,會在警告日志文件(alert_SID.log)中記錄數(shù)據(jù)庫的一些運(yùn)行情況:數(shù)據(jù)庫的啟動、關(guān)閉,啟動時的非缺省參數(shù);數(shù)據(jù)庫的重做日志切換情況,記錄每次切換的時間,及如果因?yàn)闄z查點(diǎn)(checkpoint)操作沒有執(zhí)行完成造成不能切換,會記錄不能切換的原因;對數(shù)據(jù)庫進(jìn)行的某些操作,如創(chuàng)建或刪除表空間、增加數(shù)據(jù)文件;數(shù)據(jù)庫發(fā)生的錯誤,如表空間不夠、出現(xiàn)壞
18、塊、數(shù)據(jù)庫內(nèi)部錯誤(ORA600)等。定期檢查日志文件,根據(jù)日志中發(fā)現(xiàn)的問題及時進(jìn)行處理:問題處理啟動參數(shù)不對檢查初始化參數(shù)文件因?yàn)闄z查點(diǎn)操作或歸檔操作沒有完成造成重做日志不能切換如果經(jīng)常發(fā)生這樣的情況,可以考慮增加重做日志文件組;想辦法提高檢查點(diǎn)或歸檔操作的效率;有人未經(jīng)授權(quán)刪除了表空間檢查數(shù)據(jù)庫的安全問題,是否密碼太簡單;如有必要,撤消某些用戶的系統(tǒng)權(quán)限出現(xiàn)壞塊檢查是否是硬件問題(如磁盤本生有壞塊),如果不是,檢查是那個數(shù)據(jù)庫對象出現(xiàn)了壞塊,對這個對象進(jìn)行重建表空間不夠增加數(shù)據(jù)文件到相應(yīng)的表空間出現(xiàn) ORA-600根據(jù)日志文件的內(nèi)容查看相應(yīng)的 TRC 文件,如果是 Oracle 的 bug
19、,要及時打上相應(yīng)的補(bǔ)丁Listener 日志:$ORACLE_HOME/network/log. 檢查檢查 OracleOracle 核心轉(zhuǎn)儲目錄核心轉(zhuǎn)儲目錄$ls $ORACLE_BASE/admin/CKDB/cdump/*.trc|wc -l $ls $ORACLE_BASE/admin/CKDB/udump/*.trc|wc l如果上面命令的結(jié)果每天都在增長,則說明 Oracle 進(jìn)程經(jīng)常發(fā)生核心轉(zhuǎn)儲。這說明某些用戶進(jìn)程或者數(shù)據(jù)庫后臺進(jìn)程由于無法處理的原因而異常退出。頻繁的核心轉(zhuǎn)儲特別是數(shù)據(jù)庫后臺進(jìn)程的核心轉(zhuǎn)儲會導(dǎo)致數(shù)據(jù)庫異常終止。. 檢查檢查 RootRo
20、ot 用戶和用戶和 OracleOracle 用戶的用戶的 emailemail#tail n 200 /var/mail/root#tail n 200 /var/mail/oracle查看有無與 Oracle 用戶相關(guān)的出錯信息。3.3.檢查檢查 OracleOracle 對象狀態(tài)對象狀態(tài)在本節(jié)主要檢查相關(guān) Oracle 對象的狀態(tài),包含:檢查 Oracle 控制文件狀態(tài),檢查Oracle 在線日志狀態(tài),檢查 Oracle 表空間的狀態(tài),檢查 Oracle 所有數(shù)據(jù)文件狀態(tài),檢查Oracle 所有表、索引、存儲過程、觸發(fā)器、包等對象的狀態(tài),檢查 Oracle 所有回滾段的狀態(tài),總共六個部分
21、。. 檢查檢查 OracleOracle 控制文件狀態(tài)控制文件狀態(tài)SQL select status,name from v$controlfile; STATUS NAME- - /data/oradata/CKDB/control01.ctl /data/oradata/CKDB/control02.ctl /data/oradata/CKDB/control03.ctl輸出結(jié)果應(yīng)該有 3 條以上(包含 3 條)的記錄, “STATUS”應(yīng)該為空。狀態(tài)為空表示控制文件狀態(tài)正常。 . 檢查檢查 OracleOracle 在線日志狀態(tài)在線日志狀態(tài)SQL select
22、 group#,status,type,member from v$logfile; GROUP# STATUS TYPE MEMBER- - - - 3 ONLINE /data/oradata/CKDB/redo03.log 2 ONLINE /data/oradata/CKDB/redo02.log 1 ONLINE /data/oradata/CKDB/redo01.log 4 ONLINE /data/oradata/CKDB/redo04.log 5 ONLINE /data/oradata/CKDB/redo05.log 6 ONLINE /data/oradata/CKDB/r
23、edo06.log 6 rows selected輸出結(jié)果應(yīng)該有 3 條以上(包含 3 條)記錄, “STATUS”應(yīng)該為非“INVALID” ,非“DELETED” 。 注:“STATUS”顯示為空表示正常。. 檢查檢查 OracleOracle 表空間的狀態(tài)表空間的狀態(tài)SQL select tablespace_name,status from dba_tablespaces;TABLESPACE_NAME STATUS- -SYSTEM ONLINEUNDOTBS1 ONLINESYSAUX ONLINETEMP ONLINEUSERS ONLINESJ1 ONLINEAD
24、M_INDEX ONLINEHOME_DATA ONLINEHOME_INDEX ONLINEPHOTO_DATA ONLINEPHOTO_INDEX ONLINE。 。 。 。 。 。 。輸出結(jié)果中 STATUS 應(yīng)該都為 ONLINE。. 檢查檢查 OracleOracle 所有數(shù)據(jù)文件狀態(tài)所有數(shù)據(jù)文件狀態(tài)SQL select name,status from v$datafile; NAME STATUS- -/data/oradata/CKDB/system01.dbf SYSTEM/data/oradata/CKDB/undotbs01.dbf ONLINE/data/
25、oradata/CKDB/sysaux01.dbf ONLINE/data/oradata/CKDB/users01.dbf ONLINE/data/oradata/CKDB/sj.dbf ONLINE/data/oradata/CKDB/HOME_DATA1.dbf ONLINE/data/oradata/CKDB/HOME_INDEX1.dbf ONLINE/data/oradata/CKDB/PHOTO_DATA1.dbf ONLINE/data/oradata/CKDB/PHOTO_INDEX1.dbf ONLINE/data/oradata/CKDB/BLOG_DATA1.dbf O
26、NLINE/data/oradata/CKDB/BLOG_INDEX1.dbf ONLINE/data/oradata/CKDB/AUDIO_DATA1.dbf ONLINE/data/oradata/CKDB/AUDIO_INDEX1.dbf ONLINE/data/oradata/CKDB/VIDEO_DATA1.dbf ONLINE/data/oradata/CKDB/VIDEO_INDEX1.dbf ONLINE/data/oradata/CKDB/SYS_DATA1.dbf ONLINE/data/oradata/CKDB/SYS_INDEX1.dbf ONLINE/data/ora
27、data/CKDB/ADM_DATA1.dbf ONLINE/data/oradata/CKDB/ADM_INDEX1.dbf ONLINE/data/oradata/CKDB/perfstat.dbf ONLINE輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE” 。或者:SQL select file_name,status from dba_data_files; FILE_NAME STATUS- -/data/oradata/CKDB/users01.dbf AVAILABLE/data/oradata/CKDB/sysaux01.dbf AVAILABLE/data/oradata
28、/CKDB/undotbs01.dbf AVAILABLE/data/oradata/CKDB/system01.dbf AVAILABLE/data/oradata/CKDB/sj.dbf AVAILABLE/data/oradata/CKDB/perfstat.dbf AVAILABLE/data/oradata/CKDB/HOME_DATA1.dbf AVAILABLE/data/oradata/CKDB/HOME_INDEX1.dbf AVAILABLE/data/oradata/CKDB/PHOTO_DATA1.dbf AVAILABLE輸出結(jié)果中“STATUS”應(yīng)該都為“AVAIL
29、ABLE” 。. 檢查無效對象檢查無效對象sqlselect owner,object_name,object_type from dba_objects where status!=VALID and owner!=SYS and owner!=SYSTEM; no rows selected 如果有記錄返回,則說明存在無效對象。若這些對象與應(yīng)用相關(guān),那么需要重新編譯生成這個對象,或者:SELECT owner, object_name, object_type FROM dba_objects WHERE status= INVALID;. 檢查所有回滾段狀態(tài)檢
30、查所有回滾段狀態(tài)SQL select segment_name,status from dba_rollback_segs; SEGMENT_NAME STATUS- -SYSTEM ONLINE_SYSSMU1$ ONLINE_SYSSMU2$ ONLINE_SYSSMU3$ ONLINE_SYSSMU4$ ONLINE_SYSSMU5$ ONLINE_SYSSMU6$ ONLINE_SYSSMU7$ ONLINE_SYSSMU8$ ONLINE_SYSSMU9$ ONLINE_SYSSMU10$ ONLINE 11 rows selected輸出結(jié)果中所有回滾段的“STATUS”應(yīng)該為“O
31、NLINE” 。4.4.檢查檢查 OracleOracle 相關(guān)資源的使用情況相關(guān)資源的使用情況在本節(jié)主要檢查 Oracle 相關(guān)資源的使用情況,包含:檢查 Oracle 初始化文件中相關(guān)的參數(shù)值,檢查數(shù)據(jù)庫連接情況,檢查系統(tǒng)磁盤空間,檢查 Oracle 各個表空間使用情況,檢查一些擴(kuò)展異常的對象,檢查 system 表空間內(nèi)的內(nèi)容,檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值,總共七個部分。. 檢查檢查 OracleOracle 初始化文件中相關(guān)參數(shù)值初始化文件中相關(guān)參數(shù)值SQL select resource_name,max_utilization,initial_allocat
32、ion, limit_value from v$resource_limit; RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE- - - -processes 162 500 500sessions 168 555 555enqueue_locks 136 6930 6930enqueue_resources 111 2660 UNLIMITEDges_procs 0 0 0ges_ress 0 0 UNLIMITEDges_locks 0 0 UNLIMITEDges_cache_ress 0 0 UNLIMITEDges_
33、reg_msgs 0 0 UNLIMITEDges_big_msgs 0 0 UNLIMITEDges_rsv_msgs 0 0 0gcs_resources 0 0 0gcs_shadows 0 0 0dml_locks 76 2440 UNLIMITEDtemporary_table_locks 26 UNLIMITED UNLIMITED transactions 13 610 UNLIMITEDbranches 0 610 UNLIMITEDcmtcallbk 3 610 UNLIMITEDsort_segment_locks 5 UNLIMITED UNLIMITEDmax_roll
34、back_segments 11 610 65535RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE- - - -max_shared_servers 1 UNLIMITED UNLIMITEDparallel_max_servers 16 80 3600 22 rows selected若 LIMIT_VALU-MAX_UTILIZATION select count(*) from v$session; COUNT(*)- 29select sid,serial#,username,program,machine,statu
35、s from v$session;SID SERIAL# USERNAME PROGRAM MACHINE STATUS- - - - - - 1 3 oraclexz15saledb (PMON) xz15saledb ACTIVE 2 3 oraclexz15saledb (DBW0) xz15saledb ACTIVE 3 3 oraclexz15saledb (DBW1) xz15saledb ACTIVE 4 3 oraclexz15saledb (LGWR) xz15saledb ACTIVE 5 3 oraclexz15saledb (CKPT) xz15saledb ACTIV
36、E 6 3 oraclexz15saledb (SMON) xz15saledb ACTIVE 7 3 oraclexz15saledb (RECO) xz15saledb ACTIVE 8 1 oraclexz15saledb (CJQ0) xz15saledb ACTIVE 9 3 oraclexz15saledb (ARC0) xz15saledb ACTIVE 10 3 oraclexz15saledb (ARC1) xz15saledb ACTIVE 11 11319 ZK AccPrtInv_svrxz15tuxedo2 (TNS V1-V3) xz15tuxedo2 INACTI
37、VE 13 48876 ZG uploadxz15saleap (TNS V1-V3) xz15saleap INACTIVE 17 20405 ZK AccCreateRptxz15tuxedo1 (TNS V1-V3) xz15tuxedo1 INACTIVE 20 12895 ZK OweScanSvrxz15billdb (TNS V1-V3) xz15billdb INACTIVE其中:SID 會話(session)的 ID 號;SERIAL# 會話的序列號,和 SID 一起用來唯一標(biāo)識一個會話;USERNAME 建立該會話的用戶名;PROGRAM 這個會話是用什么工具連接到數(shù)據(jù)庫的
38、;STATUS 當(dāng)前這個會話的狀態(tài),ACTIVE 表示會話正在執(zhí)行某些任務(wù),INACTIVE 表示當(dāng)前會話沒有執(zhí)行任何操作;如果建立了過多的連接,會消耗數(shù)據(jù)庫的資源,同時,對一些“掛死”的連接可能需要手工進(jìn)行清理。如果 DBA 要手工斷開某個會話,則執(zhí)行:(一般不建議使用這種方式去殺掉數(shù)據(jù)庫的連接,這樣有時候 session 不會斷開。容易引起死連接。建議通過 sid 查到操作系統(tǒng)的 spid,使用 ps ef|grep spidno 的方式確認(rèn) spid 不是 ORACLE 的后臺進(jìn)程。使用操作系統(tǒng)的 kill -9 命令殺掉連接 )alter system kill session SID
39、,SERIAL#;注意:上例中 SID 為 1 到 10(USERNAME 列為空)的會話,是 Oracle 的后臺進(jìn)程,不要對這些會話進(jìn)行任何操作。. 檢查系統(tǒng)檢查系統(tǒng)磁盤空間磁盤空間如果文件系統(tǒng)的剩余空間過小或增長較快,需對其進(jìn)行確認(rèn)并刪除不用的文件以釋放空間。 oracleAS14 $ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda5 9.7G 3.9G 5.4G 42% /dev/sda1 479M 16M 438M 4% /boot/dev/sda2 49G 19G 28G 41% /datanone 10
40、14M 0 1014M 0% /dev/shm. 檢查表空間使用情況檢查表空間使用情況SQL select f.tablespace_name,a.total,f.free,round(f.free/a.total)*100) % Free from (select tablespace_name, sum(bytes/(1024*1024) total from dba_data_files group by tablespace_name) a,(select tablespace_name, round(sum(bytes/(1024*1024) free from dba
41、_free_space group by tablespace_name) fWHERE a.tablespace_name = f.tablespace_name(+)order by % Free; TABLESPACE_NAME TOTAL FREE % Free- - - -OPERATION_DATA 1800 547 30WAPWEB_DATA 100 36 36OPERATION_INDEX 500 186 37SYSTEM 1024 515 50SYSAUX 1024 534 52SALE8_TEMP 100 62 62SJ1 500 348 70PERFSTAT 500 35
42、6 71.HOME_DATA 100 77 77SYS_INDEX 100 100 100VIDEO_INDEX 100 100 100VIDEO_DATA 100 100 100BLOG_DATA 100 100 100 39 rows selected如果空閑率%Free 小于 10%以上(包含 10%) ,則注意要增加數(shù)據(jù)文件來擴(kuò)展表空間而不要是用數(shù)據(jù)文件的自動擴(kuò)展功能。請不要對表空間增加過多的數(shù)據(jù)文件,增加數(shù)據(jù)文件的原則是每個數(shù)據(jù)文件大小為 2G 或者 4G,自動擴(kuò)展的最大限制在 8G。. 檢查一些擴(kuò)展異常的對象檢查一些擴(kuò)展異常的對象sqlselect Segment_N
43、ame, Segment_Type, TableSpace_Name, (Extents/Max_extents)*100 Percent From sys.DBA_Segments Where Max_Extents != 0 and (Extents/Max_extents)*100=95 order By Percent; no rows selected如果有記錄返回,則這些對象的擴(kuò)展已經(jīng)快達(dá)到它定義時的最大擴(kuò)展值。對于這些對象要修改它的存儲結(jié)構(gòu)參數(shù)。. 檢查檢查 systemsystem 表空間內(nèi)的內(nèi)容表空間內(nèi)的內(nèi)容select distinct(owner) from
44、 dba_tables where tablespace_name=SYSTEM and owner!=SYS and owner!=SYSTEM union select distinct(owner) from dba_indexes where tablespace_name=SYSTEM andowner!=SYS and owner!=SYSTEM;no rows selected如果記錄返回,則表明 system 表空間內(nèi)存在一些非 system 和 sys 用戶的對象。應(yīng)該進(jìn)一步檢查這些對象是否與我們應(yīng)用相關(guān)。如果相關(guān)請把這些對象移到非 System 表空間,同時應(yīng)該檢查這些對象
45、屬主的缺省表空間值。. 檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值檢查對象的下一擴(kuò)展與表空間的最大擴(kuò)展值sqlselect a.table_name, a.next_extent, a.tablespace_name from all_tables a, (select tablespace_name, max(bytes) as big_chunk from dba_free_space group by tablespace_name ) f where f.tablespace_name = a.tablespace_name and a.next_extent f.big_c
46、hunk union select a.index_name, a.next_extent, a.tablespace_name from all_indexes a, (select tablespace_name, max(bytes) as big_chunk from dba_free_space group by tablespace_name ) f where f.tablespace_name = a.tablespace_name and a.next_extent f.big_chunk;no rows selected如果有記錄返回,則表明這些對象的下一個擴(kuò)展大于該對象所
47、屬表空間的最大擴(kuò)展值,需調(diào)整相應(yīng)表空間的存儲參數(shù)。5.5.檢查檢查 OracleOracle 數(shù)據(jù)庫備份結(jié)果數(shù)據(jù)庫備份結(jié)果在本節(jié)主要檢查 Oracle 數(shù)據(jù)庫備份結(jié)果,包含:檢查數(shù)據(jù)庫備份日志信息,檢查backup 卷中文件產(chǎn)生的時間,檢查 oracle 用戶的 email,總共三個部分。. 檢查數(shù)據(jù)庫備份日志信息檢查數(shù)據(jù)庫備份日志信息假設(shè):備份的臨時目錄為/backup/hotbakup,我們需要檢查 2009 年 7 月 22 日的備份結(jié)果,則用下面的命令來檢查: #cat /backup/hotbackup/hotbackup-09-7-22.log|grep i erro
48、r備份腳本的日志文件為 hotbackup-月份-日期-年份.log,在備份的臨時目錄下面。如果文件中存在“ERROR:” ,則表明備份沒有成功,存在問題需要檢查。. 檢查檢查 backupbackup 卷中文件產(chǎn)生的時間卷中文件產(chǎn)生的時間#ls lt /backup/hotbackupbackup 卷是備份的臨時目錄,查看輸出結(jié)果中文件的日期,都應(yīng)當(dāng)是在當(dāng)天凌晨由熱備份腳本產(chǎn)生的。如果時間不對則表明熱備份腳本沒執(zhí)行成功。. 檢查檢查 oracleoracle 用戶的用戶的 emailemail#tail n 300 /var/mail/oracle熱備份腳本是通過
49、 Oracle 用戶的 cron 去執(zhí)行的。cron 執(zhí)行完后操作系統(tǒng)就會發(fā)一條Email 通知 Oracle 用戶任務(wù)已經(jīng)完成。查看 Oracle email 中今天凌晨部分有無 ORA-,Error,F(xiàn)ailed 等出錯信息,如果有則表明備份不正常。6.6.檢查檢查 OracleOracle 數(shù)據(jù)庫性能數(shù)據(jù)庫性能在本節(jié)主要檢查 Oracle 數(shù)據(jù)庫性能情況,包含:檢查數(shù)據(jù)庫的等待事件,檢查死鎖及處理,檢查 cpu、I/O、內(nèi)存性能,查看是否有僵死進(jìn)程,檢查行鏈接/遷移,定期做統(tǒng)計分析,檢查緩沖區(qū)命中率,檢查共享池命中率,檢查排序區(qū),檢查日志緩沖區(qū),總共十個部分。. 檢查數(shù)據(jù)庫
50、的等待事件檢查數(shù)據(jù)庫的等待事件set pages 80set lines 120col event for a40select sid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait where event not like SQL% and event not like rdbms%;如果數(shù)據(jù)庫長時間持續(xù)出現(xiàn)大量像 latch free,enqueue,buffer busy waits,db file sequential read,db file scattered read 等等待事件時,需要對其進(jìn)行分析,可能存
51、在問題的語句。. DiskDisk ReadRead 最高的最高的 SQLSQL 語句的獲取語句的獲取SQLSELECT SQL_TEXT FROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS)WHERE ROWNUM=5 desc;. 查找前十條性能差的查找前十條性能差的 sqlsqlSELECT * FROM (SELECT PARSING_USER_IDEXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXT FROM V$SQLAREA ORDER BY DISK_REA
52、DS DESC) WHERE ROWNUM10 ;. 等待時間最多的等待時間最多的 5 5 個系統(tǒng)等待事件的獲取個系統(tǒng)等待事件的獲取SELECT * FROM (SELECT * FROM V$SYSTEM_EVENT WHERE EVENT NOT LIKE SQL% ORDER BY TOTAL_WAITS DESC) WHERE ROWNUM=5;. 檢查運(yùn)行很久的檢查運(yùn)行很久的 SQLSQLCOLUMN USERNAME FORMAT A12 COLUMN OPNAME FORMAT A16 COLUMN PROGRESS FORMAT A8 SELECT
53、USERNAME,SID,OPNAME,ROUND(SOFAR*100 / TOTALWORK,0) | % AS PROGRESS,TIME_REMAINING,SQL_TEXT FROM V$SESSION_LONGOPS , V$SQL WHERE TIME_REMAINING 0 AND SQL_ADDRESS=ADDRESS AND SQL_HASH_VALUE = HASH_VALUE;. 檢查消耗檢查消耗 CPUCPU 最高的進(jìn)程最高的進(jìn)程SET LINE 240SET VERIFY OFFCOLUMN SID FORMAT 999COLUMN PID FORMAT
54、 999 COLUMN S_# FORMAT 999COLUMN USERNAME FORMAT A9 HEADING ORA USERCOLUMN PROGRAM FORMAT A29COLUMN SQL FORMAT A60COLUMN OSNAME FORMAT A9 HEADING OS USERSELECT P.PID PID,S.SID SID,P.SPID SPID,S.USERNAME USERNAME,S.OSUSER OSNAME,P.SERIAL# S_#,P.TERMINAL,P.PROGRAM PROGRAM,P.BACKGROUND,S.STATUS,RTRIM(S
55、UBSTR(A.SQL_TEXT, 1, 80) SQLFROM V$PROCESS P, V$SESSION S,V$SQLAREA A WHERE P.ADDR = S.PADDR AND S.SQL_ADDRESS = A.ADDRESS (+) AND P.SPID LIKE %&1%;. 檢查碎片程度高的表檢查碎片程度高的表SQL SELECT segment_name table_name,COUNT(*) extents FROM dba_segments WHERE owner NOT IN (SYS, SYSTEM) GROUP BY segment_n
56、ame HAVING COUNT(*)=(SELECT MAX(COUNT(*) FROM dba_segments GROUP BY segment_name);. 檢查表空間的檢查表空間的 I/OI/O 比例比例SQLSELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME FILE,F.PHYRDS PYR, F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHERE F.FILE# = DF.FILE_ID ORDER BY
57、DF.TABLESPACE_NAME;. 檢查文件系統(tǒng)的檢查文件系統(tǒng)的 I/OI/O 比例比例SQLSELECT SUBSTR(A.FILE#,1,2) #, SUBSTR(A.NAME,1,30) NAME, A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B WHERE A.FILE# = B.FILE#;0.檢查死鎖及處理檢查死鎖及處理查詢目前鎖對象信息:col sid for 999999col username for a10col schemaname for a10c
58、ol osuser for a16col machine for a16col terminal for a20col owner for a10col object_name for a30col object_type for a10select sid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_name,object_type,o.object_id from dba_objects o,v$locked_object l,v$session s where o.object_id=l
59、.object_id and s.sid=l.session_id;oracle 級 kill 掉該 session:alter system kill session &sid,&serial#;操作系統(tǒng)級 kill 掉 session:#kill -9 pid1.檢查數(shù)據(jù)庫檢查數(shù)據(jù)庫 cpucpu、I/OI/O、內(nèi)存性能、內(nèi)存性能記錄數(shù)據(jù)庫的 cpu 使用、IO、內(nèi)存等使用情況,使用 vmstat,iostat,sar,top 等命令進(jìn)行信息收集并檢查這些信息,判斷資源使用情況。1.1.CPUCPU 使用情況:使用情況:rootsale8 # toptop
60、- 10:29:35 up 73 days, 19:54, 1 user, load average: 0.37, 0.38, 0.29Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombieCpu(s): 1.2% us, 0.1% sy, 0.0% ni, 98.8% id, 0.0% wa, 0.0% hi, 0.0% siMem: 16404472k total, 12887428k used, 3517044k free, 60796k buffersSwap: 8385920k total, 665576k used, 7720344k fre
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項(xiàng)11 古詩文閱讀(解析版)
- 2025屆四川省成都市高三第二次診斷考試政治試題(原卷版+解析版)
- 《物聯(lián)網(wǎng)技術(shù)案例教程》課件-第8章46
- 勸學(xué)教學(xué)設(shè)計
- 四海省廣元市蒼溪縣2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量監(jiān)測數(shù)學(xué)試題 (原卷版+解析版)
- 《跨境電商》課件-9.跨境店鋪優(yōu)化
- 《Linux操作系統(tǒng)》課件-1.認(rèn)識Linux(全)
- 景區(qū)開發(fā)石子運(yùn)輸合同樣本
- 項(xiàng)目協(xié)作與會議記錄會議紀(jì)要
- 廣告行業(yè)廣告投放手冊
- 2025年內(nèi)蒙古機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案一套
- 2024年安徽警官職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案1套
- (高清版)TDT 1068-2022 國土空間生態(tài)保護(hù)修復(fù)工程實(shí)施方案編制規(guī)程
- GB/T 3452.1-2005液壓氣動用O形橡膠密封圈第1部分:尺寸系列及公差
- 麻醉學(xué)復(fù)試題單
- 《旅游攝影》課程教學(xué)大綱(本科)
- 2022年漢字聽寫大會競賽題庫(含答案)
- 管道設(shè)計解析課件
- 7S培訓(xùn) 7S管理培訓(xùn)
- 實(shí)驗(yàn)研究平拋運(yùn)動(課堂PPT)
- 生日蛋糕美術(shù)(課堂PPT)
評論
0/150
提交評論