Oracle教程 (第6版)(Oracle 11g版) 課件 第8、9章 系統(tǒng)安全管理;表空間、備份和恢復(fù)_第1頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第8、9章 系統(tǒng)安全管理;表空間、備份和恢復(fù)_第2頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第8、9章 系統(tǒng)安全管理;表空間、備份和恢復(fù)_第3頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第8、9章 系統(tǒng)安全管理;表空間、備份和恢復(fù)_第4頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第8、9章 系統(tǒng)安全管理;表空間、備份和恢復(fù)_第5頁
已閱讀5頁,還剩116頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章系統(tǒng)安全管理用

戶01創(chuàng)建用戶1.以界面方式創(chuàng)建用戶2.以命令方式創(chuàng)建用戶創(chuàng)建用戶1.以界面方式創(chuàng)建用戶(1)啟動(dòng)SQLDeveloper,使用SYS用戶(口令為Mm123456)連接數(shù)據(jù)庫,打開連接,展開“其他用戶”節(jié)點(diǎn),可以看到系統(tǒng)中已存在的用戶賬戶,如圖。創(chuàng)建用戶(2)右擊“其他用戶”節(jié)點(diǎn),選擇“創(chuàng)建用戶”選項(xiàng),出現(xiàn)“創(chuàng)建/編輯用戶”對話框,如圖所示,該對話框界面包括6個(gè)選項(xiàng)頁:用戶、角色、系統(tǒng)權(quán)限、限額、SQL和結(jié)果。創(chuàng)建用戶(3)設(shè)置“用戶”選項(xiàng)頁,如圖。創(chuàng)建用戶(4)設(shè)置“角色”選項(xiàng)頁,如圖。創(chuàng)建用戶(5)設(shè)置“系統(tǒng)權(quán)限”選項(xiàng)頁,如圖。創(chuàng)建用戶(6)設(shè)置“限額”選項(xiàng)頁,如圖。創(chuàng)建用戶(7)至此,新用戶的所有信息及權(quán)限都已設(shè)置完畢,切換到“SQL”選項(xiàng)頁,可以查看創(chuàng)建該用戶相應(yīng)的SQL語句,如圖。創(chuàng)建用戶(8)單擊“應(yīng)用”按鈕,系統(tǒng)創(chuàng)建新用戶并自動(dòng)切換到“結(jié)果”選項(xiàng)頁顯示執(zhí)行結(jié)果,如圖所示,完成后單擊“關(guān)閉”按鈕關(guān)閉對話框。若操作成功,將在“其他用戶”節(jié)點(diǎn)下看到新創(chuàng)建的用戶ZHOU。創(chuàng)建用戶2.以命令方式創(chuàng)建用戶也可以使用CREATEUSER命令來創(chuàng)建一個(gè)新的數(shù)據(jù)庫用戶賬戶,但是創(chuàng)建者必須具有CREATEUSER系統(tǒng)權(quán)限。語法格式為:CREATEUSER用戶名 /*將要?jiǎng)?chuàng)建的用戶名*/ [IDENTIFIEDBY{密碼|EXTERNALLLY| GLOBALLYAS'外部名稱'}] /*表明Oracle系統(tǒng)如何驗(yàn)證用戶*/ [DEFAULTTABLESPACE默認(rèn)表空間名] /*標(biāo)識(shí)用戶所創(chuàng)建對象的默認(rèn)表空間*/ [TEMPORARYTABLESPACE臨時(shí)表空間名] /*標(biāo)識(shí)用戶的臨時(shí)段的表空間*/ /*用戶規(guī)定的表空間存儲(chǔ)對象,最多可達(dá)到這個(gè)定額規(guī)定的總尺寸*/ [QUOTA數(shù)字值K|數(shù)字值M|UNLIMTEDON表空間名] [PROFILE概要文件名] /*將指定的概要文件分配給用戶*/ [PASSWORDEXPIRE] [ACCOUNT{LOCK|NULOCK}] /*賬戶是否鎖定*/創(chuàng)建用戶相關(guān)參數(shù)說明如下。(1)IDENTIFIEDBY:表示Oracle系統(tǒng)驗(yàn)證用戶的過程。(2)DEFAULTTABLESPACE:標(biāo)識(shí)用戶所創(chuàng)建對象的默認(rèn)表空間為指定的表空間,如果忽略該子句就放入SYSTEM表空間。(3)TEMPORARYTABLESPACE:標(biāo)識(shí)用戶臨時(shí)段的表空間為指定的表空間。(4)QUOTA:允許用戶在指定的表空間中分配空間定額并建立一個(gè)指定字節(jié)的定額,使用K或M為單位來指定該定額。(5)PROFILE:將指定的概要文件分配給用戶。該概要文件限制用戶可使用的數(shù)據(jù)庫資源的總量。(6)PASSWORDEXPIRE:使用戶的密碼失效。這種設(shè)置強(qiáng)制使用戶在試圖登錄數(shù)據(jù)庫之前更改口令。(7)ACCOUNT{LOCK|UNLOCK}:LOCK表示鎖定用戶的賬戶并禁止訪問。UNLOCK表示解除用戶的賬戶鎖定并允許訪問該賬戶。創(chuàng)建用戶【例8.1】創(chuàng)建一個(gè)名稱為AUTHOR的用戶,口令為ANGEL,默認(rèn)表空間為USERS,臨時(shí)表空間為TEMP。沒有定額,使用默認(rèn)概要文件。CREATEUSERAUTHOR IDENTIFIEDBYANGEL DEFAULTTABLESPACEUSERS TEMPORARYTABLESPACETEMP;執(zhí)行結(jié)果如圖。02管理用戶1.修改用戶2.刪除用戶管理用戶1.修改用戶使用ALTERUSER語句可以對用戶信息進(jìn)行修改,但是執(zhí)行者必須具有ALTERUSER權(quán)限。語法格式為:ALTERUSER用戶名 [IDENTIFIEDBY{密碼|EXTERNALLLY| GLOBALLYAS'外部名稱'}] [DEFAULTTABLESPACE默認(rèn)表空間名] [TEMPORARYTABLESPACE臨時(shí)表空間名] [QUOTA數(shù)字值K|數(shù)字值M|UNLIMTEDON表空間名] [PROFILE概要文件名] [PASSWORDEXPIRE] [ACCOUNT{LOCK|NULOCK}]說明:在ALTERUSER語句中,IDENTIFIEDGLOBALLYAS表明用戶必須通過LDAPV3兼容目錄服務(wù)(如OracleInternetDirectory)驗(yàn)證。【例8.2】修改用戶AUTHOR后,該用戶的密碼失效,使用戶登錄數(shù)據(jù)庫前修改口令。ALTERUSERauthor PASSWORDEXPIRE;管理用戶2.刪除用戶刪除用戶可以使用DROPUSER語句,但是執(zhí)行者必須具有DROPUSER權(quán)限。語法格式為:DROPUSER用戶名[CASCADE];如果使用CASCADE選項(xiàng),則會(huì)刪除該用戶模式中的所有對象。若不使用CASCADE選項(xiàng),系統(tǒng)將給出錯(cuò)誤信息。例如,要?jiǎng)h除用戶AUTHOR,可使用語句如下:

