編輯推薦
風格輕鬆活潑:如果您習慣於看天書一般的教材,請勿買此書!!此書非正襟危坐的教材,而是像小說一樣可輕鬆閱讀的參考書。
源於工作實踐:如果您習慣於讀理論研究方麵的教材,請勿買此書!!此書非抽象的、研究型的教材,而是工作與培訓經驗的總結,係實戰型的入門書。
內容簡介
《Oracle數據庫管理與開發(適用於OCP認證)》是作者二十多年IT工作和教學實踐的總結與升華,可作為Oracle數據庫的入門教材,也可作為OCP認證的入門級參考書。
本著“把Oracle數據庫從高雅的象牙塔中帶齣來,使它的‘貴族’身份平民化,為大學生、普通IT工作者和愛好者提供一套買得起、容易學、用得上的Oracle數據庫實用教材”的寫作理念,《Oracle數據庫管理與開發(適用於OCP認證)》結閤大量生動而簡單的生活例子來解釋復雜的計算機和數據庫概念,避免瞭計算機例子的晦澀難懂。本書是自封閉的,讀者可以在沒有任何計算機專業知識的情況下閱讀本書,而且不需要其他的參考書。為瞭消除讀者對IT教材常有的畏懼心理,書中使用的語言輕鬆而幽默,讀者可像讀小說一樣閱讀。《Oracle數據庫管理與開發(適用於OCP認證)》是由相對獨立的兩大部分組成的:一部分主要介紹OracleSQL和SQL*Plus;第二部分主要介紹Oracle數據庫的管理和維護。書中內容是嚴格按照由淺入深的順序編排的,可以輕鬆入門、快速提高。為瞭使讀者更容易理解書中所介紹的內容,每一章中都給齣瞭數量可觀的例題。此外,在每章的後還給齣瞭大量的習題,這些習題或者例題很多來源於OCP認證的考題,目的是幫助讀者在學習的同時參與OCP認證,為以後工作打下更好的基礎。
作者簡介
何明,Oracle高級講師,Linux高級講師,10年Oracle數據庫技術服務與培訓經驗,同時也多次應邀進行Linux培訓,先後為西門子、惠普、中國移動、中國網通、中信銀行、神州數碼、NEC等50餘傢大中型企業做過Oracle、Linux培訓。
內頁插圖
目錄
第0章 Oracle的安裝及相關配置
0.1 Oracle的安裝
0.2 進入Oracle的SQL*Plus界麵
0.3 scott用戶及其對象維護
0.4 本書中將用到的錶
0.5 SQL(Structured Query Language)語言
0.6 本書所用的術語
0.7 Oracle 11g上的SQL*Plus
0.8 使用iSQL*Plus
0.9 使用DOS窗口啓動SQL*Plus
第1章 簡單查詢、限製性查詢和數據的排序
1.1 最簡單的查詢語句
1.2 在查詢語句中如何選擇特定的列(投影操作)
1.3 如何書寫查詢語句
1.4 列標題和數據的默認顯示格式
1.5 如何在SQL語句中使用算術錶達式
1.6 如何在SQL語句中使用列的彆名
1.7 連接運算符
1.8 DISTINCT運算符
1.9 基本查詢語句的格式
1.10 如何限製所選擇的數據行(選擇操作)
1.11 如何使用BETWEEN AND比較運算符
1.12 在SQL語句中使用字符串和日期
1.13 使用IN比較運算符
1.14 使用LIKE比較運算符
1.15 如何使用轉義操作符
1.16 ORDER BY子句(排序操作)
1.17 在ORDER BY子句中使用彆名或錶達式
1.18 在ORDER BY子句中使用列號及使用多列
1.19 擴充後的查詢語句的格式
1.20 練習題
第2章 常用的SQL*Plus命令和環境變量
2.1 DESC[RIBE]命令
2.2 SET LINE[SIZE]{80|n}命令
2.3 L命令和n text命令
2.4 “/”(RUN)命令
2.5 n(設置當前行)命令和A[PPEND](附加)命令
2.6 DEL命令
2.7 C[HANGE]命令
2.8 如何生成腳本文件
2.9 如何編輯腳本文件
2.10 如何直接運行腳本文件
2.11 SPOOL命令
2.12 控製SQL*Plus的環境
2.13 SQL*Plus的環境變量ECHO
2.14 常用的SQL*Plus環境變量
2.15 SQL*Plus的COLUMN格式化命令
2.16 SQL*Plus的其他格式化命令
2.17 怎樣獲取SQL*Plus的幫助信息
2.18 練習題
第3章 函數、NULL值的處理以及邏輯操作
3.1 什麼是函數
3.2 單行函數簡介
3.3 單行字符型函數
3.4 使用單行字符型函數的實例
3.5 數字型函數
3.6 日期型數據的處理
3.7 日期函數
3.8 ROUND和TRUNC函數用於日期型數據
3.9 不同數據類型之間的隱含轉換
3.10 不同數據類型之間的顯式轉換
3.11 什麼是空值
3.12 含有空值的錶達式的運算
3.13 空值的排序
3.14 邏輯錶達式和邏輯運算符
3.15 運算符的優先級
3.16 NVL函數
3.17 DECODE函數
3.18 單值函數的嵌套
3.19 Oracle 9i新增加的單值函數和錶達式
3.20 COUNT函數
3.21 AVG和SUM函數
3.22 MAX和MIN函數
3.23 GROUP BY子句的應用與排列次序
3.24 GROUP BY子句的特殊用法以及非法操作
3.25 HAVING子句的使用
3.26 分組函數的嵌套
3.27 分組函數的空值問題
3.28 其他的分組函數和分組函數的小結
3.29 練習題
第4章 多錶查詢和單行子查詢
4.1 數據庫的規範化
4.2 主鍵和實體完整性
4.3 第一範式
4.4 消除部分依賴
4.5 外鍵和引用完整性
4.6 第二範式和第三範式
4.7 規範化過程小結
4.8 多錶連接
4.9 相等連接
4.10 連接中錶彆名的使用
4.11 笛卡兒乘積(乘積連接)
4.12 自連接
4.13 兩個以上錶的連接
4.14 不等連接
4.15 外連接
4.16 SQL:1999語法的笛卡兒乘積和自然連接
4.17 使用USING子句和ON子句的連接
4.18 使用ON子句的多錶連接和附加條件
4.19 左外連接和右外連接
4.20 全外連接
4.21 為什麼引入單行子查詢
4.22 WHERE子句中的單行子查詢
4.23 HAVING子句和FROM子句中的單行子查詢
4.24 練習題
第5章 錶、索引以及替代變量
5.1 創建錶的語句以及命名和引用規則
5.2 列的數據類型和默認值
5.3 創建錶的例子
5.4 利用子查詢來創建錶
5.5 修改錶的結構
5.6 改變對象的名稱
5.7 截斷錶和刪除錶
5.8 為什麼引入索引
5.9 如何建立索引
5.10 如何查看索引
5.11 使用索引時應注意的問題
5.12 如何刪除索引
5.13 替代變量引入的原因
5.14 以&開始的替代變量
5.15 字符型和日期型替代變量
5.16 以&&開始的替代變量
5.17 替代變量可以齣現的地方
5.18 使用DEFINE定義替代變量
5.19 使用ACCEPT定義替代變量
5.20 ACCEPT命令的格式和選項
5.21 練習題
第6章 數據的維護
6.1 準備工作
6.2 INSERT語句
6.3 INSERT語句中的空值問題
6.4 如何嚮錶中插入特殊的值
6.5 如何利用子查詢嚮錶中插入數據
6.6 如何利用替代變量嚮錶中插入數據和將INSERT語句存入腳本文件
6.7 利用ACCEPT在INSERT語句中産生用戶友好的係統提示
6.8 UPDATE語句
6.9 基於另一個錶來修改記錄
6.10 利用多列子查詢來修改記錄
6.11 DELETE語句
6.12 在使用DELETE時可能齣現的問題
6.13 基於另一個錶來刪除行
6.14 引入事務處理的原因和Oracle數據庫的事務
6.15 利用COMMIT和ROLLBACK語句控製事務
6.16 有關事務處理應注意的一些問題
6.17 練習題
第7章 Oracle係統的約束
7.1 Oracle係統提供的約束
7.2 非空約束
7.3 查看有關約束的信息
7.4 唯一約束
7.5 條件約束
7.6 主鍵約束
7.7 外鍵約束
7.8 外鍵約束對DML語句和DDL語句的影響
7.9 外鍵的ON DELETE SET NULL和ON DELETE CASCADE子句
7.10 約束的維護
7.11 約束小結
7.12 練習題
第8章 視圖、序列和同義詞
8.1 為什麼引入視圖
8.2 使用視圖的好處
8.3 如何創建視圖
8.4 如何修改視圖
8.5 Oracle係統如何管理視圖
8.6 如何使用視圖來進行DML操作
8.7 如何使用視圖的WITH CHECK OPTION子句
8.8 WITH READ ONLY子句的使用
8.9 如何刪除視圖
8.10 ROWNUM的更多應用
8.11 序列號的引入及創建序列號語句的格式
8.12 如何創建序列號
8.13 如何使用創建的序列號
8.14 NEXTVAL和CURRVAL虛(僞)列介紹和它們的使用規則
8.15 序列號的修改
8.16 刪除序列號
8.17 同義詞的引入及創建
8.18 創建公用同義詞及刪除同義詞
8.19 練習題
第9章 Oracle的體係結構
9.1 Oracle引入復雜的體係結構的原因
9.2 Oracle數據庫中常用的術語
9.3 Oracle數據庫管理係統的體係結構
9.4 Oracle服務器的安裝方式
9.5 Oracle實例和數據庫以及其他的關鍵文件
9.6 建立與Oracle實例的連接
9.7 各種不同的連接方式
9.8 服務器進程
9.9 Oracle執行SQL查詢語句的步驟
9.10 共享池(shared pool)
9.11 數據庫高速緩衝區(databasebuffer cache)
9.12 內存緩衝區顧問(v$db_cache_ advice)
9.13 重做日誌緩衝區(redo logbuffer)
9.14 大池(large pool)和Java池(Java pool)
9.15 內存緩衝區大小的設定
9.16 內存緩衝區信息的獲取
9.17 重做日誌寫進程(LGWR)及快速提交(fast commit)
9.18 數據庫寫進程(DBWR/DBWn)
9.19 係統監督進程(SMON)和進程監督進程(PMON)
9.20 校驗點(checkpoint)和校驗點進程
9.21 歸檔日誌(ARCH/ARCn)進程
9.22 小結
9.23 練習題
第10章 Oracle數據庫管理工具與實例管理
10.1 Oracle通用安裝程序(Oracle Universal Installer)
10.2 Oracle數據庫配置助手(DBCA)
10.3 數據庫管理員用戶sys和system
10.4 SQL*Plus命令行工具
10.5 Oracle 10g企業管理器(EM)
10.6 初始化參數文件(initialization parameter files)
10.7 靜態參數文件(PFILE)
10.8 動態服務器參數文件(SPFILE)
10.9 啓動數據庫
10.10 將數據庫置為限製模式
10.11 關閉數據庫
10.12 如何利用診斷文件來監督實例
10.13 練習題
第11章 數據字典和控製文件
11.1 數據字典簡介
11.2 數據字典的操作和使用
11.3 格式化數據字典視圖的輸齣
11.4 如何使用數據字典視圖
11.5 動態性能錶(視圖)
11.6 數據字典應用實例
11.7 控製文件及控製文件中所存放的內容
11.8 從控製文件中獲取信息的數據字典
11.9 如何限定控製文件的大小
11.10 怎樣查看控製文件的配置
11.11 怎樣添加和移動控製文件
11.12 控製文件的備份
11.13 虛擬環境的創建
11.14 練習題
第12章 重做日誌文件
12.1 引入重做日誌的目的
12.2 重做日誌組
12.3 重做日誌成員
12.4 日誌切換和檢查點
12.5 獲取重做日誌的信息
12.6 添加和刪除聯機重做日誌文件組
12.7 添加和刪除聯機重做日誌成員(文件)
12.8 清除聯機重做日誌文件
12.9 利用OMF來管理聯機重做日誌文件
12.10 聯機重做日誌的配置
12.11 練習題
第13章 錶空間和數據文件的管理
13.1 Oracle引入邏輯結構的目的
13.2 Oracle數據庫中存儲結構之間的關係
13.3 錶空間和數據文件之間的關係及錶空間的分類
13.4 錶空間中的磁盤空間管理
13.5 創建本地管理的錶空間
13.6 還原錶空間
13.7 臨時錶空間
13.8 默認臨時錶空間
13.9 設置錶空間為脫機
13.10 隻讀(read-only)錶空間
13.11 重置錶空間的大小
13.12 移動數據文件的方法
13.13 刪除錶空間
13.14 利用OMF來管理錶空間
13.15 練習題
第14章 存儲結構及其之間的關係和創建數據庫
14.1 各種類型的段
14.2 存儲子句的優先級
14.3 區段(extent)
14.4 數據庫塊(database block)
14.5 自動的段空間管理
14.6 創建數據庫概述
14.7 籌劃和組織數據庫優化而彈性的體係結構
14.8 創建數據庫的先決條件
14.9 創建數據庫的方法
14.10 創建數據庫過程中的排錯
14.11 利用Oracle Managed Files來創建數據庫
14.12 練習題
第15章 管理還原數據
15.1 還原數據的管理方法
15.2 Oracle使用還原段的目的
15.3 還原段的類型
15.4 自動還原數據管理的概念和配置
15.5 還原錶空間的創建與維護
15.6 還原錶空間之間的切換
15.7 刪除還原錶空間
15.8 自動還原數據管理的一些參數
15.9 獲得還原數據的信息
15.10 練習題
第16章 管理錶
16.1 存儲數據的方法和Oracle內置數據類型
16.2 ROWID
16.3 Oracle數據行的結構
16.4 創建普通錶
16.5 創建臨時錶
16.6 錶的維護和管理
16.7 非分區錶的重組
16.8 列的維護
16.9 錶的截斷和刪除
16.10 練習題
第17章 索引的管理與維護
17.1 Oracle引入索引的目的
17.2 索引的分類
17.3 B-樹索引
17.4 位圖索引
17.5 B-樹索引和位圖索引的比較
17.6 創建索引
17.7 重建和維護索引
17.8 標識索引的使用情況
17.9 刪除索引
17.10 練習題
第18章 用戶及係統資源和安全的管理
18.1 創建用戶
18.2 數據庫模式
18.3 改變用戶在錶空間上的配額
18.4 刪除用戶
18.5 用戶的安全控製域
18.6 概要文件(profiles)
18.7 利用概要文件進行資源管理
18.8 創建資源限製的概要文件
18.9 口令管理
18.10 口令驗證函數
18.11 創建口令限製的概要文件
18.12 修改和刪除概要文件
18.13 創建概要文件的應用實例
18.14 練習題
第19章 管理權限
19.1 權限的分類以及係統權限
19.2 係統權限的限製
19.3 授予係統權限
19.4 迴收係統權限
19.5 對象權限
19.6 對象權限的授權和迴收
19.7 練習題
第20章 管理角色
20.1 引入角色(role)的原因
20.2 角色的創建
20.3 角色的修改
20.4 角色的授權
20.5 建立默認角色
20.6 激活和禁止角色
20.7 角色的迴收和刪除
20.8 創建和使用角色指南
20.9 Oracle預定義的角色
20.10 用戶、概要文件、權限和角色的應用實例
20.11 練習題
參考文獻
Oracle數據庫管理與開發(適用於OCP認證) 內容簡介 本書是一本全麵深入的Oracle數據庫管理與開發實踐指南,旨在幫助讀者掌握Oracle數據庫的核心技術,為通過Oracle Certified Professional (OCP) 認證考試奠定堅實的基礎。全書緊密圍繞OCP認證的考試大綱,結閤大量實操案例和詳細步驟,從數據庫基礎架構的理解到高級性能調優,再到安全管理和開發實踐,層層遞進,力求為讀者提供一個完整、係統且實用的學習路徑。 第一部分:Oracle數據庫基礎與架構 本部分將帶領讀者從零開始,逐步建立對Oracle數據庫的宏觀認知。我們將詳細介紹Oracle數據庫的邏輯結構和物理結構,深入剖析實例(Instance)和數據庫(Database)的概念及其相互關係。讀者將學習到Oracle數據庫如何管理內存,包括System Global Area (SGA) 和Program Global Area (PGA) 的組成、作用及調優原理。同時,我們將詳細講解Oracle數據庫的存儲結構,如數據文件(Datafile)、錶空間(Tablespace)、段(Segment)、區(Extent)和塊(Block)等,並闡述它們在數據存儲和管理中的作用。 此外,本部分還將重點介紹Oracle數據庫的啓動與關閉過程,理解各個啓動階段的含義及可能齣現的問題。我們將詳細講解Oracle數據庫的控製文件(Control File)、重做日誌文件(Redo Log File)和歸檔日誌文件(Archived Log File)的重要性,以及它們在數據庫正常運行、故障恢復和數據保護中的關鍵作用。通過對這些基礎概念的深入理解,讀者將為後續更高級的學習打下堅實的基礎。 第二部分:Oracle數據庫管理的核心實踐 本部分將聚焦於Oracle數據庫日常管理中的核心任務和關鍵技術。我們將詳細講解用戶與安全性的管理,包括創建、修改和刪除用戶,以及用戶權限的授予、撤銷和角色管理。安全是數據庫管理的重要組成部分,我們將深入探討Oracle數據庫的安全特性,如審計(Auditing)、加密(Encryption)和網絡安全等,幫助讀者構建堅固的數據庫安全防綫。 在本部分,讀者還將學習到Oracle數據庫的備份與恢復策略。我們將詳細介紹各種備份方法,包括邏輯備份(如Data Pump)和物理備份(如RMAN),並深入講解不同恢復場景下的恢復技術,如完全恢復、不完全恢復、介質恢復和時間點恢復等。通過大量的RMAN實例操作,讀者將熟練掌握如何製定並執行有效的備份和恢復計劃,確保數據在任何情況下都能得到安全可靠的保護。 此外,本部分還將涵蓋Oracle數據庫性能監控與調優的基礎知識。我們將介紹常用的性能視圖(V$視圖)和工具,幫助讀者識彆數據庫瓶頸,如CPU、I/O和內存瓶頸。讀者將學習如何通過分析SQL語句的執行計劃來優化查詢性能,以及如何進行錶和索引的維護,如收集統計信息、重建錶和索引等。 第三部分:Oracle數據庫開發與高級特性 本部分將深入探討Oracle數據庫的開發層麵,以及一些高級的管理與調優技術。我們將詳細講解PL/SQL(Procedural Language/SQL)編程語言,這是Oracle數據庫強大的過程化語言擴展。讀者將學習PL/SQL的基本語法,包括變量聲明、控製結構(IF-THEN-ELSIF, LOOP, WHILE, FOR)、遊標(Cursor)和例外處理(Exception Handling)。我們將通過豐富的實例,演示如何編寫存儲過程(Stored Procedure)、存儲函數(Stored Function)、觸發器(Trigger)和包(Package),以實現復雜的業務邏輯和數據處理。 本部分還將介紹Oracle數據庫的SQL高級特性,包括分析函數(Analytic Functions)、層次查詢(Hierarchical Queries)和物化視圖(Materialized Views)等。這些特性能夠極大地提升SQL查詢的效率和靈活性,幫助開發者編寫齣更強大、更高效的SQL語句。 在性能調優方麵,本部分將進一步深入。我們將講解Oracle數據庫的SQL優化器(Optimizer)的工作原理,以及如何通過Hints來指導優化器生成最優的執行計劃。讀者將學習如何使用SQL Trace和TKPROF工具進行SQL性能分析,以及如何識彆和解決SQL性能問題。此外,我們還將介紹Oracle的AWR(Automatic Workload Repository)和ADDM(Automatic Database Diagnostic Monitor)報告,幫助讀者全麵診斷數據庫性能問題並獲取調優建議。 第四部分:Oracle數據庫的高可用性與災難恢復 本部分將重點講解Oracle數據庫的高可用性(High Availability, HA)和災難恢復(Disaster Recovery, DR)解決方案。我們將詳細介紹Oracle Data Guard技術,包括物理備庫(Physical Standby)、邏輯備庫(Logical Standby)和Snapshot備庫(Snapshot Standby)的配置、管理和故障切換(Failover)操作。通過Data Guard,讀者將掌握如何構建一個高可用性的數據庫環境,以應對硬件故障、數據中心災難等突發情況,最大限度地減少停機時間,保障業務連續性。 此外,本部分還將介紹Oracle Real Application Clusters (RAC) 的基本概念和架構。雖然RAC的深入配置和管理可能超齣OCP認證的範疇,但理解其原理對於構建高可用性集群至關重要。我們將簡要介紹RAC的集群軟件(Grid Infrastructure)、投票盤(Voting Disk)、OCR(Oracle Cluster Registry)和SCAN(Single Client Access Name)等關鍵組件,幫助讀者瞭解如何在多節點環境中實現數據庫的高可用和負載均衡。 第五部分:OCP認證考試指導與模擬練習 本部分旨在幫助讀者係統地梳理OCP認證考試的重點和難點。我們將針對OCP認證的各個模塊,提供詳細的考點解析和復習建議。我們將結閤全書內容,提煉齣考試中最常齣現的概念和操作,並提供大量的模擬試題和練習題。這些練習題涵蓋瞭選擇題、填空題、命令行操作題等多種題型,旨在幫助讀者鞏固知識,熟悉考試形式,並提高解題速度和準確性。 總結 《Oracle數據庫管理與開發(適用於OCP認證)》以實際應用為導嚮,理論與實踐相結閤,內容全麵且深入。本書不僅是備考OCP認證的理想學習資料,更是Oracle數據庫管理員和開發人員日常工作中的得力助手。通過本書的學習,讀者將能夠全麵掌握Oracle數據庫的核心技術,具備獨立進行數據庫管理、開發和性能調優的能力,從而在IT領域取得更大的成就。本書的章節設置邏輯清晰,語言通俗易懂,配以大量的圖示和代碼示例,力求為讀者提供一個高效、愉快的學習體驗。