国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Oracle 用戶管理與權(quán)限分配

用戶與模式的關(guān)系

Oracle數(shù)據(jù)庫(kù)的安全保護(hù)流程可以分為3個(gè)步驟。首先,用戶向數(shù)據(jù)庫(kù)提供身份識(shí)別信息,即提供一個(gè)數(shù)據(jù)庫(kù)賬號(hào)。接下來(lái)用戶還需要證明他們所給出的身份識(shí)別信息是有效的,這是通過(guò)輸入密碼來(lái)實(shí)現(xiàn)的,用戶輸入的密碼經(jīng)過(guò)數(shù)據(jù)庫(kù)的核對(duì)確認(rèn)用戶提供的密碼是否正確。最后,假設(shè)密碼是正確的,那么數(shù)據(jù)庫(kù)認(rèn)為身份識(shí)別信息是可信賴(lài)的。此時(shí),數(shù)據(jù)庫(kù)將會(huì)在基于身份識(shí)別信息的基礎(chǔ)上確定用戶所擁有的權(quán)限,即用戶可以對(duì)數(shù)據(jù)庫(kù)執(zhí)行什么操作。因此,為了確保數(shù)據(jù)庫(kù)的安全,首要的問(wèn)題就是對(duì)用戶進(jìn)行管理。
這里所有的用戶并不是數(shù)據(jù)庫(kù)的操作人員,而是在數(shù)據(jù)庫(kù)中定義的一個(gè)名稱(chēng),更準(zhǔn)確地說(shuō)它是賬戶,只是習(xí)慣上稱(chēng)其為用戶,它是Oracle數(shù)據(jù)庫(kù)的基本訪問(wèn)控制機(jī)制,當(dāng)連接到Oracle數(shù)據(jù)庫(kù)時(shí),操作人員必須提供正確的用戶名和密碼。
連接到數(shù)據(jù)庫(kù)的用戶所具有的權(quán)限是不同的,Oracle提供了一些特權(quán)用戶,比如,SYSDBA或SYSOPER,這類(lèi)用戶主要用于執(zhí)行數(shù)據(jù)庫(kù)的維護(hù)操作,如啟動(dòng)數(shù)據(jù)庫(kù)、關(guān)閉數(shù)據(jù)庫(kù)、建立數(shù)據(jù)庫(kù),以及執(zhí)行備份和恢復(fù)等操作。SYSDBA和SYSOPER的區(qū)別在于:SYSDBA不僅具備SYSOPER的所有權(quán)限,而且還可以建立數(shù)據(jù)庫(kù),執(zhí)行不完全恢復(fù)。在Oracle 11g中,Oracle提供了默認(rèn)的特權(quán)用戶SYS,當(dāng)以特權(quán)用戶身份登錄數(shù)據(jù)庫(kù)時(shí),必須帶有AS SYSDBA或AS SYSOPER選項(xiàng)。例如;

SQL> connect system/1qaz2wsx as sysdba;已連接。
  • 1
  • 2

與用戶密切關(guān)系的另一個(gè)概念是模式,模式也稱(chēng)作方案(Schema)。模式或方案實(shí)際上是用戶所擁有的數(shù)據(jù)庫(kù)對(duì)象的集合。在Oracle數(shù)據(jù)庫(kù)中,對(duì)象是以用戶來(lái)組織的,用戶與模式是一一對(duì)應(yīng)的關(guān)系,并且兩者名稱(chēng)相同。
SCOTT用戶擁有的所有對(duì)象都屬于SCOTT模式,而HR用戶擁有的所有對(duì)象都屬于HR模式。


當(dāng)訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象時(shí),需要注意如下一些事項(xiàng):

  • 在同一個(gè)模式中不能存在同名對(duì)象,但是不同模式中的對(duì)象名稱(chēng)則可以相同。
  • 用戶可以直接訪問(wèn)其它模式對(duì)象,但如果要訪問(wèn)其它模式對(duì)象,則必須具有該對(duì)象的相應(yīng)訪問(wèn)權(quán)限。例如,用戶SCOTT可以直接查看其模式中的EMP表,但如果用戶HR要查看SCOTT模式中的EMP表時(shí),則必須在EMP表上具有SELECT操作的權(quán)限。
  • 當(dāng)用戶要訪問(wèn)其它模式對(duì)象時(shí),必須附加模式名作為前綴。

創(chuàng)建與管理用戶

Oracle為用戶賬戶提供了三種身份驗(yàn)證方法。
密碼驗(yàn)證 當(dāng)一個(gè)使用密碼驗(yàn)證機(jī)制的用戶視圖連接到數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)會(huì)核實(shí)用戶名是否是一個(gè)有效的數(shù)據(jù)庫(kù)賬戶,并且提供與該用戶在數(shù)據(jù)庫(kù)中存儲(chǔ)的密碼相匹配的密碼。由于用戶信息和密碼都存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)部,所以使用密碼驗(yàn)證用戶也稱(chēng)為數(shù)據(jù)庫(kù)驗(yàn)證用戶。
外部驗(yàn)證外部驗(yàn)證是指當(dāng)用戶試圖連接到數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)會(huì)核實(shí)用戶名是否是一個(gè)有效的數(shù)據(jù)庫(kù)賬戶,并且確認(rèn)該用戶已經(jīng)完成了操作系統(tǒng)級(jí)別的身份驗(yàn)證。
注意:外部驗(yàn)證用戶并不在數(shù)據(jù)庫(kù)中存儲(chǔ)一個(gè)驗(yàn)證密碼。
全局驗(yàn)證全局驗(yàn)證是指用戶不在數(shù)據(jù)庫(kù)中存儲(chǔ)驗(yàn)證密碼,而是通過(guò)一種高級(jí)安全選項(xiàng)所提供的身份驗(yàn)證服務(wù)來(lái)進(jìn)行的。
在上述的三種驗(yàn)證方式中,密碼驗(yàn)證是最常使用的驗(yàn)證方法。

創(chuàng)建用戶

要?jiǎng)?chuàng)建一個(gè)新的用戶,可采用CREATE USER命令。其語(yǔ)法格式如下:

create user user_name identified by pass_word[or identified exeternally][or identified globally as ‘CN=user’][default tablespace tablespace_default][temporary tablespace tablespace_temp][quota [integer k[m]] [unlimited] ] on tablesapce_ specify1[,quota [integer k[m]] [unlimited] ] on tablesapce_ specify2[,…]…on tablespace_specifyn[profiles profile_name][account lock or account unlock]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

