oracle用户授权
1. oracle如何新建一个用户并赋予权限
CREATE USER username IDENTIFIED BY password;创建用户
GRANT CREATE SESSION TO username;用户可以登录数据
GRANT CREATE TABLE TO username;用户可以创建
就是这些语句和算法。
2. oracle如何给用户创建查询序列的权限
1、create user userName identified by password;
2、grant select any table to userName; --授予查询任何表
3、grant select any dictionary to userName;--授予 查询任何字典
执行上面三步就行了,那么这个用版户就只有查询权限,权其他的权限都没有!!
3. oracle里如何对scott用户授权
权限分为系统权限和对象权限。
授予连接权限:grant connect to scott;
授予创建表等基本权限:grant resource to scott;
授予dba:grant dba to scott;
授予使用空间权限:grant unlimited on tablespace to scott;alter user scott quota unlimited on tablespace_name;
4. oracle创建用户后需要授哪些权限
具体需要哪些权限需要看用户的实际需要。
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
系统权限授权命令:
系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)
授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;
注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
5. Oracle用户授权给另外一个用户的问题
表A是system用户建立的,不是userA建立的,userA能直接看到才有问题。
要操作此表只能在表的前面带用户版属性:权
select*fromsystem.a;
updatesystem.asetcol1='aaaa'wherecol2='aa';
如果想直接看得到,system用户再建一个同义词给userA用户:
CREATEORREPLACESYNONYMUSERA.AFORSYSTEM.A;
这个时候就在SYNONYM文件夹看得到,且可以直接访问得到了。
select*froma;
updateasetcol1='aaaa'wherecol2='aa';
6. 如何查看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;
7. oracle创建用户后一般给什么权限
具体需要哪些权限需要看用户的实际需要。我们要在有最高权限的system用户创建用户,再赋予新建用户权限,只有给新建用户权限,新建用户才能干什么。
一、权限分为系统权限及对象权限。
1、系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
1)、DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
2)、RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
3)、CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、对象权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
CREATE SESSION,创建会话,才可以打开界面
CREATE TABLE,创建表,可创建空表,但没有权限插入数据
CREATE SEQUENCE创建序列
CREATE VIEW,创建视图
(7)oracle用户授权扩展阅读
一、赋权方式,有两种赋予用户权限的方式,
1、对用户赋权
一对一的赋予新建用户权限,这样赋予新建用户权限比较有活性,如果新建用户多了,就比较麻烦。
2、对角色赋权
先创建角色,将权限先赋给角色代理,最后将角色代理的权限赋新建用户,这样比较死板,但是可以同时赋给很多用户。
参考资料
Oracle官网-Grant
8. 如何查看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;
9. 如何查看oracle用户具有的权限和角色
上次有同学问我,如何查看一个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' );