第26章 自動監視和更正操作
一、sysadmin 資料庫
sysadmin 資料庫中有6張表,以ph_打頭的表用於處理排程。
排程程式是一種由資料庫在特定時間執行功能和過程的工具(與 sql server agent 類似)。
sysadmin 資料庫:
表:
ph_task :最重要的表,儲存需要排程的任務的資訊。如,排程的名稱,頻率,任務定義。其中 IDS 已經定義了 12 個排程任務。
ph_alert :包含必須監視的錯誤、警告或資訊訊息。
ph_group :ph_task 表中的每個任務都屬於表 ph_group 中的某個組。如:進行表操作的 TABLES 組;進行資料庫備份的 BACKUP 組;進行索引管理的 INDEXES 組等等。
ph_run :已經被排程的任務的執行時間等資訊
ph_threshold :與被排程的任務相關的閥值資訊,請見1.1中的例5。
command_history :管理 API 已執行的所有命令的列表。
用於管理 IDS 的 API 函式:admin() 、 task()。
admin()與task()的功能相同,只是admin()返回的描述為整數,task()返回的描述為字串。
這兩個函式用於在客戶端執行管理伺服器端的各種命令。在 IDS11 之前,客戶端是沒辦法執行新增 chunk,建立 dbspace 等伺服器端的操作,但在IDS11之後就可以使用以上任意一個函式來實現。
例1:建立一個 dbspace
EXECUTE FUNCTION admin(’create dbspace’, ’dbspace2’, ’/work/dbspace2’, "20 MB");
使用admin()與task()函式執行的管理會被儲存在 command_history 表中。該表儲存有執行此函式的使用者、執行時間、命令以及資料庫伺服器完成命令的返回訊息。
例2:檢查 IDS 擴充套件資料塊的一致性
EXECUTE FUNCTION admin('check extents');
例3:增加虛擬記憶體:
EXECUTE FUNCTION admin('add memory','10 MB');
例4:也可以執行 onmode 命令:
execute function sysadmin:task ('omode','k');
由於預設情況下 sysadmin 資料庫被建立在根資料庫空間,因為 sysadmin 有可能快速增長,所以建議為 sysadmin 建立單獨的 dbspace。
具體方法請見:
1.1 程式(任務)的排程:
週期性的與 IDS 相關的任務可以透過向 ph_task 表插入一些資訊,利用 IDS11 的新特性來自動排程處理,這樣也可以代替 OS 的 crontab 命令。
例5:在每一天2點執行一個任務:刪除 command_history 表中超過 ph_threshold 定義的時間的記錄。
(可見時間間隔即頻率frequenc為 1 0:00:00,開始時間 start_time 為2:00:00)
INSERT INTO ph_task
(
tk_name,
tk_group,
tk_description,
tk_type,
tk_execute,
tk_start_time,
tk_frequency
)
VALUES
(
"mon_command_history",
"TABLES",
"Monitor how much data is kept in the command history table",
"MONITOR",
"delete from command_history where cmd_exec_time < (
select current - value::INTERVAL DAY to SECOND
from ph_threshold
where name = 'COMMAND HISTORY INTERVAL' ) ",
"2:00:00",
"1 0:00:00"
);
如果沒有插入開始時間 tk_start_time ,則系統預設的策略為:週一到週五,早上8:00至17:00
二、收集每個執行過的 SQL :
IDS11提供了一個名為 syssqltrace 的偽表。該表儲存在 sysmaster 資料庫中。
在預設情況下 IDS 不記錄操作已經結束的 SQL ,如果想要 IDS 記錄系統中的每個 SQL 操作,則修改配置引數 SQLTRACE 。
格式如下:
SQLTRACE level=low,ntraces=1000,size=2,mode=global
其中:
level :跟蹤級別(low,meduim,high,off),不同跟蹤級別下,儲存的資訊祥細程式不一樣。
ntraces :儲存多少條SQL
size :對於超過指定大小的SQL則丟棄。單位:KB
mode : 是儲存所有使用者(即全域性:global)的SQL,還是使用者級(user)的SQL,或 SESSION 級的SQL。
任何時候都可以啟用或禁用跟蹤,也可以隨時改變 ntraces 或 size。但是,如果使用配置引數,則只能重新啟動伺服器,而是使用管理 API :
execute function task("set sql tracing on", 100,"1k","med","user");
開啟使用者級別的跟蹤,僅記錄1KB以下的100個SQL,跟蹤級別為 medium 。
例6:禁用全域性 SQL 跟蹤:
execute function task('set sql tracing off');
例7:禁用特定會話的 SQL 跟蹤:
EXECUTE FUNCTION task(“set sql user tracing off”,sid);
例8:啟用特定使用者的 SQL 跟蹤:
在全域性 SQL 跟蹤為禁用時,可以啟用對特定使用者的 SQL 跟蹤。
EXECUTE FUNCTION task("set sql user tracing on", sid);
例9:啟用當前連線的使用者的 SQL 跟蹤:
dbaccess sysadmin -<
select task("set sql user tracing on", sid)
FROM sysmaster:syssessions
WHERE username not in ("root","informix");
END
例10:啟用所有使用者(global)的 SQL 跟蹤:
EXECUTE FUNCTION task("set sql tracing on", 1000, 1,"low","global");
以下為測試的內容:
> execute function task('set sql tracing off');
(expression) SQL tracing off.
1 row(s) retrieved.
> select count(*) from sysmaster:syssqltrace;
(count(*))
0
1 row(s) retrieved.
> EXECUTE FUNCTION task("set sql tracing on", 1000, 1,"low","global");
(expression) Global Tracing ON Number of Traces 1000 Trace Size 984 Mode Low
1 row(s) retrieved.
> select count(*) from sysmaster:syssqltrace;
(count(*))
1
1 row(s) retrieved.
>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22565551/viewspace-1028944/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 第 14 章 下拉選單和滾動監聽外掛
- 自動部署SQLTrace和Windows效能監視器SQLWindows
- 第 9 章 音訊和視訊音訊
- 第26章:高效字串處理字串
- Word中自動更正功能的實用教程
- 第8章 理解自動資料庫管理資料庫
- 在蘋果Mac的Microsoft Word中如何禁用自動更正?蘋果MacROS
- 面向網路的PHP開發第26章PHP
- Win10下word設定文字自動更正的方法Win10
- 交換機統一監控和遠端控制:自動發現、自動監控、自動告警、自動修復
- 第25章:單子變換的升格操作
- 《父與子的程式設計之旅(第3版)》第26章習題答案程式設計
- Oracle ADDM 自動診斷監視工具 介紹Oracle
- 第 3 章 表格和按鈕
- 【JS 口袋書】第 9 章:使用 JS 操作 HTML 元素JSHTML
- Python計算機視覺-第2章Python計算機視覺
- Win10正式版系統編輯自動更正詞典的方法Win10
- 第4章 Vue 過渡和動畫Vue動畫
- 使用select監視update的操作
- mORMot 1.18 第07章 簡單的讀寫操作ORM
- Oracle ADDM 自動診斷監視工具介紹及使用Oracle
- 第 11 章 全域性屬性和其他
- 第2章 變數和基本型別變數型別
- 讀書筆記之《現代軟體工程》第5.5章、第6章、第7章筆記軟體工程
- mORMot 1.18 第13章 動態陣列ORM陣列
- 動手學習資料分析第1章
- 動手學習資料分析 第2章
- 《Web介面開發與自動化測試基於Python語言》--第11章WebPython
- selenium自動化操作
- DDL操作的自動提交
- DATAGUARD監控,保護和自動修復最佳實踐
- 第 2 章 HTML、XML和CSS-帶答案HTMLXMLCSS
- 第23章:列表、陣列和雜湊表陣列
- 第 8 章 輸入框和導航元件元件
- 第 12 章 列表組皮膚和嵌入元件元件
- 第 17 章 按鈕和摺疊外掛
- 第2章 變數、表示式和語句變數
- 第 1 章 JavaJava