本書共15章,全面介紹了Oracle云數(shù)據(jù)庫管理系統(tǒng)的基本原理、管理方法和開發(fā)方法,包括數(shù)據(jù)庫基礎(chǔ)知識、云計(jì)算和云數(shù)據(jù)概述、Oracle實(shí)例、數(shù)據(jù)庫存儲結(jié)構(gòu)、Oracle網(wǎng)絡(luò)結(jié)構(gòu)與管理、SQL工具與SQL基礎(chǔ)、數(shù)據(jù)庫管理、數(shù)據(jù)庫結(jié)構(gòu)管理、數(shù)據(jù)庫對象管理、數(shù)據(jù)庫安全與事務(wù)管理、數(shù)據(jù)庫備份與恢復(fù)、閃回技術(shù)、PL/SQL程序設(shè)計(jì)基礎(chǔ)、JDBC程序設(shè)計(jì)基礎(chǔ)和多租戶數(shù)據(jù)庫管理等內(nèi)容。
版本升級為Oracle 12c,這是ORACLE公司推出的新的基于云計(jì)算的云數(shù)據(jù)庫系統(tǒng)。目前國內(nèi)還沒有ORACLE12C版本相關(guān)的教材,
前
言
隨著云計(jì)算技術(shù)逐步進(jìn)入實(shí)際應(yīng)用中,基于云計(jì)算的數(shù)據(jù)庫產(chǎn)品應(yīng)運(yùn)而生。作為業(yè)界領(lǐng)先企業(yè)的ORACLE公司也率先推出了支持云計(jì)算的Oracle 12c云數(shù)據(jù)庫管理系統(tǒng)。因此,在云計(jì)算應(yīng)用隨處可見的情況下,掌握Oracle云數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)從業(yè)人員的基本要求。
目前,市場上關(guān)于Oracle 12c的書藉并不多,針對高等學(xué)校而編寫的教材就更少。Oracle12c云數(shù)據(jù)庫管理系統(tǒng)非常龐大,它早已不是簡單的數(shù)據(jù)庫管理系統(tǒng),而是提供多種云數(shù)據(jù)庫解決方案。云計(jì)算及云數(shù)據(jù)庫應(yīng)用又是幾乎涉及到每個行業(yè),它的使用者或管理者有許多是非計(jì)算機(jī)專業(yè)或初次了解Oracle數(shù)據(jù)庫。如何盡快掌握Oracle云數(shù)據(jù)庫的精華是每個專業(yè)人員的希望。因此,如何在一本書中將Oracle云數(shù)據(jù)庫的核心內(nèi)容全面介紹出來,既讓初學(xué)者很快掌握Oracle 12c,同時又讓一般讀者能從中得到提高,這就是編寫本書的主要目的。
本書是根據(jù)自己講授Oracle課程和科研應(yīng)用Oracle數(shù)據(jù)庫管理系統(tǒng)的經(jīng)驗(yàn),并在參考Oracle 12c原版手冊和國內(nèi)外同類書藉與論文的基礎(chǔ)上,從應(yīng)用者的角度由淺入深地介紹云數(shù)據(jù)庫的基礎(chǔ)知識、Oracle12c云數(shù)據(jù)庫結(jié)構(gòu)、Oracle12云數(shù)據(jù)庫管理和JDBC數(shù)據(jù)庫編程的方法,使讀者能通過本書的學(xué)習(xí)了解數(shù)據(jù)庫的基礎(chǔ)理論,掌握Oracle12c云數(shù)據(jù)庫系統(tǒng)的管理和開發(fā)方法。
本書共分十五章,全面介紹了Oracle 12c云數(shù)據(jù)庫管理系統(tǒng)的基本原理、管理方法和開發(fā)方法,包括數(shù)據(jù)庫基礎(chǔ)知識、云計(jì)算及云數(shù)據(jù)庫基礎(chǔ)知識、Oracle12c實(shí)例、Oracle12c數(shù)據(jù)庫結(jié)構(gòu)及管理、Oracle12c數(shù)據(jù)庫對象管理、Oracle12c數(shù)據(jù)庫安全管理、Oracle12c數(shù)據(jù)庫事務(wù)與并發(fā)管理、Oracle12c數(shù)據(jù)庫備份和恢復(fù)、SQL語言和PL/SQL編程、Oracle12c網(wǎng)絡(luò)結(jié)構(gòu)與管理、JDBC程序設(shè)計(jì)基礎(chǔ)和Oracle12c多租戶數(shù)據(jù)庫管理等內(nèi)容。
本書的主要特點(diǎn):
? 全書以O(shè)racle12c云數(shù)據(jù)庫管理系統(tǒng)為主要內(nèi)容,全而介紹了關(guān)系數(shù)據(jù)庫的基礎(chǔ)知道、云數(shù)據(jù)庫的基本結(jié)構(gòu)和基本原理,即包括Oracle12c的使用和管理方法,也包括數(shù)據(jù)庫應(yīng)用的基本開發(fā)方法。
? 全書的章節(jié)安排條理清晰,寫作風(fēng)格上深入淺出,語言通俗易懂,理論適中并與實(shí)踐緊密結(jié)合。通過本書學(xué)習(xí)既能掌握Oracle12c云數(shù)據(jù)庫的原理和結(jié)構(gòu),同時能熟悉Oracle12c數(shù)據(jù)庫的管理與開發(fā)方法。
? 本書從應(yīng)用者角度,由淺入深來安排章節(jié)內(nèi)容,很好的把握云數(shù)據(jù)庫原理與數(shù)據(jù)庫應(yīng)用結(jié)合起來,實(shí)例豐富,操作性強(qiáng),每章有大量獨(dú)立思考題和操作題。
? 本書作者長期從事Oracle數(shù)據(jù)庫方面的科研和教學(xué)工作,書稿的主要內(nèi)容都經(jīng)歷過從Oracle9i到Oracle12c的多次講授或應(yīng)用。
本書雖然是針對Oracle12c編寫的,但由于Oracle的上下兼容性很好,所以本書特別適用于計(jì)算機(jī)專業(yè)、信息管理專業(yè)等大學(xué)教材和各類Oracle的認(rèn)證培訓(xùn)教材,也適用于Oracle數(shù)據(jù)庫管理員參考手冊,也是計(jì)算機(jī)從業(yè)人員自學(xué)Oracle數(shù)據(jù)庫系統(tǒng)的合適教材。
作為大學(xué)教材,建議有60個學(xué)時理論講授,同時要有不少于20學(xué)時的上機(jī)實(shí)習(xí)。在實(shí)驗(yàn)環(huán)境中建議每臺計(jì)算機(jī)都能安裝Oracle12c的企業(yè)版,以使學(xué)生能自由地、全面地了解Oracle12c的全部內(nèi)容,并能很好地實(shí)習(xí)分布式數(shù)據(jù)庫的基本知識。
本書由姚世軍、沈建京、陳楚湘、尹祖?zhèn)、吳善明和郭曉峰編著。姚世軍編寫第八章、第九章和第十章,沈建京編寫第二章、第三章和第七章,陳楚湘編寫第四章、第五章和第六章,尹祖(zhèn)ゾ帉懙谑潞偷谑恼拢瑓巧泼骶帉懙谑徽潞偷谑,郭曉峰編寫第一章和第十五章。全書由姚世軍統(tǒng)稿。
在本書的編寫和出版過程中,中國鐵道出版社的劉丹主任、孟欣編輯對全書提出了許多寶貴意見,為本書的出版提供了很大的幫助,作者在此對她們以及參與本書出版的各位同志表示衷心的感謝。
本書在編寫過程中參考了一些學(xué)者關(guān)于云計(jì)算、云數(shù)據(jù)庫、Oracle管理技術(shù)等相關(guān)理論的論文及書籍,這里不一一列出,一并表示感謝。
由于編者水平有限,本書難免存在疏漏或不足之處,敬請廣大讀者批評指正,編者將非常感謝!
編者
2015年09月
姚世軍:解放軍信息工程學(xué)院資深教授、軍隊(duì)優(yōu)秀專業(yè)人才崗位津貼獲得者、軍隊(duì)院校育才獎獲得者、河南省計(jì)算機(jī)教育研究會理事、全國高等計(jì)算機(jī)等級考試專家組成員(河南考區(qū))。
第1章
數(shù)據(jù)庫基本概念 10
1.1 數(shù)據(jù)庫概述 10
1.1.1 數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng) 10
1.1.2 數(shù)據(jù)庫系統(tǒng)的組成 11
1.1.3 數(shù)據(jù)庫系統(tǒng)的特征 11
1.1.4
數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 12
1.2 數(shù)據(jù)庫管理系統(tǒng) 12
1.2.1 數(shù)據(jù)庫管理系統(tǒng)的功能 13
1.2.2 數(shù)據(jù)庫管理系統(tǒng)的組成 14
1.3 數(shù)據(jù)模型與關(guān)系模型 15
1.3.1 數(shù)據(jù)模型 15
1.3.2 關(guān)系模型 15
1.4 實(shí)體-關(guān)系圖 16
1.5 數(shù)據(jù)庫系統(tǒng)設(shè)計(jì) 18
小 結(jié) 19
習(xí) 題 19
第2章 Oracle 12c云數(shù)據(jù)庫概述 21
2.1 云計(jì)算技術(shù)簡介 21
2.1.1
云計(jì)算概念及特征 21
2.1.2 云計(jì)算分類 22
2.1.3
云計(jì)算服務(wù)模式 22
2.1.4
云計(jì)算中的主要角色 25
2.2
Oracle 12c云計(jì)算模型 25
2.2.1
Oracle云解決方案 25
2.2.2
Oracle私有云 26
2.3 云數(shù)據(jù)庫概述 26
2.3.1 云數(shù)據(jù)庫概念 27
2.3.2 云數(shù)據(jù)庫的特性 27
2.3.3 云數(shù)據(jù)庫與傳統(tǒng)的分布式數(shù)據(jù)庫 27
2.4
Oracle 12c新增加功能概述 28
2.5 Oracle
12c安裝 29
2.5.1
Oracle 12c數(shù)據(jù)庫基本組成 30
2.5.2 Oracle 12c安裝前的準(zhǔn)備 30
2.5.3
Oracle12c安裝中的概念 32
2.5.4
Oracle12c安裝步驟 33
2.5.5
Oracle 12c卸載步驟 44
小 結(jié) 45
習(xí)
題 45
第3章
管理Oracle實(shí)例 46
3.1
Oracle實(shí)例概念 46
3.2
Oracle實(shí)例結(jié)構(gòu) 46
3.3 數(shù)據(jù)庫內(nèi)存結(jié)構(gòu) 47
3.3.1 系統(tǒng)全局區(qū)SGA(System
Global Area) 48
3.3.2 程序全局區(qū)PGA 52
3.3.3 用戶全局區(qū)UGA 52
3.3.4
Oracle數(shù)據(jù)庫的內(nèi)存管理 53
3.4 進(jìn)程管理 54
3.4.1進(jìn)程分類 54
3.4.2 服務(wù)進(jìn)程 55
3.4.3 共享服務(wù)器配置 57
3.4.4 后臺進(jìn)程 59
小 結(jié) 63
習(xí)
題 64
第4章 管理數(shù)據(jù)庫存儲結(jié)構(gòu) 65
4.1 物理數(shù)據(jù)庫結(jié)構(gòu) 65
4.1.1 數(shù)據(jù)文件 66
4.1.2 控制文件 66
4.1.3 聯(lián)機(jī)重做日志文件 67
4.1.4 歸檔重做日志文件 69
4.2 邏輯數(shù)據(jù)庫結(jié)構(gòu) 71
4.2.1 數(shù)據(jù)塊 71
4.2.2 區(qū) 72
4.2.3 段 72
4.2.4表空間 74
4.3 數(shù)據(jù)字典和動態(tài)性能視圖 76
4.3.1數(shù)據(jù)字典 76
4.3.2 動態(tài)性能視圖 77
小 結(jié) 78
習(xí)
題 78
第5章 管理Oracle網(wǎng)絡(luò)結(jié)構(gòu) 79
5.1
Oracle網(wǎng)絡(luò)服務(wù)組成 79
5.1.1 Oracle NET 79
5.1.2
監(jiān)聽程序 81
5.1.3
Oracle連接管理器 82
5.1.4
Oracle應(yīng)用解決方案 84
5.2 網(wǎng)絡(luò)配置概念 85
5.2.1 服務(wù)名 86
5.2.2 連接描述符 86
5.2.3 網(wǎng)絡(luò)服務(wù)名 86
5.2.4 連接字符串和連接標(biāo)識符 87
5.3 服務(wù)器網(wǎng)絡(luò)配置 87
5.3.1
Oracle網(wǎng)絡(luò)工具 87
5.3.2
監(jiān)聽程序的配置 88
5.3.3 共享服務(wù)器配置 92
5.4 客戶端網(wǎng)絡(luò)配置 95
5.4.1命名方法分類 95
5.4.2命名方法的配置 96
5.4.3 共享服務(wù)器方式的客戶端配置 100
小
結(jié) 101
習(xí)
題 101
第6章 SQL工具與SQL語言基礎(chǔ) 102
6.1
SQL語言簡介 102
6.2
SQL Plus工具 103
6.2.1
SQL Plus的啟動和退出 103
6.2.2
SQL Plus基本概念 104
6.2.3
SQL Plus命令 105
6.3
SQL Developer工具 110
6.3.1
SQL Developer基礎(chǔ) 110
6.3.2
執(zhí)行SQL語句 114
6.4
SQL語言的數(shù)據(jù)類型 114
6.5
SQL語言運(yùn)算符 117
6.6
SQL語言中的函數(shù)與表達(dá)式 118
6.6.1
SQL語言的函數(shù) 118
6.6.2
SQL語言的表達(dá)式 120
6.7
SQL語言中的條件運(yùn)算 121
6.8
SQL語言的數(shù)據(jù)格式模式 122
6.9
SQL語言的語句 124
6.10
SQL Loader工具 125
6.10.1
SQL Loader結(jié)構(gòu) 125
6.10.2
SQL Loader啟動 126
6.10.3 使用SQL Loader裝入數(shù)據(jù) 127
小
結(jié) 129
習(xí) 題 130
第7章
數(shù)據(jù)庫管理 131
7.1 建立數(shù)據(jù)庫的準(zhǔn)備 131
7.1.1 數(shù)據(jù)庫規(guī)劃 131
7.1.2 建立數(shù)據(jù)庫完成的操作 132
7.2 數(shù)據(jù)庫初始化參數(shù) 132
7.2.1初始化參數(shù)文件 133
7.2.2 服務(wù)器參數(shù)文件 135
7.2.3 查看初始化參數(shù)的值 137
7.3 數(shù)據(jù)庫建立方法 138
7.3.1 用DBCA創(chuàng)建數(shù)據(jù)庫 138
7.3.2 手工創(chuàng)建數(shù)據(jù)庫 149
7.4 數(shù)據(jù)庫的操作 152
7.4.1 數(shù)據(jù)庫啟動 152
7.4.2 關(guān)閉數(shù)據(jù)庫 155
7.4.3 刪除數(shù)據(jù)庫 156
7.5 監(jiān)控數(shù)據(jù)庫 157
7.5.1
診斷數(shù)據(jù)管理 157
7.5.2
跟蹤文件(Trace File) 157
7.5.3
警告文件(Alert File) 158
小
結(jié) 159
習(xí)
題 159
第8章 管理數(shù)據(jù)庫結(jié)構(gòu) 161
8.1 表空間管理 161
8.1.1 建立表空間 161
8.1.2 刪除表空間 165
8.1.3 修改表空間 166
8.1.4 查詢表空間信息 168
8.2 數(shù)據(jù)文件管理 170
8.2.1 建立數(shù)據(jù)文件 170
8.2.2 改變數(shù)據(jù)文件大小 171
8.2.3 改變數(shù)據(jù)文件的可用性 172
8.2.4 改變數(shù)據(jù)文件的名稱和位置 172
8.2.5 刪除數(shù)據(jù)文件 174
8.2.6 查詢數(shù)據(jù)文件信息 174
8.3 管理控制文件 176
8.3.1 多路控制文件 176
8.3.2 新建控制文件 177
8.3.3 刪除控制文件 179
8.3.4 查詢控制文件信息 180
8.4 管理聯(lián)機(jī)重做日志文件 181
8.4.1 新建聯(lián)機(jī)重做日志組和日志文件 181
8.4.2 改變聯(lián)機(jī)重做日志文件的名稱和位置 182
8.4.3 刪除重做日志組和日志組成員 183
8.4.4 手工日志切換和清空日志組 184
8.4.5 查詢聯(lián)機(jī)重做日志信息 185
8.5 管理歸檔重做日志文件
186
8.5.1 設(shè)置數(shù)據(jù)庫的歸檔模式 187
8.5.2 手工歸檔 189
8.5.3 查看歸檔日志信息 190
小
結(jié) 193
習(xí) 題 193
第9章 數(shù)據(jù)庫對象管理 194
9.1 模式和模式對象 194
9.1.1 模式和模式對象 194
9.1.2 CREATE SCHEMA語句 195
9.1.3
SYS和SYSTEM模式 196
9.2 管理表 196
9.2.1 創(chuàng)建表 196
9.2.2 表的查詢、統(tǒng)計(jì)和排序 199
9.2.3 刪除表 206
9.2.4 恢復(fù)刪除表 207
9.2.5 修改表 208
9.2.6 管理表的約束 211
9.2.7 查詢表信息 215
9.2.8 表的記錄操作 216
9.3 索引管理 219
9.3.1 建立索引 219
9.3.2 修改和刪除索引 220
9.3.3 查詢索引信息 221
9.4 管理視圖 222
9.4.1 創(chuàng)建視圖 222
9.4.2 刪除和修改視圖 224
9.4.3 視圖的使用 225
9.4.4 查詢視圖信息 227
9.5 管理序列 227
9.5.1 創(chuàng)建序列 228
9.5.2 刪除和修改序列 229
9.5.3 查詢序列信息 229
9.6 管理同義詞 230
9.6.1 創(chuàng)建同義詞 230
9.6.2 刪除同義詞 231
9.6.3 查詢同義詞信息 231
9.7 管理數(shù)據(jù)庫鏈接 231
9.7.1 創(chuàng)建數(shù)據(jù)庫鏈接 232
9.7.2 刪除數(shù)據(jù)庫鏈接 233
9.7.3 查詢數(shù)據(jù)庫鏈接信息 234
9.8 用SQL
Developer管理數(shù)據(jù)庫對象 234
小
結(jié) 237
習(xí)
題 237
第10章 數(shù)據(jù)庫安全與事務(wù)管理
239
10.1 用戶管理 239
10.1.1 預(yù)定義用戶名 240
10.1.2
PUBLIC用戶組 241
10.1.3 創(chuàng)建用戶 241
10.1.4 修改用戶和刪除用戶 243
10.1.5 查詢用戶信息 244
10.1.6 操作系統(tǒng)認(rèn)證方式 245
10.2
概要文件 245
10.2.1 主要資源參數(shù)和口令參數(shù) 246
10.2.2 創(chuàng)建和分配概要文件 247
10.2.3 修改和刪除概要文件 249
10.2.4 概要文件的激活和禁用 249
10.2.5 查詢概要文件信息 250
10.3 權(quán)限和角色管理 250
10.3.1 系統(tǒng)權(quán)限和對象權(quán)限 250
10.3.2 授予和回收權(quán)限 252
10.3.3 查詢用戶權(quán)限信息 254
10.3.4 角色管理 256
10.4
事務(wù)控制 258
10.4.1 事務(wù)概念與特點(diǎn) 258
10.4.2 事務(wù)提交 259
10.4.3 保存點(diǎn) 260
10.4.4 事務(wù)回滾和命名 261
10.5 并發(fā)控制 262
10.5.1
Oracle隔離等級 262
10.5.2
數(shù)據(jù)一致性和設(shè)置隔離等級 263
10.5.3
Oracle鎖 264
10.6 會話控制 264
10.6.1
查詢用戶會話信息 264
10.6.2
中止和修改會話 266
小
結(jié) 268
習(xí) 題 268
第11章
數(shù)據(jù)庫備份與恢復(fù) 270
11.1 備份與恢復(fù)的基本概念 270
11.1.1
數(shù)據(jù)庫故障類型 270
11.1.2
備份的類型 272
11.1.3
修復(fù)和恢復(fù) 274
11.2 用戶管理的數(shù)據(jù)庫備份 276
11.2.1 數(shù)據(jù)庫備份方法 276
11.2.2 備份控制文件 278
11.2.3備份歸檔重做日志文件 279
11.3 用戶管理的數(shù)據(jù)庫恢復(fù) 279
11.3.1 修復(fù)命令 279
11.3.2 非歸檔模式下數(shù)據(jù)庫的恢復(fù) 280
11.3.3 歸檔模式下完全介質(zhì)修復(fù) 282
11.3.4 歸檔模式下的不完全介質(zhì)修復(fù) 284
11.3.5 修復(fù)控制文件 285
11.3.6 修復(fù)歸檔重做日志文件 286
11.4
RMAN簡介 287
12.4.1
RMAN組成 287
11.4.2 RMAN的啟動與退出 288
11.4.3 RMAN的