DROPUSERauthorCASCADE;第8章系統(tǒng)安全管理權(quán)限管理01權(quán)限概述1.系統(tǒng)權(quán)限2.對象權(quán)限權(quán)限概述1.系統(tǒng)權(quán)限系統(tǒng)權(quán)限是指在系統(tǒng)級(jí)控制數(shù)據(jù)庫的存取和使用的機(jī)制,即執(zhí)行某種SQL語句的能力。例如,啟動(dòng)或停止數(shù)據(jù)庫、修改數(shù)據(jù)庫參數(shù)、連接到數(shù)據(jù)庫,以及創(chuàng)建、刪除、更改模式對象(如表、視圖、索引、過程等)等權(quán)限。系統(tǒng)權(quán)限是針對用戶而設(shè)置的,用戶必須被授予相應(yīng)的系統(tǒng)權(quán)限才可以連接到數(shù)據(jù)庫中進(jìn)行相應(yīng)的操作。2.對象權(quán)限對象權(quán)限是指在對象級(jí)控制數(shù)據(jù)庫的存取和使用的機(jī)制,即訪問其他用戶模式對象的能力。例如,用戶可以存取哪個(gè)用戶模式中的哪個(gè)對象,并能對該對象進(jìn)行查詢、插入、更新操作等。對象權(quán)限一般是針對用戶模式對象的。對象權(quán)限是用戶之間的表、視圖等模式的相互存取權(quán)限。例如,以用戶“SCOTT”登錄到數(shù)據(jù)庫,可以查詢該用戶模式中的XSB表。權(quán)限概述如果以用戶“SYS”登錄數(shù)據(jù)庫,則不可以查詢XSB表,因?yàn)閄SB表不屬于SYS用戶,并且SYS用戶沒有被授予查詢XSB表的權(quán)限,如圖。02系統(tǒng)權(quán)限管理1.系統(tǒng)權(quán)限的分類2.系統(tǒng)權(quán)限的授予3.系統(tǒng)權(quán)限的收回系統(tǒng)權(quán)限管理1.系統(tǒng)權(quán)限的分類數(shù)據(jù)字典視圖SYSTEM_PRIVILEGE_MAP中包括Oracle11g數(shù)據(jù)庫中的所有系統(tǒng)權(quán)限,通過查詢該視圖可以了解系統(tǒng)權(quán)限的信息,具體內(nèi)容如下:SELECTCOUNT(*) FROMSYSTEM_PRIVILEGE_MAP;輸出結(jié)果為208,可見Oracle11g數(shù)據(jù)庫的系統(tǒng)權(quán)限有208個(gè)。(1)數(shù)據(jù)庫維護(hù)權(quán)限對于數(shù)據(jù)庫管理員,需要?jiǎng)?chuàng)建表空間、修改數(shù)據(jù)庫結(jié)構(gòu)、創(chuàng)建用戶、修改用戶權(quán)限等進(jìn)行數(shù)據(jù)庫維護(hù)的操作。如表所示的這些操作權(quán)限及功能。系統(tǒng)權(quán)限管理(2)數(shù)據(jù)庫模式對象權(quán)限對數(shù)據(jù)庫開發(fā)人員而言,只需要了解操作數(shù)據(jù)庫對象的權(quán)限,如創(chuàng)建表、創(chuàng)建視圖等權(quán)限,就足夠了,如表。系統(tǒng)權(quán)限功

能CREATECLUSTER在自己模式中創(chuàng)建聚簇DROPCLUSTE刪除自己模式中的聚簇CREATEPROCEDURE在自己模式中創(chuàng)建存儲(chǔ)過程DROPPROCEDURE刪除自己模式中的存儲(chǔ)過程CREATEDATABASELINK創(chuàng)建數(shù)據(jù)庫連接權(quán)限,通過數(shù)據(jù)庫連接允許用戶存取遠(yuǎn)程的數(shù)據(jù)庫DROPDATABASELINK刪除數(shù)據(jù)庫連接CREATESYNONYM創(chuàng)建私有同義詞DROPSYNONYM刪除同義詞CREATESEQUENCE創(chuàng)建開發(fā)者所需要的序列CREATETIGER創(chuàng)建觸發(fā)器DROPTRIGGER刪除觸發(fā)器CREATETABLE創(chuàng)建表DROPTABLE刪除表CREATEVIEW創(chuàng)建視圖DROPVIEW刪除視圖CREATETYPE創(chuàng)建對象類型系統(tǒng)權(quán)限管理(3)ANY權(quán)限系統(tǒng)權(quán)限中還有一種權(quán)限是ANY,表示可以在任何用戶模式中進(jìn)行操作。例如,具有CREATEANYTABLE系統(tǒng)權(quán)限的用戶可以在任何用戶模式中創(chuàng)建表。與此相對應(yīng),不具有ANY權(quán)限表示只能在自己的模式中進(jìn)行操作。一般情況下,應(yīng)該給數(shù)據(jù)庫管理員授予ANY權(quán)限,以便其管理所有用戶的模式對象。但不應(yīng)該將ANY權(quán)限授予普通用戶,以防其影響其他用戶的工作。如表所示的ANY權(quán)限及功能。系統(tǒng)權(quán)限管理2.系統(tǒng)權(quán)限的授予系統(tǒng)權(quán)限授予使用GRANT語句,語法格式為:GRANT系統(tǒng)權(quán)限名TO{PUBLIC|角色名|用戶名[,...n]} [WITHADMINOPTION]其中,PUBLIC是Oracle系統(tǒng)中的公共用戶組,如果將權(quán)限授予PUBLIC,則意味著數(shù)據(jù)庫中的所有用戶都將擁有該權(quán)限?!纠?.3】授予用戶AUTHOR連接數(shù)據(jù)庫的權(quán)限。創(chuàng)建用戶AUTHOR后,若該用戶沒有任何權(quán)限,使用該用戶連接數(shù)據(jù)庫時(shí)將會(huì)出現(xiàn)錯(cuò)誤,如圖。系統(tǒng)權(quán)限管理使用SYS用戶連接數(shù)據(jù)庫,執(zhí)行如下語句:GRANTCREATESESSIONTOauthor;之后再使用AUTHOR用戶連接數(shù)據(jù)庫,結(jié)果如圖。系統(tǒng)權(quán)限管理【例8.4】授予用戶AUTHOR在任何用戶模式下創(chuàng)建表和視圖的權(quán)限,并允許該用戶將這些權(quán)限授予其他用戶。GRANTCREATEANYTABLE,CREATEANYVIEW TOauthor WITHADMINOPTION;具有CREATEANYTABLE權(quán)限的用戶AUTHOR可以創(chuàng)建表,如圖。系統(tǒng)權(quán)限管理如果需要了解當(dāng)前用戶所具有的系統(tǒng)權(quán)限,可以查詢數(shù)據(jù)字典USER_SYS_PRIVS、ROLE_SYS_PRIVS,如圖。系統(tǒng)權(quán)限管理3.系統(tǒng)權(quán)限的收回?cái)?shù)據(jù)庫管理員或者具有向其他用戶授權(quán)的用戶都可以使用REVOKE語句將已經(jīng)授予的系統(tǒng)權(quán)限收回,語法格式為:REVOKE系統(tǒng)權(quán)限名FROM{PUBLIC|角色名|用戶名[,…n]};例如,使用SYS用戶登錄時(shí),以下語句可以收回用戶AUTHOR的CREATEANYVIEW權(quán)限:

REVOKECREATEANYVIEWFROMAUTHOR;用戶的系統(tǒng)權(quán)限被收回后,相應(yīng)的傳遞權(quán)限也被收回,但已經(jīng)傳遞并獲得權(quán)限的用戶并不受影響。03對象權(quán)限管理

1.對象權(quán)限的分類2.對象權(quán)限的授予3.對象權(quán)限的收回對象權(quán)限管理

1.對象權(quán)限的分類Oracle11g數(shù)據(jù)庫的方案對象有下列9種權(quán)限。(1)SELECT:讀取表、視圖、序列中的行。(2)UPDATE:更新表、視圖和序列中的行。(3)DELETE:刪除表、視圖中的數(shù)據(jù)。(4)INSERT:向表和視圖中插入數(shù)據(jù)。(5)EXECUTE:執(zhí)行類型、函數(shù)、包和過程。(6)READ:讀取數(shù)據(jù)字典中的數(shù)據(jù)。(7)INDEX:生成索引。(8)REFERENCES:生成外鍵。(9)ALTER:修改表、序列、同義詞中的結(jié)構(gòu)。對象權(quán)限管理

2.對象權(quán)限的授予授予對象權(quán)限也可使用GRANT語句,語法格式為:GRANT{對象權(quán)限名|ALL[PRIVILEGE][(列名[,…n])]} ON[用戶方案名.]對象權(quán)限名TO{PUBLIC|角色名|用戶名[,…n]} [WITHGRANTOPTION];其中,關(guān)鍵字ALL表示授予該對象全部的對象權(quán)限,還可以在括號(hào)中用列名來指定表的某列權(quán)限?!纠?.5】將SYS方案中XSB表的查詢、添加、修改和刪除數(shù)據(jù)的權(quán)限賦予用戶AUTHOR。使用SYS用戶連接數(shù)據(jù)庫,執(zhí)行語句如下:GRANTSELECT,INSERT,UPDATE,DELETE ONxsb TOauthor;然后使用AUTHOR連接數(shù)據(jù)庫,并使用SELECT語句查詢XSB表,可以發(fā)現(xiàn),用戶AUTHOR可以查詢XSB表中的數(shù)據(jù)了。對象權(quán)限管理

3.對象權(quán)限的收回收回對象權(quán)限也使用REVOKE語句,語法格式為:REVOKE{對象權(quán)限名|ALL[PRIVILEGE][(列名[,…n])]} ON[用戶方案名.]對象權(quán)限名TO{PUBLIC|角色名|用戶名[,…n]} [CASCADECONSTRAINTS];其中,CASCADECONSTRAINTS選項(xiàng)表示在收回對象權(quán)限時(shí),同時(shí)刪除利用REFERENCES對象權(quán)限在該對象上定義的參照完整性約束?!纠?.6】

