ORACLE資料庫管理與維護

ORACLE資料庫管理與維護

《ORACLE資料庫管理與維護》是2009年電子工業出版社出版的圖書,作者是張天慧。本書以筆者多年積累的實際經驗分析資料庫管理員的工作職責。

基本信息

作者簡介

張天慧,現任職華碩集團昌碩科技(上海)有限公司DBA,曾任華碩電腦DBA、NCR專業顧問、台灣積體電路約聘DBA、遠傳電信DBA,以及和信電信DBA,具有美商甲骨文OCP(Oracle Certified Pro.fessional)認證資格,並擁有8年以上資料庫開發與DBA經驗。Oracle資料庫管理、備份與復原、性能調優SQL Serve資料庫管理、備份與復原、性能調優Teradata資料庫倉儲管理Linux/UNIX系統管理。

內容介紹

本書詳細介紹Oracle資料庫系統的運作原理與組成架構;針對常用的“基本對象”及延伸套用的“高可用性對象”提供詳盡說明;詳解Oracle資料庫的安裝、建置,以及安全認證方式;深入剖析Oracle的網路在線上架構與設定,包含各類“網路服務組態檔案”;詳細介紹Oracle資料庫的備份與恢復,並列舉多項功能強大的復原管理工具;針對資料庫、實體結構與Instance講解性能調試的重要性,並以實例示範;完整說明索引與SQL語法的有效運用。

編輯推薦

Oracle作為世界級知名的企業級資料庫軟體,其用戶市場涵蓋全球各行各業。《專家精講:Oracle資料庫管理與維護》作者擁有多年的Oracle實踐專業經驗,用以傳授專業級資料庫管理員應具備的知識與技能.從資料庫結構到性能調試均通過實例進行說明,《專家精講:Oracle資料庫管理與維護》是不可多得的Oracle實務指南。分析資料庫管理員的工作職責與權利義務。詳細介紹Oracle資料庫系統的運作原理與組成架構。針對常用的。基本對象”及拓展套用的“高可用性對象”進行詳盡說明。詳解Oracle資料庫的安裝、設定,以及安全認證方式。深入剖析Oracle網路連線架構與設定。詳細介紹OracIe資料庫的備份與恢復,並列舉多項功能強大的復原管理工具。針對資料庫、實體結構與Instarice講解性能調試的重要性,並以實例示範。專章解析Oracle Statspack及Oracle Optimizer。完整說明索引與SQL語法的有效運用。

目錄

第1篇 資料庫管理員的角色與職責

第1章 資料庫管理員的工作內容 3

1.1 資料庫管理員的種類及定位 4

1.1.1 資料庫管理員的類型 4

1.1.2 資料庫管理員的定位 5

1.2 資料庫管理員的工作內容 7

1.3 資料庫管理員應該具備的認知與特性 10

1.4 結束語 12

第2章 Oracle資料庫管理員的工作清單 13

2.1 Oracle資料庫概論 14

2.1.1 Oracle資料庫結構 15

2.1.2 Oracle實例 16

2.2 每日例行工作 16

2.3 每周例行工作 21

2.4 每月例行工作 23

2.5 結束語 27

第2篇 Oracle資料庫的結構與操作

第3章 Oracle資料庫結構 31

3.1 物理存儲結構 32

3.1.1 數據檔案 32

3.1.2 線上重作日誌檔案 34

3.1.3 初始化參數檔案 41

3.1.4 控制檔案 46

3.1.5 口令檔案 52

3.1.6 歸檔日誌檔案 54

3.1.7 警告日誌檔案與跟蹤檔案 63

3.2 邏輯存儲結構 64

3.2.1 表空間 65

3.2.2 段 79

3.2.3 區(Extent) 80

3.2.4 數據塊 80

3.3 結束語 82

第4章 Oracle實例 83

4.1 系統全局區 85

4.1.1 數據緩衝區 85

4.1.2 重作日誌緩衝區 88

4.1.3 共享池 88

4.1.4 其他共享池 90

4.2 後台進程 91

4.2.1 DBWRn 92

4.2.2 LGWR 94

4.2.3 SMON 95

4.2.4 PMON 95

4.2.5 CKPT 96

4.2.6 ARCn 97

4.3 其他進程 97

4.3.1 User Process 97

4.3.2 Server Process 98

4.3.3 PGA 98

4.4 結束語 101

第5章 Oracle基本對象 103

5.1 模式 104

5.2 表 105

5.2.1 數據行 106

5.2.2 數據列 106

5.2.3 ROWID 108

5.2.4 創建表 109

5.2.5 管理表 115

5.2.6 完整性限制 139

5.3 視圖 142

5.4 索引 143

5.4.1 索引結構 144

5.4.2 創建索引 149

5.4.3 管理索引 155

