- Oracle從入門到精通(視頻實戰版)
- 秦靖 劉存勇
- 126字
- 2018-12-31 20:04:54
第一篇 數據庫安裝篇
第1章 Oracle 11g數據庫簡介
Oracle 11g是甲骨文公司推出的最新版本的Oracle數據庫軟件,它在以前版本的基礎上得到了進一步的改進和發展。本章包括以下知識點:
? Oracle 11g的發展
? Oracle 11g的新特性
? Oracle 11g與SQL Server的區別
本章內容基本涵蓋了Oracle產品版本的介紹和Oracle 11g的一些新特性。通過本章的學習,讀者可以了解Oracle 11g的特性以及與SQL Server的區別。
1.1 認識Oracle 11g
Oracle 11g是Oracle數據庫系列的最新版本,目前已經被企業廣泛應用。本節將講述Oracle的發展和Oracle 11g的介紹以及Oracle 11g與微軟的SQL Server數據庫的對比。
1.1.1 Oracle的成長歷程

圖1.1 Oracle的創始人Larry Ellison
Oracle數據庫目前已經成為企業級開發的首選,那么Oracle數據庫是誰創建的呢?又是由哪個公司創建的?說到Oracle數據庫的創始人,不得不提到勞倫斯·埃里森(Larry Ellison),如圖1.1所示,他出生于美國紐約布朗克斯,并不是什么名牌大學畢業,甚至就讀三所大學都沒能取得一個學位。但是,就是這樣一個人,卻成為世界上第二大軟件公司的創始人。
正所謂天生我材必有用,勞倫斯·埃里森自學了計算機編程。由于20世紀60年代美國也動蕩不安,所以勞倫斯·埃里森不斷地跳槽,適應著不同公司的工作,直到他跳到一家影像器材公司工作,認識了創建Oracle公司的另外兩位重要人物Bob Miner和Edward Oates,改變了他的一生。1977年,勞倫斯·埃里森與這兩個重要人物在硅谷共同出資創辦了一家軟件開發公司,其中勞倫斯·埃里森占有60%的股權。
在勞倫斯·埃里森創建軟件開發公司的初期,并不是一開始就確定要開發數據庫產品,也不是一開始就把公司的名字稱為Oracle。之所以要開發數據庫產品,是受IBM的研究員發表的一篇文章《大型共享數據庫的關系數據模型》的啟發,3個人才開始研發關系型數據庫的。他們的第一個項目是給美國政府做的,項目的名字當時就叫Oracle,Oracle在英語中的意思是神諭宣誓、預言或圣言。此后,勞倫斯·埃里森就把研發的數據庫叫做Oracle,后來也把自己公司的名字改成了Oracle。
Oracle數據庫的第一商用版本是在1979年誕生的,到現在的Oracle 11g版本已經歷經30余年了,在這些年中,Oracle公司的Oracle產品也成為家喻戶曉的產品,勞倫斯·埃里森的名字也被《福布斯》排行榜收錄。這就是Oracle,也是甲骨文公司的成長歷程。
1.1.2 了解最新版本Oracle 11g
Oracle 11g是目前最新的Oracle版本,可以在Oracle的官方網站www.oracle.com獲取Oracle的版本信息。
本書中要講解的是Oracle 11g的第1版,所以在這里只對Oracle 11g的各版本做以說明。Oracle 11g分為Oracle 11g 11.1.0.7.0和Oracle 11g 11.1.0.6.0兩個版本。其中,Oracle 11g 11.1.0.7.0版本主要安裝在Windows Server 2008系統中使用。Oracle 11g 11.1.0.6.0版本中所支持的操作系統比較廣泛,主要有:
? Microsoft Windows(32位)
? Microsoft Windows(x64)
? Linux x86
? Linux x86-64
? Solaris(SPARC)(64位)
? AIX(PPC64)
? HP-UX Itanium
? HP-UX PA-RISC(64位)
安裝到Windows 2003系統或者Windows XP系統中時,使用Microsoft Windows(32位)即可。在第2章中將具體講述Oracle的安裝過程。
1.1.3 Oracle與SQL Server
Oracle數據庫與SQL Server數據庫在企業應用當中各自有著用武之地。Oracle數據庫的最新版本是Oracle 11g,而SQL Server數據庫也有了最新的SQL Server 2008版本。下面從幾個方面講解Oracle數據庫與SQL Server數據庫的特點。
1. 對操作系統的支持
Oracle數據庫對操作系統的支持比SQL Server數據庫更多。Oracle可以支持的操作系統有Windows系統、Linux系統、蘋果的操作系統等;而SQL Server由于是微軟研發的,所以目前支持的操作系統只有Windows操作系統。另外,對于SQL Server數據庫,通常只能在Windows Server系列的操作系統上安裝企業版,而普遍使用的Windows XP系統只能安裝SQL Server的個人版或開發版。因此,當數據庫服務器是非Windows系統時,只能使用Oracle數據庫;當數據庫服務器是Windows操作系統時,才可以考慮使用SQL Server數據庫。
2. 數據庫的架構
在Oracle數據庫中,一個實例只能管理一個數據庫,只有數據庫在集群的環境下才能實現多個數據庫被一個實例管理;而SQL Server數據庫是一個實例管理多個數據庫。
3. 數據庫的安全性
SQL Server系統數據庫沒有通過安全性認證,而Oracle數據庫是獲得ISO安全認證的數據庫,所以說Oracle的安全性更好一些。
4. 內存分配
Oracle的內存分配大部分是由INIT.ORA來決定的,而SQL的內存分配主要有動態內存分配和靜態內存分配。
1.2 回憶Oracle的產品版本
Oracle發展到目前的Oracle 11g版本,是歷經30多年努力實現的成果,本節將帶你回憶Oracle的整個發展歷程。
? 最早的Oracle版本是在1979年的夏季發布的,該版本在Oracle出品時被稱為Oracle的第2版,這也是出于營銷的考慮。這個數據庫產品整合了比較完整的SQL實現,其中包括子查詢、連接及其他特性。
? 1983年3月,Oracle發布了第3版。該版本是使用C語言重新編寫第2版得到的,這也是為什么Oracle的可移植性非常好的主要原因。
? 1984年10月,Oracle發布了第4版,產品的穩定性得到很大的提高。
? 1985年,Oracle發布了第5版。該版本的穩定性又有了很大的提高,這也是首批可以在C/S模式下運行的數據庫產品。
? 1988年,Oracle發布了第6版。在發布第6版之前,Oracle公司已經上市了。第6版中引入了很多新特性,主要有行級鎖、聯機熱備份等功能,在一定程度上增強了Oracle的可用性。
? 1992年6月,Oracle發布了第7版。在該版本中增加的新特性主要有:分布式事務處理能力、對數據庫管理功能的增強,同時也提高了數據庫的安全性。Oracle在第7版產品的推進下銷售額倍增。
? 1997年6月,Oracle發布了第8版。Oracle 8支持面向對象的開發及新的多媒體應用,這個版本也為支持Internet、網格計算等奠定了基礎。同時,這一版本開始具有同時處理大量用戶和海量數據的特性。
? 1998年9月,Oracle發布了8i版,“i”代表Internet。該版本中添加了大量為支持Internet而設計的特性。同時,這一版本為數據庫用戶提供了全方位的Java支持。Oracle 8i成為第一個完全整合了本地Java運行環境的數據庫,用Java就可以編寫Oracle的存儲過程。
? 2001年6月,Oracle發布了Oracle 9i。在Oracle 9i的諸多新特性中,最重要的就是Real Application Clusters(RAC)了。說起Oracle集群服務器,早在第5版時,Oracle就開始開發Oracle并行服務器(Oracle Parallel Server,OPS),并在以后的版本中逐漸完善了其功能,不過,嚴格來說,盡管OPS算得上是個集群環境,但是并沒有體現出集群技術應有的優點。
? 2003年9月8日,Oracle發布了10g版本。10g版本是Oracle應用服務器版本,這里的“g”代表“grid”(網格)。在這個版本中加入了網格計算的功能。
? 2007年11月,Oracle發布了11g版本。這也是目前最新的版本,該版本大大提高了系統性能的安全性,并有了多項的創新,比如實現了信息生命周期管理、全新的Data Guard將可用性最大化,同時利用數據壓縮技術大幅降低了數據存儲的支出,縮短了應用程序測試環境部署所花費的時間。
1.3 學習Oracle 11g的新特性
Oracle 11g是目前使用比較多的一個版本,也是性能比較穩定的版本。Oracle 11g在以前版本的基礎上又增加了很多新的特性,本節就帶領讀者認識Oracle 11g中新增加的一些特性。
1.3.1 數據庫管理部分
數據庫管理部分是Oracle 11g中的核心,在這一部分,甲骨文公司為Oracle增加了如下8個主要特性。
(1)數據庫重放
數據庫重放在Oracle 11g中主要體現在兩個部分,一個是數據庫重放;一個是SQL重放。新的數據庫重放工具好似數據庫內的DVR。利用該方法,可以方便地以二進制文件格式捕獲SQL級別以下的所有數據庫活動,然后在同一數據庫或不同數據庫內進行重放。此外,還可以自定義捕獲流程,以包括或排除某些特定類型的活動。SQL重放與數據庫重放的特性類似,但只是捕捉SQL負載部分。
(2)SQL計劃管理
之前,我們可以使用存儲大綱和SQL Profile來幫助我們固定某條SQL語句的執行計劃,防止由于執行計劃發生變化而導致的性能下降。不過這些技術需要DBA人為的處理,比如存儲大綱,需要DBA手工創建,而對于SQL Profile來說,則要DBA手工應用才能生效。從Oracle 11g開始,引入了SQL執行計劃管理這個新特性,從而可以讓系統自動控制SQL語句執行計劃的穩定性,進而防止由于執行計劃發生變化而導致的性能下降。
(3)自動存儲管理
用于管理ASM實例的新的SYSASM角色,用于降低共享池使用的可變的區大小,以及實例能夠讀取磁盤組的特定磁盤。
(4)自動的健康檢查
Oracle能夠自動地對數據庫進行健康檢查,對于有可能導致數據庫在將來出現問題的一些因素,給DBA發送告警信息,并針對潛在問題給出一些建議。這樣可以在問題嚴重之前發現數據庫的問題,從而避免災難性的事件發生。
(5)企業管理器功能的增強
在企業管理器中增加了一個LOGMINER接口,該接口主要用作日志的查詢。通過該接口,還可以在企業管理器的GUI頁面中獲取日志挖掘的圖形。
(6)自動診斷知識庫
當Oracle探測到重要錯誤時,會自動創建一個事件,并且捕捉到和這一事件相關的信息,同時自動進行數據庫健康檢查并通知DBA。
(7)閃回事務
使用閃回事務可以回退事務,即使是已經提交的事務。這對于更正一些用戶錯誤非常有用。比如,用戶不小心執行了一些事務,并且在這些事務里對數據庫的數據做了一些更改,當用戶提交事務后,發現這些更改是錯誤的,想要回退這些更改,這時就可以使用閃回事務了。DBA只需要簡單地將這些事務閃回,即可把用戶犯下的錯誤更正過來。
(8)自動內存優化
在Oracle 11g中,所有內存可以通過只設定一個參數來實現全表自動優化。你只要告訴Oracle有多少內存可用,它就可以自動指定多少內存分配給PGA、多少內存分配給SGA以及多少內存分配給操作系統進程。
1.3.2 PL/SQL部分
PL/SQL部分是指一些SQL語句的變化,通過這些變化,增強了Oracle 11g中SQL語句的功能。下面就簡單講述3個在Oracle 11g中新增加的特性。
(1)觸發器
在Oracle 11g中除了以前用的觸發器之外,還引入了一個復合觸發器。復合觸發器就是在一個觸發器中使用4部分內容,即申明部分、before過程部分、after each row過程部分和after過程部分。此外,在Oracle 11g中還可以設置觸發器的順序,比如為一個表設置幾個觸發器,可以指定先執行哪個觸發器的內容等。
(2)對象依賴性改進
在Oracle 11g之前,如果有函數或者視圖依賴于某張表,一旦這張表發生結構變化,無論是否涉及函數或視圖所依賴的屬性,都會使函數或視圖變為invalid。在Oracle 11g中對這種情況進行了調整,如果表改變的屬性與相關的函數或視圖無關,則相關對象狀態不會發生變化。
(3)SQL語法
在SQL語法部分中,我們在調用某一函數時,可以通過=>來為特定的函數參數指定數據。這一語法也同樣可以出現在SQL語句中。
除了在數據庫管理和PL/SQL部分新增加的特性之外,Oracle 11g還在數據的備份和恢復中增強了RMAN的恢復功能,提供的數據壓縮技術可以最多壓縮2/3,同時還提供了在線升級等功能??傊琌racle 11g是Oracle版本中功能最強的版本,由于Oracle 11g提供的新特性很多,這里只列舉了幾個比較重要的新特性,其他的新特性可以登錄Oracle的官方網站查看。
1.4 小結
本章首先講述了Oracle的創始人和它的成長歷程;然后通過Oracle與SQL Server的對比,講解了Oracle和SQL Server各自的特點及使用的范圍;接著講解了Oracle產品的各個版本發布的時間和特性;最后講述了Oracle 11g中的一些新特性,比如在數據庫管理方面的數據庫重放技術、SQL計劃管理、自動存儲管理等特性。
1.5 習題
簡答題
1. 簡述Oracle與SQL Server的區別。
2. Oracle的第一個版本是什么時候發布的?它的創始人是誰?
3. Oracle 11g有哪些新特性?
- 漫話大數據
- 數據庫應用實戰
- 使用GitOps實現Kubernetes的持續部署:模式、流程及工具
- Access 2007數據庫應用上機指導與練習
- 數據庫應用基礎教程(Visual FoxPro 9.0)
- 數據庫系統原理及應用教程(第4版)
- Oracle高性能自動化運維
- Learn Unity ML-Agents:Fundamentals of Unity Machine Learning
- SQL優化最佳實踐:構建高效率Oracle數據庫的方法與技巧
- “互聯網+”時代立體化計算機組
- 重復數據刪除技術:面向大數據管理的縮減技術
- Chef Essentials
- Unreal Engine Virtual Reality Quick Start Guide
- 聯動Oracle:設計思想、架構實現與AWR報告
- 爬蟲實戰:從數據到產品