最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle用戶權(quán)限、角色管理詳解

 更新時間:2014年04月23日 10:30:44   作者:  
這篇文章主要介紹了oracle用戶權(quán)限、角色管理的使用和示例,需要的朋友可以參考下

Oracle 權(quán)限設(shè)置

一、權(quán)限分類:

系統(tǒng)權(quán)限:系統(tǒng)規(guī)定用戶使用數(shù)據(jù)庫的權(quán)限。(系統(tǒng)權(quán)限是對用戶而言)。

實體權(quán)限:某種權(quán)限用戶對其它用戶的表或視圖的存取權(quán)限。(是針對表或視圖而言的)。

二、系統(tǒng)權(quán)限管理:

1、系統(tǒng)權(quán)限分類:

DBA: 擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

對于普通用戶:授予connect, resource權(quán)限。

對于DBA管理用戶:授予connect,resource, dba權(quán)限。

2、系統(tǒng)權(quán)限授權(quán)命令:

[系統(tǒng)權(quán)限只能由DBA用戶授出:sys, system(最開始只能是這兩個用戶)]

授權(quán)命令:SQL> grant connect, resource, dba to 用戶名1 [,用戶名2]...;

[普通用戶通過授權(quán)可以具有與system相同的用戶權(quán)限,但永遠(yuǎn)不能達(dá)到與sys用戶相同的權(quán)限,system用戶的權(quán)限也可以被回收。]

例:

復(fù)制代碼 代碼如下:

SQL> connect system/manager

SQL> Create user user50 identified by user50;

SQL> grant connect, resource to user50;

查詢用戶擁有哪里權(quán)限:

復(fù)制代碼 代碼如下:

SQL> select * from user_sys_PRivs;  查看當(dāng)前用戶所有權(quán)限

SQL> select * from user_tab_privs;  查看所用用戶對表的權(quán)限

刪除用戶:SQL> drop user 用戶名 cascade;  //加上cascade則將用戶連同其創(chuàng)建的東西全部刪除

3、系統(tǒng)權(quán)限傳遞:

增加WITH ADMIN OPTION選項,則得到的權(quán)限可以傳遞。

復(fù)制代碼 代碼如下:

SQL> grant connect, resorce to user50 with admin option;  //可以傳遞所獲權(quán)限。

4、系統(tǒng)權(quán)限回收:系統(tǒng)權(quán)限只能由DBA用戶回收

命令:SQL> Revoke connect, resource from user50;

說明:

1)如果使用WITH ADMIN OPTION為某個用戶授予系統(tǒng)權(quán)限,那么對于被這個用戶授予相同權(quán)限的所有用戶來說,取消該用戶的系統(tǒng)權(quán)限并不會級聯(lián)取消這些用戶的相同權(quán)限。

2)系統(tǒng)權(quán)限無級聯(lián),即A授予B權(quán)限,B授予C權(quán)限,如果A收回B的權(quán)限,C的權(quán)限不受影響;系統(tǒng)權(quán)限可以跨用戶回收,即A可以直接收回C用戶的權(quán)限。

三、實體權(quán)限管理

1、實體權(quán)限分類:select, update, insert, alter, index, delete, all  //all包括所有權(quán)限

execute  //執(zhí)行存儲過程權(quán)限

user01:

復(fù)制代碼 代碼如下:

SQL> grant select, update, insert on product to user02;

SQL> grant all on product to user02;

user02:

復(fù)制代碼 代碼如下:

SQL> select * from user01.product;

// 此時user02查user_tables,不包括user01.product這個表,但如果查all_tables則可以查到,因為他可以訪問。


 

2. 將表的操作權(quán)限授予全體用戶:

復(fù)制代碼 代碼如下:

SQL> grant all on product to public;       public表示是所有的用戶,這里的all權(quán)限不包括drop。

[實體權(quán)限數(shù)據(jù)字典]:

復(fù)制代碼 代碼如下:

SQL> select owner, table_name from all_tables; // 用戶可以查詢的表

SQL> select table_name from user_tables;  // 用戶創(chuàng)建的表

SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // 獲權(quán)可以存取的表(被授權(quán)的)

