版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Oracle數(shù)據(jù)庫基礎(chǔ)教程
參考答案
第1章Oracle數(shù)據(jù)庫概述
1.簡答題
(1)
數(shù)據(jù)是描述事物的符號,是數(shù)據(jù)庫中存儲的基本對象。在計算機(jī)中,用記錄的形式來描
述數(shù)據(jù)。數(shù)據(jù)與數(shù)據(jù)的解釋即數(shù)據(jù)的語義是緊密結(jié)合的。數(shù)據(jù)庫是指按一定的數(shù)據(jù)模型組織、
描述和存儲的數(shù)據(jù)的集合。數(shù)據(jù)庫管理系統(tǒng)是位于操作系統(tǒng)與用戶之間的一層數(shù)據(jù)管理軟
件。數(shù)據(jù)庫系統(tǒng)是指數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)與計算機(jī)系統(tǒng)的結(jié)合。通常,在不引起混淆的
情況卜將數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。
(2)
數(shù)據(jù)庫管理系統(tǒng)的主要功能包括:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運(yùn)行與控制、數(shù)據(jù)庫建
立與維護(hù)、數(shù)據(jù)字典定義以及數(shù)據(jù)通信等。數(shù)據(jù)庫管理系統(tǒng)的內(nèi)部分多個層次,由應(yīng)用層、
語言定義及其翻譯處理層、數(shù)據(jù)存取層、數(shù)據(jù)存儲層、操作系統(tǒng)以及數(shù)據(jù)庫組成。
(3)
數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理
員以及數(shù)據(jù)庫用戶組成。
(4)
概念模型是用簡單、清晰、用戶易于理解的概念來描述現(xiàn)實世界具體事物及事物之間的
關(guān)系。它是現(xiàn)實世界到信息世界的抽象,是數(shù)據(jù)庫設(shè)計人員進(jìn)行數(shù)據(jù)庫設(shè)計的工具,與具體
的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。
組織數(shù)據(jù)模型是從數(shù)據(jù)組織方式的角度來描述信息,它決定了數(shù)據(jù)在數(shù)據(jù)庫中的組織結(jié)
構(gòu)。
(5)
E-R圖由3個要素組成:實體、聯(lián)系與屬性。實體之間的聯(lián)系有1:1、1:n、n:n三
種類型。
(6)
Oracle之所以得到廣大用戶的青睞,其主要原因在于:支持多用戶、大事務(wù)量的事務(wù)處
理、提供標(biāo)準(zhǔn)操作接口、實施安全性控制和完整性控制、支持分布式數(shù)據(jù)處理、具有可移值
性、可兼容性和可連接性。
(7)
目前市場上常見的關(guān)系數(shù)據(jù)庫管理系統(tǒng)包括Oracle、DB2、Sybase和SQLServer等。
Oracle是當(dāng)今最大的數(shù)據(jù)庫廠商Oracle公司的數(shù)據(jù)庫產(chǎn)品。它是世界上第一個商品化
的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也是第一個推出與?數(shù)據(jù)庫結(jié)合的第四代語言開發(fā)工具的數(shù)據(jù)庫產(chǎn)
品。
DB2是IBM公司于1983年推出的一個商業(yè)化關(guān)系數(shù)據(jù)庫管理系統(tǒng),它是基于SystemR
基礎(chǔ)上實現(xiàn)的??梢赃\(yùn)行在各種不同的操作系統(tǒng)平臺上,如UNIX,VMS,Windows,OS/2
等。
Sybase可以運(yùn)行在不同的操作系統(tǒng)平臺上,如UNIX,VMS,Windows,Netware等。
作為網(wǎng)絡(luò)數(shù)據(jù)庫,Sybase采用開放的體系結(jié)構(gòu),支持網(wǎng)絡(luò)環(huán)境下各節(jié)點數(shù)據(jù)庫的互相訪問。
MicrosoftSQLServer是微軟公司推出的應(yīng)用于Windows操作系統(tǒng)上的關(guān)系數(shù)據(jù)庫產(chǎn)
品。MicrosoftSQLServer是Microsoft公司從Sybase公司購買技術(shù)而開發(fā)的產(chǎn)品,與Sybase
數(shù)據(jù)庫完全兼容,它支持客戶機(jī)/服務(wù)器結(jié)構(gòu)。
(8)
基于Oracle數(shù)據(jù)庫的應(yīng)用系統(tǒng)結(jié)構(gòu)主要分為客戶機(jī)/服務(wù)器結(jié)構(gòu)、瀏覽器/服務(wù)器結(jié)構(gòu)以
及分布式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)等。
(9)
關(guān)系的完整性約束包括三類:實體完整性、參照完整性和用戶定義完整性。
實體完整性:是指關(guān)系中必須定義主鍵,以惟一的確定一個元組。主鍵由一個或多個屬
性構(gòu)成,其取值惟一且不能為空(NULL)。
參照完整性:在關(guān)系模型中,通過外鍵來表示表之間的聯(lián)系。參照完整性是指一個表中
的外鍵的取值必須是參照表中主鍵存在的值或為空(NULL)。例如,學(xué)生信息表中“班號”
屬性為外鍵,其取值必須是班級信息表中“班號”屬性的某一個值或為空。
用戶定義完整性:是指用戶根據(jù)特定應(yīng)用情況,設(shè)定一些約束,反映某一具體應(yīng)用所涉
及的數(shù)據(jù)必須滿足的語義要求。例如,“性別”屬性的域為“男、女”。
(10)
Oracle9i作為Oracle公司一代軟件平臺的艦旗產(chǎn)品,被業(yè)界稱為Oracle有史以來“最重
大的軟件工程”,對以前版本的數(shù)據(jù)庫性能進(jìn)行改進(jìn)的同時,增加了很多新的功能:系統(tǒng)管
理、數(shù)據(jù)庫可靠性、數(shù)據(jù)庫可擴(kuò)展性、數(shù)據(jù)庫性能和數(shù)據(jù)庫安全性等。此外,Oracle》中還
引入了很多新的特性,如實現(xiàn)連續(xù)的數(shù)據(jù)可用性、自助錯誤更正、端到端的安全體系結(jié)構(gòu)、
可管理性等。
OraclelOg數(shù)據(jù)庫特性:OraclelOg是第一個為網(wǎng)格計算設(shè)計的關(guān)系數(shù)據(jù)庫,其中的g是
指網(wǎng)格(grid)。OraclelOg提供了企業(yè)網(wǎng)格計算所需要的集群、工作負(fù)載和數(shù)據(jù)中心自動化
等,提高了系統(tǒng)的管理性能和服務(wù)質(zhì)量。為了支持網(wǎng)格計算,OraclelOg在增強(qiáng)Oracle9i性
能的同時,又增加了一些新的特性,包括網(wǎng)格計算、數(shù)據(jù)庫自動化、數(shù)據(jù)庫自我調(diào)整、真正
集群技術(shù)、高可用性、超大型數(shù)據(jù)庫支持、分布式事務(wù)處理等。
2.實訓(xùn)題
(2)E-R圖如下:
T姓名性別〕髓X。)
關(guān)系模式如下:
教師(教師號,姓名,性別,出生日期,系,職稱,課程號)
課程(課程號,課程名,學(xué)分)
學(xué)生(箜號,姓名,性別,年齡,班級,系)
學(xué)習(xí)(學(xué)號,課程號,成績)
第2章數(shù)據(jù)庫服務(wù)器的安裝與卸載
1.簡答題
(1)
在安裝數(shù)據(jù)庫服務(wù)器之前需要進(jìn)行如下準(zhǔn)備:
①啟動操作系統(tǒng),并以Administrator身份登錄。
②檢查計算機(jī)名稱、檢查源文件完整路徑,如果包含中文字符則需要修改為不含中文字
符。
③檢查服務(wù)器系統(tǒng)是否滿足軟硬件要求。
④對服務(wù)器進(jìn)行正確網(wǎng)絡(luò)配置。
⑤如果服務(wù)器上運(yùn)行其它Oracle服務(wù),必須在安裝前將它們?nèi)客V埂?/p>
⑥如果服務(wù)器上運(yùn)行有以前版本的Oracle數(shù)據(jù)庫,則必須對其數(shù)據(jù)進(jìn)行備份。
⑦決定數(shù)據(jù)庫的創(chuàng)建方式。
(2)
企業(yè)版數(shù)據(jù)庫服務(wù)器包含所有的數(shù)據(jù)庫組件,主要針對高端的應(yīng)用環(huán)境,適用于安全性
和性能要求較高的聯(lián)機(jī)事務(wù)處理(OETP)、查詢密集型的數(shù)據(jù)倉庫和要求較高的Internet應(yīng)
用程序:標(biāo)準(zhǔn)版數(shù)據(jù)庫服務(wù)器提供大部分核心的數(shù)據(jù)庫功能和特性,適合于工作組或部門級
的應(yīng)用程序:個人版數(shù)據(jù)庫服務(wù)器只提供基本數(shù)據(jù)庫管理功能和特性,適合單用戶的開發(fā)環(huán)
境,為用戶提供開發(fā)測試平臺。
(3)
常用數(shù)據(jù)庫類型包括事務(wù)處理類、數(shù)據(jù)倉庫類以通用類型。其中事務(wù)處理類型主要針對
具有大量并發(fā)用戶連接,并且用戶主要執(zhí)行簡單事務(wù)處理的應(yīng)用環(huán)境。事務(wù)處理數(shù)據(jù)庫的典
型應(yīng)用有銀行系統(tǒng)數(shù)據(jù)庫、Internet電子商務(wù)數(shù)據(jù)庫、證券交易系統(tǒng)數(shù)據(jù)庫等。對于需要較
高的可用性和事務(wù)處理性能、存在大量用戶并行訪問相同數(shù)據(jù)以及需要較高恢復(fù)性能的數(shù)據(jù)
庫環(huán)境,事務(wù)處理類型的配置可以提供最佳性能;數(shù)據(jù)倉庫類型的數(shù)據(jù)庫主要針對有大量的
對某個主題進(jìn)行復(fù)雜查詢的應(yīng)用環(huán)境。數(shù)據(jù)倉庫的典型應(yīng)用有客戶訂單研究、支持呼叫、銷
售預(yù)測、采購模式以及其他戰(zhàn)略性業(yè)務(wù)問題的歷史數(shù)據(jù)研究。對于需要對大量數(shù)據(jù)進(jìn)行快速
訪問,以及復(fù)雜查詢的數(shù)據(jù)庫環(huán)境,數(shù)據(jù)倉庫類型配置是最佳選擇;通用類型配置的數(shù)據(jù)庫
是事務(wù)處理數(shù)據(jù)庫與數(shù)據(jù)倉庫配置的折衷方案。既可以支持大量并發(fā)用戶的事務(wù)處理,又可
以快速對大量歷史數(shù)據(jù)進(jìn)行復(fù)雜的數(shù)據(jù)掃描和處理。
(4)略
(5)
以SYSDBA身份登錄的用戶具有創(chuàng)建數(shù)據(jù)庫啟動或關(guān)閉數(shù)據(jù)庫與實例、使用ALTER
DATABASE執(zhí)行打開、備份數(shù)據(jù)庫等變更操作、對數(shù)據(jù)庫進(jìn)行歸檔或恢復(fù)、受限狀態(tài)下連
接數(shù)據(jù)庫以及創(chuàng)建服務(wù)器端初始化參數(shù)文件等權(quán)限。以SYSOPER身份登錄的用戶具有啟動
或關(guān)閉數(shù)據(jù)庫與實例、使用ALTERDATABASE執(zhí)行打開、備份數(shù)據(jù)庫等變更操作、對數(shù)
據(jù)庫進(jìn)行歸檔或恢復(fù)、受限狀態(tài)下連接數(shù)據(jù)庫以及創(chuàng)建服務(wù)器端初始化參數(shù)文件等權(quán)限。
(6)
在本地數(shù)據(jù)庫服務(wù)器系統(tǒng)中,以SYSDBA身份登錄數(shù)據(jù)庫服務(wù)器然后重新設(shè)定SYS或
SYSTEM用戶的口令。
(7)
卸載數(shù)據(jù)庫服務(wù)器軟件的步驟為:
①停止所有Oracle相關(guān)的服務(wù)
②卸載Oracle9數(shù)據(jù)庫服務(wù)器組件
③刪除注冊表中Oracle目錄、服務(wù)以及事件日志
④刪除Oracle環(huán)境變量
⑤刪除TEMP目錄下Oracle相關(guān)的文件夾
⑥檢查“開始”菜單中是否還有Oracle菜單,如果有,則將其刪除
⑦刪除Windows系統(tǒng)安裝磁盤中的ProgramFiles\Oracle目錄
⑧刪除Oracle安裝目錄
(8)參考(2)題。
(9)
OFA是Oracle組織文件以及文件命名的一套規(guī)則。例如<ORA_HOME>對應(yīng)存放安裝軟
件的目錄,在Oracle相關(guān)服務(wù)中都包含主目錄名稱等。
(10)略
2.實訓(xùn)題
⑴略
(2)略
(3)
打開網(wǎng)絡(luò)管理對話框,分別選中左側(cè)樹狀結(jié)構(gòu)中的監(jiān)聽器和數(shù)據(jù)庫,修改右側(cè)對話框中
的主機(jī)名為當(dāng)前的計算機(jī)名。
(4)略
第3章創(chuàng)建數(shù)據(jù)庫
1.簡答題
(1)
創(chuàng)建數(shù)據(jù)庫方法有兩種:使用數(shù)據(jù)庫配置助手(DBCA)創(chuàng)建數(shù)據(jù)庫或運(yùn)行腳本手工創(chuàng)
建數(shù)據(jù)庫。DBCA(DatabaseConfigurationAssistant)是Oracle提供的用于創(chuàng)建數(shù)據(jù)庫的圖
形界面工具,內(nèi)置數(shù)據(jù)庫模板,可以直觀快速地創(chuàng)建數(shù)據(jù)庫??稍贠racle9i數(shù)據(jù)庫服務(wù)安裝
時自動啟動,或在需要創(chuàng)建數(shù)據(jù)庫時單獨啟動。該創(chuàng)建方式比較適合于初學(xué)者。手動創(chuàng)建數(shù)
據(jù)庫方式比DBCA方式具有更大的靈活性和效率,但需要用戶對Oracle9i數(shù)據(jù)庫的創(chuàng)建語
法和參數(shù)有深入了解,適合有經(jīng)驗的DBA。
(2)
創(chuàng)建數(shù)據(jù)庫的模板包括“數(shù)據(jù)倉庫”、“通用”、“事務(wù)處理”、“自定義”四種,其中“數(shù)
據(jù)倉庫”用于創(chuàng)建數(shù)據(jù)量大、數(shù)據(jù)變化小,用戶少,用戶數(shù)據(jù)分析和決策支持?!笆聞?wù)處理”
類型數(shù)據(jù)庫主要用戶聯(lián)機(jī)處理,用戶多,數(shù)據(jù)不斷變化?!巴ㄓ谩鳖愋蛿?shù)據(jù)庫是集前兩者的
優(yōu)點,具有通用性;“自定義”是用戶自己選擇安裝組件和參數(shù)設(shè)置。
(3)
創(chuàng)建數(shù)據(jù)庫之前應(yīng)該做好規(guī)劃、檢查系統(tǒng)資源情況以及決定數(shù)據(jù)庫的創(chuàng)建方式。
(4)
手動創(chuàng)建數(shù)據(jù)庫通常包含如下的操作步驟:
①確定新建數(shù)據(jù)庫名稱與實例名稱;
②確數(shù)據(jù)庫管理員的認(rèn)證方式;
③創(chuàng)建初始化參數(shù)文件;
④創(chuàng)建實例;
⑤連接并啟動實例;
⑥使用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫;
⑦創(chuàng)建附加的表空間;
⑧運(yùn)行腳本創(chuàng)建數(shù)據(jù)字典視圖
(5)
CREATEDATABASE語句中參數(shù)含義為:
參數(shù)名稱說明
MAXINSTANCES指定同一時刻數(shù)據(jù)庫允許被多少個實例裝載和打開
MAXLOGHISTORY可以自動歸檔的最大日志文件的數(shù)量
MAXLOGFILES最大日志文件組數(shù)量
MAXLOGMEMBERS每個日志文件組中最大成員日志文件數(shù)量
MAXDATAFILES數(shù)據(jù)庫中所允許創(chuàng)建的最多數(shù)據(jù)文件數(shù)量
ARCHIVELOG新建數(shù)據(jù)庫處于歸檔模式
NOARCHIVELOG新建數(shù)據(jù)庫處于非歸檔模式
CONTROLFILEREUSE按初始化參數(shù)文件中CONTROL_FILES的值創(chuàng)建控制文件:
如果同名文件存在則覆蓋
LOGFILE指定重做H志文件組及組成員日志文件名稱
DATAFILE為SYSTEM表空間創(chuàng)建的一個或多個數(shù)據(jù)文件的名稱和位置
UNDOTABLESPACE創(chuàng)建撤銷表空間,并為撤銷表空間指定文件名稱和為值
DEFAULTTEMPORARY創(chuàng)建臨時表空間
TABLESPACE
CHARACTERSET指定使用的數(shù)據(jù)庫字符集
NATIONALCHARACTER指定國家字符集
SET
AUTOEXTEND指定數(shù)據(jù)文件的自動擴(kuò)展
(6)
文本初始化參數(shù)文件是一個本地的初始化參數(shù)文件,而服務(wù)器初始化參數(shù)文件是一個放
在數(shù)據(jù)庫服務(wù)器端的共享的二進(jìn)制初始化參數(shù)文件。文本參數(shù)文件的修改是通過直接對文本
的修改實現(xiàn)的,通過命令行是無法將修改后的參數(shù)值寫入該文件中,而服務(wù)器初始化參數(shù)文
件是不能直接修改的,必須通過ALTERSYSTEM語句來進(jìn)行參數(shù)修改的。
(7)
使用ALTERSYSTEM修改參數(shù)時應(yīng)注意SCOPE的取值。
SCOPE子句說明
SCOPE=SPFILE對參數(shù)的修改僅記錄在服務(wù)器初始化參數(shù)文件中,對動態(tài)參數(shù)和靜態(tài)參數(shù)都適用,
修改后的參數(shù)在下一次數(shù)據(jù)庫啟動時生效。
SCOPE=MEMORY對參數(shù)的修改僅記錄在內(nèi)存中,只適合動態(tài)參數(shù)的修改,修改后立即生效。由于修
改結(jié)果并不會保存到服務(wù)器初始化參數(shù)文件中,因此下一次啟動數(shù)據(jù)蚱實例時仍然采
用修改前的參數(shù)設(shè)置
SCOPE=BOTH對參數(shù)的修改同時保存到服務(wù)器初始化參數(shù)文件和內(nèi)存中,只適合對動態(tài)參數(shù)的修
改,更改后立即生效,并日.下一次啟動數(shù)據(jù)庫實例時將使用修改后的參數(shù)設(shè)置。當(dāng)執(zhí)
行ALTERSYSTEM語句時,如果沒有指定SCOPE子句,那么Oracle默認(rèn)地招SCOPE
設(shè)置為BOTH
(8)
以通過以下方法查看初始化參數(shù)的設(shè)置情況。
?SHOWPARAMETERS命令
②查詢數(shù)據(jù)字典V$PARAMETER或V$PARAMETER2或VSSPPARAMETER
③將服務(wù)器初始參數(shù)文件轉(zhuǎn)換為文本出示參數(shù)文件。
2.實訓(xùn)題
(1)CREATESPFILEFROMPFILE=path
(2)CREATEPFILEFROMSPFILE
(3)略
(4)略
(5)SELECTNAME,VALUEFROMV$PARAMETER
(6)AETETSESSIONSETNLSDATEFORMAT=,YYYY-MM-DDHH24:MI:SS,
3.選擇題
(1)c
(2)C
(3)A
(4)B
(5)A
(6)A
(7)C
(8)A
(9)B
(10)D
第4章Oracle企業(yè)管理器
1.簡答題
(1)
第一層由客戶端控制臺(Console)和集成工具組成,為數(shù)據(jù)庫管理員提供一個可視化
的圖形管理界面。管理員利用該圖形界面可以進(jìn)行數(shù)據(jù)庫的管理操作,包括任務(wù)定制、對象
管理等。管理操作命令傳送到第二層的Oracle管理服務(wù)器進(jìn)行處理。第二層由一個或多個
OMS組成,是OEM體系結(jié)構(gòu)的核心。它提供了一個集中化的智能管理環(huán)境,在控制臺和目標(biāo)
節(jié)點之間傳遞信息,將從控制臺接收的信息處理后發(fā)送到目標(biāo)節(jié)點,同時將目標(biāo)節(jié)點的執(zhí)行
結(jié)果返回給控制臺。第三層由安裝了智能代理(OracleIntelligentAgent)程序的目標(biāo)節(jié)
點組成,執(zhí)行由OMS發(fā)送過來的任務(wù)。
(2)
首先啟動相應(yīng)的Oracle服務(wù),然后啟動OEM,登錄到相應(yīng)數(shù)據(jù)庫后進(jìn)行數(shù)據(jù)庫的管理。
如果進(jìn)行復(fù)雜的管理操作,需要首先配置OMS,然后登錄到OMS方式進(jìn)行數(shù)據(jù)庫的管理操作。
(3)
獨立啟動OEM可以進(jìn)行數(shù)據(jù)庫的簡單管理操作,而要管理除數(shù)據(jù)庫外的其他類型的目
標(biāo)、在多個OMS管理員之間共享管理數(shù)據(jù)、從Web瀏覽器中運(yùn)行控制臺、自動提示系統(tǒng)存在
的潛在問題、自動重復(fù)管理任務(wù)等需要采用登錄到OMS方式進(jìn)行。
(4)
通常以獨立方式運(yùn)行控制臺時不需要連接到OMS,因此也沒有必要創(chuàng)建OMS所需要的資
料檔案庫。但是,如果要在獨立方式啟動的OEM控制臺中運(yùn)行一些特殊的OEM集成工具,包
括ChangeManager、OracleExpertOracleSQLAnalyze、OracleIndexTuningWizard
和OracleTablespaceManager,則需要為控制臺創(chuàng)建一個獨立的資料檔案庫,以存儲這些
工具在運(yùn)行時所需要的管理數(shù)據(jù)。
獨立資料檔案庫與OMS所使用的濱料檔案庫是不一樣的,明顯不同之處是獨立資料檔
案庫只能由一個用戶使用,而OMS所使用的資料檔案庫可以同時被多個用戶共享。
(5)
使用多個OMS可以均衡載荷、實現(xiàn)信息共享。使用時需要注意每個OMS必須使用一
個資料檔案庫,但一個資料檔案庫可以被多個OMS使用o
(6)
在OEM中沒有出現(xiàn)目標(biāo)節(jié)點,其原因可能是該節(jié)點上的沒有運(yùn)行智能代理服務(wù),或是
該節(jié)點已關(guān)閉,也可能是網(wǎng)絡(luò)故障導(dǎo)致連接失敗;
2.實訓(xùn)題
⑴略
(2)略
(3)略
(4)略
(5)略
第5章SQL*PLUS
1.簡答題
(1)
在SQL*PLUS中可以執(zhí)行的數(shù)據(jù)庫管理管理包括:輸入、編輯、存儲、提取、運(yùn)行和
調(diào)試SQL語句和PUSQL程序;處理數(shù)據(jù)、生成報表、存儲、打印、格式化查詢結(jié)果;列
出任何表的列的定義;在數(shù)據(jù)庫之間存取和拷貝數(shù)據(jù);從一個用戶端發(fā)送和接受消息等。
(2)
保存文件的方法為:SAVEfilename
讀取文件的方法為:GETfilename
(3)
CONNLECT]:連接數(shù)據(jù)庫
DISCONNECT]:斷開連接
SAVE:保存文件
GET:讀入文件
START:執(zhí)行文件
SHOW:顯示環(huán)境變量值
SET:設(shè)置環(huán)境變量值
DESCRIBE:查看對象結(jié)構(gòu)
CLEAR:清空緩沖區(qū)
COLUMN:設(shè)置格式輸出
(4)
常用的格式控制命令包括:
COLUMN
TTITLE
BTITLE
REPHEADER
REPFOOTER
(5)
可以在SQL*PLUS環(huán)境中定義綁定變量或定義替換變量,用戶與程序的交互。
2.實訓(xùn)題
(1)CONNECTSYSTEM/MANAGER@ORCL
(2)CONNECT/?ORCLASSYSDBA
(3)略
(4)
COLUMNSALFORMATL99999.99
SELECTEMPNO,SALFROMSCOTT.EMP;
(5)
TTITLECENTER'員工信息:'
BTITLERIGHT,制作人:,
SELECT*FROMSCOTT.EMP;
第6章物理存儲結(jié)構(gòu)
1.簡答題
(1)
Oracle數(shù)據(jù)庫體系結(jié)構(gòu)由物理存儲結(jié)構(gòu)、邏輯存儲結(jié)構(gòu)和實例組成。其中物理存儲結(jié)構(gòu)
描述了操作系統(tǒng)層次數(shù)據(jù)的存儲與管理,包括數(shù)據(jù)文件、日志文件、重做日志文件等組成。
邏輯結(jié)構(gòu)描述了數(shù)據(jù)庫內(nèi)部數(shù)據(jù)的組織與管理,由表空間、段、區(qū)、塊組成。實例是數(shù)據(jù)庫
運(yùn)行的軟件結(jié)構(gòu),由內(nèi)存結(jié)構(gòu)和后臺進(jìn)程組成。數(shù)據(jù)庫運(yùn)行過程中,用戶的操作在內(nèi)存區(qū)中
進(jìn)行,最終通過后臺進(jìn)行轉(zhuǎn)化為對數(shù)據(jù)庫的操作。
(2)
Oracle數(shù)據(jù)庫物理結(jié)構(gòu)包括數(shù)據(jù)文件、控制文件、重做日志文件、初始化參數(shù)文件、歸
檔文件、口令文件等。在控制文件中記錄了當(dāng)前數(shù)據(jù)庫所有的數(shù)據(jù)文件的名稱與位置、重做
日志文件的名稱與位置,以及數(shù)據(jù)文件、重做日志文件的狀態(tài)等。
⑶
數(shù)據(jù)文件中保存了數(shù)據(jù)庫中的所有數(shù)據(jù),包括數(shù)據(jù)字典以及用戶數(shù)據(jù)。
(4)
控制文件保存數(shù)據(jù)庫的物理結(jié)構(gòu)信息,包括數(shù)據(jù)庫名稱、數(shù)據(jù)文件的名稱與狀態(tài)、重做
日志文件的名稱與狀態(tài)等。在數(shù)據(jù)庫啟動時,數(shù)據(jù)庫實例依賴初始化參數(shù)定位控制文件,然
后根據(jù)控制文件的信息加載數(shù)據(jù)文件和重做日志文件,最后打開數(shù)據(jù)文件和重做日志文件。
(5)
重做日志文件是以重做記錄的形式記錄、保存用戶對數(shù)據(jù)庫所進(jìn)行的修改操作,包括用
戶執(zhí)行DDL、DML語句的操作。如果用戶只對數(shù)據(jù)庫進(jìn)行查詢操作,那么查詢信息是不會記
錄到重做日志文件中的。
(6)
歸檔是數(shù)據(jù)庫恢復(fù)及熱備份的基礎(chǔ)。只用當(dāng)數(shù)據(jù)庫歸檔模式時,才可以進(jìn)行熱備份和完
全恢復(fù)。進(jìn)行歸檔設(shè)置包括歸檔模式設(shè)置(ARCHIVELOG)、歸檔方式設(shè)置以及歸檔路徑的
設(shè)置等。
(7)
每個數(shù)據(jù)庫至少需要兩個重做日志文件,采用循環(huán)寫的方式進(jìn)行工作。當(dāng)一個重做日志
文件在進(jìn)行歸檔時,還有另一個重做日志文件可用。當(dāng)一個重做日志文件被寫滿后,后臺進(jìn)
程LGWR開始寫入下一個重做日志文件,即日志切換,同時產(chǎn)生一個“日志序列號”,并將這
個號碼分配給即將開始使用的重做日志文件。當(dāng)所有的日志文件都寫滿后,LGWR進(jìn)程再重
新寫入第一個日志文件。
(8)
數(shù)據(jù)庫的物理結(jié)構(gòu)盡量分散到不同磁盤空間,既有利于數(shù)據(jù)庫的安全性,也有利于提供
系統(tǒng)的性能,如并發(fā)行等。
(9)
采用多路復(fù)用控制文件可以避免由于一個控制文件的損壞而導(dǎo)致數(shù)據(jù)庫無法正常啟動。
在數(shù)據(jù)庫啟動時根據(jù)一個控制文件打開數(shù)據(jù)庫,在數(shù)據(jù)庫運(yùn)行時多路復(fù)用控制文件采用鏡像
的方式進(jìn)行寫操作,保持所有控制文件的同步。
(10)
可以通過V$DATAFILE、V$CONTROLFILE>V$LOGFILE、V$LOG等數(shù)據(jù)字典可以
查詢相應(yīng)的物理結(jié)構(gòu)信息。
2.實訓(xùn)題
(1)
ALTERTABLESPACEUSER
ADDDATAFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf'SIZE50M';
(2)
ALTERTABLESPACEEXAMPLE
ADDDATAFILE'D:\ORACLE\ORADATA\ORCL\example02.dbf'SIZE20M';
(3)
ALTERDATABASEDATAFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf'
AUTOEXTENDONNEXT5MMAXSIZE100M;
(4)
ALTERDATABASEDATAFILE'D:\ORACLE\ORADATA\ORCL\example02.dbf'
RESIZE40M;
(5)
SHUTDOWNIMMEDIATE;
在操作系統(tǒng)中重命名userdataO3.dbf>exampleO3.dbf分別為userdata04.db^example04.dbf
STARTUPMOUNT;
ALTERDATABASERENAMEFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf',
'D:\ORACLE\ORADATA\ORCL\example03.dbf'TO
'D:\ORACLE\ORADATA\ORCL\userdata04.dbf',
'D:\ORACLE\ORADATA\ORCL\example04.dbf';
ALTERDATABASEOPEN;
(6)
ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\CONTROL.BKP';
(7)
ALTERDATABASEADDLOGFILEGROUP4
('D:\ORACLE\ORADATA\ORCL\redo04a.log','D:\ORACLE\ORADATA\ORCL\redo04b.l
og^SIZE5M;
(8)
ALTERDATABASEADDLOGFILEMEMBER
'D:\ORACLE\ORADATA\ORCL\redo04c.log'TOGROUP4;
(9)
SHUTDOWNIMMEDIATE
STARTUPMOUNT
ALTERDATABASEARCHIVELOG;
ALTERDATABASEOPEN;
ALTERSYSTEMARCHIVELOGSTART
(10)
ALTERSYSTEMSETLOG_ARCHIVE_DEST=,D:\ORACLE\BACKUP,
3.選擇題
(1)B、C
(2)A
(3)A
(4)B
(5)B
(6)C
(7)B
(8)B
(9)D
(10)A
第7章邏輯存儲結(jié)構(gòu)
1.簡答題
(1)說明數(shù)據(jù)庫邏輯存儲結(jié)構(gòu)的組成和相互關(guān)系。
Oracle9i數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)分為數(shù)據(jù)塊、區(qū)、段和表空間四種。其中,數(shù)據(jù)塊是數(shù)
據(jù)庫中的最小I/O單元,由若干個連續(xù)的數(shù)據(jù)塊組成的區(qū)是數(shù)據(jù)庫中最小的存儲分配單元,
由若干個區(qū)形成的段是相同類型數(shù)據(jù)的存儲分配區(qū)域,由若干個段形成的表空間是最大的邏
輯存儲單元,所有的表空間構(gòu)成一個數(shù)據(jù)庫。
(2)說明數(shù)據(jù)庫表空間的種類,以及不同類型表空間的作用。
數(shù)據(jù)庫表空間分為系統(tǒng)表空間和非系統(tǒng)表空間兩類,其中非系統(tǒng)表空間包括撤銷表空
間、臨時表空間和用戶表空間等。
SYSTEM表空間主要用于存儲數(shù)據(jù)庫的數(shù)據(jù)字典、PL7SQL程序的源代碼和解釋代碼、
數(shù)據(jù)庫對象的定義。撤銷表空間專門進(jìn)行回退信息的自動管理。臨時表空間是專門進(jìn)行臨時
段管理的表空間。用戶表空間用于分離不同應(yīng)用的數(shù)據(jù),而且能夠減少讀取數(shù)據(jù)文件時產(chǎn)生
的I/O沖突。
(3)說明數(shù)據(jù)庫、表空間、數(shù)據(jù)文件以及數(shù)據(jù)庫對象之間的關(guān)系。
一個數(shù)據(jù)庫由一個或多個表空間構(gòu)成,不同的表空間用于存放不同應(yīng)用的數(shù)據(jù),表空間
的大小決定了數(shù)據(jù)庫的大小。一個表空間對應(yīng)一個或多個數(shù)據(jù)文件,數(shù)據(jù)文件的大小決定了
表空間的大小。一個數(shù)據(jù)文件只能從屬于一個表空間。一個數(shù)據(jù)庫對象只能存儲在一個表空
間中,但可以存儲在該表空間所對應(yīng)的一個或多個數(shù)據(jù)文件中。
(4)數(shù)據(jù)庫表空間的管理方式有幾種,各有什么特點?
數(shù)據(jù)庫表空間的管理方式有兩種:字典管理方式和本地管理方式。在字典管理方式下,
表空間使用數(shù)據(jù)字典來管理存儲空間的分配,當(dāng)進(jìn)行區(qū)的分配與回收時,Oracle將對數(shù)據(jù)字
典中的相關(guān)基礎(chǔ)表進(jìn)行更新,同時會產(chǎn)生回退信息和重做信息。在本地管理方式中,區(qū)的分
配和管理信息都存儲在表空間的數(shù)據(jù)文件中,而與數(shù)據(jù)字典無關(guān)。
(5)表空間管理時應(yīng)考慮哪些問題?
表空間管理時,應(yīng)該遵循以下原則:
?將數(shù)據(jù)字典與用戶數(shù)據(jù)分離:
?將回退數(shù)據(jù)與用戶數(shù)據(jù)分離;
?將表空間的數(shù)據(jù)文件分散保存到不同的硬盤匕
?為不同的應(yīng)用創(chuàng)建獨立的表空間。
(6)利用手動管理方式,如何有效管理數(shù)據(jù)塊的使用?
DBA可以利用手動管理方式,通過為段設(shè)置PCTFREE和PCTUSED兩個參數(shù)來控制
數(shù)據(jù)塊中空閑空間的使用。
(7)數(shù)據(jù)庫中常用的段有哪兒種,分別起什么作用?
根據(jù)存儲對象類型不同,可以分為數(shù)據(jù)段、索引段、臨時段和回退段四類。數(shù)據(jù)段用來
存儲表或簇的數(shù)據(jù)。索引段用來存放索引信息,包括ROWID和索引鍵值。臨時段用來保存
SQL語句在解釋和執(zhí)行過程中所產(chǎn)生的臨時數(shù)據(jù)?;赝硕斡糜诒4鏀?shù)據(jù)修改之前的信息,
包括數(shù)據(jù)修改前的值及其位置,即記錄數(shù)據(jù)庫中所有事務(wù)修改之前信息的段。
(8)說明回退段的作用,以及回退段的管理方式。
利用回退段中保存的信息,可以實現(xiàn)事務(wù)回滾、數(shù)據(jù)庫恢復(fù)和數(shù)據(jù)的讀一致性?;赝硕?/p>
的管理有兩種方式,即自動撤銷管理和手動撤銷管理。
(9)說明數(shù)據(jù)庫存儲空間中碎片產(chǎn)生的原因以及如何回收碎片。
略。
(10)說明在創(chuàng)建數(shù)據(jù)庫時如何合理規(guī)劃數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)。
略。
2.實訓(xùn)題
(1)使用SQL命令創(chuàng)建一個本地管理方式下的自動分區(qū)管理的表空間USERTBS1,其對應(yīng)
的數(shù)據(jù)文件大小為20MBo
createtablespaceUSERTBS1
datafile'd:\oracle\oradata\orcl\usertbs1.dbfsize50M
extentmanagementlocalautoallocate;
(2)使用SQL命令創(chuàng)建一個本地管理方式下的表空間USERTBS2,要求每個分區(qū)大小為
512KBo
createtablespaceUSERTBS2
datafile,d:\oracle\oradata\orcl\usertbs2.dbfsize50M
extentmanagementlocaluniformsize512K;
(3)修改USERTBS1表空間的大小,將該表空間的數(shù)據(jù)文件修改為自動擴(kuò)展方式,最大值
為100MB。
alterdatabase
datafile'd:\oracle\oradata\orcl\usertbsl.dbf
autoextendonnext5Mmaxsize100M;
(4)為USERTBS2表空間添加一個數(shù)據(jù)文件,以改變該表空間的大小。
altertablespaceUSERTBS2
adddatafile'd:\oracle\oradata\orcl\usertbs2a.dbfsize50M;
(5)使用SQL命令創(chuàng)建一個本地管理方式下的臨時表空間TEMPTBS,并將該表空間作為
當(dāng)前數(shù)據(jù)庫實例的默認(rèn)臨時表空間。
createtemporarytablespaceTEMPTBS
tempfile'd:\oracle\oradata\orcl\temptbs.dbfsize20M
extentmanagementlocaluniformsize16K;
(6)使用SQL命令對USERTBS1表空間進(jìn)行聯(lián)機(jī)和脫機(jī)狀態(tài)轉(zhuǎn)換。
altertablespaceUSERTBS1offline;
altertablespaceUSERTBS1online;
(7)創(chuàng)建一個回退表空間UNDOTBS,并作為數(shù)據(jù)庫的撤銷表空間。
createundotablespaceUNDOTBS
datafile'd:\oracle\oradata\orcl\undotbs.dbfsize20M;
altersystemsetUNDO_MANAGEMENT=AUTO,UNDO_TABLESPACE=UNDOTBS
scope=both;
(8)刪除表空間USERTBS2,同時刪除該表空間的內(nèi)容以及對應(yīng)的操作系統(tǒng)文件。
droptablespaceUSERTBS2includingcontentsanddatafiles;
(9)為USERTBS1表空間創(chuàng)建一個回退段,其中回退段的最優(yōu)大小設(shè)置為2MB。
createrollbacksegmentundoseg
tablespaceUSERTBS1
storage(initial100Knext100Koptimal2MB
minextents20maxextent100);
(10)查詢當(dāng)前數(shù)據(jù)庫中所有的表空間及其對應(yīng)的數(shù)據(jù)文件信息。
selecttablespace_name,file_namefromdba_data_files;
3.選擇題
(1)C
(2)C
(3)B
(4)A
(5)C
(6)A
(7)B
(8)A
(9)B
(10)D
(11)D
(12)A
第8章數(shù)據(jù)庫實例與操作模式
1.簡答題
(D
數(shù)據(jù)庫實例是數(shù)據(jù)庫系統(tǒng)的軟件結(jié)構(gòu),由內(nèi)存結(jié)構(gòu)與后臺進(jìn)程組成,處于用戶與物理數(shù)
據(jù)庫之間,實現(xiàn)對數(shù)據(jù)庫的操作。
(2)
SGA區(qū)由數(shù)據(jù)緩沖區(qū)、共享池、重做日志緩沖區(qū)、大型池、JAVA池構(gòu)成;PGA區(qū)由排
序區(qū)、私有SQL區(qū)以及堆棧構(gòu)成。SGA區(qū)是由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含一個數(shù)據(jù)
庫實例共享的數(shù)據(jù)和控制信息。當(dāng)多個用戶同時連接同一個實例時,SGA區(qū)數(shù)據(jù)供多個用戶
共享,所以SGA區(qū)又稱為共享全局區(qū)。用戶對數(shù)據(jù)庫的各種操作主要在SGA區(qū)中進(jìn)行。該內(nèi)
存區(qū)隨數(shù)據(jù)庫實例的創(chuàng)建而分配,隨實例的終止而釋放。PGA區(qū)是在用戶進(jìn)程連接數(shù)據(jù)庫,
創(chuàng)建一個會話時,由Oracle為用戶分配的內(nèi)存區(qū)域,保存當(dāng)前用戶私有的數(shù)據(jù)和控制信息,
因此該區(qū)又稱為私有全局區(qū)。每個服務(wù)器進(jìn)程只能訪問自己的PGA區(qū),所有服務(wù)器進(jìn)程PGA
區(qū)總和即為實例的PGA區(qū)的大小。
(3)
數(shù)據(jù)高速緩沖區(qū)存儲的是最近從數(shù)據(jù)文件中檢索出來的數(shù)據(jù),供所有用戶共享。當(dāng)用戶
要操作數(shù)據(jù)庫中的數(shù)據(jù)時,先由服務(wù)器進(jìn)程將數(shù)據(jù)從磁盤的數(shù)據(jù)文件讀到數(shù)據(jù)高速緩沖區(qū)
中,然后在緩沖區(qū)中進(jìn)行處理。重做日志緩沖區(qū)用于緩存用戶對數(shù)據(jù)庫進(jìn)行修改操作時生成
的重做記錄。共享池用于緩存最近執(zhí)行過的SQL語句、PL/SQL程序和數(shù)據(jù)字典信息,是對
SQL語句、PL/SQL程序進(jìn)行語法分析、編譯、執(zhí)行的區(qū)域。
(4)
Oracle數(shù)據(jù)庫進(jìn)程包括用戶進(jìn)程、服務(wù)器進(jìn)程和后臺進(jìn)程三類。其中,用戶進(jìn)程用戶建
立用戶數(shù)據(jù)庫服務(wù)器的連接;服務(wù)器進(jìn)程接受用戶連接請求;后臺進(jìn)程實現(xiàn)數(shù)據(jù)庫的后臺操
作。
(5)
Oracle實例的主要后臺進(jìn)程包括數(shù)據(jù)庫寫進(jìn)程(DBWR)、日志寫進(jìn)程(LGWR)、檢查點
進(jìn)程(CKPT)、系統(tǒng)監(jiān)控進(jìn)程(SMON)、進(jìn)程監(jiān)控進(jìn)程(PMON)、歸檔進(jìn)程(ARCH)、恢復(fù)進(jìn)程
(RECO)、鎖進(jìn)程(LCKn)、調(diào)度進(jìn)程(Dnnn)等。
DBWR進(jìn)程負(fù)責(zé)把數(shù)據(jù)高速緩沖區(qū)中已經(jīng)被修改過的數(shù)據(jù)(“臟”緩存塊)成批寫入數(shù)據(jù)
文件中永久保存,同時使數(shù)據(jù)高速緩沖區(qū)有更多的空閑緩存塊,保證服務(wù)器進(jìn)程將所需要的
數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩沖區(qū)中,提高緩存命中率。
LGWR日志寫入進(jìn)程負(fù)責(zé)把重做日志緩沖區(qū)的重做記錄寫入重做日志文件中永久保存。
CKPT進(jìn)程的作用就是執(zhí)行檢查點,更新控制文件與數(shù)據(jù)文件的頭部,使其同步;,觸發(fā)
DBWR進(jìn)程,將臟緩存塊寫入數(shù)據(jù)文件。
SMON進(jìn)程的主要功能包括:在實例啟動時負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行恢復(fù);回收不再使用的臨
時空間:將各個表空間的空閑碎片合并。
PMON進(jìn)程的主要功能包括:負(fù)責(zé)恢復(fù)失敗的用戶進(jìn)程或服務(wù)器進(jìn)程,并且釋放進(jìn)程所
占用的資源;清除非正常中斷的用戶進(jìn)程留下的孤兒會話,回退未提交的事務(wù),釋放會話所
占用的鎖、SGA、PGA等資源;監(jiān)控調(diào)度進(jìn)程和服務(wù)器進(jìn)程的狀態(tài),如果它們失敗,則嘗試
重新啟動它們,并釋放它們所占用的各種資源。
ARCH進(jìn)程用戶歸檔重做日志文件。
RECO進(jìn)程用戶數(shù)據(jù)庫恢復(fù)。
(6)
數(shù)據(jù)庫寫入進(jìn)程負(fù)責(zé)把數(shù)據(jù)高速緩沖區(qū)中已經(jīng)被修改過的數(shù)據(jù)(“臟”緩存塊)成批寫
入數(shù)據(jù)文件中永久保存,同時使數(shù)據(jù)高速緩沖區(qū)有更多的空閑緩存塊,保證服務(wù)器進(jìn)程將所
需要的數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩沖區(qū)中,提高緩存命中率。
當(dāng)下列某個條件滿足時,DB1VR進(jìn)程將啟動,將數(shù)據(jù)高速緩沖區(qū)中的臟數(shù)據(jù)寫入數(shù)據(jù)文
件。
?服務(wù)器進(jìn)程在數(shù)據(jù)高速緩存區(qū)中搜索一定數(shù)量的緩存塊后,仍然沒有找不到可用的
空閑緩存塊,此時DBWR進(jìn)程將被啟動。
?檢查點發(fā)生時,將啟動DBWR進(jìn)程。
?當(dāng)數(shù)據(jù)高速緩沖區(qū)中LRU列表長度達(dá)到初始化參數(shù)DBBLOCKWRITE_BATCH指定值
的一半時,DBWR進(jìn)程將被啟動。
?DBWR進(jìn)程發(fā)生超時(大約3秒,DBWR進(jìn)程將被啟動。
(7)
日志寫入進(jìn)程負(fù)責(zé)把重做日志緩沖區(qū)的重做記錄寫入重做日志文件中永久保存。
DBWR進(jìn)程在工作之前,需要了解LGWR進(jìn)程是否已經(jīng)把相關(guān)的日志緩沖區(qū)中的重做記錄
寫入重做日志文件中。如果還沒有寫入重做日志文件,DBWR進(jìn)程將通知LGWR進(jìn)程完成相應(yīng)
的工作,然后DBWR進(jìn)程才開始寫入。這樣可以保證先將與臟緩存塊相關(guān)的重做記錄信息寫
入重做日志文件,然后將臟緩存塊寫入數(shù)據(jù)文件,即先寫重做日志文件,后寫數(shù)據(jù)文件。
當(dāng)下列事件發(fā)生時,LGWR進(jìn)程將重做日志緩沖區(qū)中的重做記錄寫入重做日志文件。
?用戶通過COMMIT語句提交當(dāng)前事務(wù)。
?重做日志緩沖區(qū)被寫滿三分之一。
?DBWR進(jìn)程開始將臟緩存塊寫入數(shù)據(jù)文件。
LGWR進(jìn)程超時(大約3秒,LGWR進(jìn)程將啟動。
(8)
SMON進(jìn)程的主要功能包括:在實例啟動時負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行恢復(fù);回收不再使用的臨
時空間;將各個表空間的空閑碎片合并。
PMON進(jìn)程的主要功能包括:負(fù)責(zé)恢復(fù)失敗的用戶進(jìn)程或服務(wù)器進(jìn)程,并且釋放進(jìn)程所
占用的資源;清除非正常中斷的用戶進(jìn)程留下的孤兒會話,回退未提交的事務(wù),釋放會
話所占用的鎖、SGA、PGA等資源;監(jiān)控調(diào)度進(jìn)程和服務(wù)器進(jìn)程的狀態(tài),如果它們失敗,
則嘗試重新啟動它們,并釋放它們所占用的各種資源。
(9)
在Oracle數(shù)據(jù)庫中,數(shù)據(jù)庫的操作模式分為專用服務(wù)器(DELICATEDSERVER)模式和
多線程服務(wù)器(MULTITHREADEDSERVER)模式兩種。其中,在專用服務(wù)器模式中為每個用戶進(jìn)
程創(chuàng)建一個服務(wù)器進(jìn)程,用戶進(jìn)程與服務(wù)器進(jìn)程之間是1:1的關(guān)系;在共享服務(wù)器模式中,
一個服務(wù)器進(jìn)程可以為多個用戶進(jìn)程服務(wù)器。
(10)
專用服務(wù)器模式工作過程
?用戶進(jìn)程向一個數(shù)據(jù)庫實例發(fā)出連接請求。
?位于數(shù)據(jù)庫服務(wù)器中的Oracle監(jiān)聽程序探測到用戶進(jìn)程請求后,首先驗證用戶進(jìn)程
提供的用戶名和口令,驗證通過后建議一個專用的服務(wù)器進(jìn)程為該用戶進(jìn)程提供服
務(wù)。
?用戶提交一條SQL語句。
?專用服務(wù)器進(jìn)程首先判斷在共享SQL工作區(qū)中是否存在類似的SQL語句。如果不存
在,將為這條SQL語句分配新的共享SQL工作區(qū),然后解析該語句。在解析過程中,
服務(wù)器進(jìn)程將檢查該語句的語法正確性。同時,該語句的私有數(shù)據(jù)和信息保存到服
務(wù)器進(jìn)程的PGA中。
?解析完成后,服務(wù)器進(jìn)程開始在數(shù)據(jù)高速緩沖區(qū)中尋找SQL語句所要求的數(shù)據(jù)。如
果數(shù)據(jù)不在數(shù)據(jù)高速緩沖區(qū)中,還需要從數(shù)據(jù)文件中將所需要的數(shù)據(jù)讀取到數(shù)據(jù)高
速緩沖區(qū)中。
?服務(wù)器進(jìn)程執(zhí)行SQL語句。如果SQL語句要對數(shù)據(jù)進(jìn)行更改,僅在數(shù)據(jù)高速緩沖區(qū)
中對緩存塊進(jìn)行更改,并將更改所生成的重做記錄保存在重做日志緩存中。將來,
由LGWR進(jìn)程將重做記錄寫入重做日志文件,由DBWR進(jìn)程將臟緩存塊寫入數(shù)據(jù)文件。
?執(zhí)行完畢后,服務(wù)器進(jìn)程將結(jié)果返回給用戶進(jìn)程。
(11)
多線程服務(wù)器模式工作過程
?在客戶端創(chuàng)建一個用戶進(jìn)程,連接數(shù)據(jù)庫。
?位于服務(wù)器中的Oracle監(jiān)聽程序探測到用戶進(jìn)程請求后,首先驗證用戶進(jìn)程提供的
用戶名和口令,驗證通過后將該用戶進(jìn)程分配給一個調(diào)度進(jìn)程。用戶進(jìn)程直接與調(diào)
度進(jìn)程進(jìn)行交互。
?用戶提交一條SQL語句,調(diào)度進(jìn)程對SQL語句進(jìn)行處理,然后將處理結(jié)果放入位于
SGA區(qū)中的一個“請求隊列”中,同時將調(diào)度程序ID也存入請求隊列。
?當(dāng)某個共享服務(wù)器進(jìn)程空閑時,從''請求隊列”中取出一條處理后的SQL語句,并
對該語句進(jìn)行解析和執(zhí)行,得到它所請求的數(shù)據(jù)。
?共享服務(wù)器進(jìn)程將處理結(jié)果放入SGA區(qū)中的一個“響應(yīng)隊列”中?
?調(diào)度程序定期檢查“響應(yīng)隊列”,如果發(fā)現(xiàn)有自己送出請求的處理結(jié)果,則將結(jié)果取
出。調(diào)度程序根據(jù)處理結(jié)果中保存的調(diào)度程序ID來標(biāo)識該結(jié)果是否是自己的。
?調(diào)度程序?qū)⑻幚斫Y(jié)果返回給用戶進(jìn)程。
2.選擇題
(1)D
(2)D
(3)B
(4)B
(5)D
(6)A
(7)D
(8)B
(9)B
(10)A
第9章數(shù)據(jù)庫的啟動與關(guān)閉
1.簡答題
(1)
常用的數(shù)據(jù)庫啟動與關(guān)閉工具包括:SQL*PLUS.OEM、RMAN等。
(2)
數(shù)據(jù)庫啟動時首先根據(jù)初始化參數(shù)文件創(chuàng)建并啟動實例,然后根據(jù)控制文件加載數(shù)據(jù)文
件和充作日志文件,最后打開數(shù)據(jù)文件和重做日志文件。
(3)
數(shù)據(jù)庫關(guān)閉時首先關(guān)閉數(shù)據(jù)文件和重做日志文件,然后卸載數(shù)據(jù)文件和重做日志文件,
關(guān)閉控制文件,最后釋放內(nèi)存結(jié)構(gòu)和后臺進(jìn)程,即關(guān)閉實例。
(4)
利用初始化參數(shù)文件中參數(shù)設(shè)置創(chuàng)建并啟動實例;
利用控制文件中的信息定位并加載數(shù)據(jù)文件和重做日志文件。
重做日志文件用戶在數(shù)據(jù)庫運(yùn)行過程中記錄用戶對數(shù)據(jù)庫的修改操作。
(5)
數(shù)據(jù)庫啟動模式包括:
>STARTUPNOMOUNT
用于創(chuàng)建一個新的數(shù)據(jù)庫或重建數(shù)據(jù)庫的控制文件。
>STARTUPMOUNT
用于重命名數(shù)據(jù)文件、添加、刪除或重命名重做日志文件、改變數(shù)據(jù)庫的歸檔模式、
執(zhí)行數(shù)據(jù)庫完全恢復(fù)操作等。
>STARTUPNORMAL
正常啟動數(shù)據(jù)庫
>STARTUPFORCE
在下列情況下,需要使用STARTUPFORCE命令啟動數(shù)據(jù)庫:無法使用SHUTDOWN
NORMAL,SHUTDOWNIMMEDIATE或SHUTDOWNTRANSACTION語句關(guān)閉數(shù)據(jù)庫實
例;在啟動實例時出現(xiàn)無法恢復(fù)的錯誤。
>STARTUPRESTRICT
當(dāng)執(zhí)行下列操作時,需要使用STARTUPRESTRICT命令啟動數(shù)據(jù)庫:執(zhí)行數(shù)據(jù)庫數(shù)據(jù)
的導(dǎo)出或?qū)氩僮?;?zhí)行數(shù)據(jù)裝教操作;暫時阻止普通用戶連接數(shù)據(jù)庫:進(jìn)行數(shù)據(jù)庫移植或
升級操作等。
(6)
關(guān)閉數(shù)據(jù)庫的方法包括:
>SHUTDOWN[NORMAL]
如果對數(shù)據(jù)庫的關(guān)閉沒有時間限制,則可以采用該命令正常關(guān)閉數(shù)據(jù)庫。
當(dāng)采用SHUTDOWNNORAML方式關(guān)閉數(shù)據(jù)庫時,Oracle將執(zhí)行下列操作:
?阻止任何用戶建立新的連接;
?等待當(dāng)前所有正在連接的用戶主動斷開連接;
?一旦所有用戶斷開連接,則關(guān)閉數(shù)據(jù)庫;
?數(shù)據(jù)庫下次啟動時不需要任何實例的恢復(fù)過程。
>SHUTDOWNIMMEDIATE
如果要求在盡可能短時間內(nèi)關(guān)閉數(shù)據(jù)庫,如即將啟動數(shù)據(jù)庫備份操作、即將發(fā)生電力供
應(yīng)中斷、數(shù)據(jù)庫本身或某個數(shù)據(jù)庫應(yīng)用程序發(fā)生異常需要關(guān)閉數(shù)據(jù)庫等,都可以采用
SHUTDOWNIMMEDIATE命令來立即關(guān)閉數(shù)據(jù)庫。
當(dāng)采用SHUTDOWNIMMEDIATE方式關(guān)閉數(shù)據(jù)庫時,Oracle將執(zhí)行下列操作:
?阻止任何用戶建立新的連接,也不允許當(dāng)前連接用戶啟動任何新的事務(wù);
?回滾所有當(dāng)前未提交的事務(wù);
?終止所有用戶的連接,直接關(guān)閉數(shù)據(jù)庫;
?數(shù)據(jù)庫下一次啟動時不需要任何實例的恢復(fù)過程。
>SHUTDOWNTRANSACTION
如果要求在盡量短的時間內(nèi)關(guān)閉數(shù)據(jù)庫,同時還要保證所有當(dāng)前活動事務(wù)可以提交,則
可以采用SHUTDOWNTRANSACTION命令關(guān)閉數(shù)據(jù)。
當(dāng)采用SHUTDOWNTRANSACTION方式關(guān)閉數(shù)據(jù)庫時,Oracle將執(zhí)行下列操作:
?阻止所有用戶建立新的連接,也不允許當(dāng)前連接用戶啟動任何新的事務(wù);
?等待用戶回滾或提交任何當(dāng)前未提交的事務(wù),然后立即斷開用戶連接;
?關(guān)閉數(shù)據(jù)庫;
?數(shù)據(jù)庫下一次啟動時不需要任何實例的恢復(fù)過程。
>SHUTDOWNABORT
如果前三種方法都無法成功關(guān)閉數(shù)據(jù)庫,說明數(shù)據(jù)庫產(chǎn)生了嚴(yán)重錯誤,只能采用終止方
式,即SHUTDOWNABORT命令來關(guān)閉數(shù)據(jù)庫,此忖會丟失一部分?jǐn)?shù)據(jù)信息,對數(shù)據(jù)庫完
整性造成損害。
當(dāng)采用SHUTDOWNABORT方式關(guān)閉數(shù)據(jù)庫時,Oracle將執(zhí)行下列操作:
?阻止任何用戶建立新的連接,同時阻止當(dāng)前連接用戶開始任何新的事務(wù)。
?立即結(jié)束當(dāng)前正在執(zhí)行的SQL語句。
?任何未提交的事務(wù)不被回滾。
?中斷所有的用戶連接,立即關(guān)閉數(shù)據(jù)庫。
?數(shù)據(jù)庫實例重啟后需要恢復(fù)。
(7)
STARTUPNOMOUNT可用完成的管理操作包括:
用于創(chuàng)建一個新的數(shù)據(jù)庫、重建數(shù)據(jù)庫的控制文件等。
STARTUPMOUNT可以完成的管理操作包括:
用于重命名數(shù)據(jù)文件、添加、刪除或重命名重做日志文件、改變數(shù)據(jù)庫的歸檔模式、
執(zhí)行數(shù)據(jù)庫完全恢復(fù)操作等。
(8)
如果需要數(shù)據(jù)庫處丁OPNE模式下執(zhí)行維護(hù)任務(wù),而同時要保證其他用戶不能在數(shù)據(jù)
庫中建立連接和執(zhí)行操作,此時應(yīng)該使用STARTUPRESTRICT命令啟動數(shù)據(jù)庫。
當(dāng)執(zhí)行下列操作時,需要使用STARTUPRESTRICT命令啟動數(shù)據(jù)庫。
?執(zhí)行數(shù)據(jù)庫數(shù)據(jù)的導(dǎo)出或?qū)氩僮?/p>
?執(zhí)行數(shù)據(jù)裝載操作
?暫時阻止普通用戶連接數(shù)據(jù)庫
?進(jìn)行數(shù)據(jù)庫移植或升級操作
(9)
所謂的靜默狀態(tài)是指只允許DBA用戶在數(shù)據(jù)庫中進(jìn)行操作,而其他所有用戶都不能進(jìn)
行數(shù)據(jù)庫的訪問。DBA在進(jìn)行數(shù)據(jù)庫的管理與維護(hù),執(zhí)行某些特殊操作時,需要排除其他
用戶對數(shù)據(jù)庫的操作。例如,DBA在執(zhí)行某些操作的程中,如果有其他用戶訪問操作的對
象,將導(dǎo)致管理操作失敗;DBA的某些操作在執(zhí)行過程中所產(chǎn)生的中間結(jié)果不應(yīng)當(dāng)被其他
用戶看到。
當(dāng)數(shù)據(jù)庫處于掛起狀態(tài)時,數(shù)據(jù)庫所有的物理文件的I/O操作都被暫停。但是與靜默狀
態(tài)不同,掛起狀態(tài)不禁止非DBA用戶進(jìn)行數(shù)據(jù)庫操作,只是暫時停止所有用戶的I/O操作
(10)
數(shù)據(jù)庫啟動時首先從默認(rèn)位置讀取服務(wù)器端初始化參數(shù)文件,如果沒有,則讀取默認(rèn)位
置的文本初始化參數(shù)文件;如果還沒有則可以通過PFILE參數(shù)指定文本初始化參數(shù)文件文
件。
2.實訓(xùn)題
(1)
STARTUPMOUNT
(2)
STARTUPRETRICT
ALTERSYSTEMDISABLERESTRICTEDSESSION
(3)
ALTERSYSTEMSUSPEND;
ALTERSYSTEMRESUME;
(4)
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASEOPENREADONLY;
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASEOPENREADWRITE;
(5)
SHUTDOWN;
SHUTDOWNIMMEDIATE;
SHUTDOWNTRANACTION;
SHUTDOWNABORT:
(6)
STARTUPFORCE
3.選擇題
(i)c
(2)B
(3)C
(4)B
(5)B
(6)B
(7)A
(8)B
(9)B
(10)C
第10章復(fù)習(xí)題
1.簡答題
(1)
數(shù)據(jù)庫模式與用戶之間的區(qū)別在于:用戶是數(shù)據(jù)庫的使用者和管理者,用戶具有帳戶狀
態(tài)、訪問權(quán)限和操作權(quán)限等屬性。模式是一系列邏輯數(shù)據(jù)結(jié)構(gòu)或?qū)ο蟮募?,是?shù)據(jù)庫中對
象的組織和管理單位。
(2)
在Oracle數(shù)據(jù)庫中,根據(jù)表生存周期不同,可以分為永久性表和臨時表;根據(jù)表中數(shù)
據(jù)組織方式不同,可以分為標(biāo)準(zhǔn)表、索引化表和分區(qū)表。索引化表是一種特殊的表,它按B
樹的結(jié)構(gòu)來組織和存儲數(shù)據(jù),將表的數(shù)據(jù)和索引的數(shù)據(jù)存儲在一起。分區(qū)表是將一個表分成
若干個獨立的組成部分進(jìn)行存儲和管理。
(3)
表的約束包括:
>主鍵約束:定義了主鍵約束的列取值不能為空,也不能重復(fù)。
>唯一值約束:定義了唯一值約束的列取值不能重復(fù)。
>檢查約束:定義了檢查約束的列取值要滿足檢查條件。
>外鍵約束:定義了外鍵約束的列取值要么是主表參照列的值,要么是空值。
>空/非空約束:定義了非空約束的列取值不能為空。
(4)
索引用于提高數(shù)據(jù)的查詢效率。根據(jù)索引值是否唯一,可以分為唯一性索引和非唯一性
索引;根據(jù)索引的組織結(jié)構(gòu)不同,可以分為平衡樹索引和位圖索引;根據(jù)索引基于的列數(shù)不
同可以分為單列索引和復(fù)合索引。
(5)
索引化表將按索引的結(jié)構(gòu)組織表中的數(shù)據(jù),整條記錄都被保存在索引條目中。要啟用溢
出存儲功能,必須在創(chuàng)建索引化表時使用OVERFLOW子句指定溢出部分的存儲空間,同
時使用PCTTHRESHOLD子句或INCLUDING子句來設(shè)置溢出方式。
(6)
所謂分區(qū)是指將一個巨型表或巨型索引分成若干個獨立的組成部分進(jìn)行存儲和管理,每
一個小的、可以獨立管理的部分,稱為原來表或索引的分區(qū)。對巨型表進(jìn)行分區(qū)后,即可以
對整個表進(jìn)行操作,也可以針對特定的分區(qū)進(jìn)行操作,從而簡化了對表的管理和維護(hù)。
(7)
對表進(jìn)行分區(qū)的方法包括:
>范圍分區(qū)按照分區(qū)值的范圍對表進(jìn)行分區(qū)。
>列表分區(qū)按照分區(qū)值對表進(jìn)行分區(qū)。
散列分區(qū)采用HASH算法在指定數(shù)量的分區(qū)中均等地分配數(shù)據(jù).
復(fù)合分區(qū)先對表進(jìn)行范圍分區(qū),然后對福個分區(qū)進(jìn)行散列分區(qū)。
(8)
>簇是一種存儲表數(shù)據(jù)的方法,一個簇由共享相同數(shù)據(jù)塊的一組表組成。在一個簇中,
Oracle將多個表中具有相同相關(guān)列的記錄聚簇在相同的數(shù)據(jù)塊中。對于經(jīng)常訪問這
些列的應(yīng)用來說,能夠減少磁盤I/O時間,改善連接查詢的效率。
>視圖是從一個或多個表或視圖中提取出來的數(shù)據(jù)的一種表現(xiàn)形式。在數(shù)據(jù)庫中只有
視圖的定義,而沒有實際對應(yīng)“表”的存在。通過視圖的使用可以提高數(shù)據(jù)的安全
性,隱臧數(shù)據(jù)的復(fù)雜性,簡化查詢語句,分離應(yīng)用程序與基礎(chǔ)表,保存復(fù)雜查詢等。
>序列是用于產(chǎn)生唯一序列號的數(shù)據(jù)庫對象,可以為多個數(shù)據(jù)庫用戶依次生成不重復(fù)
的連續(xù)整數(shù),通常使用序列自動生成表中的主鍵值。
>同義詞是數(shù)據(jù)庫中表、索引、視圖或其他模式對象的一個別名。利用同義詞,一方
面可以為數(shù)據(jù)庫對象提供一定的安全性保障:另一方面可以簡化對象訪問。此外,
當(dāng)數(shù)據(jù)庫對象改變時,只需要修改同義詞而不需要修改應(yīng)用程序。
>數(shù)據(jù)庫鏈接是在分布式數(shù)據(jù)庫應(yīng)用環(huán)境中的一個數(shù)據(jù)庫與另一個數(shù)據(jù)庫之間的通
信途徑,將遠(yuǎn)程數(shù)據(jù)庫映射到本地。所有能夠訪問本地數(shù)據(jù)庫鏈接的應(yīng)用程序均可
訪問遠(yuǎn)程數(shù)據(jù)庫中的模式對象。
(9)
在數(shù)據(jù)庫中使用索引可以提高對表中數(shù)據(jù)的查詢速度,但是,向表中插入數(shù)據(jù)需要更新
索引,會影響更新速度。如果表建了索引,在有條件查詢時,系統(tǒng)先對索引表進(jìn)行查詢,利
用索引表可以找到相應(yīng)記錄的ROWID,索引建好后,由系統(tǒng)負(fù)責(zé)更新。
(10)
數(shù)據(jù)庫中臨時表分為事務(wù)級別的臨時表和會話級別的臨時表。創(chuàng)建表有三種方法:
定義表名、列名、類型與約束等直接創(chuàng)建表;利用子查詢間接創(chuàng)建表。
2.實訓(xùn)題
(1)
Createtableclass(
CNOnumber(2)primarykey,
CNAMEvarchar2(20),
NUMnumber(3)
)
Createtablestudent(
SNOnumber(4)primarykey,
SNAMEvarchar2(10)unique,
SAGEnumber,
SEXchar(2),
CNOnumber(2)
)
(2)
Altertablestudentaddconstraintfk_cnoforeignkey(eno)referencesclass(cno)deferrable;
(3)
Altertablestudentaddconstraintck_sagecheck(sage>0andsage<=100);
(.4)
altertablestudentaddconstraintck_stucheck(sex="M'orsex=,F')modifysexdefault'M*
(5)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人工作表揚(yáng)信(15篇)
- 會計求職信 關(guān)于會計專業(yè)的求職信
- 五月五端午節(jié)慰問信
- 中國各地酒類廣告語
- DB12T 591-2015 從業(yè)人員預(yù)防性健康檢查技術(shù)規(guī)范
- 個人購房收入證明范本(7篇)
- 個人工資收入證明范本(6篇)
- 腎臟課件簡易教學(xué)課件
- 繪畫牙膏課件教學(xué)課件
- 背景課件可愛教學(xué)課件
- 第三章-自然語言的處理(共152張課件)
- 分布式光伏系統(tǒng)組件缺陷檢測及診斷技術(shù)規(guī)范
- 企業(yè)網(wǎng)站建設(shè)及維護(hù)服務(wù)合同
- 北師版八年級數(shù)學(xué)上冊 第四章 一次函數(shù)(壓軸專練)(十大題型)
- 住院醫(yī)師規(guī)范化培訓(xùn)教學(xué)病例討論教案(模板)
- 2023年合肥市軌道交通集團(tuán)有限公司招聘筆試真題
- 2024年安全教育培訓(xùn)變更新增記錄
- 醫(yī)學(xué)文獻(xiàn)檢索復(fù)習(xí)試題和答案解析(四)
- 校園消防安全宣傳教育課件
- 2024新信息科技三年級第三單元:暢游網(wǎng)絡(luò)世界大單元整體教學(xué)設(shè)計
- 2024-2025形勢與政策:促進(jìn)高質(zhì)量充分就業(yè) 為中國式現(xiàn)代化建設(shè)提供有力支撐
評論
0/150
提交評論