<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-15  文章-81  trackbacks-0

     

    每個Oracle用戶都有一個名字和口令,并擁有一些由其創建的表、視圖和其他資源。Oracle角色(role)就是一組權限(privilege)(或者是每個用戶根據其狀態和條件所需的訪問類型)。用戶可以給角色授予或賦予指定的權限,然后將角色賦給相應的用戶。一個用戶也可以直接給其他用戶授權。

        數據庫系統權限(Database System Privilege)允許用戶執行特定的命令集。例如,CREATE TABLE權限允許用戶創建表,GRANT ANY PRIVILEGE權限允許用戶授予任何系統權限。

        數據庫對象權限(Database Object Privilege)使得用戶能夠對各個對象進行某些操作。例如DELETE權限允許用戶刪除表或視圖的行,SELECT權限允許用戶通過select從表、視圖、序列(sequences)或快照 (snapshots)中查詢信息。

    一、創建用戶

       Oracle內部有兩個建好的用戶:SYSTEM和SYS。用戶可直接登錄到SYSTEM用戶以創建其他用戶,因為SYSTEM具有創建別的用戶的權限。在安裝Oracle時,用戶或系統管理員首先可以為自己建立一個用戶。例如:

        create user user01 identified by u01;

        該命令還可以用來設置其他權限,詳細情況參見自學資料。要改變一個口令,可以使用alter user命令:

        alter user user01 identified by usr01;

        現在user01的口令已由“u01”改為“usr01”。

        除了alter user命令以外,用戶還可以使用password命令。如果使用password命令,用戶輸入的新口令將不在屏幕上顯示。有dba特權的用戶可以通過password命令改變任何其他用戶的口令;其他用戶只能改變自己的口令。

        當用戶輸入password命令時,系統將提示用戶輸入舊口令和新口令,如下所示:

        password

        Changing password for user01

        Old password:

        New password:

        Retype new password:

        當成功地修改了口令時,用戶會得到如下的反饋:

        Password changed

    二、刪除用戶

        刪除用戶,可以使用drop user命令,如下所示:

        drop user user01;

       如果用戶擁有對象,則不能直接刪除,否則將返回一個錯誤值。指定關鍵字CASCADE,可刪除用戶所有的對象,然后再刪除用戶。下面的例子用來刪除用戶與其對象:

        drop user user01 CASCADE;

    三、3種標準角色

        Qracle為了兼容以前的版本,提供了三種標準的角色(role):CONNECT、RESOURCE和DBA。

        1. CONNECT Role(連接角色)

        臨時用戶,特別是那些不需要建表的用戶,通常只賦予他們CONNECTrole。CONNECT是使用Oracle的簡單權限,這種權限只有在對其他用戶的表有訪問權時,包括select、insert、update和delete等,才會變得有意義。擁有CONNECT role的用戶還能夠創建表、視圖、序列(sequence)、簇(cluster)、同義詞(synonym )、會話(session)和與其他數據庫的鏈(link)。

        2. RESOURCE Role(資源角色)

        更可靠和正式的數據庫用戶可以授予RESOURCE role。RESOURCE提供給用戶另外的權限以創建他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)和簇(cluster)。

        3. DBA Role(數據庫管理員角色)

        DBA role擁有所有的系統權限----包括無限制的空間限額和給其他用戶授予各種權限的能力。SYSTEM由DBA用戶擁有。下面介紹一些DBA經常使用的典型權限。

       (1)grant(授權)命令

        下面對剛才創建的用戶user01授權,命令如下:

        grant connect, resource to user01;

       (2)revoke(撤消)權限

        已授予的權限可以撤消。例如撤消(1)中的授權,命令如下:

        revoke connect, resource from user01;

        一個具有DBA角色的用戶可以撤消任何別的用戶甚至別的DBA的CONNECT、RESOURCE 和DBA的其他權限。當然,這樣是很危險的,因此,除非真正需要,DBA權限不應隨便授予那些不是很重要的一般用戶。

        撤消一個用戶的所有權限,并不意味著從Oracle中刪除了這個用戶,也不會破壞用戶創建的任何表;只是簡單禁止其對這些表的訪問。其他要訪問這些表的用戶可以象以前那樣地訪問這些表。

    四、創建角色

        除了前面講到的三種系統角色----CONNECT、RESOURCE和DBA,用戶還可以在Oracle創建自己的role。用戶創建的role可以由表或系統權限或兩者的組合構成。為了創建role,用戶必須具有CREATE ROLE系統權限。下面給出一個create role命令的實例:

        create role STUDENT;

        這條命令創建了一個名為STUDENT的role。

        一旦創建了一個role,用戶就可以給他授權。給role授權的grant命令的語法與對對用戶的語法相同。在給role授權時,在grant命令的to子句中要使用role的名稱,如下所示:

        grant select on CLASS to STUDENT;

       現在,擁有STUDENT角色的所有用戶都具有對CLASS表的select權限。
       撤銷權限:
       revoke select on CLASS from STUDENT;

    五、刪除角色

       要刪除角色,可以使用drop role命令,如下所示:

       drop role STUDENT;

       指定的role連同與之相關的權限將從數據庫中全部刪除。

    posted on 2008-07-09 16:23 譚明 閱讀(520) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: a拍拍男女免费看全片| 免费亚洲视频在线观看| 成人免费福利视频| 亚洲日韩国产欧美一区二区三区| 16女性下面扒开无遮挡免费| 中国亚洲呦女专区| 免费观看一级毛片| 国产在线精品一区免费香蕉| 亚洲欧洲日本国产| 免费无码又爽又刺激聊天APP| 亚洲av乱码一区二区三区香蕉 | 又粗又大又黑又长的免费视频| 国产大陆亚洲精品国产| 亚洲成A人片在线观看无码不卡| 性做久久久久久免费观看| 亚洲videos| 国产A在亚洲线播放| 热99re久久免费视精品频软件| 中文字幕不卡免费视频| 亚洲精品免费网站| 亚洲国产精品一区| 亚洲高清最新av网站| 丁香花免费高清视频完整版| 国产精品免费αv视频| 久久夜色精品国产嚕嚕亚洲av| 午夜视频在线在免费| 无码A级毛片免费视频内谢| 免费无遮挡无遮羞在线看| 亚洲一区二区三区在线观看蜜桃| 亚洲国产另类久久久精品黑人| 又粗又大又猛又爽免费视频| 波多野结衣免费在线| 蜜桃成人无码区免费视频网站 | 亚洲成电影在线观看青青| 亚洲日韩精品一区二区三区| 日本特黄a级高清免费大片| 四虎免费影院ww4164h| 国产日韩一区二区三免费高清| 美女羞羞免费视频网站| 亚洲国产精品美女久久久久| 亚洲国产情侣一区二区三区|