




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章Oracle9i系統(tǒng)入門1.1Oracle簡介
1.2Oracle9i的安裝
1.3安裝Oracle數(shù)據(jù)庫客戶端
1.4Oracle監(jiān)聽與網(wǎng)絡(luò)配置
1.5數(shù)據(jù)庫的啟動和關(guān)閉
1.6Oracle的工具
1.7基本用戶管理
1.8小結(jié)
習(xí)題一
上機實驗一
1.1Oracle簡介
1.1.1Oracle的發(fā)展歷程
下面我們歸納介紹Oracle的發(fā)展歷程。
1977年,LarryEllison、BobMiner和EdOates等人組建了Relational軟件公司(RSI)。他們決定構(gòu)建一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDataBaseManagementSystem,RDBMS),并很快發(fā)布了第一個軟件版本(僅是原型系統(tǒng))。
1979年,RSI首次向客戶發(fā)布了該軟件產(chǎn)品,即第2版。它是基于SQL標準的數(shù)據(jù)庫管理系統(tǒng),同時也是第一個以SQL語言為基礎(chǔ)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
1983年,RSI推出第3版。同年,RSI更名為OracleCorporation,也就是今天的Oracle公司。
1984年,Oracle的第4版發(fā)布。該版本既支持VAX系統(tǒng),也支持IBMVM操作系統(tǒng)。
1985年,Oracle的第5版發(fā)布。該版本可稱做Oracle發(fā)展史上的里程碑,因為它具有分布式處理能力,同時支持客戶端/服務(wù)器的計算機模式,對數(shù)據(jù)進行集中存儲與處理。
1988年,Oracle的第6版發(fā)布。該版本支持過程化語言PL/SQL、事務(wù)處理選件TPO和熱備份等功能。這時Oracle已經(jīng)可以在許多平臺和操作系統(tǒng)上運行。
1991年,OracleRDBMS的6.1版在DECVAX平臺中引入了ParallelServer選項。
1992年,Oracle7發(fā)布。Oracle7采用多線程服務(wù)器體系結(jié)構(gòu)MTS,可支持更多的用戶并發(fā)訪問和使用,在性能方面有顯著改進,是一個功能完整的關(guān)系數(shù)據(jù)庫管理系統(tǒng),國內(nèi)許多用戶對此版本較為熟悉。
1997年,Oracle8發(fā)布。Oracle8支持面向?qū)ο蟮拈_發(fā)及新的多媒體應(yīng)用,支持Java工業(yè)標準,同時具有處理大量用戶要求和海量數(shù)據(jù)的特性,更適合構(gòu)造大型應(yīng)用系統(tǒng)。
1999年,Oracle公司推出了Oracle8i,這是世界上第一個全面支持Internet的數(shù)據(jù)庫。Oracle
8i
極大地提高了軟件產(chǎn)品的伸縮性、擴展性和可用性,以滿足網(wǎng)絡(luò)應(yīng)用的需要。
2001年,Oracle9irelease1發(fā)布。這是Oracle9i的第一個發(fā)行版。2002年,Oracle9irelease2發(fā)布。它在release1的基礎(chǔ)上增加了集群文件系統(tǒng)(ClusterFileSystem)等特性。Oracle9i版本功能強大,其產(chǎn)品包括數(shù)據(jù)庫核心、開發(fā)組件、應(yīng)用服務(wù)器及客戶端開發(fā)工具組件,集成了ApacheWebServer,可以使用PL/SQL和Java開發(fā)Web應(yīng)用。
2004年,針對網(wǎng)格計算的Oracle10g正式發(fā)布。
1.1.2Oracle系統(tǒng)的特點
Oracle在業(yè)界享有良好的聲譽,具有強大的功能、良好的穩(wěn)定性和安全性。Oracle數(shù)據(jù)庫具有很多優(yōu)點。
(1)支持大數(shù)據(jù)庫、多用戶、高性能的事務(wù)處理。Oracle支持多用戶、大數(shù)據(jù)量的工作負荷;支持并發(fā)用戶數(shù)達20000個,支持的數(shù)據(jù)量達512PB(1PB=1024×1024?GB),可充分利用硬件設(shè)備;支持大量用戶同時在同一數(shù)據(jù)上執(zhí)行各種數(shù)據(jù)應(yīng)用,并使數(shù)據(jù)爭用降為最小,從而保證數(shù)據(jù)的一致性;具有高性能的系統(tǒng)維護,Oracle每天連續(xù)24小時工作,正常的系統(tǒng)操作(后備或個別計算機系統(tǒng)故障)不會中斷數(shù)據(jù)庫的使用。
(2)Oracle遵守數(shù)據(jù)存取語言、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標準。它是一個開放系統(tǒng),能夠有效地保護用戶的資源。
(3)實施安全性控制和完整性控制。Oracle通過權(quán)限設(shè)置用戶對數(shù)據(jù)庫的使用,通過權(quán)限控制用戶對數(shù)據(jù)庫的存取。Oracle實施數(shù)據(jù)審計,追蹤、監(jiān)控數(shù)據(jù)存取,提供可靠的安全性。數(shù)據(jù)完整性是指保證數(shù)據(jù)的一致性和正確性。Oracle在數(shù)據(jù)發(fā)生變化的過程中進行鎖定,通過Oracle約束或觸發(fā)器等機制實施數(shù)據(jù)完整性控制。
(4)支持分布式數(shù)據(jù)庫和分布處理。Oracle可以將物理上分布在不同地點的數(shù)據(jù)庫或不同地點的不同計算機上的數(shù)據(jù)看做一個邏輯數(shù)據(jù)庫,數(shù)據(jù)的物理結(jié)構(gòu)對應(yīng)用程序是隱藏的。數(shù)據(jù)是否駐留在數(shù)據(jù)庫中對應(yīng)用程序是透明的。鎖定、完整性控制等都由Oracle數(shù)據(jù)庫系統(tǒng)自動完成。數(shù)據(jù)可被全部網(wǎng)絡(luò)用戶存取,就好像所有數(shù)據(jù)都是物理地存儲在本地數(shù)據(jù)庫中一樣。
(5)Oracle是面向?qū)ο蟮年P(guān)系數(shù)據(jù)庫。一方面,它可以存儲傳統(tǒng)的字符、數(shù)字、日期、文本和圖像數(shù)據(jù),具備關(guān)系數(shù)據(jù)庫的所有基本特征;另一方面,它在支持原有關(guān)系數(shù)據(jù)庫的基礎(chǔ)上,引入對象類型,實現(xiàn)了對面向?qū)ο蟮闹С?,可以用來存儲多媒體、空間、時間序列、地理信息等數(shù)據(jù)。
(6)?J2EE運算平臺——Oracle應(yīng)用服務(wù)器。
Oracle不僅完全整合了本地Java運行環(huán)境的數(shù)據(jù)庫,用Java可以編寫Oracle的存儲過程和EJB組件,而且可以使用PL/SQL和Java開發(fā)Web應(yīng)用。
(7)具有可移植性、可兼容性和可連接性。Oracle系統(tǒng)可以運行在100多種不同的硬件平臺和軟件平臺上。由于Oracle軟件可在許多不同的操作系統(tǒng)上運行,因此在Oracle上所開發(fā)的應(yīng)用系統(tǒng)可移植到任何操作系統(tǒng)上,只需做很少修改或不需修改。Oracle軟件同工業(yè)標準相兼容,包括許多工業(yè)標準的操作系統(tǒng),其所開發(fā)的應(yīng)用系統(tǒng)可在任何操作系統(tǒng)上運行??蛇B接性是指Oracle允許不同類型的計算機和操作系統(tǒng)通過網(wǎng)絡(luò)共享信息。
1.1.3Oracle系統(tǒng)的應(yīng)用
Oracle是一個技術(shù)先進的、優(yōu)秀的大型數(shù)據(jù)庫管理系統(tǒng)。Oracle公司提供數(shù)據(jù)庫、開發(fā)工具、全套企業(yè)資源規(guī)劃(ERP)、客戶關(guān)系管理(CRM)應(yīng)用產(chǎn)品、決策支持(OLAP)以及電子商務(wù)(e-Business)應(yīng)用產(chǎn)品,并提供全球化的技術(shù)支持、培訓(xùn)和咨詢顧問服務(wù)。Oracle的應(yīng)用非常廣泛。據(jù)統(tǒng)計,Oracle在全球數(shù)據(jù)庫市場中的占有率達到33.3%,在關(guān)系型數(shù)據(jù)庫市場中擁有42.1%的份額,在關(guān)系型數(shù)據(jù)庫UNIX市場中占據(jù)著高達66.2%的市場。Oracle應(yīng)用產(chǎn)品包括財務(wù)、供應(yīng)鏈、制造、項目管理、人力資源、市場與銷售等70多個模塊,現(xiàn)已被全球7600多家企業(yè)所采用。
惠普、波音和通用電氣等眾多大型跨國企業(yè)都利用Oracle電子商務(wù)套件運行業(yè)務(wù)。在我國,Oracle的應(yīng)用已經(jīng)深入到銀行、證券、郵電、鐵路、民航、軍事、財稅、教育等許多領(lǐng)域。目前,我國許多大型企業(yè)都引入了Oracle電子商務(wù)套件系統(tǒng)作為企業(yè)信息化平臺,使企業(yè)與國際接軌,提高了企業(yè)的競爭力。
1.2Oracle9i的安裝
1.2.1系統(tǒng)配置
1.硬件配置
一般來說,安裝Oracle對服務(wù)器的硬件配置要求如下:
(1)PentiumⅢ以上的CPU。
(2)推薦使用256MB以上的內(nèi)存。
(3)4GB以上的空閑硬盤空間。
(4)?Oracle9i的安裝光盤共有3張,若采用光盤安裝,則需要進行大量的文件操作,因此建議選用快速光驅(qū),最好為16倍速以上。若有足夠大的硬盤,則建議將光盤數(shù)據(jù)復(fù)制到硬盤后再進行安裝。
2.軟件配置
以Windows操作系統(tǒng)為例,其軟件配置如下:
(1)Windows2000Server/XP或WindowsNT4.0+ServicePack6。
(2)JavaDevelopmentKit(JDK)1.1.8。
Oracle公司推薦在WindowsNT和Windows2000Server下安裝Oracle數(shù)據(jù)庫系統(tǒng),并定義磁盤的分區(qū)為NTFS格式。
1.2.2安裝數(shù)據(jù)庫服務(wù)器
1.安裝前的準備工作
為確保安裝順利進行,需進一步確認以下內(nèi)容:
(1)確認操作系統(tǒng)和Oracle安裝版本號。將Windows2000Server作為安裝Oracle的網(wǎng)絡(luò)操作系統(tǒng)平臺,數(shù)據(jù)庫服務(wù)器采用Oracle9iDatabaseforWindows2000的企業(yè)版。
(2)確認系統(tǒng)配置。確認系統(tǒng)的軟/硬件配置滿足系統(tǒng)的安裝要求。
(3)安裝前先做好注冊表的備份工作,這項工作主要是防止在系統(tǒng)安裝過程中發(fā)生意外情況,如斷電等。
2.安裝步驟
(1)將安裝光盤的第一張放入光驅(qū),系統(tǒng)自動運行,出現(xiàn)安裝程序,單擊【開始安裝】按鈕,出現(xiàn)如圖1-1所示的“歡迎”界面。
圖1-1“歡迎”界面
(2)單擊【下一步】按鈕,出現(xiàn)如圖1-2所示的“文件定位”界面。在此界面中設(shè)置Oracle的安裝路徑以及主目錄路徑。Oracle主目錄是數(shù)據(jù)庫系統(tǒng)的唯一名稱標識,“名稱”文本框確定安裝后的程序組名,取默認值。與該系統(tǒng)有關(guān)的服務(wù)和程序組都將使用Oracle主目錄名進行命名,并使用主目錄路徑確定執(zhí)行路徑?!奥窂健笨筛囊部扇∧J值。Oracle主目錄路徑對應(yīng)于系統(tǒng)環(huán)境變量Oracle_home,主目錄名稱對應(yīng)于系統(tǒng)環(huán)境變量Oracle_home_name。
圖1-2“文件定位”界面
(3)單擊【下一步】按鈕,出現(xiàn)如圖1-3所示的“可用產(chǎn)品”界面?!翱捎卯a(chǎn)品”的安裝選項分別為Oracle9iDatabase.1、Oracle9iClient.1、Oracle9iManagementandIntegration.1,這些選項對應(yīng)的詳細說明如表1-1所示。在這里選中“Oracle9iDatabase.1”單選項,單擊【下一步】按鈕,出現(xiàn)如圖1-4所示的“安裝類型”界面,選中“企業(yè)版”安裝類型。
圖1-3“可用產(chǎn)品”界面
圖1-4“安裝類型”界面
(4)選擇數(shù)據(jù)庫配置。“數(shù)據(jù)庫配置”界面如圖1-5所示。在此窗口中選擇是否在安裝過程中創(chuàng)建數(shù)據(jù)庫以及創(chuàng)建何種類型的數(shù)據(jù)庫。該窗口中有以下3種數(shù)據(jù)庫類型,這里選擇“通用”。
●事務(wù)處理:針對具有大量并發(fā)用戶連接,并且用戶主要執(zhí)行簡單事務(wù)處理的應(yīng)用。
●數(shù)據(jù)倉庫:針對有大量的對某個主題進行復(fù)雜查詢的應(yīng)用環(huán)境。
●通用:兼具上述兩種方案的特點,能夠為并發(fā)事務(wù)處理和復(fù)雜查詢提供較優(yōu)異的性能。
圖1-5“數(shù)據(jù)庫配置”界面
表1-1Oracle9i的安裝選項
(5)輸入數(shù)據(jù)庫標識。如圖1-6所示,在該界面中設(shè)置新建數(shù)據(jù)庫的全局數(shù)據(jù)庫名以及Oracle實例名(SID)。在“全局數(shù)據(jù)庫名”文本框中輸入數(shù)據(jù)庫的名稱,以“Ora9”為例,在“SID”文本框中自動生成“Ora9”,單擊【下一步】按鈕,出現(xiàn)如圖1-7所示的“數(shù)據(jù)庫文件位置”界面。
圖1-6“數(shù)據(jù)庫標識”界面
圖1-7“數(shù)據(jù)庫文件位置”界面
(6)系統(tǒng)將默認設(shè)置數(shù)據(jù)庫文件(包括數(shù)據(jù)文件、控制文件和日志文件)的存放目錄。單擊【下一步】按鈕,出現(xiàn)如圖1-8所示的“數(shù)據(jù)庫字符集”界面。選擇“使用缺省字符集”單選項,單擊【下一步】按鈕,出現(xiàn)如圖1-9所示的“摘要”界面,將顯示全局設(shè)置、產(chǎn)品語言、空間要求等,進一步確認正確后,單擊【安裝】按鈕開始正式安裝。
圖1-8“數(shù)據(jù)庫字符集”界面
圖1-9“摘要”界面
(7)安裝過程開始復(fù)制文件,在進行到整個過程的44%時,出現(xiàn)如圖1-10所示的“磁盤位置”界面,此時插入第二張光盤,在安裝進程進行到87%時,再次出現(xiàn)“磁盤位置”界面,此時更換第三張光盤,文件復(fù)制完畢后,出現(xiàn)如圖1-11所示的“配置工具”界面。安裝程序?qū)⒆詣油瓿?項任務(wù):調(diào)用“Oracle網(wǎng)絡(luò)配置助手”完成網(wǎng)絡(luò)配置,啟動“Oracle??HTTP服務(wù)”,調(diào)用“數(shù)據(jù)庫配置助手”完成數(shù)據(jù)庫的創(chuàng)建和啟動,啟動“Oracle智能代理”。
圖1-10“磁盤位置”界面
圖1-11“配置工具”界面
(8)調(diào)用的數(shù)據(jù)庫配置助手界面如圖1-12所示。成功創(chuàng)建數(shù)據(jù)庫后出現(xiàn)如圖1-13所示的界面,該界面要求用戶指定SYSTEM口令和SYS口令。單擊【確定】按鈕,出現(xiàn)如圖1-14所示的“安裝結(jié)束”界面。單擊【退出】按鈕,系統(tǒng)安裝結(jié)束。
圖1-12數(shù)據(jù)庫配置助手界面
圖1-13成功創(chuàng)建數(shù)據(jù)庫界面
圖1-14“安裝結(jié)束”界面
1.2.3檢查安裝后的情況
1.在“程序”菜單中檢查
在數(shù)據(jù)庫服務(wù)器安裝結(jié)束后,檢查“所有程序”菜單中的項目,選擇“開始”→“所有程序”,共有兩項:
(1)
Oracle-OraHome90Oracle工具;
(2)?OracleInstallationProductsOracle安裝產(chǎn)品。
2.檢查服務(wù)器的文件結(jié)構(gòu)
Oracle9i數(shù)據(jù)庫服務(wù)器安裝后,由于安裝設(shè)置選項不同,因此文件目錄結(jié)構(gòu)也不同,一般得到的文件結(jié)構(gòu)在安裝目錄下大致分為3個文件夾,分別為admin、ora90和oradata。
(1)admin:該文件夾下面按照數(shù)據(jù)庫系統(tǒng)標識符名稱建立子文件夾,在每個子文件夾下存放對該數(shù)據(jù)庫的管理信息和日志文件,是數(shù)據(jù)庫管理員分析數(shù)據(jù)庫、查找歷史記錄的地方。
(2)ora90:存放的是整個數(shù)據(jù)庫服務(wù)器的程序文件。
(3)?oradata:該文件夾下面按照數(shù)據(jù)庫系統(tǒng)標識符名稱建立子文件夾,用于存放某個數(shù)據(jù)庫的數(shù)據(jù)文件、控制文件、索引文件等,是真正的數(shù)據(jù)存放位置,對數(shù)據(jù)庫系統(tǒng)的備份和恢復(fù)有重要意義。
3.在“服務(wù)”中檢查
在Windows操作系統(tǒng)下安裝Oracle9i時會安裝很多服務(wù),并且其中一些配置在Windows啟動時啟動。當Oracle運行在Windows下時,它會消耗很多資源,并且有些服務(wù)可能并不總是需要。選擇“開始”→“設(shè)置”→“控制面板”命令,雙擊“管理工具”圖標,選擇“服務(wù)”選項,打開如圖1-15所示的界面。圖1-15列出了安裝服務(wù)器后Oracle所有需要啟動的服務(wù)。在Windows操作系統(tǒng)中,可以在控制面板的服務(wù)中改變想要禁用的服務(wù)的啟動類型參數(shù),雙擊某個服務(wù)查看其屬性,然后將啟動類型屬性由自動改為手動。以下介紹Oracle的主要服務(wù)。
圖1-15Oracle安裝后的服務(wù)
(1)?OracleService<SID>:數(shù)據(jù)庫服務(wù)。該服務(wù)由數(shù)據(jù)庫實例系統(tǒng)標識符SID創(chuàng)建,SID是Oracle安裝期間輸入的數(shù)據(jù)庫服務(wù)名字(如OracleServiceORA9)。該服務(wù)是強制性的,它擔負著啟動數(shù)據(jù)庫實例的任務(wù)。如果沒有啟動該服務(wù),則當使用任何Oracle工具(如SQL*Plus)時,將出現(xiàn)ORA-12560的錯誤信息提示。該信息內(nèi)容為“ORA-12560TNS:protocoladaptererror”,這意味著數(shù)據(jù)庫管理系統(tǒng)的管理對象沒有啟動,即數(shù)據(jù)庫沒有工作。當系統(tǒng)中安裝了多個數(shù)據(jù)庫時,會有多個OracleService<SID>,SID會因數(shù)據(jù)庫的不同而不同。
(2)?Oracle<HOME_NAME>TNSListener:監(jiān)聽器服務(wù)。該服務(wù)承擔著監(jiān)聽并接受來自客戶端應(yīng)用程序的連接請求的任務(wù)。如果該服務(wù)沒有啟動,那么當使用Oracle企業(yè)管理器控制臺或一些圖形化的工具進行連接時,將出現(xiàn)錯誤信息“ORA-12541TNS:nolistener”,但對本地連接并無影響。例如,使用SQL*Plus工具進行連接時,不會出現(xiàn)錯誤信息提示。一般將該服務(wù)的啟動類型設(shè)置為“自動”,這樣當計算機系統(tǒng)啟動后,該服務(wù)即自動啟動。此外,也可通過手動方式啟動服務(wù),即使用netstartOracle<Home_Name>TNSListener或者lsnrctlstart命令。
(3)?Oracle<Home_Name>Agent:代理服務(wù)。該服務(wù)是Oracle企業(yè)管理器產(chǎn)品的一部分。執(zhí)行作業(yè)和監(jiān)視Oracle服務(wù)性能及監(jiān)聽器、數(shù)據(jù)庫、OracleHTTPServer和Oracle應(yīng)用程序等目標需要使用智能代理(IntelligentAgent)。一般將該服務(wù)的啟動類型設(shè)置為“自動”,這樣當計算機系統(tǒng)啟動后,該服務(wù)自動啟動。如果該代理服務(wù)沒有啟動,則在啟動OEMConsole時,系統(tǒng)無法通過Oracle<Home_Name>Agent找到數(shù)據(jù)庫所在的節(jié)點。因此,在使用EnterpriseManagerConsole打開控制臺時,會因無法找到數(shù)據(jù)庫所在的節(jié)點而不能顯示該數(shù)據(jù)庫。
(4)?Oracle<Home_Name>HTTPServer:該服務(wù)基于瀏覽器的企業(yè)管理器及資料檔案庫啟動OracleHTTPServer。它對應(yīng)于ApacheServer,即WebServer。它也是運行iSQL*Plus所必需的中間層??筛鶕?jù)實際情況將該服務(wù)的啟動類型設(shè)置為“自動”或“手動”。當設(shè)置為“自動”時,OracleHTTPServer將隨著計算機的啟動而自動啟動;否則,可通過菜單組中的“StartHTTPServerpoweredbyApache”來啟動OracleHTTPServer。
(5)Oracle<Home_Name>ManagementServer:OMS(OracleManagementServer)服務(wù)在客戶端與所管理目標之間起著集中管理和分布式的控制作用,與代理協(xié)同工作,處理監(jiān)視信息和作業(yè)信息,并使用管理資料檔案庫存儲其管理數(shù)據(jù)。當系統(tǒng)安裝完成后,Oracle<Home_Name>ManagementServer并沒有出現(xiàn)在Windows的“服務(wù)”窗口中,只有當使用程序組“ConfigurationandMigrationTools”中的“EnterpriseManagerConfigurationAssistant”創(chuàng)建了資料檔案庫后,系統(tǒng)才隨之創(chuàng)建并啟動該服務(wù)。若要停止該服務(wù),也就是停止OracleManagementServer,則必須提供超級管理員的身份證明,即管理員的帳戶和口令,默認的帳戶和口令為sysman/oem_temp。Oracle企業(yè)管理器只有在創(chuàng)建了資料檔案庫后才能以sysman帳戶登錄,否則只能以獨立形式直接使用和管理本地數(shù)據(jù)庫。如果要啟動、關(guān)閉或設(shè)置服務(wù)的狀態(tài),則也可在DOS命令行中使用omsntsrv.exe命令完成。具體命令的使用格式可通過omsntsrv-h命令查看。
4.檢查連接數(shù)據(jù)庫
完成前幾步后,說明數(shù)據(jù)庫和監(jiān)聽器服務(wù)都已經(jīng)正常工作了,下一步在服務(wù)器端使用SQL*Plus查詢工具,在本機上選擇“開始”→“程序”→“Oracle-OraHome90”→“ApplicationDevelopment”→“SQLPlus”(SQL*Plus工具將在3.1節(jié)中介紹)檢查連接數(shù)據(jù)庫的情況。運行SQL*Plus后,如圖1-16所示,在“用戶名”文本框中輸入
system(或scott),在“口令”文本框中輸入manager(或tiger),在“主機字符串”文本框中輸入ora9i,將會登錄Oracle服務(wù)器,進入SQL*Plus窗口。連接成功后的SQL*Plus界面如圖1-17所示。
圖1-16“注冊”對話框
圖1-17成功連接后的SQL*Plus界面
1.3安裝Oracle數(shù)據(jù)庫客戶端
1.3.1服務(wù)器和客戶機的概念
Oracle數(shù)據(jù)庫是一種網(wǎng)絡(luò)上的數(shù)據(jù)庫,它在網(wǎng)絡(luò)上支持多用戶,支持服務(wù)器/客戶機等部署??梢栽诰W(wǎng)絡(luò)上以多種形式部署Oracle。如果僅在單機上使用Oracle,則不需要單獨在該機器上安裝Oracle客戶端,因為安裝Oracle數(shù)據(jù)庫的時候會自動安裝Oracle客戶端。但這種情況并不能充分發(fā)揮其作用。服務(wù)器與客戶機是邏輯上的概念,與計算機硬件不存在一一對應(yīng)的關(guān)系。同一臺計算機既可以充當服務(wù)器,也可以充當客戶機,還可以同時充當服務(wù)器和客戶機。
要使局域網(wǎng)內(nèi)一個客戶端機器能連接Oracle數(shù)據(jù)庫,需要在客戶端機器上安裝Oracle的客戶端軟件。
1.3.2客戶端的安裝步驟
(1)啟動安裝向?qū)Вx擇安裝路徑和主目錄路徑。
(2)安裝完成后,顯示如圖1-18所示的“可用產(chǎn)品”窗口。選擇“Oracle9iClient.1”選項,開始客戶端的安裝。單擊【下一步】按鈕,顯示如圖1-19所示的“安裝類型”界面,選擇“Administrator”選項開始安裝?!鞍惭b類型”界面說明如下:
“Administrator”表示管理員安裝。安裝內(nèi)容包括管理控制臺、管理工具、網(wǎng)絡(luò)服務(wù)、實用程序以及基本客戶機軟件,需要647MB的磁盤空間。
“運行時”表示為數(shù)據(jù)庫應(yīng)用程序用戶提供了連接Oracle9i數(shù)據(jù)庫并進行交互的網(wǎng)絡(luò)連接服務(wù)和支持文件,需要486MB的磁盤空間。
“自定義”表示用戶可以自行選擇安裝,某些附加組件只能通過“自定義”安裝類型進行安裝。安裝中需要插入第二張光盤,文件復(fù)制完成后,彈出網(wǎng)絡(luò)配置工具(NetConfigurationAssistant)。
圖1-18“可用產(chǎn)品”界面
圖1-19“安裝類型”界面
(3)安裝完畢,安裝向?qū)印癘racleNetConfigurationAssistant”為客戶機進行網(wǎng)絡(luò)服務(wù)配置。現(xiàn)在所要做的就是建立服務(wù)器/客戶端模式的關(guān)鍵操作,配置過程中將出現(xiàn)如圖1-20所示的網(wǎng)絡(luò)配置向?qū)Ы缑妫儐柺欠袷褂媚夸浄?wù),選擇“不,我要自己創(chuàng)建網(wǎng)絡(luò)服務(wù)名”選項,Oracle9i網(wǎng)絡(luò)配置向?qū)椭脩敉瓿蓜?chuàng)建網(wǎng)絡(luò)服務(wù)名的工作。
圖1-20網(wǎng)絡(luò)配置向?qū)Ы缑?/p>
(4)在圖1-21所示的“數(shù)據(jù)庫版本”界面中選擇“oracle8i或更高版本數(shù)據(jù)庫或服務(wù)”選項。在圖1-22所示的“服務(wù)名”界面中填寫服務(wù)名(即數(shù)據(jù)庫SID)“ora9”。在圖1-23所示的“請選擇協(xié)議”界面中選擇網(wǎng)絡(luò)協(xié)議,選擇默認(TCP)。在圖1-24所示的“TCP/IP協(xié)議”界面中填寫主機名(IP地址)和連接端口號(通常為1521)。
圖1-21“數(shù)據(jù)庫版本”界面
圖1-22“服務(wù)名”界面
圖1-23“請選擇協(xié)議”界面
圖1-24“TCP/IP協(xié)議”界面
(5)在圖1-25所示的“測試”界面中選擇“是,進行測試”單選項,并單擊【下一步】按鈕,出現(xiàn)如圖1-26所示的“正在連接”界面。如果測試成功,則將顯示“測試成功”信息。
圖1-25“測試”界面
圖1-26
“正在連接”界面
(6)在圖1-27所示的“網(wǎng)絡(luò)服務(wù)名”界面中填寫網(wǎng)絡(luò)服務(wù)名“ora9”,然后詢問是否配置另一網(wǎng)絡(luò)服務(wù)名,選擇“否”,單擊【下一步】按鈕,出現(xiàn)如圖
1-28所示的“網(wǎng)絡(luò)服務(wù)名配置完畢”界面,顯示配置完畢!單擊【下一步】按鈕,OracleNet配置完畢!安裝完成!
圖
1-27“網(wǎng)絡(luò)服務(wù)名”界面
圖1-28“網(wǎng)絡(luò)服務(wù)名配置完畢”界面
1.3.3從客戶機訪問Oracle數(shù)據(jù)庫
在客戶機上選擇“開始”→“程序”→“Oracle-OraHome90”→“ApplicationDevelopment”
→“SQLPlus”,將顯示如圖1-16所示的對話框。在“用戶名”文本框中輸入
system(或scott),在“口令”文本框中輸入
manager(或tiger),在“主機字符串”文本框中輸入ora9(如圖1-27“網(wǎng)絡(luò)服務(wù)名”界面所填寫的內(nèi)容),將會登錄Oracle服務(wù)器,進入SQL*Plus界面。
1.4Oracle監(jiān)聽與網(wǎng)絡(luò)配置
上一節(jié)講述了客戶端的安裝以及如何連接到數(shù)據(jù)庫服務(wù)器。假如客戶機/服務(wù)器的環(huán)境已經(jīng)配置好,但在局域網(wǎng)內(nèi)又添加了一臺Oracle數(shù)據(jù)庫服務(wù)器,或者在服務(wù)器上又新創(chuàng)建了一個Oracle數(shù)據(jù)庫,則服務(wù)器和客戶端都需要進行網(wǎng)絡(luò)配置才能實現(xiàn)網(wǎng)絡(luò)連接。這就需要在服務(wù)器端配置監(jiān)聽器listener.ora,在客戶端配置網(wǎng)絡(luò)服務(wù)名tnsnames.ora,才能使客戶機訪問相應(yīng)的Oracle數(shù)據(jù)庫。Oracle客戶機和服務(wù)器的網(wǎng)絡(luò)配置示意圖如圖1-29所示。
圖1-29Oracle服務(wù)器和客戶機的網(wǎng)絡(luò)配置示意圖
在WindowsNT/2000下,tnsnames.ora和listener.ora存放在ORACLE_HOME\network\admin目錄下。Oracle_home為Oracle安裝路徑。本系統(tǒng)的安裝路徑為Oracle_home=C:\oracle\ora90。
1.4.1服務(wù)器監(jiān)聽器文件listener.ora的配置
監(jiān)聽器是Oracle基于服務(wù)器端的一種網(wǎng)絡(luò)服務(wù),主要用于監(jiān)聽客戶端向數(shù)據(jù)庫服務(wù)器端提出的連接請求。服務(wù)器端軟件在安裝好后,會自動配置一個監(jiān)聽器,因此需查看是否啟動監(jiān)聽器程序。如果數(shù)據(jù)庫沒有啟動監(jiān)聽器程序,則可用以下兩種方法啟動。
(1)在Windows的服務(wù)中啟動Oracle<HOME_NAME>TNSListener服務(wù)來啟動監(jiān)聽進程。
(2)用命令行方式啟動。
在操作系統(tǒng)提示符下,輸入以下命令啟動listener:
C:\>lsnrctlstart
可用以下命令查看啟動狀態(tài):
C:\>lsnrctlstatus
如果要停止監(jiān)聽進程,則可以使用下列命令,這時所有客戶端都連接不上服務(wù)器。
C:\>lsnrctlstop
作為基于服務(wù)器端的服務(wù),它只存在于數(shù)據(jù)庫服務(wù)器端,監(jiān)聽器的設(shè)置也是在數(shù)據(jù)庫服務(wù)器端完成的。服務(wù)器端監(jiān)聽器的配置信息包括監(jiān)聽協(xié)議、地址及其他相關(guān)信息。配置信息保存在名為listener.ora的文件中??梢杂檬止ぞ庉嫽蛳?qū)渲谩?/p>
listener.ora文件的格式如下:
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))
)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver)(PORT=1521))
)
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=C:\oracle\ora90)
(PROGRAM=extproc)
)
(SID_DESC=
(GLOBAL_DBNAME=ora9)
(ORACLE_HOME=C:\oracle\ora90)
(SID_NAME=ora9)
)
)1.4.2客戶端網(wǎng)絡(luò)服務(wù)名文件tnsnames.ora的配置
為了使客戶端應(yīng)用可以訪問Oracle服務(wù)器,必須在客戶端配置網(wǎng)絡(luò)服務(wù)名,最終客戶端應(yīng)用程序就可以通過該網(wǎng)絡(luò)服務(wù)名訪問Oracle服務(wù)器??蛻舳说木W(wǎng)絡(luò)服務(wù)名配置信息包括服務(wù)器地址、監(jiān)聽端口號和數(shù)據(jù)庫SID,以及與服務(wù)器的監(jiān)聽器建立的連接。配置信息保存在名為tnsnames.ora的配置文件中??梢酝ㄟ^配置工具向?qū)нM行配置,也可以手工配置。
在客戶端機器上使用OracleNetConfigurationAssistant或OracleNetManager圖形配置工具對客戶端進行配置,啟動“Oracle網(wǎng)絡(luò)配置助手”的方法是:在客戶機上選擇“開始”→“程序”→“Oracle-OraHome90”
→“ConfigurationandMigrationtools”→“NetConfigurationAssistant”,利用圖形工具在圖1-30所示的網(wǎng)絡(luò)服務(wù)名配置界面中選擇“本地網(wǎng)絡(luò)服務(wù)名配置”,按照向?qū)е鸩脚渲梅?wù)器地址、監(jiān)聽端口號和數(shù)據(jù)庫SID。(具體的配置過程可以參考本章實驗2“客戶端軟件的安裝以及網(wǎng)絡(luò)配置”中圖1-34~圖1-42的操作步驟。)圖1-30網(wǎng)絡(luò)服務(wù)名配置界面
該配置工具實際上是在修改tnsnames.ora文件,所以也可以手工直接修改tnsnames.ora文件。下面以直接修改tnsnames.ora文件為例,該文件位于ORACLE_HOME\network\admin目錄下。此處,假設(shè)數(shù)據(jù)庫服務(wù)器主機名為dbserver,使用的偵聽端口號為1521,則tnsnams.ora文件中的一個test網(wǎng)絡(luò)服務(wù)名(數(shù)據(jù)庫別名)為
test=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=test)
)
)
說明:
PROTOCOL:客戶端與服務(wù)器端的通信協(xié)議,一般為TCP。
HOST:數(shù)據(jù)庫偵聽所在機器的機器名或IP地址。
PORT:數(shù)據(jù)庫偵聽正在偵聽的端口,可以查看服務(wù)器端的listener.ora文件或在數(shù)據(jù)庫偵聽所在機器的命令提示符下通過lnsrctlstatus[listenername]命令查看。此處PORT的值一定要與數(shù)據(jù)庫偵聽正在偵聽的端口相同。
SERVICE_NAME:該參數(shù)對應(yīng)一個數(shù)據(jù)庫,在服務(wù)器端,以system用戶登錄后,用以下命令查看:
SQL>showparameterservice_name;
注意:Oracle數(shù)據(jù)庫中不區(qū)分英文大小寫。
1.4.3連接到數(shù)據(jù)庫
用SQL*Plus程序通過test網(wǎng)絡(luò)服務(wù)名進行測試,最終用戶以下列格式輸入包括網(wǎng)絡(luò)服務(wù)名的連接字符串:
SQL>connectusername/password@net_service_name
在以上示例中,test是在tnsnames.ora文件中查找的網(wǎng)絡(luò)服務(wù)名,執(zhí)行下列命令進行
連接:
SQL>connectscott/tiger@test;
1.5數(shù)據(jù)庫的啟動和關(guān)閉
1.5.1啟動
當實例啟動時,數(shù)據(jù)庫完成從裝載到打開狀態(tài)的改變。啟動實例的通用語法格式如下:
STARTUP[FORCE][NOMOUNT|MOUNT|OPEN][Oracle_sid][PFILE=name][RESTRICT]
其中:FORCE表示在啟動實例之前先關(guān)閉實例;RESTRICT為限制方式,允許具有RESTRICTEDSESSION系統(tǒng)權(quán)限的用戶訪問,一般在維護數(shù)據(jù)庫運行方式下使用;PFILE包含啟動參數(shù),如不指定參數(shù),則從INIT<Oracle.sid>.ORA文件中獲取參數(shù)。
下面分別詳細講解[NOMOUNT|MOUNT|OPEN]命令。(注:啟動和關(guān)閉數(shù)據(jù)庫時,用戶必須擁有DBA權(quán)限或者以SYSOPER和SYSDBA身份連接到數(shù)據(jù)庫。)
(1)STARTUPNOMOUNT啟動實例,但不裝載數(shù)據(jù)庫,用于建立和維護數(shù)據(jù)庫。代碼如下:
SQL>STARTUPNOMOUNT;
(2)STARTUPMOUNT啟動實例,裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫。MOUNT的意思是只為DBA操作安裝數(shù)據(jù)庫。代碼如下:
SQL>STARTUPMOUNT;
(3)STARTUPOPEN或STARTUP啟動實例,裝載和打開數(shù)據(jù)庫。以這種方式啟動的數(shù)據(jù)庫允許任何有效的用戶連接到數(shù)據(jù)庫。代碼如下:
SQL>STARTUP;
1.5.2關(guān)閉
當關(guān)閉實例時,數(shù)據(jù)庫被關(guān)閉并卸載。在主機系統(tǒng)關(guān)閉之前,必須正常、順利地關(guān)閉數(shù)據(jù)庫,否則會有數(shù)據(jù)丟失等錯誤發(fā)生。
關(guān)閉實例的通用語法格式如下:
SHUTDOWN[NORMAL?|?IMMEDIATE?|?TRANSACTIONAL?|?ABORT]
下面分別詳細講解關(guān)閉數(shù)據(jù)庫的幾種方式。
(1)正常(NORMAL)關(guān)閉方式:正常關(guān)閉數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器必須等待所有用戶從Oracle中正常退出,且所有事務(wù)提交或回退之后才可關(guān)閉實例。下次啟動數(shù)據(jù)庫時不需要進行任何恢復(fù)操作。這種方式的代碼如下:
SQL>SHUTDOWNNORMAL;
(2)立即(IMMEDIATE)關(guān)閉方式:立即關(guān)閉數(shù)據(jù)庫,系統(tǒng)將連接到數(shù)據(jù)庫的所有用戶沒有提交的事務(wù)全部回退,中斷連接,然后關(guān)閉數(shù)據(jù)庫。下次啟動數(shù)據(jù)庫時不需要進行任何恢復(fù)操作。這種方式的代碼如下:
SQL>SHUTDOWNIMMEDIATE;
(3)事務(wù)(TRANSACTIONAL)關(guān)閉方式:以事務(wù)方式關(guān)閉數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器必須等待所有客戶運行的事務(wù)終結(jié)、提交或回退且不允許有新事務(wù)。如果用戶沒有執(zhí)行提交或回退命令,則必須等待。下次啟動數(shù)據(jù)庫時不需要進行任何恢復(fù)操作。這種方式的代碼如下:
SQL>SHUTDOWNTRANSACTIONAL;
(4)終止(ABORT)關(guān)閉方式:直接關(guān)閉數(shù)據(jù)庫,系統(tǒng)立即將數(shù)據(jù)庫實例關(guān)閉,對連接到數(shù)據(jù)庫的所有用戶不作任何檢查,對于數(shù)據(jù)完整性不作檢查,所以這種方式是最快的關(guān)機方式。下次啟動數(shù)據(jù)庫時需要進行數(shù)據(jù)庫恢復(fù)。這種方式的代碼如下:
SQL>SHUTDOWNABORT;
1.6Oracle的工具
1.6.1查詢工具
1.SQL*Plus
SQL*Plus是Oracle為系統(tǒng)管理人員、開發(fā)人員及用戶提供的一個交互式的執(zhí)行SQL語句的環(huán)境,主要用做數(shù)據(jù)查詢和數(shù)據(jù)處理,用于接受和執(zhí)行SQL命令以及PL/SQL塊。
SQL*Plus的詳細使用將在第3章中介紹。這里簡單介紹如何啟動
SQL*Plus環(huán)境。啟動SQL*Plus環(huán)境有兩種方法。
(1)使用GUI工具啟動SQL*Plus。選擇“開始”→“程序”→“Oracle-OraHome90”→“ApplicationDevelopment”→“SQLPlus”,此時將出現(xiàn)如圖1-16所示的“注冊”對話框。在“用戶名”文本框中輸入數(shù)據(jù)庫用戶名,在“口令”文本框中輸入用戶密碼,在“主機字符串”文本框中輸入Oracle服務(wù)器的網(wǎng)絡(luò)服務(wù)名,留空表示登錄本機上的默認數(shù)據(jù)庫實例,單擊【確定】。此時將出現(xiàn)“OracleSQL*Plus”窗口,如圖1-17所示。
(2)使用命令行運行SQL*Plus。在MS-DOS提示符中用sqlplus[<username>]/[<password>][@net_service_name]形式啟動SQL*Plus并進行連接。如在“開始”→“運行”中輸入sqlplus,則出現(xiàn)如圖1-31所示的界面,該界面提示輸入用戶名和口令。
圖1-31使用命令行運行SQL*Plus
2.iSQL*Plus
iSQL*Plus可以執(zhí)行能用SQL*Plus完成的所有任務(wù)。該工具的優(yōu)勢在于能通過瀏覽器訪問。iSQL*Plus是Oracle9i提供的新功能,是SQL*Plus的Web發(fā)布形式。iSQL*Plus基于三層結(jié)構(gòu)設(shè)計。iSQL*Plus不需要單獨安裝,訪問iSQL*Plus只需要知道中間層服務(wù)器的地址和端口,以標準用戶或者sysdba、sysoper的身份登錄即可。iSQL*Plus提供快速的、基于瀏覽器的界面,它通過一個三層模型來使用
SQL*Plus處理引擎。這個模型包括:客戶機層
(iSQL*Plus用戶界面,通常是
Web瀏覽器)、中間層(iSQL*PlusServer、OracleNet和
OracleHTTPServer)和數(shù)據(jù)庫層(Oracle9i)。
(1)啟動服務(wù)器上的HTTP服務(wù)。
(2)通過瀏覽器訪問HTTP服務(wù)器,一般缺省設(shè)置的端口及協(xié)議是:HTTP7778端口/HTTPS4443端口。
注意:不同版本可能使用不同端口,可以通過\ORACLE_HOME\Apache\Apache下的ports.ini文件來查看缺省的端口設(shè)置。如果需要更改端口,則可以通過調(diào)整\ORACLE_HOME\Apache\conf\httpd.conf文件來更改端口設(shè)置。
(3)啟動iSQL*Plus,通過在瀏覽器中輸入http://machine_name.domain:port/isqlplus,就可以啟動iSQL*Plus,如圖1-32所示。輸入用戶名口令等信息就可以登錄到數(shù)據(jù)庫,并執(zhí)行SQL語句及腳本文件。
圖1-32啟動iSQL*Plus1.6.2Oracle企業(yè)管理器
Oracle企業(yè)管理器(以下簡稱為OEM)管理包是一組與OEM集成的工具,有助于管理員進行日常的管理任務(wù)。此工具使用GUI工具而不是SQL*Plus工具,提供了全部的數(shù)據(jù)庫管理功能。在OEM管理包中的工具可以通過OEM獨立控制臺(簡稱為OEMC),或者使用每一個工具單獨訪問。圖1-33顯示了OEMC的屏幕界面。使用OEM管理包可以完成下列任務(wù)。
圖1-33OEMC的屏幕界面
1.例程管理(InstanceManager)
使用此工具包可執(zhí)行以下任務(wù):啟動和關(guān)閉一個Oracle實例;查看和編輯實例參數(shù)值;觀察和修改內(nèi)存分配、重做日志以及歸檔狀態(tài);觀察用戶會話以及它們的SQL語句;查看SQL的執(zhí)行計劃;管理未決的事務(wù)處理;通過資源計劃控制處理資源;監(jiān)視長時間運行的會話;管理已存儲配置;管理占用資源數(shù)量最多的鎖和會話。
2.方案管理(SchemaManager)
使用此工具包可以建立、修改、刪除任何模式對象,顯示模式對象的相關(guān)性,包括高級隊列和Java存儲過程。
3.安全性管理(SecurityManager)
使用此工具包可進行以下操作:創(chuàng)建、修改、刪除用戶、角色和概要文件(profile),向數(shù)據(jù)庫用戶授予權(quán)限和角色等。
4.存儲管理(StorageManager)
使用此工具包可以管理表空間、數(shù)據(jù)文件、回退段,重做日志文件組以及歸檔日志文件等存儲對象,還可進行以下操作:創(chuàng)建存儲對象,將數(shù)據(jù)文件和回退段添加到表空間中,刪除存儲對象,將對象聯(lián)機或脫機,顯示對象的相關(guān)性。
5.分布管理
分布管理構(gòu)成分布式數(shù)據(jù)庫系統(tǒng)的多個數(shù)據(jù)庫之間復(fù)制和維護數(shù)據(jù)庫對象的過程。
6.數(shù)據(jù)倉庫管理
此工具包可以提供集成的數(shù)據(jù)倉庫支持,以及存儲在數(shù)據(jù)庫內(nèi)部的OLAP元數(shù)據(jù)。
7.工作空間管理
工作空間是一個或多個用戶可以共享的,用來對數(shù)據(jù)庫中的數(shù)據(jù)進行更改的虛擬環(huán)境。工作空間管理涉及可以供許多用戶共享的一個或多個工作空間的管理。
可以借助OEMC工具了解Oracle的體系結(jié)構(gòu):在方案管理中可以創(chuàng)建用戶所需的數(shù)據(jù)對象(如建表等),在存儲管理中可了解如何管理表空間、數(shù)據(jù)文件等信息。
1.7基本用戶管理
1.7.1以O(shè)racle系統(tǒng)用戶登錄
當創(chuàng)建一個新數(shù)據(jù)庫時,Oracle將創(chuàng)建一些默認數(shù)據(jù)庫用戶。下面簡單介紹一下SYS、SYSTEM和SCOTT用戶。
(1)SYS用戶是Oracle中的一個超級用戶,主要用來維護系統(tǒng)信息和管理實例。
(2)SYSTEM用戶是Oracle中默認的系統(tǒng)管理員,它擁有DBA權(quán)限。通常通過SYSTEM用戶管理Oracle數(shù)據(jù)庫的用戶、權(quán)限和存儲等。
(3)?SCOTT用戶是Oracle數(shù)據(jù)庫的一個示范帳戶,在數(shù)據(jù)庫安裝時創(chuàng)建。
1.7.2簡單創(chuàng)建新用戶并授予權(quán)限
1.創(chuàng)建新用戶
語法格式:
createuserusernameidentifiedbypassword
[defaulttablespace表空間名]
[temporarytablespace表空間名]
[QUOTA{正整數(shù)[K|M]|UNLIMITED}ON表空間名…]
說明:username和password分別是用戶名和用戶口令,要求必須是一個標識符;defaulttablespace是用戶確定的默認表空間;temporarytablespace是用戶確定的臨時表空間。
【例1.1】
創(chuàng)建一個用戶John。
創(chuàng)建新用戶必須以具有createuser權(quán)限的用戶登錄,一般情況下適于system用戶登錄。
SQL>connectsystem/manager;
SQL>createuserJohnidentifiedbyjohnpsw
defaulttablespaceusers
temporarytablespacetemp;
2.授予權(quán)限
語法格式:
grantprivileges[ONobject_name]TOusername;
說明:privileges表示系統(tǒng)權(quán)限或?qū)ο髾?quán)限。
當創(chuàng)建好用戶后,必須給用戶授權(quán),用戶才能連接到數(shù)據(jù)庫,并對數(shù)據(jù)庫中的對象進行操作。只有擁有createsession權(quán)限的用戶才能連接到數(shù)據(jù)庫,在建立新用戶之后,通常會需要使用grant語句為它授予createsession系統(tǒng)權(quán)限,使之具有連接到數(shù)據(jù)庫中的能力,或者為新用戶直接授予oracle中預(yù)定義的connect角色。
例如,可用下列語句給John授權(quán)。
SQL>grantcreatesessiontoJohn;
也可使用下面的語句為用戶授予connect角色:
SQL>grantconnecttoJohn;
以新用戶的帳號和口令登錄SQL*Plus,帳號和口令正確,就可成功進入SQL*Plus窗口使用Oracle和訪問數(shù)據(jù)。
除了給用戶授予系統(tǒng)權(quán)限外,還可以為用戶授予操作對象的權(quán)限,如對某些數(shù)據(jù)對象進行查詢、修改、增加、刪除權(quán)限等。
【例1.2】
為用戶John授予scott用戶的emp表的查詢、更新和刪除操作權(quán)限。
SQL>connectscott/tiger;
SQL>grantselectonemptoJohn;
SQL>grantupdateonemptoJohn;
SQL>grantdeleteonemptoJohn;
如果將scott用戶的emp表的所有權(quán)限授予John,則可以使用下面的命令。
SQL>grantallonemptoJohn;
【例1.3】
驗證用戶John對scott用戶的emp表進行查詢的權(quán)限。
SQL>connJohn/johnpsw;
已連接。
SQL>select*fromscott.emp;--此處需要使用屬主用戶.對象名
3.收回權(quán)限
使用REVOKE語句可以收回已經(jīng)授予用戶的對象權(quán)限。
語法格式:
REVOKEprivileges[ONobject_name]TOusername;
【例1.4】
收回已經(jīng)授予用戶John的SCOTT用戶下EMP表的SELECT和UPDATE對象權(quán)限。
SQL>REVOKESELECT,UPDATEONEMPFROMSCOTT;
在收回對象權(quán)限時,可以使用關(guān)鍵字ALL或ALLPRIVILEGES將某個對象的所有對象權(quán)限全部收回。
【例1.5】
收回已經(jīng)授予用戶John的SCOTT用戶下EMP表的所有權(quán)限。
SQL>REVOKEALLonEMPFROMJohn;1.7.3修改用戶口令
在創(chuàng)建了用戶之后,可以使用Alteruser語句對用戶信息進行修改。Alteruser語句最常用的情況是用來修改用戶自己的口令。任何用戶都可以使用Alteruseridentifiedby語句來修改自己的口令,而不需要具有其他權(quán)限。但是如果要修改其他用戶的口令,則必須具有Alteruser系統(tǒng)權(quán)限。
【例1.6】
修改用戶John的認證密碼。
SQL>AlteruserJohnidentifiedbynewpsw;1.7.4刪除用戶
使用dropuser語句可以刪除已有的用戶,執(zhí)行該語句的用戶必須具有dropuser系統(tǒng)權(quán)限。當刪除一個用戶時,該用戶帳戶以及用戶模式的信息將被從數(shù)據(jù)字典中刪除,同時該用戶模式中所有的模式對象也將被全部刪除。
如果要刪除的用戶模式中包含數(shù)據(jù)對象,則必須在dropuser子句中指定cascade關(guān)鍵字,否則Oracle將返回錯誤信息。
【例1.7】
刪除用戶John,并且同時刪除他所擁有的所有表、索引等對象。
SQL>dropuserJohncascade; 1.8小
結(jié)
本章介紹了Oracle的發(fā)展歷程、Oracle系統(tǒng)的特點,并詳細介紹了Oracle服務(wù)器和客戶機的安裝過程,在安裝后對服務(wù)器端的監(jiān)聽器和客戶端的網(wǎng)絡(luò)服務(wù)名進行了配置。
本章還介紹了數(shù)據(jù)庫的啟動和關(guān)閉,Oracle查詢工具SQL*Plus的使用,iSQL*Plus的配置和使用以及Oracle企業(yè)管理器,最后介紹了以O(shè)racle系統(tǒng)用戶登錄,創(chuàng)建普通用戶并進行授權(quán),以及更改口令和刪除用戶。
習(xí)題一
一、選擇題
1.()服務(wù)監(jiān)聽并接受來自客戶端應(yīng)用程序的連接請求。
A.OracleHOME_NAMETNSListener
B.OracleServiceSID
C.OracleHOME_NAMEAgent
D.OracleHOME_NAMEHTTPServer
2.為了使客戶應(yīng)用程序可以訪問OracleServer,在客戶端需要配置()文件。
A.tnsnames.oraB.sqlnet.oraC.listener.ora
3.為了使客戶應(yīng)用程序可以訪問OracleServer,在服務(wù)器端需要配置()文件。
A.tnsnames.oraB.sqlnet.oraC.listener.ora
4.STARTUP的()選項啟動實例裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫。
A.STARTUPNOMOUNTB.STARTUPMOUNT
C.STARTUPOPEN
5.SHUTDOWN的()選項會等待用戶完成他們沒有提交的事務(wù)。
A.SHUTDOWNIMMEDIATEB.SHUTDOWNTRANSACTIONAL
C.SHUTDOWNNORMALD.SHUTDOWNABORT
6.SHUTDOWN的()選項在下次啟動數(shù)據(jù)庫時需要進行數(shù)據(jù)庫恢復(fù)。
A.SHUTDOWNIMMEDIATEB.SHUTDOWNRANSACTIONAL
C.SHUTDOWNNORMALD.SHUTDOWNABORT二、簡答題
1.安裝Oracle9i時,對硬件、軟件有何要求?
2.安裝數(shù)據(jù)庫服務(wù)器時,為什么必須改變SYS和SYSTEM用戶的口令?
3.監(jiān)聽程序有什么作用?它是數(shù)據(jù)庫服務(wù)器上的程序還是管理客戶機上的程序?
4.對照數(shù)據(jù)庫服務(wù)器和客戶機的安裝結(jié)果,進一步比較數(shù)據(jù)庫服務(wù)器和客戶機的異同點。
5.Oracle有哪些查詢工具?
6.如何利用iSQL*Plus連接到Oracle?
7.要創(chuàng)建一個用戶,使之連接到Oracle,并更改其密碼,應(yīng)如何操作?
8.在管理客戶機上為什么要進行“命名方法”的配置?
9.“本地網(wǎng)絡(luò)服務(wù)名”是如何配置的?
10.試描述采用“本地網(wǎng)絡(luò)服務(wù)名”時,數(shù)據(jù)庫服務(wù)器和客戶機的工作原理。
11.創(chuàng)建一個名稱為“姓名+學(xué)號”的用戶,口令為姓名,并授予其連接數(shù)據(jù)庫和創(chuàng)建表對象的權(quán)限。
12.請收集一些Oracle應(yīng)用案例。
上機實驗一
實驗1數(shù)據(jù)庫服務(wù)器的安裝
目的和要求:
1.掌握安裝數(shù)據(jù)庫服務(wù)器的方法。
2.檢查安裝后的情況。
實驗內(nèi)容:
1.檢查“所有程序”菜單中的項目:選擇“開始”→“所有程序”→“Oracle-OraHome90”。
2.檢查安裝后操作系統(tǒng)的物理文件以及文件夾所占的硬盤空間。
3.檢查安裝后的服務(wù)。
實驗2客戶端軟件的安裝以及網(wǎng)絡(luò)配置
目的和要求:
1.掌握安裝客戶機的方法。
2.掌握測試客戶機與服務(wù)器連通性的方法。
實驗內(nèi)容:
1.根據(jù)本章介紹的過程,練習(xí)安裝Oracle數(shù)據(jù)庫客戶端。
(1)客戶機安裝、網(wǎng)絡(luò)配置和測試連接。參考1.3.2節(jié)“客戶端的安裝步驟”進行安裝。
(2)在客戶機上選擇“開始”→“程序”→“Oracle-Orahome90”
→“ApplicationDevelopment”
→“SQLPlus”,從客戶機訪問Oracle數(shù)據(jù)庫。
2.在客戶機端練習(xí)運行網(wǎng)絡(luò)配置助手工具,學(xué)習(xí)配置網(wǎng)絡(luò)服務(wù)名,并測試其連通性。
(1)觀察TNSNAMES.ORA。
#TNSNAMES.ORANetworkConfigurationFile:D:\oracle\ora92\network\admin\
tnsnames.ora
#GeneratedbyOracleconfigurationtools.
ORA9=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=服務(wù)器IP(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=ora9)
)
)
…
(2)進行網(wǎng)絡(luò)配置(NetConfiguration),連接另外一臺Oracle服務(wù)器,建立新的連接名稱(如oraclient-test),按照以下的步驟進行網(wǎng)絡(luò)配置。
首先,啟動Oracle網(wǎng)絡(luò)配置助手。在客戶機上選擇“開始”→“程序”→“Oracle-OraHome90”
→“ConfigurationandMigrationtools”
→“NetConfigurationAssistant”,顯示如圖1-34所示的“歡迎使用”界面。
圖1-34“歡迎使用”界面
其次,配置本地Net服務(wù)名。在圖1-35所示的“Net服務(wù)名配置”界面上選擇“添加”選項,點擊“下一步”按鈕,顯示如圖1-36所示“Net服務(wù)名配置,服務(wù)名”界面,在“服務(wù)名”文本框內(nèi)填寫“ora9”,繼續(xù)下一步。
圖1-35“Net服務(wù)名配置”界面
圖1-36“Net服務(wù)名配置,服務(wù)名”界面
再次,選擇協(xié)議。在圖1-37所示的“Net服務(wù)名配置,請選擇協(xié)議”界面上選擇“TCP”,點擊【下一步】按鈕,顯示如圖1-38所示的“Net服務(wù)名配置,TCP/IP協(xié)議”界面,在“主機名”文本框內(nèi)填寫Oracle服務(wù)器的IP地址,選擇端口號為默認的“1521”,繼續(xù)下一步。
圖1-37“Net服務(wù)名配置,請選擇協(xié)議”界面
圖1-38“Net服務(wù)名配置,TCP/IP協(xié)議”界面
第四,配置和測試Net服務(wù)名。在圖1-39所示的“Net服務(wù)名配置,測試”界面上選擇“是,進行測試”,點擊【下一步】按鈕,如圖1-40所示,“Net服務(wù)名配置,正在連接”界面上顯示“正在連接…測試成功”提示,再繼續(xù)下一步。
圖1-39“Net服務(wù)名配置,測試”界面
圖1-40“Net服務(wù)名配置,正在連接”界面
最后,命名Net服務(wù)名。在圖1-41所示的“Net服務(wù)名配置:Net服務(wù)名”界面的“Net服務(wù)名”文本框內(nèi)填寫“oraclient_test”,點擊【下一步】按鈕,在如圖1-42所示的“歡迎使用”界面中選擇【完成】按鈕,配置過程結(jié)束。配置信息保存在tnsnames.ora文件中。
圖1-41“Net服務(wù)名配置,NET服務(wù)名”界面
圖1-42“歡迎使用”界面
(3)將自己的機器作為客戶端,在
SQL*Plus中用oraclient_test連接字符串登錄和訪問Oracle服務(wù)器。如圖1-43所示,客戶端以oraclient_test連接字符串登錄數(shù)據(jù)庫。如圖1-44所示,客戶端采用oraclient_test連接字符串以不同用戶訪問數(shù)據(jù)庫。
圖1-43客戶端以oraclient_test連接字符串登錄數(shù)據(jù)庫
圖1-44客戶端采用oraclient_test連接字符串以不同用戶訪問數(shù)據(jù)庫
(4)再次觀察TNSNAMES.ORA。
#TNSNAMES.ORANetworkConfigurationFile:D:\oracle\ora92\network\admin
\tnsnames.ora
#GeneratedbyOracleconfigurationtools.
ORACLIENT_TEST=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=服務(wù)器IP地址)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=ora9)
)
)
…
ORA9=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=客戶機IP地址)(PORT=1521))
)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=ora9)
)
)
(5)運行命令tnspingoraclient_test,觀察相應(yīng)信息,如圖1-45所示。
圖1-45運行命令tnspingoraclient_test
(6)停止選定的Oracle服務(wù)器的
TNSListener,再次運行命令
tnspingoraclient_test,觀察相應(yīng)信息,如圖1-46所示。
圖1-46停止選定的Oracle服務(wù)器的TNSListener
(7)再次在SQL*Plus中用oraclient_test連接字符串,登錄并訪問此Oracle服務(wù)器,驗證是否可以連接并說明原因。
實驗3Oracle查詢工具的使用
目的和要求:
1.掌握SQL*Plus工具的使用。
2.掌握iSQL*Plus工具的使用。
實驗內(nèi)容:
1.使用SQL*Plus建立與Oracle服務(wù)器的連接。
(1)選擇“開始”→“程序”→“Oracle-Orahome90”→“ApplicationDevelopment”→“SQLPlus”。
(2)輸入用戶名和口令。主機字符串若為已配置的網(wǎng)絡(luò)服務(wù)名,則表示連接網(wǎng)絡(luò)服務(wù)名指定的服務(wù)器;如果為空,則表示連接本機的默認數(shù)據(jù)庫。點擊【確定】按鈕,出現(xiàn)“連接成功”窗口。
(3)此時可以使用SQL*Plus執(zhí)行各種SQL語句,訪問Oracle數(shù)據(jù)庫的信息。
2.使用iSQL*Plus建立與Oracle服務(wù)器的連接。
(1)選擇“開始”→“所有程序”→“Oracle-OraHome90”→“OracleHTTPserver”→“StartHTTPServerpow
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力檢修合同范本
- 手機 經(jīng)銷合同范本
- 勞務(wù)塔吊司機合同范本
- 加工非標制作合同范本
- 農(nóng)村產(chǎn)業(yè)外包合同范本
- 入職家政合同范本
- 公路承包轉(zhuǎn)讓合同范本
- 公司加班裝修合同范本
- 產(chǎn)品推廣協(xié)議合同范本
- 冷庫維修合同范本正規(guī)合同
- (完整版)所羅門學(xué)習(xí)風(fēng)格量表
- 商會成立籌備方案
- 電競產(chǎn)業(yè)園方案
- 隧道橋過渡段結(jié)構(gòu)設(shè)計與分析
- 高甘油三酯血癥性急性胰腺炎診治急診專家共識2021解讀
- 住院精神疾病患者攻擊行為預(yù)防-護理團標
- 雕版印刷術(shù)的發(fā)明《金剛經(jīng)》課件
- 國際合規(guī)要求與企業(yè)管理
- 精密測量課程中的思政案例弘揚工匠精神助力科技強國
- 殘疾人就業(yè)服務(wù)
- 傳統(tǒng)的中國紋樣與飾品設(shè)計
評論
0/150
提交評論