Oracle的使用者 角色 許可權

2021-08-25 04:29:26 字數 3953 閱讀 3383

oracle 使用者管理

一、建立使用者

sql> create user [u]username[/u] identified by [u]password[/u]

例: sql> create user zzh

identified by zzh // 如果密碼是數字,請用雙引號括起來

sql> grant connect, resource to zzh;

查詢使用者預設表空間、臨時表空間

sql> select username, default_tablespacefrom user_users;

檢視當前使用者角色:

sql>select * from user_role_privs;

檢視使用者當前系統許可權:

sql>select * from user_sys_privs;

檢視使用者下所有表:

sql>select * from user_tables;

查詢系統資源檔名:

sql> select * from dba_profiles;

資源檔案類似表,一旦建立就會儲存在資料庫中。

sql> select username, profile, default_tablespace, temporary_tablespace from dba_users;

sql> create profile common limit

failed_login_attempts 5

idle_time 5;

sql> alter user zzh profile common;

二、修改使用者:

sql> alter user 使用者名稱

identified 口令

1、修改口令字:

sql>alter user zzh identified by "12345";

2、修改使用者預設表空間:

sql> alter user zzh default tablespace users;

3、修改使用者臨時表空間

sql> alter user zzh temporary tablespace temp_data;

4、強制使用者修改口令字:

sql> alter user zzh password expire;

5、將使用者加鎖

sql> alter user zzh account lock; // 加鎖

sql> alter user zzh account unlock; // 解鎖

三、刪除使用者

sql>drop user 使用者名稱; //使用者沒有建任何實體

sql> drop user 使用者名稱 cascade; // 將使用者及其所建實體全部刪除

*1. 當前正連線的使用者不得刪除。

四、監視使用者:

1、查詢使用者會話資訊:

sql> select username, sid, serial#, machine from v$session;

2、刪除使用者會話資訊:

sql> alter system kill session 'sid, serial#';

3、查詢使用者sql語句:

sql> select user_name, sql_text from v$open_cursor;

oracle 角色管理

一、何為角色

角色。角色是一組許可權的集合,將角色賦給乙個使用者,這個使用者就擁有了這個角色中的所有許可權。

二、系統預定義角色

預定義角色是在資料庫安裝後,系統自動建立的一些常用的角色。下介簡單的介紹一下這些預定角色。角色所包含的許可權可以用以下語句查詢:

sql>select * from role_sys_privs where role='角色名';

1.connect, resource, dba

這些預定義角色主要是為了向後相容。其主要是用於資料庫管理。oracle建議使用者自己設計資料庫管理和安全的許可權規劃,而不要簡單的使用這些預定角色。將來的版本中這些角色可能不會作為預定義角色。

2.delete_catalog_role, execute_catalog_role, select_catalog_role

這些角色主要用於訪問資料字典檢視和包。

3.exp_full_database, imp_full_database

這兩個角色用於資料匯入匯出工具的使用。

4.aq_user_role, aq_administrator_role

aq:advanced query。這兩個角色用於oracle高階查詢功能。

5. snmpagent

用於oracle enterprise manager和intelligent agent

6.recovery_catalog_owner

用於建立擁有恢復庫的使用者。關於恢復庫的資訊,參考oracle文件《oracle9i user-managed backup and recovery guide》

7.hs_admin_role

三、管理角色

1.建乙個角色

sql>create role role1;

2.授權給角色

sql>grant create any table,create procedure to role1;

3.授予角色給使用者

sql>grant role1 to user1;

4.檢視角色所包含的許可權

sql>select * from role_sys_privs;

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

sql>create role role1 identified by password1;

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

sql>alter role role1 not identified;

sql>alter role role1 identified by password1;

7.設定當前使用者要生效的角色

(注:角色的生效是乙個什麼概念呢?假設使用者a有b1,b2,b3三個角色,那麼如果b1未生效,則b1所包含的許可權對於a來講是不擁有的,只有角色生效了,角色內的許可權才作用於使用者,最大可生效角色數由引數max_enabled_roles設定;在使用者登入後,oracle將所有直接賦給使用者的許可權和使用者預設角色中的許可權賦給使用者。)

sql>set role role1;//使role1生效

sql>set role role,role2;//使role1,role2生效

sql>set role role1 identified by password1;//使用帶有口令的role1生效

sql>set role all;//使用該使用者的所有角色生效

sql>set role none;//設定所有角色失效

sql>set role all except role1;//除role1外的該使用者的所有其它角色生效。

sql>select * from session_roles;//檢視當前使用者的生效的角色。

8.修改指定使用者,設定其預設角色

sql>alter user user1 default role role1;

sql>alter user user1 default role all except role1;

詳見oracle參考文件

9.刪除角色

sql>drop role role1;

角色刪除後,原來擁用該角色的使用者就不再擁有該角色了,相應的許可權也就沒有了。

說明:

1)無法使用with grant option為角色授予物件許可權

2)可以使用with admin option 為角色授予系統許可權,取消時不是級聯

*********************************************=

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...

oracle使用者管理(使用者 許可權 角色)

1.建立使用者 確定使用者需要將物件儲存在哪個表空間 決定每個表空間中該使用者的使用空間 指派預設表空間和臨時表空間 開始建立乙個使用者,賦予許可權和角色給使用者2.建立使用者的命令 create user 使用者名稱 identified by 使用者密碼 default tablespace 預...