收回用戶AUTHOR查詢XSB表的權(quán)限。REVOKESELECT ONxsb FROMauthor;04安全特性1.表安全2.視圖安全3.過程安全4.類型安全安全特性1.表安全在表和視圖上賦予DELETE、INSERT、SELECT和UPDATE的權(quán)限可進(jìn)行查詢和操作表數(shù)據(jù)。可以限制INSERT權(quán)限到表的特定列,而所有其他列都接受NULL或者默認(rèn)值。使用可選的UPDATE權(quán)限,用戶能夠更新特定列的值。2.視圖安全對視圖的方案對象權(quán)限允許執(zhí)行大量的DML操作,影響視圖創(chuàng)建的基本表,對基本表的DML對象權(quán)限與視圖相似。要?jiǎng)?chuàng)建視圖,必須滿足下面兩個(gè)條件:授予CREATEVIEW系統(tǒng)權(quán)限或者CREATEANYVIEW系統(tǒng)權(quán)限。顯式授予SELECT、INSERT、UPDATE和DELETE的對象權(quán)限,或者顯式授予SELECTANYTABLE、INSERTANYTABLE、UPDATEANYTABLE、DELETEANYTABLE的系統(tǒng)權(quán)限。視圖訪問基本表所選擇的列數(shù)據(jù)。在定義視圖時(shí),使用WHERE子句控制基本表的部分?jǐn)?shù)據(jù)。安全特性3.過程安全(1)過程對象具有某個(gè)過程的EXECUTE對象權(quán)限的用戶可以執(zhí)行該過程,也可以編譯引用該過程的程序單元。過程調(diào)用時(shí)不會(huì)檢查權(quán)限。具有EXECUTEANYPROCEDURE系統(tǒng)權(quán)限的用戶可以執(zhí)行數(shù)據(jù)庫中的任何過程。當(dāng)用戶需要?jiǎng)?chuàng)建過程時(shí),必須擁有CREATEPROCEDURE系統(tǒng)權(quán)限或者CREATEANYPROCEDURE系統(tǒng)權(quán)限。(2)包對象擁有包的EXECUTE對象權(quán)限的用戶,可以執(zhí)行包中的任何公共過程和函數(shù),能夠訪問和修改任何公共包變量的值。對于包不能授予EXECUTE權(quán)限,當(dāng)為數(shù)據(jù)庫應(yīng)用開發(fā)過程、函數(shù)和包時(shí),要考慮建立安全性。安全特性4.類型安全(1)命名類型的系統(tǒng)權(quán)限。Oracle11g數(shù)據(jù)庫為命名類型(對象類型、VARRAY和嵌套表)定義了系統(tǒng)權(quán)限,如表。權(quán)

限說

明CREATETYPE在用戶自己的模式中創(chuàng)建命名類型CREATEANYTYPE在所有的模式中創(chuàng)建命名類型ALTERANYTABLE修改任何模式中的命名類型DROPANYTABLE刪除任何模式中的命名類型EXECUTEANYTYPE使用和參考任何模式中的命名類型(2)對象權(quán)限。如果在命名類型上存在EXECUTE權(quán)限,那么用戶可以使用命名類型完成定義表、在關(guān)系包中定義列及聲明命名類型的變量和類型。(3)創(chuàng)建類型和表權(quán)限。(4)類型訪問和對象訪問的權(quán)限。在列層和表層上的DML命令權(quán)限,可以應(yīng)用到對象列和行對象中。第8章系統(tǒng)安全管理角色管理01角色概述

1.安全應(yīng)用角色2.用戶自定義角色3.?dāng)?shù)據(jù)庫角色的權(quán)限4.角色和用戶的安全域5.預(yù)定義角色角色概述

1.安全應(yīng)用角色DBA可以授予安全應(yīng)用角色運(yùn)行給定數(shù)據(jù)庫應(yīng)用時(shí)所有必要的權(quán)限,然后將該安全應(yīng)用角色授予其他角色或者用戶,應(yīng)用可以包含幾個(gè)不同的角色,每個(gè)角色都包含不同的權(quán)限集合。2.用戶自定義角色DBA可以為數(shù)據(jù)庫用戶組創(chuàng)建自定義的角色,賦予一般的權(quán)限需要。3.?dāng)?shù)據(jù)庫角色的權(quán)限角色可以被授予系統(tǒng)和方案對象權(quán)限。(1)(2)(3)(4)角色被授予其他角色。任何角色都可以被授予任何數(shù)據(jù)庫對象。授予用戶的角色可在給定的時(shí)間里啟用或禁用。角色概述

4.角色和用戶的安全域每個(gè)角色和用戶都包含自己唯一的安全域,角色的安全域包括授予角色的權(quán)限。用戶安全域包括對應(yīng)方案中的所有方案對象的權(quán)限、授予用戶的權(quán)限和授予當(dāng)前啟用的用戶角色的權(quán)限。5.預(yù)定義角色Oracle系統(tǒng)在安裝完成后就有整套的用于系統(tǒng)管理的角色,這些角色稱為預(yù)定義角色。常見的預(yù)定義角色及權(quán)限說明如表。角色名權(quán)限說明CONNECTALTERSESSION、CREATECLUSTER、CREATEDATABASELINK、CREATESEQUENCE、CREATESESSION、CREATESYNONYM、CREATEVIEW、CREATETABLERESOURCECREATECLUSTER、CREATEINDEXTYPE、CREATEOPERATOR、CREATEPROCEDURE、CREATESEQUENCE、CREATETABLE、CREATETRIGGER、CREATETYPEDBA擁有所有權(quán)限EXP_FULL_DATABASESELECTANYTABLE、BACKUPANYTABLE、EXECUTEANYPROCEDURE、EXECUTEANYTYPE、ADMINISTERRESOURCEMANAGER在SYS.INCVID、SYSINCFIL和SYS.INCEXP表中的INSERT、DELETE和UPDATE權(quán)限;EXECUTE_CATALOG-ROLE、SELECT_CATALOG_ROLEIMP_FULL_DATABASE執(zhí)行全數(shù)據(jù)庫導(dǎo)出所需要的權(quán)限,包括系統(tǒng)權(quán)限列表(用DBA_SYS_PRIVS)和以下角色:EXECUTE_CATALOG_ROLE、SELECT_CATALOG_ROLEDELETE_CATALOG_ROLE刪除權(quán)限EXECUTE_CATALOG_ROLE在所有目錄包中EXECUTE權(quán)限(見HS_ADMIN_ROLE)SELECT_CATALOG_ROLE在所有表和視圖中有SELECT權(quán)限(見HS_ADMIN_ROLE)02創(chuàng)建用戶角色

創(chuàng)建用戶角色

用CREATEROLE語句可以在數(shù)據(jù)庫中創(chuàng)建角色,語法格式為:CREATEROLE角色名 [NOTIDENTIFIED] [IDENTIFIED{BY密碼∣EXTERNALLY∣GLOBALLY}];相關(guān)參數(shù)說明如下。(1)NOTIDENTIFIED:表示該角色由數(shù)據(jù)庫授權(quán),不需要使用口令。(2)IDENTIFIED:表示在用SETROLE語句使該角色生效之前,必須用指定的方法來授權(quán)一個(gè)用戶。(3)BY:創(chuàng)建一個(gè)局部角色,在使角色生效之前,用戶必須指定密碼。(4)EXTERNALLY:創(chuàng)建一個(gè)外部角色。在使角色生效之前,必須用外部服務(wù)(如操作系統(tǒng))來授權(quán)用戶。(5)GLOBALLY:創(chuàng)建一個(gè)全局角色。在利用SETROLE語句使角色生效前或登錄時(shí),用戶必須由企業(yè)目錄服務(wù)授權(quán)使用該角色。創(chuàng)建用戶角色

【例8.7】創(chuàng)建一個(gè)新的角色ACCOUNT_CREATE,并不設(shè)置密碼。

CREATEROLEACCOUNT_CREATE;執(zhí)行后可在“創(chuàng)建/編輯用戶”對話框的“角色”選項(xiàng)頁列表中看到新創(chuàng)建的角色,如圖。03管理用戶角色1.修改角色權(quán)限2.授予和取消角色權(quán)限3.授予用戶角色權(quán)限4.啟用和禁用的角色權(quán)限5.收回用戶角色權(quán)限管理用戶角色1.修改角色權(quán)限使用ALTERROLE語句可以修改角色的定義,語法格式為:ALTERROLE角色名 [NOTIDENTIFIED] [IDENTIFIED{BY密碼∣EXTERNALLY∣GLOBALLY}];其中ALTERROLE語句的選項(xiàng)含義與CREATEROLE語句相同。2.授予和取消角色權(quán)限用CREATEROLE語句創(chuàng)建新角色時(shí),最初權(quán)限是空的。這時(shí),可以使用GRANT語句給角色授予權(quán)限,同時(shí)使用REVOKE語句取消角色的權(quán)限?!纠?.8】