SQL> select grantee, owner, table_name, privilege from user_tab_privs;   // 授出權(quán)限的表(授出的權(quán)限)

3. DBA用戶可以操作全體用戶的任意基表(無需授權(quán),包括刪除):

DBA用戶:

復(fù)制代碼 代碼如下:

SQL> Create table stud02.product( id number(10),name varchar2(20));

SQL> drop table stud02.emp;

SQL> create table stud02.employee

as

select * from scott.emp;

4. 實體權(quán)限傳遞(WITH GRANT OPTION):

user01:

復(fù)制代碼 代碼如下:

SQL> grant select, update on product to user02 with grant option; // user02得到權(quán)限,并可以傳遞。

5. 實體權(quán)限回收:

user01:

復(fù)制代碼 代碼如下:

SQL>Revoke select, update on product from user02;  //傳遞的權(quán)限將全部丟失。

說明

1)如果取消某個用戶的對象權(quán)限,那么對于這個用戶使用WITH GRANT OPTION授予權(quán)限的用戶來說,同樣還會取消這些用戶的相同權(quán)限,也就是說取消授權(quán)時級聯(lián)的。

Oracle 用戶管理

一、創(chuàng)建用戶的Profile文件

SQL> create profile student limit  // student為資源文件名

 FAILED_LOGIN_ATTEMPTS  3  //指定鎖定用戶的登錄失敗次數(shù)

 PASSWORD_LOCK_TIME 5  //指定用戶被鎖定天數(shù)

 PASSWORD_LIFE_TIME 30  //指定口令可用天數(shù)

二、創(chuàng)建用戶

復(fù)制代碼 代碼如下:

SQL> Create User username

 Identified by password

 Default Tablespace tablespace

 Temporary Tablespace tablespace

 Profile profile

 Quota integer/unlimited on tablespace;


 

例:

復(fù)制代碼 代碼如下:

SQL> Create user acc01
identified by acc01   // 如果密碼是數(shù)字,請用雙引號括起來
defaulttablespaceaccount
temporarytablespacetemp
profiledefault
quota50monaccount;
SQL>grantconnect,resourcetoacc01;

[*]查詢用戶缺省表空間、臨時表空間

復(fù)制代碼 代碼如下:

SQL>selectusername,default_tablespace,temporary_tablespacefromdba_users;

[*]查詢系統(tǒng)資源文件名:

復(fù)制代碼 代碼如下:

SQL>select*fromdba_profiles;

資源文件類似表,一旦創(chuàng)建就會保存在數(shù)據(jù)庫中。

復(fù)制代碼 代碼如下:

SQL>selectusername,profile,default_tablespace,temporary_tablespacefromdba_users;
SQL>createprofilecommonlimit
failed_login_attempts5
idle_time5;
SQL>Alteruseracc01profilecommon;

三、修改用戶:

復(fù)制代碼 代碼如下:

SQL>AlterUser用戶名

Identified口令

DefaultTablespacetablespace

TemporaryTablespacetablespace

Profileprofile

Quotainteger/unlimitedontablespace;

1、修改口令字:

復(fù)制代碼 代碼如下:

SQL>Alteruseracc01identifiedby"12345";

2、修改用戶缺省表空間:

復(fù)制代碼 代碼如下:

SQL>Alteruseracc01defaulttablespaceusers;

3、修改用戶臨時表空間

復(fù)制代碼 代碼如下:

SQL>Alteruseracc01temporarytablespacetemp_data;

4、強(qiáng)制用戶修改口令字:

復(fù)制代碼 代碼如下:

SQL>Alteruseracc01passwordexpire;

5、將用戶加鎖

復(fù)制代碼 代碼如下:

SQL>Alteruseracc01accountlock;//加鎖
SQL>Alteruseracc01accountunlock;//解鎖

四、刪除用戶

復(fù)制代碼 代碼如下:

SQL>dropuser用戶名;//用戶沒有建任何實體
SQL>dropuser用戶名CASCADE;//將用戶及其所建實體全部刪除

*1.當(dāng)前正連接的用戶不得刪除。

五、監(jiān)視用戶:

1、查詢用戶會話信息:

復(fù)制代碼 代碼如下:

SQL>selectusername,sid,serial#,machinefromv$session;

2、刪除用戶會話信息:

復(fù)制代碼 代碼如下:

SQL>Altersystemkillsession'sid,serial#';

3、查詢用戶SQL語句:
復(fù)制代碼 代碼如下:

SQL>selectuser_name,sql_textfromv$open_cursor;

Oracle角色管理

一、何為角色

角色。角色是一組權(quán)限的集合,將角色賦給一個用戶,這個用戶就擁有了這個角色中的所有權(quán)限。

二、系統(tǒng)預(yù)定義角色

預(yù)定義角色是在數(shù)據(jù)庫安裝后,系統(tǒng)自動創(chuàng)建的一些常用的角色。下介簡單的介紹一下這些預(yù)定角色。角色所包含的權(quán)限可以用以下語句查詢:

復(fù)制代碼 代碼如下:

sql>select*fromsys_role_privswhererole='角色名';

1.CONNECT,RESOURCE,DBA

這些預(yù)定義角色主要是為了向后兼容。其主要是用于數(shù)據(jù)庫管理。oracle建議用戶自己設(shè)計數(shù)據(jù)庫管理和安全的權(quán)限規(guī)劃,而不要簡單的使用這些預(yù)定角色。將來的版本中這些角色可能不會作為預(yù)定義角色。

2.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE

這些角色主要用于訪問數(shù)據(jù)字典視圖和包。

3.EXP_FULL_DATABASE,IMP_FULL_DATABASE

這兩個角色用于數(shù)據(jù)導(dǎo)入導(dǎo)出工具的使用。

4.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE

AQ:AdvancedQuery。這兩個角色用于oracle高級查詢功能。

5.SNMPAGENT

用于oracleenterprisemanager和IntelligentAgent

6.RECOVERY_CATALOG_OWNER

用于創(chuàng)建擁有恢復(fù)庫的用戶。關(guān)于恢復(fù)庫的信息,參考o(jì)racle文檔《Oracle9iUser-ManagedBackupandRecoveryGuide》

7.HS_ADMIN_ROLE

ADBAusingOracle'sheterogeneousservicesfeatureneedsthisroletoaccessappropriatetablesinthedatadictionary.

三、管理角色

1.建一個角色

復(fù)制代碼 代碼如下:

sql>createrolerole1;

2.授權(quán)給角色

復(fù)制代碼 代碼如下:

sql>grantcreateanytable,createproceduretorole1;

3.授予角色給用戶

復(fù)制代碼 代碼如下:

sql>grantrole1touser1;

4.查看角色所包含的權(quán)限

復(fù)制代碼 代碼如下:

sql>select*fromrole_sys_privs;

5.創(chuàng)建帶有口令以角色(在生效帶有口令的角色時必須提供口令)

復(fù)制代碼 代碼如下:

sql>createrolerole1identifiedbypassword1;

6.修改角色:是否需要口令

復(fù)制代碼 代碼如下:

sql>alterrolerole1notidentified;

sql>alterrolerole1identifiedbypassword1;


7.設(shè)置當(dāng)前用戶要生效的角色

(注:角色的生效是一個什么概念呢?假設(shè)用戶a有b1,b2,b3三個角色,那么如果b1未生效,則b1所包含的權(quán)限對于a來講是不擁有的,只有角色生效了,角色內(nèi)的權(quán)限才作用于用戶,最大可生效角色數(shù)由參數(shù)MAX_ENABLED_ROLES設(shè)定;在用戶登錄后,oracle將所有直接賦給用戶的權(quán)限和用戶默認(rèn)角色中的權(quán)限賦給用戶。)

復(fù)制代碼 代碼如下:

sql>setrolerole1;//使role1生效

sql>setrolerole,role2;//使role1,role2生效

sql>setrolerole1identifiedbypassword1;//使用帶有口令的role1生效

sql>setroleall;//使用該用戶的所有角色生效

sql>setrolenone;//設(shè)置所有角色失效

sql>setroleallexceptrole1;//除role1外的該用戶的所有其它角色生效。

sql>select*fromSESSION_ROLES;//查看當(dāng)前用戶的生效的角色。