參數(shù)說(shuō)明如下:

  • user_name:用戶名,一般為字母數(shù)字型和“#”及“_”符號(hào)。
  • pass_word:用戶口令,一般為字母數(shù)字型和“#”及“_”符號(hào)。
  • identified exeternally:表示用戶名在操作系統(tǒng)下驗(yàn)證,這種情況下要求該用戶必須與操作系統(tǒng)中所定義的用戶名相同。
  • identified globally as ‘CN=user’:表示用戶名由Oracle安全域中心服務(wù)器驗(yàn)證,CN名字表使用戶的外部名。
  • [default tablespace tablespace_default]:表示該用戶在創(chuàng)建數(shù)據(jù)對(duì)象時(shí)使用的默認(rèn)表空間
  • [temporary tablespace tablespace_temp]:表示該用戶所使用的臨時(shí)表空間。
  • [quota [integer K[M]] [unlimited]] on
    tablespace_specify1:表示該用戶在指定表空間中允許占用的最大空間。
  • [profiles profile_name]:資源文件的名稱(chēng)。
  • [account lock or account unlock]:用戶是否被加鎖,默認(rèn)情況下是不加鎖的。
    (1)創(chuàng)建用戶,并指定默認(rèn)表空間和臨時(shí)表空間。
----創(chuàng)建一個(gè)mr用戶,口令為mrsoft,并設(shè)置默認(rèn)的表空間為users,臨時(shí)表空間為temp的用戶SQL> create user mr identified by mrsoft  2  default tablespace users  3  temporary tablespace temp;
  • 1
  • 2
  • 3
  • 4

(2)創(chuàng)建用戶,并配置其在指定表空間上的磁盤(pán)限額。有時(shí),為了避免用戶在創(chuàng)建表和索引對(duì)象時(shí)占用過(guò)多的空間,可以配置用戶在表空間上的磁盤(pán)限額。在創(chuàng)建用戶時(shí),可通過(guò)QUOTA xxxM ON tablespace_ specify子句配置指定表空間的最大可用限額,下面來(lái)看一個(gè)例子。

----創(chuàng)建一個(gè)用戶east,口令為mrsoft,默認(rèn)表空間為users,臨時(shí)表空間為temp的用戶,并指定該用戶在tbsp_1表空間上最多可使用的大小為10mSQL> create user east identified by mrsoft  2  default tablespace users  3  temporary tablespace temp  4  quota 10m on tbsp_1;
  • 1
  • 2
  • 3
  • 4
  • 5

說(shuō)明:如果要禁止用戶使用某個(gè)表空間,則可以通過(guò)quota關(guān)鍵字設(shè)置該表空間的使用限額為0。
(3)創(chuàng)建用戶,并配置其在指定表空間上不受限制,如果要設(shè)置用戶在指定表空間上不受限制,可以使用QUOTA UNLIMITED ON tablespace_ specify子句。

----創(chuàng)建一個(gè)用戶名為df,口令為mrsoft,臨時(shí)表空間為temp,默認(rèn)表空間為tbsp_1,并且該用戶使用tbsp_1表空間不受限制SQL> create user df identified by mrsoft  2  default tablespace tbsp_1  3  temporary tablespace temp  4  quota unlimited on tbsp_1;
  • 1
  • 2
  • 3
  • 4
  • 5

在創(chuàng)建完用戶之后,需要注意以下幾點(diǎn):
- 如果建立用戶時(shí)不指定DEFAULT TABLESPACE子句,Oracle會(huì)將SYSTEM表空間作為用戶默認(rèn)表空間。
- 如果建立用戶時(shí)不能指定TEMPORARY TABLESPACE子句,Oracle會(huì)將數(shù)據(jù)庫(kù)默認(rèn)臨時(shí)表空間作為用戶的臨時(shí)表空間。
- 初始建立的用戶沒(méi)有任何權(quán)限,所以為了是用戶可以連接到數(shù)據(jù)庫(kù),必須授權(quán)其CREATE SESSION權(quán)限
- 如果建立用戶時(shí)沒(méi)有為表空間指定QUOTA子句,那么用戶在特定表空間上的配額為0,用戶將不能在相應(yīng)的表空間上建立數(shù)據(jù)對(duì)象。
- 初始建立的用戶沒(méi)有任何權(quán)限,不能執(zhí)行任何數(shù)據(jù)庫(kù)操作。

修改用戶

用戶創(chuàng)建完后,管理員可以對(duì)用戶進(jìn)行修改,包括修改用戶口令,改變用戶默認(rèn)表空間、臨時(shí)表空間、磁盤(pán)配額及資源限制等。修改用戶的語(yǔ)法與創(chuàng)建的用戶的語(yǔ)法基本相似,只是把創(chuàng)建用戶語(yǔ)法中的“CREATE”關(guān)鍵字替換成“ALTER”罷了。
修改用戶的磁盤(pán)限額
如果DBA在創(chuàng)建用戶時(shí),指定了用戶在某個(gè)表空間的磁盤(pán)限額,那么經(jīng)過(guò)一段時(shí)間,該用戶使用該表空間已經(jīng)達(dá)到了DBA所設(shè)置的磁盤(pán)限額時(shí),Oracle系統(tǒng)就會(huì)顯示如圖13-2所示的錯(cuò)誤提示。


表示該用戶使用的資源已經(jīng)超出了限額,DBA需要為該用戶適當(dāng)增加資源。

 ----修改用戶east在表空間上的磁盤(pán)限額為20m(原始為10m,先增加10m)。SQL> alter user east quota 20m on tbsp_1;
  • 1
  • 2

修改用戶的口令
用戶的口令在使用一段時(shí)間之后,根據(jù)系統(tǒng)安全的需要或在PROFILE文件中(資源配置文件)設(shè)置的規(guī)定,用戶必須要修改口令。

----修改用戶east的新口令為123456(原始為mrsoft)。SQL> alter user east identified by 123456;
  • 1
  • 2

解鎖被鎖住的用戶
Oracle默認(rèn)安裝完成后,為了安全起見(jiàn),很多用戶處于LOCKED狀態(tài),DBA可以對(duì)LOCKED狀態(tài)的用戶解除鎖定。

----使用alter user命令解除被鎖定的賬戶SH。SQL> alter user SH account unlock;
  • 1
  • 2

刪除用戶

