Oracle大型數(shù)據(jù)庫系統(tǒng)基礎(chǔ)實驗指導(dǎo)書_第1頁
Oracle大型數(shù)據(jù)庫系統(tǒng)基礎(chǔ)實驗指導(dǎo)書_第2頁
Oracle大型數(shù)據(jù)庫系統(tǒng)基礎(chǔ)實驗指導(dǎo)書_第3頁
Oracle大型數(shù)據(jù)庫系統(tǒng)基礎(chǔ)實驗指導(dǎo)書_第4頁
Oracle大型數(shù)據(jù)庫系統(tǒng)基礎(chǔ)實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Oracle大型數(shù)據(jù)庫系統(tǒng)根底實驗指導(dǎo)書網(wǎng)絡(luò)工程教研室 編寫巢湖學(xué)院計算機(jī)與信息工程學(xué)院2021年3月目錄 實驗一:Oracle 11g的安裝與卸載4一、實驗?zāi)康?二、實驗條件4三、實驗原理及相關(guān)知識4四、實驗步驟4一安裝過程4二卸載過程9三啟動數(shù)據(jù)庫實例12四關(guān)閉數(shù)據(jù)庫實例12五了解啟動SQL*Plus的方法12五、思考題及其它13實驗二:SQL*PLUS的簡單使用14一、實驗?zāi)康?4二、實驗設(shè)備及條件14三、實驗原理及相關(guān)知識14四、實驗步驟14五、思考題及其它19實驗三 Oracle 11g體系結(jié)構(gòu)20一、實驗?zāi)康呐c要求20二、實驗設(shè)備及條件20三、實驗內(nèi)容與步驟201、實驗準(zhǔn)備202、

2、物理存儲結(jié)構(gòu)203、Oracle邏輯存儲結(jié)構(gòu)214、Oracle內(nèi)存與進(jìn)程結(jié)構(gòu)224、其他235、作業(yè)與思考練習(xí)題23實驗四: Oracle 數(shù)據(jù)庫的查詢與更新24一實驗?zāi)康募耙?4二、實驗主要內(nèi)容24三、實驗儀器設(shè)備24四、實驗步驟24一oracle常用的查詢語句24二oracle常用的更新語句26三oracle常用的事務(wù)語句26五、思考題及其它27實驗五: PL/SQL編程28一實驗?zāi)康募耙?8二、實驗主要內(nèi)容28三、實驗儀器設(shè)備28四、實驗內(nèi)容與步驟28一PL/SQL塊中查詢命令的使用28二PL/SQL塊中流程控制語句的使用29三SQL/PL塊中游標(biāo)的使用29五SQL/PL塊中例外處

3、理的使用29五、思考題及其它30實驗六: 過程、函數(shù)、觸發(fā)器31一實驗?zāi)康募耙?1二、實驗主要內(nèi)容31三、實驗儀器設(shè)備31四、實驗內(nèi)容與步驟31一過程的創(chuàng)立與維護(hù)31二函數(shù)的創(chuàng)立與維護(hù)32三觸發(fā)器的創(chuàng)立于維護(hù)32四包的使用(選做)32五、思考題及其它33實驗七 表、視圖、索引、同義詞、序列34一、實驗?zāi)康?4二、實驗環(huán)境34三、實驗內(nèi)容及步驟34一表的創(chuàng)立、維護(hù)及其使用方法34二視圖的創(chuàng)立、維護(hù)及其使用方法必做35三索引的創(chuàng)立、維護(hù)及其使用方法選做35四同義詞、序列的創(chuàng)立、維護(hù)及其使用方法選做36實驗八 oracle用戶權(quán)限管理與分配37一、實驗?zāi)康募耙?7二、實驗主要內(nèi)容37三、實驗儀器

4、設(shè)備37四、實驗步驟37一用戶創(chuàng)立與管理37二權(quán)限管理。37三角色的創(chuàng)立與管理。38四資源配置文件PROFILE的建立、修改、查看、刪除操作38附錄:員工醫(yī)療保險系統(tǒng)表39實驗一:Oracle 11g的安裝與卸載實驗學(xué)時:2實驗類型:驗證型一、實驗?zāi)康?. 掌握 Oracle11g 的安裝、配置及其卸載過程 2. 掌握 Oracle11g 效勞的啟動與關(guān)閉 3. 了解Oracle11g管理工具的使用二、實驗條件1. 能夠聯(lián)網(wǎng)的計算機(jī)2. Oracle11g數(shù)據(jù)庫軟件三、實驗原理及相關(guān)知識四、實驗步驟一安裝過程安裝程序成功下載,將會得到如下2個文件:解壓文件將得到database文件夾,文件組織

