oracle所有权限
『壹』 oracle 怎样把某个用户的所有权限
一般最高权限需要connect,resource,dba这三个即可。
语句:
grant connect,resource,dba to 用户;
权限说明:
dba:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
resource:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
connect:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构
『贰』 oracle怎么赋予对一个表的所有权限
用sys登录
grant all on table_name to user_name
『叁』 如何查看oracle用户具有的权限和角色
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给专用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能属查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
『肆』 Oracle用户的权限都有哪些
系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等(对用户而言)
对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等(是针对表或视图而言的)
1.系统权限
超过一百多种有效的权限(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
数据库管理员具有高级权限以完成管理任务,例如:
–创建新用户
–删除用户
–删除表
–备份表
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
a.常用的系统权限:
CREATE SESSION 创建会话
CREATE SEQUENCE 创建序列
CREATE SYNONYM 创建同名对象
CREATE TABLE 在用户模式中创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 在用户模式中删除表
DROP ANY TABLE 在任何模式中删除表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视图
2.对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
ORACLE一共有种对象权限
对象权限 表 视图 序列 过程
修改(alter) √ √
删除(delete) √ √
执行(execute) √
索引(index) √
插入(insert) √ √
关联(references) √ √
选择(select) √ √ √
更新(update) √ √
另外,connect和resource的权限如下所示
CONNECT角色:仅具有创建SESSION的权限
RESOURCE角色:仅具有创建CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的权限。同时,当把ORACLE resource角色授予一个user的时候,不但会授予ORACLE resource角色本身的权限,而且还有unlimited tablespace权限,但是,当把resource授予一个role时,就不会授予unlimited tablespace权限。
确实没有创建视图的权限,由此看来如果需要创建视图权限,只能单独授权:
GRANT CREATE VIEW TO 用户;
『伍』 oracle怎么查询当前数据库的所有角色权限
一 确定角色的权限:
select * from role_tab_privs ; 包含了授予角色的对象权限
select
* from role_role_privs ; 包含了授予另一角色的角色
select * from
role_sys_privs ; 包含了授予角色的系统权限
二 确定用户帐户所授予的权限:
select *
from DBA_tab_privs ; 直接授予用户帐户的对象权限
select * from DBA_role_privs ;
授予用户帐户的角色
select * from DBA_sys_privs ; 授予用户帐户的系统权限
三 查看当前用户权限及角色:
SQL> select * from
session_privs;
SQL> select * from user_role_privs;
四 查询某一角色的具体权限:
例如查看RESOURCE具有那些权限
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';
『陆』 收回oracle下所有用户的权限
|我教你一种方法,运用拼字符串拼出脚本,比如下面这个
select 'revoke connect from '|| username||';' from dba_users;
你查询一下,结果显示为:
revoke connect from SYS;
revoke connect from SYSTEM;
revoke connect from TEST;
revoke connect from OUTLN;
revoke connect from MGMT_VIEW;
revoke connect from MDSYS;
revoke connect from ORDSYS;
把你查询出的结果复制出来运行,就批量撤销权限了,
当然因为不知道你的用户和你的具体权限。所以你进行适当的修改select 'revoke connect from '|| username||';' from dba_users;这条sql语句,然后运行,把结构查询出来执行就可以了
『柒』 oracle 总共有多少种权限
一般来说sys用户拥有所有权限。
SELECT * From dba_sys_privs t WHERE t.grantee = 'SYS';
有159条记录。
『捌』 在oracle数据库中赋予哪些权限才能使一个用户拥有所有权限
最全的就是dba权限了,但dba比较危险
如果是系统上需要使用的话,建议还是需要什么权限给什么权限,自己学习的话无所谓了
『玖』 oracle 用户 哪些权限
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
比如我要查看用户 wzsb的拥有的权限:
SQL> select * from dba_sys_privs where grantee='WZSB';
GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
WZSB CREATE TRIGGER NO
WZSB UNLIMITED TABLESPACE NO
比如我要查看用户 wzsb的拥有的角色:
SQL> select * from dba_role_privs where grantee='WZSB';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
WZSB DBA NO YES
查看一个用户所有的权限及角色
select privilege from dba_sys_privs where grantee='WZSB'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee='WZSB' );
『拾』 Oracle 有几种权限
*数据库角色*/
public
public 角色
--public 角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色:
--捕获数据库中用户的所有默认权限。
--无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。
--含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库。
--无法除去。
db_owner
--进行所有数据库角色的活动,以及数据库中的其它维护和配置活动。
--该角色的权限跨越所有其它固定数据库角色。
db_accessadmin
--在数据库中添加或删除 Windows NT 4.0 或 Windows 2000 组和用户以及 SQL Server 用户。
db_datareader
--查看来自数据库中所有用户表的全部数据。
db_datawriter
--添加、更改或删除来自数据库中所有用户表的数据
db_ddladmin
--添加、修改或除去数据库中的对象(运行所有 DDL)
db_securityadmin
--管理 SQL Server 2000 数据库角色的角色和成员,并管理数据库中的语句和对象权限
db_backupoperator
--有备份数据库的权限
db_denydatareader
--拒绝选择数据库数据的权限
db_denydatawriter
--拒绝更改数据库数据的权限
参考资料:http://..com/question/1286926.html