刪除用戶通過(guò)DROP USER語(yǔ)句完成的,刪除用戶后,Oracle會(huì)從數(shù)據(jù)字典中刪除用戶、方案及其所有對(duì)象方案,語(yǔ)法如下:

drop user user_name[cascade]
  • 1

參數(shù)說(shuō)明如下:

  • user_name:要?jiǎng)h除的用戶名。
  • cascade:級(jí)聯(lián)刪除選項(xiàng),如果用戶包含數(shù)據(jù)庫(kù)對(duì)象,則必須加
    CASCADE選項(xiàng),此時(shí)連同該用戶所擁有的對(duì)象一起刪除。
----使用drop user語(yǔ)句刪除用戶df,并連同該用戶所擁有的對(duì)象一起刪除。SQL> drop user df cascade;
  • 1
  • 2

用戶權(quán)限管理

權(quán)限簡(jiǎn)介

根據(jù)系統(tǒng)管理方式的不同,在Oracle數(shù)據(jù)庫(kù)中將權(quán)限分為兩大類(lèi):系統(tǒng)權(quán)限和對(duì)象向權(quán)限。
系統(tǒng)權(quán)限是在系統(tǒng)級(jí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取和使用的機(jī)制,比如,用戶是否能夠連接到數(shù)據(jù)庫(kù)系統(tǒng)(SESSION權(quán)限),執(zhí)行系統(tǒng)級(jí)的DDL語(yǔ)句(如CREAT、ALTER、和DROP)等。
對(duì)象權(quán)限是指某一個(gè)用戶對(duì)其他用戶的表、視圖、序列、存儲(chǔ)過(guò)程、函數(shù)、包等的操作權(quán)限。不同類(lèi)型的對(duì)象具有不同的對(duì)象權(quán)限,對(duì)于某些模式對(duì)象,比如簇、索引、觸發(fā)器、數(shù)據(jù)庫(kù)鏈接等沒(méi)有相應(yīng)的實(shí)體權(quán)限,這些權(quán)限由系統(tǒng)權(quán)限進(jìn)行管理。

授權(quán)操作

在Oracle 11g中含有200多種系統(tǒng)特權(quán),并且所有這些系統(tǒng)特權(quán)均被列舉在SYSTEM_PRIVILEGE_MAP數(shù)據(jù)目錄視圖中。授權(quán)操作使用GRANT命令,其語(yǔ)法格式如下:

grant sys_privi | role to user | role | public [with admin option]
  • 1

參數(shù)說(shuō)明如下:

  • sys_privi:表示Oracle系統(tǒng)權(quán)限,系統(tǒng)權(quán)限是一組約定的保留字。比如,若能夠創(chuàng)建表,則為“CREATE TABLE”。
  • role:角色,關(guān)于角色會(huì)在后面小節(jié)中介紹。
  • user:具體的用戶名,或者是一些列的用戶名。
  • public:保留字,代表Oracle系統(tǒng)的所有用戶。
  • with admin option:表示被授權(quán)者可以再將權(quán)限授予另外的用戶。
    —-為用戶east授予連接和開(kāi)發(fā)系統(tǒng)權(quán)限,并嘗試使用east連接數(shù)據(jù)庫(kù)。
SQL> connect system/1qaz2wsx已連接。SQL> grant connect,resource to east;授權(quán)成功。 SQL> connect east/123456;已連接。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在上面的代碼中,使用east連接數(shù)據(jù)庫(kù)后,Oracle顯示“已連接”,這說(shuō)明給east授予“connect”的權(quán)限是成功的。另外,如果想要east將這兩個(gè)權(quán)限可以傳遞給其他的用戶,則需要在grant語(yǔ)句中使用“with admin option”關(guān)鍵字。

 ----在創(chuàng)建用戶dongfang和xifang后,首先system將創(chuàng)建session和創(chuàng)建-table的權(quán)限授權(quán)給dongfang,然后dongfang再將這兩個(gè)權(quán)限傳遞給xifang,最后通過(guò)xifang這個(gè)用戶創(chuàng)建一個(gè)數(shù)據(jù)表SQL> create user dongfang identified by mrsoft  2  default tablespace users  3  quota 10m on users; 用戶已創(chuàng)建。 SQL> create user xifang identified by mrsoft  2  default tablespace users  3  quota 10m on users; 用戶已創(chuàng)建。 SQL> grant create session,create table to dongfang with admin option; 授權(quán)成功。 SQL> connect dongfang/mrsoft;已連接。SQL> grant create session,create table to xifang; 授權(quán)成功。 SQL> connect xifang/mrsoft;已連接。SQL> create table tb_xifang  2  ( id number,  3    name varchar2(20)  4  ); 表已創(chuàng)建。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

回收系統(tǒng)權(quán)限

一般用戶若被授予過(guò)高的權(quán)限就可能給Oracle系統(tǒng)帶來(lái)安全隱患。作為Oracle系統(tǒng)的管理員,應(yīng)該能夠查詢(xún)當(dāng)前Oracle系統(tǒng)各個(gè)用戶的權(quán)限,并且能夠使用REVOKE命令撤銷(xiāo)用戶的某些不要的系統(tǒng)權(quán)限,REVOKE命令的語(yǔ)法格式如下:

revoke sys_privi | role from user | role | public
  • 1

參數(shù)說(shuō)明如下:

  • sys_privi:系統(tǒng)權(quán)限或角色;
  • role:角色;
  • user:具體的用戶名;
  • public:保留字,代表Oracle系統(tǒng)所有的用戶;

—- 撤銷(xiāo)east用戶的resource系統(tǒng)權(quán)限,代碼及運(yùn)行結(jié)果如下。

SQL> connect system/1qaz2wsx;已連接。SQL> revoke resource from east;撤銷(xiāo)成功。
  • 1
  • 2
  • 3
  • 4

如果數(shù)據(jù)庫(kù)管理員用GRANT命令給用戶A授予系統(tǒng)權(quán)限是帶有WITH ADMIN OPTION選項(xiàng),則該用戶A有權(quán)將系統(tǒng)權(quán)限再次授予另外的用戶B。在這種情況下,如果數(shù)據(jù)庫(kù)管理員使用REVOKE命令撤銷(xiāo)A用戶的系統(tǒng)權(quán)限,則用戶B的系統(tǒng)權(quán)限仍然有效。
首先撤銷(xiāo)用戶dongfang的create table權(quán)限,然后嘗試是否還可以通過(guò)用戶xifang創(chuàng)建數(shù)據(jù)表(注:是dongfang將create table權(quán)限傳遞給xifang),代碼及運(yùn)行結(jié)果如下。

SQL> revoke create table from dongfang;撤銷(xiāo)成功。SQL> connect xifang/mrsoft;已連接。SQL> create table tb_xifang_2  2  ( id number,  3   name varchar2(10)  4  );表已創(chuàng)建。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

對(duì)象授權(quán)

與將系統(tǒng)權(quán)限授予用戶基本相同,授予對(duì)象權(quán)限給用戶或角色也使用GRANT命令,其語(yǔ)法格式如下:

Grant obj_privi | all column on schema.object to user | role | public [with grant option] | [with hierarchy option]
  • 1

參數(shù)說(shuō)明如下:

  • obj_privi:表示對(duì)象的權(quán)限,可以是ALTER、EXECUTE、SELECT、UPDATE和INSERT等;
  • role:角色名;
  • user:被授權(quán)的用戶名;
  • with admin option:表示被授權(quán)者可再將系統(tǒng)權(quán)限授予其他的用戶;
  • with hierarchy option:在對(duì)象的子對(duì)象(在視圖上再建立視圖)上授權(quán)給用戶。
----給用戶xifang授予select、insert、delete和update表soctt.emp的權(quán)限。SQL> grant select,insert,delete,update on scott.emp to xifang;授權(quán)成功。
  • 1
  • 2
  • 3

回收對(duì)象權(quán)限

要從用戶或角色中撤銷(xiāo)對(duì)象權(quán)限,仍然要使用REVOKE命令,其語(yǔ)法格式如下:

revoke obj_privi | all on schema.object from user | role | public cascade constraints
  • 1

參數(shù)說(shuō)明如下:

  • obj_privi:表示對(duì)象的權(quán)限。
  • public:保留字,代表Oracle系統(tǒng)的所有權(quán)限。
  • cascade ascade constraints:表示有關(guān)聯(lián)關(guān)系的權(quán)限也被撤銷(xiāo)。
----從xifang用戶撤銷(xiāo)scott.emp表的update和delete權(quán)限。SQL> connect system/1qaz2wsx;已連接。SQL> revoke delete,update on scott.emp from xifang;撤銷(xiāo)成功。
  • 1
  • 2
  • 3
  • 4
  • 5

說(shuō)明:如果數(shù)據(jù)庫(kù)管理員GRANT命令給用戶A授予對(duì)象權(quán)限時(shí)帶有WITH ADMIN OPTION選項(xiàng),則該用戶A有權(quán)將權(quán)限再次授予另外的用戶B。在這種情況下,如果數(shù)據(jù)庫(kù)管理員用REVOKE命令撤銷(xiāo)A用戶的對(duì)象權(quán)限時(shí),用戶B的對(duì)象權(quán)限也被撤銷(xiāo)。由此可見(jiàn),在進(jìn)行系統(tǒng)權(quán)限回收和進(jìn)行對(duì)象權(quán)限回收時(shí),效果是不同的。

查詢(xún)用戶與權(quán)限

用戶被授予的系統(tǒng)權(quán)限或?qū)ο髾?quán)限都被記錄在Oracle的數(shù)據(jù)字典里,了解某個(gè)用戶被授予哪些系統(tǒng)權(quán)限和對(duì)象權(quán)限是確保應(yīng)用系統(tǒng)安全的重要工作。表是Oracle 11g用于存放用戶、系統(tǒng)權(quán)限、對(duì)象權(quán)限有關(guān)的數(shù)據(jù)字典。

