當前位置:首頁 » 操作系統 » oracle資料庫監控

oracle資料庫監控

發布時間: 2022-05-03 03:28:24

㈠ 如何實時監控oracle資料庫中是否有新紀錄

在要監控的表A中創建觸發器,把新記錄數據,更新到另外一張表B,
應用定期查詢B的時間,前後兩次查詢的結果一樣就是沒有更新,不一樣就是有新記錄。
當然也可以直接查詢原表A,不過A的數據一多就影響性能了。

㈡ 監控判斷oracle資料庫掛了

監控判斷oracle資料庫掛了就是資料庫宕機了,不能再提供服務。
最簡單的處理辦法就是重啟計算機。
或者就要在資料庫里排查出發生問題的原因,然後對症解決。

㈢ 如何監控oracle資料庫性能

oracle的性能判斷需要綜合資料庫的多個運行指標來判斷:
1、進程數量和佔用cpu:這個主要看有沒有長時間佔用cpu的進行。通常會判斷大出sql,需要優化;這個可以用執行計劃或者awr報告查看;
2、內存佔用:主要用系統命令查看ora_佔用和系統總內存的比例,swap的使用率;通常swap使用率低就沒事;這個主要使用系統命令;
3、磁碟佔用率:防止磁碟空間不足,需要的主要在系統和用戶表空間、RMAN等操作上;這個主要使用系統命令;RMAN命令查看

㈣ 如何監控Oracle資料庫中長時間運行的進程

