內容簡介
本書全面、系統、深入地講解了 Oracle 12c 資料庫原理、套用和開發,也講解了 Oracle 12c 常用的管理知 識,以 Oracle 12c 資料庫雲計算為線索,詳細講解了 CDB 和PDB。
本書共分 16 章。第 1 章介紹了 Oracle 12c 的基本知識、系統性能和特點,以及如何支持雲計算;第 2章 介紹了 Oracle 12c 的系統結構,重點闡述了 CDB 和PDB 的概念、兩者的關係以及如何創建 CDB 和PDB;第 3 章介紹了運行 Oracle 12c 所需要的服務、這些服務的作用,以及如何啟動和配置,並對 SQL PLUS 語言進行 了較為詳細的闡述;第 4 章介紹了 PL/SQL 編程;第 5章介紹了資料庫的表空間、概要、用戶、角色,以及如 何創建和使用這四個對象;第 6 章對 Oracle 12c 支持的常用類型的數據表,以及如何對這些表做修改操作進行 了詳細介紹;第 7 章介紹了數據查詢;第 8 章介紹了對表的 DML 操作,如何對表進行 Insert、Delete、Update 和 Merge 操作;第 9 章介紹了視圖和物化視圖作用、創建、修改和解析,以及物化視圖日誌;第 10 章介紹了 資料庫對象的索引、聚簇、序列,以及如何創建和使用這些資料庫對象;第 11 章介紹了資料庫對象,即包、包體、過程、函式,並分別闡述了如何創建和使用這些資料庫對象;第 12 章介紹了資料庫對象,即觸發器、 游標以及靜態/動態 PL SQL,觸發器和游標這兩個資料庫對象在編程中套用廣泛,因此本章給出了較多的套用 實例;第 13 章介紹了資料庫安全;第 14 章介紹了事務和並發控制;第 15 章介紹了 RMAN 技術及套用,並給 出一些有代表性的實例;第 16 章介紹了閃回技術。
圖書目錄
第 1章 Oracle 12c和雲計算 1
1.1 大數據與雲計算 2
1.1.1 大數據 2
1.1.2 雲計算 3
1.2 Oracle 12c支持雲計算 4
1.2.1 Oracle 12c資料庫簡介 4
1.2.2 具備雲計算能力 4
1.2.3 簡化資料庫的整合 4
1.2.4 簡化大數據分析 5
1.2.5 管理資料庫雲 6
1.3 Oracle 12c體系結構 6
1.4 安裝Oracle 12c 9
1.4.1 安裝準備 9
1.4.2 安裝過程 10
* 2章 CDB和PDB操作 17
2.1 多租戶環境下用戶的操作及工具 18
2.1.1 多租戶環境 18
2.1.2 多租戶環境的操作工具 20
2.2 創建CDB資料庫 20
2.2.1 使用DBCA創建 22
2.2.2 使用SQL語句手工創建 25
2.3 操作CDB資料庫 25
2.3.1 使用SQL PLUS遠程連線CDB
資料庫 28
2.3.2 使用SQL Developer遠程連線CDB
資料庫 29
2.4 創建PDB資料庫 30
2.4.1 使用DBCA創建 30
2.4.2 使用SQL DEVELOPER創建 33
2.4.3 使用SQL語句手工創建 35
2.5 打開與關閉PDB資料庫 36
2.5.1 啟動PDB資料庫 36
2.5.2 關閉PDB資料庫 38
2.5.3 退出PDB資料庫 39
2.6 建立演示資料庫 39
2.7 操作演示資料庫 46
第3章 Oracle 12c服務與
SQL PLUS 51
3.1 Oracle 12c網路配置及服務 52
3.1.1 配置Net Manager 52
3.1.2 OracleOraDB12Home1TNSListener
服務 53
3.1.3 OracleServiceDEMO服務 54
3.3 SQL PLUS命令 56
3.4 NLS參數設定 72
3.5 SQL PLUS設定Oracle 12c環境參數 76
3.5.1 SQL PLUS位於Oracle 12c伺服器端的
設定 76
3.5.2 SQL PLUS位於客戶端的設定 78
3.6 數據字典 78
第4章 PL/SQL語言基礎 80
4.1 PL/SQL簡介 81
4.2 PL/SQL數據類型 82
4.2.1 標量類型 82
4.2.2 LOB類型 87
4.2.3 複合類型 87
4.2.4 %TYPE和%ROWTYPE定義
數據類型 91
4.3 PL/SQL程式塊結構 92
4.3.1 PL/SQL語法結構 93
4.3.2 變數聲明 93
4.3.3 變數賦值 94
4.3.4 綁定變數 95
4.3.5 常量 96
4.3.6 使用PL/SQL處理查詢 97
4.4 PL/SQL控制結構 97
4.4.1 順序控制 97
4.4.2 條件控制 97
4.4.3 循環控制 100
4.5 異常和異常處理 103
4.5.1 內部定義異常 104
4.5.2 預定義異常 105
4.5.3 用戶自定義異常 106
4.6 PL/SQL常用函式 107
4.6.1 數學函式 108
4.6.2 字元函式 110
4.6.3 日期時間函式 110
第5章 表空間 概要 用戶 角色 113
5.1 表空間 114
5.1.1 永 久表空間 115
5.1.3 撤銷表空間 122
5.1.4 修改表空間 124
5.1.5 查詢表空間 125
5.1.6 刪除表空間 126
5.2 概要 128
5.2.1 創建概要 128
5.2.2 修改概要 131
5.2.3 查詢概要 131
5.2.4 刪除概要 132
5.3 用戶 133
5.3.1 創建用戶 133
5.3.2 創建模式 136
5.3.3 用戶授 權 137
5.3.4 撤銷用戶許可權 140
5.3.5 用戶及用戶許可權查詢 141
5.3.6 修改用戶 142
5.3.7 刪除用戶 143
5.4 角色 144
5.4.1 創建角色 144
5.4.2 角色授 權 146
5.4.3 撤銷角色許可權 147
5.4.4 角色及角色許可權查詢 147
5.4.5 修改角色 148
5.4.6 打開/關閉角色 148
5.4.7 刪除角色 149
5.5 Oracle 12c邏輯結構 150
第6章 數據表 152
6.1 表類型 153
6.2 表中約束 155
6.3 創建表的前提 158
6.4 堆表 160
6.5 索引表 162
6.6 聚簇表 163
6.7 散列聚簇表 167
6.8 外部表 170
6.9 臨時表 173
6.10 嵌套表 175
6.11 分區表 178
6.11.1 範圍分區表與間隔分區表 179
6.11.2 散列分區表 182
6.11.3 列表分區表 183
6.11.4 組合分區表 184
6.11.5 系統分區表 187
6.11.6 引用分區表與間隔引用分區表 189
6.12 使用ALTER TABLE修改表 192
第7章 數據查詢 198
7.1 基本查詢 199
7.1.1 基本查詢語法格式 199
7.1.2 相關子查詢與不相關子查詢 205
7.1.3 嵌套查詢的4種形式 206
7.1.4 UNION [ALL] INTERSECT
MINUS查詢形式 208
7.2 查詢子句 211
7.2.1 帶SAMPLE參數的查詢 211
7.2.2 使用閃回查詢 212
7.2.3 GROUP BY子句 213
7.2.4 ORDER BY子句 214
7.2.5 PIVOT子句與UNPIVOT子句 215
7.2.6 按分區查詢 216
7.3 WITH語句查詢 217
7.3.1 WITH+函式 218
7.3.2 WITH+子查詢 219
7.3.3 WITH+遞歸子查詢 220
7.4 層次查詢 221
7.5 輸出查詢結果 223
第8章 表的DML操作 227
8.1 插入數據 228
8.1.1 常規方法插入數據 229
8.1.2 直接路徑方法插入數據 230
8.1.3 多表數據插入 231
8.2 更新數據 233
8.2.1 非分區表數據更新 233
8.2.2 分區表數據更新 234
8.3 刪除數據 234
8.3.1 刪除非分區表數據 234
8.3.2 刪除分區表數據 235
8.4 合併數據 235
8.4.1 帶有UPDATE或INSERT的MERGE
操作 236
8.4.2 帶有UPDATE和INSERT的MERGE
操作 237
第9章 視圖 物化視圖 物化視圖
日誌 239
9.1 關係視圖 241
9.1.1 關係視圖定義 241
9.1.2 查看視圖定義 244
9.1.3 刪除視圖 245
9.1.4 視圖查詢 245
9.1.5 視圖解析 245
9.2 物化視圖 246
9.2.1 創建物化視圖 247
9.2.2 查看物化視圖定義 249
9.3 物化視圖日誌 249
* 10章 索引 聚簇 序列 同義詞 251
10.1 索引 252
10.1.1 創建索引 253
10.1.2 查詢索引 256
10.1.3 刪除索引 257
10.2 聚簇 257
10.2.1 索引聚簇創建與套用 257
10.2.2 散列聚簇創建與套用 258
10.2.3 查詢聚簇 259
10.2.4 刪除聚簇 259
10.3 序列 259
10.3.1 序列創建及套用 260
10.3.2 查詢序列 260
10.3.3 刪除序列 261
10.4 同義詞 261
10.4.1 同義詞創建及套用 262
10.4.2 查詢同義詞 263
10.4.3 刪除同義詞 263
* 11章 包 包體 過程 函式 264
11.1 包 265
11.1.1 創建包 265
11.1.2 查詢包 267
11.1.3 刪除包 268
11.2 包體 268
11.2.1 包體創建與調用 268
11.2.2 查詢包體 271
11.2.3 刪除包體 271
11.3 過程 271
11.3.1 過程創建與調用 272
11.3.2 查詢過程 274
11.3.3 刪除過程 275
11.4 函式 275
11.4.1 函式創建與調用 275
11.4.2 查詢函式 278
11.4.3 刪除函式 279
11.5 綜合套用例子 279
* 12章 觸發器 游標 靜態/
動態PL SQL 285
12.1 觸發器 286
12.1.1 觸發器創建與套用 286
12.1.2 查詢觸發器 297
12.1.3 刪除觸發器 297
12.2 游標 298
12.2.1 游標的創建與套用 298
12.2.2 查詢游標 314
12.2.3 游標套用綜合舉例 314
12.3 靜態PL SQL 319
12.4 動態PL SQL 320
12.4.1 本地動態PL SQL 320
12.4.2 DBMS_SQL包 324
12.5 綜合套用例子 325
* 13章 資料庫安全 329
13.1 資料庫安全概述 330
13.2 用戶標識與鑑別 330
13.2.1 用戶標識種類 330
13.2.2 密碼 331
13.2.3 密碼檔案 335
13.3 存取控制 336
13.4 套用上下文 337
13.4.1 套用上下文的概念 337
13.4.2 套用上下文的創建與調用 337
13.4.3 讀取套用上下文屬性值 339
13.5 Wallet技術 339
13.5.1 使用OWM創建Wallet 340
13.5.2 伺服器端Wallet套用 340
13.5.3 客戶端Wallet套用 344
13.5.4 Wallet與數字證書 347
13.6 透明數據加密 350
13.7 審計 353
13.7.1 審計功能的開啟和關閉 353
13.7.2 創建許可權審計 355
13.7.3 創建行為審計 356
13.7.4 創建角色審計 356
13.7.5 打開審計策略 356
13.7.6 查詢審計策略 358
13.8 SQL注入 358
13.8.2 SQL注入攻擊類型 359
13.8.3 防止SQL注入攻擊措施 365
* 14章 事務 並發控制 370
14.1 事務 371
14.1.1 事務概念 371
14.1.2 設定事務屬性 373
14.1.3 保存點 374
14.1.4 提交事務 376
14.1.5 回滾事務 377
14.1.6 自治事務 377
14.2 並發控制 379
14.2.1 數據並發性與一致性 379
14.2.2 事務隔離 380
14.2.3 封鎖機制 382
14.2.4 自動鎖 385
14.2.5 對查詢結果加鎖 387
14.2.6 手動鎖 389
* 15章 RMAN技術及套用 392
15.1 RMAN簡介 393
15.2 啟動RMAN 393
15.3 CATALOG備份模式與NOCATALOG
備份模式 397
15.4 通道配置與操作 401
15.5 RMAN備份操作 405
15.5.1 冷備份與熱備份 406
15.5.2 BACKUP操作 407
15.5.3 COPY與BACKUP AS COPY的
區別 412
15.6 RMAN還原與恢復操作 413
15.6.1 還原(RESTORE)與
恢復(RECOVER)的區別 413
15.6.2 RESTORE 414
15.6.3 RECOVER 415
15.7 RMAN其他常用命令 416
15.7.1 RUN 417
15.7.2 SET 418
15.7.3 LIST 419
15.7.4 REPORT 419
15.7.5 CONFIGURE 420
15.7.6 CROSSCHECK 421
15.7.7 VALIDATE 421
15.7.8 DELETE 422
15.7.9 CHANGE 423
15.7.10 HOST 423
15.7.11 CREATE 424
15.7.12 SHOW 426
15.7.13 DUPLICATE 426
15.7.14 REGISTER 428
15.7.15 ADVISE FAILURE 429
15.7.16 REPAIR FAILURE 430
* 16章 閃回技術 432
16.1 閃回技術簡介 433
16.2 閃回資料庫配置 434
16.2.1 自動撤銷段配置 434
16.2.2 閃回事務配置 435
16.2.3 授予必要許可權 435
16.3 套用開發中的閃回技術 436
16.3.1 閃回查詢 436
16.3.2 閃回版本查詢 439
16.3.3 閃回事務查詢 441
16.3.4 閃回數據文檔 441
16.4 資料庫管理中的閃回技術 445
16.4.1 還原點技術 445
16.4.2 閃回表 448
16.4.3 閃回刪除 450
16.4.4 閃回資料庫 451
16.5 資源回收筒操作 452
參考文獻 454