- Oracle實用教程
- 鄭阿奇編著
- 6251字
- 2018-12-30 10:28:28
1.3 Oracle數據庫環境
1.3.1 Oracle數據庫簡介
當今社會已進入信息時代,作為信息管理主要工具的數據庫已成為舉足輕重的角色。無論是企業、組織的管理,還是電子商務或電子政務等應用系統的管理,都需要數據庫的支持。
1979年,Oracle(甲骨文)公司推出了世界上第一個基于SQL標準的關系數據庫管理系統Oracle 1,之后Oracle數據庫得到了不斷的完善。到了1999年推出的Oracle 8i,由于因特網技術的普及,Oracle公司的產品發展戰略也由面向應用轉向面向網絡計算,進行了全面的數據庫升級,并且開始向Windows操作系統進軍。2007年,Oracle公司發布了Oracle 11g,是目前最新的版本。Oracle 11g是數據庫領域最優秀的數據庫之一,經過了1500萬個小時的測試,開發工作量達到了3.6萬人/月。它在繼承了前版本Oracle 10g的基礎上又增加了400多項新特性,如改進本地Java和PL/SQL編譯器,數據庫修復向導等。
Oracle是目前最流行的關系型數據庫管理系統之一,被越來越多的用戶在信息系統管理、企業數據處理、Internet和電子商務網站等領域作為應用數據的后臺處理系統。
1.3.2 Oracle 11g的安裝
Oracle 11g數據庫服務器主要有三個版本:個人版、標準版和企業版。個人版只提供基本數據庫管理服務,適用于單用戶開發和部署;標準版適用于工作組或部門級別的應用程序;企業版適用于對高端應用程序的數據管理,如大容量的聯機事物處理(OLTP)環境、查詢密集型的數據倉庫和要求較高的Internet應用程序等。這里以在Windows XP上安裝Oracle企業版為例,具體的安裝步驟如下。
(1)以Windows系統管理員身份登錄計算機,雙擊Oracle安裝文件夾中的setup.exe應用程序,啟動Oracle Universal Installer(簡稱OUI)安裝工具,之后彈出“選擇要安裝的產品”窗口,Oracle 11g提供兩種安裝方法—基本安裝和高級安裝。基本安裝比較簡單。配置參數較少;高級安裝較為復雜,但可以深入理解安裝的要領。這里選擇“高級安裝”,如圖1.11所示,單擊“下一步”按鈕。

圖1.11 “選擇安裝方法”窗口
(2)進入“選擇安裝類型”窗口,這里選擇“企業版”,單擊“下一步”按鈕進入“指定主目錄詳細信息”窗口。在該窗口中可以指定存儲所有與Oracle軟件及與配置相關的文件的Oracle基目錄。Oracle基目錄是用于安裝各種Oracle軟件產品的頂級目錄。“軟件位置”則指定用于安裝產品的Oracle主目錄的名稱和位置,這里將Oracle安裝到D盤,基目錄指定為“D:\app\tao”,如圖1.12所示。

圖1.12 “選擇安裝類型”窗口
(3)單擊“下一步”按鈕進入“產品特定的先決條件檢查”窗口,Oracle Universal Installer將檢查安裝環境是否符合最低要求,如果符合驗證的要求,如圖1.13所示,即表示能夠安裝Oracle數據庫。

圖1.13 “產品特定的先決條件檢查”窗口
(4)單擊“下一步”按鈕進入“選擇配置選項”窗口,在此可以選擇“創建數據庫”“配置自動存儲管理”或“僅安裝軟件”,如圖1.14所示。其中,各個選項的含義如下。

圖1.14 “選擇配置選項”窗口
● 創建數據庫:此選項創建具有“一般用途/事務處理”“數據倉庫”或“高級”配置的數據庫。
● 配置自動存儲管理:此選項只在單獨的Oracle主目錄中安裝自動存儲管理。如果需要,還可以提供ASM SYS口令。接下來,系統將提示創建磁盤組。
● 僅安裝軟件:此選項只安裝Oracle數據庫軟件,可以在以后的使用過程中配置數據庫。
(5)選擇“創建數據庫”,單擊“下一步”按鈕進入“選擇數據庫配置”窗口,如圖1.15所示。對于創建數據庫,有以下四種數據庫安裝類型。

