oracle中怎样把一个用户的所有table的select权限授给另外一个用户
发布网友
发布时间:2022-04-24 17:45
我来回答
共3个回答
热心网友
时间:2023-10-27 22:13
1、双击桌面sqldeveloper软件图标启动软件。
2、新建数据库连接,填写登录数据库信息并选择相应角色进行登录。
3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。
4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过grant select/delete/update on hr.table-name to cem。
5、授权成功后使用测试用户进行登录即可对授权过查询权限的表进行访问。
热心网友
时间:2023-10-27 22:13
你好:下面语句中有你需要的这个权限:select any table(如果针对单个用户的表话,这个没有,只能一个表一个表的授权)
创建用户并授权
上接第一步。
在SQL>后面输入创建用户的语句:
create user vpetl identified by vpetl
default tablespace TBS_ETL_DATA;
回车,出现“User created.”表示用户创建成功。
在SQL>后面输入给用户授权的语句:
grant connect,resource,alter system,debug connect session,select any table,delete any table,drop any table,alter any table to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant execute on DBMS_LOCK to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant select on v_$session to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant select on v_$ACCESS to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant alter system to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant insert any table,update any table to vpetl;
回车,出现“Grant succeeded.”表示给用户授权成功。
热心网友
时间:2023-10-27 22:14
无法授权单个字段给某用户,可以使用创建这个表的单个字段的视图,将视图授权给用户。
如,emp表如下:
现要将empno字段赋权给system用户,首先要创建一个视图。
create view v_emp as select empno from emp;然后将视图授权给system用户,语句如下:
grant select on v_emp to system;