Oracle 控制語句.ppt_第1頁
Oracle 控制語句.ppt_第2頁
Oracle 控制語句.ppt_第3頁
Oracle 控制語句.ppt_第4頁
Oracle 控制語句.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、事務(wù)與權(quán)限控制,本章目標,了解事務(wù)的基本概念 掌握事務(wù)的操作方式 事務(wù)的分類 了解oracle數(shù)據(jù)庫的安全性 掌握帳戶管理、權(quán)限管理、角色管理,1.1 事務(wù)的基本概念,事務(wù)的概念: 所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。 例如,在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句、一組SQL語句或整個程序。 定義事務(wù)的三條語句: Commit Rollback Savepoint 事務(wù)是一個邏輯工作單元,同時又是一個恢復(fù)單元。一個事務(wù)提交之后,數(shù)據(jù)庫又處于或應(yīng)該處于一個一致性狀態(tài)ddl之后,包含一個隱含的commit,事務(wù)的基本概念,事務(wù)是一個或

2、多個sql語句序列。事務(wù)中的每條語句都只執(zhí)行部分任務(wù),完成任務(wù)需要所有sql語句。事務(wù)被視為原子單元,要么所有的語句都執(zhí)行,要么一條語句也不執(zhí)行。事務(wù)概念在程序更新數(shù)據(jù)庫時至關(guān)重要,因為數(shù)據(jù)庫的完整性必須得到維持。 只有當事務(wù)提交時,事務(wù)對數(shù)據(jù)庫的更改才是永久性的。事務(wù)以一條可執(zhí)行sql語句開始,以一條回滾或提交語句顯示地結(jié)束。,事務(wù)的基本概念,提供事務(wù)的目的:為了更加安全地修改數(shù)據(jù)庫。如:對一個操作不滿意,可以回滾以進行重新修改。 事務(wù)控制命令的組成:提交Commit、回滾RollBack、保留點SavePoint,提交-commit,commit語句用于結(jié)束一個事務(wù)。它使得對數(shù)據(jù)庫所做的任

3、何更改成為永久性的。該語句還刪除事務(wù)中的任何保存點。 commit語句表示下列操作: - 所有sql語句均已執(zhí)行。 - 事務(wù)成功結(jié)束。 - 數(shù)據(jù)庫處于一致性狀態(tài)。,事務(wù)提交方式,顯式提交:就是使用commit命令使得當前事務(wù)生效。這個事務(wù)所有操作所產(chǎn)生的對數(shù)據(jù)庫的更新都變成永久性的。 自動提交:在sql*plus中,使用set autocommit on。然后所做的所有操作自動提交。oracle系統(tǒng)實現(xiàn)自動提交功能所需的資源多,并且執(zhí)行效率低,故一般情況下,用戶最好別用。 隱式提交:如發(fā)出ddl命令、程序終止、關(guān)閉數(shù)據(jù)庫等除前兩個之外的。,保留點-savepoint,定義:是一事務(wù)范圍內(nèi)的中間

4、標志,經(jīng)常用于將一個長事務(wù)劃分為矩小的部分。 使用范圍:可標志長事務(wù)的任何點,允許回滾到某個位置。與回滾一起完成回滾事務(wù)部分。 格式:savepoint 保留點名;,事務(wù)回滾rollback,rollback語句用于撤銷當前事務(wù)中所執(zhí)行的操作??梢曰貪L整個事務(wù)以便忽略sql語句所做的所有更改,或者將事務(wù)回滾到保存點以便忽略保存點之后的sql語句。,事務(wù)回滾rollback,Rollback語句執(zhí)行下列操作: - 刪除對數(shù)據(jù)庫所做的更改。 - 表示事務(wù)不成功結(jié)束。 - 將數(shù)據(jù)庫恢復(fù)到事務(wù)前的狀態(tài)。,回滾時所做的工作,回滾整個事務(wù): - 利用相應(yīng)回滾段撤消事務(wù)中SQL命令作的全部修改; - 解除對

5、所有數(shù)據(jù)的事務(wù)封鎖; - 結(jié)束事務(wù)。 回滾部分事務(wù): - 回滾該保留點之后的部分事務(wù); - 刪除在該保留點之后所建立的全部保留點,而該保留點則保留,以便可回滾到同一保留點多次; - 解除對該保留點之后表的封鎖或行的封鎖。,回滾分類,顯式回滾: 格式:rollback to savepoint 保留點名; 隱式回滾: 發(fā)生情況: - 執(zhí)行期間發(fā)生錯誤,比如一個用戶往一個表中插入幾個記錄時,其中插入了一個錯誤的記錄,從而導致終止插入操作而回滾; -發(fā)現(xiàn)死鎖或事務(wù)夭折。,設(shè)置事務(wù),定義及功能:設(shè)置事務(wù)實際上是對事務(wù)的一種控制,主要任務(wù)是建立當前事務(wù)為只讀事務(wù)或讀寫事務(wù),其次是控制事務(wù)使用指定的回滾段

6、空間。 分類: - 讀寫事務(wù)處理 - 只讀事務(wù)處理,讀寫事務(wù)處理,默認情況下,當oracle9i為一個會話開始一個新的事務(wù)時,該事務(wù)是可讀寫的。通常,一個可讀寫的事務(wù)可以包含任何類型的sql語句,其中,包括了用于查詢、更新和刪除表行的dml語句。可以使用sql命令來顯示聲明一個事務(wù)為可讀寫事務(wù)。 格式:set transaction read write;,只讀事務(wù)處理,只讀的事務(wù)只包含查詢。也就是說,只讀操作不以任何形式修改數(shù)據(jù)庫。應(yīng)用程序可以顯示地使用sql命令聲明一個事務(wù)為只讀。 格式:set transaction read only; 當聲明一個顯式的只讀事務(wù)時,oracle9i為該

7、事務(wù)保證了事務(wù)級別上的讀一致性。這意味著,即使其他事務(wù)對數(shù)據(jù)庫進行修改并提交了工作,該事務(wù)的所有查詢結(jié)果所反映的數(shù)據(jù)庫數(shù)據(jù)與事務(wù)開始時也保持一致。應(yīng)用程序通常圍繞一些查詢使用顯式的只讀事務(wù),并使用一致性的數(shù)據(jù)的生成報表,以供使用。,1.2 oracle安全,Oracle數(shù)據(jù)庫是一個多用戶的系統(tǒng),它允許多個用戶在網(wǎng)絡(luò)上共享數(shù)據(jù)庫的資源。為了防止非法用戶的侵入,保證數(shù)據(jù)庫系統(tǒng)的安全。 方法有: - 用戶帳戶管理 - 權(quán)限管理 - 角色管理,用戶帳戶管理,每一個想使用oracle的用戶都必須得到一個合法的用戶名、口令和相應(yīng)的權(quán)限,才能進入Oracle系統(tǒng)進行相應(yīng)的操作。在訪問Oracle的對象時,必

8、須使用一個用戶帳戶和口令連接數(shù)據(jù)庫,只有連接成功才能操作數(shù)據(jù)庫對象。 oracle的帳戶是管理員建立的,對于不同的用戶,可以授予不同等級的權(quán)限。每個用戶只能在自己的權(quán)限范圍內(nèi)活動,任何超越權(quán)限范圍的操作都視為非法,系統(tǒng)將不理睬或拒絕。,創(chuàng)建用戶帳戶,格式:create user 用戶名 identified by 口令 說明:在sql*plus中建立時,要輸入一個以字母開頭的口令。,查詢用戶,限制用戶,鎖定格式: alter user 用戶名 account lock; 解除格式: alter user 用戶名 account unlock; 口令失效格式: alter user 用戶名 pa