圖1.15 “選擇數據庫配置”窗口
● 一般用途/事務處理:創建適合各種用途的預配置數據庫,適合于簡單的事務處理或復雜的查詢,支持大量并發用戶對數據的快速訪問,也可用于決策支持系統(DSS),并能對歷史數據進行數據掃描。
● 數據倉庫:創建優化數據倉庫的預配置數據庫。數據倉庫類型適合于對主題進行復雜的查詢,它支持對大量數據進行快速訪問并且使用類似聯機分析處理(OLAP)等應用程序。數據倉庫的典型應用包括用于客戶訂單研究、支持呼叫、銷售預測、購物和采購模式以及其他戰略性業務問題的歷史數據庫。
● 高級:選擇該選項,需要安裝的時間較長,但可以選擇需要的安裝類型和組件。
可以按照Oracle數據庫的實際用途選擇最佳的配置,這里選擇默認的“一般用途/事務處理”。
(6)單擊“下一步”按鈕進入“指定數據庫配置選項”窗口,其中“全局數據庫名”主要用于在分布式數據庫系統中唯一標識一個Oracle數據庫,全局數據庫名由數據庫名和數據庫域組成,格式為“數據庫名.數據庫域”。SID主要用于區分同一臺計算機上的不同數據庫的不同實例。SID通常與數據庫相同,例如,在“全局數據庫名”文本框輸入XSCJ.domain,則在SID文本框中會自動填入XSCJ,這里填入該值,如圖1.16所示。

圖1.16 “指定數據庫配置選項”窗口
(7)單擊“下一步”按鈕進入“指定數據庫配置詳細資料”窗口,可用的配置選項包括“內存”“字符集”“安全性”和“示例方案”,如圖1.17所示。“內存”選項卡主要用于指定分配給數據庫的物理內存;“字符集”選項卡用于確定在數據庫中要支持哪些語言組;“安全性”選項卡用于指定是否在數據庫中禁用默認安全設置;“示例方案”選項卡用于指定是否在數據庫中包含示例方案。這里都采用默認設置,單擊“下一步”按鈕。

圖1.17 “指定數據庫配置詳細資料”窗口
(8)進入“選擇數據庫管理選項”窗口,如圖1.18所示。按照默認設置使用Database Control管理數據庫,以便用Oracle Enterprise Manager(Oracle企業管理器)在本地管理每個Oracle數據庫。

圖1.18 “選擇數據庫管理選項”窗口
(9)單擊“下一步”按鈕進入“指定數據庫存儲選項”窗口,如圖1.19所示。如果選擇“文件系統”選項,則Oracle將使用操作系統的文件系統存儲數據文件;如果選擇“自動存儲管理”選項,則將數據文件存儲在自動存儲管理磁盤組中。這里選擇“文件系統”,單擊“瀏覽”按鈕選擇一個至少有1.2 GB的可用磁盤空間,如D:\app\tao\oradata。

圖1.19 “指定數據庫存儲選項”窗口
(10)單擊“下一步”按鈕進入“指定備份和恢復選項”窗口,如圖1.20所示。如果選擇“啟用自動備份”,則Oracle企業管理器將在每天同一時間對數據庫進行備份。這里選擇默認的“不啟用自動備份”。

圖1.20 “指定備份和恢復選項”窗口
(11)單擊“下一步”按鈕進入“指定數據庫方案的口令”窗口,這里可以為Oracle的每個管理賬戶設置不同的口令,為了簡單起見,這里選擇“所有的賬戶都使用同一口令”,并設置口令為“123456”,如圖1.21所示。

圖1.21 “指定數據庫方案的口令”窗口
(12)單擊“下一步”按鈕進入“Oracle Configuration Manager注冊”窗口,這里選擇“不啟用Oracle Configuration Manager”,單擊“下一步”按鈕進入“概要”窗口,顯示按照全局設置、產品語言、空間要求和新安裝組件分類等安裝設置,如圖1.22所示。用戶可以檢查設置是否正確,如果確認無誤即可單擊“安裝”按鈕進行Oracle的安裝。等待一段時間,安裝完成并且數據庫創建完成后,會給出創建完成的提示窗口,如圖1.23所示。單擊“口令管理”按鈕可以對數據庫用戶進行鎖定或解鎖,還可以修改用戶的口令。這里將SCOTT用戶解鎖并將口令設置為tiger,完成后單擊“確定”按鈕結束Oracle的安裝。

圖1.22 “概要”窗口

