如何查看oracle用户具有的权限和角色

合集下载

oracle 查看当前数据库信息

oracle 查看当前数据库信息
select * from user_sys_privs;--当前用户的系统权限
select * from user_tab_privs;--当前用户的表级权限
select * from dba_sys_privs;--查询某个用户所拥有的系统权限
select * from role_sys_privs;--查看角色(只能查看登陆用户拥有的角色)所包含的权限
查看当前用户的角色
SQL>select * from user_role_privs;
SQL>select * from session_privs
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
2.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
3.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
2.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
三、查看权限:
1.基本权限查询:
selec拥有的全部权限
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='DATAUSER' );

查询oracle中所有用户信息

查询oracle中所有用户信息
查看某表的创建时间
select object_name,created from user_objects where object_name='ZW_YINGYEZ'
查看某表的大小
select sum(bytes)/(1024*1024) tablesize from user_segments
显示当前会话所具有的权限
select * from session_privs
显示指定用户所具有的系统权限
select * from dba_sys_privs
显示特权用户
select * from v$pwfile_users
查看名称包含log字符的表
select object_name,object_id from user_objects where instr(object_name,'log')>0
select * from dba_varrays;
5. 查询数据库中所有视图的文本
select * from dba_views;
查看当前用户的缺省表空间
select username,default_tablespace from user_users
查看当前用户的角色
select * from user_role_privs
1. 查询oracle中所有用户信息
select * from dba_users;
2. 只查询用户和密码
select username,password from dba_users;
3. 查询当前用户信息
select * from dba_ustats;

oracle数据库中查看用户名的方法

oracle数据库中查看用户名的方法

Oracle数据库中查看用户名的方法1.引言在Or ac le数据库中,用户名是用于标识数据库用户身份的重要信息。

通过正确的方法查看用户名,可以帮助管理员或开发人员更有效地管理和维护数据库。

本文将介绍几种常用的方法来查看O ra cl e数据库中的用户名。

2.使用系统视图查看用户名O r ac le数据库提供了一些系统视图,可以方便地查看用户信息。

以下是几个常用的系统视图及其用途:2.1.D B A_U S E R S视图D B A_US ER S视图包含了数据库中所有用户的详细信息。

使用该视图可以查看用户名、用户类型、是否临时用户等信息。

S E LE CT us er na me,us e r_id,a cc ou nt_st a tu sF R OM db a_us er s;2.2.A L L_U S E R S视图A L L_US ER S视图包含了当前用户有访问权限的所有用户信息。

使用该视图可以查看用户名、用户类型等信息。

S E LE CT us er na me,us e r_idF R OM al l_us er s;2.3.U S E R_U S E R S视图U S ER_U SE RS视图包含了当前用户的详细信息。

使用该视图可以查看当前用户的用户名、用户类型等信息。

S E LE CT us er na me,us e r_idF R OM us er_u se rs;3.使用SQ L语句查看用户名除了使用系统视图外,还可以通过SQ L语句直接查询数据库来查看用户名。

以下是几个基本的SQ L语句示例:3.1.查询所有用户名S E LE CT DI ST IN CT use r na meF R OM al l_us er s;3.2.查询当前用户的用户名S E LE CT us erF R OM du al;3.3.查询指定用户的用户名S E LE CT us er na meF R OM db a_us er sW H ER Eu se rn am e='指定用户名';4.使用PL/SQL块查看用户名除了使用SQ L语句外,还可以使用P L/S Q L块来查看用户名。

如何查看oracle用户具有的权限和角色

如何查看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 NOWZSB 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'unionselect privilege from dba_sys_privs where grantee in(select granted_role from dba_role_privs where grantee='WZSB' );。

oracle赋权方法

oracle赋权方法

oracle赋权方法Oracle是一种关系型数据库管理系统,它提供了一种灵活且安全的赋权机制,可以控制用户对数据库对象的访问权限。

本文将介绍Oracle中常用的赋权方法。

1. 创建用户和角色:在Oracle中,可以使用CREATE USER语句创建用户,并使用CREATE ROLE语句创建角色。

用户可以拥有角色,而角色可以拥有权限。

创建用户和角色的语法如下:```CREATE USER username IDENTIFIED BY password; CREATE ROLE role;```2. 授权角色权限:可以使用GRANT语句将权限授予角色。

例如,将SELECT权限授予角色read_role:```GRANT SELECT ON table_name TO read_role;```3. 授权用户角色:可以使用GRANT语句将角色授予用户。

例如,将read_role角色授予用户username:```GRANT read_role TO username;```4. 授予用户直接权限:可以使用GRANT语句将权限直接授予用户。

例如,将SELECT权限直接授予用户username:```GRANT SELECT ON table_name TO username;```5. 撤销角色权限:可以使用REVOKE语句撤销角色的权限。

例如,撤销read_role角色的SELECT权限:```REVOKE SELECT ON table_name FROM read_role;```6. 撤销用户角色:可以使用REVOKE语句撤销用户的角色。