給角色ACCOUNT_CREATE授予在任何模式中創(chuàng)建表和視圖的權(quán)限。GRANTCREATEANYTABLE,CREATEANYVIEW TOACCOUNT_CREATE;【例8.9】取消角色ACCOUNT_CREATE的CREATEANYVIEW權(quán)限。REVOKECREATEANYVIEW FROMaccount_create;管理用戶角色3.授予用戶角色權(quán)限將角色授予用戶才能發(fā)揮角色的作用,角色授予用戶以后,用戶將立即擁有該角色所擁有的權(quán)限。將角色授予用戶也可使用GRANT語句,語法格式為:GRANT角色名[,…n] TO{用戶名|角色名|PUBLIC} [WITHADMINOPTION];也可以將角色授予其他角色或PUBLIC公共用戶組,其中WITHGRANTOPTION選項(xiàng)表示用戶可以將這些權(quán)限授予其他用戶?!纠?.10】將角色ACCOUNT_CREATE授予用戶AUTHOR。GRANTaccount_create TOauthor;管理用戶角色4.啟用和禁用的角色權(quán)限可以使用SETROLE語句為數(shù)據(jù)庫用戶的會(huì)話啟用角色或禁用角色,語法格式為:SETROLE{角色名[IDENTIFIEDBY密碼][,…n] |ALL[EXCEPT角色名[,…n]] |NONE};其中,IDENTIFIEDBY子句用于為該角色指定密碼,使用ALL選項(xiàng)表示將啟用用戶被授予的所有角色,但必須保證所有的角色沒有設(shè)置密碼。5.收回用戶角色權(quán)限從用戶手中收回已經(jīng)授予的角色也可使用REVOKE語句,語法格式為:REVOKE角色名[,…n] FROM{用戶名|角色名|PUBLIC}第8章系統(tǒng)安全管理概要文件和數(shù)據(jù)字典視圖01創(chuàng)建概要文件創(chuàng)建概要文件使用CREATEPROFILE命令創(chuàng)建概要文件時(shí),操作者必須有CREATEPROFILE的系統(tǒng)權(quán)限,語法格式為:CREATEPROFILE概要文件名LIMIT

限制參數(shù)∣口令參數(shù)相關(guān)參數(shù)說明如下。(1)限制參數(shù):使用表達(dá)式對一個(gè)用戶指定資源限制的參數(shù),語法格式如下。限制參數(shù)::=[SESSIONS_PER_USER數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*限制一個(gè)用戶及會(huì)話個(gè)數(shù),UNLIMITED表示無限制,DEFAULY表示默認(rèn)值,下同*/[CPU_PER_SESSION數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*限制一次會(huì)話的CPU時(shí)間,以秒/100為單位*/[CPU_PER_CALL數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*限制一次調(diào)用的CPU時(shí)間,以秒/100為單位*/[CONNECT_TIME數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*一次會(huì)話持續(xù)的時(shí)間,以分鐘為單位*/[IDLE_TIME數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*限制一次會(huì)話期間的連續(xù)不活動(dòng)時(shí)間,以分鐘為單位*/[LOGICAL_READS_PER_SESSION數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*規(guī)定一次會(huì)話中讀取數(shù)據(jù)塊的數(shù)目,包括從內(nèi)存和磁盤中讀取的塊數(shù)*/[LOGICAL_READS_PER_CALL數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*規(guī)定處理一個(gè)SQL語句一次調(diào)用所讀的數(shù)據(jù)塊的數(shù)目*/[COMPOSITE_LIMT數(shù)字?jǐn)?shù)∣UNLIMITED∣DEFAULT] /*規(guī)定一次會(huì)話的資源開銷,以服務(wù)單位表示該參數(shù)值*/[PRIVATE_SGA數(shù)字?jǐn)?shù){K∣M}∣UNLIMITED∣DEFAULT] /*規(guī)定一次會(huì)話在系統(tǒng)全局區(qū)(SGA)的共享池中,可分配私有空間的

數(shù)目,以字節(jié)表示??梢允褂肒或M表示千字節(jié)或兆字節(jié)*/創(chuàng)建概要文件(2)口令參數(shù):語法格式如下。[FAILED_LOGIN__ATTEMPTS表達(dá)式∣UNLIMITED∣DEFAULT] /*在鎖定用戶賬戶之前,登錄用戶賬戶的失敗次數(shù)*/[PASSWORD_LIFE_TIME表達(dá)式∣UNLIMITED∣DEFAULT] /*限制同一口令可用于驗(yàn)證的天數(shù)*/[PASSWORD_REUSE_TIME表達(dá)式∣UNLIMITED∣DEFAULT] /*規(guī)定口令不能被重復(fù)使用的天數(shù)*/[PASSWORD_REUSE_MAX表達(dá)式∣UNLIMITED∣DEFAULT] /*規(guī)定當(dāng)前口令被重新使用前,需要更改口令的次數(shù),如果PASSWORD_REUSE_TIME

設(shè)置為一個(gè)整數(shù)值,則應(yīng)設(shè)置為UNLIMITED*/[PASSWORD_LOOK_TIME表達(dá)式∣UNLIMITED∣DEFAULT] /*指定登錄失敗的次數(shù)而引起賬戶封鎖的天數(shù)*/[PASSWORD_GRACE_TIME表達(dá)式∣UNLIMITED∣DEFAULT] /*在依然被允許登錄但已開始發(fā)出警告之后的天數(shù)*/[PASSWORD_VERIFY_FUNCTIONfunction∣NULL∣DEFAULT] /*允許將PL/SQL的口令校驗(yàn)?zāi)_本作為CREATEPROFILE語句的參數(shù)*/ /*function表示復(fù)雜性口令校驗(yàn)程序的名字。NULL表示沒有口令校驗(yàn)功能*/創(chuàng)建概要文件【例8.11】創(chuàng)建一個(gè)LIMITED_PROFILE概要文件,把它提供給用戶AUTHOR使用。創(chuàng)建概要文件:CREATEPROFILElimited_profileLIMIT FAILED_LOGIN_ATTEMPTS5 PASSWORD_LOCK_TIME10;修改用戶AUTHOR:ALTERUSERauthor PROFILElimited_profile;如果連續(xù)五次與AUTHOR賬戶的連接失敗,該賬戶將自動(dòng)由Oracle系統(tǒng)鎖定。即使AUTHOR賬戶的口令正確,系統(tǒng)也會(huì)提示錯(cuò)誤信息,只有對賬戶解鎖后,才能再使用該賬戶。02修改概要文件ALTERPROFILE概要文件名LIMIT限制參數(shù)∣口令參數(shù)修改概要文件使用ALTERPROFILE語句修改概要文件,語法格式為:【例8.12】強(qiáng)制LIMITED_PROFILE概要文件的用戶每10天改變一次口令。ALTERPROFILELIMITED_PROFILELIMIT PASSWORD_LIFE_TIME10;命令修改了LIMITED_PROFILE概要文件,將PASSWORD_LIFE_TIME設(shè)為10,因此使用這個(gè)概要文件的用戶在10天后口令就會(huì)過期?!纠?.13】設(shè)置PASSWORD_GRACE_TIME為10天。ALTERPROFILElimited_profileLIMIT PASSWORD_GRACE_TIME10;為過期口令設(shè)定寬限期為10天,若10天后還未修改口令,賬戶就會(huì)過期。如果要?jiǎng)h除概要文件,可使用DROPPROFILE語句,語法格式為:DROPPROFILE概要文件名;03數(shù)據(jù)字典視圖數(shù)據(jù)字典視圖(1)ALL_USERS視圖:當(dāng)前用戶可以看見的所有用戶。以SYS用戶連接數(shù)據(jù)庫,輸入下列命令:SELECT*FROMSYS.ALL_USERS;執(zhí)行結(jié)果如圖。(2)DBA_USERS視圖:查看數(shù)據(jù)庫中所有的用戶信息。(3)USER_USERS視圖:當(dāng)前正在使用數(shù)據(jù)庫的用戶信息。(4)DBA_TS_QUOTAS視圖:用戶的表空間限額情況。(5)USER_PASSWORD_LIMITS視圖:分配給該用戶的口令配置文件參數(shù)。(6)USER_RESOURCE_LIMITS視圖:當(dāng)前用戶的資源限制。(7)V$SESSION視圖:每個(gè)當(dāng)前會(huì)話的會(huì)話信息。(8)V$SESSTAT視圖:用戶會(huì)話的統(tǒng)計(jì)數(shù)據(jù)。(9)DBA_ROLES視圖:當(dāng)前數(shù)據(jù)庫中存在的所有角色。(10)SESSION_ROLES視圖:用戶當(dāng)前啟用的角色。數(shù)據(jù)字典視圖(11)DBA_ROLE_PRIVS視圖:授予用戶(或角色)的角色,也就是用戶(或角色)與角色之間的授予關(guān)系。使用SQL語句查看如下:SELECT*FROMDBA_ROLE_PRIVS;執(zhí)行結(jié)果如圖。數(shù)據(jù)字典視圖(12)USER_ROLE_PRIVS視圖:授予當(dāng)前角色的系統(tǒng)權(quán)限。(13)DBA_SYS_PRIVS視圖:授予用戶或角色的系統(tǒng)權(quán)限。(14)USER_SYS_PRIVS視圖:授予當(dāng)前用戶的系統(tǒng)權(quán)限。(15)SESSION_PRIVS視圖:用戶當(dāng)前啟用的權(quán)限。(16)ALL_COL_PRIVS視圖:當(dāng)前用戶或PUBLIC用戶組是其所有者、授予者或者被授予者的用戶所有列對象(表中的字段)的授權(quán)。(17)DBA_COL_PRIVS視圖:數(shù)據(jù)庫中所有列對象的授權(quán)。(18)USER_COL_PRIVS視圖:當(dāng)前用戶或其所有者、授予者或者被授予者的所有列對象的授權(quán)。(19)DBA_TAB_PRIVS:數(shù)據(jù)庫中所用對象的權(quán)限。(20)ALL_TAB_PRIVS:用戶或PUBLIC是其授予者對象的授權(quán)。(21)USER_TAB_PRIVS:當(dāng)前用戶是其被授予者所有對象的授權(quán)。第8章系統(tǒng)安全管理審

計(jì)01登錄審計(jì)登錄審計(jì)用戶連接數(shù)據(jù)庫的操作過程稱為登錄,登錄審計(jì)使用下列命名方式。(1)AUDITSESSION:開啟連接數(shù)據(jù)庫審計(jì)。(2)AUDITSESSIONWHENEVERSUCCESSFUL:審計(jì)成功的連接圖。(3)AUDITSESSIONWHENEVERNOTSUCCESSFUL:只是審計(jì)連接失敗。(4)NOAUDITSESSION:禁止會(huì)話審計(jì)。數(shù)據(jù)庫的審計(jì)記錄存放在SYS方案的AUD$表中,可以通過DBA_AUDIT_SESSION數(shù)據(jù)字典視圖來查看SYS.AUD$。例如:SELECTOS_Username,Username,Terminal, DECODE(Returncode,'0','Connected','1005','FailedNull','1017','Failed',Returncode), TO_CHAR(Timestamp,'DD-MON-YYHH24:MI:SS'), TO_CHAR(Logoff_time,'DD-MON-YYHH24:MI:SS') FROMDBA_AUDIT_SESSION;登錄審計(jì)相關(guān)參數(shù)說明如下。(1)OS_Username:使用的操作系統(tǒng)賬戶。(2)Username:Oracle系統(tǒng)的賬戶名。(3)Terminal:使用的終端ID。(4)Returncode:如果為0則表示連接成功;否則就要檢查兩個(gè)常用錯(cuò)誤號(hào),確定失敗的原因。(5)Timestamp:登錄時(shí)間。(6)Logoff_time:注銷的時(shí)間。02操作審計(jì)操作審計(jì)對表、數(shù)據(jù)庫鏈接、表空間、同義詞、回滾段、用戶或索引等數(shù)據(jù)庫對象的任何操作都可被審計(jì)。這些操作包括對象的建立、修改和刪除。語法格式為:AUDIT{審計(jì)操作∣系統(tǒng)權(quán)限名} [BY用戶名[,…n]] [BY{SESSION∣ACCESS}] [WHENEVER[NOT]SUCCESSFUL]相關(guān)參數(shù)說明如下。(1)審計(jì)操作:對于每個(gè)審計(jì)操作,其產(chǎn)生的審計(jì)記錄都包含執(zhí)行操作的用戶、操作類型、操作涉及的對象及操作的日期和時(shí)間等信息。(2)系統(tǒng)權(quán)限名:指定審計(jì)的系統(tǒng)權(quán)限,Oracle系統(tǒng)為指定的權(quán)限和語句選項(xiàng)組提供捷徑。(3)BY用戶名:指定審計(jì)的用戶。若忽略該子句,Oracle系統(tǒng)將審計(jì)所有用戶的語句。(4)BYSESSION:在同一會(huì)話中,同一類型的全部SQL語句僅寫單個(gè)記錄。(5)BYACCESS:每個(gè)被審計(jì)的語句寫一個(gè)記錄。(6)WHENEVERSUCCESSFUL:只審計(jì)完全成功的SQL語句。操作審計(jì)【例8.14】使用戶AUTHOR的所有更新操作都被審計(jì)。AUDITUPDATETABLEBYAUTHOR;若要審計(jì)影響角色的所有命令,可輸入命令:AUDITROLE;若要禁止這個(gè)設(shè)置值,可輸入命令:NOAUDITROLE;被審計(jì)的操作都會(huì)被指定一個(gè)數(shù)字代碼,這些代碼可通過AUDIT_ACTIONS視圖來訪問。例如:SELECTAction,Name FROMAUDIT_ACTIONS;已知操作代碼就可以通過DBA_AUDIT_OBJECT視圖檢索登錄審計(jì)記錄。例如:SELECT OS_Username,Username,Terminal,Owner,Obj_Name,Action_Name, DECODE(Returncode,'0','Success',Returncode), TO_CHAR(Timestamp,'DD-MON-YYYYYHH24:MI:SS') FROMDBA_AUDIT_OBJECT;操作審計(jì)相關(guān)參數(shù)說明如下。(1)OS_Username:操作系統(tǒng)賬戶。(2)Username:賬戶名。(3)Terminal:所用的終端ID。(4)Action_Name:操作碼。(5)Owner:對象擁有者。(6)Obj_Name:對象名。(7)Returncode:返回代碼。若是0則表示連接成功;否則就報(bào)告一個(gè)錯(cuò)誤數(shù)值。(8)Timestamp:登錄時(shí)間。03對象審計(jì)

對象審計(jì)

除了系統(tǒng)級(jí)的對象操作,還可以審計(jì)對象的數(shù)據(jù)處理操作。這些操作可能包括對表的選擇、插入、更新和刪除操作。這種操作類型的審計(jì)方式與操作審計(jì)非常相似。語法格式為:AUDIT{審計(jì)選項(xiàng)∣ALL}ON {[用戶方案名.]對象名∣DIRECTORY邏輯目錄名∣DEFAULT} [BYSESSION∣ACCESS] [WHENEVER[NOT]SUCCESSFUL]對象審計(jì)

相關(guān)參數(shù)說明如下。(1)審計(jì)選項(xiàng):如表所示的對象審計(jì)選項(xiàng)。對象選項(xiàng)表視

圖序

列過程/函數(shù)/包顯形圖/快照目

錄庫對象類型環(huán)

境ALTER×

×

×

×

AUDIT××××××

××COMENT××

×

DELETE××

×

EXECUTE

×

×

GRANT×××××××××INDEX×

×

INSERT××

×

LOCK××

×

READ

×

RENAME××

×

SELECT×××××

UPDATE××

×

對象審計(jì)

(2)ALL:指定所有對象類型的對象選項(xiàng)。(3)對象名:標(biāo)識(shí)審計(jì)對象。對象必須是表、視圖、序列、存儲(chǔ)過程、函數(shù)、包、快照或庫,也可是它們的同義詞。(4)ONDEFAULT:默認(rèn)審計(jì)選項(xiàng),以后創(chuàng)建的任何對象都自動(dòng)用這些選項(xiàng)審計(jì)。(5)ONDIRECTORY:指定審計(jì)的目錄名。(6)BYSESSION:Oracle系統(tǒng)在同一會(huì)話中,對在同一對象上的同一類型的全部操作寫單個(gè)記錄。(7)BYACCESS:對每個(gè)被審計(jì)的操作寫一個(gè)記錄?!纠?.15】對XSB表的所有INSERT命令都要進(jìn)行審計(jì);對CJB表的每個(gè)命令都要進(jìn)行審計(jì);對KCB表的所有DELETE命令都要進(jìn)行審計(jì)。AUDITINSERTONSYSTEM.XSB;AUDITALLONSYSTEM.CJB;AUDITDELETEONSYSTEM.KCB;04權(quán)限審計(jì)權(quán)限審計(jì)【例8.16】分別對AUTHOR用戶和ZHOU用戶進(jìn)行系統(tǒng)權(quán)限級(jí)別的審計(jì)。AUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;AUDITCREATETABLEWHENEVERNOTSUCCESSFUL;AUDITALTERANYTABLE,ALTERANYPROCEDUREBYauthorBYACCESS WHENEVERNOTSUCCESSFUL;AUDITCREATEUSERBYzhouWHENEVERNOTSUCCESSFUL;通過查詢數(shù)據(jù)字典DBA_PRIV_AUDIT_OPTS(必須以SYS用戶連接數(shù)據(jù)庫進(jìn)行查詢),可以了解對哪些用戶進(jìn)行了權(quán)限審計(jì)及審計(jì)的選項(xiàng)。SELECTUSER_NAME,PRIVILEGE,SUCCESS,FAILURE FROMDBA_PRIV_AUDIT_OPTS ORDERBYUSER_NAME;查詢結(jié)果如圖。第9章表空間、備份和恢復(fù)表空間01創(chuàng)建表空間創(chuàng)建表空間創(chuàng)建表空間使用CREATETABLESPACE語句,創(chuàng)建的用戶必須擁有CREATETABLESPACE系統(tǒng)權(quán)限。語法格式為:CREATETABLESPACE表空間名 DATAFILE'文件路徑/文件名'[SIZE文件大小[K∣M]][REUSE] [AUTOEXTEND{OFF∣ON[NEXT磁盤空間大小[K∣M]] [MAXSIZE{UMLIMITED∣最大磁盤空間大小[K∣M]}]}] [MINMUMEXTENT數(shù)字值[K|M]] [DEFAULT存儲(chǔ)參數(shù)] [ONLINE∣OFFLINE] [LOGGING∣NOLOGGING] [PERMANENT∣TEMPORARY] [EXTENTMANAGEMENT[DICTIONARY∣LOCAL[AUTOALLOCATE∣UNIFORM[SIZE數(shù)字值[K∣M]]]]]相關(guān)參數(shù)說明如下。(1)DATAFILE:用于為表空間創(chuàng)建數(shù)據(jù)文件,格式與CREATEDATABASE語句中的DATAFILE相同。(2)AUTOEXTEND:用于指定是否禁止或允許自動(dòng)擴(kuò)展數(shù)據(jù)文件。(3)MAXSIZE:指定允許分配給數(shù)據(jù)文件的最大磁盤空間。(4)MINMUMEXTENT:指定最小的長度,默認(rèn)為由操作系統(tǒng)和數(shù)據(jù)庫塊確定。(5)ONLINE和OFFLINE:ONLINE表示在創(chuàng)建表空間之后,使授權(quán)訪問該表空間的用戶立即可用該表空間;OFFLINE表示在創(chuàng)建表空間之后使該表空間不可用,默認(rèn)為ONLINE。創(chuàng)建表空間(6)DEFAULT:為在該表空間創(chuàng)建的全部對象指定默認(rèn)的存儲(chǔ)參數(shù)。其中,存儲(chǔ)參數(shù)的語法格式如下:存儲(chǔ)參數(shù)::=STORAGE( INITIAL第一個(gè)區(qū)的大小[K︱M] NEXT下一個(gè)區(qū)的大小[K︱M] MINEXTENTS區(qū)的最小個(gè)數(shù)︱UNLIMITED MAXEXTENTS區(qū)的最大個(gè)數(shù)

PCTINCREASE數(shù)字值 FREELISTS空閑列表數(shù)量 FREELISTGROUPS空閑列表組數(shù)量)(7)LOGGING/NOLOGGING:指定日志屬性,它表示將來的表、索引等是否需要進(jìn)行日志處理。(8)PERMANENT:指定表空間,將用于保存永久對象,這是默認(rèn)設(shè)置。(9)TEMPORARY:指定表空間,將用于保存臨時(shí)對象。(10)EXTENTMANAGEMENT:指定如何管理表空間的盤區(qū)。(11)DICTIONARY:指定使用字典表來管理表空間,這是默認(rèn)設(shè)置。(12)LOCAL:指定本地管理表空間。(13)AUTOALLOCATE:指定表空間由系統(tǒng)管理,用戶不能指定盤區(qū)尺寸。(14)UNIFORM:指定使用SIZE字節(jié)的統(tǒng)一盤區(qū)來管理表空間,默認(rèn)的SIZE為1MB。創(chuàng)建表空間【例9.1】

創(chuàng)建大小為50MB的表空間TEST,禁止自動(dòng)擴(kuò)展數(shù)據(jù)文件。CREATETABLESPACEtest LOGGING DATAFILE'E:\app\Administrator\oradata\XSCJ\TEST01.DBF'SIZE50M REUSEAUTOEXTENDOFF;執(zhí)行結(jié)果如圖。創(chuàng)建表空間【例9.2】

創(chuàng)建表空間DATA,允許自動(dòng)擴(kuò)展數(shù)據(jù)文件。CREATETABLESPACEdata LOGGING DATAFILE'E:\app\Administrator\oradata\XSCJ\DATA01.DBF'SIZE50M REUSEAUTOEXTENDONNEXT10MMAXSIZE200M EXTENTMANAGEMENTLOCAL;執(zhí)行結(jié)果如圖。02管理表空間管理表空間利用ALTERTABLESPACE命令可以修改現(xiàn)有的表空間或它的一個(gè)或多個(gè)數(shù)據(jù)文件??梢詾閿?shù)據(jù)庫中每一個(gè)數(shù)據(jù)文件指定各自的存儲(chǔ)擴(kuò)展參數(shù)值;Oracle11g數(shù)據(jù)庫會(huì)在自動(dòng)擴(kuò)展數(shù)據(jù)文件時(shí)使用這些參數(shù)。語法格式為:ALTERTABLESPACE表空間名 [ADDDATAFILE∣TEMPFILE'路徑/文件名'[SIZE文件大小[K∣M]]][REUSE] [AUTOEXTEND{OFF∣ON[NEXT磁盤空間大小[K∣M]] [MAXSIZE{UNLIMITED∣最大磁盤空間大小[K∣M]}]}] [RENAMEDATAFILE'路徑/文件名',…nTO'路徑/新文件名'',…n]

[DEFAULTSTORAGE

存儲(chǔ)參數(shù)] [ONLINE∣OFFLINE[NORMAL∣TEMPORARY∣IMMEDIATE]] [LOGGING∣NOLOGGING] [READONLY∣WRITE] [PERMANENT] [TEMPORARY]相關(guān)參數(shù)說明如下。(1)ADDDATAFILE∣TEMPFILE:向表空間添加指定的數(shù)據(jù)文件或臨時(shí)文件。(2)RENAMEDATAFILE:對一個(gè)或多個(gè)表空間的數(shù)據(jù)文件重命名。(3)READONLY:表明表空間上不允許進(jìn)一步寫操作。(4)READWRITE:表明在先前只讀表空間上允許寫操作。管理表空間【例9.3】

通過ALTERTABLESPACE命令把一個(gè)新的數(shù)據(jù)文件添加到DATA表空間,并指定了AUTOEXTENDON和MAXSIZE300M。ALTERTABLESPACEdata ADDDATAFILE'E:\app\Administrator\oradata\XSCJ\DATA02.DBF'SIZE50M REUSEAUTOEXTENDONNEXT50MMAXSIZE300M;執(zhí)行結(jié)果如圖。03刪除表空間刪除表空間如果不再需要表空間和其中保存的數(shù)據(jù),就可以使用DROPTABLESPACE語句刪除已經(jīng)創(chuàng)建的表空間。語法格式為:DROPTABLESPACE表空間名[INCLUDINGCONTENTS[{AND|KEEP}DATAFILES][CASCADECONSTRAINTS]];說明:在刪除表空間時(shí),如果其中還保存有數(shù)據(jù)庫對象,則必須使用INCLUDINGCONTENTS子句,表示將表空間和其中保存的數(shù)據(jù)庫對象全部刪除,但對應(yīng)的數(shù)據(jù)文件并不會(huì)從操作系統(tǒng)中被刪除?!纠?.4】

刪除表空間DATA及其對應(yīng)的數(shù)據(jù)文件。DROPTABLESPACEdata INCLUDINGCONTENTSANDDATAFILES;第9章表空間、備份和恢復(fù)備份和恢復(fù)01備份概述1.備份原則2.?dāng)?shù)據(jù)庫備份應(yīng)用3.?dāng)?shù)據(jù)庫備份類型備份概述1.備份原則(1)日志文件歸檔到磁盤。歸檔日志文件最好不要與數(shù)據(jù)庫文件或聯(lián)機(jī)重做日志文件存儲(chǔ)在同一個(gè)物理磁盤設(shè)備上。(2)如果數(shù)據(jù)庫文件備份到磁盤上,應(yīng)使用單獨(dú)的磁盤或磁盤組保存數(shù)據(jù)文件的備份。備份到磁盤上通??梢栽谳^短時(shí)間內(nèi)恢復(fù)。(3)應(yīng)保持控制文件的多個(gè)備份,控制文件的備份應(yīng)置于不同磁盤控制器下的不同磁盤設(shè)備上。增加控制文件可以先關(guān)閉數(shù)據(jù)庫,備份控制文件,改變服務(wù)器參數(shù)文件的參數(shù)CONTROL_FILES,再重新啟動(dòng)數(shù)據(jù)庫即可。(4)聯(lián)機(jī)日志文件應(yīng)為多個(gè),每個(gè)組至少應(yīng)保持兩個(gè)成員。日志組的兩個(gè)成員不應(yīng)保存在同一個(gè)物理設(shè)備上,因?yàn)檫@將削弱多重日志文件的作用。(5)保持歸檔重做日志文件的多個(gè)備份,應(yīng)在多個(gè)磁盤上保留備份。使用服務(wù)器參數(shù)文件中的LOG_ARCHIVE_DUPLEX_DEST參數(shù)和LOG_ARCHIVE_MIN_SUCCEED_DEST參數(shù),Oracle系統(tǒng)會(huì)自動(dòng)雙向歸檔日志文件。(6)通過在磁盤上保存最小備份和數(shù)據(jù)庫文件向前回滾所需的所有歸檔重做日志文件,在許多情況下可以使從備份中向前回滾數(shù)據(jù)庫或數(shù)據(jù)庫文件的過程簡化和加速。(7)增加、重命名、刪除日志文件和數(shù)據(jù)文件,以及改變數(shù)據(jù)庫結(jié)構(gòu)和控制文件等操作都應(yīng)備份,因?yàn)榭刂莆募娣帕藬?shù)據(jù)庫的模式結(jié)構(gòu)。此外,增加數(shù)據(jù)文件后也要備份。(8)若企業(yè)有多個(gè)Oracle數(shù)據(jù)庫,則應(yīng)使用具有恢復(fù)目錄的Oracle系統(tǒng)恢復(fù)管理器。這將使用戶備份和恢復(fù)過程中引起錯(cuò)誤的風(fēng)險(xiǎn)最小化。備份概述2.?dāng)?shù)據(jù)庫備份應(yīng)用(1)實(shí)例失敗。從實(shí)例失敗中恢復(fù)應(yīng)自動(dòng)進(jìn)行,數(shù)據(jù)庫需要訪問位于正確位置的所有控制文件、聯(lián)機(jī)重做日志文件和數(shù)據(jù)文件。數(shù)據(jù)庫中任何未提交的事務(wù)都要回滾。一個(gè)實(shí)例失?。ㄈ缬煞?wù)器引起的失?。┲螅?dāng)數(shù)據(jù)庫要重啟動(dòng)時(shí),必須檢查數(shù)據(jù)庫報(bào)警日志中的錯(cuò)誤信息。(2)磁盤失敗。磁盤失敗又稱介質(zhì)失敗(MediaFailure),通常由磁盤損壞或磁盤讀錯(cuò)誤引起。這時(shí),磁盤上駐留的當(dāng)前數(shù)據(jù)庫文件無法讀出。駐留聯(lián)機(jī)重做日志文件的磁盤應(yīng)被鏡像,失敗時(shí),它們不會(huì)丟失。鏡像可通過使用重做日志文件實(shí)現(xiàn),或在操作系統(tǒng)級(jí)制作鏡像文件。如果丟失的是控制文件,不管選擇什么備份方式都很容易恢復(fù)。每個(gè)數(shù)據(jù)庫都有其控制文件的多個(gè)備份(使數(shù)據(jù)庫保持同步),且存儲(chǔ)在不同的設(shè)備上。如果所有控制文件都丟失,可以使用CREATECONTROLFILE命令。該命令允許為數(shù)據(jù)庫創(chuàng)建一個(gè)新的控制文件,并指定數(shù)據(jù)庫中的所有數(shù)據(jù)文件、聯(lián)機(jī)重做日志文件和數(shù)據(jù)庫參數(shù)。如果對使用的參數(shù)有疑問并正在運(yùn)行ARCHIVELOG備份,可用以下命令:ALTERDATABASEBACKUPCONTROLFILETOTRACE;備份概述如果丟失的是數(shù)據(jù)文件,可從熱備份中恢復(fù),步驟如下。(1)從備份中把丟失的文件恢復(fù)到其原來位置。cp/backup/XSCJ/users01.dbf'/zhou/oradata/XSCJ(2)安裝數(shù)據(jù)庫。ORACLE_SID=XSCJ; exportORACLE_SIDORAENV_ASK=NO; exportORAENV_ASconnectsystem/Mm123456assysdbastartupmountXSCJ;(3)恢復(fù)數(shù)據(jù)庫。要求給出恢復(fù)所需的各歸檔日志文件名。RECOVERDATABASE;出現(xiàn)提示時(shí),為需要的歸檔重做日志文件輸入文件名。(4)打開數(shù)據(jù)庫。ALTERDATABASEOPEN;當(dāng)從備份恢復(fù)數(shù)據(jù)文件時(shí),數(shù)據(jù)庫會(huì)辨認(rèn)它是否來自數(shù)據(jù)庫停止前的那個(gè)時(shí)間點(diǎn)。備份概述3.?dāng)?shù)據(jù)庫備份類型備份一個(gè)Oracle數(shù)據(jù)庫有3種標(biāo)準(zhǔn)方式:導(dǎo)出(Export)、脫機(jī)備份(OfflineBackup)和聯(lián)機(jī)備份(OnlineBackup)。導(dǎo)出方式是數(shù)據(jù)庫的邏輯備份。脫機(jī)備份和聯(lián)機(jī)備份都是物理備份(低級(jí)備份)。(1)邏輯備份。將數(shù)據(jù)庫中數(shù)據(jù)備份到一個(gè)稱為“導(dǎo)出轉(zhuǎn)儲(chǔ)文件”的二進(jìn)制系統(tǒng)文件中。導(dǎo)出有以下3種模式。用戶(User)模式:導(dǎo)出用戶所有對象及對象中的數(shù)據(jù)。表(Table)模式:導(dǎo)出用戶的所有表或者用戶指定的表。全局(Full)模式(數(shù)據(jù)庫模式):導(dǎo)出數(shù)據(jù)庫中所有對象,包括所有數(shù)據(jù)、數(shù)據(jù)定義和用來重建數(shù)據(jù)庫的存儲(chǔ)對象。導(dǎo)出備份可以導(dǎo)出整個(gè)數(shù)據(jù)庫、指定用戶或指定表。在導(dǎo)出期間,可以選擇是否導(dǎo)出與表相關(guān)的數(shù)據(jù)字典的信息,如權(quán)限、索引和與其相關(guān)的約束條件。導(dǎo)出備份有3種類型。完全型(CompleteExport):對所有表執(zhí)行全數(shù)據(jù)庫導(dǎo)出或僅對上次導(dǎo)出后修改過的表執(zhí)行全數(shù)據(jù)庫導(dǎo)出。積累型(Cumulative):備份上一次積累型備份所改變的數(shù)據(jù)。增量型(Incremental):備份上一次備份后改變的數(shù)據(jù)。備份概述(2)物理備份。物理備份是備份數(shù)據(jù)庫文件而不是其邏輯內(nèi)容。Oracle系統(tǒng)支持兩種不同類型的物理備份:脫機(jī)備份(冷備份)和聯(lián)機(jī)備份(熱備份)。脫機(jī)備份在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下進(jìn)行。數(shù)據(jù)庫正常關(guān)閉后會(huì)給用戶提供一個(gè)完整的數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫處于脫機(jī)備份狀態(tài)時(shí),備份的文件包括所有數(shù)據(jù)文件、所有控制文件、所有聯(lián)機(jī)重做日志和服務(wù)器參數(shù)文件(可選)。當(dāng)數(shù)據(jù)庫關(guān)閉時(shí),對所有這些文件進(jìn)行備份可以提供一個(gè)數(shù)據(jù)庫關(guān)閉時(shí)的完整鏡像,以后可以從備份中獲取整個(gè)文件集并恢復(fù)數(shù)據(jù)庫的功能。數(shù)據(jù)庫可能要求24小時(shí)運(yùn)行,而且隨時(shí)會(huì)對數(shù)據(jù)進(jìn)行操作。聯(lián)機(jī)備份可以在數(shù)據(jù)庫打開的情況下進(jìn)行。02恢復(fù)概述1.實(shí)例恢復(fù)2.介質(zhì)恢復(fù)恢復(fù)概述1.實(shí)例恢復(fù)實(shí)例恢復(fù)的目的就是將數(shù)據(jù)庫恢復(fù)到與故障之前的事務(wù)一致的狀態(tài)。實(shí)例恢復(fù)只需要使用聯(lián)機(jī)日志文件,不需要?dú)w檔日志文件。實(shí)例恢復(fù)的最大特點(diǎn)是,Oracle系統(tǒng)在下次數(shù)據(jù)庫啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行實(shí)例恢復(fù)。實(shí)例恢復(fù)由下列操作步驟完成。(1)為了解恢復(fù)數(shù)據(jù)文件中沒有記錄的數(shù)據(jù),進(jìn)行向前滾。該數(shù)據(jù)記錄于在線日志中,包括對回退段的內(nèi)容恢復(fù)。(2)回退未提交的事務(wù),按步驟(1)重新生成回退段所指定的操作。(3)釋放在發(fā)生故障時(shí)正在處理事務(wù)所持有的資源。(4)解決在發(fā)生故障時(shí)正經(jīng)歷這一階段提交的任何懸而未決的分布事務(wù)?;謴?fù)概述2.介質(zhì)恢復(fù)介質(zhì)故障是當(dāng)一個(gè)文件或者磁盤不能讀取或?qū)懭霑r(shí)出現(xiàn)的故障。這種狀態(tài)下的數(shù)據(jù)庫都是不一致的,需要DBA手動(dòng)進(jìn)行數(shù)據(jù)庫的恢復(fù)。這種恢復(fù)有兩種形式:(1)完全介質(zhì)恢復(fù)。它使用重做數(shù)據(jù)或增量備份將數(shù)據(jù)庫更新到最近的時(shí)間點(diǎn),通常在介質(zhì)故障損壞數(shù)據(jù)文件或控制文件后執(zhí)行完全介質(zhì)恢復(fù)操作。實(shí)施完全數(shù)據(jù)庫恢復(fù)時(shí),根據(jù)數(shù)據(jù)庫文件的破壞情況,可以使用不同的方法。例如,當(dāng)數(shù)據(jù)文件被物理破壞,數(shù)據(jù)庫不能正常啟動(dòng)時(shí),就可以對全部的或單個(gè)被破壞的數(shù)據(jù)文件進(jìn)行完全介質(zhì)恢復(fù)。(2)不完全介質(zhì)恢復(fù)。這是在完全介質(zhì)恢復(fù)不可能或者有特殊要求時(shí)進(jìn)行的介質(zhì)恢復(fù)。例如,系統(tǒng)表空間的數(shù)據(jù)文件被損壞、在線日志損壞或人為誤刪基本表和表空間等。這時(shí)可以進(jìn)行不完全恢復(fù),使數(shù)據(jù)庫恢復(fù)到故障前或用戶出錯(cuò)之前的一個(gè)事務(wù)的一致性狀態(tài)。第9章表空間、備份和恢復(fù)導(dǎo)入和導(dǎo)出01導(dǎo)

