第一部分 初始化參數
第1章 在文檔中部分說明的參數 2
1.1 AUDIT_SYSLOG_LEVEL 2
1.1.1 syslog設備 2
1.1.2 審計簡介 3
1.1.3 使用AUDIT_SYSLOG_LEVEL參數 4
1.1.4 審計非特權用戶 5
1.1.5 小結 6
1.2 PGA_AGGREGATE_TARGET 6
1.2.1 自動PGA內存管理介紹 7
1.2.2 對PGA_AGGREGATE_TARGET的誤解 8
1.2.3 研究PGA_AGGREGATE_TARGET 9
1.2.4 使用管道錶函數創建一個大錶 9
1.2.5 V$SQL_WORKAREA_ACTIVE 10
1.2.6 _PGA_MAX_SIZE 14
1.2.7 _SMM_MAX_SIZE 15
1.2.8 _SMM_PX_MAX_SIZE 15
1.2.9 共享服務器 15
1.2.10 並行執行 16
1.2.11 小結 17
1.3 EVENT 18
1.3.1 語法 18
1.3.2 在實例級彆均衡事件 19
1.3.3 案例研究 19
1.4 OS_AUTHENT_PREFIX 19
1.4.1 OPS$數據庫用戶及密碼文件身份認證 20
1.4.2 案例研究 20
1.4.3 小結 23
1.5 源代碼庫 23
第2章 隱藏的初始化參數 24
2.1 跟蹤文件權限與_TRACE_FILES_PUBLIC參數 24
2.2 ASM測試環境與_ASM_ALLOW_ONLY_RAW_DISKS參數 26
2.2.1 ASM隱藏參數 26
2.2.2 為ASM配置Oracle集群件 27
2.2.3 ASM實例設置 28
2.2.4 磁盤失效模擬 31
2.3 源代碼庫 31
第二部分 數據字典基錶
第3章 數據字典基錶介紹 34
第4章 IND$、V$OBJECT_USAGE和索引監控 38
4.1 模式限製 38
4.2 索引使用監控案例研究 39
4.2.1 MONITOR_SCHEMA_INDEXES函數 40
4.2.2 為HR模式啓動索引監控 40
4.2.3 小結 44
4.3 源代碼庫 45
第三部分 事件
第5章 10027事件和死鎖診斷 48
5.1 死鎖 48
5.2 10027事件 49
第6章 10046事件和擴展SQL跟蹤 52
第7章 10053事件和基於成本的優化器 54
7.1 跟蹤文件的內容 57
7.2 案例研究 57
7.2.1 查詢塊和對象標識符 58
7.2.2 考慮的查詢轉換 58
7.2.3 說明 60
7.2.4 綁定變量窺視的結果 61
7.2.5 優化器參數 61
7.2.6 係統統計信息 66
7.2.7 錶和索引的對象統計信息 67
7.2.8 單錶訪問路徑和成本 68
7.2.9 聯結順序 70
7.2.10 執行計劃 73
7.2.11 謂詞信息 74
7.2.12 提示和查詢塊名稱 74
7.3 源代碼庫 75
第8章 10079事件和Oracle網絡數據包的內容 76
第四部分 X$固定錶
第9章 X$固定錶介紹 80
9.1 X$固定錶與C語言編程 80
9.2 分層係統結構 81
9.3 授權訪問X$錶與V$視圖 82
9.4 從V$視圖深入剖析X$固定錶 83
9.5 X$錶與V$視圖之間的關係 88
9.6 源代碼庫 89
第10章 X$BH錶及閂鎖爭用 90
第11章 X$KSLED以及增強的會話等待數據 96
11.1 深度探討視圖V$SESSION_WAIT 96
11.2 改進的V$SESSION_WAIT視圖 97
11.3 源代碼庫 100
第12章 X$KFFXP與ASM元數據 101
12.1 固定錶X$KFFXP 101
12.2 搶救SPFILE文件 102
12.3 映射數據段到ASM存儲 104
第五部分 SQL語句
第13章 ALTER SESSION/SYSTEMSET EVENTS 108
13.1 跟蹤你自己的會話 108
13.2 ALTER SESSION SET EVENTS 109
13.3 ALTER SYSTEM SET EVENTS 110
13.4 ALTER SESSION/SYSTEM SETEVENTS和診斷轉儲 111
13.5 立即轉儲 112
第14章 ALTER SESSION SETCURRENT_SCHEMA 113
14.1 特權用戶與模式用戶 113
14.2 ALTER SESSION SET CURRENT_SCHEMA限製 115
14.2.1 高級隊列 116
14.2.2 RENAME 116
14.2.3 私有數據庫鏈接 117
14.2.4 存儲概要 118
第15章 ALTER USER IDENTIFIED BYVALUES 119
15.1 密碼遊戲 119
15.2 用ALTER USER IDENTIFIED BYVALUES鎖定賬戶 121
15.3 ALTER USER和未加密的密碼 122
第16章 SELECT FOR UPDATE SKIPLOCKED 124
16.1 高級隊列 124
16.2 Contention和SELECT FOR UPDATESKIP LOCKED 126
16.3 DBMS_LOCK——題外話 133
16.4 源代碼庫 136
第六部分 提供的PL/SQL程序包
第17章 DBMS_BACKUP_RESTORE 138
17.1 恢復管理器 138
17.2 TDPO災難恢復案例研究 142
17.3 源代碼庫 144
第18章 DBMS_IJOB 145
18.1 介紹DBMS_JOB 145
18.2 BROKEN過程 145
18.2.1 語法 145
18.2.2 參數 146
18.2.3 使用說明 146
18.2.4 範例 146
18.3 FULL_EXPORT過程 146
18.3.1 語法 147
18.3.2 參數 147
18.3.3 範例 147
18.4 REMOVE過程 148
18.4.1 語法 148
18.4.2 參數 148
18.4.3 範例 148
18.5 RUN過程 148
18.5.1 語法 148
18.5.2 參數 148
18.5.3 使用說明 149
18.5.4 範例 149
18.6 源代碼庫 150
第19章 DBMS_SCHEDULER 151
19.1 使用數據庫調度器運行外部作業 151
19.1.1 退齣代碼處理 152
19.1.2 標準錯誤輸齣 153
19.2 UNIX係統上的外部作業 155
19.2.1 清除環境變量 155
19.2.2 命令行處理 157
19.2.3 外部作業與非特權用戶 159
19.3 Windows係統上的外部作業 161
19.3.1 命令行參數處理 161
19.3.2 Windows環境變量 162
19.3.3 外部作業與非特權用戶 163
19.3.4 ORADIM實用工具創建的服務 163
19.3.5 OracleJobScheduler服務 163
19.4 源代碼庫 164
第20章 DBMS_SYSTEM 165
20.1 GET_ENV過程 165
20.1.1 語法 165
20.1.2 參數 165
20.1.3 使用說明 166
20.1.4 範例 166
20.2 KCFRMS過程 166
20.2.1 語法 166
20.2.2 使用說明 166
20.2.3 範例 166
20.3 KSDDDT過程 168
20.3.1 語法 168
20.3.2 使用說明 168
20.3.3 範例 168
20.4 KSDFLS過程 169
20.4.1 語法 169
20.4.2 使用說明 169
20.4.3 範例 169
20.5 KSDIND過程 169
20.5.1 語法 169
20.5.2 參數 169
20.5.3 使用說明 169
20.5.4 範例 170
20.6 KSDWRT過程 170
20.6.1 語法 170
20.6.2 參數 170
20.6.3 使用說明 170
20.6.4 範例 171
20.7 READ_EV過程 171
20.7.1 語法 171
20.7.2 參數 172
20.7.3 使用說明 172
20.7.4 範例 172
20.8 SET_INT_PARAM_IN_SESSION過程 172
20.8.1 語法 173
20.8.2 參數 173
20.8.3 使用說明 173
20.8.4 示例 173
20.9 SET_BOOL_PARAM_IN_SESSION過程 174
20.9.1 語法 174
20.9.2 參數 174
20.9.3 使用說明 174
20.9.4 示例 174
20.10 SET_EV過程 175
20.10.1 語法 175
20.10.2 參數 175
20.10.3 使用說明 175
20.10.4 範例 175
20.11 SET_SQL_TRACE_IN_SESSION轉儲 177
20.11.1 語法 177
20.11.2 參數 177
20.11.3 使用說明 177
20.11.4 範例 177
20.12 WAIT_FOR_EVENT過程 177
20.12.1 語法 177
20.12.2 參數 178
20.12.3 使用說明 178
20.12.4 範例 178
第21章 DBMS_UTILITY 179
21.1 NAME_RESOLVE過程 179
21.1.1 語法 179
21.1.2 參數 180
21.1.3 使用說明 181
21.1.4 異常 181
21.1.5 範例 181
21.2 對象統計信息的名稱解析和提取 183
21.3 源代碼庫 185
第七部分 應用程序開發
第22章 Perl DBI與DBD::Oracle 188
22.1 常見的Perl DBI陷阱 188
22.2 Perl與DBI簡史 189
22.3 為Perl與DBI設置環境變量 189
22.3.1 UNIX環境 189
22.3.2 Windows環境 194
22.4 在UNIX係統上透明地運行Perl程序 196
22.5 在Windows係統上透明地運行Perl程序 197
22.6 連接到一個ORACLE DBMS實例 199
22.6.1 DBI連接語法 199
22.6.2 使用Bequeath適配器連接 200
22.6.3 使用IPC適配器連接 201
22.6.4 通過TCP/IP適配器連接 202
22.6.5 簡易連接 203
22.6.6 使用SYSDBA或SYSOPER特權連接 203
22.6.7 使用操作係統認證連接 204
22.6.8 連接屬性 205
22.7 完整Perl DBI示例程序 206
22.8 異常處理 210
22.9 源代碼庫 211
第23章 應用程序插樁及端到端跟蹤 212
23.1 插樁簡介 212
23.2 案例研究 214
23.3 程序編譯 216
23.4 插樁的運行 217
23.5 TRCSESS的使用 221
23.6 插樁與程序調用棧 226
23.7 源代碼庫 227
第八部分 性能
第24章 擴展SQL跟蹤文件格式參考 230
24.1 擴展SQL跟蹤文件介紹 230
24.2 SQL和PL/SQL語句 231
24.3 遞歸調用深度 231
24.4 數據庫調用 232
24.4.1 解析 232
24.4.2 PARSING IN CURSOR條目的格式 233
24.4.3 PARSE條目的格式 235
24.4.4 PARSE ERROR條目的格式 236
24.4.5 EXEC條目的格式 236
24.4.6 FETCH條目的格式 236
24.4.7 執行計劃散列值 237
24.4.8 計劃散列值案例研究 237
24.4.9 CLOSE條目的格式 240
24.5 COMMIT與ROLLBACK 241
24.6 UNMAP 242
24.7 執行計劃、統計信息與STAT條目的格式 242
24.7.1 Oracle9i中STAT條目的格式 243
24.7.2 Oracle10g和Oracle11g中STAT條目的格式 243
24.8 等待事件 245
24.8.1 WAIT條目的格式 245
24.8.2 Oracle9i中的WAIT 246
24.8.3 Oracle10g和Oracle11g中的WAIT 246
24.9 綁定變量 247
24.9.1 BINDS條目的格式 247
24.9.2 語句調優、執行計劃以及綁定變量 251
24.10 跟蹤文件條目其他項 257
24.10.1 會話標識符 257
24.10.2 服務名稱ID 258
24.10.3 應用程序插樁 259
24.10.4 ERROR條目的格式 261
24.10.5 應用程序插樁與並行執行進程 263
第25章 Statspack 265
25.1 Statspack介紹 265
25.1.1 檢索捕獲到的SQL語句文本 267
25.1.2 訪問STATS$SQLTEXT 270
25.1.3 使用保留格式捕獲SQL語句 275
25.2 未在文檔中說明的Statspack報告參數 277
25.3 Statspack錶 278
25.4 找齣Statspack庫中代價高的語句 281
25.5 識彆使用過的索引 281
25.6 SQL Trace捕獲語句的執行計劃 282
25.7 找齣高資源利用率的快照 284
25.7.1 高CPU使用 285
25.7.2 高DB時間 287
25.8 從另一數據庫導入Statspack數據 290
25.9 源代碼庫 292
第26章 整閤擴展SQL跟蹤和AWR 294
26.1 檢索執行計劃 294
26.2 小結 296
26.3 源代碼庫 297
第27章 ESQLTRCPROF擴展SQL跟蹤分析器 298
27.1 分類等待事件 298
27.2 計算響應時間和統計信息 299
27.2.1 案例研究 300
27.2.2 運行Perl程序 301
27.2.3 計算統計信息 303
27.2.4 計算響應時間 303
27.3 ESQLTRCPROF參考 304
27.3.1 命令行選項 305
27.3.2 ESQLTRCPROF報告部分 306
27.4 小結 314
27.5 源代碼庫 315
第28章 MERITS性能優化方法 316
28.1 MERITS方法簡介 316
28.2 測量 317
28.3 評估 321
28.4 重現 323
28.5 改進 323
28.6 推斷 324
28.7 安裝 324
28.8 MERITS方法案例研究 325
28.8.1 階段1——測量 325
28.8.2 階段2——評估 325
28.8.3 階段3——重現 332
28.8.4 階段4——改進 335
28.8.5 階段5——推斷 339
28.8.6 階段6——安裝 339
28.8.7 小結 339
28.9 源代碼庫 340
第九部分 Oracle Net
第29章 TNS監聽器IP地址綁定與IP=FIRST 342
29.1 IP地址綁定介紹 342
29.2 多宿主係統 344
29.3 IP=FIRST未啓用 345
29.3.1 主機名 346
29.3.2 迴環適配器 347
29.3.3 引導IP地址 348
29.3.4 服務IP地址 348
29.4 IP=FIRST開啓 349
29.5 小結 350
第30章 TNS監聽器TCP/IP有效結點檢驗 351
30.1 有效結點檢驗簡介 351
30.2 在運行時打開和修改有效結點檢驗 353
第31章 本地命名參數ENABLE=BROKEN 356
第32章 Oracle Net配置中默認的主機名 359
32.1 默認主機名 359
32.2 關閉默認監聽器 360
第十部分 實時應用集群
第33章 會話斷開連接、負載均衡與TAF 364
33.1 透明應用故障轉移介紹 364
33.2 改變係統斷開會話設置 365
33.2.1 SELECT故障轉移 366
33.2.2 在事務末的故障轉移 369
33.3 會話中斷和DBMS_SERVICE 371
33.3.1 使用DBMS_SERVICE創建服務 372
33.3.2 DBMS_SERVICE和TAF下的會話中斷 374
33.4 小結 376
33.5 源代碼庫 376
第34章 不重裝就移除RAC選項 377
34.1 連接ORACLE軟件 377
34.2 案例研究 378
34.2.1 模擬錶決磁盤失效 379
34.2.2 使用make工具移除RAC可選項 381
34.2.3 轉換CRS環境為本地環境 383
34.2.4 重啓適用於RAC的CRS環境 385
34.3 小結 386
第十一部分 實用工具
第35章 OERR 388
35.1 OERR腳本介紹 388
35.2 檢索未在文檔中說明的事件 390
35.3 源代碼庫 392
第36章 數據恢復管理器管道接口 393
36.1 數據恢復管理介紹 393
36.2 DBMS_PIPE介紹 394
36.3 RMAN_PIPE_IF包 395
36.4 RMAN_PIPE_IF包詳述 395
36.5 使用RMAN_PIPE_IF包 396
36.6 驗證備份塊 401
36.7 跨節點並行備份與恢復 402
36.8 源碼庫 403
第37章 ORADEBUG SQL*Plus命令 404
37.1 ORADEBUG介紹 404
37.2 ORADEBUG使用步驟 405
37.3 ORADEBUG命令介紹 405
37.3.1 連接到一個進程 406
37.3.2 ORADEBUG IPC 408
37.3.3 ORADEBUG SHORT_STACK 409
37.3.4 診斷轉儲 410
37.4 小結 414
第十二部分 附錄
附錄A 啓用和禁用DBMS可選項 416
附錄B 參考書目 417
附錄C 術語錶 419
· · · · · · (
收起)