5.4.4 查詢索引相關信息 158

5.5 還原段 158

5.5.1 還原段的功能 159

5.5.2 還原段的種類與管理模式 160

5.5.3 創建與啟用還原段 162

5.5.4 管理還原段 165

5.5.5 查詢還原段相關信息 167

5.5.6 還原段注意事項 167

5.6 序列 168

5.6.1 創建與使用序列 169

5.6.2 管理序列 171

5.7 資料庫連結 172

5.8 同義詞 175

5.8.1 同義詞注意事項 176

5.8.2 創建與維護同義詞 176

5.9 概要檔案 178

5.10 用戶 181

5.10.1 創建與維護用戶 181

5.10.2 許可權的授予 184

5.11 角色 185

5.12 資料庫字典與動態性能視圖 188

5.12.1 資料庫字典 189

5.12.2 動態性能視圖 190

5.13 結束語 190

第6章 Oracle高可用性對象 191

6.1 分區表 192

6.1.1 範圍分區 193

6.1.2 哈希分區 194

6.1.3 列表分區 195

6.1.4 複合分區 195

6.1.5 創建與維護分區表 196

6.2 聚簇表 197

6.2.1 索引聚簇表 198

6.2.2 哈希聚簇表 200

6.2.3 管理聚簇 201

6.3 全局臨時表 202

6.4 索引組織表 203

6.5 結束語 204

第7章 Oracle軟體安裝、資料庫創建與網路架構 205

7.1 Oracle軟體安裝 206

7.1.1 軟體安裝程式 206

7.1.2 Oracle資料庫最佳彈性架構 214

7.2 Oracle資料庫安全認證方式 216

7.3 資料庫的啟動與關閉 220

7.3.1 啟動資料庫 220

7.3.2 關閉資料庫 226

7.4 創建Oracle資料庫 228

7.4.1 創建資料庫前準備事項 229

7.4.2 手動創建Oracle資料庫 229

7.4.3 使用DBCA創建資料庫 232

7.5 Oracle網路服務架構與設定 241

7.5.1 設定listener.ora網路服務配置檔案 242

7.5.2 設定tnsnames.ora網路服務配置檔案 245

7.5.3 設定sqlnet.ora網路服務配置檔案 247

7.5.4 Oracle網路服務在線上運作方式 247

7.5.5 Oracle網路服務名稱解析方式 252

7.6 結束語 254

第3篇 Oracle資料庫的備份與恢復

第8章 Oracle的備份與恢復 257

8.1 Oracle資料庫備份模式 258

8.1.1 邏輯備份 258

8.1.2 物理備份 258

8.1.3 Oracle恢復管理程式 259

8.1.4 基本備份模式之外的補充 259

8.2 規劃備份計畫與恢復操作 261

8.3 導出與導入 262

8.3.1 導出 264

8.3.2 導入 267

8.3.3 活用導入與導出 268

8.3.4 導入與導出注意事項 270

8.3.5 Data Pump導出與導入 271

8.4 離線備份 275

8.5 線上備份 275

8.6 資料庫恢復操作 276

8.6.1 對資料庫執行恢復操作 276

8.6.2 對表空間執行恢復操作 278

8.6.3 對數據檔案執行恢復操作 279

8.6.4 其他方式恢復操作 282

8.7 結束語 283

第9章 RMAN恢復管理程式 285

9.1 啟用RMAN恢復管理程式 288

9.2 執行RMAN備份操作 289

9.3 執行RMAN恢復操作 292

9.4 結束語 293

第10章 Oracle Data Guard 295

10.1 Oracle Data Guard基本架構 296

10.2 Oracle Data Guard運行原理 297

10.2.1 備用資料庫的兩種形態 298

10.2.2 Oracle Data Guard的3種模式 299

10.3 創建Oracle Data Guard 301

10.3.1 主要資料庫準備事項 301

10.3.2 創建備用資料庫 302

10.4 Oracle Data Guard維護與注意事項 305

10.5 結束語 306

第11章 其他高可用性備份與恢復工具 307

11.1 Oracle快閃恢復 308

11.2 Oracle複製 310

11.2.1 Oracle Replication的架構與種類 311

11.2.2 創建Oracle物化視圖複製 312

11.3 結束語 315

第4篇 Oracle資料庫基礎性能調優

第12章 資料庫性能調優 319

12.1 性能調優的步驟 320

12.2 性能調優的範圍與效益 325

12.2.1 系統環境調優 325

12.2.2 Oracle Instance調優 326

12.2.3 Oracle對象調優 326

12.2.4 SQL語法調優 326

12.3 Oracle資料庫與磁碟陣列 327

12.3.1 磁碟陣列的種類 328

12.3.2 Oracle資料庫檔案與磁碟陣列的放置方式 331

12.4 結束語 332