角色管理

角色簡(jiǎn)介

角色是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)實(shí)體,它包括一組權(quán)限。也就是說(shuō),角色是包括一個(gè)或者多個(gè)權(quán)限的集合,它并不被哪個(gè)用戶所擁有。角色可以被授予任何用戶,也可以從用戶中將角色收回。
使用角色可以簡(jiǎn)化權(quán)限的管理,可以?xún)H用一條語(yǔ)句就能從用戶那里授予或回收權(quán)限,而不必對(duì)用戶一一授權(quán)。使用角色還可以實(shí)現(xiàn)權(quán)限的動(dòng)態(tài)管理,比如,隨著應(yīng)用的變化可以增加或者減少角色的權(quán)限,這樣通過(guò)改變角色的權(quán)限,就實(shí)現(xiàn)了改變多個(gè)用戶的權(quán)限。
角色、用戶及權(quán)限是一組關(guān)系密切的對(duì)象,既然角色是一組權(quán)限的集合,那么,它只有被授予某個(gè)用戶才能有意義,可以用如圖所示的圖形來(lái)幫助我們理解角色、用戶及權(quán)限的關(guān)系。

作為Oracle的數(shù)據(jù)庫(kù)管理員,在創(chuàng)建和管理用戶時(shí),必須理解Oracle的權(quán)限與角色的關(guān)系。在復(fù)雜的大型應(yīng)用系統(tǒng)中,要求對(duì)應(yīng)用系統(tǒng)功能進(jìn)行分類(lèi),從而形成角色的雛形,再使用CREATE ROLE語(yǔ)句將其創(chuàng)建成為角色;最后根據(jù)用戶工作的分工,將不同的角色(包括系統(tǒng)預(yù)定義的角色)授予各類(lèi)用戶。如果應(yīng)用系統(tǒng)的規(guī)模很小,用戶數(shù)也不多,則可以直接將應(yīng)用的權(quán)限授予用戶,即使是這樣,用戶也必須對(duì)Oracle系統(tǒng)的預(yù)定義角色有所了解,因?yàn)橐粋€(gè)用戶至少被授予一個(gè)以上的預(yù)定義角色時(shí)才能使用ORACLE系統(tǒng)資源。
另外,在創(chuàng)建角色時(shí),可以為角色設(shè)置應(yīng)用安全性。角色的安全性通過(guò)為角色設(shè)置口令進(jìn)行保護(hù),必須提供正確的口令才允許修改或設(shè)置角色。

預(yù)定義角色

