診斷檔案是一種獲得資料庫資訊的重要工具,對管理oracle資料庫例項是至關重要的,包含了資料庫執行過程中遇到的重大事件的相關資訊。幫助在日常工作中更好的管理資料庫。在oracle中有三類常見的診斷檔案:報警檔案altersid.log、後台程序追蹤檔案、使用者程序追蹤檔案。報警檔案包括了資料庫日常操作的相關資訊。存放在由background_dump_dest引數所定義的目錄下,該檔案必須由資料庫管理員管理。
在報警檔案中記錄了一些命令和重要事件的結果,這些命令包括如下資訊:
1、資料庫啟動和關閉的時間
2、所有非預設初始化引數
3、lgwr正在寫的日誌序列號
4、日誌的切換資訊
5、所有執行的alter語句
6、建立的表空間和還原段等
其中每乙個記錄專案都有與之相關的時間戳。
利用parameter資料字典可以檢視所有的parameter物件的屬性資訊
col name for a30;
col value for a50;
set line 100;
select name,value from v$parameter where name like '%_dest';
從對應的value值中找到background_dump_dest引數的值即為報警檔案存放的檔案目錄。
二、後台程序追蹤檔案
記錄了任何後台程序所遇到的錯誤,這些檔案在後台程序遇到錯誤時才產生。他們可以用來診斷和排錯,與報警檔案存放在同乙個目錄中
三、使用者程序追蹤檔案
該類檔案是由使用者程序所建立的,也可以由伺服器程序產生。包含了用來追蹤使用者sql語句的統計資訊,也包含了使用者的錯誤資訊。這些檔案是當使用者程序遇到使用者會話錯誤時建立的。被存放在由user_dump_dest引數指定的目錄下
如果想讓oracle伺服器產生使用者程序追蹤檔案需要修改乙個oracle的引數 sql_trace.該引數是乙個動態引數既可以在會話一級修改又可以在例項一級修改。
會話級開啟 : alter session set sql_trace=true;
會話級終止: alter session set sql_trace=false;
在例項一級開啟使用者程序追蹤可以通在初始化引數檔案中修改如下引數來完成:
sql_trace=true;
注:盡量避免在例項一級開啟使用者程序追蹤,這會對資料庫的執行效率產生很大的衝擊。另外即使在會話一級開啟使用者程序追蹤,等追蹤結束後也應該盡快關閉追蹤。
1、oracle中所有的dba系統引數都可以通過資料字典parameter檢視
select name ,value from v$parameter where name like '%name%';檢視指定引數名的值。
Oracle 資料庫hang 診斷
一 什麼是資料庫hang 1 使用者不能登入資料庫 2 資料庫不能正常工作 3 select 1 from dual 不出結果 4 不能正常完成建表操作 二 資料庫被鎖住 1 乙個或多個會話停止工作 三 如果得知資料庫hang 或者被鎖 1 測試 2 使用者抱怨 3 systemstate 或者ha...
資料庫例項
連線資料庫時看到機器伺服器名 資料庫例項名,那麼什麼是資料庫例項呢?乙個sql server伺服器就是乙個例項,2000支援在同乙個作業系統裝多個伺服器,換言之,就是多個例項。多個 sql server 例項 microsoft sql server 2000 支援在同一臺計算機上同時執行多個 sq...
資料庫例項
例項就是一組作業系統程序 或者乙個多執行緒的程序 以及一些記憶體,這些程序用來運算元據庫,資料庫只是乙個檔案集合。oracle服務 例項 資料庫 例項是一群為你服務的程序,資料庫是你真實需要的資料 比如你去飯店吃飯享受服務,廚師 服務員的服務相當於例項,食材 飯菜什麼相當於資料庫的資料oracle例...