5、如下:點(diǎn)擊執(zhí)行安裝程序,開始安裝1、雙擊文件之后,將啟動Oracle Universal Installer安裝工具,在該窗口中出現(xiàn)用于檢測計算機(jī)軟件、硬件安裝環(huán)境的提示信息,假設(shè)安裝環(huán)境不滿足系統(tǒng)安裝的最小需求,那么程序會終止繼續(xù)執(zhí)行。2、在Oracle Universal Installer安裝工具檢測完當(dāng)前系統(tǒng)的軟、硬件環(huán)境之后,將翻開“配置平安更新界面。這樣在該界面上可以取消“我希望通過My Oracle Support接收平安更新復(fù)選框的標(biāo)記,并將“電子郵件文本框置空,然后單擊“下一步按鈕,如以下列圖所示。3、單擊“下一步按鈕后,系統(tǒng)會彈出“未指定電子郵件地址的信息提示框,如以下列圖

6、所示。這里選擇“是按鈕,表示對上一步的設(shè)置進(jìn)行確認(rèn)就可以了。4、單擊“是按鈕后,會翻開“選擇安裝選項界面,該界面用于選擇“安裝選項,這里選擇“創(chuàng)立和配置數(shù)據(jù)庫選項,然后單擊“下一步按鈕,如以下列圖所示。 5、單擊“下一步按鈕后,會翻開“系統(tǒng)類界面,如以下列圖示。該界面用來選擇數(shù)據(jù)庫被安裝在哪種操作系統(tǒng)平臺上,本演示實例使用的是Windows 7/xp操作系統(tǒng)屬于桌面類系統(tǒng),所以選擇“桌面類,然后單擊“下一步按鈕。6、單擊“下一步按鈕后,會翻開“典型安裝配置界面。在該界面中,首先設(shè)置“文件目錄;然后選擇“數(shù)據(jù)庫版本;接著輸入“全局?jǐn)?shù)據(jù)庫名和“登錄密碼;最后單擊“下一步按鈕,如以下列圖所示。ora

7、cle推薦口令:1至少一個大寫 2至少一個小寫字母3至少一個數(shù)字 4至少八位7、單擊“下一步按鈕后,會翻開“執(zhí)行先決條件檢查界面,該界面用來檢查安裝本產(chǎn)品所需要的最低配置,檢查結(jié)果會在下一個界面中顯示出來,如以下列圖所示。檢查失敗原因: 機(jī)器硬件配置低于oracle安裝最低配置。如果你的電腦滿足要求但仍然顯示檢查失敗,這時候直接忽略,勾選“全部忽略。8、檢查完畢后,彈出如以下列圖所示的“概要界面,在該界面中會顯示出安裝產(chǎn)品的概要信息,假設(shè)在上一步中檢查出某些系統(tǒng)配置不符合Oracle安裝的最低要求,那么會在該界面的列表中顯示出來,以供用戶參考,然后單擊“完成按鈕即可。9、單擊“完成按鈕后,會翻

8、開“安裝產(chǎn)品界面,該界面會顯示產(chǎn)品的安裝進(jìn)度,如以下列圖所示。10、當(dāng)“安裝產(chǎn)品界面中的進(jìn)度條到達(dá)100%后,會翻開“Database Configuration Assistant界面即數(shù)據(jù)庫配置助手界面,如以下列圖所示。在該界面中,單擊“停止按鈕,可以隨時停止文件復(fù)制。11、當(dāng)“數(shù)據(jù)庫配置助手界面中的進(jìn)度條到達(dá)100%后,表示Oracle 11g數(shù)據(jù)庫安裝所需的文件已經(jīng)復(fù)制完畢,這時會彈出一個包含“安裝信息的對話框,如以下列圖所示。12、在上面的對話框中單擊“口令管理按鈕,會翻開如以下列圖所示的“口令管理對話框,在該對話框中可以為某些用戶重新設(shè)置口令或者解除某些用戶的鎖定狀態(tài)比方,SCOT

9、T用戶默認(rèn)處于鎖定狀態(tài)。13在“口令管理對話框中單擊“確定或“取消按鈕就可以返回到包含“安裝信息的對話框,在該對話框中單擊“確定按鈕將翻開“完成界面。至此,oracle11g的安裝完成。二卸載過程1、首先翻開控制面板 管理工具“效勞窗口中,然后停止所有的Oracle后臺效勞程序,如以下列圖所示。2、然后運(yùn)“D:appAdministratorproduct11.2.0dbhome_1deinstalldeinstall.bat這個批處理文件這個目錄要根據(jù)自己實際安裝的位置來確定,會翻開以下列圖所示的命令行窗口,然后等待程序提取“卸載信息3、“卸載信息提取完畢后,會顯示如以下列圖所示的第二個命令

10、行界面,用以取消配置LISTENER單實例監(jiān)聽程序。4、接著顯示如以下列圖所示的第三個命令行界面,在該界面的提示符位置輸入全局?jǐn)?shù)據(jù)庫名稱,假設(shè)存在多個數(shù)據(jù)庫,那么數(shù)據(jù)庫名稱之間使用逗號分隔這里輸入“orcl,然后回車或者什么也不輸,直接按“enter鍵即可。5、接著顯示如下所示的命令行界面,在該界面的是否修改MYDATA,ORCL 數(shù)據(jù)庫的詳細(xì)資料這里輸入“n,然后回車。是否仍要修改 MYDATA,ORCL 數(shù)據(jù)庫的詳細(xì)資料? n: n6、這時會顯示第四個命令行界面,如以下列圖所示。在該界面提示符的位置輸入“y字符,然后回車。7、這時會顯示第五個命令行界面,如以下列圖所示,等待卸載Oracle

