ORACLE數(shù)據(jù)庫日常維護(hù)作業(yè)計(jì)劃.doc_第1頁
ORACLE數(shù)據(jù)庫日常維護(hù)作業(yè)計(jì)劃.doc_第2頁
ORACLE數(shù)據(jù)庫日常維護(hù)作業(yè)計(jì)劃.doc_第3頁
ORACLE數(shù)據(jù)庫日常維護(hù)作業(yè)計(jì)劃.doc_第4頁
ORACLE數(shù)據(jù)庫日常維護(hù)作業(yè)計(jì)劃.doc_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Oracle Advanced Product ServicesOracle數(shù)據(jù)庫日常維護(hù)手冊(cè)1.1.工作內(nèi)容31.1.1每日工作31.1.2每周的工作 (通過工具自動(dòng)跑出結(jié)果,手工進(jìn)行問題處理)51.1.3每月的工作(人工分析處理)221.1.4 每年的工作(結(jié)合工具進(jìn)行全面檢查)25文檔文檔控制審閱記錄審閱人職位 分發(fā)記錄審閱人職位 相關(guān)文檔1.1. 工作內(nèi)容1.1.1 每日工作1.1.1.1 檢查數(shù)據(jù)庫狀態(tài) (目前人工,以后自動(dòng),)確認(rèn)所有的INSTANCE狀態(tài)以及l(fā)istener狀態(tài)正常,登陸到所有數(shù)據(jù)庫或例程,檢測(cè)ORACLE后臺(tái)進(jìn)程: $ ps ef|grep ora$ lsnrctl statusSQL select status from v$instance;1.1.1.2 檢查CPU使用率 (自動(dòng),無報(bào)警即可)top / glance/vmstatsar -u 60 100例如sar u顯示內(nèi)容包括: %usr:CPU處在用戶模式下的時(shí)間百分比。 %sys:CPU處在系統(tǒng)模式下的時(shí)間百分比。 %wio:CPU等待輸入輸出完成時(shí)間的百分比。 %idle:CPU空閑時(shí)間百分比對(duì)于%usr,建議客戶定期收集,建立系統(tǒng)性能的基線,以便判斷系統(tǒng)CPU使用的趨勢(shì)。如果%usr突然異常增長(zhǎng),建議客戶使用topas,glance找到使用CPU最高資源的進(jìn)程,進(jìn)行進(jìn)一步分析。如果是oracle用戶進(jìn)程,可以使用如下語句獲得該進(jìn)程正在執(zhí)行的SQL:-通過PID找SQLSELECT /*+ ORDERED */ sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN ( SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = &pid)ORDER BY piece ASC;而且我們通過v$session的sid,可以進(jìn)一步從v$session_wait得到該進(jìn)程的等待事件:-通過PID找該進(jìn)程的等待事件:SELECT /*+ ORDERED */ event,p1,p2,p3 FROM v$session_wait a WHERE a.sid IN ( SELECT b.sid FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = &pid);而得到該語句的執(zhí)行計(jì)劃,我們可以如下查詢:SELECT /*+ ORDERED */ OPERATION , OPTIONS, OBJECT_NAME, OPTIMIZER, ID, PARENT_ID, COST,CARDINALITY,BYTES FROM v$sql_plan a where a.hash_value=&hav and a.address=&address;對(duì)于%wio,如果該數(shù)值過高,表示硬盤存在I/O等待。對(duì)于%idle,表明了系統(tǒng)CPU的空閑率,如果該數(shù)值持續(xù)低于10,那么系統(tǒng)需要擴(kuò)充CPU資源。1.1.1.3 檢查內(nèi)存使用率 (自動(dòng),無報(bào)警即可)vmstat 5 5sar w 5 5lsps s #列出pagespaceswapinfo1.1.1.4 檢查表空間的使用情況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_free_space group by tablespace_name) fWHERE a.tablespace_name = f.tablespace_name(+)order by % Free1.1.1.5 event使用日常工作中經(jīng)常會(huì)使用一些event事件來處理ORACLE問題,例如對(duì)整個(gè)數(shù)據(jù)庫設(shè)置event事件,或?qū)δ硞€(gè)session設(shè)置event事件,通過event事件可以處理或跳過一些ORACLE問題針對(duì)system級(jí)別設(shè)置event事件SQLALTER SYSTEM SET EVENT=10325 trace name context forever, level 10, 10015 trace name context forever, level 1 COMMENT=Debug tracing of control and rollback SCOPE=SPFILE;針對(duì)session級(jí)別設(shè)置event事件,例如設(shè)置10046 event事件10046 EVENT levels: 1 - Enable standard SQL_TRACE functionality (Default) 4 - As Level 1 PLUS trace bind values 8 - As Level 1 PLUS trace waits This is especially useful for spotting latch wait etc. but can also be used to spot full table scans and index scans. 12 - As Level 1 PLUS both trace bind values and waits使用SQL語句設(shè)定10046事件SQLalter session set events 10046 trace name context forever, level 12;SQLalter session set events 10046 trace name context off;使用包設(shè)置給對(duì)應(yīng)session設(shè)置和關(guān)閉event事件SQLexecute sys.dbms_system.set_ev(133,3117,10046,12, );SQLexecute sys.dbms_system.set_ev(133,3117,10046,0,);1.1.1.6 oradebug使用$ ps -ef|grep lmonoracle 8874 1 0 16:27 ? 00:00:18 ora_lmon_orcl2oracle 3243 2439 0 19:02 pts/3 00:00:00 grep lmon$ sqlplus / as sysdbaSQLoradebug setospid 8874SQLoradebug ipcSQLoradebug tracefile_name;SQL exit具體生成的debug信息bdump目錄下-rw-rw- 1 oracle dba 7744 5月 3 19:04 orcl2_lmon_8874.trc這個(gè)debug主要可以查看心跳線走的是那個(gè)IP1.1.2 每周的工作 (通過工具自動(dòng)跑出結(jié)果,手工進(jìn)行問題處理)1.1.2.1 檢查文件系統(tǒng)如果文件系統(tǒng)的剩余空間過小或增長(zhǎng)較快,需對(duì)其進(jìn)行確認(rèn)并刪除不用的文件以釋放空間。 $df k$df hHP-UX: $bdf1.1.2.2 檢查裸設(shè)備Aix系統(tǒng)$lsvg #查看vg名稱$lsvg l vgname #查看vg對(duì)應(yīng)裸設(shè)備是否是open狀態(tài)Vxvm卷管理vxdisk list -看磁盤列表vxdisk list disk_name -看指定磁盤信息1.1.2.3 定期檢查TRACE文件及l(fā)istener日志如果這些日志量非常大,占用很大的資源空間,可考慮定期刪除以便釋放資源。一般情況下這些文件存在的相關(guān)目錄:警告日志: $ORACLE_BASE/admin/bdump 或者通過 SQL show parameter background_dump_dest參數(shù)查看其存放位置;Trc文件: $ORACLE_BASE/admin/udump或者通過 SQL show parameter user_dump_dest參數(shù)查看其存放位置;Listener日志: $ORACLE_HOME/network/log*針對(duì)網(wǎng)絡(luò)連接方式,一般用戶都了解通過設(shè)置客戶端tnsnames.ora連接服務(wù)器端的listener,在日常工作中經(jīng)常遇到一些網(wǎng)絡(luò)或配置問題導(dǎo)致在數(shù)據(jù)庫及l(fā)istener運(yùn)行正常的情況下,客戶端仍然無法正常連接服務(wù)器的情況。通過一個(gè)例子來描述該情況。客戶端一般通過訪問本地的tnsnames.ora配置別名訪問數(shù)據(jù)庫服務(wù)器,具體該文件有默認(rèn)路徑在$ORACLE_HOME/network/admin目錄下,當(dāng)然也可以通過設(shè)置環(huán)境變量TNS_ADMIN來改變他的默認(rèn)路徑。*如果設(shè)置服務(wù)器端的sqlnet.ora文件會(huì)導(dǎo)致所有的客戶端連接都產(chǎn)生trace文件,導(dǎo)致所有的客戶端響應(yīng)速度降低。一般出現(xiàn)問題首先設(shè)置客戶端sqlnet.ora文件來跟蹤客戶端連接。這里給出一個(gè)例子服務(wù)器 192.168.111.2客戶端 192.168.111.1首先給出一個(gè)服務(wù)器段的監(jiān)聽配置$ cat listener.ora SID_LIST_LISTENER_SERVER1 = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) ) )LISTENER_SERVER1 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = server1-vip)(PORT = 1522)(IP = FIRST) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.2)(PORT = 1522)(IP = FIRST) ) )客戶端tnsnames.ora配置RAC1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.2)(PORT = 1522) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )在連接過程中,sqlplus system/sysrac1ERROR:ORA-12514: TNS: 監(jiān)聽程序當(dāng)前無法識(shí)別連接描述符中請(qǐng)求的服務(wù)有ORA-12514錯(cuò)誤警告,為了進(jìn)一步分析,可以通過設(shè)置客戶端sqlnet.ora文件中添加TRACE_LEVEL_CLIENT = 16來跟蹤客戶端連接服務(wù)器的整個(gè)過程來判斷問題所在。在客戶端設(shè)置后,會(huì)在當(dāng)前路徑下生成對(duì)應(yīng)的trace文件。1.1.2.4 檢查告警日志文件(alert_SID.log)Oracle在運(yùn)行過程中,會(huì)在警告日志文件(alert_SID.log)中記錄數(shù)據(jù)庫的一些運(yùn)行情況:數(shù)據(jù)庫的啟動(dòng)、關(guān)閉,啟動(dòng)時(shí)的非缺省參數(shù);數(shù)據(jù)庫的重做日志切換情況,記錄每次切換的時(shí)間,及如果因?yàn)闄z查點(diǎn)(checkpoint)操作沒有執(zhí)行完成造成不能切換,會(huì)記錄不能切換的原因;對(duì)數(shù)據(jù)庫進(jìn)行的某些操作,如創(chuàng)建或刪除表空間、增加數(shù)據(jù)文件;數(shù)據(jù)庫發(fā)生的錯(cuò)誤,如表空間不夠、出現(xiàn)壞塊、數(shù)據(jù)庫內(nèi)部錯(cuò)誤(ORA600)定期檢查日志文件,根據(jù)日志中發(fā)現(xiàn)的問題及時(shí)進(jìn)行處理問題處理啟動(dòng)參數(shù)不對(duì)檢查初始化參數(shù)文件因?yàn)闄z查點(diǎn)操作或歸檔操作沒有完成造成重做日志不能切換如果經(jīng)常發(fā)生這樣的情況,可以考慮增加重做日志文件組;想辦法提高檢查點(diǎn)或歸檔操作的效率;有人未經(jīng)授權(quán)刪除了表空間檢查數(shù)據(jù)庫的安全問題,是否密碼太簡(jiǎn)單;如有必要,撤消某些用戶的系統(tǒng)權(quán)限出現(xiàn)壞塊檢查是否是硬件問題(如磁盤本生有壞塊),如果不是,檢查是那個(gè)數(shù)據(jù)庫對(duì)象出現(xiàn)了壞塊,對(duì)這個(gè)對(duì)象進(jìn)行重建表空間不夠增加數(shù)據(jù)文件到相應(yīng)的表空間出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容查看相應(yīng)的TRC文件,如果是Oracle的bug,要及時(shí)打上相應(yīng)的補(bǔ)丁alert_SID.log通常是在$ORACLE_BASE/admin/bdump目錄下。使用 Unix tail或者more命令查看該日志信息(為了方便查詢,每天查詢后將查詢的日志mv到與日志同一目錄下的bak目錄下);告警日志常見報(bào)錯(cuò)分析:ORA-00600,ORA-07445主要參考文檔153788.1,在必要時(shí),請(qǐng)?zhí)峤籗R,獲得更多的服務(wù)。ORA-04031主要參考文檔430473.1,146599.1,在必要時(shí),請(qǐng)?zhí)峤籗R,獲得更多的服務(wù)。主要分析有:使用pool advice來分析shared_pool是否需要調(diào)整;共享池碎片問題,主要分析是否存在硬解析的語句及其他原因;詳細(xì)內(nèi)容可參考附件:也可以考慮添加event:SQL alter session set events 4031 trace name errorstack level 3; SQL alter session set events 4031 trace name HEAPDUMP level 536870914;ORA-01555:分析alert及對(duì)應(yīng)的trace文件,檢查發(fā)生快照過舊對(duì)應(yīng)的SQL語句;分析上述語句其運(yùn)行時(shí)間是否異常,對(duì)其進(jìn)行相應(yīng)的優(yōu)化和調(diào)整;UNDO表空間大小調(diào)整和undo_retention時(shí)間長(zhǎng)短調(diào)整;4,檢查v$undostat視圖內(nèi)容;ORA-01653及ORA-01654:請(qǐng)主要添加表空間的數(shù)據(jù)文件,保障表空間的可用空間。ORA-01684及ORA-01685:請(qǐng)注意監(jiān)控表和索引對(duì)象的max_extents參數(shù)設(shè)定。ORA-00060Oracle會(huì)自動(dòng)將死鎖的一個(gè)會(huì)話回滾,請(qǐng)開發(fā)人員檢查其業(yè)務(wù)邏輯。1.1.2.5 查看數(shù)據(jù)庫連接信息定時(shí)對(duì)數(shù)據(jù)庫的連接情況進(jìn)行檢查,看與數(shù)據(jù)庫建立的會(huì)話數(shù)目是不是正常,如果建立了過多的連接,會(huì)消耗數(shù)據(jù)庫的資源。同時(shí),對(duì)一些“掛死”的連接,可能需要手工進(jìn)行清理。以下的SQL語句列出當(dāng)前數(shù)據(jù)庫建立的會(huì)話情況:select count(*) from v$session; 查看當(dāng)前會(huì)話連接數(shù)select sid,serial#,username,program,machine,status from v$session; -查看會(huì)話的詳細(xì)信息其中,SID 會(huì)話(session)的ID號(hào);SERIAL# 會(huì)話的序列號(hào),和SID一起用來唯一標(biāo)識(shí)一個(gè)會(huì)話;USERNAME 建立該會(huì)話的用戶名;PROGRAM 這個(gè)會(huì)話是用什么工具連接到數(shù)據(jù)庫的;STATUS 當(dāng)前這個(gè)會(huì)話的狀態(tài),ACTIVE表示會(huì)話正在執(zhí)行某些任務(wù),INACTIVE表示當(dāng)前會(huì)話沒有執(zhí)行任何操作; 如果DBA要手工斷開某個(gè)會(huì)話,則執(zhí)行:(一般不建議使用這種方式去殺掉數(shù)據(jù)庫的連接,這樣有時(shí)候session不會(huì)斷開。容易引起死連接。建議通過sid查到操作系統(tǒng)的spid,使用ps ef|grep spidno的方式確認(rèn)spid不是ORACLE的后臺(tái)進(jìn)程。使用操作系統(tǒng)的kill -9命令殺掉連接 )alter system kill session SID,SERIAL#;注意:上例中SID為1到10(USERNAME列為空)的會(huì)話,是Oracle的后臺(tái)進(jìn)程,不要對(duì)這些會(huì)話進(jìn)行任何操作。1.1.2.6 檢查數(shù)據(jù)文件的狀態(tài)select file_name,status from dba_data_files;如果數(shù)據(jù)文件的STATUS列不是AVAILABLE,那么就要采取相應(yīng)的措施,如對(duì)該數(shù)據(jù)文件進(jìn)行恢復(fù)操作,或重建該數(shù)據(jù)文件所在的表空間。1.1.2.7 檢查SGA,PGA使用情況Select * from v$sgastat;Select * from v$pgastat;*關(guān)注SGA,PGA區(qū)域使用問題*在日常工作中,經(jīng)常遇到應(yīng)用程序沒有使用綁定變量大量消耗shared pool的案例,通過下面腳本查看消耗shared pool的語句。select substr(sql_text,1,400) sql_text,sum(SHARABLE_MEM) from v$sqlarea having count(*) 100 group by substr(sql_text,1,400)order by sum(SHARABLE_MEM)判斷每個(gè)進(jìn)程占用PGA的使用情況col c1 heading Program|Name format a30col c2 heading PGA|Used|Memory format 999,999,999col c3 heading PGA|Allocated|Memory format 999,999,999,999col c4 heading PGA|Maximum|Memory format 999,999,999,999selectprogram c1,pga_used_mem c2,pga_alloc_mem c3,pga_max_mem c4fromv$processorder byc4 desc;1.1.2.8 檢查數(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ù)庫長(zhǎng)時(shí)間持續(xù)出現(xiàn)大量像latch free,enqueue,buffer busy waits,db file sequential read,db file scattered read等等待事件時(shí),需要對(duì)其進(jìn)行分析,可能存在問題的語句。1.1.2.9 檢查臨時(shí)表空間占用V$sort_usage;V$sort_segment;查看具體占用臨時(shí)表空間的語句如下:select vs.username, vs.module, vs.action, vs.saddr, v1.session_addr, v1.session_num, v1.tablespace, contents, v1.segtype, v1.segfile#, v1.extents, V2.TOTAL_EXTENTS, v2.used_extents, v2.free_extents, v2.MAX_SIZE, v2.max_used_size, v2.current_users, dt.file_name, VQ.SQL_TEXT, VQ.RUNTIME_MEM, VQ.SORTS from v$sort_usage v1, v$sort_segment v2, dba_temp_files DT, v$session vs , V$SQL VQ where v1.tablespace = v2.tablespace_name and v2.tablespace_name = dt.tablespace_name and vs.saddr = v1.session_addr and VQ.ADDRESS =VS.SQL_ADDRESSAND NVL(VQ.MODULE, ) = NVL(VS.MODULE, )AND VS.STATUS = ACTIVE1.1.2.10 檢查undo表空間占用檢查是否存在UNDO表空間空間不足情況:Select * from v$undostat where nospaceerrcnt0;*檢查當(dāng)前回滾表空間的使用,通過該腳本可以準(zhǔn)確獲取回滾表空間的使用情況*select decode(sign(round(100*(UNDOB-UNDO*DBS)/UNDOB),0)-10), 1,normal:,decode(sign(round(100*(UNDOB-UNDO*DBS)/UNDOB),0)-20), 1,warning:,error:)| the |instance_name| undo tablespace |tablespace_name| total space |UNDOB/1024/1024|MB used space |round(UNDO*DBS/1024/1024),0)|MB idle |round(100*(UNDOB-UNDO*DBS)/UNDOB),0)|% at |to_char(sysdate,yyyymmddhh24miss) as aFROM (select instance_name from V$instance),(select nvl(sum(undoblks),0) UNDO from v$undostatwhere begin_time (select sysdate - UR/(3600*24) from (select value as UR from v$parameter where name=undo_retention),(select value as DBS from v$parameter where name=db_block_size),(select sum(bytes) as UNDOB,tablespace_name from dba_data_files where tablespace_name=(select upper(value) as UNDO from v$parameter where name=undo_tablespace) group by tablespace_name);*add by lipeng 2009/2/9通過下面腳本可以檢查回滾表空間過期與非過期的比例*select sum(bytes)/1024/1024 UNEXPIRED BYTES from dba_undo_extents where tablespace_name=UNDOTBS1and status=UNEXPIRED;select sum(bytes)/1024/1024 EXPIRED BYTES from dba_undo_extents where tablespace_name=UNDOTBS1and status=EXPIRED;*add by lipeng 2009/2/9通過設(shè)置_undo_autotune可以啟動(dòng)和關(guān)閉回滾段保留功能,在10g中該參數(shù)默認(rèn)為true,該參數(shù)可以動(dòng)態(tài)調(diào)整*Alter system set _undo_autotune = false;*add by lipeng 2009/2/9檢查消耗回滾段的大事務(wù),注意回滾表空間名稱*SELECT V.SID, V.SERIAL#, V.USERNAME, U.SEGMENT_NAME, U.BLOCKSFROM V$SESSION V, V$TRANSACTION T, DBA_ROLLBACK_SEGS R, DBA_UNDO_EXTENTS UWHERE V.SADDR=T.SES_ADDR AND R.SEGMENT_NAME=U.SEGMENT_NAME ANDU.STATUS = ACTIVE ANDT.XIDUSN=R.SEGMENT_ID AND R.TABLESPACE_NAME=UNDOTBS1;1.1.2.11 鎖表問題的處理查詢目前鎖對(duì)象信息,更細(xì)節(jié)的鎖處理方式請(qǐng)查看工作中長(zhǎng)用腳本col sid for 999999col username for a10col schemaname for a10col 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.object_id and s.sid=l.session_id;解鎖處理:alter system kill session &sid,&serial#;*該部分內(nèi)容主要關(guān)注在RAC兩個(gè)節(jié)點(diǎn)間鎖表現(xiàn)象,由于RAC兩個(gè)節(jié)點(diǎn)在處理相同業(yè)務(wù)時(shí)候,有可能導(dǎo)致兩個(gè)節(jié)點(diǎn)鎖表,下面通過一些具體舉例描述該問題。*SELECT INST_ID,DECODE(request,0,Holder: ,Waiter: ) | sid sess, id1, id2, lmode, request, type FROM GV$LOCK WHERE (id1, id2, type) IN (SELECT id1, id2, type FROM GV$LOCK WHERE request 0) ORDER BY id1, request測(cè)試rac環(huán)境下的鎖create table system.akdas (A1 number, Col1 Varchar2(10), Col2 Varchar2(10); insert into system.akdas values(5,Hello,Hi); insert into system.akdas values(6,Sudip,Datta); insert into system.akdas values(7,Preetam,Roy); insert into system.akdas values(8,Michael,Polaski);From Node 1: = update system.akdas set a1=11 where a1=6;From Node 2: = update system.akdas set a1=12 where a1=7; update system.akdas set a1=11 where a1=6; /* this will wait for Node1: to complete the transaction */查詢RAC環(huán)境鎖的狀態(tài)select a.INST_ID, a.SID, a.TYPE, a.CTIME,b.INST_ID, b.SID, b.TYPE, b.CTIME from gv$lock a,gv$lock b where (a.ID1,a.ID2,a.TYPE) in (select a.ID1,a.ID2,a.TYPE from gv$lock where request0)and a.ID1 = b.ID1 and a.ID2 = b.ID2and a.type like TX and b.type like TXand a.LMODE = 6and b.LMODE = 0INST_ID SID TY CTIME INST_ID SID TY CTIME- - - - - - - - 1 2148 TX 3036 2 1051 TX 3015prompt CTIME is in Seconds prompt REQUEST is waiterprompt REQUEST = 0 LMODE = 6 is holderset lines 120 col BLOCK for 9 col LMODE for 9 col INST_ID for 9 col REQUEST for 9 col SID for 999999 select INST_ID, SID, TYPE, ID1, ID2, LMODE, REQUEST, CTIME, BLOCK from gv$lock where (ID1,ID2,TYPE) in (select ID1,ID2,TYPE from gv$lock where request0);INST_ID SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK- - - - - - - - - 1 2148 TX 655451 82666 6 0 46 2 2 1051 TX 655451 82666 0 6 25 0prompt = prompt This Scripts is get who is waiterprompt Query 1. Waiting for TX Enqueue where mode is Exclusive prompt = prompt set linesize 100 set pagesize 66 col c1 for a15 col c1 heading Program Name select l.inst_id,l.SID,program c1,l.TYPE,l.ID1,l.ID2,l.LMODE,l.REQUEST from gv$lock l,gv$session s where l.type like TX and l.REQUEST =6 and l.inst_id=s.inst_id and l.sid=s.sid order by id1 / INST_ID SID Program Name TY ID1 ID2 LMODE REQUEST- - - - - - - - 2 1051 sqlplusSERV-TEST TX 655451 82666 0 6 2 (TNS V1-V3)prompt prompt This Scripts is get who is holderprompt Query 2. Holding for TX Enqueue where mode greater than 6 prompt = prompt set linesize 100 set pagesize 66 col c1 for a15 col c1 heading Program Name select l.inst_id,l.SID,program c1,l.TYPE,l.ID1,l.ID2,l.LMODE,l.REQUEST from gv$lock l,gv$session s where l.type like TX and l.LMODE =6 and (l.ID1,l.ID2) in (select id1,id2 from gv$lock where type like TX and REQUEST =6) and l.inst_id=s.inst_id and l.sid=s.sid order by id1 / INST_ID SID Program Name TY ID1 ID2 LMODE REQUEST- - - - - - - - 1 2148 sqlplusSERV-TEST TX 655451 82666 6 0 1 (TNS V1-V3)prompt prompt prompt Query 3. Object# ,File#, Block# and Slot# TX Enqueue in detail prompt = prompt set linesize 110 col c0 for 999 col c0 heading INS col c1 for a15 col c1 heading Program Name select inst_id c0,sid,program c1,ROW_WAIT_OBJ# object_no, ROW_WAIT_FILE# Rfile_no,ROW_WAIT_BLOCK# Block_no ,ROW_WAI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論