監控Oracle 資料庫中長時間運行進程的兩種方式,通過這些方 法,我們可以監控單條語句的 長時間操作,監控存儲過程的運行進度,甚至自己'生成'進度信息. 關鍵詞:監控進度V$SESSION_LONGOPS 當Oracle 存儲過程運行時間較長時,我們希望客 戶端能了解到它在後台執行的狀況或者進度信息(類 似WINDOWS 安裝軟體時的進度條信息),這樣可以知 道運行在後台的應用進程是否終止或者休眠,更近一 步要求,最好能知道進行到哪一步驟,還有多少時間才 能完成. 簡單到一條SQL 語句的情況,如果執行時間較長, 我們如何得到它的運行狀況?是否後台還在運行?雖 然可以查看SQL 的執行計劃了解它的執行步驟,但如 何知道它運行到哪一個步驟了呢?如何才能估計出它 的合理的較為精確的執行時間呢? Oracle 資料庫前端發出執行命令後,進程在後台 執行,普通開發人員一般無法了解到後台在做什麼,一 般採用的方法是用DBMSOUTPUT.PUT_LINE 來列印出 來,但DBMS—OUTPUT.PUT—LINE 列印的信息受緩沖區 大小限制,如果信息較多就容易溢出,而且如果存儲過 程執行時間較長,只有在其執行完後,這些信息才會打 印出來,這就增加了調試周期,影響了調試效果.有的 開發人員在存儲過程中通過寫日誌表的形式來記錄進 度,但需要COMMIT 後其他進程才能看到這些日誌信 息,而在某些控制結構中(如游標CURSOR 循環)COM— MIT,則很容易引起ORA 一01555 錯誤,造成程序出錯. 下面介紹兩種監控方法. 如何監控單條長語句從ORACLE8 開始,出現一個新的動態視圖:V $SESSION_LONGOPS,從這個視圖可以獲知一些操作 (如全表掃描,並行查詢,RMAN,排序等)的執行進度, 我們先來了解一下V$SESSION—LONGOPS 視圖的一些 重要欄位: 列說明 sID 會話標識 5ERIAL#會話序列號 OPfE 操作的簡短描述 TARG 盯操作的對象,如xx TAR~_DESC目標描述 SOFAR 目前已執行單位數目 ToTAIWORK 總單位數目 UNlTS 單位 START_TIME 開始執行時間 LAST_ UPDATE_TIME 統計數據最後更新時間 TIME_ REMAINING 估計剩餘時間c ELAPSED_SECONDS 已執行時間(秒) MEsSAGE 統計數據匯總信息 USERA^^E 用戶名 ~L_ADDRES5 語句的地址,,用於和V$sql_text 等關聯 語句的hash 地址,用於和V$sql_texlSQLHASH VALUE等關聯 這個動態視圖顯示各個運行時間超過6 程.這些進程包含許多備份和恢復功能,統計數據收集,查詢等. 執行以下語句就可以得到資料庫中各個長時間操 作的進程信息: select'Icfromv$sesslon_ longopswheretime_ re- malnlng>0 我們也可以用圖形化工具查看,如TOAD,OEM中 均可查看長操作進程進度信息. Oracle 自帶的管理工具OracleEnterpriseManager (OEM)提供了圖形化查看長操作的功能,如: 計算機系統應用2007 Quest公司的資料庫管理工具TOAD 也可以看到 長操作信息,如: 表的統計信息. 長時問運行的SQL 語句可以用V$SESSION—LON? 為了能監控到查詢進程執行的進度,必需使用 CBO 優化器並且: 設置TlMED—STATISTICS或者SQL—TRACE 用ANALYZE語句或者DBMS—STAT 包收集相關 108 實踐經驗P 帕cficalExpen GOPS來監控.實際上,長時間運行的存儲過程也可以 監控.那是否任何操作都可以通過這個視圖來監控進 度呢?很遺憾,V$SESSION—LONGOPS 只會報告它認為 耗時長的操作.對於NEsTEDLOOP/UNIQUEINDEX READS/INDEXRANGEScANS 等執行速度很快的操作, 2007 期計算機系統應用由於它們執行一般不超過6 秒,因此將不會出現在V $SESSION—LONGOPS 如何監控自定義存儲過程單條長語句可以用上面的方法監控,Oracle 動生成V$SE.SSION— LONGOPS 記錄.那麼存儲過程中 有許多小操作,如何監控進度呢?其實,我們也可以手 工生成V$SESSION—LONGOPS 記錄,方法是調用DBMS APPLICATION—INFO 包來生成自定義進度信息. 從Oracle7.2 開始,提供了DBMS—APPLICATION— INFo 包,通過調用這個包,應用可以將自己的名字和 動作填寫到V$SESSION 和V$SQLAREA 的MODULE ACTION列中.V$SESSION 列出每個會話的用戶名,操 作系統機器名,終端名,程序名等. 應用可以在執行模塊時設置模塊名和動作名,模 塊名一般是甩戶自定義的.而動作名一般描述模塊中 的當前執行的事務的名字. DBMSAPPLICATION_INFO 包包含以下過程 SET_ MODULE 設置當前運行程序的模塊名 SET__AEl'ION 設置當前模塊的當前動作名 SESSION—LON-在V$SESSIONLONGOPS視圖中 GoPS 插入一行進度信息 SETMODULE過程設置模塊名和動作名: createorreplaceproceredel—cust(v_cust—Id varchar2) begindbms—— application—— info.set— mole(mole—— name=>"delcust". actlon_name=>"deletetablecust)i deletefromcustwherecustld=v_ cusLId; dbms_appllcatlon— Info.seLmole(,); end;以上設置的模塊名和動作名可以通過查詢V $sqlarea 獲取. 如:selectsql—text,mole,actionfromv $sqlareawheremole="del_cust: sql_textmoleadion Deletefr0mcustdel_ custdeletetableoust 1rowselected. SET_SESSION—LONGOPS 過程用於在V$session— longops 中插入一行,開發人員可以調用此過程設置長 時間操作的狀態信息,這樣,任何其他其他會話都可以 看到這個進度信息.如下例所示: declare _info.set_ session— Iongops_ nohint; IdndexnumberdefaultInohlnt: slnonumber;begin forlIn1..8888888888 loop update....; dbms_ appllcaflon— Info.setsesslon_ longops (rlndex=>l_rlndex, slno=>I_slno. op_name=>"updateahugetable. target=>126, target_desc=>'.msgdescription context=>0.sOfar=>j. totalwork=>8888888888. units=>loops endloop;end; 然後,從另一個會話來執行以下語句selectfromv$sesslon_ longopswheretlmere? malnlng>0; 也可以用圖形化工具TOAD 或OEM來查看. 因此,採用本文說明的方法,Oracle 開發人員可以 比較方便的監控長操作進程的進度信息,也可以自己 設置監控信息,來了解後台存儲過程的運行效率.甚 至,可以在存儲過程或SQL 語句提交執行後馬上觀察 其執行進度,如果比較緩慢,則可以中斷其執行,進行 調優,從而縮短調試周期,提高開發效率.

