數(shù)據(jù)庫系統(tǒng)與應用實驗指導書_第1頁
數(shù)據(jù)庫系統(tǒng)與應用實驗指導書_第2頁
數(shù)據(jù)庫系統(tǒng)與應用實驗指導書_第3頁
數(shù)據(jù)庫系統(tǒng)與應用實驗指導書_第4頁
數(shù)據(jù)庫系統(tǒng)與應用實驗指導書_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫系統(tǒng)與應用實驗指導書目錄實驗一、數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu) 51實驗二、創(chuàng)建與配置數(shù)據(jù)庫 52實驗三、表空間與存儲管理 53實驗四、訪問控制與安全管理 56實驗五、數(shù)據(jù)庫系統(tǒng)對象管理 58實驗六、PL/SQL語言訓練 60實驗七、存儲過程(函數(shù))和觸發(fā)器 61實驗八、數(shù)據(jù)的備份與恢復 64

實驗一、數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)1.實驗目的通過上機實踐加強理解ORACLE數(shù)據(jù)庫的體系結(jié)構(gòu)。2.實驗內(nèi)容(1)在Oracle的OEM中查看默認表空間,寫出每個表空間對應的數(shù)據(jù)文件名稱。(2)寫出查詢DBA_SEGMENTS數(shù)據(jù)字典的命令。(3)寫出查詢DBA_EXTENTS數(shù)據(jù)字典的命令。(4)在Oracle的安裝目錄下找到當前已安裝的TEST數(shù)據(jù)庫的所有物理文件,分類寫出文件名稱。如數(shù)據(jù)文件:D:\…\SYSTEM01.ora等。(5)寫出查詢當前Oracle數(shù)據(jù)庫系統(tǒng)中的所有數(shù)據(jù)文件的SQL命令。(6)寫出查詢當前Oracle數(shù)據(jù)庫系統(tǒng)中的所有控制文件的SQL命令。(7)寫出查詢當前Oracle數(shù)據(jù)庫系統(tǒng)中的所有日志文件的SQL命令。(8)在Oracle的安裝目錄下找到當前已安裝的TEST數(shù)據(jù)庫的初始化參數(shù)文件,用記事本打開該文件,寫出其中的關于當前數(shù)據(jù)庫中的SGA設置參數(shù)的值。(9)在Oracle的OEM中查看例程,寫出你對例程與Oracle數(shù)據(jù)庫區(qū)別的理解。實驗二、創(chuàng)建與配置數(shù)據(jù)庫1.實驗目的通過上機實踐加強理解ORACLE數(shù)據(jù)庫的創(chuàng)建與配置。2.實驗內(nèi)容(1)寫出創(chuàng)建的一個Oracle數(shù)據(jù)庫的主要步驟。(2)用NETCA(網(wǎng)絡配置助手)配置ORACLE數(shù)據(jù)庫的客戶端,使之能夠訪問Oracle服務器。注:默認安裝Oracle服務端和客戶端都在同一臺計算機上。寫出NETCA有幾個配置功能。(3)用命令行啟動Oracle數(shù)據(jù)庫服務器。寫出主要執(zhí)行命令。(4)用OEM啟動Oracle數(shù)據(jù)庫服務器。寫出啟動成功后,在Windows系統(tǒng)服務管理中的已經(jīng)啟動的幾個關鍵后臺服務進程。(5)用命令行關閉Oracle數(shù)據(jù)庫服務器。(6)用OEM關閉Oracle數(shù)據(jù)庫服務器。(7)寫出SYS用戶和SYSTEM用戶默認的口令。(9)通過EM遠程管理局域網(wǎng)中的其它計算機上的Oracle數(shù)據(jù)庫。實驗三、表空間與存儲管理1.實驗目的通過上機實踐加強Oracle存儲管理的掌握。2.實驗內(nèi)容在操作系統(tǒng)中,已建好了一個Oracle數(shù)據(jù)庫名叫TEST。任務詳細步驟增加表空間大小執(zhí)行語句:ALTERTABLESPACEtoolsADDDATAFILE'C:\ORACLE\ORADATA\TEST\TOOL01.DBF'SIZE20MAUTOEXTENDONNEXT5MMAXSIZE100M;用EnterpriseManager進去查看表空間tools,發(fā)現(xiàn)已經(jīng)新增了名為TOOL01.DBF的數(shù)據(jù)文件。雙擊數(shù)據(jù)文件TOOL01.DBF彈出編輯對話框,我們可以在里面修改其屬性,包括是否脫機、大小、存儲特性等。我們可以在EnterpriseManager中完成同樣的操作,點擊表空間tools右鍵菜單,選擇“增加數(shù)據(jù)文件”,彈出對話框,我們填入必要的參數(shù)后,即可在表空間tools內(nèi)生成新的數(shù)據(jù)文件。在操作系統(tǒng)打開文件夾C:\ORACLE\ORADATA\TEST\,發(fā)現(xiàn)里面已經(jīng)生成了一個新的數(shù)據(jù)文件\TOOL01.DBF,大小為20M修改數(shù)據(jù)文件在EnterpriseManager點擊“存儲”—>“數(shù)據(jù)文件”,找到我們剛生成的文件TOOL01.DBF,然后單擊。在右邊顯示出與該數(shù)據(jù)文件相關的所有參數(shù)。我們將其每次擴展的增量值改為1024KB,再把最大大小改為50M。把數(shù)據(jù)文件的大小改為100M,然后去該文件所在的目錄,看是否馬上文件的大小已經(jīng)改變。同樣的效果也可以通過命令來執(zhí)行,請執(zhí)行以下命令:ALTERDATABASEDATAFILE'C:\ORACLE\ORADATA\TEST\TOOL01.DBF'RESIZE2048K;再去該文件所在的目錄,看是否大小是否變回200M。移動數(shù)據(jù)文件右擊表空間tools,選擇“脫機”—>“正常”用操作系統(tǒng)命令將數(shù)據(jù)文件TOOL01.DBF拷貝到另一個目錄,在本次練習中,選擇copy到父級目錄,即‘C:\ORACLE\ORADATA\’執(zhí)行:ALTERTABLESPACETOOLSRENAMEDATAFILE'C:\ORACLE\ORADATA\TEST\TOOL01.DBF'TO'C:\ORACLE\ORADATA\TOOL01.DBF';結(jié)果顯示表空間已更改將表空間聯(lián)機,我們發(fā)現(xiàn)原來的數(shù)據(jù)文件TOOL01已經(jīng)更改了目錄,表示移動成功管理控制文件打開參數(shù)文件,尋找控制文件的位置,本例是:control_files=("C:\oracle\oradata\TEST\CONTROL01.CTL","C:\oracle\oradata\TEST\CONTROL02.CTL","C:\oracle\oradata\TEST\CONTROL03.CTL")由于控制文件對數(shù)據(jù)庫至關重要,所以需要進行備份,本例中我們在另外的盤區(qū)中增加一個控制文件先關閉數(shù)據(jù)庫修改參數(shù)文件,在參數(shù)control_files中按格式增加一行"C:\oracle\oradata\TEST\CONTROL04.CTL"重新啟動數(shù)據(jù)庫在SQL*Plus中執(zhí)行語句:Select*fromV$controlfile;結(jié)果顯示新的控制文件已經(jīng)加了上去去到目錄C:\oracle\oradata\TEST\中,也可以看到系統(tǒng)已經(jīng)自動幫我們生成了新的控制文件了查看重做日志文件信息執(zhí)行語句:Selectname,log_modefromv$database;檢查目前數(shù)據(jù)庫是否處于歸檔狀態(tài)執(zhí)行語句:Selectgroups,current_group#,sequence#fromv$thread;查看數(shù)據(jù)庫的重做日志組,當前日志組和序列號信息執(zhí)行語句:Selectgroup#,statusfromv$log;查看數(shù)據(jù)庫總共有多少個重做日志組,并且各自目前正處于什么狀態(tài)執(zhí)行語句:Select*fromv$logfile;顯示數(shù)據(jù)庫所有的重做日志組和其所包含的重做日志文件,還有它們的類型和狀態(tài)打開目錄C:\oracle\oradata\TEST,檢查剛才在視圖中所查詢到的那些重做日志文件是否存在,并查看它們的大小。管理重做日志文件執(zhí)行命令:ALTERDATABASEADDLOGFILE('C:\oracle\oradata\TEST\REDO04.LOG')SIZE1M;打開目錄C:\oracle\oradata\TEST,發(fā)現(xiàn)里面已經(jīng)增加了一個重做日志文件REDO04.LOG,大小為1M執(zhí)行語句:Select*fromv$logfile;發(fā)現(xiàn)新增了一個日志文件REDO04.LOG,同時也增加了一個重做日志組,標號為4執(zhí)行命令:ALTERDATABASEADDLOGFILEMEMBER'C:\oracle\oradata\TEST\REDO05.LOG'TOGROUP1;執(zhí)行語句:Select*fromv$logfile;發(fā)現(xiàn)新增了一個日志文件,REDO05.LOG,該文件屬于重做日志組1同樣的操作可以在EnterpriseManager完成,打開“存儲”—>“重做日志組”,顯示所有與重做日志文件有關的信息,我們可以在上面做增刪改的操作移動重做日志文件在EnterpriseManager中選擇重做日志文件組中的group4,然后單擊右鍵,選擇“移去”。注意:移去操作并不物理刪除重做日志文件,我們剛才新建的文件REDO04.LOG還存在點擊日志文件組中的group1,在右邊顯示其詳細信息。在文件名中填入REDO04.LOG,確保文件目錄正確,點擊“應用”,返回出錯信息,選擇取消執(zhí)行語句:Altersystemswitchlogfile;再重新執(zhí)行步驟b,結(jié)果成功執(zhí)行語句:Select*fromv$logfile;發(fā)現(xiàn)日志文件REDO04.LOG已經(jīng)屬于重做日志組1了管理其他數(shù)據(jù)庫文件打開目錄C:\oracle\admin\TEST\bdump,查看告警文件和SQLTrace文件,初始化參數(shù)backgroup_dump_dest決定了這兩個文件的存放目錄打開目錄C:\oracle\admin\TEST\pfile,查看參數(shù)文件。如果初始化參數(shù)ifile指定了引用多一個參數(shù)文件,同樣根據(jù)它指定的目錄去查看該文件用cmd進入%Oracle_HOME%\bin目錄,執(zhí)行命令orapwdfile=C:\oracle\admin\TEST\pwd.orapassword=123456entries=3;生成密碼文件進入目錄C:\oracle\admin\TEST\,打開我們剛才新建的密碼文件pwd.ora,發(fā)現(xiàn)里面是亂碼。這是因為保密需要,以后如果我們采用按密碼文件校驗方式時,將會用到這個密碼文件。9.創(chuàng)建表空間及相關操作在OEM中創(chuàng)建名為TESTXXX(其中XXX為自己的學號)表空間。保存相應的SQL語句。利用SQL語句創(chuàng)建名為XXX的表空間,其中XXX為自己的姓名拼音縮寫。將XXX表空間先做脫機操作,再聯(lián)機操作。顯示表空間SYSTEM的相關性。刪除TESTXXX表空間。設置TEST數(shù)據(jù)庫為歸檔運行模式。課后問題請列舉出幾種擴展表空間的辦法?寫出創(chuàng)建XXX表空間的SQL語句。