出導(dǎo)

出可以對所有表執(zhí)行全數(shù)據(jù)庫導(dǎo)出(CompleteExport)或者僅對上次導(dǎo)出后修改過的表執(zhí)行全數(shù)據(jù)庫導(dǎo)出。增量導(dǎo)出有兩種不同類型:Incremental(增量)型和Cumulative(積累)型。Incremental型將上次導(dǎo)出后修改過的全部表導(dǎo)出,而Cumulative型將上次全部導(dǎo)出后修改過的表導(dǎo)出??墒褂肊xport實(shí)用程序來壓縮數(shù)據(jù)段碎片的盤區(qū)。從命令行調(diào)用Export程序并且傳遞各類參數(shù)和參數(shù)值,可以完成導(dǎo)出操作。參數(shù)和參數(shù)值決定了導(dǎo)出的具體任務(wù)。如表所示為Export指定的運(yùn)行期選項(xiàng)??梢栽凇懊钐崾痉贝翱谥休斎搿癊XPHELP=Y”調(diào)用EXP命令的幫助信息。導(dǎo)

出導(dǎo)出有以下3種模式。(1)交互模式。在輸入EXP命令后,根據(jù)系統(tǒng)的提示輸入導(dǎo)出參數(shù),如用戶名、口令和導(dǎo)出類型等參數(shù)。(2)命令行模式。命令行模式和交互模式類似,不同的是使用命令模式時(shí),只能在模式被激活后,才能把參數(shù)和參數(shù)值傳遞給導(dǎo)出程序。(3)參數(shù)文件模式。參數(shù)文件模式的關(guān)鍵參數(shù)是Parfile。Parfile的對象是一個(gè)包含激活控制導(dǎo)出對話參數(shù)和參數(shù)值的文件名。導(dǎo)

