第Ⅰ部分 關鍵的數據庫概念 1
第1章 Oracle Database 11g 體係結構 3
1.1 數據庫和實例 4
1.2 數據庫技術 5
1.2.1 存儲數據 6
1.2.2 數據保護 8
1.2.3 可編程的結構 8
1.3 選擇體係結構和選項 9
第2章 安裝Oracle Database 11g 和創建數據庫 11
2.1 許可證和安裝選項 13
2.2 使用 OUI 安裝 Oracle 軟件 13
第3章 升級到 Oracle Database 11g 19
3.1 選擇升級方法 20
3.2 升級之前的準備 21
3.3 運行升級前信息工具(Pre-Upgrade Information Tool) 22
3.4 使用數據庫升級助手(DBUA) 23
3.5 執行手動直接升級 23
3.6 使用 Export 與Import 24
3.6.1 使用哪個 Export 和Import 版本 24
3.6.2 進行升級 25
3.7 使用數據復製法 25
3.8 升級完成之後的工作 26
第4章 規劃Oracle 應用程序——方法、風險和標準 27
4.1 協作方法 28
4.2 每個人都有“數據” 29
4.3 熟悉的 Oracle 語言 30
4.3.1 存儲信息的錶 31
4.3.2 結構化查詢語言 31
4.3.3 簡單的Oracle 查詢 32
4.3.4 為什麼稱作“關係” 33
4.4 一些通用的、常見的示例 35
4.5 風險所在 36
4.6 新視角的重要性 37
4.6.1 變化的環境 38
4.6.2 代碼、縮寫和命名標準 38
4.7 如何減少混淆 39
4.7.1 規範化 40
4.7.2 錶和列的英文名稱 44
4.7.3 數據中的英文單詞 46
4.8 名稱和數據中的大寫 46
4.9 規範化名稱 47
4.10 人性化和優秀的設計 47
4.10.1 理解應用程序的任務 48
4.10.2 任務概要 49
4.11 理解數據 51
4.11.1 原子數據模型 52
4.11.2 原子業務模型 53
4.11.3 業務模型 53
4.11.4 數據項 53
4.11.5 查詢和報告 53
4.12 關於對象名稱的規範化 54
4.12.1 級彆-名稱完整性 54
4.12.2 外鍵 55
4.12.3 單數名稱 55
4.12.4 簡潔 56
4.12.5 對象名辭典 56
4.13 智能鍵和列值 56
4.14 建議 57
第Ⅱ部分 SQL和SQL*Plus 59
第5章 SQL 中的基本語法 61
5.1 樣式 63
5.2 創建 NEWSPAPER 錶 63
5.3 用SQL 從錶中選擇數據 64
5.4 select 、from 、where和order by 67
5.5 邏輯和值 69
5.5.1 單值測試 70
5.5.2 值列錶的簡單測試 75
5.5.3 組閤邏輯 77
5.6 where 的另一個用途:子查詢 78
5.6.1 從子查詢得到單值 79
5.6.2 從子查詢得到值列錶 80
5.7 組閤錶 82
5.8 創建視圖 83
5.9 擴展視圖 85
第6章 基本的 SQL*Plus報錶和命令 87
6.1 構建簡單的報錶 89
6.1.1 ①remark 90
6.1.2 ②set headsep 92
6.1.3 ③ttitle 和btitle 92
6.1.4 column 92
6.1.5 ⑧break on 93
6.1.6 ⑨compute avg 94
6.1.7 ⑩set linesize 95
6.1.8 set pagesize 95
6.1.9 set newpage 95
6.1.10 ⑩11spool 96
6.1.11 ⑩12/* */ 97
6.1.12 關於列標題的一些說明 97
6.2 其他特性 98
6.2.1 命令行編輯器 98
6.2.2 設置停頓 101
6.2.3 保存 102
6.2.4 存儲 102
6.2.5 編輯 102
6.2.6 host 103
6.2.7 添加SQL*Plus命令 104
6.2.8 啓動 104
6.3 檢查 SQL*Plus環境 104
6.4 構件塊 106
第7章 文本信息的收集與更改 107
7.1 數據類型 108
7.2 什麼是串 108
7.3 錶示法 109
7.4 連接符(||) 110
7.5 剪切和粘貼串 112
7.5.1 RPAD 和LPAD 112
7.5.2 LTRIM、RTRIM和TRIM 113
7.5.3 組閤兩個函數 114
7.5.4 使用TRIM 函數 116
7.5.5 再次使用填充函數 117
7.5.6 LOWER、UPPER和INITCAP 117
7.5.7 LENGTH 119
7.5.8 SUBSTR 119
7.5.9 INSTR 122
7.5.10 ASCII和CHR 127
7.6 在order by 和where子句中使用串函數 127
7.6.1 SOUNDEX 128
7.6.2 國際語言支持 130
7.6.3 正則錶達式支持 130
7.7 小結 130
第8章 正則錶達式搜索 131
8.1 搜索串 132
8.2 REGEXP_SUBSTR 135
8.3 REGEXP_INSTR 137
8.4 REGEXP_LIKE 138
8.5 REPLACE 和REGEXP_REPLACE 139
8.6 REGEXP_COUNT 143
第9章 數值處理 145
9.1 三類數值函數 145
9.2 錶示法 146
9.3 單值函數 146
9.3.1 加減乘除 147
9.3.2 NULL 147
9.3.3 NVL:空值置換函數 148
9.3.4 ABS :絕對值函數 149
9.3.5 CEIL 149
9.3.6 FLOOR 150
9.3.7 MOD 150
9.3.8 POWER 151
9.3.9 SQRT :求平方根 151
9.3.10 EXP、LN和LOG 151
9.3.11 ROUND和TRUNC 152
9.3.12 SIGN 153
9.3.13 SIN、SINH、COS、COSH、TAN、TANH、ACOS、ATAN、ATAN2 和ASIN 153
9.4 聚集函數 154
9.4.1 組值函數中的NULL 154
9.4.2 單值函數和組值函數的示例 155
9.4.3 AVG、COUNT、MAX、MIM和SUM 156
9.4.4 組值函數和單值函數的組閤 156
9.4.5 STDDEV 和VARIANCE 158
9.4.6 組函數中的DISTINCT 159
9.5 列錶函數 160
9.6 使用MAX或MIN 函數查找行 161
9.7 優先級和圓括號的應用 163
9.8 小結 164
第10章 日期:過去、現在及日期的差 165
10.1 日期算法 165
10.1.1 SYSDATE 、CURRENT_DATE及SYSTIMESTAMP 166
10.1.2 兩個日期的差 167
10.1.3 添加月份 168
10.1.4 減少月份 168
10.1.5 GREATEST 和LEAST 168
10.1.6 NEXT_DAY 170
10.1.7 LAST_DAY 171
10.1.8 MOMTHS_BETWEEN 171
10.1.9 組閤日期函數 172
10.2 日期計算中的ROUND和TRUNC 172
10.3 使用TO_DATE 和TO_CHAR設置日期格式 173
10.3.1 最常見的TO_CHAR 錯誤 178
10.3.2 NEW_TIME :切換時區 178
10.3.3 TO_DATE 計算 179
10.4 where子句中的日期 181
10.5 處理多個世紀 182
10.6 使用 EXTRACT 函數 183
10.7 使用 TIMESTAMP 數據類型 183
第11章 轉換函數與變換函數 185
11.1 基本的轉換函數 187
11.1.1 數據類型的自動轉換 189
11.1.2 關於自動轉換的注意事項 192
11.2 特殊的轉換函數 192
11.3 變換函數 193
11.3.1 TRANSLATE 193
11.3.2 DECODE 194
11.4 小結 195
第12章 分組函數 197
12.1 group by 和having 的用法 198
12.1.1 添加一個order by 199
12.1.2 執行順序 200
12.2 分組視圖 202
12.3 用彆名重命名列 203
12.4 分組視圖的功能 204
12.4.1 在視圖中使用order by 205
12.4.2 having子句中的邏輯 206
12.4.3 對列和分組函數進行排序 207
12.4.4 連接列 208
12.5 更多分組可能性 208
第13章 當一個查詢依賴於另一個查詢時 209
13.1 高級子查詢 209
13.1.1 相關子查詢 210
13.1.2 並列的邏輯測試 211
13.1.3 EXISTS 及其相關子查詢的使用 213
13.2 外部連接 214
13.2.1 Oracle 9i以前版本中的外部連接的語法 215
13.2.2 現在的外部連接語法 216
13.2.3 用外部連接代替NOT IN 218
13.2.4 用NOT EXISTS 代替NOT IN 219
13.3 自然連接和內部連接 220
13.4 UNION、INTERSECT和MINUS 221
13.4.1 IN 子查詢 224
13.4.2 UNION、INTERSECT和MINUS的限製 224
第14章 一些復雜的技術 225
14.1 復雜的分組 225
14.2 使用臨時錶 227
14.3 使用ROLLUP、GROUPING和CUBE 228
14.4 傢族樹和 connect by 232
14.4.1 排除個體和分支 235
14.4.2 嚮根遍曆 236
14.4.3 基本規則 238
第15章 更改數據:插入、更新、閤並和刪除 239
15.1 插入 240
15.1.1 插入時間 240
15.1.2 用select 插入 241
15.1.3 使用APPEND 提示改善插入性能 242
15.2 rollback、commit和autocommit命令 243
15.2.1 使用savepoint 243
15.2.2 隱式提交 245
15.2.3 自動迴滾 245
15.3 多錶插入 245
15.4 delete命令 249
15.5 update 命令 250
15.5.1 用嵌入式select 進行更新 251
15.5.2 用NULL 更新 252
15.6 使用 merge命令 253
15.7 處理錯誤 256
第16章 DECODE 和CASE:SQL中的if-then-else 259
16.1 if-then-else 260
16.2 通過 DECODE替換值 263
16.3 DECODE 中的DECODE 264
16.4 DECODE 中的大於和小於 267
16.5 使用 CASE 269
16.6 使用 PIVOT 272
第17章 創建和管理錶、視圖、索引、群集和序列 275
17.1 創建錶 276
17.1.1 字符寬度和數值精度 277
17.1.2 在插入時進行捨入 279
17.1.3 create table的約束 281
17.1.4 指定索引錶空間 282
17.1.5 命名約束 283
17.2 刪除錶 284
17.3 更改錶 284
17.3.1 添加或修改列的規則 287
17.3.2 創建隻讀錶 288
17.3.3 更改當前使用的錶 288
17.3.4 創建虛擬列 288
17.3.5 刪除列 289
17.4 根據一個錶創建另一個錶 290
17.5 創建索引編排錶 292
17.6 創建視圖 293
17.6.1 視圖的穩定性 293
17.6.2 視圖中的order by 294
17.6.3 創建隻讀視圖 295
17.7 索引 295
17.7.1 創建索引 296
17.7.2 實施唯一性 296
17.7.3 創建唯一索引 297
17.7.4 創建位圖索引 297
17.7.5 何時創建索引 298
17.7.6 創建不可見索引 299
17.7.7 索引列的變化 299
17.7.8 一個錶能使用多少個索引 299
17.7.9 在數據庫中放置索引 300
17.7.10 重建索引 300
17.7.11 基於函數的索引 301
17.8 群集 301
17.9 序列 303
第18章 分區 305
18.1 創建分區錶 306
18.2 列錶分區 308
18.3 創建子分區 309
18.4 創建範圍和間隔分區 309
18.5 索引分區 311
18.6 管理分區錶 311
第19章 Oracle 基本安全 313
19.1 用戶、角色和權限 314
19.1.1 創建用戶 314
19.1.2 密碼管理 315
19.1.3 標準角色 318
19.1.4 grant 命令的格式 319
19.1.5 撤消權限 320
19.2 可以授予用戶何種權限 320
19.2.1 利用connect移動到另一個用戶 322
19.2.2 創建同義詞 325
19.2.3 使用未授權的權限 325
19.2.4 權限的傳遞 325
19.2.5 創建角色 327
19.2.6 為角色授權 327
19.2.7 將一個角色授予另一個角色 328
19.2.8 為用戶授予角色 328
19.2.9 為角色添加密碼 329
19.2.10 刪除角色的密碼 329
19.2.11 啓用和禁用角色 330
19.2.12 撤消角色的權限 331
19.2.13 刪除角色 331
19.2.14 給指定的列授予UPDATE權限 331
19.2.15 撤消對象權限 331
19.2.16 用戶安全性 332
19.2.17 給公眾授予訪問權 333
19.3 有限資源的授權 334
第Ⅲ部分 高 級 主 題 335
第20章 高級安全性——虛擬專用數據庫 337
20.1 初始配置 338
20.2 創建應用程序上下文 339
20.3 創建登錄觸發器 341
20.4 創建安全策略 342
20.5 將安全策略應用於錶 343
20.6 測試 VPD 343
20.7 如何實現列級彆的 VPD 345
20.8 如何禁用 VPD 346
20.9 如何使用策略組 347
第21章 高級安全性:透明數據加密 349
21.1 列的透明數據加密 349
21.1.1 設置 350
21.1.2 RAC 數據庫的額外設置 351
21.1.3 錢夾的打開和關閉 351
21.1.4 列的加密和解密 352
21.2 錶空間的加密 353
21.2.1 設置 353
21.2.2 創建加密的錶空間 354
第22章 使用錶空間 355
22.1 錶空間與數據庫的結構 355
22.1.1 錶空間內容 356
22.1.2 錶空間中的RECYCLEBIN空間 358
22.1.3 隻讀錶空間 359
22.1.4 無日誌錶空間 360
22.1.5 臨時錶空間 360
22.1.6 用於係統管理撤消的錶空間 360
22.1.7 大文件錶空間 361
22.1.8 加密的錶空間 361
22.1.9 支持閃迴數據庫 361
22.1.10 移動錶空間 362
22.2 規劃錶空間的使用 362
22.2.1 分離活動錶與靜態錶 362
22.2.2 分離索引與錶 362
22.2.3 分離大對象與小對象 363
22.2.4 將應用程序錶與核心對象分開 363
第23章 用SQL*Loader 加載數據 365
23.1 控製文件 366
23.2 開始加載 367
23.3 邏輯記錄與物理記錄 370
23.4 控製文件語法注釋 371
23.5 管理數據加載 373
23.6 重復數據加載 373
23.7 調整數據加載 374
23.8 直接路徑加載 375
23.9 附加功能 377
第24章 使用Data Pump Export和Data Pump Import 379
24.1 創建目錄 380
24.2 Data Pump Export選項 380
24.3 啓動 Data Pump Export作業 383
24.3.1 停止和重新啓動運行的作業 384
24.3.2 從另一個數據庫中導齣 385
24.3.3 使用EXCLUDE 、INCLUDE和QUERY 385
24.4 Data Pump Import選項 387
24.5 啓動 Data Pump Import作業 389
24.5.1 停止和重新啓動運行的作業 391
24.5.2 EXCLUDE、INCLUDE和QUERY 391
24.5.3 轉換導入的對象 391
24.5.4 生成SQL 392
第25章 訪問遠程數據 395
25.1 數據庫鏈接 395
25.1.1 數據庫鏈接是如何工作的 396
25.1.2 利用數據庫鏈接進行遠程查詢 396
25.1.3 對同義詞和視圖使用數據庫鏈接 397
25.1.4 利用數據庫鏈接進行遠程更新 398
25.1.5 數據庫鏈接的語法 399
25.2 為位置透明性使用同義詞 402
25.3 在視圖中使用 User 僞列 403
第26章 使用物化視圖 405
26.1 功能 406
26.2 必需的係統權限 406
26.3 必需的錶權限 407
26.4 隻讀物化視圖與可更新的物化視圖 407
26.5 創建物化視圖的語法 408
26.5.1 物化視圖的類型 411
26.5.2 基於RowID 和基於主鍵的物化視圖 411
26.5.3 使用預建錶 412
26.5.4 為物化視圖錶創建索引 412
26.6 用物化視圖更改查詢執行路徑 412
26.7 使用 DBMS_ADVISOR 414
26.8 刷新物化視圖 416
26.8.1 可執行何種刷新 417
26.8.2 用CONSIDER FRESH快速刷新 420
26.8.3 自動刷新 420
26.8.4 人工刷新 421
26.9 創建物化視圖日誌的語法 422
26.10 更改物化視圖和日誌 423
26.11 刪除物化視圖和日誌 423
第27章 使用Oracle Text進行文本搜索 425
27.1 將文本添加到數據庫中 426
27.2 文本查詢和文本索引 427
27.2.1 文本查詢 427
27.2.2 可使用的文本查詢錶達式 428
27.2.3 一個單詞精確匹配的搜索 429
27.2.4 多個單詞精確匹配的搜索 429
27.2.5 短語精確匹配的搜索 433
27.2.6 搜索互相接近的單詞 434
27.2.7 在搜索中使用通配符 434
27.2.8 搜索具有相同詞根的單詞 435
27.2.9 模糊匹配搜索 436
27.2.10 搜索發音相似的單詞 437
27.2.11 使用 ABOUT運算符 438
27.2.12 索引同步 439
27.3 索引集 439
第28章 使用外部錶 441
28.1 訪問外部數據 442
28.2 創建外部錶 443
28.2.1 外部錶創建選項 446
28.2.2 創建時加載外部錶 451
28.3 更改外部錶 452
28.3.1 Access Parameters 子句 452
28.3.2 Add Column 子句 452
28.3.3 Default Directory 子句 452
28.3.4 Drop Column 子句 452
28.3.5 Location 子句 452
28.3.6 Modify Column 子句 452
28.3.7 Parallel 子句 453
28.3.8 Project Column 子句 453
28.3.9 Reject Limit 子句 453
28.3.10 Rename To 子句 453
28.4 外部錶的優缺點和潛在用途 453
第29章 使用閃迴查詢 455
29.1 基於時間的閃迴示例 456
29.2 保存數據 457
29.3 基於 SCN 的閃迴示例 458
29.4 閃迴查詢失敗的後果 459
29.5 什麼 SCN 與每一行關聯 460
29.6 閃迴版本查詢 461
29.7 閃迴計劃 463
第30章 閃迴:錶和數據庫 465
30.1 flashback table 命令 465
30.1.1 必需的權限 466
30.1.2 恢復刪除的錶 466
30.1.3 啓用和禁用迴收站 468
30.1.4 閃迴 SCN 或者時間戳 468
30.1.5 索引和統計信息 469
30.2 flashback database 命令 469
第31章 SQL 重放 473
31.1 高級彆配置 473
31.1.1 分離和連接 474
31.1.2 創建工作負載目錄 474
31.2 捕獲工作負載 475
31.2.1 定義過濾器 475
31.2.2 啓動捕獲 476
31.2.3 停止捕獲 477
31.2.4 導齣 AW R數據 477
31.3 處理工作負載 477
31.4 重放工作負載 478
31.4.1 控製和啓動重放客戶 478
31.4.2 初始化和運行重放 479
31.4.3 導齣 AW R數據 480
第Ⅳ部分 PL/SQL 481
第32章 PL/SQL 簡介 483
32.1 PL/SQL概述 483
32.2 聲明部分 484
32.3 可執行命令部分 487
32.3.1 條件邏輯 489
32.3.2 循環 490
32.3.3 CASE 語句 499
32.4 異常處理部分 500
第33章 應用程序在綫升級 503
33.1 高可用數據庫 503
33.1.1 Oracle Data Guard( 數據衛士)體係結構 504
33.1.2 創建備用數據庫配置 506
33.1.3 管理角色——切換和故障轉移 507
33.2 最小化 DDL變更的影響 510
33.2.1 創建虛擬列 510
33.2.2 改變正在使用的錶 511
33.2.3 添加 NOT NULL 列 512
33.2.4 在綫對象重新組織 512
33.2.5 刪除列 515
第34章 觸發器 517
34.1 必需的係統權限 518
34.2 必需的錶權限 518
34.3 觸發器類型 518
34.3.1 行級觸發器 518
34.3.2 語句級觸發器 519
34.3.3 BEFORE和AFTER觸發器 519
34.3.4 INSTEAD OF觸發器 519
34.3.5 模式觸發器 520
34.3.6 數據庫級觸發器 520
34.3.7 復閤觸發器 520
34.4 觸發器語法 520
34.4.1 DML 觸發器類型的組閤 522
34.4.2 設置插入值 523
34.4.3 維護復製的數據 524
34.4.4 定製錯誤條件 525
34.4.5 在觸發器中調用過程 527
34.4.6 命名觸發器 527
34.4.7 創建 DDL事件觸發器 528
34.4.8 創建數據庫事件觸發器 531
34.4.9 創建復閤觸發器 532
34.5 啓用和禁用觸發器 533
34.6 替換觸發器 534
34.7 刪除觸發器 534
第35章 過程、函數與程序包 535
35.1 必需的係統權限 536
35.2 必需的錶權限 537
35.3 過程與函數 538
35.4 過程與程序包 538
35.5 create procedure 語法 538
35.6 create function 語法 540
35.6.1 在過程中引用遠程錶 542
35.6.2 調試過程 543
35.6.3 創建自己的函數 544
35.6.4 定製錯誤條件 546
35.6.5 命名過程和函數 547
35.7 create package 語法 547
35.8 查看過程對象的源代碼 550
35.9 編譯過程、函數和程序包 551
35.10 替換過程、函數和程序包 552
35.11 刪除過程、函數和程序包 552
第36章 使用本地動態SQL和DBMS_SQL 553
36.1 使用EXECUTE IMMEDIATE 553
36.2 使用綁定變量 555
36.3 使用 DBMS_SQL 556
36.3.1 OPEN_CURSOR 557
36.3.2 PARSE 557
36.3.3 BIND_VARIABLE和BIND_ARRAY 558
36.3.4 EXECUTE 558
36.3.5 DEFINE_COLUMN 558
36.3.6 FETCH_ROWS 、EXECUTE_AND_FETCH和COLUMN_VALUE 559
36.3.7 CLOSE_CURSOR 559
第37章 PL/SQL 調整 561
37.1 調整 SQL 561
37.2 調整 PL/SQL 的步驟 562
37.3 使用DBMS_PROFILE識彆問題 563
37.4 將PL/SQL 特性用於批量操作 568
37.4.1 forall 操作 568
37.4.2 bulk collect操作 571
第Ⅴ部分 對象關係數據庫 573
第38章 實現對象類型、對象視圖和方法 575
38.1 使用對象類型 575
38.1.1 對象類型的安全性 576
38.1.2 索引對象類型屬性 579
38.2 實現對象視圖 581
38.2.1 通過對象視圖操作數據 583
38.2.2 使用INSTEAD OF 觸發器 584
38.3 方法 586
38.3.1 創建方法的語法 586
38.3.2 管理方法 588
第39章 收集器(嵌套錶和可變數組) 589
39.1 可變數組 589
39.1.1 創建可變數組 590
39.1.2 描述可變數組 590
39.1.3 嚮可變數組中插入記錄 592
39.1.4 從可變數組中選擇數據 593
39.2 嵌套錶 596
39.2.1 指定嵌套錶的錶空間 597
39.2.2 嚮嵌套錶中插入記錄 597
39.2.3 操作嵌套錶 598
39.3 嵌套錶與可變數組的附加函數 600
39.4 嵌套錶和可變數組的管理問題 601
39.4.1 收集器的可變性 601
39.4.2 數據的位置 602
第40章 使用大對象 603
40.1 可用的數據類型 603
40.2 為LOB 數據指定存儲參數 605
40.3 LOB 值的操作和選擇 607
40.3.1 初始化值 608
40.3.2 用子查詢插入數據 610
40.3.3 更新LOB值 610
40.3.4 使用串函數處理LOB 值 611
40.3.5 使用DBMS_LOB操作LOB 值 612
40.3.6 刪除LOB 628
第41章 麵嚮對象的高級概念 629
41.1 行對象和列對象 630
41.2 對象錶和 OID 630
41.2.1 把行插入對象錶 631
41.2.2 從對象錶中選擇值 632
41.2.3 從對象錶中更新和刪除數據 632
41.2.4 REF 函數 633
41.2.5 使用DEREF函數 633
41.2.6 VALUE 函數 636
41.2.7 無效引用 637
41.3 具有 REF 的對象視圖 637
41.3.1 對象視圖的簡要迴顧 637
41.3.2 包含引用的對象視圖 638
41.4 對象 PL/SQL 641
41.5 數據庫中的對象 643
第Ⅵ部分 Oracle 中的Java 645
第42章 Java簡介 647
42.1 Java 與PL/SQL 概述 648
42.2 開始 648
42.3 聲明 649
42.4 可執行命令 649
42.4.1 條件邏輯 651
42.4.2 循環 654
42.4.3 異常處理 656
42.4.4 保留字 657
42.5 類 657
第43章 JDBC 程序設計 663
43.1 使用 JDBC 類 664
43.2 使用 JDBC 進行數據操作 667
第44章 Java存儲過程 671
44.1 將類加載到數據庫中 673
44.2 如何訪問類 677
44.2.1 直接調用Java 存儲過程 679
44.2.2 在何處執行命令 680
第Ⅶ部分 指 南 681
第45章 Oracle 數據字典指南 683
45.1 關於名稱的說明 684
45.2 Oracle Database 11g中引入的新視圖 684
45.3 路綫圖:DICTIONARY(DICT)和DICT_COLUMNS 688
45.4 從錶、列、視圖、同義詞和序列中選擇 689
45.4.1 目錄:USER_CATALOG(CAT) 689
45.4.2 對象:USER_OBJECTS(OBJ) 690
45.4.3 錶:USER_TABLES(TABS) 691
45.4.4 列:USER_TAB_COLUMNS(COLS) 693
45.4.5 視圖:USER_VIEWS 694
45.4.6 同義詞:USER_SYNONYMS(SYN) 696
45.4.7 序列:USER_SEQUENCES(SEQ) 697
45.5 迴收站:USER_RECYCLEBIN和DBA_RECYCLEBIN 697
45.6 約束和注釋 697
45.6.1 約束:USER_CONSTRAINTS 698
45.6.2 約束列:USER_CONS_COLUMNS 699
45.6.3 約束異常:EXCEPTIONS 700
45.6.4 錶注釋:USER_TAB_COMMENTS 700
45.6.5 列注釋:USER_COL_COMMENTS 701
45.7 索引和群集 702
45.7.1 索引:USER_INDEXES(IND) 702
45.7.2 索引列:USER_IND_COLUMNS 704
45.7.3 群集:USER_CLUSTERS(CLU) 705
45.7.4 群集列:USER_CLU_COLUMNS 705
45.8 抽象數據類型和 LOB 706
45.8.1 抽象數據類型:USER_TYPES 706
45.8.2 LOB :USER_LOBS 708
45.9 數據庫鏈接和物化視圖 709
45.9.1 數據庫鏈接:USER_DB_LINKS 709
45.9.2 物化視圖 709
45.9.3 物化視圖日誌:USER_MVIEW_LOGS 711
45.10 觸發器、過程、函數和程序包 711
45.10.1 觸發器:USER_TRIGGERS 712
45.10.2 過程、函數和程序包:USER_SOURCE 712
45.11 維度 714
45.12 包括分區和子分區的空間分配和使用情況 715
45.12.1 錶空間:USER_TABLESPACES 715
45.12.2 空間限額:USER_TS_ QUOTAS 715
45.12.3 段和區:USER_SEGMENTS和USER_EXTENTS 716
45.12.4 分區和子分區 717
45.12.5 可用空間:USER_FREE_SPACE 719
45.13 用戶和權限 719
45.13.1 用戶:USER_USERS 719
45.13.2 資源限製:USER_RESOURCE_LIMITS 719
45.13.3 錶的權限:USER_TAB_PRIVS 720
45.13.4 列權限:USER_COL_PRIVS 720
45.13.5 係統權限:USER_SYS_PRIVS 721
45.14 角色 721
45.15 審計 722
45.16 其他視圖 723
45.17 監控:V$動態性能錶 723
45.17.1 CHAINED_ROWS 723
45.17.2 PLAN_TABLE 724
45.17.3 相互依賴性:USER_DEPENDENCIES和IDEPTREE 724
45.17.4 隻屬於DBA的視圖 724
45.17.5 Oracle Label Security 724
45.17.6 SQL*Loader直接加載視圖 725
45.17.7 全球支持視圖 725
45.17.8 庫 725
45.17.9 異構服務 725
45.17.10 索引類型和運算符 725
45.17.11 概要 726
45.17.12 顧問程序 726
45.17.13 調度程序 726
第46章 應用程序和 SQL 調整指南 727
46.1 Oracle Database 11g新增的調整功能 728
46.2 Oracle 11g新增的調整特性 728
46.3 調整——最優方法 729
46.3.1 盡可能少做 730
46.3.2 盡可能簡單地完成 732
46.3.3 告訴數據庫需要知道什麼 733
46.3.4 最大化環境中的吞吐量 734
46.3.5 分開處理數據 735
46.3.6 正確測試 736
46.4 生成並讀取說明計劃(explain plan) 738
46.4.1 使用set autotrace on 738
46.4.2 使用explain plan 742
46.5 Explain Plan 中的主要操作 743
46.5.1 TABLE ACCESS FULL 743
46.5.2 TABLE ACCESS BY INDEX ROWID 744
46.5.3 相關提示 744
46.5.4 使用索引的操作 744
46.5.5 何時使用索引 746
46.5.6 操縱數據集的操作 751
46.5.7 執行連接的操作 757
46.5.8 Oracle如何處理兩個以上錶的連接 758
46.5.9 並行化和緩存問題 764
46.6 實現存儲概要 764
46.7 小結 766
第47章 SQL 結果緩存和客戶端查詢緩存 767
47.1 SQL 結果緩存的數據庫參數設置 774
47.2 DBMS_RESULT_CACHE程序包 775
47.3 SQL 結果緩存的字典視圖 776
47.4 SQL 結果緩存的更多細節 777
47.5 Oracle 調用接口(OCI) 客戶端查詢緩存 777
47.6 Oracle 調用接口(OCI) 客戶端查詢緩存的限製 778
第48章 關於調整的示例分析 779
48.1 示例分析1 :等待、等待、再等待 779
48.2 示例分析2 :破壞應用程序的查詢 782
48.3 示例分析3 :長期運行的批處理作業 786
第49章 高級體係結構選項——DB保險庫、內容DB和記錄DB 789
49.1 Oracle 數據庫保險庫 790
49.1.1 Oracle數據庫保險庫的新概念 790
49.1.2 禁用Oracle 數據庫保險庫 791
49.1.3 啓用Oracle 數據庫保險庫 792
49.1.4 數據庫保險庫安裝的注意事項 793
49.2 Oracle 內容數據庫套件 796
49.2.1 存儲庫 796
49.2.2 文檔管理 797
49.2.3 用戶安全性 797
49.3 Oracle 記錄數據庫 798
第50章 Oracle 實時應用群集 801
50.1 安裝前的準備 802
50.2 安裝 RAC 802
50.2.1 存儲 803
50.2.2 初始化參數 803
50.3 啓動和停止 RAC實例 805
50.4 透明應用程序故障切換 807
50.5 為群集添加節點和實例 808
第51章 數據庫管理指南 811
51.1 創建數據庫 812
51.2 啓動和停止數據庫 813
51.3 設置和管理內存區域大小 814
51.4 分配和管理對象的空間 816
51.4.1 存儲子句的含義 817
51.4.2 錶段 818
51.4.3 索引段 819
51.4.4 係統管理的撤消 819
51.4.5 臨時段 820
51.4.6 可用空間 821
51.4.7 設置數據庫對象的大小 822
51.5 監控撤消錶空間 824
51.6 自動存儲管理 824
51.7 段空間管理 825
51.8 移動錶空間 826
51.8.1 生成可移動錶空間集 826
51.8.2 插入可移動錶空間集 827
51.9 進行備份 828
51.9.1 Data Pump Export 和Data Pump Import 828
51.9.2 脫機備份 829
51.9.3 聯機備份 830
51.9.4 Recovery Manager 833
51.10 展望 834
第52章 Oracle 中的 XML指南 835
52.1 文檔類型定義、元素及屬性 836
52.2 XML 模式 839
52.3 使用XSU選擇、插入、更新和刪除XML值 841
52.3.1 使用XSU 進行插入、更新和刪除 843
52.3.2 XSU 和Java 844
52.3.3 定製查詢過程 845
52.4 使用 XMLType 846
52.5 其他功能 848
第Ⅷ部分 附 錄 849
附錄A 命令和術語參考 851
· · · · · · (
收起)