你看看你的所有用户所具有的系统权限和角色 select * from dba_sys_privs select * from dba_role_privs;
DBA的所有权限都是YES,包括drop any table,select any table,update any table等。 另再问一下。为什么我以system登陆进去,创建空间在admin下,方案为admin的表,提示权限不够。
DBA角色:拥有系统所有系统级权限 IMP_FULL_DATABASE角色、EXP_FULL_DATABASE角色: BACKUP ANY TABLE --备份任何表 EXECUTE ANY PROCEDURE --执行任何操作 SELECT ANY TABLE --查询任何表 SELECT ANY TABLE --查询任何表 你可以修改上面的三个角色,把select any table 权限revoke掉,必要的时候再加上,但即使这样internal用户如果想要看的话还是有办法看到的
我这里没问题 为temp用户创建表abc SQL> create table temp.abc as select * from temp.a;表已创建。
授权: grant create table to username; grant select any table to username; 创建用户:create user username identified by password default tablespace spname temporary tablespace tspname; 创建角色:create role rolename; grant ... to rolename;//给刚创建的角色赋系统权限
并也请帮忙解决第二个问题,谢谢。
select * from dba_sys_privs
select * from dba_role_privs;
另再问一下。为什么我以system登陆进去,创建空间在admin下,方案为admin的表,提示权限不够。
IMP_FULL_DATABASE角色、EXP_FULL_DATABASE角色:
BACKUP ANY TABLE --备份任何表
EXECUTE ANY PROCEDURE --执行任何操作
SELECT ANY TABLE --查询任何表
SELECT ANY TABLE --查询任何表
你可以修改上面的三个角色,把select any table 权限revoke掉,必要的时候再加上,但即使这样internal用户如果想要看的话还是有办法看到的
那为什么我以internal登陆进去后创建admin空间下方案为admin的表,说我权限不够?如何在PB中实现权限的验证,请帮忙再解决一下,谢谢。
为temp用户创建表abc
SQL> create table temp.abc as select * from temp.a;表已创建。
grant create table to username;
grant select any table to username;
创建用户:create user username identified by password default tablespace spname temporary tablespace tspname;
创建角色:create role rolename;
grant ... to rolename;//给刚创建的角色赋系统权限