Oracle資料庫精講與疑難解析(第2版)

Oracle資料庫精講與疑難解析(第2版)

Oracle的安裝 Oracle Oracle網路管理並不難1684.1

Oracle資料庫精講與疑難解析(第2版)
趙振平編著


ISBN978-7-121-20021-2
20134月出版
定價:148.00
1100
16
編輯推薦
耗時3年,作者曾為本書辭職在家專心寫作
754個實務,件件源自實際工作的經驗與教訓,配有實務速查目錄
分享經驗,現在作者管理資料庫時,就通過複製本書內容來搞定問題
為初學者去除Oracle的神秘面紗,少走彎路
為專業人士提供速查手冊,遇到故障不求人
內容提要
本書是一本毫無保留的Oracle學習寶典。通過作者歷時3年的寫作,本書介紹了Oracle的安裝及卸載、資料庫的啟動/關閉、表空間和數據檔案的管理、Oracle網路管理、口令檔案管理、記憶體管理、進程管理、用戶管理、數據的導入/導出、備份與恢復、模式對象的管理,以及應用程式開發等相關知識。本書旨在向讀者解答使用Oracle中遇到的疑難問題,並展示管理Oracle的大量技巧。
本書第2版對Oracle進行更深入的介紹,新增RAC(集群)、HugePage、同步I/O、異步I/O、直接I/O、記憶體檔案系統、自動存儲管理(ASM)等內容。每個內容幾乎都是Oracle的高級專題,它們從不同的角度去切入Oracle的性能,都值得讀者慢慢品味!此外,RAC的系統介紹,使讀者更容易理解和構建自己的Oracle集群!
目錄
第1篇創建屬於自己的Oracle資料庫
第1章認識Oracle的世界——Oracle的體系結構2
1.1 Oracle的發家史 2
1.2 資料庫 3
1.3 資料庫管理系統(DBMS)3
1.4 關係資料庫的概念(RDBMS) 3
1.4.1 關係資料庫模型 4
1.4.2 表 5
1.5 Oracle的總體框架結構 5
1.5.1 Oracle實例(Oracle Instance) 6
1.5.2 Oracle的存儲結構 7
1.6 數據字典(Data Dictionary) 8
1.6.1 數據字典概述 8
1.6.2 數據字典的結構 8
1.6.3 數據字典的使用 8
第2章邁出第1步——Oracle的安裝/卸載 10
2.1 Oracle的安裝 10
2.1.1 Oracle安裝的幾個概念 10
2.1.2 Oracle 11g R2(11.2)的安裝——Windows篇 12
2.1.3 Oracle 11g RAC的安裝——Linux篇27
2.1.4 Oracle安裝疑難解析 98
2.2 Oracle的卸載 123
2.2.1 Oracle完全卸載——Windows篇 123
2.2.2 Oracle完全卸載——UNIX篇 128
第3章有米之炊——資料庫的創建與刪除 137
3.1 創建資料庫 137
3.1.1 資料庫創建概述 137
3.1.2 Solaris下用DBCA創建資料庫139
3.1.3 DIY——Solaris下手工創建資料庫 149
3.1.4 資料庫創建疑難解析 155
3.2 刪除資料庫 164
3.2.1 資料庫刪除概述 164
3.2.2 資料庫刪除——手工篇 165
3.2.3 資料庫刪除——DBCA篇 165
第2篇網路管理
第4章 Oracle網路管理並不難168
4.1 Oracle網路體系結構 168
4.1.1 Oracle套用的幾種網路結構 168
4.1.2 Oracle Net 170
4.1.3 OSI模型 170
4.1.4 Oracle Net的堆疊結構 171
4.1.5 Oracle監聽器 172
4.1.6 連線描述符(connect identifier) 173
4.1.7 網路服務名(Net Service Name) 174
4.1.8 命名方法 176
4.1.9 配置Oracle網路的工具 176
4.2 Oracle網路管理實務 176
4.2.1 Oracle網路伺服器端配置 176
4.2.2 Oracle網路客戶端配置 182
4.3 Oracle網路管理疑難解析 187
4.3.1 Oracle網路伺服器端配置疑難解析 187
4.3.2 Oracle網路客戶端配置疑難解析 194
4.3.3 Oracle網路與防火牆(Firewall) 215
第3篇系統管理
第5章系統管家婆——SQL*Plus的使用222
5.1 系統管理工具SQL*Plus 222
5.2 SQL緩衝區(SQL Buffer) 223
5.3 SQL*Plus的環境配置 223
5.3.1 SQL*Plus的環境變數 223
5.3.2 SQL*Plus站點配置檔案(Site Profile) 223
5.3.3 SQL*Plus用戶配置檔案(User Profile) 223
5.4 SQL*Plus的啟動 223
5.5 SQL*Plus專有命令介紹 225
5.5.1 登錄、註銷命令 225
5.5.2 編輯命令 225
5.5.3 其他有用的SQL*Plus命令 227
5.6 SQL*Plus實務與疑難解析 228
第6章有始有終——資料庫的啟動與關閉 247
6.1 資料庫啟動 247
6.1.1 資料庫啟動原理 247
6.1.2 資料庫啟動實務 248
6.1.3 資料庫啟動疑難解析 261
6.2 資料庫關閉 284
6.2.1 資料庫關閉原理 284
6.2.2 資料庫的關閉(SHUTDOWN)實務 284
6.2.3 資料庫關閉疑難解析 288
第7章理清兩個模式問題——專有/共享伺服器模式 292
7.1 理解專有伺服器模式 292
7.2 共享伺服器模式原理 293
7.2.1 共享伺服器模式的架構 293
7.2.2 監聽器和調度進程的關係 293
7.2.3 請求佇列(Request Queue)/回響佇列(Response Queue) 294
7.2.4 調度進程(Dispatcher Processes,Dnnn) 294
7.2.5 共享伺服器進程(Shared Server Processes,Snnn) 294
7.3 共享伺服器模式實務 294
7.4 共享伺服器模式疑難解析 305
第8章掌握兩個管理問題——表空間和數據檔案的管理 317
8.1 資料庫存儲結構 317
8.1.1 物理結構 317
8.1.2 邏輯結構 320
8.2 深刻理解表空間 327
8.2.1 大檔案表空間 327
8.2.2 系統表空間 327
8.2.3 輔助表空間 327
8.2.4 回滾表空間(Undo Tablespace) 327
8.2.5 臨時表空間 330
8.2.6 表空間中區的管理方式 331
8.2.7 表空間中段的管理方式 332
8.2.8 非標準塊表空間 333
8.2.9 表空間的離線(Offline)與線上(Online) 333
8.2.10 唯讀表空間(Read-Only Tablespace) 333
8.3 深刻理解數據檔案 334
8.3.1 數據檔案的內容 334
8.3.2 數據檔案的尺寸(Size) 334
8.3.3 離線數據檔案 334
8.3.4 臨時數據檔案(Temporary Datafiles) 334
8.4 表空間管理實務與疑難解析 335
8.4.1 永久表空間管理 335
8.4.2 臨時表空間管理實務與疑難解析 366
8.4.3 回滾表空間管理實務與疑難解析 373
8.5 數據檔案管理實務與疑難解析 379
8.5.1 數據檔案管理實務 379
8.5.2 數據檔案管理疑難解析 388
第9章進程管理 390
9.1 Oracle進程簡介 390
9.2 用戶進程 391
9.3 Oracle進程 391
9.3.1 伺服器進程 391
9.3.2 後台進程 391
9.4 進程綜合管理實務與疑難解析 395
9.5 會話管理實務與疑難解析 403
第10章記憶體管理 408
10.1 Oracle記憶體結構簡介 408
10.2 系統全局區(SGA) 409
10.2.1 SGA簡介 410
10.2.2 SGA組成 411
10.3 程式全局區(PGA) 414
10.3.1 私有SQL區 414
10.3.2 SQL工作區 415
10.3.3 用戶全局區 415
10.4 軟體代碼區415
10.5 管理Oracle記憶體的方式 415
10.5.1 PGA自動管理 415
10.5.2 SGA自動管理 416
10.5.3 自動記憶體管理 416
10.6 記憶體管理實務與疑難解析416
第11章用戶管理 439
11.1 用戶驗證 440
11.1.1 口令認證 440
11.1.2 外部認證 440
11.1.3 全局認證 441
11.2 Oracle的安全大門——許可權(Privileges) 441
11.2.1 系統許可權 441
11.2.2 對象許可權 444
11.3 使許可權管理變得更加容易——角色(Role) 445
11.4 限制用戶的資源消耗——資源限制檔案(Profile) 446
11.4.1 資源限制的級別 447
11.4.2 限制資源的參數 447
11.5 用戶與許可權管理實務與疑難解析 448
11.5.1 用戶管理實務與疑難解析 448
11.5.2 許可權管理實務與疑難解析 453
11.5.3 角色管理實務與疑難解析 457
11.5.4 資源限制檔案管理實務與疑難解析 463
第4篇移動資料庫
第12章數據導出 468
12.1 數據導出方法介紹 468
12.1.1 Oracle最新導出工具——Data Pump Export 468
12.1.2 Oracle原來的導出工具——Export 468
12.2 數據導出實務 471
12.3 數據導出疑難解析 489
第13章數據導入 508
13.1 數據導入方法介紹 508
13.1.1 Oracle最新導入工具——Data Pump Import 508
13.1.2 Oracle以前的導入方法——Import 508
13.2 數據導入實務 510
13.3 數據導入疑難解析 530
第5篇 Oracle檔案管理
第14章重中之重——控制檔案的管理 544
14.1 控制檔案的概念544
14.2 控制檔案管理實務與疑難解析545
第15章成為資料庫的最高統治者——口令檔案(Password File)管理 555
15.1 超級用戶許可權(SYSDBA、SYSOPER)介紹 555
15.2 口令檔案的基本概念556
15.3 啟用口令檔案認證 557
15.4 口令檔案管理實務與疑難解析558
第16章在線上日誌檔案管理 571
16.1 在線上日誌檔案的概念571
16.1.1 在線上日誌檔案的內容 571
16.1.2 在線上日誌檔案的循環利用 572
16.2 在線上日誌檔案管理實務與疑難解析572
第17章參數檔案(PFILE/SPFILE)管理 584
17.1 參數檔案的基本概念584
17.2 初始化參數檔案585
17.3 伺服器參數檔案585
17.4 初始化參數的修改 585
17.5 參數管理實務與疑難解析586
第6篇 Oracle高級專題
第18章全球套用——分散式資料庫疑難攻略 594
18.1 分散式資料庫系統的概念594
18.1.1 同構分散式資料庫系統 595
18.1.2 異構分散式資料庫系統 595
18.1.3 資料庫連結(Database Link) 595
18.2 分散式資料庫管理實務與疑難解析595
第19章並不陌生的問題——裸設備 603
19.1 裸設備的概念 603
19.2 裸設備管理實務與疑難解析 604
第7篇資料庫備份/恢復
第20章備份/恢復之基石——歸檔(Archivelog)管理 612
20.1 歸檔的基本概念612
20.1.1 非歸檔模式 612
20.1.2 歸檔模式 613
20.1.3 歸檔路徑 613
20.2 歸檔管理實務與疑難解析614
第21章必行之舉——資料庫備份 636
21.1 理解資料庫備份636
21.1.1 資料庫失敗的種類 637
21.1.2 備份和恢復的解決方案 637
21.1.3 備份和恢復的物理結構 638
21.1.4 備份的類型 638
21.1.5 執行用戶管理的備份 638
21.2 恢復管理器(RMAN) 639
21.2.1 通道 640
21.2.2 備份集的維護 640
21.2.3 RMAN資料庫 642
21.2.4 RMAN的使用 643
21.3 資料庫備份實務與疑難解析 643
21.4 恢複目錄管理實務與疑難解析665
第22章失而復得——資料庫恢復 673
22.1 資料庫恢復673
22.1.1 實例恢復 673
22.1.2 介質恢復 674
22.1.3 用戶錯誤(User Error)的恢復 675
22.2 資料庫閃回(Flashback Database)676
22.3 用戶管理的恢復(User-managed Recovery)676
22.4 在線上日誌檔案丟失的恢復677
22.5 控制檔案損壞的恢復689
22.6 數據檔案損壞的恢復700
22.7 表的恢復(用戶錯誤的恢復)711
第8篇 Oracle程式設計
第23章資料庫通用語言——SQL語句 742
23.1 結構化查詢語言簡介742
23.2 SELECT語句 743
23.2.1 理解SELECT語句 743
23.2.2 SELECT語句使用實務與疑難解析744
23.3 INSERT語句 754
23.3.1 理解INSERT語句 754
23.3.2 INSERT語句使用實務與疑難解析755
23.4 UPDATE語句 761
23.4.1 理解UPDATE語句 761
23.4.2 UPDATE語句使用實務與疑難解析 761
23.5 DELETE語句 763
23.5.1 理解DELETE語句 763
23.5.2 DELETE語句的使用763
23.6 SQL語句中,集合函式使用實務與疑難解析 766
第24章模式對象(Schema Object)的管理 771
24.1 模式(Schema)的概念 771
24.2 模式對象管理 772
24.2.1 表(Table) 772
24.2.2 索引(Index)790
24.2.3 外部表(External Table) 795
24.2.4 臨時表(Temporary Table) 805
24.2.5 分區表(Partition Table) 809
24.2.6 聚簇(Cluster) 822
24.2.7 索引組織表(Index-Organized Table,IOT) 825
24.2.8 視圖 831
24.2.9 同義詞 836
24.2.10 序列 839
第25章 PL/SQL應用程式開發 844
25.1 PL/SQL簡述844
25.1.1 PL/SQL塊結構 844
25.1.2 數據類型 845
25.1.3 運算符 845
25.1.4 PL/SQL語句控制結構 846
25.2 存儲過程(Stored Procedure)847
25.2.1 存儲過程的基本原理 847
25.2.2 存儲過程管理實務與疑難解析 847
25.3 函式(Function) 863
25.3.1 函式的基本原理 863
25.3.2 函式的管理實務與疑難解析 863
25.4 包871
25.4.1 包的基本原理 871
25.4.2 包管理實務與疑難解析 871
25.5 觸發器878
25.5.1 觸發器的基本原理 878
25.5.2 觸發器管理實務與疑難解析 879
25.6 游標 899
25.6.1 游標的基本原理 899
25.6.2 游標管理實務與疑難解析 899
第9篇記憶體探索
第26章勿忘歷史——Oracle記憶體管理的變遷 908
26.1 Oracle記憶體變遷概述 908
26.2 Oracle 7的記憶體管理 908
26.3 Oracle 8/8i的記憶體管理 909
26.4 Oracle 9i的記憶體管理 909
26.5 Oracle 10g的記憶體管理 909
26.6 Oracle 11g的記憶體管理 909
第27章 SGA之家——共享記憶體段 911
27.1 共享記憶體段的基本概念 911
27.2 共享記憶體段與核心參數 911
27.3 資料庫啟動與共享記憶體段911
27.4 設定共享記憶體段912
27.5 共享記憶體段的管理工具 913
27.5.1 Oracle小工具——sysresv 914
27.5.2 Oracle調試工具——oradebug 914
27.5.3 作業系統工具——ipcs(ipcrm) 915
27.6 查看核心參數對共享記憶體段的限制916
27.7 共享記憶體段的空間使用情況 916
27.8 共享記憶體段與進程 917
27.9 刪除共享記憶體段917
第28章記憶體管理效率的提升——HugePage 919
28.1 HugePage的原理 919
28.2 HugePage的配置 920
28.3 HugePage疑難解析 923
第29章記憶體管理方式的巨變——記憶體檔案系統 928
29.1 記憶體檔案系統 928
29.2 第一階段:傳統模式(共享記憶體段) 929
29.3 第二階段:新型模式(記憶體檔案系統)929
29.4 第三階段:記憶體檔案系統的設定 931
29.5 第四階段:從“新型模式”切換到“傳統模式”931
第10篇 I/O探索
第30章永恆的主題——I/O(同步I/O、異步I/O、直接I/O) 934
30.1 磁碟的物理結構934
30.1.1 碟片(碟片,Platter) 934
30.1.2 磁頭(Head)934
30.1.3 磁軌(Track)934
30.1.4 扇區(Sector) 934
30.2 磁碟工作原理 935
30.2.1 尋道時間(Seek Time) 935
30.2.2 旋轉延遲(Rotational Latency) 935
30.2.3 傳輸時間(Transfer Time) 935
30.2.4 訪問時間(Access Time) 935
30.3 衡量磁碟性能的兩個指標935
30.4 I/O介紹 935
30.4.1 同步I/O 936
30.4.2 異步I/O 936
30.4.3 直接I/O 936
30.4.4 Oracle與I/O配置 936
30.4.5 異步I/O的使用 936
30.4.6 直接I/O的使用 938
30.5 隨機I/O和順序I/O 939
30.5.1 隨機I/O的原理 939
30.5.2 順序I/O的原理 940
30.6 I/O大比拼 940
30.6.1 隨機I/O和順序I/O的巨大反差 940
30.6.2 同步I/O和異步I/O的對比 940
30.6.3 直接I/O與記憶體的使用 941
第11篇 RAC管理
第31章理論奠基——RAC簡介 944
31.1 高可用性介紹 944
31.2 Oracle集群 945
31.3 硬體架構 946
31.3.1 伺服器介紹 946
31.3.2 共享存儲介紹 946
31.3.3 網路介紹 952
31.4 軟體架構 954
31.4.1 軟體分層 954
31.4.2 Oracle Clusterware軟體 955
31.4.3 Oracle RAC軟體 962
第32章 RAC的意義——負載均衡和失敗轉移 963
32.1 負載均衡 963
32.1.1 負載均衡簡介 963
32.1.2 客戶端負載均衡 964
32.1.3 伺服器端負載均衡 967
32.2 失敗轉移 967
32.2.1 失敗轉移簡介 967
32.2.2 失敗轉移實戰 967
第33章存儲的主打曲——自動存儲管理(ASM) 973
33.1 ASM基本概念 973
33.1.1 ASM實例(ASM Instance) 973
33.1.2 ASM磁碟組(ASM Disk Group) 973
33.1.3 ASM檔案(ASM File) 974
33.1.4 區(Extent) 974
33.1.5 鏡像和失敗組(Mirroring and Failure Group) 975
33.2 配置ASM實例 976
33.2.1 創建ASM實例976
33.2.2 ASM的初始化參數 978
33.2.3 ASM實例的連線 979
33.2.4 ASM的啟動 979
33.2.5 ASM的關閉 980
33.2.6 檢查ASM實例的狀態 981
33.3 磁碟組的管理 981
33.3.1 準備磁碟(以裸設備為例) 981
33.3.2 確保ASM能夠搜尋到磁碟 984
33.3.3 創建磁碟組 985
33.3.4 磁碟組的載入/卸載 987
33.3.5 在磁碟組上創建表空間 988
33.3.6 往磁碟組中添加磁碟 989
33.3.7 從磁碟組中刪除磁碟 989
33.3.8 刪除磁碟組 989
33.3.9 手工重平衡磁碟組中的檔案 990
33.3.10 磁碟和磁碟組的信息 990
33.4 管理工具ASMCMD 991
33.5 動態卷管理器(ADVM)和集群檔案系統(ACFS) 992
33.5.1 動態卷管理器(ADVM)的使用 993
33.5.2 集群檔案系統(ACFS)的使用 996
33.6 ASM管理疑難解析 997
第34章練兵場——RAC管理 1003
34.1 你必須清楚的一件情——命令運行環境1003
34.2 集群管理工具 1003
34.3 集群的啟動和關閉 1004
34.4 IP位址管理1005
34.4.1 SCAN VIP的漂移 1005
34.4.2 檢查SCAN的配置 1005
34.4.3 修改SCAN VIP和VIP 1005
34.4.4 私有IP位址的修改1008
34.4.5 修改SCAN監聽器的連線埠 1009
34.5 實例的管理1010
34.5.1 實例的啟動和關閉 1010
34.5.2 資料庫的啟動和關閉 1011
34.5.3 參數檔案(PFILE、SPFILE)管理 1011
34.5.4 會話管理 1013
34.6 物理結構管理 1013
34.6.1 回滾表空間的管理 1013
34.6.2 在線上重做日誌的管理 1014
34.6.3 集群註冊表(OCR)的管理 1015
34.6.4 Oracle本地註冊表(OLR)的管理 1019
34.6.5 表決盤(Voting Disk)的管理 1020
34.6.6 集群註冊表和表決盤管理實務 1022
34.7 節點管理 1029
34.7.1 節點失敗那點事兒 1029
34.7.2 資料庫管理模式 1030
34.7.3 刪除節點 1031
34.7.4 增加節點 1042
作者簡介
趙振平
生於20世紀末中國西南的一個邊陲小鎮。21世紀初,那是一個IT業動盪的日子,多少網站林立,又有多少網站倒閉;多少英雄衝鋒,又有多少豪傑流淚。華爾街金融巨子們瘋狂湧入IT業,柯林頓總統先生的“信息高速公路”政策,為我們描繪了IT業的宏偉藍圖,不知天有多高、地有多厚的我們,被捲入了全球IT業的激流中。但是,在激流中有過倒下,在激流中有過彷徨.....在彷徨中思考未來。於是公元2001年,我正式主攻資料庫和數據倉庫。開始的歲月,Sybase、Oracle與SQL Server三座大山壓得我無法喘息,從不低頭的我們仍然要繼續前行的路。N年以後,我們越過了Sybase、Oracle、SQL Server、MySQL、DB2這幾座大山。但是,中國至今在資料庫領域還沒有太多的話語權,路還很遠,很長......還需要更多的人與我們一起努力!!

相關詞條

熱門詞條

聯絡我們