




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上oracle數據庫巡檢內容1. 檢查基本狀況在本節中主要對數據庫的基本狀況進行檢查,其中包含:檢查實例狀態,檢查Oracle服務進程,檢查Oracle監聽進程,共三個部分。1.1. 檢查Oracle實例狀態SQL> select instance_name,host_name,startup_time,status,database_status from v$instance;INSTANCE_NAME HOST_NAME STARTUP_TIME S
2、TATUS DATABASE_STATUS- - - - - -CKDB AS14 2009-5-7 9:3 O
3、PEN ACTIVE其中“STATUS”表示Oracle當前的實例狀態,必須為“OPEN”;“DATABASE_STATUS”表示Oracle當前數據庫的狀態,必須為“ACTIVE”。SQL> select name,log_mode,open_mode from v$database;NAME LOG_MODE OPEN_MODE- -
4、; -CKDB ARCHIVELOG READ WRITE其中“LOG_MODE”表示Oracle當前的歸檔方式。“ARCHIVELOG”表示數據庫運行在歸檔模式下,“NOARCHIVELOG”表示數據庫運行在非歸檔模式下。在我們的系統中數據庫必須運行在歸檔方式下。1.2. 檢查Oracle服務進程$ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|g
5、rep -v grep|wc loracle 2960 1 0 May07 ? 00:01:02 ora_pmon_CKDBoracle 2962 1 0 May07 ? 00:00:22 ora_psp0_CKDBoracle
6、160;2964 1 0 May07 ? 00:00:00 ora_mman_CKDBoracle 2966 1 0 May07 ? 00:03:20 ora_dbw0_CKDBoracle 2968 1
7、60;0 May07 ? 00:04:29 ora_lgwr_CKDBoracle 2970 1 0 May07 ? 00:10:31 ora_ckpt_CKDBoracle 2972 1 0 May07 ?
8、 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_
9、CKDBoracle 2978 1 0 May07 ? 00:06:17 ora_mmon_CKDBoracle 2980 1 0 May07 ? 00:07:26 ora_mmnl_CKDBoracle 2982
10、0; 1 0 May07 ? 00:00:00 ora_d000_CKDBoracle 2984 1 0 May07 ? 00:00:00 ora_s000_CKDBoracle 2994 1 0 May07 ?
11、 00:00:28 ora_arc0_CKDBoracle 2996 1 0 May07 ? 00:00:29 ora_arc1_CKDBoracle 3000 1 0 May07 ?
12、 00: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 &
13、#160;23802 1 0 05:09 ? 00:00:33 ora_j000_CKDB19在檢查Oracle的進程命令輸出后,輸出顯示至少應包括以下一些進程:. Oracle寫數據文件的進程,輸出顯示為:“ora_dbw0_CKDB”. Oracle寫日志文件的進程,輸出顯示為:“ora_lgwr_ CKDB”. Oracle監聽實例狀態的進程,輸出顯示為:“ora_smon_ CKDB”. Oracle監聽客戶端連接進程狀態的進程,輸出顯示為:“ora
14、_pmon_ CKDB”. Oracle進行歸檔的進程,輸出顯示為:“ora_arc0_ CKDB”. Oracle進行檢查點的進程,輸出顯示為:“ora_ckpt_ CKDB”. Oracle進行的進程,輸出顯示為:“ora_reco_ CKDB”1.3. 檢查Oracle監聽狀態/home/oracle>lsnrctl statusLSNRCTL for Linux: Version 10.2.0.2.0 - Production on 23-JUL-2009 14:11:53Copyright (c) 1991, , Oracle.
15、60;All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)STATUS of the LISTENER-Alias LISTENERVersion
16、; TNSLSNR for Linux: Version 10.2.0.2.0 - ProductionStart Date 07-MAY-2009 09:35:52Uptime
17、60; 77 days 4 hr. 36 min. 0 secTrace Level offSecurity ON: Local OS Authenticatio
18、nSNMP OFFListener Parameter File /data/oracle/product/10.2.0/network/admin/listener.oraListener Log File /data/oracle
19、/product/10.2.0/network/log/listener.logListening Endpoints Summary.(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521)Services Summary.Service "CKDB" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service.Service "CKDBXDB" has 1 insta
20、nce(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 command completed successfully“Services Summary”項表示Oracle的監聽進程正在監聽哪些數據庫實例,輸出顯示中至少應該有“CKDB”這一
21、項。檢查監聽進程是否存在: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. 檢查系統和oracle日志文件在本節主要檢查相關的日志文件,包含:檢查操作系統的
22、日志文件,檢查Oracle日志文件,檢查Oracle核心轉儲目錄,檢查Root用戶和Oracle用戶的email,總共四個部分。2.1. 檢查操作系統日志文件# cat /var/log/messages |grep failed查看是否有與Oracle用戶相關的出錯信息。2.2. 檢查oracle日志文件oracleAS14 $ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep ora-oracleAS14 $ cat /data/oracle/admin/CKDB
23、/bdump/alert_CKDB.log |grep erroracleAS14 $ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep failOracle在運行過程中,會在警告日志文件(alert_SID.log)中記錄數據庫的一些運行情況:數據庫的啟動、關閉,啟動時的非缺省參數;數據庫的重做日志切換情況,記錄每次切換的時間,及如果因為檢查點(checkpoint)操作沒有執行完成造成不能切換,會記錄不能切換的原因;對數據庫進行的某些操作,如創建或刪除表空間、增加數據文件;數據庫發生的錯誤,如表空間不夠、出現壞塊、數據庫內部錯誤(
24、ORA600)等。定期檢查日志文件,根據日志中發現的問題及時進行處理:問題處理啟動參數不對檢查初始化參數文件因為檢查點操作或歸檔操作沒有完成造成重做日志不能切換如果經常發生這樣的情況,可以考慮增加重做日志文件組;想辦法提高檢查點或歸檔操作的效率;有人未經授權刪除了表空間檢查數據庫的安全問題,是否密碼太簡單;如有必要,撤消某些用戶的系統權限出現壞塊檢查是否是硬件問題(如磁盤本生有壞塊),如果不是,檢查是那個數據庫對象出現了壞塊,對這個對象進行重建表空間不夠增加數據文件到相應的表空間出現ORA-600根據日志文件的內容查看相應的TRC文件,如果是Oracle的bug,要及時打上相應的補丁Liste
25、ner日志:$ORACLE_HOME/network/log2.3. 檢查Oracle核心轉儲目錄$ls $ORACLE_BASE/admin/CKDB/cdump/*.trc|wc -l$ls $ORACLE_BASE/admin/CKDB/udump/*.trc|wc l如果上面命令的結果每天都在增長,則說明Oracle進程經常發生核心轉儲。這說明某些用戶進程或者數據庫后臺進程由于無法處理的原因而異常退出。頻繁的核心轉儲特別是數據庫后臺進程的核心轉儲會導致數據庫異常終止。2.4. 檢查Root用戶和Oracle用戶的ema
26、il#tail n 200 /var/mail/root#tail n 200 /var/mail/oracle查看有無與Oracle用戶相關的出錯信息。3. 檢查Oracle對象狀態在本節主要檢查相關Oracle對象的狀態,包含:檢查Oracle控制文件狀態,檢查Oracle在線日志狀態,檢查Oracle表空間的狀態,檢查Oracle所有數據文件狀態,檢查Oracle所有表、索引、存儲過程、觸發器、包等對象的狀態,檢查Oracle所有回滾段的狀態,總共六個部分。3.1. 檢查Oracle控制文件狀態SQL>
27、 select status,name from v$controlfile;STATUS NAME- -/data/oradata/CKDB/control01.ctl/data/oradata/CKDB/control02.ctl/data/oradata/CKDB/control03.ctl輸出結果應該有3條以上(包含3條)的記錄,“STATUS”應該為空。狀態為空表示控制文件狀態正常。3.2. 檢查Oracle在線日志狀態SQL> select group#,status,type,member from v$logfile;GROUP
28、# STATUS TYPE MEMBER- - - -3 ONLINE /data/oradata/CKDB/redo03.log2 ONLINE /data/oradata/CKDB/redo02.log1 ONLINE /data/orad
29、ata/CKDB/redo01.log4 ONLINE /data/oradata/CKDB/redo04.log5 ONLINE /data/oradata/CKDB/redo05.log6 ONLINE /data/oradata/CKDB/redo06.log6 rows sele
30、cted輸出結果應該有3條以上(包含3條)記錄,“STATUS”應該為非“INVALID”,非“DELETED”。注:“STATUS”顯示為空表示正常。3.3. 檢查Oracle表空間的狀態SQL> select tablespace_name,status from dba_tablespaces;TABLESPACE_NAME STATUS- -SYSTEM
31、60; ONLINEUNDOTBS1 ONLINESYSAUX &
32、#160; ONLINETEMP
33、60;ONLINEUSERS ONLINESJ1 &
34、#160; ONLINEADM_INDEX ONLINEHOME_DATA &
35、#160; ONLINEHOME_INDEX ONLINEPHOTO_DATA ONLINEPHOTO
36、_INDEX ONLINE。輸出結果中STATUS應該都為ONLINE。3.4. 檢查Oracle所有數據文件狀態SQL> select name,status from v$datafile;NAME
37、 STATUS- -/data/oradata/CKDB/system01.dbf
38、160; SYSTEM/data/oradata/CKDB/undotbs01.dbf ONLINE/data/oradata/CKDB/sysaux01.dbf
39、; ONLINE/data/oradata/CKDB/users01.dbf ONLINE/data/oradata/CKDB/sj.dbf
40、0; ONLINE/data/oradata/CKDB/HOME_DATA1.dbf ONLINE/data/oradata/CKDB/HOME_INDEX1.dbf
41、60; ONLINE/data/oradata/CKDB/PHOTO_DATA1.dbf ONLINE/data/oradata/CKDB/PHOTO_INDEX1.dbf
42、 ONLINE/data/oradata/CKDB/BLOG_DATA1.dbf ONLINE/data/oradata/CKDB/BLOG_INDEX1.dbf
43、; ONLINE/data/oradata/CKDB/AUDIO_DATA1.dbf ONLINE/data/oradata/CKDB/AUDIO_INDEX1.dbf ONLINE/data/or
44、adata/CKDB/VIDEO_DATA1.dbf ONLINE/data/oradata/CKDB/VIDEO_INDEX1.dbf ONLINE/data/oradata/CKDB/SYS_DATA1.dbf
45、60; ONLINE/data/oradata/CKDB/SYS_INDEX1.dbf ONLINE/data/oradata/CKDB/ADM_DATA1.dbf
46、0; ONLINE/data/oradata/CKDB/ADM_INDEX1.dbf ONLINE/data/oradata/CKDB/perfstat.dbf
47、 ONLINE輸出結果中“STATUS”應該都為“ONLINE”。或者:SQL> select file_name,status from dba_data_files;FILE_NAME
48、 STATUS- -/data/oradata/CKDB/users01.dbf AVAILABLE/data/oradata/CKDB/sysaux01.dbf
49、; AVAILABLE/data/oradata/CKDB/undotbs01.dbf AVAILABLE/data/oradata/CKDB/system01.dbf AVAILABLE/data
50、/oradata/CKDB/sj.dbf AVAILABLE/data/oradata/CKDB/perfstat.dbf AVAILABLE/data/oradata/CKDB/HOME_DAT
51、A1.dbf AVAILABLE/data/oradata/CKDB/HOME_INDEX1.dbf AVAILABLE/data/oradata/CKDB/PHOTO_DATA1.dbf AVAI
52、LABLE輸出結果中“STATUS”應該都為“AVAILABLE”。3.5. 檢查無效對象sql>select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM'no rows selected如果有記錄返回,則說明存在無效對象。若這些對象與應用相關,那么需要重新編譯生成這個對象,或者:SELECT owner, object_name, objec
53、t_type FROM dba_objects WHERE status= 'INVALID'3.6. 檢查所有回滾段狀態SQL> select segment_name,status from dba_rollback_segs;SEGMENT_NAME STATUS- -SYSTEM
54、60; ONLINE_SYSSMU1$ ONLINE_SYSSMU2$
55、60; ONLINE_SYSSMU3$ ONLINE_SYSSMU4$
56、60; ONLINE_SYSSMU5$ ONLINE_SYSSMU6$
57、60; ONLINE_SYSSMU7$ ONLINE_SYSSMU8$
58、60; ONLINE_SYSSMU9$ ONLINE_SYSSMU10$
59、160; ONLINE11 rows selected輸出結果中所有回滾段的“STATUS”應該為“ONLINE”。4. 檢查Oracle相關資源的使用情況在本節主要檢查Oracle相關資源的使用情況,包含:檢查Oracle初始化文件中相關的參數值,檢查數據庫連接情況,檢查系統磁盤空間,檢查Oracle各個表空間使用情況,檢查一些擴展異常的對象,檢查system表空間內的內容,檢查對象的下一擴展與表空間的最大擴展值,總共七個部分。4.1. 檢查Oracle初始化文件中相
60、關參數值SQL> select resource_name,max_utilization,initial_allocation,limit_value from v$resource_limit;RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE- - - -processes
61、 162 500 500sessions &
62、#160; 168 555 555enqueue_locks 136
63、 6930 6930enqueue_resources 111 2660 UNLIMITEDges_procs
64、0; 0 0 0ges_ress
65、; 0 0 UNLIMITEDges_locks
66、60; 0 0 UNLIMITEDges_cache_ress
67、160; 0 0 UNLIMITEDges_reg_msgs 0
68、160; 0 UNLIMITEDges_big_msgs 0 0
69、160; UNLIMITEDges_rsv_msgs 0 0
70、60; 0gcs_resources 0 0
71、;0gcs_shadows 0 0 0dml_lock
72、s 76 2440 UNLIMITEDtemporary_table_locks
73、; 26 UNLIMITED UNLIMITEDtransactions 13 610
74、0; UNLIMITEDbranches 0 610 UNLIMITEDcmtcallbk &
75、#160; 3 610 UNLIMITEDsort_segment_locks
76、 5 UNLIMITED UNLIMITEDmax_rollback_segments 11 610
77、60; 65535RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE- - - -max_shared_servers 1 UNLIMITED UNLIMITEDparall
78、el_max_servers 16 80 360022 rows selected若LIMIT_VALU-MAX_UTILIZATION<=5,則表明與RESOURCE_NAME相關的Oracle初始化參數需要調整。
79、可以通過修改Oracle初始化參數文件$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora來修改。4.2. 檢查數據庫連接情況查看當前會話連接數,是否屬于正常范圍。SQL> select count(*) from v$session;COUNT(*)-29select sid,serial#,username,program,machine,status from v$session;SID SERIAL# USERNAME
80、60; PROGRAM MACHINE STATUS- - - - - -1 3 oraclexz15saledb (P
81、MON) xz15saledb ACTIVE2 3 oraclexz15saledb (DBW0) xz15saledb ACTIVE3 3
82、60; oraclexz15saledb (DBW1) xz15saledb ACTIVE4 3
83、0; oraclexz15saledb (LGWR) xz15saledb ACTIVE5 3 oraclexz15saledb (CKPT)
84、 xz15saledb ACTIVE6 3 oraclexz15saledb (SMON) xz15saledb ACTIVE7 3 &
85、#160; oraclexz15saledb (RECO) xz15saledb ACTIVE8 1
86、160; oraclexz15saledb (CJQ0) xz15saledb ACTIVE9 3 oraclexz15saledb (ARC0) xz15
87、saledb ACTIVE10 3 oraclexz15saledb (ARC1) xz15saledb ACTIVE11 11319 ZK AccPrtInv
88、_svrxz15tuxedo2 (TNS V1-V3) xz15tuxedo2 INACTIVE13 48876 ZG uploadxz15saleap (TNS V1-V3) xz15saleap INACTIVE17 20405 ZK AccCreateRptxz15tuxedo
89、1 (TNS V1-V3) xz15tuxedo1 INACTIVE20 12895 ZK OweScanSvrxz15billdb (TNS V1-V3) xz15billdb INACTIVE其中:SID 會話(session)的ID號;SERIAL# 會話的序列號,和SID一起用來唯一標識一個會話;USERNAME 建立該會話的用戶名;PROGRAM 這個會話是
90、用什么工具連接到數據庫的;STATUS 當前這個會話的狀態,ACTIVE表示會話正在執行某些任務,INACTIVE表示當前會話沒有執行任何操作;如果建立了過多的連接,會消耗數據庫的資源,同時,對一些“掛死”的連接可能需要手工進行清理。如果要手工斷開某個會話,則執行:(一般不建議使用這種方式去殺掉數據庫的連接,這樣有時候session不會斷開。容易引起死連接。建議通過sid查到操作系統的spid,使用ps ef|grep spidno的方式確認spid不是ORACLE的后臺進程。使用操作系統的kill -9命令殺掉連接)alter system kill session 'SI
91、D,SERIAL#'注意:上例中SID為1到10(USERNAME列為空)的會話,是Oracle的后臺進程,不要對這些會話進行任何操作。4.3. 檢查系統磁盤空間如果文件系統的剩余空間過小或增長較快,需對其進行確認并刪除不用的文件以釋放空間。oracleAS14 $ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda5 &
92、#160; 9.7G 3.9G 5.4G 42% /dev/sda1 479M 16M 438M 4% /boot/dev/sda2
93、160;49G 19G 28G 41% /datanone 1014M 0 1014M 0% /dev/shm4.4. 檢查表空間使用情況SQL> select f.tablespace_name,a.total,f.free,round(f.fr
94、ee/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_free_space group by tablespace_name) fWHERE a.tablespace_name = f.tablespace_name(+)order by
95、"% Free"TABLESPACE_NAME TOTAL FREE % Free- - - -OPERATION_DATA
96、60; 1800 547 30WAPWEB_DATA &
97、#160; 100 36 36OPERATION_INDEX 500
98、 186 37SYSTEM 1024
99、60; 515 50SYSAUX 1024
100、 534 52SALE8_TEMP 100 62
101、0; 62SJ1 500 348
102、; 70PERFSTAT 500 356 &
103、#160; 71.HOME_DATA 100 77
104、160;77SYS_INDEX 100 100 100VIDEO_INDEX &
105、#160; 100 100 100VIDEO_DATA
106、 100 100 100BLOG_DATA
107、 100 100 10039 rows selected如果空閑率%Free小于10%以上(包含10%),則注意要增加數據文件來擴展表空間而不要是用數據文件的自動擴展功能。請不要對表空間增加過多的數據文件,增加數據文件的原則是每個數據文件大小為2G或者4G,自動擴展的最大限制在8G
108、。4.5. 檢查一些擴展異常的對象sql>select Segment_Name, Segment_Type, TableSpace_Name,(Extents/Max_extents)*100 PercentFrom sys.DBA_SegmentsWhere Max_Extents != 0 and (Extents/Max_extents)*100>=95order By Percent;no rows selected如果有記錄返回,則這些對象的擴展已經快達到它定義時的最大擴展值。對于這些對象要修改它的存儲結構參數。4.6.
109、160; 檢查system表空間內的內容select distinct(owner) from dba_tableswhere tablespace_name='SYSTEM' andowner!='SYS' and owner!='SYSTEM'unionselect distinct(owner) from dba_indexeswhere tablespace_name='SYSTEM' andowner!='SYS' and owner!='SYSTEM'no rows selec
110、ted如果記錄返回,則表明system表空間內存在一些非system和sys用戶的對象。應該進一步檢查這些對象是否與我們應用相關。如果相關請把這些對象移到非System表空間,同時應該檢查這些對象屬主的缺省表空間值。4.7. 檢查對象的下一擴展與表空間的最大擴展值sql>select a.table_name, a.next_extent, a.tablespace_namefrom all_tables a,(select tablespace_name, max(bytes) as big_chunkfrom dba_free_spacegroup by tablespace_name ) fwhere f.tablespace_name = a.tablespace_nameand a.next_extent > f.big_chunkunionselect a.index_name, a.next_extent, a.tablespace_namefrom all_indexes a,(select tablespace
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公寓工作計劃范文(15篇)
- 硬件升級保證金協議
- 2025個人工作心得體會銷售(4篇)
- 工作流程優化協議范本
- 歐式廠房出租合同協議
- 樓頂屋面防水合同協議
- 含稅金額合同協議
- 吳中區借錢合同協議
- 快銷品供貨合同協議
- 正規企業外包合同協議
- 2025年高考歷史總復習高中歷史必修二八大專題知識復習提綱
- 2025事業單位考試題庫及答案200題
- 臨床執業醫師考試健康教育技能試題及答案
- 機車車輛試題及答案
- 地理澳大利亞課件-2024-2025學年人教版(2024)初中地理七年級下冊
- 常用施工規定和技術要求1
- 旅游景區娛樂服務設計
- 新版《醫療器械經營質量管理規范》(2024)培訓試題及答案
- 大數據與人工智能營銷(南昌大學)知到智慧樹章節答案
- 健合集團筆試在線測評題
- 2024屆江蘇省蘇錫常鎮四市高三二模地理試題含答案解析
評論
0/150
提交評論