所謂系統(tǒng)預(yù)定義角色是指在數(shù)據(jù)庫(kù)安裝完成后由系統(tǒng)自動(dòng)創(chuàng)建的一些常用角色,這些角色已經(jīng)由系統(tǒng)授予了相應(yīng)的系統(tǒng)權(quán)限,可以由數(shù)據(jù)庫(kù)管理員直接使用。一旦將這些角色授予用戶以后,用戶便具有了角色中所包含的系統(tǒng)權(quán)限。下面列出的這幾個(gè)系統(tǒng)預(yù)定義角色是最常被用到的。

  • CONNECT;
  • RESOURCE;
  • DBA;
  • EXP_FULL_DATABASE;
  • IMP_FULL_DATABASE。

    角色CONNECT,RESOURCE及DBA主要用于數(shù)據(jù)庫(kù)管理,這3個(gè)角色之間相互沒(méi)有包含關(guān)系(有些系統(tǒng)權(quán)限可能有重疊)。數(shù)據(jù)庫(kù)管理員需要分別授予CONNECT,RESOURCE和DBA角色。對(duì)于一般的數(shù)據(jù)庫(kù)開(kāi)發(fā)人員,則需要授予CONNECT,RESOURCE角色。
    角色I(xiàn)MP_FULL_DATABASE和EXP_FULL_DATABASE分別用于操作數(shù)據(jù)庫(kù)的導(dǎo)入或?qū)С龉ぞ?,如,操作?shù)據(jù)庫(kù)工具EXPDP,IMPDP,或者系統(tǒng)的EXP,IMP。在使用這些工具進(jìn)行整個(gè)數(shù)據(jù)庫(kù)的到導(dǎo)出與導(dǎo)入工作時(shí),需要具備這兩個(gè)角色。

不同版本的Oracle預(yù)定義的角色不一樣多,但都可以從DBA_ROLES數(shù)據(jù)字典中查詢(xún)到,下面通過(guò)該數(shù)據(jù)字典來(lái)看一下Oracle 11g的預(yù)定義系統(tǒng)角色有哪些。

----使用select語(yǔ)句查詢(xún)dba_roles數(shù)據(jù)字典中的角色信息。SQL> set pagesize 50;SQL> select * from dba_roles;
  • 1
  • 2
  • 3

創(chuàng)建角色與授權(quán)

如果系統(tǒng)預(yù)定義的角色不符合用戶需要,那么,數(shù)據(jù)庫(kù)管理員可以創(chuàng)建更多的角色,創(chuàng)建用戶自定義角色可以使用CREATE ROLE語(yǔ)句來(lái)實(shí)現(xiàn),其語(yǔ)法格式如下:

create role role_name [ not identified | identified by [password] | [exeternally] | [globally]]
  • 1

參數(shù)說(shuō)明如下:

  • role_name:角色名;
  • identified by password:角色口令;
  • identified by exeternally:表示角色名在操作系統(tǒng)下驗(yàn)證;
  • identified globally:表示用戶是Oracle安全域中心服務(wù)器來(lái)驗(yàn)證,此角色由全局用戶來(lái)使用。
----創(chuàng)建一個(gè)名為designer的角色,該角色的口令為123456。SQL> connect system/1qaz2wsx;已連接。SQL> create role designer identified by 123456;
  • 1
  • 2
  • 3
  • 4

一旦角色創(chuàng)建完成,就可以對(duì)角色進(jìn)行授權(quán),給角色授權(quán)也是使用GRANT…TO語(yǔ)句來(lái)實(shí)現(xiàn)的。如果系統(tǒng)管理員具有GRANT_ANY_PRVILEGE權(quán)限,就可以對(duì)某個(gè)角色進(jìn)行授權(quán)。比如,授權(quán)CREATE SESSION,CREATE SYNONYM,CREATE VIEW等。

----給designer角色授予create view和create table權(quán)限。SQL> grant create view,create table to designer;
  • 1
  • 2

在角色獲得了權(quán)限之后,就可以把這個(gè)有使用價(jià)值的角色授予給某個(gè)用戶了。把角色授予給某個(gè)用戶仍然使用GRANT…TO語(yǔ)句來(lái)實(shí)現(xiàn)。

 ----把designer角色授權(quán)給用戶dongfang,代碼及運(yùn)行結(jié)果如下。SQL> grant designer to dongfang;
  • 1
  • 2

管理角色

在學(xué)習(xí)過(guò)管理用戶(包括創(chuàng)建、修改、刪除等操作)之后,再學(xué)習(xí)如何管理角色就相對(duì)簡(jiǎn)單多了,因?yàn)檫@二者之間有很多相似之處,這里僅通過(guò)一些簡(jiǎn)單實(shí)例來(lái)對(duì)角色的管理進(jìn)行說(shuō)明。
查看角色所包含的權(quán)限
查看角色權(quán)限通常使用ROLE_SYS_PRIVS數(shù)據(jù)字典,來(lái)看下面的例子。

----查詢(xún)角色designer被屬于的權(quán)限有哪些。SQL> select * from role_sys_privs where role = 'DESIGNER';
  • 1
  • 2

修改角色密碼
修改角色密碼包括取消角色密碼和修改角色密碼兩種情況,可以使用ALTER ROLE語(yǔ)句來(lái)實(shí)現(xiàn)。

 ----首先取消designer角色的密碼,然后再重新給該角色設(shè)置一個(gè)密碼。SQL> alter role designer not identified;角色已丟棄。SQL> alter role designer identified by mrsoft;角色已丟棄。
  • 1
  • 2
  • 3
  • 4
  • 5

設(shè)置當(dāng)前用戶要生效的角色
角色的生效是一個(gè)什么概念呢?假設(shè)用戶a有b1,b2,b3三個(gè)角色,那么,如果b1未生效,則b1所包含的權(quán)限對(duì)于a來(lái)講是不擁有的,只有角色生效了,角色內(nèi)的權(quán)限才作用于用戶,最大可生效角色數(shù)由參數(shù)MAX_ENABLED_ROLES設(shè)定;用戶登錄后,Oracle將所有直接賦值給用戶的權(quán)限和用戶默認(rèn)角色中的權(quán)限賦給用戶。設(shè)置角色生效可使用SET ROLE語(yǔ)句。
創(chuàng)建一個(gè)無(wú)需密碼驗(yàn)證的角色queryer,然后設(shè)置該角色生效,接下來(lái)再設(shè)置帶有密碼的角色designer也生效。

SQL> create role queryer;角色已創(chuàng)建。SQL> set role queryer;角色集SQL> set role designer identified by mrsoft;角色集
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

