使用診斷文件監視例程
診斷文件是獲取有關數據庫活動的信息的一種方法。診斷文件的類型
1.alertSID.log文件:記錄數據庫日常操作的信息
2.後台跟蹤文件:記錄smon,pmon,dbwn和後台進程失敗時產生的重要信息
3.用戶跟蹤文件:記錄出現嚴重用戶錯誤或用戶強制執行跟蹤文件時產生的重要信息
alertSID.log文件:
記錄命令
記錄主要事件結果
用於記錄日常操作信息
用於診斷數據庫錯誤
每個條目都帶有與之相關聯的時間戳
必須由dba進行管理
存儲位置由background_dump_dest定義
後台跟蹤文件
記錄所有後台進程檢測到的錯誤
用於診斷並排除錯誤
在後台進程遇到錯誤時創建
存儲位置由background_dump_dest定義
用戶跟蹤文件
由用戶進程生成
可由服務器進程生成
包含跟蹤的sql語句的統計信息
包含用戶錯誤信息
在用戶遇到會話錯誤時創建
存儲位置由USER_DUMP_DEST定義
大小由MAX_DUMP_FILE_SIZE定義
aes,3des,blowfish,cast,twofish,arcfour,des
啟用或禁用用戶跟蹤
會話級別:alter session set sql_trace=true
dbms_system.set_sql_trace_in_session
安裝Oracle需要設置的環境
ORACLE_BASE:指定Oracle 軟件的頂級目錄。
ORACLE_HOME:指定Oracle 軟件的安裝目錄。
Oracle_SID:指定例程名稱,同一台計算機上運行的Oracle 例程的名稱必須唯一。
ORA_NLS33:創建帶有非US7ASCII 字符集的數據庫時必須指定。
PATH:指定操作系統查找可執行程序(如SQL*Plus)時所要搜索的路徑。
LD_LIBRARY_PATH:指定操作系統和Oracle 庫文件所在的目錄。
內置數據庫對象
1.數據字典:包含對數據庫中對象的說明
2.性能表:包含由數據庫管理員用來監視和優化數據庫及例程的信息
3.PL/SQL程序包:向數據庫添加功能的程序單元
4.數據庫事件觸發器:觸發器是在表或視圖發生修改,或執行某些用戶操作或數據庫系統
操作時隱式執行的過程。
數據字典
數據字典是Oracle 數據庫最重要的部分之一,它是一組只讀表和視圖,提供有關其相關
數據庫的信息。只要執行數據定義語言(DDL) 命令,Oracle 服務器就會更新數據字典。
此外,數據操縱語言(DML) 命令(如引起表擴展的命令)也可以更新數據字典。數據字典
不僅是每個Oracle 數據庫最重要的部分,它還是所有用戶(從最終用戶到應用程序設計
者以及數據庫管理員)的重要信息來源。要訪問數據字典,請使用SQL 語句。因為數據庫
是只讀的,所以只能對數據字典的表和視圖發出查詢。
包括:基表和數據字典視圖
基表:存儲數據庫的說明,使用create database命令創建
數據字典視圖:用於簡化基表信息,通過公共同義詞訪問,使用catalog.sql腳本創建
數據字典的內容:
數據庫內所有方案對象的定義,這些對象包括表,視圖,索引,簇,同義詞,序列,過程
,函數,程序包,觸發器等等,對象的定義和空間分配,完整性約束,用戶,角色,權限
,審計。
SELECT * FROM dba_users;//查看所有的Oracle用戶
動態性能表
在Oracle 服務器的整個操作過程中,它將當前數據庫活動記錄在稱為動態性能視圖的一
組虛擬表中。只有數據庫處於運行狀態時,這些虛擬表才駐留在內存中,反映數據庫操作
的實時狀況。它們指向內存和控制文件中的實際信息源。
例:
V$CONTROLFILE:列出控制文件的名稱
V$DATABASE:包含控制文件中的數據庫信息
V$DATAFILE:包含控制文件中的數據文件信息
V$INSTANCE:顯示當前例程的狀態
V$PARAMETER:列出會話的當前有效參數和值
V$SESSION:列出當前每個會話的會話信息
V$SGA:包含有關系統全局區(SGA) 的摘要信息
V$SPPARAMETER:列出SPFILE 的內容
V$TABLESPACE:顯示控制文件中的表空間信息
V$THREAD:包含控制文件中的線程信息
V$VERSION:Oracle 服務器中核心庫組件的版本號