實驗四、訪問控制與安全管理1.實驗目的通過上機實踐熟悉。2.實驗內(nèi)容任務詳細步驟1.用戶管理:創(chuàng)建用戶SUN在安全性選項下選定用戶,單擊右鍵,選擇“創(chuàng)建用戶”命令建用戶。在“一般信息”選項卡中輸入用戶名“SUN”,使用默認的配置文件,默認表空間為“USER”,臨時表空間為“TEMP”。注意“用戶狀態(tài)”一定要選擇“未鎖定”,這樣才能允許該用戶訪問,單擊“創(chuàng)建”按鈕,出現(xiàn)提示信息,完成表的創(chuàng)建。向用戶授予權(quán)限和角色。新建的用戶只具有“Connect”角色,它只允許用戶建立會話,若用戶想進行一些基本的數(shù)據(jù)庫操作(如建表),就需要被授予一定的權(quán)限和角色。例:授予用戶SUN創(chuàng)建表和創(chuàng)建視圖的系統(tǒng)權(quán)限。在“系統(tǒng)權(quán)限”選項卡中選定CREATEANYTABLE,單擊向下的箭頭按鈕,在“已授予”框中出現(xiàn)用戶已被授予的系統(tǒng)權(quán)限,同理,授予用戶CREATEVIEW權(quán)限。4.限制用戶空間。DBA不僅可為用戶分配表空間,還可指定用戶在每個表空間中可分配的最大空間數(shù)量。例:限制用戶SUN在USER表空間的限額空間為10MB。在“限額”選項卡中選擇要限額分配的表空間,這里我們選擇表空間USERS,系統(tǒng)默認方式是對用戶在所選表空間上無任何限額,選中“值”單行按鈕,在文本框中輸入限額值,如10MB,單擊“創(chuàng)建”后。完成限額的配置。2.權(quán)限管理1.執(zhí)行SQL命令授予SUN用戶具有建立索引、建立用戶的系統(tǒng)權(quán)限。___________________________________________________________________2.撤銷SUN用戶建立用戶的系統(tǒng)權(quán)限。__________________________________________________________________查詢SUN用戶具有哪些系統(tǒng)權(quán)限。___________________________________________________________________授予SUN用戶對SCOTT用戶的DEPT表所有的操作權(quán)限。___________________________________________________________________查詢SUN用戶具有哪些對象權(quán)限。___________________________________________________________________3.角色管理1.在OEM中利用向?qū)?chuàng)建角色RR,密碼為RR,為RR角色分配DBA的系統(tǒng)權(quán)限,以及對SCOTT用戶的EMP表上的INSERT、DELETE、UPDATE、SELECT權(quán)限,顯示并保存創(chuàng)建RR角色的SQL語句;2.利用上面所保存的創(chuàng)建RR角色的SQL語句并作適當修改,新建一個RRR的角色;3.刪除RRR角色。4.將RR角色授予SUN用戶。4.概要文件管理(選作)1.創(chuàng)建一個概要文件,名為:PP。該概要文件規(guī)定每個會話可用無限的CPU時間;每次調(diào)用不能超過30秒的CPU時間;每次會話的持續(xù)時間不能超過45分鐘;最多有10個并行會話;在每次會話中,從內(nèi)存和磁盤中讀取的數(shù)據(jù)塊受DEFAULT概要文件中相應參數(shù)的限制;每次調(diào)用從內(nèi)存和磁盤中讀取的數(shù)據(jù)塊不能超過1000個;每個會話占用的SGA資源不能超過256K。2.將PP概要文件分配給SUN用戶。實驗五、數(shù)據(jù)庫系統(tǒng)對象管理1.實驗目的通過上機實踐熟悉等。2.實驗內(nèi)容任務詳細步驟1.表管理使用SQL語句創(chuàng)建Student表;如果存在同名的表,改用StudentXXX表名,以下同。其中XXX為自己學號;在OEM中察看Student表,發(fā)現(xiàn)已經(jīng)新增了名為Student的表。雙擊表Student彈出編輯對話框,我們可以在里面修改其屬性,包括字段、存儲特性等。在OEM中創(chuàng)建COURSE表;利用向?qū)?chuàng)建SCORE表;向Student、Course、Score表中插入數(shù)據(jù);修改Student表添加一個Varchar2(100)的MEMO字段;修改Student表中的MEMO字段為Varchar2(200);刪除Student表中的MEMO字段;改變Student表名為STU,執(zhí)行Select*fromSTU成功后,在將表名稱改回Student;察看SYSTEM用戶創(chuàng)建的所有表名稱信息2.索引管理在OEM中創(chuàng)建Student表基于姓名字段的索引,索引名為stu_name_index;察看用戶SYSTEM的所有索引;c.在OEM中刪除Stu_name_index索引;3.視圖管理在OEM中利用向?qū)?chuàng)建student表的V1_student視圖,查詢男同學的信息;利用SQL語句創(chuàng)建V2_student視圖,查詢女同學的信息;執(zhí)行命令:select*fromV1_student;執(zhí)行命令:select*fromV2_student;修改V1_student視圖為查詢電子2030班的男同學學生信息;刪除V2_student;g.利用DESC顯示V1_student視圖的結(jié)構(gòu);4.同義詞管理a.創(chuàng)建Student表的公有同義詞ST;b.執(zhí)行命令:select*fromST;c.創(chuàng)建Student表的私有同義詞STT;d.執(zhí)行命令:select*fromSTT;e.刪除同義詞STT;5.序列管理a.創(chuàng)建序列SQ1,類型為升序、最小值為1000,時間間隔為1,最大值為9999,初始值為1000;b.執(zhí)行命令:Createtablemyseq(idnumber(4,0)notnull,textvarchar2(10));c.執(zhí)行命令:insertintomyseqvalues(sq1.nextval,’first’);d.執(zhí)行命令:insertintomyseqvalues(sql.nextval,’secont’);e.執(zhí)行命令:select*frommyseq,察看結(jié)果,理解SQ1序列的作用機制;f.刪除SQ1序列;實驗六、PL/SQL語言訓練1.實驗目的通過上機實踐進一步熟悉。2.實驗內(nèi)容A.根據(jù)上一次實驗內(nèi)容的職工表和部門表,編寫一個存儲過程,實現(xiàn)如下功能:試編寫一個“漲工資”的存儲過程:將“工資增長的金額”作為存儲過程的參數(shù),但每個部門職工工資的增長幅度有所區(qū)別,每個職工實際工資增長的金額=“工資增長的金額”ד職工所在部門的部門系數(shù)”,如:假設工資增長的幅度是100元,若某部門的系數(shù)為1.2,則該部門職工實際工資增長的數(shù)額是120元。B.測試你編寫的程序。C.參考程序樣本createorreplacefunctionRAISE_SALARY(basenumber)returnvarchar2isecodeemployee.E_CODE%TYPE;dcoefdepartment.D_COEF%TYPE;incrementnumber(7,2);cursoremp_coefisselectE.e_code,D.d_coeffromemployeeE,departmentDwhereE.e_dept=D.d_code;beginopenemp_coef;loopfetchemp_coefintoecode,dcoef;exitwhenemp_coef%notfound;increment:=base*dcoef;updateemployeesete_sal=e_sal+incrementwheree_code=ecode;endloop;closeemp_coef;commit;return'Successtoraisesalary.';exceptionwhenothersthenrollback;return'Failuretoraisesalary.';end;實驗七、存儲過程(函數(shù))和觸發(fā)器1.實驗目的通過上機實踐熟悉,并練習。3.實驗內(nèi)容:內(nèi)容回顧以DBA身份創(chuàng)建自己的用戶,并授予必要的權(quán)限(connect和resource角色);分別創(chuàng)建職工表、部門表、所得稅表、工資歷史表,參考代碼如下:--============================================================--Table:EMPLOYEE職工表--============================================================createtableEMPLOYEE(E_CODECHAR(5)notnull,E_NAMEVARCHAR2(10)notnull,E_SEXCHAR(1)null,E_SALNUMBER(7,2)default3000nullconstraintCKC_E_SAL_EMPLOYEEcheck(E_SALisnullor(E_SALbetween500and90000)),E_DEPTNUMBER(3)null,E_CARDCHAR(18)null,constraintPK_EMPLOYEEprimarykey(E_CODE))--============================================================--Table:DEPARTMENT部門表--============================================================createtableDEPARTMENT(D_CODENUMBER(3)notnull,D_NAMEVARCHAR2(20)null,D_COEFNUMBER(3,2)null,D_MEMOVARCHAR2(100)null,constraintPK_DEPARTMENTprimarykey(D_CODE))--============================================================--Table:GET_TAX所得稅表--============================================================createtableGET_TAX(TAX_NAMEVARCHAR2(10)null,TAX_FEENUMBER(7,2)null,TAX_DATEDATEnull)--============================================================--Table:SAL_HIST工資歷史表--============================================================createtableSAL_HIST(C_DATEDATEnotnull,E_NAMEVARCHAR2(10)null,OLD_SALNUMBER(7,2)null,NEW_SALNUMBER(7,2)null)C.分別在職工表和部門表中插入部分數(shù)據(jù)insertintodepartment(d_code,d_name,d_coef)values(100,'辦公室',0.8);insertintodepartment(d_code,d_name,d_coef)values(200,'財務處',0.9);insertintodepartment(d_code,d_name,d_coef)values(300,'物資公司',0.7);insertintodepartment(d_code,d_name,d_coef)values(400,'人力資源部',1.0);insertintodepartment(d_code,d_name,d_coef)values(500,'技術開發(fā)部',1.2);insertintoemployeevalues('10001','章恣意','F','6543.00',100,'000000000000000000');insertintoemployeevalues('10002','萬梓良','M','9988.45',200,'111111111111111111');insertintoemployeevalues('10003','張望力','F','7856.50',300,'222222222222222222');insertintoemployeevalues('10004','李自豪','F','4567.89',400,'333333333333333333');insertintoemployeevalues('10005','王重禮','M','6754.25',200,'444444444444444444');insertintoemployeevalues('10006','趙挽惜','M','8345.60',500,'555555555555555555');insertintoemployeevalues('10007','朱時髦','F','5623.00',500,'666666666666666666');D.根據(jù)如下代碼創(chuàng)建一個名為COMPUTE_TAX()的存儲過程CREATEORREPLACEPROCEDURECOMPUTE_TAX(sal_pointnumber,tax_rationumber)ASE_INFOemployee%ROWTYPE;get_daydate;CURSOREMP_CURISSELECT*FROMemployee;BEGINselectsysdateintoget_dayfromdual;OPENEMP_CUR;FETCHEMP_CURINTOE_INFO;WHILEEMP_CUR%FOUNDLOOP IFE_INFO.e_sal>sal_pointTHEN INSERTintoGET_TAXvalues(E_INFO.e_name,(E_INFO.e_sal-sal_point)*tax_ratio,get_day); ENDIF; FETCHEMP_CURINTOE_INFO; ENDLOOP;COMMIT;CLOSEEMP_CUR;ENDCOMPUTE_TAX;E.根據(jù)如下代碼在EMPLOYEE表上創(chuàng)建一個名為SALARY_REC的觸發(fā)器CREATEORREPLACETRIGGERDBO.SALARY_RECAFTERINSERTORUPDATEORDELETEOFE_NAME,E_SALONDBO.employeeFOREACHROWBEGININSERTINTODBO.SAL_HISTVALUES(SYSDATE,EMPLOYEE.E_NAME,:OLD.E_SAL,:NEW.E_SAL);END;F.練習上述存儲過程和觸發(fā)器的使用,體會數(shù)據(jù)庫端程序的作用,寫下你對存儲過程和觸發(fā)器的認識。

