書名: Oracle從新手到高手作者名: 楊繼萍本章字數: 3954字更新時間: 2019-12-09 14:48:58
1.5 初識Oracle 12c
Oracle數據庫系統是一種通用的數據庫系統,具有完整的數據管理功能。同時,它也是目前最流行的客戶機/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。
1.5.1 Oracle數據庫概述
Oracle數據庫系統是美國ORACLE(甲骨文)公司提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶機/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一,也是目前世界上使用最廣泛的數據庫管理系統。
1. Oracle簡介
Oracle數據庫作為一個通用的數據庫系統,具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;而作為一個分布式數據庫,它則可以實現分布式處理功能。
Oracle數據庫的最新版本為Oracle Database 12c,該版本引入了一個新的多承租方架構,使用該架構可輕松部署和管理數據庫云。除此之外,該版本還提供了一些創新特性,可最大限度地提高資源的使用率和靈活性。例如,該版本軟件可快速整合多個數據庫,并通過Automatic Data Optimization和Heat Map以更高的密度壓縮數據并對數據進行分層。這些新技術加上在可用性、安全性和大數據支持方面的增強功能,使Oracle 12c成為私有云和公有云部署的理想平臺。
在Oracle9i版本之前,甲骨文公司便已將數據庫產品廣泛移植到了不同的平臺上,截至2015年1月,Oracle 10g/11g/12c版本可以支持以下的操作系統和硬件。
※ Apple Mac OS X Server:PowerPC
※ HP HP-UX:PA-RISC,Itanium
※ HP Tru64 UNIX:Alpha
※ HP OpenVMS:Alpha,Itanium
※ IBM AIX5L:IBM POWER
※ IBM z/OS:zSeries
※ Linux:x86,x86-64,PowerPC,zSeries,Itanium
※ Microsoft Windows:x86,x86-64,Itanium
※ Sun Solaris:SPARC,x86,x86-64
2. Oracle特點和優點
隨著Oracle產品的不斷完善,其特點和優點也越來越明顯。在優點方面,Oracle具有可用性強、可擴展性強、數據安全性強以及穩定性強等優點。而在特點方面,Oracle產品則具有下列4個方面的優點。
完整的數據管理功能
① 數據的大量性。
② 數據保存的持久性。
③ 數據的共享性。
④ 數據的可靠性。
完備關系的產品
① 信息準則:關系型DBMS的所有信息都應在邏輯上使用一種方法。
② 保證訪問的準則。
③ 視圖更新準則:視圖對應表中的數據變化時,其對應的視圖中的數據也會隨之一起變化。
④ 數據物理性獨立準則。
⑤ 數據邏輯性獨立準則。
分布式處理功能
Oracle數據庫具備分布式處理能力,其分布式數據庫由oraclerdbms、SQL*Net、SQL*CONNECT和其他非Oracle的關系型產品構成。
實現數據倉庫操作
在Oracle數據庫中,可以輕松實現數據庫的操作。
3. Oracle 12c版本
Oracle 12c針對不同的人群開發了企業版、標準版和標準1版,每種版本的具體說明如下。
※ Enterprise Edition(企業版):企業版為數據庫功能最全、擴展性最好的版本,例如包含閃回數據庫功能。
※ Standard Edition(標準版):標準版提供了企業版的一個功能子集,包含了小業務中所需要的功能,以及集群服務。
※ Standard Edition One(標準1版):該版本提供了與標準版完全相同的功能,但不包含RAC類的企業版功能,其應用可以完全兼容企業版。
1.5.2 安裝Oracle 12c
隨著新版本的發布,Oracle的安裝程序也越來越簡單,用戶只需要解壓下載文件便可以執行安裝了。在Windows和Linux服務器上安裝Oracle的過程類似,用戶只需要執行setup. exe安裝程序,系統便會加載并初步檢驗系統配置,并進行下一步安裝。

然后,在彈出的【配置安全更新】選項卡中,禁用【我希望通過My Oracle Support接收安全更新】復選框,并單擊【下一步】按鈕。

此時,系統會彈出【未指定My Oracle Support用戶名/電子郵件地址】對話框,單擊【是】按鈕即可。

在彈出的【選擇安裝選項】選項卡中,選中【創建和配置數據庫】選項,并單擊【下一步】按鈕。

此時,在彈出的選項卡中,選中【桌面類】選項,并單擊【下一步】按鈕。

在彈出的選項卡中,選中【創建新Windows用戶】選項,分別在【用戶名】、【口令】和【確認口令】文本框中輸入相關內容,并單擊【下一步】按鈕。