第13章 Instance性能調優 333

13.1 數據緩衝區性能調優 334

13.1.1 數據緩衝區的運行狀況 335

13.1.2 數據緩衝區調優目標 338

13.1.3 數據緩衝區命中率 339

13.1.4 數據緩衝區分區管理 339

13.1.5 LRU Latch 344

13.2 共享池性能調優 346

13.2.1 共享池的運行情況 346

13.2.2 檢查與調優共享池 347

13.3 重作日誌緩衝區性能調優 348

13.3.1 重作日誌緩衝區的運行情況 349

13.3.2 重作日誌緩衝區調優目標 350

13.4 結束語 352

第14章 物理結構性能調優 353

14.1 如何準確設定數據塊 354

14.2 如何準確設定存儲參數 355

14.3 如何準確設定表空間 356

14.4 表空間碎片 356

14.5 結束語 358

第15章 Oracle Statspack 359

15.1 安裝Oracle Statspack 360

15.2 啟動與停止Oracle Statspack 361

15.3 修正Oracle Statspack設定 364

15.4 解析Oracle Statspack報表 365

15.5 結束語 368

第5篇 Oracle資料庫SQL性能調優

第16章 解析Oracle Optimizer 371

16.1 Oracle Optimizer概述 372

16.2 Rule Base Optimizer 374

16.3 Cost Base Optimizer 376

16.4 Optimizer的模式 377

16.5 追蹤SQL語法的運行與執行統計數據 380

16.5.1 SQL TRACE 381

16.5.2 AUTOTRACE 383

16.6 結束語 385

第17章 Oracle數據存取與表連線模式 387

17.1 Oracle基本數據存取模式 388

17.1.1 全表掃描 388

17.1.2 索引掃描 389

17.1.3 指定ROWID 390

17.2 表連線方式 390

17.2.1 嵌套循環表連線 390

17.2.2 排序/結合表連線 391

17.2.3 哈希表連線 392

17.2.4 各種表連線的特性 393

17.3 結束語 393

第18章 索引的使用 395

18.1 索引的存取模式 396

18.1.1 Index Unique Scan 396

18.1.2 Index Range Scan 396

18.1.3 Index Full Scan 397

18.1.4 Index Fast Full Scan 398

18.1.5 Index Skip Scan 398

18.2 使用索引的正確方向 399

18.3 結束語 400

第19章 如何正確使用SQL語法 401

19.1 如何避免沒必要的全表掃描 402

19.1.1 避免在索引欄位上使用IS NULL與IS NOT NULL條件 402

19.1.2 儘量不使用“!=”來篩選數據 403

19.1.3 不適當的函式運算 403

19.1.4 儘量不使用“||”來篩選數據 404

19.1.5 避免在索引所在的欄位上使用NOT 404

19.1.6 如何使用LIKE條件式 405

19.1.7 複合索引的盲點 406

19.2 避免沒有效率的查詢 407

19.2.1 沒有效率的索引 407

19.2.2 沒有效率的條件式 409

19.3 提升性能其他注意事項 410

19.4 結束語 410

附錄A Oracle RMAN範例 411

附錄B 常用的管理與性能調優SQL語法 413

……

序言

從事了約8年與Oracle DBA相關的工作,在學習的過程中,不斷地自我摸索與嘗試。在這段歷程中,我發現市面上可參考的書籍大多是Oracle資料庫的基本介紹,關於DBA日常的整體套用與管理都鮮少著墨,因而有了寫這本書的動機。

個人希望能將這些年從事DBA工作所累積的經驗與技能進行整理並與大家分享,為了讓更多想進入Oracle 資料庫領域的朋友能夠快速掌握Oracle資料庫管理技術,同時,無論是有經驗的Oracle DBA、新手Oracle DBA,還是程式開發人員都能夠持續地深入學習。

我常會問一些有意從事DBA工作的朋友,想成為DBA的原因是什麼?是因為薪水、興趣,還是覺得很酷?這些年從事 DBA 的工作,讓我深刻感受到,要成為一位稱職的 DBA 必須要有充分的準備,因為一位出色的DBA除了必須要有紮實的專業技術及廣泛的相關知識外,還必須具備特有的個性與認知,如果沒有準備好,將會在DBA的這條路上遇到很多挫折。不過,也大可不必這么嚴肅,畢竟知識與經驗是慢慢累積的,只要扎紮實實一步一步來,你將會發現DBA是一份擁有成就感與令人興奮的工作。

最後,隨著本書即將出版,我由衷感謝悅知文化的怡慧、書瑜與所有編輯團隊大力的協助,以及好友劉承修與周建竹的鼎力支持。最後要感謝我太太念塤、兒子佑溥與家人,你們是讓我完成這本書最大的動力。

相關詞條

相關搜尋

熱門詞條

聯絡我們