出【例9.5】以交互模式進(jìn)行數(shù)據(jù)庫XSCJ的XSB表導(dǎo)出。執(zhí)行結(jié)果如圖。02導(dǎo)

入導(dǎo)

入當(dāng)數(shù)據(jù)庫出現(xiàn)錯(cuò)誤的修改或刪除操作時(shí),可以利用導(dǎo)入操作通過導(dǎo)出文件恢復(fù)重要的數(shù)據(jù)。在使用應(yīng)用程序前,將對其操作的表導(dǎo)出到一個(gè)概要中,這樣,如果由于應(yīng)用程序中的錯(cuò)誤而刪除或修改了表中數(shù)據(jù)時(shí),就可以從已經(jīng)導(dǎo)出到概要的備份表中恢復(fù)誤操作的數(shù)據(jù)。導(dǎo)入操作可把一個(gè)操作系統(tǒng)中的Oracle數(shù)據(jù)庫導(dǎo)出后再導(dǎo)入到另一個(gè)操作系統(tǒng)中。導(dǎo)入操作既可以交互進(jìn)行,也可通過命令進(jìn)行。導(dǎo)入操作選項(xiàng)同導(dǎo)出的基本一樣,如表。導(dǎo)入操作中,如果參數(shù)相互沖突或者引起指令不一致時(shí)操作就會(huì)失敗。例如,設(shè)置“FULL=Y”和“OWNER=SYSTEM”,因?yàn)镕ULL參數(shù)調(diào)用FULL導(dǎo)入,而OWNER參數(shù)指定USER導(dǎo)入。導(dǎo)