實驗八、數(shù)據(jù)的備份與恢復1.實驗目的通過上機實踐熟悉等。2.實驗內(nèi)容任務詳細步驟1.脫機備份當數(shù)據(jù)庫關閉時,所有數(shù)據(jù)和文件都是靜止的,這與DOS系統(tǒng)中的文件沒什么兩樣,只需知道要備份的文件在什么地方,然后就可以拷貝文件了。對于一般的數(shù)據(jù)庫系統(tǒng),都是將文件拷貝到本地磁盤的其他位置,因為這樣花費較少。只要磁盤不損壞,數(shù)據(jù)一般能保證恢復。在備份工作之前,應該先在Oracle主目錄(ORACLEHOME)下創(chuàng)建一個放置備份文件的backup目錄,然后就可以拷貝文件到backup文件夾。首先拷貝數(shù)據(jù)文件,一定要拷貝的數(shù)據(jù)文件有ORACLE_HOME\oradata目錄下的system01.dbf,temp01.dbf,tool01.dbf和user01.dbf。還要備份日志文件,這里共要備份3個日志文件:即ORACLE_HOME\oradata目錄下的red001.1og、red002.1og和red003.1og。為確保安全還應將控制文件和初始化文件做備份:即ORACLE_HOME\oradata目錄下的control01.ctl、control02.ctl和control03.ctl。ORACLE_HOME\admin\ora9\pfile目錄下init.ora若有重要的源代碼文件,也應一并做備份,如ORACLE_HOME\bin\do_host.sql。2. 聯(lián)機備份熱備份即為聯(lián)機備份,是在數(shù)據(jù)庫系統(tǒng)運行使用過程中做的備份。進行熱備份需要有相應的權(quán)限,一般在賬戶sys下。設置為歸檔日志模式(ArchiveLog)要進行熱備份,數(shù)據(jù)庫必須工作在歸檔日志模式。在無歸檔日志下,數(shù)據(jù)庫只能進行冷備份。在歸檔日志模式下,可以隨時對數(shù)據(jù)庫進行備份而不會影響數(shù)據(jù)庫的使用運行。可用兩種方式實現(xiàn)自動歸檔功能:圖形方式,選中[歸檔日志模式]復選框。命令方式,如下所示:SQL>Connectsys/sysassysdbaSOL>alterdatabasearchivelog;轉(zhuǎn)變?yōu)樽詣哟鏅n方式自動存檔方式用于指定自動歸檔重做日志文件。僅當連接的數(shù)據(jù)庫在“歸檔日志”模式下運行時,才可使用自動歸檔功能??捎脙煞N方式實現(xiàn)自動歸檔功能:圖形方式,選中[自動歸檔]復選框。命令方式,如下所示:SQL>archivelogstart用“l(fā)ist'’子命令查看當前狀態(tài),如下所示:SQL>archiveloglist數(shù)據(jù)庫日志模式存檔模式自動存檔啟用存檔終點D:\oracle\ora90\RDBMS最早的概要日志序列22下一個存檔日志序列24當前日志序列24由于啟動了“自動歸檔”方式,聯(lián)機重做日志是不用備份的,因為在此方式下,它是在備份工作過程中自動被歸檔和備份。熱備份的準備工作到此結(jié)束,下面開始備份表空間。共有4個表空間必須要備份:系統(tǒng)表空間用戶表空間回滾段表空間臨時表空間此處以備份系統(tǒng)表空間為例,其余各個表空間的備份步驟相似。先將系統(tǒng)表空間設為備份狀態(tài),如下所示:SQL>altertablespacesystembeginbackup;表空間已更改。然后拷貝系統(tǒng)表空間對應的數(shù)據(jù)文件到備份文件夾中:SQL>$copyD:\oracle\oradata\ora9\system01.dbfD:\oracle\backup;說明上面命令中的$表示執(zhí)行操作系統(tǒng)命令。當設為備份狀態(tài)時,此表空間中的數(shù)據(jù)是不可用的,所以在備份完成后,要將備份狀態(tài)設置回來,以使此表空間再次可用。如下所示:SQL>altertablespacesystemendbackup;另外,每備份一個表空間之后,應該強行設置一個系統(tǒng)檢查點,將此次備份工作記錄到系統(tǒng)中。設置檢查點命令如下所示:SQL>altersystemcheckpoint;注意:在備份前打開表空間備份狀態(tài)是必要的,如不這樣做,后面所做的一切備份工作都無效;在備份后關閉表空間備份狀態(tài)更加重要,如果完成了一個表空間的備份之后沒有關閉它的備份狀態(tài),則數(shù)據(jù)庫在這種情況下運行不了多長時間就會遭到破壞,從而引起服務器的崩潰。備份聯(lián)機的數(shù)據(jù)庫控制文件,用backupcontrolfile選項。如下所示:SQL>alterdatabasebackupcontrolfileto‘D:\oracle\backup\contr01.Backup’;一次只能備份一個表空間。要用alterdatabase命令備份數(shù)據(jù)庫控制文件需要有alterdatabase系統(tǒng)權(quán)限。備份初始化文件和源代碼文件在聯(lián)機情況下,備份初始化文件和源代碼文件與脫機冷備份時一樣,只需拷貝即可,因為這些文件與數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論