11、 11g數(shù)據(jù)庫,卸載操作可能要持續(xù)幾分鐘,耐心等待。8、卸載完成,命令行界面會自動退出,由于這種自動卸載功能并不完全徹底,需要手動去除安裝目錄中的剩余文件。三啟動數(shù)據(jù)庫實例Oracle數(shù)據(jù)庫實例的啟動過程分為3步驟,分別是啟動實例、加載數(shù)據(jù)庫、翻開數(shù)據(jù)庫。命令格式如下:STARTUP nomount | mount | open | force resetrict pfile=filename模式如下:NOMOUNT模式MOUNT模式OPEN模式FORCE模式四關(guān)閉數(shù)據(jù)庫實例關(guān)閉數(shù)據(jù)庫實例也分為3個步驟,分別是關(guān)閉數(shù)據(jù)庫、卸載數(shù)據(jù)庫、關(guān)閉Oracle實例。具體語法格式如下:SHUTDOWN n

12、ormal | transactional | immediate | abort四種關(guān)閉數(shù)據(jù)庫實例的方式。NORMAL方式TRANSACTIONAL方式IMMEDIATE方式ABORT方式注意:用戶要以sysdba的身份登錄,才具有關(guān)閉和啟動數(shù)據(jù)庫實例的權(quán)限五了解啟動SQL*Plus的方法1、選擇“開始/“所有程序/“Oracle-OraDb11g_home1/“應(yīng)用程序開發(fā)/“SQL*Plus命令,翻開如以下列圖所示的SQL*Plus啟動界面。2、通過“運(yùn)行中輸入sqpplus命令來啟動命令行窗口五、思考題及其它1、如何不以任何用戶身份進(jìn)入到SQL*Plus運(yùn)行環(huán)境?2、如何以sys用戶連

13、接數(shù)據(jù)庫?3、理解sys、system用戶的區(qū)別。4、理解sysdba、sysoper、dba系統(tǒng)權(quán)限和角色的區(qū)別。5、實驗報告書寫要求。 在 SQL*Plus運(yùn)行環(huán)境下,關(guān)閉和啟動數(shù)據(jù)庫,寫出對應(yīng)指令及實驗結(jié)果。實驗二:SQL*PLUS的簡單使用實驗學(xué)時:4實驗類型:設(shè)計型一、實驗?zāi)康?、了解sqlplus環(huán)境的存儲。2、練習(xí)以前的SQL語句。3、熟悉顯示和設(shè)置環(huán)境變量。4、掌握常用的SQL*PLUS。5、熟悉格式化查詢結(jié)果命令。二、實驗設(shè)備及條件在局域網(wǎng)環(huán)境下,有一臺效勞器和假設(shè)干臺客戶機(jī)。效勞器成功安裝Oracle 11g數(shù)據(jù)庫效勞器企業(yè)版,客戶機(jī)成功安裝Oracle 11g客戶端軟件,

14、網(wǎng)絡(luò)效勞配置正確,數(shù)據(jù)庫和客戶端正常工作。三、實驗原理及相關(guān)知識SQLPLUS常用命令列表 假設(shè)當(dāng)前執(zhí)行命令為:select * from tab; 注:括號中的內(nèi)容可以為整個命令的簡寫。 一登錄數(shù)據(jù)庫sqlplus sys/sysDODO as sysdbasqlplus /as sysdba sqlplus /nologSQL>conn sys/sysDODO as sysdba二常用命令1、執(zhí)行一個SQL腳本 SQL> start D:a.sql SQL> D:a.sql 注:假設(shè)需要在一個腳本中調(diào)用另一個腳本,那么使用 D:a.sql 2、重新執(zhí)行上一次命令: SQL

15、> / -也可使用 run/r 來替代執(zhí)行3、編輯腳本:SQL> edit -編輯當(dāng)前輸入的文本(前1次執(zhí)行的局部) SQL> edit D:a.sql -編輯制定文檔 注:在txt中編輯完成后保存,關(guān)閉即修改完成,使用“/后運(yùn)行 4、保存腳本:SQL> save a -自動存檔為a.sql 保存在C:Documents and Settingswangxiaoqi SQL> save D:a -保存到D:a.sql 5、導(dǎo)入腳本: SQL> get D:a 6、顯示一個表結(jié)構(gòu): SQL> desc tab -如果tab不是表,那么只顯示其類型和名字

16、7、保存所有輸入: SQL> spool D:xxx -建立一個xxx.LST文件 SQL> spool -顯示當(dāng)前spool狀態(tài) SQL> select * from dual; SQL> spool off -結(jié)束錄入 8、執(zhí)行過程 SQL> execute a;9、增加頁眉和頁腳: SQL> TTITLE abc -添加頁眉“abc SQL> BTITLE def -添加頁腳“def SQL> TTITLE OFF -取消頁眉顯示 三COLUMNCOL命令修改字段屬性: 可以修改的屬性有: CLEAR FORMAT format HEADI