㈤ 如何在LoadRunner中監控oracle資料庫

使用LR自帶的監控引擎:

1,在第一個圖choose monitor engine中選擇sitescope,然後在在Monitored Server Machines區域點擊Add如下所示:

㈥ 開啟ORACLE服務與監控

使用命令行開啟監聽服務和資料庫服務:
(1)打開監聽程序:C:\>LSNRCTL START
(2)打開資料庫服務:C:\>ORACLE 資料庫名稱
(3)啟動與關閉資料庫的准備工作:C:\>SQLPLUS NOLOG
SQL>CONN / @資料庫名稱 AS SYSDBA
(4)啟動資料庫:STARTUP
(5)關閉資料庫:SHUTDOWN
以上是在windows系統下的完整步驟,純手工,希望對你有所幫助。

㈦ 如何監控oracle資料庫的備份

監控數據備份恢復完成進度(EXPDP/IMPDP/RMAN)

一、查看EXPDP/IMPDP的進度

1 兩個視圖

當你當如導出的時候,如果數據量比較大,中途有些人會著急,不免想看看進度如何,利用兩個視圖就可以看:

DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS視圖
colowner_namefora10
coljob_namefora20
coloperationfora10
coljob_modefora10
colstatefora20
coldegreefora10
colATTACHED_SESSIONSfora30
colDATAPUMP_SESSIONSfora30
setlinesize200

格式化只是為了好看,也可以不用,直接用PL/SQL DEVELOPER圖形工具。

可以使用DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS視圖來顯示數據泵取作業的信息。

select*fromDBA_DATAPUBMP_JOBS;
select*fromDBA_DATAPUMP_SESSIONS;
selectsid,serial#fromv$sessions,dba_datapump_sessionsdwheres.saddr=d.saddr;

補充一下,前面的sql命令行格式化有點問題,number型的欄位應該用9999xxx(多個9) 而不是axx,否則會出現一串串的#。

2 attach參數

1)查看任務進度

當你使用crontab後台任務運行導入導出任務的時候,想查看任務進度,該參數很有用,可以讓你再次連接到已經斷開的會話中,再次接管導出或導入的任務,當然你得先用前面2個視圖查到jobname。

2)中途想停止crontab後台任務

此時,該參數非常好用。因為你不這樣做,就得殺進程,而那麼多進程,通常都會出錯,如此暴利的殺進程方式,強烈滴不推薦。

舉例:

假如之前後台任務的腳本中,有類似命令:

expdpsystem/xxxDIRECTORY=DATA_PUMP_DIR2parallel=32DUMPFILE=xxxx-%U.dmp

ATTACH參數解釋:將你的數據泵取客戶機會話加入到一個運行的作業中,並使你進行交互方式。此參數只能與用戶名/密碼組合一起使用。

此時你可以使用如下命令重新連接任務,並達到提前終止任務的目的:

expdpsystem/xxxattach=lurou.exp
連接進去之後再執行help命令可以查到停止任務的命令,這里就不列出來了
3longops視圖
另也可以通過v$session_longops視圖來監控長期運行的會話。