圖1.23 數據庫創建完成窗口
說明:如果需要卸載計算機中的Oracle服務器,請參見本書附錄A。
1.3.3 企業管理器(OEM)
Oracle 11g企業管理器(Oracle Enterprise Manager)簡稱OEM,是一個基于Java的框架系統,該系統集成了多個組件,為用戶提供了一個功能強大的圖形用戶界面。OEM提供可以用于管理單個Oracle數據庫的基于Web界面的工具,由于采用了基于Web的應用,它對數據庫的訪問也采用了HTTP/HTTPS協議,即使用B/S模式訪問Oracle數據庫管理系統。
使用OEM工具可以創建方案對象(表、視圖等)、管理數據庫的安全性(權限、角色、用戶等)、管理數據庫的內存和存儲結構、備份和恢復數據庫、導入和導出數據,以及查詢數據庫的執行情況和狀態等。
在成功安裝Oracle 11g后,OEM一般也隨之安裝成功。如果要使用OEM,需要啟動瀏覽器,在地址欄中輸入OEM的URL地址https://fbc7289ca692436:1158/em,其中fbc7289ca692436是計算機名稱,1158是端口號。或者打開“開始”→“所有程序”→“Oracle- OraDB11g_home1”→“DataBase Control - XSCJ”來啟動OEM。
啟動Oracle 11g OEM以后會出現OEM的登錄頁面,用戶可以輸入用戶的名稱(如System、SYS)和口令(安裝時已經設定為“123456”),連接身份選擇“Normal”,如圖1.24所示。輸完后單擊“登錄”按鈕彈出許可證確認頁面,單擊“是”按鈕進入“數據庫實例:XSCJ.domain”主頁的“主目錄”屬性頁,如圖1.25所示。

圖1.24 OEM登錄頁面

圖1.25 OEM中的“主目錄”屬性頁
說明:對于日常的管理任務,建議使用System用戶登錄,如果需要執行備份、恢復和更改數據庫等任務,就必須以SYS用戶登錄。
數據庫主頁面中包含主目錄、性能、可用性、服務器、方案、數據移動、軟件和支持等幾個屬性頁,幾乎所有的Oracle管理功能都可以在這些屬性頁中完成。
1.3.4 SQL*Plus工具
Oracle 11g的SQL*Plus是Oracle公司獨立的SQL語言工具產品,Plus表示Oracle公司在標準SQL語言基礎上進行了擴充。在過去,SQL*Plus曾被稱為UFI,即友好的用戶接口(User Friendly Interface)。用戶可以在Oracle 11g提供的SQL*Plus窗口編寫程序,實現數據的處理和控制,完成制作報表等多種功能。
使用SQL*Plus,用戶可以定義和操作Oracle關系數據庫中的數據,不再需要在傳統數據庫系統中必須使用的大量數據檢索工作。例如,現在用戶不再受一次只能讀一條記錄的限制,用戶可以編寫一個程序處理與某個實體相關的所有記錄,對其中所有記錄的處理都保持一致。
1.啟動SQL*Plus
在Oracle程序組中啟動SQL*Plus的方法為:依次打開“開始”→“所有程序”→“Oracle-OraDB11g_home1”→“應用程序開發”→“SQL Plus”,進入SQL Plus命令行窗口,輸入用戶名system,回車輸入口令(輸入的口令不在光標處顯示);回車后連接到Oracle,如圖1.26所示。

圖1.26 SQL Plus命令行窗口
在SQL*Plus窗口中顯示SQL*Plus窗口的版本、啟動時間和版權信息,并提示連接到Oracle 11g企業版等信息。在SQL*Plus窗口,還會看到SQL*Plus的提示符“SQL>”。在提示符后面輸入SQL命令后回車即可以運行該命令。
另外還可以從命令提示符窗口中啟動SQL*Plus,方法為:依次打開“開始”→“所有程序”→“附件”→“命令提示符”,進入“命令提示符”窗口,在窗口中輸入命令“sqlplus”后回車,之后會提示輸入用戶名和口令,連接到Oracle后界面如圖1.27所示。

圖1.27 命令提示符窗口中啟動SQL*Plus
通過程序組啟動SQL*Plus則不能通過鼠標右擊界面使用剪切、粘貼功能,這樣不方便操作。而在命令提示符窗口啟動SQL*Plus后則可以使用這些功能。
2.簡單的例子
這里僅需了解一下即可,有關內容在后面的章節中詳細講解。
【例1.1】 使用SQL*Plus編輯界面創建學生成績管理數據庫(XSCJ)中的課程表(KCB),表結構見本書3.1.3節。
使用System用戶連接Oracle后,在提示符“SQL>”后輸入如下語句:
CREATE TABLE KCB ( KCH char(3) NOT NULL, KCM char(16) NOT NULL, KKXQ number(1) NULL, XS number(2) NULL, XF number(1) NOT NULL, PRIMARY KEY("KCH") );
執行結果如圖1.28所示。