例如,撤销用户username的read_role角色:```REVOKE read_role FROM username;```7. 撤销用户直接权限:可以使用REVOKE语句撤销用户的直接权限。

例如,撤销用户username的SELECT权限:```REVOKE SELECT ON table_name FROM username;```8. 查看用户权限:可以使用SELECT语句查询用户拥有的权限。

Oracle用户角色与权限控制

Oracle用户角色与权限控制
alter user system account unlock;
alter user system identified by abc123;
12.2 权限
权限(Privilege)的最终作用对象是用户。即所有用 户在数据库内的操作对象和可执行的动作都是受到限制的。 Oracle中共有两种权限:系统权限和对象权限。
select * from system.t_employees order by employee_id;
12.3.2 继承角色
角色继承是指一个角色可以继承其他角色的权限信息, 从而减少自身使用grant的机会。
create role role_hr;
grant role_employee to role_hr;
grant update, insert on t_employees to role_hr;
select table_name, grantee, grantor, privilege from dba_tab_privs where table_name = 'T_EMPLOYEES';
create user cat identified by abc;
grant create session to cat;
grant role_hr to cat;
update system.t_employees set status = 'CXL' where employee_id = 13;
12.3.3 禁用和启用角色
每个用户登录数据库时,都可以获得其默认角色。可以 通过查询视图session_roles来获得当前会话下该用户的默 认角色。管理员可以禁用用户的默认角色,一旦禁用,则用 户从该角色获得的权限将不再有效。

ORACLE的CONNECT和RESOURCE角色权限

ORACLE的CONNECT和RESOURCE角色权限

ORACLE的CONNECT和RESOURCE⾓⾊权限最近在处理数据库的⽤户权限问题,之前惯性思维,觉得给⽤户授权RESOURCE权限之后,⽤户的⼀般权限都会有,等到发现⽤户有RESOURCE⾓⾊,却没有创建视图的权限之后,才发现这部分还是⼀知半解啊,所以此处整理了⼀下相关的CONNECT⾓⾊和RESOURCE⾓⾊的内容。

⼀般情况下,在新建数据库⽤户后,都会习惯性的给⽤户授权CONNECT⾓⾊和RESOURCE⾓⾊:GRANT connect,resource TO⽤户;但是拥有这两个⾓⾊的⽤户都拥有什么权限呢?可以使⽤如下语句查看⼀下:SELECT*FROM dba_sys_privs WHERE grantee IN ('RESOURCE', 'CONNECT') ORDER BY1;从查询结果可以看到: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⽤户;那么,⼀个⽤户,如果查看他拥有什么权限呢?⽅法⼀:PLSQL Developer⼯具在PLSQL Developer中可以很⽅便的查看⽤户的各种类型权限(包括对象权限,⾓⾊权限,系统权限),如下图:⽅法⼆:SQL查询语句查询对象权限:SELECT*FROM dba_tab_privs a WHERE a.grantee ='⽤户名';查询⾓⾊权限:SELECT*FROM dba_role_privs a WHERE a.GRANTEE ='⽤户名';查询系统权限:SELECT*FROM dba_sys_privs a WHERE a.GRANTEE ='⽤户名';。

oracle数据库查询用户语句

oracle数据库查询用户语句

oracle数据库查询用户语句如何查询Oracle数据库中的用户。

想要查询Oracle数据库中的用户,我们可以使用一系列的SQL语句和命令来完成这项任务。

本文将详细介绍如何使用不同的方法查询Oracle数据库中的用户。

首先,我们需要登录到Oracle数据库。

可以使用命令行工具,如SQLPlus 或者SQL Developer登录。

一、使用SQL语句查询所有用户我们可以使用以下SQL语句来查询数据库中的所有用户:SELECT username FROM all_users;这条语句将返回数据库中所有用户的用户名。

二、使用系统视图查询用户Oracle数据库提供了许多系统视图,我们可以使用它们来查询用户信息。

以下是一些常用的系统视图及其用途:1. DBA_USERS:此视图包含了所有用户的信息,包括用户名、创建日期、过期日期等。

SELECT username, created, expiry_date FROM dba_users;这条语句将返回所有用户的用户名、创建日期和过期日期。

2. ALL_USERS:该视图包含了数据库中所有可访问的用户的信息。

SELECT username, created, expiry_date FROM all_users;这条语句将返回所有可访问的用户的用户名、创建日期和过期日期。

3. USER_USERS:这个视图包含了当前用户的信息。

SELECT username, created, expiry_date FROM user_users;这条语句将返回当前用户的用户名、创建日期和过期日期。

三、查询特定用户信息如果我们想查询特定用户的信息,可以使用以下SQL语句:SELECT username, created, expiry_date FROM dba_users WHEREusername = 'username';这条语句将返回指定用户名的用户的用户名、创建日期和过期日期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何查看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' );。

相关文档
最新文档