現在有個資料庫opt,然后里面建了好幾個用戶,比如da,soc等,現在要先建一個用戶dcl,新建的這個用戶不能對其他用戶下的表進行操作。在建表的時候,表名稱前面會加上用戶名,比如create table da.user,然后用dcl連接后不能查這表,比如select * from da.user查不到結果,修改就更不行
uj5u.com熱心網友回復:
經過測驗,在新建用戶的時候使用如下create user dcl cascade;
grant connect to dcl;
grant resource to dcl;
這樣da用戶只能對da用戶下的表進行操作不能訪問da,soc
uj5u.com熱心網友回復:
這里需要你賦予權限的,你dcl用戶想訪問da用戶下的表,da用戶必須給dcl權限。如下:GRANT all on user(這是表名) to dcl.這樣dcl用戶就可以隨便操作這個表了。當然也可以讓system用戶給dcl賦系統權限權限
uj5u.com熱心網友回復:
用system用戶登陸,然后賦予你創建用戶修改查詢其他表的權限uj5u.com熱心網友回復:
connect 角色包括create session的權限,resource角色包括CREATE CLUSTER,CREATE INDEXTYPE,CREATE OPERATOR,CREATE PROCEDEURE,CREATE SEQUENCE,CREATE TABLE,CREATE TRIGGER,CREATE TYPE權限,其中create table權限讓用戶可訪問操作本用戶下所有的表,要想訪問其他用戶下的表,需要另外賦予權限,如想da用戶可以訪問dcl用戶下的表,需要GRANT SELECT ON DCL TO DA;轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92109.html
標籤:開發
