oracle使用者許可權 profile及角色的管理

2022-04-04 01:52:26 字數 4421 閱讀 4902

一。使用者的基本管理操作:

1.建立使用者同時指定密碼與預設表空間

create user test identified by test default tablespace users;

2。給使用者可以登入的系統許可權

grant connect to test;

3.**使用者的許可權

revoke connect from test;

4.刪除使用者

drop user test cascade;

5.修改使用者密碼

alter user test identified by newpasswd;

6.修改使用者預設表空間(注意如果在表空間上沒有配額,需要給使用者分配配額)

alter user test default tablespace t1;

sql> connect test/[email protected]/orcl

connected.

sql> create table tb1(id int);

create table tb1(id int)

* error at line 1:

ora-01950: no privileges on tablespace 't1'

給使用者在表空間t1上分配空間:

alter user test quota 10m on t1;

sql> connect test/[email protected]/orcl

connected.

sql> create table tb1(id int);

table created.

二.使用profile檔案實現使用者口令限制與資源限制;

proflie是口令限制,資源限制的命名集合.建立oracle資料庫時,oracle會自動建立名為default的profile,初始化的default沒有進行任何口令和資源限制.使用profile有以下一些主要事項.

a,建立profile時,如果只設定了部分口令或資源限制選項,其他選項會自動使用預設值(default的相應選項)

b,建立使用者時,如果不指定profile選項,oracle會自動將default分配給相應的資料庫使用者.

c,乙個使用者只能分配乙個profile.如果要同時管理使用者的口令和資源,那麼在建立profile時應該同時指定口令和資源選項.

d,使用profile管理口令時,口令管理選項總是處於被啟用狀態,但如果使用profile管理資源,必須要啟用資源限制.

1.檢視當前存在的profile檔案

select distinct profile from dba_profiles;

檢視指定profile檔案中各資源的限制情況:

select resource_name,limit from dba_profiles where profile='default';

2.修改現在profile檔案中資源選項:

alter profile default limit failed_login_attempts 1 password_lock_time 3;

3.建立乙個新的profile檔案:

create profile lock_accout limit failed_login_attempts 3 password_lock_time 10;

4.讓使用者使用新的profile檔案:

alter user test profile lock_accout;

5.檢視使用者當前使用的profile檔案

select username,profile from dba_users;

6.使用profile檔案限制使用者對資源的使用;

必須先啟用資源限制:

alter system set resource_limit=true scope=memory;

對資源限制做修改:

alter profile lock_accout limit cpu_per_session 5000;

7.刪除profile

drop profile lock-accout;

8.刪除profile並將使用當前profile的使用者profile改為default

drop profile lock_accout cascade;

9,以下列出所有profile相關引數內容以便於參考:

failed_login_attempts:用於指定聯絡登陸的最大失敗次數.

password_lock_time:用於指定帳戶被鎖定的天數.

password_life_time:用於指定口令有效期

password_grace_time:用於指定口令寬限期.

password_reuse_time:用於指定口令可重用時間.

password_reuse_max;用於指定在重用口令之前口令需要改變的次數.

password_verify_function;是否校驗口令(校驗將值改為verify_function)

cpu_per_session:用於指定每個會話可以占用的最大cpu時間.

logical_reads_per_sesson:用於指定會話的最大邏輯讀取次數.

private_sga:用於指定會話在共享池中可以分配的最大總計私有空間.需要注意,該選項只使用與共享伺服器模式.

composite_limit:用於指定會話的總計資源消耗(單位:服務單元).

cpu_per_call:限制每次呼叫(解析,執行或提取資料)可占用的最大cpu時間(單位:百分之一秒)

logical_reads_per_call:用於限制每次呼叫的最大邏輯i/o次數.

sessions_per_user:用於指定每個使用者的最大併發會話個數.

connect_time:用於指定會話的最大連線時間.

idle_time:用於指定會話的最大空閒時間.

三。角色的管理

1.將角色的許可權賦予使用者

grant dba,connect,resource to test;

--with admin option與with grant option可將系統或物件許可權授權的許可權給指定使用者或角色,給使用者賦系統許可權可選引數with admin option,**許可權後不會級聯**,給使用者賦物件許可權可選引數with grant option,加回許可權後會級聯**。

2.將角色的許可權從使用者處**

revoke dba,resource from test;

3.將建立會話的許可權賦給public角色,public是所有使用者的預設組,所有給public角色的許可權會賦予所有使用者

grant connect to public

sql> connect test/test

error:

ora-01045: user test lacks create session privilege; logon denied

warning: you are no longer connected to oracle.

sql> connect / as sysdba

connected.

sql> grant connect to public;

grant succeeded.

sql> connect test/test

connected.

4.建立自定義的角色

create role testrole;

5.給自定義角色賦權

grant create any table,create any view to testrole;

6.將自定義角色許可權給使用者後,角色許可權傳遞給使用者

grant testrole to test;

sql> create table t1(id int);

table created.

sql> create view v1 as select *from t1;

view created.

7.檢視使用者所屬的角色

select * from dba_role_privs where grantee='test'

檢視使用者所有的系統許可權

select * from dba_sys_privs where grantee='test'

檢視角色的系統許可權

select * from role_sys_privs where role='testrole'

檢視角色所屬的角色

select * from role_role_privs where role='testrole'

檢視使用者在表上的許可權

select * from dba_tab_privs where grantee='test'

檢視使用者的列許可權

select * from dba_col_privs where grantee='test'

8.刪除角色:

drop role testrole;

作者「天知道的技術部落格」

Oracle 使用者許可權

sys 系統管理員,擁有最高許可權 system 本地管理員,次高許可權 scott 普通使用者,密碼預設為tiger,預設未解鎖 sys 系統管理員,擁有最高許可權 system 本地管理員,次高許可權 scott 普通使用者,密碼預設為tiger,預設未解鎖 二 登陸 sqlplus as sy...

Oracle使用者許可權

系統許可權 1 使用grant語句向使用者賦予系統許可權 grant system privilege to user name with admin option 注 使用with admin option語句後,使使用者可以將相同許可權賦給其他使用者。2 使用revoke語句撤銷系統許可權 re...

ORACLE使用者許可權

sqlplus as sysdba 登陸sys帳戶 sql create user zhangsan sql alert user zhangsan identified by tiger sql grant connect,resource,dba to zhangsan 檢視許可權 select...