9、ssword expire;,刪除用戶,drop user 用戶名 cascade;,權(quán)限管理,oracle創(chuàng)建好用戶以后,并不意味著用戶就可以對數(shù)據(jù)庫進行隨心所欲的操作。用戶對數(shù)據(jù)庫進行訪問或執(zhí)行任何操作,都需要擁有執(zhí)行指定操作的權(quán)限。例如,用戶被創(chuàng)建后不能馬上連接數(shù)據(jù)庫,這是因為連接數(shù)據(jù)庫需要create session權(quán)限。,數(shù)據(jù)庫權(quán)限的種類,oracle提供了兩種類型的權(quán)限系統(tǒng)權(quán)限和對象權(quán)限。 系統(tǒng)權(quán)限提供了在oracle數(shù)據(jù)庫系統(tǒng)范圍內(nèi)執(zhí)行某種任務(wù)的操作能力。而對象權(quán)限則是一種賦予用戶在指定的數(shù)據(jù)庫對象(如表、視圖等)上執(zhí)行特定類型的操作的權(quán)限。,權(quán)限分配原則,系統(tǒng)權(quán)限是一種功能十分

10、強大的權(quán)限,能夠影響到數(shù)據(jù)庫系統(tǒng)的安全,所以授權(quán)系統(tǒng)權(quán)限時要十分慎重,不到必要時不要輕易授予系統(tǒng)權(quán)限,并且只能授予可靠的用戶。 與系統(tǒng)權(quán)限不同,對象權(quán)限強調(diào)的是在某一種數(shù)據(jù)庫對象范圍內(nèi)實施某種操作的能力。這些操作可能是查詢某種對象的行的信息(select)、向?qū)ο蟛迦胄行畔ⅲ╥nsert)等。,授予系統(tǒng)權(quán)限,格式: grant 系統(tǒng)權(quán)限 to 用戶名with admin option 說明: - with admin option:允許用戶進行權(quán)限的傳遞。,撤銷系統(tǒng)權(quán)限,格式: revoke 系統(tǒng)權(quán)限 from 用戶名;,授予對象權(quán)限,格式: grant 權(quán)限集合 on 數(shù)據(jù)庫對象名 to 用

11、戶名 with grant option 說明: - with grant option:表示允許用戶進行權(quán)限傳遞。,撤銷對象權(quán)限,格式: revoke 權(quán)限集合 on 數(shù)據(jù)庫對象名 from 用戶名,查看權(quán)限,角色管理,角色是具有名稱的一組系統(tǒng)權(quán)限和對象權(quán)限的集合。先把一定的權(quán)限授予某個角色,可以分配給一個角色任意數(shù)量的權(quán)限。然后就可以將角色授予用戶。當給用戶成功授予了某個角色以后,用戶將會擁有這個角色所包括的所有權(quán)限。一個用戶可以被分配給任意數(shù)量的角色。 角色管理使用戶授權(quán)任務(wù)變得簡單,將權(quán)限和用戶帳戶之間的關(guān)系通過角色作為中介有效地、靈活地聯(lián)系起來??梢詫σ粋€角色添加或減少權(quán)限,從而改變擁有該角色的用戶的權(quán)限。當需要更改用戶的權(quán)限時,可以直接對角色進行修改,而無需單獨對每個用戶進行操作。,創(chuàng)建角色,格式:create role 角色名; 說明:角色名稱不得與數(shù)據(jù)庫已有的任何用戶名相同。,使用角色,功能:使用角色為用戶賦予權(quán)限便于用戶的區(qū)分,而DBA也不用每個用戶都重新賦予某些權(quán)限,快! 實現(xiàn)過程:先給角色賦予相應(yīng)的權(quán)限,然后再把角色象賦予權(quán)限一樣賦予用戶,用戶就具有和角色一樣的權(quán)限了。,查看角色,角色的權(quán)限,為角色賦權(quán)與為用戶賦予系統(tǒng)權(quán)限和對象權(quán)限一樣。,刪除角色,格式:drop role 角色名稱;,思考題,為角色賦予相應(yīng)的權(quán)限

溫馨提示

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

評論

0/150

提交評論