Oracle 16使用者 角色和許可權

2021-06-26 14:43:34 字數 3139 閱讀 5356

一、使用者

1、利用sql建立使用者的語法格式如下:

create user user_name --使用者名稱*/

[identified by password | externally | globally as 'external_name'] --以何種方式驗證使用者,驗證方式有3種:口令、外部和全域性,

--口令表示利用建立使用者時提供的password進行驗證,外部表示利用第三方程式來驗證,如作業系統的登入密碼,全域性則指當有多個資料時,

--建立乙個全域性的使用者,其他資料庫都以這個使用者來驗證,只有使用口令的時候才需要關鍵字by*/

[default tablespace tablespace_name] --指定使用者的預設表空間*/

[temporary tablespace tablespace_name] --指定使用者的臨時表空間*/

[quota integer k | integer m | unlimited on tablespace_name] --在指定表空間能分配的最大空間*/

[profile profile_name] --指定概要檔案*/

[default role rolename,..n | all[except rolename,...n] | none] --指定使用者擁有的角色,default是將乙個或多個預設的

--角色分給使用者,all[except role]是把所有的角色或除某些角色以外的角色分給使用者,none表示不指定角色*/

[password expire] --表示使password失效,這將強制使用者在第一次登入資料庫時更換密碼*/

[account lock | unlock] --賬戶是否鎖定*/

示例**:

create user hello identified by world password expire;

2、利用sql修改使用者的語法格式如下:

alter user user_name

identified by password | externally | globally as 'external_name'

[default tablespace tablespace_name]

[temporary tablespace tablespace_name]

[quota integer k | integer m | unlimited on tablespace_name]

[profile profile_name]

[default role rolename | all[except rolename] | none]

[password expire]

[account lock | unlock]

示例**:

alter user hello identified by helloworld;

3、利用sql命令刪除使用者的語法格式如下:

drop user user_name [cascade]; --使用cascade會把使用者擁有的物件一起刪除*/

示例**:

drop user hello cascade;

二、角色

1、利用sql語句建立角色的語法格式如下:

create role role_name

[not identified]

[identified by password | externally | globally]

示例**:

create role hello;

2、利用sql語句修改角色的語法格式如下:

alter role role_name

[not identified]

[identified by password | externally | globally]

3、利用sql語句刪除角色的語法格式如下:

drop role role_name

三、許可權

許可權既可以授予單獨的使用者,也可以授予給角色。

1、使用grant進行授權

語法格式如下:

grant system_privilege | role_name to user_name | role_name [with admin option]; --把系統許可權或某個角色授予某一使用者或角色*/
說明:with admin option表示被授予許可權的使用者有許可權把該許可權授予其他使用者或角色。

示例**:

grant connect to hello;
對某些物件也可以單獨授予許可權,如表、檢視等,語法格式如下:

grant system_privilege on object to user_name | role_name; --對某個物件授予許可權*/
示例**:

grant select on table_name to hello; --授予使用者hello對錶table_name的select許可權*/

2、使用revoke進行許可權的移除

語法格式如下:

revoke system_privilege | role_name from user_name | role_name; --把系統許可權或某個角色從某一使用者或角色的許可權列表中移除*/
示例**:

revoke connect from hello;
對某些物件單獨授予的許可權,也可以使用revoke進行移除,語法格式如下:

revoke system_privilege on object from user_name | role_name; --把某一物件的系統許可權授予某一使用者或角色*/
示例**:

revoke select on table_name from hello; --移除使用者hello對錶table_name的select許可權*/

Oracle 16使用者 角色和許可權

一 使用者 1 利用sql建立使用者的語法格式如下 create user user name 使用者名稱 identified by password externally globally as external name 以何種方式驗證使用者,驗證方式有3種 口令 外部和全域性,口令表示利用建...

Oracle使用者許可權角色

skd和rh使用者的表都會保留,skd不能建立新錶,如a答案解析,但是rh使用者可以建立新錶。dba只是把skd的建立表許可權收回,oracle系統許可權不具有級聯收回的功能 sys test0910 grant mgrrole,drop any table,create any directory...

Oracle 許可權 使用者 角色

drop user ctq cascade 注意 cascade 先刪除使用者下的所有物件然後再刪除使用者 當前登入的使用者不能夠被刪除 登入 create session 建表許可權 create table 最高許可權 dba 1.建立使用者 create urser ctq identifie...