在彈出的選項卡中,輸入【全局數據庫名】和【管理口令】,并單擊【下一步】按鈕。該處的密碼設置需要高強度,包括大小寫字母和數字。

此時,系統會彈出選項卡,檢查安裝需求和環境。

上一步檢查沒有出現問題后,會自動進入下一個選項卡,單擊【安裝】按鈕,便可以安裝Oracle了。需要注意的是,在安裝過程中最好關閉“360安全衛士”或其他殺毒軟件。

Oracle的安裝時間較長,需要用戶耐心等待。等安裝到創建數據庫實例時,會自動彈出Database Configuration Assistant對話框。

成功安裝數據庫實例之后,會彈出有關口令管理的對話框,在該對話框中顯示了一些數據庫的基礎信息和進入地址。單擊【口令管理】按鈕,準備設置登錄口令。

在彈出的【口令管理】對話框中,顯示了需要鎖定或解鎖的賬戶。在此,用戶可以使用系統內的賬戶和口令,也可以自定義賬戶或口令,設置完成后單擊【確定】按鈕后返回安裝窗口。

安裝完成后,會顯示安裝地址,單擊【關閉】按鈕即可。

Oracle安裝完成后,會在系統中進行服務注冊,此時需要保證OracleOraDB-12Home1TNSListener和OracleServiceORCL服務器為啟動狀態。
1.5.3 Oracle 12c的新特性
相對于舊版本軟件來講,Oracle 12c新增了一些新特性,這些新特性可以使開發人員、數據庫管理員和最終用戶能夠更好地控制數據的存儲、處理和檢索。
Oracle 12c中的新特性主要包括內存選件、開發者工具、大數據SQL功能及多租戶等。
1. 數據庫內存選件(In-Memory Option)
在Oracle 12c中,正式引用了基于內存和列式計算的In-Memory Option(簡稱IMO)。IMO的特效可以使用內存中的列存處理實現下列4個目標。
※ 增快SQL全表掃描處理速度:該功能可以將SQL全表掃描的處理速度增加10~100倍,對于簡單的掃描可以達到每秒掃描10億行數據,而對于簡單的連續過濾謂詞的少量數據的掃描速度也可以達到每秒1億行的速度。
※ 增快復雜SQL的處理速度:該功能可以提高10倍或更多倍在絕大多數場景中的處理速度,其聚集、排序和分組的速度也會隨之增加。
※ 增快事務處理速度:該功能可以提高DML操作—單行DML和批量DML的運行速度,其中單行的處理速度主要來源于降低10倍的索引維護。
※ 應用程序的完全透明化:該功能對于應用程序可以完全透明化,類似于OLTP壓縮。所有的Oracle特性均可以與in-memory option一起工作,包括partitioning、indexes、text indexes等,而不會存在明確的數據類型或存儲類的限制。
2. Oracle JSON文檔存儲
Oracle 12c還具有支持Oracle JSON文檔的存儲功能,客戶可以在Oracle關系型數據庫中存儲JSON文檔數據,同時還可以使用SQL或REST接口對JSON文檔數據進行查詢。
3. 多租戶(Multienant)功能改進
Oracle 12c還對多租戶(Multienant)功能進行了一系列的改進,簡化了云端的數據整合,稱為“多租戶數據庫”。也就是說,改進后的該功能可以在云平臺上,將不同的租戶整合到一個大的CDB數據庫中運行,而彼此之間的數據(PDB)與應用可以完全隔離。
4. 屬性聚類功能
Oracle 12c新增了屬性聚類(Attribute Clustering)功能,該功能可以確保數據庫中相應列以最接近的方式進行存儲,以加快數據的訪問速度。
5. 快速資源調配功能
Oracle 12c新增了快速資源調配(Rapid Home Provisionign)功能,該功能可以簡化數據庫維護、升級以及云環境下多租戶數據庫的資源調配等操作。
除了上述5個重要新特性之外,Oracle 12c還具有下列新特性。
※ Oracle Pluggable Database:Oracle 12c中的Oracle PDB體系結構是由一個容器數據庫(CDB)和多個可組裝式數據庫(PDB)構成的,而PDB包含獨立的系統表空間和SYSAUX表空間等,并共享CDB的控制文件、日志文件和UNDO表空間。
※ 數據優化:Oracle 12c新增了ILM(數據生命周期管理)功能,添加了“數據庫熱圖”(Database heat map),可以在視圖中查看數據的利用率,并可自動實現數據的在線壓縮和數據分級。
※ 增強了統計信息:Oracle 12c的動態統計信息增加到了第11層,使動態統計數據的收集功能更加強大。除此之外,還增加了混合統計信息功能、數據加載過程收集統計信息的功能,以及增加了臨時表的會話私有統計信息功能。
※ PL/SQL性能增強:Oracle 12c中通過WITH語句在SQL中定義函數的方法增強了PL/SQL性能,該功能類似于在匿名塊中定義過程。
※ 改進了多種數據類型的長度限制:Oracle 12c放寬了多種數據類型的長度限制,增加了VARCHAR2、NVARCHAR2和RAW類型的長度到32K。
※ 行模式匹配:該功能類似于分析函數功能,可以在行間對數據進行匹配判斷并進行計算。
1.5.4 Oracle 12c管理工具
安裝Oracle 12c后,便可以著手創建數據庫了。但在創建數據庫之前,還需要了解一些常用的Oracle管理工具,這既是對安裝結果的驗證,也是對Oracle數據庫操作的基礎。
1. Oracle Enterprise Manager
Oracle Enterprise Manager(OEM)提供了基于Web界面的、可用于管理單個Oracle數據庫的工具。由于Oracle Enterprise Manager采用基于Web的應用,它對數據庫的訪問也采用了HTTP/HTTPS協議,即使用三層結構訪問Oracle數據庫系統。
在成功安裝Oracle后,OEM也同時安裝完畢。使用Oracle 12c OEM時只需要啟動瀏覽器,輸入OEM的URL地址(如https://localhost:5500/em/login),然后在打開的瀏覽器中輸入用戶名和口令,并單擊【登錄】按鈕。

在彈出的瀏覽器頁面中,用戶就可以體驗Oracle 12c的數據庫功能了。
由于OEM以圖形化方式提供用戶對數據庫的操作,避免了學習大量命令的麻煩,因此,對于初學者而言,最常用的操作方法就是通過OEM對數據庫進行操作。但是,通過在SQL*Plus中運行相應的命令,可以更好地理解Oracle數據庫。

2. SQL*Plus
在Oracle數據庫系統中,用戶對數據庫的操作主要是通過SQL*Plus工具來實現的。SQL*Plus作為Oracle的客戶端工具,可以建立位于相同服務器上的數據庫連接,或者建立位于網絡中不同服務器的數據庫連接。SQL*Plus工具可以滿足Oracle數據庫管理員的大部分需求。
執行【開始】|【程序】|【SQL*Plus】命令,打開SQL*Plus的登錄界面,輸入相應的用戶名和口令(如SYSTEM,這是由用戶在創建數據庫時指定的)后,按Enter鍵,SQL*Plus將連接數據庫。

用戶也可以在【運行】窗口中輸入CMD命令,打開命令提示窗口,并在窗口中輸入SQLPLUS命令啟動SQL*Plus工具,運行該命令的語法如下。
sqlplus [username]/[password] [@server] [ as sysdba | as sysoper]
其中,username用于指定數據庫用戶名;password用于指定用戶口令;@server用于指定網絡服務名;as sysdba表示以sysdba特權登錄。當連接本地數據庫時,不需要提供網絡服務名。

3. DBCA(創建數據庫)
如果在安裝Oracle數據庫服務器系統時,選擇僅安裝Oracle數據庫服務器軟件,而不創建數據庫,在這種情況下要使用Oracle系統還必須創建數據庫。如果在系統中已經存在Oracle數據庫,為了使Oracle數據庫服務系統充分利用服務器的資源,建議不要在該計算機上再創建一個數據庫。
DBCA(Database Configuration Assistant)是Oracle提供的一個具有圖形化用戶界面的工具,數據庫管理員(DBA)通過它可以快速、直觀地創建數據庫。DBCA中內置了幾種典型數據的模板,通過使用數據庫模板,用戶只需要做很少的操作就能夠完成數據庫的創建工作。
使用DBCA創建數據庫時只需要執行【開始】|【程序】|【Database Configuration Assistant】命令,打開如下對話框,根據DBCA的提示逐步進行設置,即可根據相應的配置創建數據庫。

- Python編程自學手冊
- JIRA 7 Administration Cookbook(Second Edition)
- R語言數據可視化實戰
- Rust Essentials(Second Edition)
- Android系統原理及開發要點詳解
- Creating Stunning Dashboards with QlikView
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- HTML 5與CSS 3權威指南(第3版·上冊)
- 0 bug:C/C++商用工程之道
- SignalR:Real-time Application Development(Second Edition)
- Appcelerator Titanium:Patterns and Best Practices
- 大學計算機應用基礎(Windows 7+Office 2010)(IC3)
- 面向物聯網的Android應用開發與實踐
- 前端Serverless:面向全棧的無服務器架構實戰
- 深入理解Android:WebKit卷