17、NG text JUSTIFY LEFT|CENTER|CENTRE|RIGHT NOPRINT|PRINT NULL text ON|OFF WRAPPED|WORD_WRAPPED|TRUNCATED 注:假設(shè)不同表的同列名,會一起改掉! 1、HEADING-改變字段名 SQL> COLUMN id HEADING 'XX|YY' -使用'|'可將列名顯示為兩行 2、FORMAT-改變字符長度 & 格式化數(shù)值 SQL> COLUMN id FORMAT a20 -此字段長20個字符,只能針對字符,假設(shè)為數(shù)字那么無法正常顯示 SQL>

18、 COLUMN id FORMAT $999.00 -前綴$,小數(shù)點(diǎn)前3位,小數(shù)點(diǎn)后2位四舍五入 3、JUSTIFY-改變字段名顯示位置 SQL> COLUMN id JUSTIFY center -居中顯示,默認(rèn)的都是靠右(r )顯示 4、NOPRINT-不顯示 SQL> COLUMN id NOPRINT -不顯示出來,可用PRINT設(shè)置回來 5、NULL-設(shè)置NULL值顯示 SQL> COLUMN COMM NULL 0.00 -將NULL值設(shè)置位0.00 注意必須加上 6、WRAPPED-設(shè)置繚繞方式 SQL> COLUMN id FORMAT a5 -設(shè)置長度

19、為5 SQL> COLUMN id WRAPPED -表示直接按長度繚繞 SQL> COLUMN id WORD_WRAPPED -按單詞繚繞 SQL> COLUMN id TRUNCATED -直接按長度截斷 7、COLUMN-顯示當(dāng)前列所有屬性 SQL> COLUMN id -后面不加列名時顯示所有的COLUMN 8、OFF|ON-設(shè)置某一字段關(guān)閉 SQL> COLUMN id OFF 9、CLEAR-清空所有字段屬性 SQL> CLEAR COLUMNS 四SQL*Plus的系統(tǒng)參數(shù)參照課本P50頁表格: show all -顯示所有系統(tǒng)參數(shù)的當(dāng)前值

20、show 參數(shù) -顯示某個系統(tǒng)參數(shù)值 set 參數(shù)值 -設(shè)置系統(tǒng)參數(shù)值 echo OFF 是否顯示執(zhí)行代碼 SQL> SET ECHO ON|OFF FEEDBACK ON for 6 or more rows 查詢、修改時所影響的行數(shù) SQL> SET FEEDBACK 6|n|ON|OFF heading ON 是否顯示列標(biāo)題 SQL> SET HEADING ON|OFF linesize 100 設(shè)置一行可容納的字符數(shù) SQL> SET LINESIZE 80|n newpage 1 頁與頁之間的分隔符 SQL> SET NEWPAGE 1|n|NONE

21、當(dāng)set newpage 0 時,會在每頁的開頭有一個小的黑方框。 當(dāng)set newpage n 時,會在頁和頁之間隔著n個空行。 當(dāng)set newpage none 時,會在頁和頁之間沒有任何間隔。 null "" 設(shè)置null值 SQL> SET NULL 0.00 但是此值顯示出來后必為字符型 numformat "" numwidth 10 設(shè)置number類型的長度限制 SQL> SET NUMWIDTH 16 pagesize 9999 一頁顯示多少行 SQL> SET PAGESIZE 24|n 當(dāng)設(shè)置為0時,那么所有行顯

22、示在一頁中,并且不顯示標(biāo)題行 PAUSE is OFF serveroutput ON SIZE 1000000 FORMAT WORD_WRAPPED 輸出DBMS.OUTPUT時是否顯示 SQL> SET SERVEROUTPUT ON|OFF size n timing OFF SQL語句執(zhí)行花費(fèi)時間顯示 set TIMING ON|OFF wrap : lines will be wrapped 當(dāng)長度超過時是否繚繞 SQL> SET WRAP ON|OFF -根本上都要ON 五一些常用的小操作: show user -查看當(dāng)前登錄用戶 show errors -顯示錯誤信

23、息 show release -顯示版本 show SGA -顯示SGA set time on -前端始終顯示時間 select name from v$database; -查看當(dāng)前所在數(shù)據(jù)庫 select * from v$instance; -查看所有數(shù)據(jù)庫實例(似乎沒什么用) select * from V_$PWFILE_USERS; -查看那些用戶有SYSDBA/SYSOPER權(quán)限show和set命令是兩條用于維護(hù)SQL*Plus系統(tǒng)變量的命令 SQL> show all -查看所有68個系統(tǒng)變量值 SQL> show user -顯示當(dāng)前連接用戶 SQL> s