4.通過語句查看impdp進度SELECTa.tablespace_name,
ROUND(a.total_size)"total_size(MB)",
ROUND(a.total_size)-ROUND(b.free_size,3)"used_size(MB)",
ROUND(b.free_size,3)"free_size(MB)",
ROUND(b.free_size/total_size*100,2)||'%'free_rate
FROM
(
SELECT
tablespace_name,SUM(bytes)/1024/1024total_size
FROMdba_data_files
GROUPBY
tablespace_name)a,
(
SELECT
tablespace_name,SUM(bytes)/1024/1024free_size
FROMdba_free_space
GROUPBY
tablespace_name)b
WHERE
a.tablespace_name=b.tablespace_name(+);

二、查看RMAN備份進度
另外,查看rman的備份進度,可以用如下語句,記錄備忘。

SELECTSID,OPNAME,SERIAL#,CONTEXT,SOFAR,TOTALWORK,ROUND(SOFAR/TOTALWORK*100,2)"%_COMPLETE"
FROMV$SESSION_LONGOPSWHEREOPNAMELIKE'RMAN%'ANDOPNAMENOTLIKE'%aggregate%'ANDTOTALWORK!=0ANDSOFAR<>TOTALWORK
orderby"%_COMPLETE"desc

㈧ 如何在LoadRunner中監控Oracle資料庫

1、使用LR自帶的監控引擎
在LR的controller上安裝oracle客戶端:
這一步就不用說了,安裝直接Setup,安裝就OK了。
1)安裝完後,先配置一下Net Configuration Assistant。記住配置的服務名。
配置成功會顯示:正在連接...測試成功。
2)用sqlplus連接一下,看是否可以連接成功,打開sqlplus輸入oracle用戶名密碼和主機字元串。
查看是否登錄成功。
添加oracle計數器:
3)登錄成功後,打開LR的controller.,在可用圖中選擇oracle,點擊add measurements,再點擊Advanced,如下所示:

這里我們用LR native monitors。
4)在Monitored Server Machines區域,添加oracle伺服器所在的IP。
5)再在Resource Measurements on:IP區域點擊添加,彈出對話框如下:

6)輸入相應的信息,這里的orcl就是前面在Net Configuration Assistant配置的服務名。
7)點擊OK,這里我們應該可以看到可以添加oracle的計數器了,如下所示:

2、使用Sitescope引擎
不需要配置Net Configuration Assistant。
1)在第一個圖choose monitor engine中選擇sitescope,然後在在Monitored Server Machines區域點擊Add如下所示:

在這里可以選擇本地或者其他機器的sitescope,如果sitescope啟用了account的驗證,也要寫上相應的用戶名密碼。
2)在Resource Measurements on:IP區域點擊添加,彈出對話框如下:

3)輸入信息如圖。點擊OK,如下:

至此就可以監控Oracle了

㈨ 怎麼監控oracle資料庫表和表空間的現狀

可以通過查詢v$tablespace、dba_data_files、dba_tablespaces等視圖監控Oracle資料庫表空間狀態。
Oracle資料庫表狀態可以通過查詢user_tables視圖進行監控,如select table_name,status from user_tables where table_name='T1';語句。

熱點內容
fpga編程語言 發布:2024-10-06 10:29:24 瀏覽:341
python按時間排序 發布:2024-10-06 10:02:50 瀏覽:214
安卓收款機下載什麼應用能收款 發布:2024-10-06 09:38:29 瀏覽:1000
java初級工程師面試題 發布:2024-10-06 09:37:49 瀏覽:217
知鳥在哪裡修改密碼 發布:2024-10-06 09:37:10 瀏覽:303
怎麼更改微信錢包密碼 發布:2024-10-06 09:28:08 瀏覽:549
控制中心不支持配置怎麼辦 發布:2024-10-06 09:16:39 瀏覽:811
地暖存儲罐 發布:2024-10-06 09:10:19 瀏覽:580
搭建模型伺服器 發布:2024-10-06 09:05:23 瀏覽:845
java使用類 發布:2024-10-06 09:05:22 瀏覽:931