目 錄
第Ⅰ部分 數據庫核心概念
第1章 Oracle Database 12c架構選件 3
1.1 數據庫和實例 4
1.2 數據庫技術 5
1.2.1 存儲數據 6
1.2.2 數據保護 7
1.2.3 可編程的結構 8
1.3 選擇體係結構和選件 9
第2章 安裝Oracle Database 12c和創建數據庫 11
2.1 許可證和安裝選項概覽 13
2.2 安裝Oracle軟件 13
2.2.1 安裝Grid Infrastructure 13
2.2.2 安裝Oracle數據庫 16
第3章 升級到Oracle Database 12c 19
3.1 選擇升級方法 20
3.2 升級之前的準備 21
3.3 升級Grid Infrastructure和數據庫 22
3.3.1 升級Grid Infrastructure 22
3.3.2 升級數據庫 25
3.4 升級之後的工作 32
第4章 規劃Oracle應用程序——方法、風險和標準 33
4.1 協作方法 34
4.2 每個人都有“數據” 35
4.3 熟悉的Oracle語言 36
4.3.1 存儲信息的錶 36
4.3.2 結構化查詢語言 37
4.3.3 簡單的Oracle查詢 37
4.3.4 為什麼稱作“關係” 39
4.4 一些通用的、常見的示例 40
4.5 風險所在 42
4.6 新視角的重要性 43
4.6.1 變化的環境 43
4.6.2 代碼、縮寫和命名標準 43
4.7 如何減少混淆 45
4.7.1 規範化 45
4.7.2 錶和列的英文名稱 49
4.7.3 數據中的英文單詞 50
4.8 名稱和數據中的大寫 51
4.9 規範化名稱 51
4.10 人性化和優秀的設計 52
4.10.1 理解應用程序的任務 52
4.10.2 任務概要 53
4.11 理解數據 55
4.11.1 原子數據模型 56
4.11.2 原子業務模型 57
4.11.3 業務模型 57
4.11.4 數據項 57
4.11.5 查詢和報告 57
4.12 關於對象名稱的規範化 58
4.12.1 級彆-名稱完整性 58
4.12.2 外鍵 59
4.12.3 單數名稱 59
4.12.4 簡潔 60
4.12.5 對象名辭典 60
4.13 智能鍵和列值 60
4.14 建議 61
第Ⅱ部分 SQL和SQL*Plus
第5章 SQL中的基本語法 65
5.1 樣式 67
5.2 創建NEWSPAPER錶 67
5.3 用SQL從錶中選擇數據 68
5.4 select、from、where和order by 71
5.5 邏輯和值 73
5.5.1 單值測試 74
5.5.2 值列錶的簡單測試 79
5.5.3 組閤邏輯 81
5.6 WHERE的另一個用途:子查詢 82
5.6.1 從子查詢得到單值 83
5.6.2 從子查詢得到值列錶 84
5.7 組閤錶 85
5.8 創建視圖 87
5.9 擴展視圖 89
第6章 基本的SQL*Plus報錶和命令 91
6.1 構建簡單的報錶 93
6.1.1 REMARK 95
6.1.2 SET HEADSEP 96
6.1.3 TTITLE和BTITLE 96
6.1.4 COLUMN 96
6.1.5 BREAK ON 97
6.1.6 COMPUTE AVG 98
6.1.7 SET LINESIZE 99
6.1.8 SET PAGESIZE 99
6.1.9 SET NEWPAGE 99
6.1.10 SPOOL 100
6.1.11 /* */ 101
6.1.12 關於列標題的一些說明 101
6.2 其他特性 102
6.2.1 命令行編輯器 102
6.2.2 設置停頓 105
6.2.3 保存 106
6.2.4 存儲 106
6.2.5 編輯 106
6.2.6 HOST 107
6.2.7 添加SQL*Plus命令 108
6.2.8 START 108
6.3 檢查SQL*Plus環境 108
6.4 構件塊 110
第7章 文本信息的收集與更改 111
7.1 數據類型 112
7.2 什麼是串 112
7.3 錶示法 113
7.4 連接符(||) 114
7.5 剪切和粘貼串 116
7.5.1 RPAD和LPAD 116
7.5.2 LTRIM、RTRIM和TRIM 117
7.5.3 組閤兩個函數 118
7.5.4 使用TRIM函數 120
7.5.5 再次使用填充函數 121
7.5.6 LOWER、UPPER和INITCAP 121
7.5.7 LENGTH 122
7.5.8 SUBSTR 123
7.5.9 INSTR 126
7.5.10 ASCII和CHR 130
7.6 在ORDER BY和WHERE子句中使用串函數 130
7.6.1 SOUNDEX 132
7.6.2 國際語言支持 133
7.6.3 正則錶達式支持 133
7.7 小結 133
第8章 正則錶達式搜索 135
8.1 搜索串 136
8.2 REGEXP_SUBSTR 139
8.3 REGEXP_INSTR 141
8.4 REGEXP_LIKE 142
8.5 REPLACE和REGEXP_
REPLACE 143
8.6 REGEXP_COUNT 148
第9章 數值處理 151
9.1 三類數值函數 151
9.2 錶示法 152
9.3 單值函數 152
9.3.1 加減乘除 153
9.3.2 NULL 153
9.3.3 NVL:空值置換函數 154
9.3.4 ABS:絕對值函數 155
9.3.5 CEIL 155
9.3.6 FLOOR 156
9.3.7 MOD 156
9.3.8 POWER 157
9.3.9 SQRT:求平方根 157
9.3.10 EXP、LN和LOG 158
9.3.11 ROUND和TRUNC 158
9.3.12 SIGN 160
9.3.13 SIN、SINH、COS、COSH、TAN、TANH、ACOS、ATAN、ATAN2和ASIN 160
9.4 聚集函數 160
9.4.1 組值函數中的NULL 160
9.4.2 單值函數和組值函數的示例 162
9.4.3 AVG、COUNT、MAX、MIM和SUM 162
9.4.4 組值函數和單值函數的組閤 163
9.4.5 STDDEV和VARIANCE 165
9.4.6 組函數中的DISTINCT 165
9.5 列錶函數 166
9.6 使用MAX或MIN函數查找行 168
9.7 優先級和圓括號的應用 169
9.8 小結 170
第10章 日期:過去、現在及日期的差 173
10.1 日期算法 173
10.1.1 SYSDATE、CURRENT_DATE及SYSTIMESTAMP 174
10.1.2 兩個日期的差 175
10.1.3 添加月份 176
10.1.4 減少月份 176
10.1.5 GREATEST和LEAST 176
10.1.6 NEXT_DAY 178
10.1.7 LAST_DAY 179
10.1.8 MOMTHS_BETWEEN 179
10.1.9 組閤日期函數 180
10.2 日期計算中的ROUND和TRUNC 181
10.3 使用TO_DATE和TO_CHAR設置日期格式 181
10.3.1 最常見的TO_CHAR錯誤 186
10.3.2 NEW_TIME:切換時區 187
10.3.3 TO_DATE計算 187
10.4 WHERE子句中的日期 189
10.5 處理多個世紀 191
10.6 使用EXTRACT函數 191
10.7 使用TIMESTAMP數據類型 192
第11章 轉換函數與變換函數 195
11.1 基本的轉換函數 197
11.1.1 數據類型的自動轉換 199
11.1.2 關於自動轉換的注意事項 202
11.2 特殊的轉換函數 202
11.3 變換函數 203
11.3.1 TRANSLATE 203
11.3.2 DECODE 204
11.4 小結 205
第12章 分組函數 207
12.1 GROUP BY和HAVING的用法 207
12.1.1 添加ORDER BY子句 209
12.1.2 執行順序 210
12.2 分組視圖 212
12.3 用彆名重命名列 213
12.4 分組視圖的功能 214
12.4.1 在視圖中使用
ORDER BY 215
12.4.2 HAVING子句中的邏輯 216
12.4.3 對列和分組函數進行排序 217
12.4.4 連接列 218
12.5 更多分組可能性 218
第13章 當一個查詢依賴於另一個查詢時 219
13.1 高級子查詢 219
13.1.1 相關子查詢 220
13.1.2 並列的邏輯測試 221
13.1.3 EXISTS及其相關子查詢的使用 223
13.2 外部連接 225
13.2.1 Oracle 9i以前版本中的外部連接語法 225
13.2.2 現在的外部連接語法 227
13.2.3 用外部連接代替
NOT IN 228
13.2.4 用NOT EXISTS代替
NOT IN 230
13.3 自然連接和內部連接 231
13.4 UNION﹑INTERSECT和MINUS 232
13.4.1 IN子查詢 235
13.4.2 UNION、INTERSECT和MINUS的限製 235
第14章 一些復雜的技術 237
14.1 復雜的分組 237
14.2 使用臨時錶 239
14.3 使用ROLLUP﹑GROUPING和CUBE 240
14.4 傢族樹和CONNECT BY 244
14.4.1 排除個體和分支 248
14.4.2 嚮根遍曆 249
14.4.3 找齣葉節點 251
14.4.4 基本規則 252
第15章 更改數據:插入﹑更新﹑閤並和刪除 253
15.1 插入 253
15.1.1 插入時間 254
15.1.2 用SELECT插入 255
15.1.3 使用APPEND提示改善插入性能 256
15.2 ROLLBACK、COMMIT和AUTOCOMMIT命令 256
15.2.1 使用SAVEPOINT 257
15.2.2 隱式提交 258
15.2.3 自動迴滾 258
15.3 多錶插入 259
15.4 DELETE命令 263
15.5 UPDATE命令 264
15.5.1 用嵌入式SELECT進行更新 265
15.5.2 用NULL更新 266
15.6 使用MERGE命令 266
15.7 處理錯誤 269
第16章 DECODE和CASE:SQL中的if-then-else 271
16.1 if-then-else 271
16.2 通過DECODE替換值 275
16.3 DECODE中的DECODE 276
16.4 DECODE中的大於和小於 279
16.5 使用CASE 281
16.6 使用PIVOT 284
第17章 創建和管理錶、視圖、索引、集群和序列 287
17.1 創建錶 287
17.1.1 字符寬度和數值精度 289
17.1.2 在插入時進行捨入 290
17.1.3 在CREATE TABLE中定義約束 292
17.1.4 指定索引錶空間 293
17.1.5 命名約束 294
17.2 刪除錶 295
17.3 更改錶 296
17.3.1 添加或修改列的規則 298
17.3.2 創建隻讀錶 299
17.3.3 更改當前使用的錶 299
17.3.4 創建虛擬列 300
17.3.5 刪除列 301
17.4 根據一個錶創建另一個錶 302
17.5 創建索引組織錶 303
17.6 創建視圖 304
17.6.1 視圖的穩定性 305
17.6.2 視圖中的ORDER BY 306
17.6.3 創建隻讀視圖 306
17.7 索引 307
17.7.1 創建索引 307
17.7.2 實施唯一性 308
17.7.3 創建唯一索引 308
17.7.4 創建位圖索引 309
17.7.5 何時創建索引 310
17.7.6 創建不可見索引 310
17.7.7 索引列的變化 310
17.7.8 一個錶能使用的索引數目 311
17.7.9 在數據庫中放置索引 311
17.7.10 重建索引 312
17.7.11 基於函數的索引 312
17.8 集群 313
17.9 序列 314
第18章 分區 317
18.1 創建分區錶 318
18.2 列錶分區 320
18.3 創建子分區 320
18.4 創建引用分區和間隔分區 321
18.4.1 引用分區 321
18.4.2 間隔分區 322
18.5 索引分區 323
18.6 管理分區錶 323
第19章 Oracle基本安全 325
19.1 用戶、角色和權限 325
19.1.1 創建用戶 326
19.1.2 密碼管理 326
19.1.3 標準角色 330
19.1.4 GRANT命令的格式 331
19.1.5 撤消權限 331
19.2 可以授予用戶何種權限 332
19.2.1 使用CONNECT切換到另一個用戶 334
19.2.2 創建同義詞 337
19.2.3 使用未授權的權限 337
19.2.4 權限的傳遞 337
19.2.5 創建角色 339
19.2.6 為角色授權 339
19.2.7 將一個角色授予另一個角色 340
19.2.8 為用戶授予角色 340
19.2.9 為角色添加密碼 340
19.2.10 刪除角色的密碼 341
19.2.11 啓用和禁用角色 341
19.2.12 撤消角色的權限 342
19.2.13 刪除角色 342
19.2.14 給指定的列授予UPDATE
權限 343
19.2.15 撤消對象權限 343
19.2.16 用戶安全性 343
19.2.17 給public授予訪問權 345
19.3 有限資源的授權 345
第Ⅲ部分 進 階
第20章 高級安全性——虛擬專用數據庫 349
20.1 初始配置 350
20.2 創建應用程序上下文 351
20.3 創建登錄觸發器 353
20.4 創建安全策略 354
20.5 將安全策略應用於錶 355
20.6 測試VPD 355
20.7 如何實現列級彆的VPD 357
20.8 如何禁用VPD 357
20.9 如何使用策略組 359
第21章 高級安全性:透明數據加密 361
21.1 列的透明數據加密 361
21.1.1 設置TDE以便使用加密列 362
21.1.2 RAC數據庫的額外設置 363
21.1.3 錢夾的打開和關閉 363
21.1.4 列的加密和解密 364
21.2 錶空間的加密 365
21.2.1 在錶空間上設置TDE 365
21.2.2 創建加密的錶空間 366
第22章 使用錶空間 367
22.1 錶空間與數據庫的結構 367
22.1.1 錶空間內容 368
22.1.2 錶空間中的RECYCLEBIN空間 370
22.1.3 隻讀錶空間 371
22.1.4 無日誌錶空間 371
22.1.5 臨時錶空間 372
22.1.6 用於係統管理撤消的錶空間 372
22.1.7 大文件錶空間 372
22.1.8 加密的錶空間 373
22.1.9 支持閃迴數據庫 373
22.1.10 移動錶空間 373
22.2 規劃錶空間的使用 374
22.2.1 分離活動錶與靜態錶 374
22.2.2 分離索引與錶 374
22.2.3 分離大對象與小對象 374
22.2.4 將應用程序錶與核心對象分開 375
第23章 用SQL*Loader加載數據 377
23.1 控製文件 378
23.2 開始加載 379
23.3 邏輯記錄與物理記錄 382
23.4 控製文件語法注釋 383
23.5 管理數據加載 385
23.6 重復數據加載 385
23.7 調整數據加載 386
23.8 直接路徑加載 387
23.9 SQL*Loader Express Mode 389
23.10 附加功能 390
第24章 使用Data Pump Export和Data Pump Import 391
24.1 創建目錄 392
24.2 Data Pump Export選項 392
24.3 啓動Data Pump Export作業 395
24.3.1 停止和重新啓動運行的作業 396
24.3.2 從另一個數據庫中導齣 397
24.3.3 使用EXCLUDE、INCLUDE和QUERY 397
24.4 Data Pump Import選項 398
24.5 啓動Data Pump Import作業 401
24.5.1 停止和重新啓動運行的作業 402
24.5.2 EXCLUDE、INCLUDE和QUERY 403
24.5.3 生成SQL 403
第25章 訪問遠程數據 407
25.1 數據庫鏈接 407
25.1.1 數據庫鏈接是如何工作的 408
25.1.2 利用數據庫鏈接進行遠程查詢 408
25.1.3 對同義詞和視圖使用數據庫鏈接 409
25.1.4 利用數據庫鏈接進行遠程更新 410
25.1.5 數據庫鏈接的語法 411
25.2 為位置透明性使用同義詞 414
25.3 在視圖中使用USER僞列 415
第26章 使用物化視圖 417
26.1 功能 417
26.2 必需的係統權限 418
26.3 必需的錶權限 419
26.4 隻讀物化視圖與可更新的物化視圖 419
26.5 創建物化視圖的語法 419
26.5.1 物化視圖的類型 423
26.5.2 基於ROWID和基於主鍵的物化視圖 423
26.5.3 使用預建錶 423
26.5.4 為物化視圖錶創建索引 424
26.6 用物化視圖更改查詢執行路徑 424
26.7 使用DBMS_ADVISOR 425
26.8 刷新物化視圖 428
26.8.1 可執行何種刷新 428
26.8.2 用CONSIDER FRESH快速刷新 431
26.8.3 自動刷新 432
26.8.4 人工刷新 432
26.9 創建物化視圖日誌的語法 434
26.10 更改物化視圖和日誌 435
26.11 刪除物化視圖和日誌 435
第27章 使用Oracle Text進行文本搜索 437
27.1 將文本添加到數據庫中 437
27.2 文本查詢和文本索引 439
27.2.1 文本查詢 439
27.2.2 可用的文本查詢錶達式 440
27.2.3 精確匹配單個單詞的搜索 440
27.2.4 精確匹配多個單詞的搜索 441
27.2.5 短語精確匹配的搜索 445
27.2.6 搜索互相接近的單詞 446
27.2.7 在搜索中使用通配符 446
27.2.8 搜索具有相同詞根的單詞 447
27.2.9 模糊匹配搜索 448
27.2.10 搜索發音相似的詞 449
27.2.11 使用ABOUT運算符 450
27.2.12 索引同步 451
27.3 索引集 451
第28章 使用外部錶 453
28.1 訪問外部數據 454
28.2 創建外部錶 455
28.2.1 外部錶創建選項 458
28.2.2 創建時加載外部錶 464
28.3 更改外部錶 465
28.3.1 ACCESS PARAMETERS子句 465
28.3.2 ADD COLUMN子句 466
28.3.3 DEFAULT DIRECTORY子句 466
28.3.4 DROP COLUMN子句 466
28.3.5 LOCATION子句 466
28.3.6 MODIFY COLUMN子句 466
28.3.7 PARALLEL子句 466
28.3.8 PROJECT COLUMN子句 466
28.3.9 REJECT LIMIT子句 466
28.3.10 RENAME TO子句 466
28.4 外部錶的優缺點和潛在用途 467
第29章 使用閃迴查詢 469
29.1 基於時間的閃迴示例 470
29.2 保存數據 471
29.3 基於SCN的閃迴示例 472
29.4 閃迴查詢失敗的後果 473
29.5 什麼SCN與每一行關聯 474
29.6 閃迴版本查詢 475
29.7 閃迴計劃 478
第30章 閃迴:錶和數據庫 479
30.1 FLASHBACK TABLE命令 479
30.1.1 必需的權限 480
30.1.2 恢復刪除的錶 480
30.1.3 啓用和禁用迴收站 481
30.1.4 閃迴SCN或時間戳 482
30.1.5 索引和統計信息 483
30.2 FLASHBACK DATABASE命令 483
第31章 SQL重放 487
31.1 高級彆配置 487
31.1.1 分離和連接 488
31.1.2 創建工作負載目錄 488
31.2 捕獲工作負載 489
31.2.1 定義過濾器 489
31.2.2 啓動捕獲 490
31.2.3 停止捕獲 491
31.2.4 導齣AWR數據 491
31.3 處理工作負載 491
31.4 重放工作負載 492
31.4.1 控製和啓動重放客戶 492
31.4.2 初始化和運行重放 493
31.4.3 導齣AWR數據 494
第Ⅳ部分 PL/SQL
第32章 PL/SQL簡介 497
32.1 PL/SQL概述 497
32.2 聲明部分 498
32.3 可執行命令部分 501
32.3.1 條件邏輯 503
32.3.2 循環 504
32.3.3 case語句 512
32.4 異常處理部分 514
第33章 應用程序在綫升級 517
33.1 高可用數據庫 517
33.1.1 Oracle Data Guard(數據衛士)體係結構 518
33.1.2 創建備用數據庫配置 519
33.1.3 管理角色——切換和故障轉移 521
33.2 最小化DDL變更的影響 524
33.2.1 創建虛擬列 524
33.2.2 改變正在使用的錶 525
33.2.3 添加NOT NULL列 525
33.2.4 在綫對象重新組織 525
33.2.5 刪除列 528
第34章 觸發器 531
34.1 必需的係統權限 531
34.2 必需的錶權限 532
34.3 觸發器的類型 532
34.3.1 行級觸發器 532
34.3.2 語句級觸發器 532
34.3.3 BEFORE和AFTER觸發器 533
34.3.4 INSTEAD OF觸發器 533
34.3.5 模式觸發器 533
34.3.6 數據庫級觸發器 533
34.3.7 復閤觸發器 534
34.4 觸發器語法 534
34.4.1 DML觸發器類型的組閤 536
34.4.2 設置插入值 537
34.4.3 維護復製的數據 538
34.4.4 定製錯誤條件 539
34.4.5 在觸發器中調用過程 541
34.4.6 命名觸發器 542
34.4.7 創建DDL事件觸發器 542
34.4.8 創建數據庫事件觸發器 546
34.4.9 創建復閤觸發器 546
34.5 啓用和禁用觸發器 548
34.6 替換觸發器 549
34.7 刪除觸發器 549
第35章 過程、函數與程序包 551
35.1 必需的係統權限 552
35.2 必需的錶權限 553
35.3 過程與函數 553
35.4 過程與程序包 554
35.5 CREATE PROCEDURE語法 554
35.6 CREATE FUNCTION語法 556
35.6.1 在過程中引用遠程錶 558
35.6.2 調試過程 559
35.6.3 創建自己的函數 560
35.6.4 定製錯誤條件 561
35.6.5 命名過程和函數 563
35.7 CREATE PACKAGE語法 563
35.8 查看過程對象的源代碼 566
35.9 編譯過程、函數和程序包 567
35.10 替換過程、函數和程序包 567
35.11 刪除過程、函數和程序包 568
第36章 使用本地動態SQL和DBMS_SQL 569
36.1 使用EXECUTE IMMEDIATE 569
36.2 使用綁定變量 571
36.3 使用DBMS_SQL 572
36.3.1 OPEN_CURSOR 573
36.3.2 PARSE 573
36.3.3 BIND_VARIABLE和BIND_ARRAY 574
36.3.4 EXECUTE 574
36.3.5 DEFINE_COLUMN 574
36.3.6 FETCH_ROWS、
EXECUTE_AND_FETCH和COLUMN_VALUE 575
36.3.7 CLOSE_CURSOR 575
第37章 PL/SQL調整 577
37.1 調整SQL 577
37.2 調整PL/SQL的步驟 578
37.3 在SQL語句中使用PL/SQL 579
37.4 使用DBMS_PROFILE識彆問題 580
37.5 將PL/SQL特性用於批量操作 585
37.5.1 forall 586
37.5.2 bulk collect 588
第Ⅴ部分 麵嚮對象數據庫
第38章 實現對象類型、對象視圖和方法 593
38.1 使用對象類型 593
38.1.1 對象類型的安全性 594
38.1.2 索引對象類型屬性 597
38.2 實現對象視圖 598
38.2.1 通過對象視圖操作數據 601
38.2.2 使用INSTEAD OF觸發器 601
38.3 方法 604
38.3.1 創建方法的語法 604
38.3.2 管理方法 606
第39章 收集器(嵌套錶和可變數組) 607
39.1 可變數組 607
39.1.1 創建可變數組 608
39.1.2 描述可變數組 608
39.1.3 嚮可變數組中插入記錄 609
39.1.4 從可變數組中選擇數據 611
39.2 嵌套錶 613
39.2.1 指定嵌套錶的錶空間 614
39.2.2 嚮嵌套錶中插入記錄 615
39.2.3 使用嵌套錶 616
39.3 嵌套錶與可變數組的附加函數 617
39.4 嵌套錶和可變數組的管理問題 618
39.4.1 收集器的可變性 618
39.4.2 數據的位置 619
第40章 使用大對象 621
40.1 可用的數據類型 621
40.2 為LOB數據指定存儲參數 623
40.3 LOB值的操作和選擇 625
40.3.1 初始化值 626
40.3.2 用子查詢插入數據 628
40.3.3 更新LOB值 628
40.3.4 使用串函數處理LOB值 629
40.3.5 使用DBMS_LOB操作LOB值 630
40.3.6 刪除LOB 646
第41章 麵嚮對象的高級概念 647
41.1 行對象和列對象 648
41.2 對象錶和OID 648
41.2.1 把行插入對象錶 649
41.2.2 從對象錶中選擇值 649
41.2.3 從對象錶中更新和刪除數據 650
41.2.4 使用REF函數 651
41.2.5 使用DEREF函數 651
41.2.6 使用VALUE函數 654
41.2.7 無效引用 655
41.3 具有REF的對象視圖 655
41.3.1 對象視圖的簡要迴顧 655
41.3.2 包含引用的對象視圖 656
41.4 對象PL/SQL 659
41.5 數據庫中的對象 661
第Ⅵ部分 Java相關知識
第42章 Java簡介 665
42.1 Java與PL/SQL概述 666
42.2 開始 666
42.3 聲明 667
42.4 可執行命令 667
42.4.1 條件邏輯 668
42.4.2 循環 672
42.4.3 異常處理 674
42.4.4 保留字 675
42.5 類 675
第43章 JDBC程序設計 681
43.1 使用JDBC類 682
43.2 使用JDBC進行數據操作 685
第44章 Java存儲過程 691
44.1 將類加載到數據庫中 693
44.2 如何訪問類 697
44.2.1 直接調用Java存儲過程 699
44.2.2 在何處執行命令 699
第Ⅶ部分 指 南
第45章 Oracle數據字典指南 703
45.1 關於名稱的說明 704
45.2 Oracle Database 12c中引入的新視圖 704
45.3 Oracle Database 11g中引入的新視圖 711
45.4 路綫圖:DICTIONARY(DICT)和DICT_COLUMNS 714
45.5 從錶、列、視圖、同義詞和序列中選擇 716
45.5.1 目錄:USER_CATALOG(CAT) 716
45.5.2 對象:USER_OBJECTS(OBJ) 716
45.5.3 錶:USER_TABLES(TABS) 717
45.5.4 列:USER_TAB_COLUMNS(COLS) 719
45.5.5 視圖:USER_VIEWS 720
45.5.6 同義詞:USER_SYNONYMS(SYN) 722
45.5.7 序列:USER_SEQUENCES(SEQ) 723
45.6 迴收站:USER_RECYCLEBIN和DBA_RECYCLEBIN 723
45.7 約束和注釋 724
45.7.1 約束:USER_CONSTRAINTS 724
45.7.2 約束列:USER_CONS_COLUMNS 725
45.7.3 約束異常:EXCEPTIONS 726
45.7.4 錶注釋:USER_TAB_COMMENTS 727
45.7.5 列注釋:USER_COL_COMMENTS 727
45.8 索引和集群 728
45.8.1 索引:USER_INDEXES(IND) 728
45.8.2 索引列:USER_IND_COLUMNS 730
45.8.3 集群:USER_CLUSTERS(CLU) 731
45.8.4 集群列:USER_CLU_COLUMNS 732
45.9 抽象數據類型和LOB 732
45.9.1 抽象數據類型:USER_TYPES 732
45.9.2 LOB:USER_LOBS 734
45.10 數據庫鏈接和物化視圖 735
45.10.1 數據庫鏈接:USER_DB_LINKS 735
45.10.2 物化視圖 736
45.10.3 物化視圖日誌:USER_MVIEW_LOGS 737
45.11 觸發器、過程、函數和程序包 738
45.11.1 觸發器:USER_TRIGGERS 738
45.11.2 過程、函數和程序包:USER_SOURCE 738
45.12 維度 740
45.13 包括分區和子分區的空間分配和使用情況 741
45.13.1 錶空間:USER_TABLESPACES 741
45.13.2 空間限額:USER_TS_QUOTAS 742
45.13.3 段和區:USER_SEGMENTS和USER_EXTENTS 742
45.13.4 分區和子分區 743
45.13.5 可用空間:USER_FREE_SPACE 746
45.14 用戶和權限 746
45.14.1 用戶:USER_USERS 746
45.14.2 資源限製:USER_RESOURCE_LIMITS 746
45.14.3 錶的權限:USER_TAB_PRIVS 747
45.14.4 列權限:USER_COL_PRIVS 747
45.14.5 係統權限:USER_SYS_PRIVS 747
45.15 角色 748
45.16 審計 749
45.17 監控對象使用 749
45.18 其他視圖 750
45.19 監控:V$動態性能錶 750
45.19.1 CHAINED_ROWS 750
45.19.2 PLAN_TABLE 751
45.19.3 相互依賴性:USER_DEPENDENCIES和IDEPTREE 751
45.19.4 隻屬於DBA的視圖 751
45.19.5 Oracle Label Security 751
45.19.6 SQL*Loader直接加載視圖 752
45.19.7 全球支持視圖 752
45.19.8 庫 752
45.19.9 異構服務 752
45.19.10 索引類型和運算符 752
45.19.11 存儲概要 753
45.19.12 顧問程序 753
45.19.13 調度程序 753
第46章 應用程序和SQL調整指南 755
46.1 數據庫性能調整概覽 755
46.2 調整—— 最佳實踐 757
46.2.1 盡可能少做 757
46.2.2 盡可能簡單地完成 760
46.2.3 告訴數據庫需要知道什麼 761
46.2.4 最大化環境中的吞吐量 761
46.2.5 分開處理數據 763
46.2.6 正確測試 763
46.3 生成並讀取說明計劃 765
46.3.1 使用SET AUTOTRACE ON命令 765
46.3.2 使用EXPLAIN PLAN命令 769
46.4 說明計劃中的主要操作 770
46.4.1 TABLE ACCESS FULL 770
46.4.2 TABLE ACCESS BY INDEX ROWID 771
46.4.3 相關提示 771
46.4.4 使用索引的操作 772
46.4.5 何時使用索引 773
46.4.6 操縱數據集的操作 778
46.4.7 執行連接的操作 784
46.4.8 Oracle如何處理兩個以上的錶的連接 785
46.4.9 並行化和緩存問題 790
46.5 小結 791
第47章 SQL結果緩存和客戶端查詢緩存 793
47.1 SQL結果緩存的數據庫參數設置 801
47.2 DBMS_RESULT_CACHE程序包 802
47.3 SQL結果緩存的字典視圖 803
47.4 SQL結果緩存的更多細節 803
47.5 Oracle調用接口(OCI)客戶端查詢緩存 803
47.6 Oracle調用接口(OCI)客戶端查詢緩存的限製 804
第48章 關於調整的示例分析 805
48.1 案例分析1:等待、等待、再等待 805
48.2 案例分析2:破壞應用程序的查詢 808
48.3 案例分析3:長期運行的批處理作業 811
第49章 可插入數據庫漫遊指南 815
49.1 可插入數據庫的概念 816
49.1.1 CDB的組成 816
49.1.2 CDB用戶 816
49.1.3 先決條件 817
49.2 創建CDB和PDB 817
49.2.1 創建CDB 817
49.2.2 創建PDB 819
49.2.3 管理PDB 821
49.2.4 拔齣PDB 821
49.2.5 刪除PDB 822
49.2.6 插入PDB 822
49.2.7 監控PDB 822
第50章 Oracle RAC集群 825
50.1 安裝前的準備 826
50.2 安裝RAC 826
50.2.1 存儲 827
50.2.2 初始化參數 827
50.3 啓動和停止RAC實例 829
50.4 透明應用程序故障切換 831
50.5 為集群添加節點和實例 832
第51章 數據庫管理指南 833
51.1 創建數據庫 834
51.2 啓動和停止數據庫 835
51.3 設置和管理內存區域大小 835
51.4 分配和管理對象的空間 838
51.4.1 存儲子句的含義 838
51.4.2 錶段 840
51.4.3 索引段 841
51.4.4 係統管理的Undo 841
51.4.5 臨時段 842
51.4.6 可用空間 843
51.4.7 設置數據庫對象的大小 844
51.5 監控Undo錶空間 846
51.6 自動存儲管理 846
51.7 段空間管理 847
51.8 移動錶空間 848
51.8.1 生成可移動錶空間集 848
51.8.2 插入可移動錶空間集 849
51.9 進行備份 850
51.9.1 Data Pump Export和
Data Pump Import 850
51.9.2 脫機備份 850
51.9.3 聯機備份 851
51.9.4 Recovery Manager 854
51.10 展望 855
第52章 Oracle中的XML指南 857
52.1 文檔類型定義、元素及屬性 857
52.2 XML模式 861
52.3 使用XSU選擇、插入、更新和刪除XML值 863
52.3.1 使用XSU進行插入、更新和刪除 865
52.3.2 XSU和Java 866
52.3.3 定製查詢過程 867
52.4 使用XMLType 868
52.5 其他功能 870
附錄 命令和術語參考(位於本書光盤)
· · · · · · (
收起)