24、how error -顯示錯誤 SQL> set heading off -禁止輸出列標(biāo)題,默認(rèn)值為ON SQL> set feedback off -禁止顯示最后一行的計數(shù)反響信息,默認(rèn)值為"對6個或更多的記錄,回送ON" SQL> set timing on -默認(rèn)為OFF,設(shè)置查詢耗時,可用來估計SQL語句的執(zhí)行時間,測試性能 SQL> set sqlprompt "SQL> " -設(shè)置默認(rèn)提示符,默認(rèn)值就是"SQL> " SQL> set linesize 1000 -設(shè)置屏幕顯示行寬

25、,默認(rèn)100 SQL> set autocommit ON -設(shè)置是否自動提交,默認(rèn)為OFF SQL> set pause on -默認(rèn)為OFF,設(shè)置暫停,會使屏幕顯示停止,等待按下ENTER鍵,再顯示下一頁 SQL> set arraysize 1 -默認(rèn)為15 SQL> set long 1000 -默認(rèn)為80 說明: long值默認(rèn)為80,設(shè)置1000是為了顯示更多的內(nèi)容,因為很多數(shù)據(jù)字典視圖中用到了long數(shù)據(jù)類型,如:SQL> desc user_views列名 可空值否 類型- - -VIEW_NAME NOT NULL VARCHAR2(30)TEX