圖1.28 創建KCB表
說明:在Oracle中命令不區分大小寫,在SQL*Plus編輯器中每條命令都以分號(;)作為結束標志。為了表達問題簡單,在以后的示例中單獨描述命令而不需要界面結果時,在命令前省略“SQL>”提示符。
使用DESCRIBE命令查看KCB表機器中所有表的列的概要。
DESCRIBE KCB;
執行結果如下所示。

【例1.2】 使用INSERT語句向KCB表中插入兩條記錄。
INSERT INTO KCB VALUES('101', '計算機基礎', 1, 80, 5); INSERT INTO KCB VALUES('102', '程序設計語言', 2, 68, 5);
每次成功地完成一條INSERT語句后,均返回行創建信息,該信息通知用戶已建立的行數。
使用SELECT命令從XSCJ數據庫的KCB表中檢索數據。
SELECT * FROM KCB;
執行結果如下所示。

3.SQL*Plus的編輯命令
通常在SQL*Plus中執行的SQL語句都是SQL*Plus語句,最后執行的一條SQL*Plus語句將被保存在一個被稱為SQL緩沖區的內存區域中。用戶可以對SQL緩沖區中的SQL語句進行修改,然后再次執行。
除了SQL語句,SQL*Plus中還可以執行SQL*Plus編輯命令,它們執行完后不保存在SQL緩沖區中,一般用于對輸出的結果進行格式化顯示,或編輯與存儲SQL語句。SQL*Plus編輯命令主要有以下幾種。
(1)SQL*Plus行編輯命令。SQL*Plus窗口是一個行編輯環境,為了實現對輸入命令或程序的編輯,SQL*Plus有自己內嵌的命令行編輯器,它提供了一組行編輯命令用于編輯保存在SQL緩沖區中的語句,常用的編輯命令如表1.2所示。表中命令表達式方括號中的內容可以省略。
表1.2 SQL*Plus行編輯命令及功能

下面通過例子說明一些常用命令的簡單使用方法。
① LIST語句
語法格式:
L[IST] [n|n m|n*|n last|*|*n|*last|last]
【例1.3】 假設在SQL*Plus中運行了下述查詢語句:
SELECT KCH, KCM FROM KCB WHERE XF=5;
應用LIST語句:
LIST /*命令簡寫,大小寫都可以*/

執行結果如上圖所示。
② APPEND語句
語法格式:
APPEND column_name[,…n]|text
【例1.4】 在例1.3的查詢內容中增加KKXQ列。
依次執行如下語句:
1 /*將第一行指定為當前行*/ APPEND,KKXQ /*在第一行最后追加KKXQ列*/ L /*重新顯示語句內容*/

執行結果如上圖所示。
③ CHANGE語句
語法格式:
C[HANGE]/[old/]new/
【例1.5】 將例1.4修改后的查詢語句中的WHERE子句的查詢條件學分為4,替換學分為5。
依次執行如下語句:
3 /*指定第三行為當前行*/ C/5/4/ /*學分為4,替換學分為5*/

執行結果如上圖所示。
④ INPUT語句
語法格式:
I[NPUT] [text]
【例1.6】 在例1.5修改后的查詢語句后添加另外的查詢條件。
依次執行如下語句:
L3 /*指定第三行為當前行*/ I AND KKXQ=2 /*添加查詢條件*/ L /*顯示添加查詢條件后的語句*/

執行結果如上圖所示。
⑤ DEL語句
語法格式:
DEL [n|m n | n LAST]
【例1.7】 刪除例1.6修改后的查詢語句的第2到第3行。
Del 2 3 /*如果語句后不帶行號,表示刪除當前行*/
(2)SQL*Plus文件操作命令。由于SQL*Plus提供的編輯能力非常有限,而且很難操作,例如,不能使用方向鍵來定位輸入位置,當退出SQL*Plus之后原來輸入的所有命令將立刻丟失。因此,Oracle允許用戶自己選擇合適的編輯器,創建一個腳本文件,在腳本文件中輸入命令,然后在SQL*Plus中使用START命令運行該腳本文件。SQL*Plus常用的腳本文件操作命令如表1.3所示。
表1.3 SQL*PLUS文件操作命令及功能