說(shuō)明:如果要設(shè)置帶有密碼的角色生效,則必須在SET ROLE語(yǔ)句后面使用“IDENTIFIED BY”關(guān)鍵字指定角色的密碼。
刪除角色
刪除角色很簡(jiǎn)單,使用DROP ROLE語(yǔ)句即可實(shí)現(xiàn),來(lái)看下面的例子。

----使用drop role語(yǔ)句刪除角色queryer。SQL> drop role queryer;角色已刪除。
  • 1
  • 2
  • 3

刪除角色后,原來(lái)?yè)碛性摻巧挠脩魧⒉辉贀碛性摻巧?,相?yīng)的權(quán)限也將失去。

角色與權(quán)限查詢(xún)

創(chuàng)建角色和用戶以后,給角色和用戶授予的權(quán)限被記錄在Oracle數(shù)據(jù)字典里,作為Oracle數(shù)據(jù)庫(kù)管理員,需要了解角色被授予了哪些權(quán)限及用戶被授予了哪些權(quán)限和角色,從而對(duì)這個(gè)數(shù)據(jù)庫(kù)的所有用戶進(jìn)行全面的管理,如表所示是Oracle 11g用于存放用戶、角色及權(quán)限的相關(guān)數(shù)據(jù)字典。

----查詢(xún)HR用戶被授予的系統(tǒng)角色。SQL> select granted_role,default_role from dba_role_privs  2  where grantee = 'HR';
  • 1
  • 2
  • 3

在某個(gè)模式下,如果用戶要確定當(dāng)前會(huì)話中的所有有效角色,可以通過(guò)SESSION_ROLE數(shù)據(jù)字典來(lái)查詢(xún)。

----在scott模式下,查詢(xún)當(dāng)前用戶的所有有效角色。SQL> connect scott/1qaz2wsx;已連接。SQL> select * from session_roles;
  • 1
  • 2
  • 3
  • 4

資源配置PROFILE

PROFILE簡(jiǎn)介

PROFILE作為用戶配置文件,它是密碼限制、資源限制的命名集合。PROFILE文件作為Oracle安全策略的重要組成部分,利用它可以對(duì)數(shù)據(jù)庫(kù)用戶進(jìn)行基本的資源限制,并且可以對(duì)用戶的密碼進(jìn)行管理。
在安裝數(shù)據(jù)庫(kù)時(shí),Oracle會(huì)自動(dòng)建立名為DEFAULT的默認(rèn)配置文件。如果沒(méi)有為新創(chuàng)建的用戶指定DEFAULT文件,Oracle將自動(dòng)為它指定DEFAULT配置文件。初始的DEFAULT文件沒(méi)有進(jìn)行任何密碼和資源限制。使用PROFILE文件時(shí)需要注意如下事項(xiàng)。

  • 建立用戶時(shí),如果不指定PROFILE選項(xiàng),Oracle會(huì)自動(dòng)將DEFAULT分配給相應(yīng)的數(shù)據(jù)庫(kù)用戶。
  • 建立PROFILE文件時(shí),如果只設(shè)置了部分密碼和資源限制選項(xiàng),其他選項(xiàng)會(huì)自動(dòng)使用默認(rèn)值,即使DEFAULT文件中有相應(yīng)選項(xiàng)的值。
  • 使用PROFILE管理密碼時(shí),密碼管理選項(xiàng)總是處于被激活狀態(tài),但是如果使用PROFILE管理資源,必須要激活資源限制。
  • 一個(gè)用戶只能分配一個(gè)PROFILE文件。如果要同時(shí)管理用戶的密碼和資源,那么在建立PROFILE時(shí)應(yīng)該同時(shí)指定密碼和資源選項(xiàng)。

使用PROFILE管理密碼

當(dāng)操作人員要連接到Oracle數(shù)據(jù)庫(kù)時(shí),需要提供用戶名和密碼。對(duì)于黑客或某些人而言,他們可能通過(guò)猜測(cè)或反復(fù)實(shí)驗(yàn)來(lái)破解密碼。為了加強(qiáng)密碼的安全性,可以使用PROFILE文件管理密碼。PROFILE文件提供了一些密碼管理選項(xiàng),他們提供了強(qiáng)大的密碼管理功能,從而確保密碼的安全。為 了實(shí)現(xiàn)密碼限制,必須首先建立PROFILE文件。建立PROFILE文件是使用CREATE PROFILE語(yǔ)句完成的, 一般情況下,該語(yǔ)句是由DBA執(zhí)行的,如果要以其他用戶身份建立PROFILE文件,則要求該用戶必須具有CREATE PROFILE系統(tǒng)權(quán)限。
使用PROFILE文件可以實(shí)現(xiàn)如下四種密碼管理:賬戶鎖定、密碼的過(guò)期時(shí)間、密碼歷史和密碼的復(fù)雜度。
1.賬戶鎖定
賬戶的鎖定策略是指用戶在連續(xù)輸入多少次錯(cuò)誤密碼后,Oracle會(huì)自動(dòng)鎖定用戶的賬戶,并且可以規(guī)定賬戶的鎖定時(shí)間。Oracle為鎖定賬戶提供了以下兩個(gè)參數(shù)。

  • FAILED_LOGIN_ATEMPTS 該參數(shù)限制用戶在登錄到Oracle數(shù)據(jù)庫(kù)時(shí)允許失敗的次數(shù)。一旦某個(gè)用戶嘗試登陸數(shù)據(jù)庫(kù)的次數(shù)達(dá)到該值,則系統(tǒng)將該用戶賬戶鎖定。
  • PASSWORD_LOCK_TIME 該參數(shù)用于指定賬戶被鎖定的天數(shù)。
---- 創(chuàng)建的profile文件,要求設(shè)置連續(xù)失敗次數(shù)為5,超過(guò)該次數(shù)后,賬戶將被鎖定7天,然后使用alter user語(yǔ)句將profile文件(即lock_account)分配給用戶dongfang。SQL> create profile lock_account limit  2  failed_login_attempts 5  3  password_lock_time 7;配置文件已創(chuàng)建SQL> alter user dongfang profile lock_account;用戶已更改。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在建立lock_account文件并將該文件分配給用戶dongfang后,如果以用戶dongfang身份連接到數(shù)據(jù)庫(kù),并且連續(xù)連接失敗5次后,Oracle將自動(dòng)鎖定該用戶賬戶。此時(shí),即使為用戶dongfang提供了正確的密碼,也無(wú)法連接到數(shù)據(jù)庫(kù)。
在建立lock_account文件時(shí),由于指定password_lock_time的參數(shù)為7,所以賬戶鎖定天數(shù)達(dá)到7天后,Oracle會(huì)自動(dòng)解鎖賬戶。
說(shuō)明:如果建立PROFILE文件時(shí)沒(méi)有提供該參數(shù),將自動(dòng)使用默認(rèn)值UNLIMITED,這種情況下,需要DBA手動(dòng)解鎖用戶賬戶。

