ORACLE建立使用者 角色及許可權管理

2021-05-25 03:18:10 字數 2959 閱讀 6887

合理的使用者和許可權管理對於資料庫系統的高效、安全、可靠是很關鍵的。oracle在使用者及許可權管理上有許多新的概念和特性。

說明:對使用者及許可權的管理需要進入sql*plus互動工具。每乙個sql語句後要以分號「;」結束。退出互動工具命令為:quit

sql命令語句及可選項不區分大小寫,本文中出現大寫的地方是強調作用。

每個oracle資料庫都有許多合法使用者,這些使用者可以根據使用者名稱和口令登入資料庫,並使用sql語言訪問資料。

(1)      建立使用者

建立使用者命令格式

說 明create user 使用者名稱;

建立使用者的操作必須由dba來做,一般使用者無權建立使用者。使用者名稱必須是唯一的,即同一資料庫中不能有兩個相同的使用者。

identified by 口令;

為使用者設定口令

default tablespace 表空間名;

表示該使用者存放資料的預設表空間

temporary tablespace 表空間名;

表明使用者使用的預設臨時表空間名

quota 大小 on 表空間名;

quota 可以限制使用者在某個表空間上最多可使用多少位元組

profile 資源檔案;

profile 為使用者指定各種資源的使用

下面是乙個建立使用者的完整例子:

create user scott;

identified by tiger;

default tablespace data_ts;

temporary tablespace temp_ts;

quota 500k on data_ts;

profile newprofile;

(2)      修改使用者

對使用者的修改包括:口令字、預設表空間、臨時表空間、表空間限量、profile、預設角色。角色是oracle7的乙個新概念,我們在「許可權管理」裡再討論。在這裡可把角色看成具有某些許可權的乙個特殊使用者。修改使用者的預設角色也就是為使用者指明另乙個許可權的集合。下面舉例說明修改使用者的操作:

任   務

命   令

將scott的口令改為hello

alter user scott identified by hello;

將scott的預設表空間改為data2_ts

alter user scott default tablespace data2_ts;

將scott的臨時表空間修改為temp2_ts

alter user scott temporary tablespace temp2_ts;

將scott的資源檔案改為otherprofile

alter user scott profile otherprofile;

將scott的預設角色改為developer

alter user scott default role developer;

將當前系統所有角色都授予scott,除payroll外

alter user scott default role all except payroll;

(3)      刪除使用者

刪除使用者的命令為:

drop user 使用者名稱 [cascade];

若不使用cascade選項,則必須在該使用者的所有實體都刪除之後,才能刪除該使用者。使用cascade後,則不論使用者實體有多大,都一併刪除。

oracle的安全機制,是由系統許可權、實體許可權和角色許可權這**體系結構組成的。

許可權型別

說   明

系統許可權

是指對資料庫系統及資料結構的操作權,例如建立/刪除使用者、表、同義詞、索引等等

實體許可權

是指使用者對資料的操作權,如查詢、更新、插入、刪除、完整性約束等等

角色許可權

是把幾個相關的許可權組成角色,角色之間可以進一步組合而成為一棵層次樹,以對應於現實世界中的行政職位。角色許可權除了限制操作權、控制權外,還能限制執行某些應用程式的許可權。

這樣的安全控制體系,使得整個系統的管理人員及程式開發人員能控制系統命令的執行、資料的操作及應用程式的執行。

(1)      系統許可權

系統許可權的授予命令為grant,例如把建立任何表檢視的許可權授予scott使用者:

grant create any view to scott;

系統許可權的**命令為revoke,例如將create any view 許可權從scott使用者手中收回:

revoke create any view from scott;

(2)      實體許可權

每種型別的實體有與之相關的實體許可權。

授予實體許可權的命令舉例(將emp表上的select和insert許可權授給scott):

grant select,insert on emp to scott;

**實體許可權的命令舉例(將emp表上的select許可權從scott手中**):

revoke select on emp from scott;

(3)      管理角色

角色是許多許可權和角色的組合,它極大地方便了oracle的許可權管理。

建立角色,如建立乙個名為dept1的角色,口令字為hello:

create role dept1 identified by hello;

使用角色,可以通過修改使用者的預設角色來使用角色,或通過授權的方法來將角色授予其它角色或使用者。如將scott使用者的預設角色修改為developer:

alter user scott default role developer;

將角色dept1授予manager角色:

grant manager to scott;

使角色生效或失效,dba可以通過控制角色的生效或失效,來暫時**使用者的一部分許可權。如使dept1角色失效:

set role dept1 disable;

刪除角色,這將會影響到擁有該角色的使用者和其它角色的許可權。用drop role命令刪除角色,如:

drop role dept1;

oracle使用者許可權及角色

每個oracle使用者都有乙個名字和口令,並擁有一些由其建立的表 檢視和其他資源。oracle角色 role 就是一組許可權 privilege 或者是每個使用者根據其狀態和條件所需的訪問型別 使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。乙個使用者也可以直接給其他使用者授權。...

Oracle建立使用者 角色和許可權

我們來看看在我們學習過程中一般的使用者如何建立,分配何種角色和許可權。1 我們只需要對 資料庫 進行簡單的維護和開發操作,最好不要用sys或system使用者。最簡單的建立新使用者的命令 create user 使用者名稱 identified by 口令 2 一般現在分配給使用者以下許可權 1 c...

Oracle使用者 許可權及角色管理

1.oracle使用者 oracle使用者,既可以登入oracle資料庫,對資料庫進行增刪改查等操作的使用者。主要有四種使用者 超級管理員,如sys 普通管理員,如system 普通使用者,如scott 大資料使用者 1.1.建立使用者 語法 建立使用者 create user 使用者名稱 iden...