下面通過實例說明文件操作命令的用法。
【例1.8】 首先在SQL*Plus中輸入一條SQL語句,然后將當前緩沖區的SQL語句保存為后綴名為.sql的文件,以便以后使用或進一步編輯。
輸入SQL語句:
SELECT KCH, KCM FROM KCB WHERE XF=5;
保存SQL語句到kcb.sql文件中:
SAVE D:\kcb.sql
執行結果如圖1.29所示。

圖1.29 保存緩沖區的SQL語句
將保存在磁盤上的文件kcb.sql調入緩沖區,使用如下命令:
GET D:\kcb.sql
要運行緩沖區的命令使用“/”即可,執行結果如下所示。

或者,可以執行運行START命令來運行磁盤上的命令文件:
START D:\kcb.sql
1.3.5 SQL Developer工具
SQL Developer是一個圖形化的、免費的集成開發環境,它被集成于Oracle 11g中,以利于Oracle數據庫的開發。相對于OEM和SQL*Plus來說,SQL Developer更具有Windows風格和集成開發工具的流行元素,操作更加直觀、方便,可以輕松地創建、修改和刪除數據庫對象,運行SQL語句,編譯、調試PL/SQL程序等。SQL Developer大大簡化了數據庫的管理和開發工作,提高了工作效率,縮短了開發周期,所以受到了廣大用戶的喜愛。
啟動SQL Developer的步驟如下。
(1)“開始”→“所有程序”→“Oracle- OraDB11g_home1”→“應用程序開發”→“SQL Developer”。如果是第一次啟動SQL Developer,會彈出“Oracle SQL Developer”窗口,詢問java.exe的完整路徑。由于SQL Developer是用Java語言開發的,所以需要JDK的支持,下載地址為http://java.sun.com/javase/downloads/index.jsp。如果已經安裝了JDK,則單擊“Browse”按鈕選擇java.exe程序的具體路徑,如圖1.30所示。

圖1.30 選擇java.exe程序
(2)單擊“OK”按鈕啟動“Oracle SQL Developer”,啟動畫面如圖1.31所示。啟動時會彈出詢問是否從前一個版本移植設置的對話框,由于沒有安裝以前的版本,所以單擊“No”按鈕,出現“Configure File Type Associations”窗口,如圖1.32所示,選擇相關的文件類型。

圖1.31 Oracle SQL Developer啟動畫面

圖1.32 選擇相關文件類型
(3)單擊“確定”按鈕,出現SQL Developer的主界面,如圖1.33所示。

圖1.33 SQL Developer主界面
(4)SQL Developer啟動后,需要創建一個數據庫連接,只有創建了數據庫連接,才能在該數據庫的方案中創建、更改對象和編輯表中的數據。在主界面左邊窗口的“Connections”選項卡中右擊“Connections”節點,選擇“New Connection”菜單項,彈出“New/Select Database Connection”窗口,如圖1.34所示。

圖1.34 “New/Select Database Connection”窗口
(5)如果要創建一個Oracle數據庫中system用戶方案的數據庫連接,則在“Connection Name”中輸入一個自定義的連接名,如system_ora;在“Usename”中輸入system;在“Password”中輸入相應密碼;選中“Save Password”復選框;“Role”欄保留為默認的“default”;在“Hostname”欄中輸入主機名或保留為localhost;“Port”值保留默認的1521;“SID”欄中輸入數據庫的SID,如本數據庫的系統標識為XSCJ。設置完后單擊“Test”按鈕測試該設置能否連接,如果成功,則會在左下角Status后顯示“Success”。
(6)單擊“Save”按鈕,將測試成功的連接保存起來,以便以后使用。之后在主界面的Connections節點下會添加一個system_ora的數據庫連接,雙擊該連接,在子目錄中會顯示可以操作的數據庫對象,如圖1.35所示。之后對XSCJ數據庫的所有操作都可以在該界面下完成。

圖1.35 新創建的數據庫連接
- UNIX編程藝術
- OpenDaylight Cookbook
- 跟“龍哥”學C語言編程
- HTML5+CSS3基礎開發教程(第2版)
- 數據結構(Java語言描述)
- 數據結構習題精解(C語言實現+微課視頻)
- INSTANT Mercurial SCM Essentials How-to
- 人人都是網站分析師:從分析師的視角理解網站和解讀數據
- Mastering Google App Engine
- Getting Started with Python Data Analysis
- Access 2010數據庫應用技術(第2版)
- HTML5從入門到精通(第4版)
- 交互設計師成長手冊:從零開始學交互
- Groovy 2 Cookbook
- Mastering Unreal Engine 4.X