2.密碼的過(guò)期時(shí)間
密碼的過(guò)期時(shí)間是指強(qiáng)制用戶定期修改自己的密碼,當(dāng)密碼過(guò)期后,Oracle會(huì)隨時(shí)提醒用戶修改密碼。密碼寬限期是指密碼到期之后的寬限使用時(shí)間。默認(rèn)情況下,建立用戶并為其提供密碼之后,密碼會(huì)一直生效。為了防止其他人員破解用戶賬戶的密碼,可以強(qiáng)制普通用戶定期改變密碼。為了將強(qiáng)制用戶定期修改密碼,Oracle提供了如下參數(shù)。

  • PASSWORD_LIFE_TIME 該參數(shù)用于設(shè)置用戶密碼的有效時(shí)間,單位為天數(shù)。超過(guò)這一段時(shí)間,用戶必須重新設(shè)置口令。
  • PASSWORD_GRACE_TIME 該參數(shù)用于設(shè)置口令失效的“寬限時(shí)間”。如果口令到達(dá)PASSWORD_LIFE_TIME設(shè)置的失效時(shí)間,設(shè)置寬限時(shí)間后,用戶仍然可以繼續(xù)使用一段時(shí)間。
----下面創(chuàng)建一個(gè)profile文件(即password_lift_time),并設(shè)置用戶的密碼有效期為30天,密碼寬限期為3天,然后使用alter user語(yǔ)句將profile文件(即password_lift_time)分配給用戶dongfang。SQL> create profile password_lift_time limit  2  password_life_time 30  3  password_grace_time 3;配置文件已創(chuàng)建SQL> alter user dongfang profile password_lift_time;用戶已更改。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

若果用戶在30天內(nèi)沒(méi)有修改密碼,那么在第31天、第32天、第33天連接時(shí),仍然會(huì)顯示類(lèi)似的警告信息。如果在33天內(nèi)仍然沒(méi)有修改密碼,那么當(dāng)?shù)?4天連接時(shí),Oracle會(huì)強(qiáng)制用戶修改密碼,否則不允許連接到數(shù)據(jù)庫(kù)。
3.密碼歷史
密碼歷史是用于控制賬戶密碼的可重復(fù)使用次數(shù)或可重用時(shí)間。使用密碼歷史參數(shù)后,Oracle會(huì)將密碼修改信息存放到數(shù)據(jù)字典中。這樣,當(dāng)修改密碼時(shí),Oracle會(huì)對(duì)新、舊密碼進(jìn)行比較,以確保用戶不會(huì)重用過(guò)去已經(jīng)用過(guò)的密碼。關(guān)于密碼歷史有如下兩個(gè)參數(shù)。

  • PASSWORD_REUSE_TIME 該參數(shù)指定密碼可重用的時(shí)間,單位為天。

  • PASSWORD_REUSE_MAX 該參數(shù)設(shè)置口令在能夠被重新使用之前,必須改變的次數(shù)。
    說(shuō)明:在使用密碼歷史選項(xiàng)時(shí),只能使用其中的一個(gè)參數(shù),并將另一個(gè)參數(shù)設(shè)置為UNLIMITED。
    4.密碼復(fù)雜度
    在PROFILE文件中,可以通過(guò)指定的函數(shù)來(lái)強(qiáng)制用戶的密碼必須具有一定的復(fù)雜度。例如,強(qiáng)制用戶的密碼不能與用戶名相同。使用校驗(yàn)函數(shù)驗(yàn)證用戶密碼的復(fù)雜度時(shí),只需要將這個(gè)函數(shù)的名稱(chēng)指定給PROFILE文件中的PASSWORD_VERIFY_FUNCTION參數(shù),Oracle就會(huì)自動(dòng)使用該函數(shù)對(duì)用戶的密碼和格式進(jìn)行驗(yàn)證。
    在Oracle 11g中,驗(yàn)證密碼復(fù)雜度功能有新的改進(jìn)。在$ORACLE_HOME/rdbms/admin目錄下創(chuàng)建了一個(gè)新的密碼驗(yàn)證文件UTLPWDMG.SQL,其中不僅提供了先前的驗(yàn)證函數(shù)VERIFY_FUNCTION,還提供了一個(gè)新建的VERIFY_FUNCTION_11G函數(shù)。

使用PROFILE管理資源

在大而復(fù)雜的多用戶數(shù)據(jù)庫(kù)環(huán)境中,因?yàn)橛脩舯姸?,所以系統(tǒng)資源可能會(huì)成為影響性能的主要瓶頸,為了有效地利用系統(tǒng)資源,應(yīng)該根據(jù)用戶所承擔(dān)任務(wù)的不同為其分配合理資源。PROFILE不僅可用于管理用戶密碼,還可以用于管理用戶資源。需要注意,如果是使用PROFILE管理資源,必須將RESOURCE_LIMIT參數(shù)設(shè)置為T(mén)RUE,以激活資源限制。由于該參數(shù)是動(dòng)態(tài)參數(shù),所以可以使用ALTER SYSTEM語(yǔ)句進(jìn)行修改。

----首先使用show命令查看RESOURCE_LIMIT參數(shù)的值,然后使用alter system命令修改該參數(shù)的值為true,從而激活資源限制。SQL> show parameter resource_limit;NAME                TYPE            VALUE--------------------        -----------         ------resource_limit          boolean         FALSESQL> alter system set resource_limit=true;系統(tǒng)已更改。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

利用PROFILE配置文件,可以對(duì)以下系統(tǒng)資源進(jìn)行限制:

  • CPU時(shí)間:為了防止無(wú)休止地使用CPU時(shí)間,限制用戶每次調(diào)用是使用的CPU時(shí)間以及在一次會(huì)話期間所使用的CPU時(shí)間。
  • 邏輯讀:為了防止過(guò)多使用系統(tǒng)的I/O操作,限制每次調(diào)用即會(huì)話時(shí)讀取的邏輯數(shù)據(jù)塊數(shù)目。
  • 用戶的并發(fā)會(huì)話數(shù)。
  • 會(huì)話空閑的限制:當(dāng)一個(gè)會(huì)話空閑的時(shí)間達(dá)到了限制值時(shí),當(dāng)前事務(wù)被回滾,會(huì)話被終止并且所占用的資源被釋放。
  • 會(huì)話可持續(xù)的時(shí)間:如果一個(gè)會(huì)話的總計(jì)連接時(shí)間達(dá)到了該限制值,當(dāng)前事務(wù)被回滾,會(huì)話被終止并釋放所占用的資源。
  • 會(huì)話所使用的SGA空間限制。

