20150813Oracle學習筆記許可權與角色

2021-07-04 13:13:43 字數 2383 閱讀 5801

*oracle中的許可權劃分非常複雜,許可權分為系統許可權與使用者許可權,角色就是具有幾種許可權的集合體.角色分為預定義角色與自定義角色.

(1)預定義角色指把常用許可權集中起來形成角色,比如dba,connect,resource等角色.

(2) 可以操作表是指c(create)r(read)u(update)d(delete)(增刪改查)表.

(3)revoke 角色 from 使用者;(撤銷角色命令.)

(4)drop user 使用者名稱 (cascade);(刪除指定使用者,如果這個使用者自己建立過資料物件,那後面要加cascade一併刪除使用者的資料.如果還想要資料就凍結使用者而不是刪除.)

(5)當乙個使用者被建立且當這個使用者建立了任意乙個資料物件,這是dbms會建立乙個對應的方案(schema)與該使用者對應,並且該方案的名字與使用者名稱一致.乙個db例項包含多個賬戶與方案,每個賬戶建立的資料物件在自己對應的方案中,使用者

(6)給另乙個使用者檢視自己表的的許可權grant select(update|delete|insert|all) on 表名 to 使用者名稱;(用當前已被授權使用者查詢其他使用者表時要加上其他使用者名稱.表名.即select * from 方案名.表名;)

(7)1、with admin option系統許可權的傳遞

with admin option的意思是被授予該許可權的使用者有權將某個許可權(如create any table)授予其他使用者或角色,取消是不級聯的。

如授予a系統許可權create session with admin option,然後a又把create session許可權授予b,但管理員收回a的create session許可權時,b依然擁有create session的許可權。但管理員可以顯式收回b create session的許可權,即直接revoke create session from b.

2、with grant option使用者許可權的傳遞

with grant option的意思是:許可權賦予/取消是級聯的,如將with grant option用於物件授權時,被授予的使用者也可把此物件許可權授予其他使用者或角色,不同的是但管理員收回用with grant option授權的使用者物件許可權時,許可權會因傳播而失效,如grant select on table with grant option to a,a使用者把此許可權授予b,但管理員收回a的許可權時,b的許可權也會失效,但管理員不可以直接收回b的select on table 許可權。

(8)使用profile檔案對使用者口令進行管理.

語法create profile 檔名 limit failed_login_ attempts 3 password_lock_time 2;(建立檔案profile登入3次失敗後賬戶鎖定2天.)

alter user 使用者名稱 profile 檔名;(講profile檔案分配給指定賬戶.)

alter user 使用者名稱 account unlock;(將指定賬戶解鎖.)

(9)終止口令

可以限制使用者在一定時間內更換密碼create profile 檔名 limit password_life_time 天數 password_grace_time 緩解天數;

alter user 使用者名稱 profile 檔名;(講profile檔案分配給指定賬戶.)

(10)刪除profile命令

drop profile 檔名;

(11)oracle中普通使用者登入正常按照資料庫方式驗證,如果是特權使用者預設以作業系統方式驗證(需要當前系統使用者在ora_dba組下,也可以通過配置sqlnet.ora檔案改變驗證方式.),如果失敗再按照資料庫方式驗證,並且登入後自動轉換為sys使用者.

(12)丟失管理員密碼處理方法.

1.搜尋名為pwd資料庫例項名.ora檔案.

2.備份乙份然後刪掉原檔案.

3.通過命令生成新的密碼檔案orapwd file=原來密碼檔案的全路徑\密碼檔名.ora password=新密碼 entries=10;//entries:允許幾個特權使用者. 

file:密碼檔案全路徑名.password:新密碼.entries:表示這個密碼檔案最多支援多少個sysdba/sysoper特權使用者.

*練習create user 使用者名稱 identified by 密碼;

grant connect to 使用者名稱;

grant resource to 使用者名稱;

conn 使用者名稱/密碼;

create table users(id number);(建立一張名為users的表)

insert into users values(1);

select * from users;

conn 高階使用者/密碼;

revoke connect from 使用者名稱;(撤銷角色)

revoke resource from 使用者名稱;

drop user 使用者名稱 cascade;(刪除指定使用者.)

Oracle 儲存過程(procedure)學習

二 在oracle中對儲存過程的呼叫 儲存過程 stored procedure 就是一組用於完成特定資料庫功能的sql語句集,該sql語句集經過編譯後儲存在資料庫系統中。在使用時候,使用者通過指定已經定義的儲存過程名字並給出相應的儲存過程引數來呼叫並執行它,從而完成乙個或一系列的資料庫操作。ora...

新手學oracle常見疑問

新手在初學oracle時,都會遇到兩大疑問 第一,索引範圍掃瞄 index range scan 第二,索引唯一掃瞄 index unique scan 下面就這兩種疑問通過 並茂的方式給大家詳細介紹下 1 索引範圍掃瞄 index range scan 複製 如下 select empno,ena...

從頭開始學Oracle 行轉列

with temp as select 大宇 name 語文 subject,85 score from dual union all select 大宇 name 數學 subject,81 score from dual union all select 小宇 name 語文 subject,7...