入【例9.6】以交互模式進(jìn)行XSCJ數(shù)據(jù)庫中XSB表的導(dǎo)入。為了查看導(dǎo)入的效果,先將XSB表刪除:DROPTABLExsb;導(dǎo)入結(jié)果如圖。導(dǎo)

入下面介紹命令行模式和參數(shù)模式的EXP用法與IMP用法。(1)命令行模式。命令行模式其實(shí)與交互模式的道理一樣,只是命令行模式將交互模式中逐步輸入的數(shù)據(jù)在一行命令中全部輸入。例如,要導(dǎo)出XSB表,可以在命令提示符下輸入命令如下:EXPUSERID=SCOTT/Mm123456FULL=NBUFFER=10000FILE=xsb.DMPTABLES=xsb執(zhí)行結(jié)果如圖。導(dǎo)

入(2)參數(shù)模式。參數(shù)模式其實(shí)就是將命令行模式中命令后面所帶的參數(shù)寫在一個(gè)參數(shù)文件中,然后再使用命令,使其后面帶一個(gè)調(diào)用該文件的參數(shù)。通過普通的文本文件編輯器就可以創(chuàng)建這個(gè)文件。為了便于標(biāo)識(shí),將該參數(shù)文件的后綴命名為.parfile。以下是一個(gè)參數(shù)文件的內(nèi)容:USERID=SCOTT/Mm123456FULL=NBUFFER=10000FILE=xsb.DMPTABLES=xsb使用參數(shù)模式執(zhí)行過程如下:EXPPARFILE=xsb.PARFILE第9章表空間、備份和恢復(fù)脫機(jī)備份脫機(jī)備份在磁盤空間容許的情況下,將這些文件復(fù)制到磁盤上。冷備份一般在SQL*Plus中進(jìn)行

溫馨提示

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

評論

0/150

提交評論