當(dāng)一個(gè)會(huì)話或SQL語(yǔ)句占用的資源超過(guò)PROFILE文件中的限制時(shí),Oracle將終止并回退當(dāng)前的事務(wù),然后向用戶返回錯(cuò)誤的信息,如果受到的限制是會(huì)話級(jí)的,在提交或回退事務(wù)后,用戶會(huì)話將被終止;而受到調(diào)用級(jí)限制時(shí),用戶會(huì)話還能夠繼續(xù)進(jìn)行,只是當(dāng)前執(zhí)行的SQL語(yǔ)句將被終止。下面是PROFILE文件中對(duì)各種資源限制的參數(shù)。

  • SESSION_PER_USER:用戶可以同時(shí)連接的會(huì)話數(shù)量。如果用戶的連接數(shù)達(dá)到該限制,則試圖登錄時(shí)將產(chǎn)生一條錯(cuò)誤信息。
  • CPU_PER_SESSION:限制用戶再一次數(shù)據(jù)庫(kù)會(huì)話期間可以使用的CPU時(shí)間,單位為百分之一秒。當(dāng)達(dá)到該時(shí)間值后,系統(tǒng)就會(huì)終止該會(huì)話。如果用戶還需要執(zhí)行操作,則必須重建立連接。
  • CUP_PER_CALL:該參數(shù)用戶限制每條SQL語(yǔ)句所能使用的CPU時(shí)間,參數(shù)值是一個(gè)整數(shù),單位百分之一秒。
  • LOGICAL_READS_PER_SESSION:限制每個(gè)會(huì)話所能讀取的數(shù)據(jù)塊數(shù)量,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從磁盤(pán)中讀取的數(shù)據(jù)塊。
  • CONNECT_TIME:限制每個(gè)用戶連接到數(shù)據(jù)庫(kù)的最長(zhǎng)時(shí)間,單位分鐘,當(dāng)連接時(shí)間超出該設(shè)置時(shí),該鏈接終止。
  • IDLE_TIME:該參數(shù)限制每個(gè)用戶會(huì)話連接到數(shù)據(jù)庫(kù)的最長(zhǎng)時(shí)間。超過(guò)該空閑時(shí)間的會(huì)話,系統(tǒng)會(huì)終止該會(huì)話。

維護(hù)PROFILE文件

在Oracle中,PROFILE文件也是一種數(shù)據(jù)資源。DBA也可以使用相應(yīng)的語(yǔ)句對(duì)其進(jìn)行管理,包括修改配置文件、刪除配置文件按、激活或禁用配置文件。
1.修改PROFILE文件
在創(chuàng)建PROFILE文件之后,還可以使用ALTER PROFILE語(yǔ)句修改其中的資源參數(shù)和密碼參數(shù),來(lái)看下面的例子。

----對(duì)password_lift_time文件(即PROFILE文件)的資源限制參數(shù)進(jìn)行修改。SQL> alter profile password_lift_time limit  2  cpu_per_session 20000  3  sessions_per_user 10  4  cpu_per_call 500  5  password_life_time 180  6  failed_login_attempts 10;配置文件已更改
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

說(shuō)明:對(duì)配置文件所做的修改只有在用戶開(kāi)始新的會(huì)話時(shí)才會(huì)生效

2.刪除PROFILE文件
使用DROP PROFILE語(yǔ)句可以刪除PROFILE文件。如果要?jiǎng)h除的配置文件已經(jīng)被指定給了用戶,則必須在DROP PROFILE語(yǔ)句中使用CASCADE關(guān)鍵字,來(lái)看下面的例子。

----刪除被分配給dongfang這個(gè)用戶的password_lift_time配置文件。SQL> drop profile password_lift_time cascade;配置文件已刪除。
  • 1
  • 2
  • 3

說(shuō)明:如果為用戶指定的配置文件被刪除,則Oracle將自動(dòng)為用戶重新指定DEFAULT配置文件

顯示PROFILE信息

在PROFILE文件被創(chuàng)建后,其信息被存儲(chǔ)在數(shù)據(jù)字典中。通過(guò)查詢(xún)這些數(shù)據(jù)字典,可以了解PROFILE文件的信息。
1.顯示用戶的資源配置信息
建立或修改用戶時(shí),可以為用戶分配PROFILE文件,如果沒(méi)有為用戶分配PROFILE文件,Oracle會(huì)自動(dòng)將DEFAULT分配給用戶。通過(guò)查詢(xún)數(shù)據(jù)字典視圖DBA_USERS,可以顯示用戶使用的PROFILE文件,下面來(lái)看一個(gè)例子。

----顯示用戶的DONGFANG所使用的PROFILE文件。SQL> select profile from dba_users where username='DONGFANG';PROFILE------------------------LOCK_ACCOUNT
  • 1
  • 2
  • 3
  • 4
  • 5

2.顯示指定PROFILE文件的資源配置信息
建立或修改PROFILE文件時(shí),Oracle將會(huì)PROFILE參數(shù)存放在數(shù)據(jù)字典中。通過(guò)查詢(xún)DBA_PROFILES,可以顯示PROFILE的密碼限制、資源限制信息,下面來(lái)看一個(gè)例子。

----顯示RESOURCE_LIMIT文件的密碼和資源限制信息。SQL> column limit for a20SQL> select resource_name,resource_type,limit  2  from dba_profiles3  where profile = 'LOCK_ACCOUNT';
  • 1
  • 2
  • 3
  • 4
  • 5
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
初學(xué)oracle,表的管理以及一些簡(jiǎn)單的命令
ORA-28001: the password has expired解決方法
Oracle11G密碼180天(默認(rèn)值)過(guò)期后的修改方法
Oracle users / 權(quán)限 / grant priv
Oracle 密碼丟失解決方法
oracle用戶被鎖和Oracle 11g存在密碼過(guò)期問(wèn)題的原因查找和解決方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服