程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle基礎學習4--Oracle權限傳遞

Oracle基礎學習4--Oracle權限傳遞

編輯:Oracle教程

下面將用一個實例來講解:

首先用oracel系統用戶(sysdba身份)連接到Oracle

\

然後創建兩個用戶“lisi”和“zhangsan”

\

然後為lisi授權,授創建表的權限

\

lisi連接到數據庫,並創建一個表mytable

\

為zhangsan授予連接到數據庫、創建表等權限,並連接到Oracle

\

我們要知道,lisi創建的表mytable的操作權限只有lisi(還有系統用戶)自己擁有,其它用戶(比如zhangsan)是不擁有權限的,下面我們以將lisi的表mytable的查詢權限傳遞給zhangsan為例,來講解權限傳遞:

首先,未授權情況下zhansan是不具有操作lisi表mytable的權限的:

\

然後lisi(當前的連接用戶必須外lisi)將查詢mytable的權限傳遞給zhangsan<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140619/2014061908585710." alt="\">

然後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的權限)。

下面給出上面常用到的命令:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved