oracle怎么把新建的b用户的全部权限赋予a用户?

oracle怎么把新建的b用户的全部权限赋予a用户?主要是要求a用户拥有b用户的创建表和删除表的权限,而不单单是拥有b用户里表的增删查改的权限。

1)建议使用

SQL> conn userA/pwd;

SQL> select 'GRANT SELECT ON' || table_name || 'to userB;' from user_tables

得到的结果如下

grant select on emp to userB;

grant select on dept to userB;

grant select on bonus to userB;

grant select on loc to userB;

再把上面得到的结果逐一执行一遍:

SQL> grant select on emp to userB;

SQL> grant select on dept to userB;

SQL> grant select on bonus to userB;

SQL> grant select on loc to userB;

2)不建议

SQL> conn / as sysdba;

SQL> grant select any table on userB

第2)种方法的缺点是授予的权限过大,userB不仅可以访问userA下的所有表,也可以访问其他用户包括sys,system下的所有表。

grant connect,resource to 用户名B

问题可以拆解一下:
想要什么就授权什么:
1.grant create session to a用户; -- 授予连接登陆权限
2.grant create table to a用户;  -- 赋予用户创建表的权限
3.grant create view to a用户;  -- #赋予用户创建视图的权限
4.grant unlimited tablespace to a用户;  -- 授予操作表空间和表的权限

拓展分解:
Oracle 权限:
1.create session  允许用户登录数据库权限
2.create table   允许用户创建表权限
3.unlimited tablespace  允许用户在其他表空间随意建表

Oracle 角色:
1.CONNECT  
2.RESOURCE
3.DBA

描述:
1.CONNECT角色:是授予最终用户的典型权利,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECTUPDATE、INSERTT等操作
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图

2.RESOURCE角色:是授予开发人员的,能在自己的方案中创建表、序列、视图等。
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型

3.DBA角色: 授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限


可以尝试以下,我也记不清是不是可以
在dba用户下实行或者在b用户下实行
grant create table on b用户 to a用户;

https://www.cnblogs.com/saxum/p/15710818.html 看看这个可以帮助你吗