【轉載】oracle角色許可權管理

來源:互聯網
上載者:User

----3個預設的使用者

1 sys change_on_install [as sysdba] // 最高系統管理員
2 system manage// 本地管理員
3 scott tiger// 普通使用者

----建立使用者

create user leap identified by 1234 // 建立leap 使用者 密碼為1234

----系統授權

grant create seesion to leap;//系統管理員授權給leap會話的許可權
grant create table to leap;;//系統管理員授權給leap建立表的許可權
grant unlimited tablespace to leap;//系統管理員授權給leap 不限制資料表空間大小的許可權 預設的資料表空間是Users

grant create session to public ;//把會話的許可權授權給所有的使用者
grant create any table to public ;//把建立任意表的許可權授權給所有的使用者
grant alter any table to public ;//把修改任意表結構的許可權授權給所有的使用者

-----------系統撤銷授權

revoke create seesion from leap;// 撤銷授權
revoke create table from leap;
revoke unlinited tablespace from leap;

------資料字典

  ----查詢目前使用者系統許可權

select * from user_sys_privs

  ----查詢目前使用者表的許可權

select * from user_tab_privs

  ----查詢目前使用者表的列的許可權

select * from user_col_privs

  ----設定行的顯示寬度

set linesize 400

----對象授權 {注意: 誰擁有該對象(即誰建立的對象) 誰擁有授權的權利}

grant select mytable to leap2
grant all my table to leap2

  ---授權表的列的控制許可權,對象許可權可以控制到列的範圍

grant update<columnName> on mytable to leap2//把許可權控制在表的列上 使用者leap2 只能修改columnName 列
grant insert<columnName> on mytable to leap2//把許可權控制在表的列上 使用者leap2 只能修改columnName 列

{注意;授權列的控制權只能對update 和insert操作,查詢和刪除不能控制到列}

select * from user_col_privs//查詢列的資料字典

 ---授權成功後 leap2 使用者查詢

select * from leap.mytable

 DDL--資料定義語言 (Data Definition Language) create drop 。。。 不需要提交commit
   DDL--資料操縱語言 insert update delete 。。。 需要提交commit
   DCL--資料控制語言 grant 。。。 不需要提交 commit

------- 對象撤銷授權

grant select mytable to leap2
grant all on mytable to leap2

-----許可權的傳遞

  ---不可以許可權傳遞

grant alter any table to leap2//把修改表結構的許可權授權給leap2,並且leap2 不可以把此許可權授權給其他的使用者leap3

  ---可以許可權傳遞

grant alter any table to leap2 with admin option//把修改表結構的許可權授權給leap2, 並且leap2 可以把此許可權授權給其他的使用者leap3

-----把表的查詢許可權授權給其他使用者 不能傳遞

grant select on mytable to leap2//把查詢表的許可權授權給leap2,並且leap2 不可以把此許可權授權給其他的使用者leap3

-----把表的查詢許可權授權給其他使用者 能傳遞

grant select on mytable to leap2 with grant option//把查詢表的許可權授權給leap2,並且leap2 可以把此許可權授權給其他的使用者leap3

----角色 {角色就是許可權的集合 可以把一個角色授予給使用者}

---建立角色

create role myrole 

---刪除角色

drop myrole

--角色是許可權的集合,所以要把許可權放進角色內。

grant create session to myrole
grant create table to myrole

---授權角色給使用者

grant myrole to leap

{注意:有些許可權不能授權給角色}
    例如: unlimited tablespace
     表示屬於建立它的使用者的
     角色不是屬於任意一個使用者 是所有使用者公用的

---限制使用者

alter User 使用者名稱 Account Lock//使用者加鎖
alter User 使用者名稱 Account unLock//使用者解鎖
alter User 使用者名稱 Password expire//使用者密碼即可失效

---刪除使用者      

drop User 使用者名稱//使用者下面每有對象
drop User 使用者名稱 cascade//使用者下面有表或者對象必須用cascade,cascade 表示強制移除使用者所有對象   

----命令下啟動oracle listener

lsnrctl start [listenerName]//啟動
lsnrctl stop [listenerName]//關閉
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.