8.修改指定用戶,設(shè)置其默認(rèn)角色

復(fù)制代碼 代碼如下:

sql>alteruseruser1defaultrolerole1;
sql>alteruseruser1defaultroleallexceptrole1;


9.刪除角色
復(fù)制代碼 代碼如下:

sql>droprolerole1;

角色刪除后,原來擁用該角色的用戶就不再擁有該角色了,相應(yīng)的權(quán)限也就沒有了。

說明:

1)無法使用WITHGRANTOPTION為角色授予對象權(quán)限

2)可以使用WITHADMINOPTION為角色授予系統(tǒng)權(quán)限,取消時不是級聯(lián)

相關(guān)文章

  • Oracle 9i產(chǎn)品文檔

    Oracle 9i產(chǎn)品文檔

    Oracle 9i產(chǎn)品文檔...
    2007-03-03
  • 深入探討:oracle中row_number() over()分析函數(shù)用法

    深入探討:oracle中row_number() over()分析函數(shù)用法

    本篇文章是對oracle中row_number() over()分析函數(shù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 解決plsql遇到亂碼的問題

    解決plsql遇到亂碼的問題

    本篇文章是對解決plsql遇到亂碼的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動

    Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動

    Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動...
    2007-03-03
  • oracle導(dǎo)入導(dǎo)出某個schema數(shù)據(jù)的步驟

    oracle導(dǎo)入導(dǎo)出某個schema數(shù)據(jù)的步驟

    這篇文章主要介紹了oracle導(dǎo)入導(dǎo)出某個schema數(shù)據(jù)的步驟,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Oracle 中 row_number()、rank()、dense_rank() 函數(shù)的用法詳解

    Oracle 中 row_number()、rank()、dense_rank() 函數(shù)的

    rank() 與 row_number() 的區(qū)別在于,rank() 會按照排序值相同的為一個序號(以下稱為:塊),第二個不同排序值將顯示所有行的遞增值,而不是當(dāng)前序號加1,下面通過示例介紹下Oracle 中 row_number()、rank()、dense_rank() 函數(shù)的用法,一起看看吧
    2024-03-03
  • 解析jdbc處理oracle的clob字段的詳解

    解析jdbc處理oracle的clob字段的詳解

    本篇文章是對jdbc處理oracle的clob字段進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Oracle11g audit審計配置全過程

    Oracle11g audit審計配置全過程

    Oracle審計功能是數(shù)據(jù)庫安全管理的重要組成部分,能夠幫助管理員監(jiān)控和記錄數(shù)據(jù)庫操作,確保安全和合規(guī),審計分為標(biāo)準(zhǔn)審計、細(xì)粒度審計和統(tǒng)一審計等類型,可通過設(shè)置AUDIT_TRAIL參數(shù)和相關(guān)命令開啟和配置,同時,審計記錄需要定期查看和清理,以維護(hù)系統(tǒng)性能和存儲空間
    2024-10-10
  • Oracle 監(jiān)聽器密碼設(shè)置方法(LISTENER)

    Oracle 監(jiān)聽器密碼設(shè)置方法(LISTENER)

    在缺省的情況下,任意用戶不需要使用任何密碼即通過lsnrctl 工具對Oracle Listener進(jìn)行操作或關(guān)閉,從而造成任意新的會話都將無法建立連接
    2016-09-09
  • Oracle中大對象(LOB)處理方法

    Oracle中大對象(LOB)處理方法

    這篇文章介紹了Oracle中大對象(LOB)的處理方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論

玉环县| 资中县| 深圳市| 孟津县| 拉萨市| 灵川县| 灵川县| 盐城市| 珲春市| 宿州市| 深泽县| 鄂温| 深泽县| 射洪县| 西平县| 嵩明县| 丹江口市| 奉节县| 长治县| 龙里县| 金门县| 遵义县| 财经| 安庆市| 蓬安县| 葵青区| 依兰县| 康马县| 岑溪市| 台东市| 泊头市| 辽宁省| 县级市| 仁怀市| 方城县| 瑞安市| 永和县| 加查县| 都昌县| 满洲里市| 辽阳市|