本書(shū)共15章,全面介紹了Oracle云數(shù)據(jù)庫(kù)管理系統(tǒng)的基本原理、管理方法和開(kāi)發(fā)方法,包括數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)、云計(jì)算和云數(shù)據(jù)概述、Oracle實(shí)例、數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)、Oracle網(wǎng)絡(luò)結(jié)構(gòu)與管理、SQL工具與SQL基礎(chǔ)、數(shù)據(jù)庫(kù)管理、數(shù)據(jù)庫(kù)結(jié)構(gòu)管理、數(shù)據(jù)庫(kù)對(duì)象管理、數(shù)據(jù)庫(kù)安全與事務(wù)管理、數(shù)據(jù)庫(kù)備份與恢復(fù)、閃回技術(shù)、PL/SQL程序設(shè)計(jì)基礎(chǔ)、JDBC程序設(shè)計(jì)基礎(chǔ)和多租戶數(shù)據(jù)庫(kù)管理等內(nèi)容。
版本升級(jí)為Oracle 12c,這是ORACLE公司推出的新的基于云計(jì)算的云數(shù)據(jù)庫(kù)系統(tǒng)。目前國(guó)內(nèi)還沒(méi)有ORACLE12C版本相關(guān)的教材,
前
言
隨著云計(jì)算技術(shù)逐步進(jìn)入實(shí)際應(yīng)用中,基于云計(jì)算的數(shù)據(jù)庫(kù)產(chǎn)品應(yīng)運(yùn)而生。作為業(yè)界領(lǐng)先企業(yè)的ORACLE公司也率先推出了支持云計(jì)算的Oracle 12c云數(shù)據(jù)庫(kù)管理系統(tǒng)。因此,在云計(jì)算應(yīng)用隨處可見(jiàn)的情況下,掌握Oracle云數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)從業(yè)人員的基本要求。
目前,市場(chǎng)上關(guān)于Oracle 12c的書(shū)藉并不多,針對(duì)高等學(xué)校而編寫(xiě)的教材就更少。Oracle12c云數(shù)據(jù)庫(kù)管理系統(tǒng)非常龐大,它早已不是簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng),而是提供多種云數(shù)據(jù)庫(kù)解決方案。云計(jì)算及云數(shù)據(jù)庫(kù)應(yīng)用又是幾乎涉及到每個(gè)行業(yè),它的使用者或管理者有許多是非計(jì)算機(jī)專業(yè)或初次了解Oracle數(shù)據(jù)庫(kù)。如何盡快掌握Oracle云數(shù)據(jù)庫(kù)的精華是每個(gè)專業(yè)人員的希望。因此,如何在一本書(shū)中將Oracle云數(shù)據(jù)庫(kù)的核心內(nèi)容全面介紹出來(lái),既讓初學(xué)者很快掌握Oracle 12c,同時(shí)又讓一般讀者能從中得到提高,這就是編寫(xiě)本書(shū)的主要目的。
本書(shū)是根據(jù)自己講授Oracle課程和科研應(yīng)用Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)的經(jīng)驗(yàn),并在參考Oracle 12c原版手冊(cè)和國(guó)內(nèi)外同類(lèi)書(shū)藉與論文的基礎(chǔ)上,從應(yīng)用者的角度由淺入深地介紹云數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)、Oracle12c云數(shù)據(jù)庫(kù)結(jié)構(gòu)、Oracle12云數(shù)據(jù)庫(kù)管理和JDBC數(shù)據(jù)庫(kù)編程的方法,使讀者能通過(guò)本書(shū)的學(xué)習(xí)了解數(shù)據(jù)庫(kù)的基礎(chǔ)理論,掌握Oracle12c云數(shù)據(jù)庫(kù)系統(tǒng)的管理和開(kāi)發(fā)方法。
本書(shū)共分十五章,全面介紹了Oracle 12c云數(shù)據(jù)庫(kù)管理系統(tǒng)的基本原理、管理方法和開(kāi)發(fā)方法,包括數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)、云計(jì)算及云數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)、Oracle12c實(shí)例、Oracle12c數(shù)據(jù)庫(kù)結(jié)構(gòu)及管理、Oracle12c數(shù)據(jù)庫(kù)對(duì)象管理、Oracle12c數(shù)據(jù)庫(kù)安全管理、Oracle12c數(shù)據(jù)庫(kù)事務(wù)與并發(fā)管理、Oracle12c數(shù)據(jù)庫(kù)備份和恢復(fù)、SQL語(yǔ)言和PL/SQL編程、Oracle12c網(wǎng)絡(luò)結(jié)構(gòu)與管理、JDBC程序設(shè)計(jì)基礎(chǔ)和Oracle12c多租戶數(shù)據(jù)庫(kù)管理等內(nèi)容。
本書(shū)的主要特點(diǎn):
? 全書(shū)以O(shè)racle12c云數(shù)據(jù)庫(kù)管理系統(tǒng)為主要內(nèi)容,全而介紹了關(guān)系數(shù)據(jù)庫(kù)的基礎(chǔ)知道、云數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)和基本原理,即包括Oracle12c的使用和管理方法,也包括數(shù)據(jù)庫(kù)應(yīng)用的基本開(kāi)發(fā)方法。
? 全書(shū)的章節(jié)安排條理清晰,寫(xiě)作風(fēng)格上深入淺出,語(yǔ)言通俗易懂,理論適中并與實(shí)踐緊密結(jié)合。通過(guò)本書(shū)學(xué)習(xí)既能掌握Oracle12c云數(shù)據(jù)庫(kù)的原理和結(jié)構(gòu),同時(shí)能熟悉Oracle12c數(shù)據(jù)庫(kù)的管理與開(kāi)發(fā)方法。
? 本書(shū)從應(yīng)用者角度,由淺入深來(lái)安排章節(jié)內(nèi)容,很好的把握云數(shù)據(jù)庫(kù)原理與數(shù)據(jù)庫(kù)應(yīng)用結(jié)合起來(lái),實(shí)例豐富,操作性強(qiáng),每章有大量獨(dú)立思考題和操作題。
? 本書(shū)作者長(zhǎng)期從事Oracle數(shù)據(jù)庫(kù)方面的科研和教學(xué)工作,書(shū)稿的主要內(nèi)容都經(jīng)歷過(guò)從Oracle9i到Oracle12c的多次講授或應(yīng)用。
本書(shū)雖然是針對(duì)Oracle12c編寫(xiě)的,但由于Oracle的上下兼容性很好,所以本書(shū)特別適用于計(jì)算機(jī)專業(yè)、信息管理專業(yè)等大學(xué)教材和各類(lèi)Oracle的認(rèn)證培訓(xùn)教材,也適用于Oracle數(shù)據(jù)庫(kù)管理員參考手冊(cè),也是計(jì)算機(jī)從業(yè)人員自學(xué)Oracle數(shù)據(jù)庫(kù)系統(tǒng)的合適教材。
作為大學(xué)教材,建議有60個(gè)學(xué)時(shí)理論講授,同時(shí)要有不少于20學(xué)時(shí)的上機(jī)實(shí)習(xí)。在實(shí)驗(yàn)環(huán)境中建議每臺(tái)計(jì)算機(jī)都能安裝Oracle12c的企業(yè)版,以使學(xué)生能自由地、全面地了解Oracle12c的全部?jī)?nèi)容,并能很好地實(shí)習(xí)分布式數(shù)據(jù)庫(kù)的基本知識(shí)。
本書(shū)由姚世軍、沈建京、陳楚湘、尹祖?zhèn)ァ巧泼骱凸鶗苑寰幹。姚世軍編?xiě)第八章、第九章和第十章,沈建京編寫(xiě)第二章、第三章和第七章,陳楚湘編寫(xiě)第四章、第五章和第六章,尹祖?zhèn)ゾ帉?xiě)第十三章和第十四章,吳善明編寫(xiě)第十一章和第十二章,郭曉峰編寫(xiě)第一章和第十五章。全書(shū)由姚世軍統(tǒng)稿。
在本書(shū)的編寫(xiě)和出版過(guò)程中,中國(guó)鐵道出版社的劉丹主任、孟欣編輯對(duì)全書(shū)提出了許多寶貴意見(jiàn),為本書(shū)的出版提供了很大的幫助,作者在此對(duì)她們以及參與本書(shū)出版的各位同志表示衷心的感謝。
本書(shū)在編寫(xiě)過(guò)程中參考了一些學(xué)者關(guān)于云計(jì)算、云數(shù)據(jù)庫(kù)、Oracle管理技術(shù)等相關(guān)理論的論文及書(shū)籍,這里不一一列出,一并表示感謝。
由于編者水平有限,本書(shū)難免存在疏漏或不足之處,敬請(qǐng)廣大讀者批評(píng)指正,編者將非常感謝!
編者
2015年09月
姚世軍:解放軍信息工程學(xué)院資深教授、軍隊(duì)優(yōu)秀專業(yè)人才崗位津貼獲得者、軍隊(duì)院校育才獎(jiǎng)獲得者、河南省計(jì)算機(jī)教育研究會(huì)理事、全國(guó)高等計(jì)算機(jī)等級(jí)考試專家組成員(河南考區(qū))。
第1章
數(shù)據(jù)庫(kù)基本概念 10
1.1 數(shù)據(jù)庫(kù)概述 10
1.1.1 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng) 10
1.1.2 數(shù)據(jù)庫(kù)系統(tǒng)的組成 11
1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的特征 11
1.1.4
數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu) 12
1.2 數(shù)據(jù)庫(kù)管理系統(tǒng) 12
1.2.1 數(shù)據(jù)庫(kù)管理系統(tǒng)的功能 13
1.2.2 數(shù)據(jù)庫(kù)管理系統(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ù)庫(kù)系統(tǒng)設(shè)計(jì) 18
小 結(jié) 19
習(xí) 題 19
第2章 Oracle 12c云數(shù)據(jù)庫(kù)概述 21
2.1 云計(jì)算技術(shù)簡(jiǎn)介 21
2.1.1
云計(jì)算概念及特征 21
2.1.2 云計(jì)算分類(lèi) 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ù)庫(kù)概述 26
2.3.1 云數(shù)據(jù)庫(kù)概念 27
2.3.2 云數(shù)據(jù)庫(kù)的特性 27
2.3.3 云數(shù)據(jù)庫(kù)與傳統(tǒng)的分布式數(shù)據(jù)庫(kù) 27
2.4
Oracle 12c新增加功能概述 28
2.5 Oracle
12c安裝 29
2.5.1
Oracle 12c數(shù)據(jù)庫(kù)基本組成 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ù)庫(kù)內(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ù)庫(kù)的內(nèi)存管理 53
3.4 進(jìn)程管理 54
3.4.1進(jìn)程分類(lèi) 54
3.4.2 服務(wù)進(jìn)程 55
3.4.3 共享服務(wù)器配置 57
3.4.4 后臺(tái)進(jìn)程 59
小 結(jié) 63
習(xí)
題 64
第4章 管理數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu) 65
4.1 物理數(shù)據(jù)庫(kù)結(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ù)庫(kù)結(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ù)字典和動(dòng)態(tài)性能視圖 76
4.3.1數(shù)據(jù)字典 76
4.3.2 動(dòng)態(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)聽(tīng)程序 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)識(shí)符 87
5.3 服務(wù)器網(wǎng)絡(luò)配置 87
5.3.1
Oracle網(wǎng)絡(luò)工具 87
5.3.2
監(jiān)聽(tīng)程序的配置 88
5.3.3 共享服務(wù)器配置 92
5.4 客戶端網(wǎng)絡(luò)配置 95
5.4.1命名方法分類(lèi) 95
5.4.2命名方法的配置 96
5.4.3 共享服務(wù)器方式的客戶端配置 100
小
結(jié) 101
習(xí)
題 101
第6章 SQL工具與SQL語(yǔ)言基礎(chǔ) 102
6.1
SQL語(yǔ)言簡(jiǎn)介 102
6.2
SQL Plus工具 103
6.2.1
SQL Plus的啟動(dòng)和退出 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語(yǔ)句 114
6.4
SQL語(yǔ)言的數(shù)據(jù)類(lèi)型 114
6.5
SQL語(yǔ)言運(yùn)算符 117
6.6
SQL語(yǔ)言中的函數(shù)與表達(dá)式 118
6.6.1
SQL語(yǔ)言的函數(shù) 118
6.6.2
SQL語(yǔ)言的表達(dá)式 120
6.7
SQL語(yǔ)言中的條件運(yùn)算 121
6.8
SQL語(yǔ)言的數(shù)據(jù)格式模式 122
6.9
SQL語(yǔ)言的語(yǔ)句 124
6.10
SQL Loader工具 125
6.10.1
SQL Loader結(jié)構(gòu) 125
6.10.2
SQL Loader啟動(dòng) 126
6.10.3 使用SQL Loader裝入數(shù)據(jù) 127
小
結(jié) 129
習(xí) 題 130
第7章
數(shù)據(jù)庫(kù)管理 131
7.1 建立數(shù)據(jù)庫(kù)的準(zhǔn)備 131
7.1.1 數(shù)據(jù)庫(kù)規(guī)劃 131
7.1.2 建立數(shù)據(jù)庫(kù)完成的操作 132
7.2 數(shù)據(jù)庫(kù)初始化參數(shù) 132
7.2.1初始化參數(shù)文件 133
7.2.2 服務(wù)器參數(shù)文件 135
7.2.3 查看初始化參數(shù)的值 137
7.3 數(shù)據(jù)庫(kù)建立方法 138
7.3.1 用DBCA創(chuàng)建數(shù)據(jù)庫(kù) 138
7.3.2 手工創(chuàng)建數(shù)據(jù)庫(kù) 149
7.4 數(shù)據(jù)庫(kù)的操作 152
7.4.1 數(shù)據(jù)庫(kù)啟動(dòng) 152
7.4.2 關(guān)閉數(shù)據(jù)庫(kù) 155
7.4.3 刪除數(shù)據(jù)庫(kù) 156
7.5 監(jiān)控?cái)?shù)據(jù)庫(kù) 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ù)庫(kù)結(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ù)庫(kù)的歸檔模式 187
8.5.2 手工歸檔 189
8.5.3 查看歸檔日志信息 190
小
結(jié) 193
習(xí) 題 193
第9章 數(shù)據(jù)庫(kù)對(duì)象管理 194
9.1 模式和模式對(duì)象 194
9.1.1 模式和模式對(duì)象 194
9.1.2 CREATE SCHEMA語(yǔ)句 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ù)庫(kù)鏈接 231
9.7.1 創(chuàng)建數(shù)據(jù)庫(kù)鏈接 232
9.7.2 刪除數(shù)據(jù)庫(kù)鏈接 233
9.7.3 查詢數(shù)據(jù)庫(kù)鏈接信息 234
9.8 用SQL
Developer管理數(shù)據(jù)庫(kù)對(duì)象 234
小
結(jié) 237
習(xí)
題 237
第10章 數(shù)據(jù)庫(kù)安全與事務(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)限和對(duì)象權(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隔離等級(jí) 262
10.5.2
數(shù)據(jù)一致性和設(shè)置隔離等級(jí) 263
10.5.3
Oracle鎖 264
10.6 會(huì)話控制 264
10.6.1
查詢用戶會(huì)話信息 264
10.6.2
中止和修改會(huì)話 266
小
結(jié) 268
習(xí) 題 268
第11章
數(shù)據(jù)庫(kù)備份與恢復(fù) 270
11.1 備份與恢復(fù)的基本概念 270
11.1.1
數(shù)據(jù)庫(kù)故障類(lèi)型 270
11.1.2
備份的類(lèi)型 272
11.1.3
修復(fù)和恢復(fù) 274
11.2 用戶管理的數(shù)據(jù)庫(kù)備份 276
11.2.1 數(shù)據(jù)庫(kù)備份方法 276
11.2.2 備份控制文件 278
11.2.3備份歸檔重做日志文件 279
11.3 用戶管理的數(shù)據(jù)庫(kù)恢復(fù) 279
11.3.1 修復(fù)命令 279
11.3.2 非歸檔模式下數(shù)據(jù)庫(kù)的恢復(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簡(jiǎn)介 287
12.4.1
RMAN組成 287
11.4.2 RMAN的啟動(dòng)與退出 288
11.4.3 RMAN的