26、T_LENGTH NUMBERTEXT LONG六命令列表: 假設(shè)當(dāng)前執(zhí)行命令為:select * from tab;(a)ppend 添加文本到緩沖區(qū)當(dāng)前行尾a order by tname結(jié)果:select * from tab order by tname;注:a后面跟2個空格(c)hange/old/new 在當(dāng)前行用新的文本替換舊的文本c/*/tname結(jié)果:select tname from tab;(c)hange/text從當(dāng)前行刪除文本c/tab結(jié)果:select tname from ;del刪除當(dāng)前行del n刪除第n行(i)nput 文本 在當(dāng)前行之后添加一行(l)is

27、t 顯示緩沖區(qū)中所有行(l)ist n 顯示緩沖區(qū)中第 n 行(l)ist m n 顯示緩沖區(qū)中 m 到 n 行run執(zhí)行當(dāng)前緩沖區(qū)的命令/執(zhí)行當(dāng)前緩沖區(qū)的命令r執(zhí)行當(dāng)前緩沖區(qū)的命令文件名運(yùn)行調(diào)入內(nèi)存的sql文件,如:SQL> edit s<回車>如果當(dāng)前目錄下不存在s.sql文件,那么系統(tǒng)自動生成s.sql文件,在其中輸入“select * from tab;,存盤退出。SQL> s<回車>系統(tǒng)會自動查詢當(dāng)前用戶下的所有表、視圖、同義詞。get 文件名 調(diào)入存盤的sql文件start 文件名 運(yùn)行調(diào)入內(nèi)存的sql文件spool 文件名 把這之后的各種操作及

28、執(zhí)行結(jié)果“假脫機(jī)spool顯示當(dāng)前的“假脫機(jī)狀態(tài)spool off停止輸出例:SQL> spool aSQL> spoolSQL> spool offSQL> spool當(dāng)前無假脫機(jī)exit 退出SQL*PLUSdesc 表名顯示表的結(jié)構(gòu)show user顯示當(dāng)前連接用戶show error 顯示錯誤show all 顯示所有68個系統(tǒng)變量值clear screen 清空當(dāng)前屏幕顯示四、實驗步驟1、oracle sqlplus的兩中啟動方法1、選擇“開始/“所有程序/“Oracle-OraDb11g_home1/“應(yīng)用程序開發(fā)/“SQL*Plus命令,翻開如以下列圖所示

29、的SQL*Plus啟動界面。2、通過“運(yùn)行中輸入sqpplus命令來啟動命令行窗口用戶名: scott 口令:tiger 用戶名:system/sys 口令:Admin123(Oracle 11g)用戶名:system/sys 口令:orcl123(Oracle 10g)2、SQLPlus的各種命令的使用設(shè)計題:打印輸出表中的所有記錄,只輸出empno,ename ,job,sal ,deptno字段。要求如下:1在命令提示符“SQL>前面顯示當(dāng)前的系統(tǒng)時間2一頁顯示15行,每頁3行空行,每一頁都暫停,并有顯示提示字符串按Enter繼續(xù)3為數(shù)字顯示符號類型,工資的輸出格式為$999,99

30、.00; 4 ename ,job列標(biāo)題用中文顯示;4根據(jù)deptno列值范圍分割輸出結(jié)果,并計算sal列的和;5打印頭標(biāo)題為“雇員信息表,并以黑體打?。淮蛴〉蜆?biāo)題為“操作員:××× 打印日期為:×年×月×日以定義變量的方式6把打印結(jié)果輸出到指定文件中五、思考題及其它1、什么才是SQL*PLUS中一頁?2、Numformat設(shè)置輸出數(shù)值格式其有效范圍是什么?column中的format的設(shè)置輸出數(shù)值格式有效范圍又是什么?3、實驗報告要求 把“四、實驗步驟中的“2、設(shè)計題寫到實驗報告中,并給出實驗結(jié)果。 實驗三 Oracle 11g體系

31、結(jié)構(gòu)實驗學(xué)時:2實驗類型:驗證型一、實驗?zāi)康呐c要求1、熟悉Oracle數(shù)據(jù)庫的物理結(jié)構(gòu)2、熟悉Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)3、理解Oracle的工作機(jī)制4、理解Oracle的效勞器結(jié)構(gòu)二、實驗設(shè)備及條件在局域網(wǎng)環(huán)境下,有一臺效勞器和假設(shè)干臺客戶機(jī)。效勞器成功安裝Oracle 11g數(shù)據(jù)庫效勞器企業(yè)版,客戶機(jī)成功安裝Oracle 11g客戶端軟件,網(wǎng)絡(luò)效勞配置正確,數(shù)據(jù)庫和客戶端正常工作。三、實驗內(nèi)容與步驟1、實驗準(zhǔn)備 以系統(tǒng)管理員身份登入到數(shù)據(jù)庫。2、物理存儲結(jié)構(gòu) 1數(shù)據(jù)文件數(shù)據(jù)文件的詳細(xì)信息記載在控制文件中,可以通過如下方式查看數(shù)據(jù)文件。SQL>select name from v$d

32、atafile;給出運(yùn)行結(jié)果截圖:練習(xí):用desc命令查看V$datafile視圖的結(jié)構(gòu),并試著查詢更詳細(xì)的信息。2日志文件通過如下方式查看重做日志文件相關(guān)信息:給出運(yùn)行結(jié)果截圖:練習(xí):用desc命令查看V$log視圖的結(jié)構(gòu),并試著查詢控制文件更詳細(xì)的信息。3控制文件通過如下方式查看控制文件相關(guān)信息:給出運(yùn)行結(jié)果截圖:練習(xí):用desc命令查看V$controlfile視圖的結(jié)構(gòu),并試著查詢更詳細(xì)的信息。4參數(shù)文件通過如下方式查看參數(shù)文件相關(guān)信息:a、show parameter顯示效勞器參數(shù)b、查詢試圖v$Parameter,可以利用該動態(tài)性能視圖來確定參數(shù)的默認(rèn)值是否被修改,以及是否可以用a

33、lter system和alter session命令修改閱讀結(jié)果并理解各數(shù)據(jù)項的含義。修改效勞器參數(shù)a、通過企業(yè)管理器OEM修改b、使用 alter system修改效勞器參數(shù)。格式如下:Alter system set parameter =value <commernt =text><feferred><scope=memory|spfile|both><sid=sid|*> Eg:alter system set db_block_size=4096;練習(xí):在%oracle_home%如D:appAdministratorproduct1

34、1.2.0dbhome_1database或者D:appAdministratorproduct11.2.0dbhome_1srvmadmin找到名為SPFileSID.ora(如:SPfileorcl.ora)和init.ora的文件,此文件即為參數(shù)文件,用記事本或者寫字板翻開它們,閱讀其內(nèi)容并理解各數(shù)據(jù)項的作用。3、Oracle邏輯存儲結(jié)構(gòu) 1查看表空間的名稱及大小執(zhí)行以下語句,并給出運(yùn)行結(jié)果。2查看表空間物理文件的名稱及大小執(zhí)行以下語句,并給出運(yùn)行結(jié)果。3查看回滾段名稱及大小執(zhí)行以下語句,并給出運(yùn)行結(jié)果。4查看所有表空間對應(yīng)的數(shù)據(jù)文件名:SQL>select distinct fi

35、le_name,tablespace_name,AUTOEXTENSIBLE from dba_data_files; 5查看表空間的使用情況:SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;6查看回滾段的使用情況,哪個用戶正在使用回滾段的資源:SQL>select s.username, from v$transaction t,v$rollstat r,v$rollname u,v$session

36、 s where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;4、Oracle內(nèi)存與進(jìn)程結(jié)構(gòu) 1查看sga情況:SQL>SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC;2數(shù)據(jù)庫共享池性能檢查:SQL>Select namespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidat

37、ions from v$librarycachewhere namespace in ('SQLAREA','TABLE/PROCEDURE','BODY','TRIGGER');3檢查共享內(nèi)存的剩余情況:SQL>select request_misses, request_failures from v$shared_pool_reserved;  4數(shù)據(jù)高速緩沖區(qū)性能檢查:SQL>select 1-p.va

38、lue/(b.value+c.value) "db buffer cache hitratio"from v$sysstat p,v$sysstat b,v$sysstat cWhere ='physical reads' and ='db block gets' and ='consistent gets'5查看排序段的性能:SQL>S

39、ELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');  6查看數(shù)據(jù)庫中某用戶,正在運(yùn)行什么SQL語句SQL>SELECT SQL_TEXT FROM V$SQLTEXT T, V$SESSION S WHERE T.ADDRESS=S.SQ

40、L_ADDRESS AND T.HASH_value=S.SQL_HASH_value  AND S.MACHINE='XXXXX' OR USERNAME='WACOS'4、其他 1查看數(shù)據(jù)庫庫對象:SQL>select owner, object_type, status, count(*) count# from all_objects group by owner, ob

41、ject_type, status;2查看數(shù)據(jù)庫的創(chuàng)立日期和歸檔方式:SQL>Select Created, Log_Mode From V$Database; 5、作業(yè)與思考練習(xí)題1、現(xiàn)有控制文件的位置及其名稱是什么?提示:查詢動態(tài)性能視圖V$CONTROLFILE。注:您還可以使用 V$PARAMETER,或者執(zhí)行 SHOW PARAMETER命令以顯示控制文件的名稱和位置。2、控制文件中數(shù)據(jù)文件局部的初始大小是多少?提示:查詢動態(tài)性能視圖V$CONTROLFILE_RECORD_SECTION。3、實驗報告要求 從物理存儲

42、結(jié)構(gòu)、邏輯存儲結(jié)構(gòu)以及內(nèi)存與進(jìn)程結(jié)構(gòu)中分別選擇三個進(jìn)行查詢,并給出實驗結(jié)果。實驗四: Oracle 數(shù)據(jù)庫的查詢與更新實驗學(xué)時:6實驗類型:設(shè)計型一實驗?zāi)康募耙?熟悉Oracle的根本知識及SCOTT模式。2熟悉并掌握oracle常用的查詢語句。3熟悉并掌握oracle常用的更新語句4熟悉并掌握oracle常用的事務(wù)語句二、實驗主要內(nèi)容1、Oracle查詢語句。2、Oracle 更新語句。3、Oracle事務(wù)處理。三、實驗儀器設(shè)備在局域網(wǎng)環(huán)境下,有一臺效勞器和假設(shè)干臺客戶機(jī)。效勞器成功安裝Oracle 11g數(shù)據(jù)庫效勞器企業(yè)版,客戶機(jī)成功安裝Oracle 11g客戶端軟件,網(wǎng)絡(luò)效勞配置正確,

43、數(shù)據(jù)庫和客戶端正常工作。四、實驗步驟一oracle常用的查詢語句1、選擇列1顯示所有員工的姓名及工齡,并分別用別名表示姓名和工齡。23顯示每個雇員的年薪sal+comm*134檢索emp表中有獎金員工不同工種job,即要求顯示的“job記錄不重復(fù)2、選擇行1查詢工作是CLERK的所有職工的姓名,職工號和部門號2查詢獎金高于工資20%的員工信息。3查詢emp表中工資sal大于1500且部門編號為10的數(shù)據(jù)記錄4查詢工資同時不等于3000、950、800的員工記錄。5查詢工資不在2000到3000之間的員工信息。6查詢職務(wù)為PRESIDENT“、MANAGER“、ANALYST“任意一種員工的信息

44、7查詢以字母J開頭,以S 結(jié)尾,中間任意長度為名的員工記錄8把職工名字和部門編號中間用WORKS IN DEPARTMENT連接起來9查詢emp中comm為空的員工信息 10查詢工資高于500或是崗位為manager的雇員,同時還要滿足他們的姓名首寫字母為大寫的J“11查詢所有工種不是MANAGER和CLERK,且工資大于或等于2000的員工信息。12如何按照部門升序、雇員的年薪降序顯示信息13查詢每個局部員工平均工資超過1500的記錄信息,并按降序排列。 14顯示每個部門的員工工資總和使用ROLLUP關(guān)鍵字。15顯示每個部門的員工工資總和及每一個崗位工資總和使用CUBE關(guān)鍵字。3、連接查詢1

45、內(nèi)連接查詢所以員工的編號、員工姓名和員工所在的部門名稱。2等值連接查詢職位為MANAGER每個員工的編號、員工姓名和員工所在的部門名稱。3自然連接在emp表中檢索工資sal字段大于2000的記錄,并實現(xiàn)emp和dept的自然連接4自連接a、查詢不低于CLARK工資的員工號、員工姓名和員工工資,查詢后的結(jié)果要求按員工工資升序排列。b、查詢所有管理者的下屬員工信息。5外連接首先使用INSERT語句在emp表中插入新紀(jì)錄,但并沒有為deptno,dname列插入值,即他們的值為null INSERT INTO emp(empno,ename,job) VALUES(9527,'EAST

46、9;,'SALESMAN');然后在dept表中插入如下記錄INSERT INTO dept(deptno,dname) VALUES(50,'HR',Shanghai)完成下面的外連接:a、將emp表和dept表進(jìn)行左外連接,emp為左表,dept表為右表b、將emp表和dept表進(jìn)行右外連接,emp為左表,dept表為右表c、需要了解所有員工和部門信息完整外連接。4、子查詢1單行單列子查詢使用比較運(yùn)算符查詢出既不是最高工資也不是最低工資的員工信息2單列多行子查詢IN子查詢a、查詢與SMITH員工從事相同工作的其他員工信息。b、查詢部門人數(shù)大于5的部門的員工的

47、信息。3ANY或ALL子查詢a、查詢工資大于部門編號為10的任意一個員工工資即可的其他部門的員工信息。 b、查詢工資大于部門編號為30的所有員工工資的員工信息。4多列子查詢查詢與SMITH的部門和崗位完全相同的其他員工信息。5from子句中使用子查詢a、查詢高于自己部門平均工資的員工信息。b、查詢最低工資大于2500的各種工作。6關(guān)聯(lián)子查詢 檢索工資大于同職位的平均工資的員工信息5、Oracle常用系統(tǒng)函數(shù)1字符函數(shù)的應(yīng)用a、查詢emp表中員工的姓名、工作和所在的部門,姓名的首字符大寫,其他字符小寫,工作以小寫字符輸出。b、查詢工名正好為6個字符的員工信息。c、查詢所有員工姓名的前三個字符。2

48、日期和時間類函數(shù)a、查詢各月倒數(shù)第二天入職的員工信息。3轉(zhuǎn)換類函數(shù)a、顯示所有員工的姓名、雇傭日期及工齡,日期以“YYYY-MM-DD格式顯示b、顯示1982-1-1后入職的員工信息。 二oracle常用的更新語句1、插入語句1分別在emp和dept插入一條記錄。Emp: a、向emp表中插入一條記錄,員工號為9357,員工名字為oracle,工資為2050元,部門號為20,入職日期為2002年5月10日b、在emp表中,插入一條記錄 (9527,'EAST','SALESMAN')Dept: 在dept插入一條記錄(40,DESIGN,Beijing) 能否成

49、功插入?并分析結(jié)果2求每個部門的平均工資,并將結(jié)果保存到數(shù)據(jù)庫中。第一步: 在數(shù)據(jù)庫中建立一個有兩個屬性列的新表,其中一列存放部門號別名,另一列存放相應(yīng)部門的員工的平均工資。 CREATE TABLE AvgSal(Dept_ID number(2),Sal_Avg number(7,2) ;其中Dept_ID代表部門類編號, Sal_Avg代表平均工資。第二步:插入如何實現(xiàn)?2、更新語句1把emp表中員工名稱以J開頭的所有員工的工資上調(diào)20%。2將和SCOTT一個部門的所有員工工資上調(diào)20%。3將oracle員工剛插入的調(diào)任到ALLEN 所在的部門,其工作和工資、獎金和都和ALLEN一樣 。

50、 3、刪除語句1把emp表中empno=9357的員工信息刪除。2刪除和SCOTT一個部門的所有員工信息。3) 用turncate刪除AvgSal表剛創(chuàng)立的平均工資表三oracle常用的事務(wù)語句完成下面操作:1、向emp表中插入一條記錄,員工號為9357,員工名字為oracle,工資為2050元,部門號為20,入職日期為2002年5月10日2、設(shè)置保存點(diǎn)3、在emp表中,插入一條記錄 (9527,'EAST','SALESMAN')4、回滾事務(wù)到檢查點(diǎn),并查詢emp,查看事務(wù)操作情況5、回滾整個事務(wù),并查詢emp,查看事務(wù)操作情況。5、提交事務(wù)6、查詢emp,查

51、看事務(wù)操作情況五、思考題及其它1、可以用列別名作為order by子句的一局部,但能否將列別名作為having子句的一局部呢?2、Where子句中不可以使用聚集函數(shù),但可以使用聚集函數(shù)對應(yīng)的別名作為子句的一局部嗎?3、where子句和having子句的區(qū)別?4、插入語句的時候應(yīng)注意什么問題?5、實驗報告要求 本實驗共實驗報告三次,分別是1和2、3和4、5和oracle常用的更新語句實驗五: PL/SQL編程實驗學(xué)時:4實驗類型:設(shè)計型一實驗?zāi)康募耙?了解PL/SQL塊的根本結(jié)構(gòu)、功能及編程標(biāo)準(zhǔn)。2掌握PL/SQL塊中各種SQL命令的使用方法。3掌握PL/SQL塊中流程控制語句的使用方法4掌握PL/SQL塊中游標(biāo)的使用方法5掌握PL/SQL塊中例外處理的使用方法二、實驗主要內(nèi)容 1 PL/SQL塊的根本結(jié)構(gòu)及使用方法。2 PL/SQL塊中流程控制語句的使用方法3 PL/SQL塊中游標(biāo)的使用方法4 PL/SQL塊中例外處理的使用方法三、實驗儀器設(shè)備在局域網(wǎng)環(huán)境下,有一臺效勞器和假設(shè)干臺客戶機(jī)。效勞器成功安裝Oracle 11g數(shù)據(jù)庫效勞器企業(yè)版,客戶機(jī)成功安裝Oracle 11g客戶端軟件,網(wǎng)絡(luò)效勞配置正確,數(shù)據(jù)庫和客戶端正常工作。四、實驗內(nèi)容與步驟一、PL/SQL塊中查詢命令的使用1、從控

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論