Oracle基礎學習4--Oracle許可權傳遞
下面將用一個例項來講解:
首先用oracle系統使用者(sysdba身份)連線到Oracle
然後建立兩個使用者“lisi”和“zhangsan”
然後為lisi授權,授建立表的許可權
lisi連線到資料庫,並建立一個表mytable
為zhangsan授予連線到資料庫、建立表等許可權,並連線到Oracle
我們要知道,lisi建立的表mytable的操作許可權只有lisi(還有系統使用者)自己擁有,其它使用者(比如zhangsan)是不擁有許可權的,下面我們以將lisi的表mytable的查詢許可權傳遞給zhangsan為例,來講解許可權傳遞:
首先,未授權情況下zhansan是不具有操作lisi表mytable的許可權的:
然後lisi(當前的連線使用者必須為lisi)將查詢mytable的許可權傳遞給zhangsan
然後zhangsan就可檢視到mytable的內容
這就是所謂的許可權傳遞,其它許可權也類似,如:(lisi為zhangsan授權)
授插入許可權:grant insert on mytable to zhangsan;
授所有許可權:grant all on mytable to zhangsan;
還可以將許可權控制到某一列,例如:
grant update(id) on mytable to zhangsan(表示張三隻能更新id這一列,其它列沒有許可權)
當然系統許可權
系統使用者sys為lisi授權如下
注,預設情況下,被授權的人不再擁有將此許可權再授予給其它人的許可權,若想有此許可權,就要再授權語句後面加上with admin option(如上第2句,lisi將擁有把自己剛得到的許可權傳遞給zhangsan的許可權)。
下面給出上面常用到的命令: