如何查看oracle用户具有的权限和角色
oracle 查看当前数据库信息
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中所有用户信息
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数据库中查看用户名的方法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⽤户具有的权限和⾓⾊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中常用的赋权方法。
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用户角色与权限控制
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⾓⾊权限最近在处理数据库的⽤户权限问题,之前惯性思维,觉得给⽤户授权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数据库中的用户,我们可以使用一系列的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';这条语句将返回指定用户名的用户的用户名、创建日期和过期日期。
oracle_创建create_user_及授权grant_查看登陆的用户及更改用户默认表空间
oracle 创建create user 及授权grant 查看登陆的用户:以下都可以:show user;select sys_context('userenv','session_user') from dual;select user from dual;查看所有登录的用户必须为DBA 用户:select username from v$session;sys、system等DBA 用户查看其他用户(test)中的对象(表):SQL> select * from test.student;创建一个普通用户都把该用户用起来的流程:1、创建用户SQL>create user test indentified by test;这样就创建了一个用户名密码都为test的用户但这个时候test还是不能登陆成功的,我们需要赋予相应的权限2、赋予create session的权限SQL>grant create session to test;这样test用户就能成功登陆进去但是此时用户还是不能创建表我们需要赋予用户创建表的权限:SQL>grant create table to test;但是用户此时还不能创建表因为需要有使用表空间的权限(相当于用户有了进房间的钥匙但是没有进大门的钥匙。
)所以也应该赋予相应的权限SQL>grant unlimited tablespace to test;这个时候用户就拥有了创建表的权限由于表是用户test的相应的他就拥有了对创建的表的增删查改的权限了3、查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)SQL>select * from user_sys_privs;这样就可以知道当前用户的权限4、撤销权限SQL> revoke create table from test;-----------------------------一些常用视图的区分dba_tables dba_all_tables user_tables user_all_tables all_tables all_all_tables当前用户所属的所有表(注意大写)SQL> select tablespace_name,table_name from user_all_tables where table_name='STUDENT'; SQL> select table_name,tablespace_name from user_tables where table_name='STUDENT'; TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------STUDENT USERSsys 要查看dba_all_tables,ALL_ALL_TABLES才能查看到test 用户的表。
Oracle命令:授权-收回权限-角色
Oracle命令:授权-收回权限-⾓⾊oracle grant不论授予何种权限,每条授权(grant)语句总是由三部分组成:1) 接受者部分是准备获得权限的⼀个或多个⽤户的列表。
2)关键字权限部分由grant后跟⼀种或多种权限组成。
如果在同⼀条grant语句中有多个权限,权限之间⽤逗号分隔。
3) 表名部分由关键字o n起头并列出准备在其上授权的表。
看下⾯的详细介绍,主要是介绍如何把添加、删除、修改、查询四种权限授予⽤户,如下:⼀、insertinsert权限允许在其他⽤户的表中建⽴⾏。
语句grant insert on sample_a to public;允许所有⽤户在sample_a中建⽴新的⾏。
Oracle允许在单条grant语句中授多个权限,SQL语句grant insert,select on sample_a to public;等价于两个语句:grant select on sample_a to public;语句和grant insert on sample_a to ublic;语句。
⼆、updateupdate权限允许其他⽤户修改⾮⾃⼰表中的数据。
语句grant update on sample_a teplownd;允许⽤户teplownd修改表sample_a中的信息。
三、selectselect权限允许⽤户查看其他⽤户表中的内容。
语句grant select on sample_3 to public;将允许所有⽤户浏览表sample_3中的内容,⽽语句grant select on sample_3 to opsabbeyms;则只允许两个⽤户查看表sample_3中的内容。
注意,当多个⽤户接受授权时,⽤户名之间要⽤逗号分隔。
提⽰以public为授权对象时,所有数据库⽤户都获得指定的权限。
如果⽤户的数据库有15000个⽤户,则单独授权就需要15000次(每个⽤户⼀次),⽽授权给public,⼀次即可。
【IT专家】oracle权限和同义词 笔记
本文由我司收集整编,推荐下载,如有疑问,请与我司联系oracle权限和同义词笔记2012/09/25 4671 1.查看当前用户所拥有的系统权限 select * from session_privs; 2.查看数据库内的所有角色select * from dba_roles; 4.查看当前用户所拥有的角色select * from session_roles; 5.查看角色的嵌套关系和所授予的用户select * from dba_role_privs order by 1; 6.其他查看角色和权限的命令select * from role_sys_privs; select * from dba_sys_privs; 7.表级对象权限select * from user_tab_privs_made; select * from user_tab_privs_recd; 8.列上的对象权限select * from user_col_privs_made; select * from user_col_privs_recd; 9.比较connect和resoucr角色的权限差别select grantee,privilege from dba_sys_privs where grantee=‘RESOURCE’ OR GRANTEE LIKE ‘CONNECT’ 10.查看oracle的版本select version from v$instance; select * from role_role_privs where role=‘CONNECT’ CONNECT角色在10g以后就只有create session的权限了,以前其他版本的权限都被取消了。
当RESOURCE角色被授予一个用户后,该用户自动拥有了unlimited tablespace的系统权限。
select * from role_role_privs select * from role_sys_privs; select * from role_tab_privs; select * from role_wm_privs; 查看某个role赋给了哪些user或role:select * from DBA_ROLE_PRIVS where GRANTee=‘ifm30’; select * from dba_users; grant RESOURCE to TYF with admin option commit 创建同义词:create public synonym table_name for user.table_name;2.删除同义词:drop public synonym table_name;3.查看所有同义词:select * from dba_synonyms Oracle同义词的作用1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。
[指南]Oracle内置角色connect与resource的权限
Oracle内置角色connect与resource的权限.txt懂得放手的人找到轻松,懂得遗忘的人找到自由,懂得关怀的人找到幸福!女人的聪明在于能欣赏男人的聪明。
生活是灯,工作是油,若要灯亮,就要加油!相爱时,飞到天边都觉得踏实,因为有你的牵挂;分手后,坐在家里都觉得失重,因为没有了方向。
Oracle内置角色connect与resource的权限首先用一个命令赋予user用户connect角色和resource角色:grant connect,resource to user;运行成功后用户包括的权限:CONNECT角色: --是授予最终用户的典型权利,最基本的ALTER SESSION --修改会话CREATE CLUSTER --建立聚簇CREATE DATABASE LINK --建立数据库链接CREATE SEQUENCE --建立序列CREATE SESSION --建立会话CREATE SYNONYM --建立同义词CREATE VIEW --建立视图RESOURCE 角色: --是授予开发人员的CREATE CLUSTER --建立聚簇CREATE PROCEDURE --建立过程CREATE SEQUENCE --建立序列CREATE TABLE --建表CREATE TRIGGER --建立触发器CREATE TYPE --建立类型从dba_sys_privs里可以查到(注意这里必须以DBA角色登录):select grantee,privilege from dba_sys_privswhere grantee='RESOURCE' order by privilege;GRANTEE PRIVILEGE------------ ----------------------RESOURCE CREATE CLUSTERRESOURCE CREATE INDEXTYPERESOURCE CREATE OPERATORRESOURCE CREATE PROCEDURERESOURCE CREATE SEQUENCERESOURCE CREATE TABLERESOURCE CREATE TRIGGERRESOURCE CREATE TYPE=================================================一、何为角色?我在前面的篇幅中说明权限和用户。
Oracle数据库管理与优化考试
Oracle数据库管理与优化考试(答案见尾页)一、选择题1. Oracle数据库中最小的不可分割的数据单位是?A. 数据块B. 表空间C. 区间D. 监控区2. 在Oracle数据库中,如何查看当前系统的CPU使用率?A. SELECT * FROM v$sysstat WHERE name = 'cpu_usage';B. SELECT * FROM v$session WHERE username = 'SYSTEM';C. SELECT * FROM v$machine;D. SELECT * FROM v$parameter;3. Oracle数据库中的归档日志主要用于:A. 提高数据查询效率B. 恢复数据文件丢失的数据C. 保证数据的一致性D. 记录数据库的操作历史4. 在Oracle数据库中,如何查看用户的默认表空间?A. SELECT default_tablespace FROM user_users WHERE username = '用户名';B. SELECT tablespace_name FROM user_tablespaces WHERE status = 'UNDO';C. SELECT default_index_space FROM user_indexes;D. SELECT * FROM user_tab_columns;5. Oracle数据库中的锁主要分为哪几种类型?A. 共享锁B. 排他锁C. 行级锁D. 表级锁6. 在Oracle数据库中,如何查看当前数据库的版本信息?A. SELECT * FROM v$version;B. SELECT * FROM product_components;C. SELECT * FROM all_objects WHERE object_type = 'VERSION';D. SELECT * FROM user_objects;7. Oracle数据库中的数据字典主要包含哪些内容?A. 数据库元数据B. 数据库对象定义C. 数据库物理结构D. 数据库运行时环境8. 在Oracle数据库中,如何进行表空间的切换?A. ALTER DATABASE TABLESPACE source_tablespace INTO target_tablespace;B. ALTER TABLE source_table_name SWITCH TABLESPACE target_tablespace;C. ALTER DATABASE CREATE TABLESPACE new_tablespace;D. ALTER TABLESPACE source_tablespace RENAME TO target_tablespace;9. Oracle数据库中的审计功能主要用于:A. 记录用户操作B. 加密数据库数据C. 监控数据库性能D. 防止SQL注入攻击10. 在Oracle数据库中,如何查看当前的警告信息和错误信息?A. SELECT * FROM v$warning;B. SELECT * FROM v$errlog;C. SELECT * FROM user_errors;D. SELECT * FROM v$system_error;11. 在Oracle数据库中,如何查看当前系统的并发用户数?A. 使用 `v$session`视图B. 使用 `v$process`视图C. 使用 `v$metric`视图D. 使用 `v$statname`视图12. 在Oracle数据库中,执行以下哪个命令可以查看表的存储空间使用情况?A. `SELECT * FROM TABLSPACE`B. `SELECT * FROM USER_TABLES`C. `SELECT * FROM DBA_TABLESPACES`D. `SELECT * FROM ALL_TABLESPACES`13. 在Oracle数据库中,如何设置用户密码过期策略?A. 使用 `ALTER USER`命令B. 使用 `ALTER SYSTEM`命令C. 使用 `CREATE USER`命令D. 使用 `GRANT`命令14. Oracle数据库中的事务隔离级别中,哪个级别可以防止脏读?A. READ UNCOMMITTEDB. READ COMMITTEDC. REPEATABLE READD. SERIALIZABLE15. 在Oracle数据库中,如何查看索引的使用情况?A. 使用 `SELECT * FROM USER_INDEXES`B. 使用 `SELECT * FROM ALL_INDEXES`C. 使用 `SELECT * FROM DBA_INDEXES`D. 使用 `SELECT * FROM V$INDEXES`16. Oracle数据库中的数据定义语言(DDL)包括哪些操作?A. 创建表B. 创建索引C. 创建视图D. 修改数据17. 在Oracle数据库中,如何查看用户的登录历史?A. 使用 `v$session`视图B. 使用 `v$login`视图C. 使用 `v$history`视图D. 使用 `v$logfile`视图18. Oracle数据库中最小的数据存储单位是什么?A. 数据块B. 表空间C. 段D. 元组19. 在Oracle数据库中,执行以下哪个命令可以清除所有的缓冲区缓存?A. ALTER SYSTEM CHECKPOINT;B. ALTER SYSTEM FLUSH BUFFER_CACHE;C. ALTER SYSTEM LOAD BALANCE;D. ALTER DATABASE CLOSE;20. 在Oracle数据库中,如何查看表的统计信息并更新它们?A. 使用ALTER TABLE命令B. 使用ALTER INDEX命令C. 使用SELECT命令D. 使用UPDATE命令21. 在Oracle数据库中,如何进行数据库性能调优?A. 只需要增加硬件资源B. 只需要调整SQL语句C. 需要综合分析系统资源使用情况并进行相应的调整D. 只需要修改数据库配置文件22. 在Oracle数据库中,如何查看当前的磁盘I/O统计信息?A. 使用v$sysstat视图B. 使用v$metric视图C. 使用v$iostat视图D. 使用v$perfstat视图23. 在Oracle数据库中,如何查看数据库的日志文件位置?A. 使用v$logfile视图B. 使用v$log视图C. 使用v$log_history视图D. 使用v$archived_log视图24. 在Oracle数据库中,如何查看表空间的使用情况?A. 使用SELECT命令结合DBMS_SPACE包B. 使用v$tablespace和v$freelists视图C. 使用ALTER TABLE命令D. 使用CREATE INDEX命令25. 在Oracle数据库中,如何查看数据库的备份和恢复状态?A. 使用v$backup和v$restore视图B. 使用v$backup_device和v$restore_device视图C. 使用v$backup_history和v$restore_history视图D. 使用v$backup_policy和v$restore_policy视图26. Oracle数据库中的归档日志用于:A. 提供数据备份功能B. 支持数据迁移C. 记录数据库的审计信息D. 避免数据丢失27. 在Oracle数据库中,如何进行表空间的维护性操作?A. 使用 ALTER TABLESPACE 语句B. 使用 CREATE TABLESPACE 语句C. 使用 ALTER DATABASE 语句D. 使用 CREATE INDEX 语句28. Oracle数据库中的锁类型包括:A. 共享锁B. 排他锁C. 意向锁D. 自动锁29. 在Oracle数据库中,如何查看表的存储结构?A. 使用 DESC 关键字B. 使用 TABLESPACE 语句C. 使用 DBMS_METADATA 包D. 使用 SELECT 语句30. Oracle数据库的性能优化可以通过以下哪些方法实现?A. 增加数据缓冲区大小B. 调整日志文件的大小和位置C. 合理设计索引D. 使用分页查询31. 在Oracle数据库中,如何查看用户权限和角色?A. 使用 GRANT 和 REVOKE 语句B. 使用 USER 语句C. 使用 SESSION 语句D. 使用 DBMS_SESSION 包32. Oracle数据库中的数据导入工具是:A. SQL*LoaderB. SQL*PlusC. DBMS_SQLD. EXPDP33. 在Oracle数据库中,如何对查询结果进行排序?A. 使用 ORDER BY 子句B. 使用 GROUP BY 子句C. 使用 HAVING 子句D. 使用 LIMIT 子句34. Oracle数据库中最小的数据块大小是多少?A. 8KB. 16KC. 32KD. 64K35. 在Oracle数据库中,如何查看表的空间使用情况?A. 使用`dbms_stats`包B. 使用`select * from user_segments`命令C. 使用`select * from v$segment`命令D. 使用`select * from all_segments`命令36. Oracle数据库中的锁有哪些类型?(多选)A. 共享锁B. 排他锁C. 更新锁D. 意向锁37. 在Oracle数据库中,如何进行表空间的扩容?A. 使用`ALTER DATABASE DATAFILE ADD PRIMARY LOCATION`命令B. 使用`ALTER TABLESPACE ADD DATAFILE`命令C. 使用`ALTER DATABASE CREATE TEMPORARY TABLESPACE`命令D. 使用`ALTER SYSTEM SET SMALL_TABLE_THRESHOLD`命令38. Oracle数据库中的事务隔离级别有哪些?(多选)A. 读未提交B. 读已提交C. 可重复读D. 串行化39. 在Oracle数据库中,如何查看用户的登录日志?A. 使用`v$logins`视图B. 使用`v$session`视图C. 使用`v$history`视图D. 使用`user_logins`视图40. Oracle数据库中的存储过程和函数有什么区别?A. 存储过程可以有返回值,函数不能有返回值B. 函数可以有返回值,存储过程不能有返回值C. 存储过程和函数都可以有返回值D. 存储过程和函数都不能有返回值41. 在Oracle数据库中,如何进行数据库的性能调优?A. 使用`EXPLAIN PLAN`命令B. 使用`OPTIMIZE TABLE`命令C. 使用`ALTER INDEX REBUILD`命令D. 使用`SELECT * FROM v$database`命令二、问答题1. 什么是数据库的三级模式结构?请简要描述每一级的功能。
oracle查询用户的权限
oracle查询⽤户的权限 DBA_* 描述的是数据库中的所有对象 ALL_* 描述的是当前⽤户有访问权限的所有对象 USER_* 描述的是当前⽤户所拥有的所有对象 查看所有⽤户: select * from dba_users; --->显⽰所有⽤户的详细信息 select * from all_users; --->显⽰⽤户及⽤户id和创建⽤户时间三个字段 select * from user_users; --->显⽰当前⽤户的详细信息。
查看当前⽤户: select * from v$session; --->查看所有连接信息查看⾓⾊:select * from user_role_privs; --->当前⽤户被授予的⾓⾊select * from dba_role_privs; --->全部⽤户被授予的⾓⾊select * from dba_roles; --->查看所有⾓⾊Select * from ROLE_ROLE_PRIVS; --->查看所有⾓⾊被赋予的⾓⾊ 基本权限查询: select * from session_privs; --->当前⽤户所拥有的全部权限 select * from user_sys_privs; --->当前⽤户的系统权限 select * from user_tab_privs; --->当前⽤户的表级权限 select * from dba_sys_privs; --->所有⽤户的拥有的权限,可查询某个⽤户所拥有的系统权限 select * from role_sys_privs; --->查看⾓⾊(只能查看登陆⽤户拥有的⾓⾊)所包含的权限查看⽤户对象权限:select * from dba_tab_privs; --->查看所有⽤户的对象权限select * from all_tab_privs; --->查看当前⽤户的所拥有对象select * from user_tab_privs; --->查看当前⽤户的对象权限select * from V$PWFILE_USERS; --->查看当前⽤户有sysdba或sysoper系统权限(查询时需要相应权限)查看⼀个⽤户的所有权限包含其⾓⾊的权限select privilege from dba_sys_privs where grantee='SCOTT'unionselect privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT' );。
Oracle用户、授权、角色管理
Oracle⽤户、授权、⾓⾊管理 每个Oracle⽤户都有⼀个名字和⼝令,并拥有⼀些由其创建的表、视图和其他资源。
Oracle⾓⾊(role)就是⼀组权限(privilege)(或者是每个⽤户根据其状态和条件所需的访问类型)。
⽤户可以给⾓⾊授予或赋予指定的权限,然后将⾓⾊赋给相应的⽤户。
⼀个⽤户也可以直接给其他⽤户授权。
Oracle 权限设置⼀、权限分类: 系统权限:系统规定⽤户使⽤的权限。
(系统权限是对⽤户⽽⾔)。
实体权限:某种权限⽤户对其它⽤户的表或视图的存取权限。
(是针对表或视图⽽⾔的)。
⼆、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最⾼权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的⽤户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的⽤户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通⽤户:授予connect, resource权限。
对于DBA管理⽤户:授予connect,resource, dba权限。
2、系统权限授权命令: [系统权限只能由DBA⽤户授出:sys, system(最开始只能是这两个⽤户)] 授权命令:SQL> grant connect, resource, dba to ⽤户名1 [,⽤户名2]...; [普通⽤户通过授权可以具有与system相同的⽤户权限,但永远不能达到与sys⽤户相同的权限,system⽤户的权限也可以被回收。
] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询⽤户拥有哪⾥权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除⽤户:SQL> drop user ⽤户名 cascade; //加上cascade则将⽤户连同其创建的东西全部删除3、系统权限传递: 增加WITH ADMIN OPTION选项,则得到的权限可以传递。
oracle数据库的用户以及表空间
oracle数据库的⽤户以及表空间1 2 3 4 5 6最直观的⽅法就是直接在pl/sql⾥查看命令⾏如下查看所有⽤户:select* from all_users;查看表空间:select tablespace_name from dba_tablespaces;查看⽤户具有怎样的⾓⾊:select* from dba_role_privs where grantee='⽤户名';查看某个⾓⾊包括哪些系统权限:select* from dba_sys_privs where grantee='DBA'查看oracle中所有的⾓⾊:select* from dba_roles;1、⾸先,我们可以先建⽴⾃⼰的⼀个⽤户表空间,创建表空间的格式如下:create tablespace test(表空间的名字)datafile 'D:\oracle\product\10.2.0\userdata\test.dbf' (这边可以写成oracle的某个路径下)size 50m (初始⼤⼩)autoextend on;(⾃动扩展)2、接下来,我们可以创建⼀个⾃⼰的⽤户,创建格式如下:CREATE USER utest (⽤户名)IDENTIFIED BY upassword(密码)DEFAULT TABLESPACE test(上⾯创建的表空间)TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)3、然后,我们需要给⾃⼰的⽤户赋予权限来管理⾃⼰的表空间GRANT CONNECT TO utest;GRANT RESOURCE TO utest;GRANT dba TO utest;--dba为最⾼级权限,可以创建数据库,表等。
以上三条语句的执⾏环境都需要进⼊oralce之后cmd下进⼊oracle的⽅式sqlplus system/密码回车即可4、接下来我们就可以将我们的dmp⽂件导⼊到我们⾃⼰的表空间中了,导⼊⽅式imp usename/password@SID full=y file= d:\data\xxxx.dmp ignore=y导⼊实例imp utest/upassword file=D:\20140227.dmp full=y ignore=y (将⽂件导⼊到我们⾃⼰新建的⽤户的表空间中) 注意:这条语句的执⾏环境是刚进命令台时的环境。
oracle 查询用户权限的语句
oracle 查询用户权限的语句Oracle是一种关系型数据库管理系统,可以用来存储和管理大量的数据。
在Oracle中,用户权限是指用户对数据库对象(如表、视图、存储过程等)的访问和操作权限。
用户权限的查询可以帮助管理员了解当前用户的权限情况,以便进行权限管理和安全控制。
下面是一些查询用户权限的Oracle语句:1. 查询当前用户的所有权限:```SELECT * FROM USER_SYS_PRIVS;```该语句可以查询当前用户被授予的系统级权限,返回结果包括权限名称和授权者。
2. 查询当前用户对指定表的权限:```SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '表名';```该语句可以查询当前用户对指定表的权限,返回结果包括权限类型(如SELECT、INSERT、UPDATE、DELETE等)、授权者和表名。
3. 查询当前用户对指定视图的权限:```SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '视图名';```该语句可以查询当前用户对指定视图的权限,返回结果与查询表权限的语句相似。
4. 查询当前用户对指定存储过程的权限:```SELECT * FROM USER_PROC_PRIVS WHERE PROCEDURE_NAME = '存储过程名';```该语句可以查询当前用户对指定存储过程的权限,返回结果包括权限类型(如EXECUTE)、授权者和存储过程名。
5. 查询当前用户对指定包的权限:```SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '包名';```该语句可以查询当前用户对指定包的权限,返回结果与查询表权限的语句相似。
6. 查询当前用户对指定序列的权限:```SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = '序列名';```该语句可以查询当前用户对指定序列的权限,返回结果与查询表权限的语句相似。
Oracle创建用户并给用户授权查询指定表或视图的权限
Oracle创建⽤户并给⽤户授权查询指定表或视图的权限MSV31账户登录数据库进⾏如下操作:CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUNDDEFAULT TABLESPACE "TBS_DNINMSV31"TEMPORARY TABLESPACE "TEMP2"QUOTA UNLIMITED ON "TBS_DNINMSV31";GRANT "CONNECT" TO NORTHBOUND;ALTER USER NORTHBOUND DEFAULT ROLE NONE;GRANT CREATE SESSION TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNDEVICE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNSUBNE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPACKAGE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPORT" TO NORTHBOUND;【注】:在⽤NORTHBOUND登录后查询的时候要在视图前加上DNINMSV31,否则会报表或视图不存在。
例如:select * from DNINMSV31.V_DNDEVICE; --可以正常执⾏select * from DNINMSV31.TB_DEVICE where rownum<5; --执⾏的时候会报表或视图不存在--------------------------------------------------------------------------------------------------GRANT debug any procedure, debug connect session TO hnckb;grant select on sys.dba_pending_transactions to hnckb;grant CREATE VIEW,CREATE JOB,CREATE SYNONYM to hnckb;grant CONNECT,RESOURCE to hnckb;1.标准⾓⾊CONNECTRESOURCE2.系统权限CREATE VIEWCREATE DATABASE LINKCREATE JOBCREATE SYNONYMUNLIMITED TABLESPACE更改定额命令:ALTER USER 名称 QUOTA 0 ON 表空间名ALTER USER 名字 QUOTA (数值)K|M|UNLIMITED ON 表空间名;使⽤⽅法:A、控制⽤户数据增长B、当⽤户拥有⼀定的数据,⽽管理员不想让他在增加新的数据的时候。
查看oracle用户sid的方法-概述说明以及解释
查看oracle用户sid的方法-概述说明以及解释1.引言1.1 概述概述:在Oracle数据库中,每个实例在启动时都会被分配一个唯一的系统标识符(SID)。
这个SID是数据库实例的唯一标识,用于区分不同的数据库实例。
在Oracle数据库中,SID扮演着非常重要的角色。
通过SID,用户可以连接到指定的数据库实例,进行数据操作和管理。
因此,了解如何查看Oracle用户的SID是非常重要的。
本文将介绍什么是Oracle SID、查看Oracle用户SID的方法以及SID 的作用。
通过阅读本文,读者将能够更好地理解Oracle数据库中SID的概念及其应用。
文章结构部分是指整篇文章的组织和安排。
在这篇文章中,我们将按照以下结构来展开讨论:1. 引言1.1 概述:介绍文章所涉及的主题和背景1.2 文章结构:介绍文章的结构和各部分内容安排1.3 目的:说明本文的写作目的和意义2. 正文2.1 什么是Oracle SID:解释Oracle SID的概念和作用2.2 查看Oracle用户SID的方法:详细介绍如何查看Oracle用户的SID2.3 SID的作用:探讨SID在Oracle数据库中的实际作用和重要性3. 结论3.1 总结:总结本文的主要内容和观点3.2 应用:探讨本文内容在实际工作中的应用场景3.3 展望:展望未来关于Oracle SID的研究方向和发展趋势通过以上结构,读者可以清晰地了解文章的逻辑脉络和内容安排,帮助他们更快速地获取所需信息。
1.3 目的在本文中,我们的目的是介绍如何查看Oracle用户的SID。
SID是Oracle中的重要概念,它代表一个唯一的系统标识符,用于标识和连接到数据库实例。
了解如何查看用户的SID对于管理员和开发人员来说非常重要,因为它可以帮助他们更好地管理和调试数据库连接问题。
通过本文的介绍,读者将能够了解到不同方法来查看Oracle用户的SID,并且能够更有效地处理与SID相关的任务。
oracle创建表空间用户及授权查看权限
Oracle 创建表空间、创建用户以与授权、查看权限一、创建临时表空间# sqlplus / as sysdba;sql> CREATE TEMPORARY TABLESPACE test_tempTEMPFILE '/opt/oradata/test_temp.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;二、创建用户表空间sql> CREATE TABLESPACE test_dataLOGGINGDATAFILE '/opt/oradata/test_data.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;sql> select tablespace_name,block_size,extent_management,segment_space_managementfrom dba_tablespaceswhere tablespce_name like 'USER%';三、复原表空间sql> create undo tablespace user01_undodatafile '/u01/oracle/app/oracle/user01_undo.dbf'size 20M;sql> select tablespace_name,block_size,extent_management,segment_space_management from dba_tablespacesfrom tablespace_name like 'user01_%';sql> select tablespace_name,status,contentsfrom dba_tablespacesfrom tablespace_name like 'user01_%';四、创建用户并制定表空间sql> CREATE USER username IDENTIFIED BY passwordDEFAULT TABLESPACE TEST_DATATEMPORARY TABLESPACE TEST_TEMP;sql> GRANT role TO username;五、查看所有用户sql> SELECT * FROM DBA_USERS;sql> SELECT * FROM ALL_USERS;sql> SELECT * FROM USER_USERS;六、查看用户对象或角色权限sql> SELECT * FROM DBA_TAB_PRIVS;sql> SELECT * FROM ALL_TAB_PRIVS;sql> SELECT * FROM USER_TAB_PRIVS;七、查看所有角色sql> SELECT * FROM DBA_ROLES;八、查看用户或角色所拥有的角色sql> SELECT * FROM DBA_ROLE_PRIVS;sql> SELECT * FROM USER_ROLE_PRIVS;九、表空间脱机sql> select tablespace_name,status,contentsfrom dba_tablespaceswhere tablespce_name like 'user_%';sql> col name for a55sql> select file#,name,statusfrom v$datafilewhere file# >=8;设置脱机状态sql> alter tablespace user01 offline;sql> select tablespace_name,status,contents from dba_tablespaceswhere tablespce_name like 'user01_%'; sql> select file#,name,statusfrom v$datafilewhere file# >= 8;设置联机状态sql> alter tablespace user01 online;十一、只读表空间设置只读表空间sql> alter tablespace user01 read only;sql> select tablespce_name,status,contents from dba_tablespaceswhere tablespace_name like 'user_%';可读可写sql> alter tablespace user01 read write;sql> select tablespace_name,status,contentsfrom dba_tablespacewhere tablespace_name like 'user%';十二、改变表空间的存储设置sql> alter tablespace user01 minimum extent 100K;sql> alter tablespace user01default storage ( initial 100 k next 100 k maxextents 200);sql> set line 120sql> col tablespace_name for a15sql> select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extentsfrom dba_tablespaceswhere tablespace_name like 'user01%';十三、重置表空间大小sql> col file_name for a40sql> set line 100sql> col tablespace_name for a15sql> select file_id,tablespace_name,file_name,autoextensible from dba_data_fileswhere file_id >= 8order by file_id;sql> alter database datafile' ' autoextend onnext 1M;sql> select file_id,tablespace_name,file_name,autoextensiblefrom dba_data_fileswhere file_id >= 8order by file_id;十四、手工重置数据文件的大小sql> select file_id,file_name,tablespace_name,bytes/(1024*1024) MBfrom dba_data_fileswhere tablespace_name LIKE 'USERS01%'order by tablespace_name;sql> alter database datafile '/u01/oracle/app/oracle/oradata/db243/use01.dbf' resize 50M;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MBfrom dba_data_fileswhere tablespace_name like '%USE%'order by tablespace_name;sql> alter tablespace use01add datafile '/u01/oracle/app/oracle/oradata/db243/use01_a.dbf'size 30M;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MBfrom dba_data_fileswhere tablespace_name like '%USE%'order by tablespace_name;十五、移动数据文件的方法〔一〕、移动可以脱机的表空间# sqlplus / as sysdbasql> col file_name for a45sql> set line 120#查看数据库中数据文件的分布情况sql> select file_id,file_name,tablespace_name from dba_data_fileswhere file_name like '%ORADATA%'order by file_name;# 查看数据库表空间的状态sql> select tablespace_name,status,contents from dba_tablespaceswhere tablespace_name not like '%USE%';# 使表空间脱机sql> alter tablespace use01 offline;# 查看更改有没有成功sql> select tablespace_name,status,contentsfrom dba_tablespaceswhere tablespace_name not like '%USE%';# CP 数据文件# cp /u01/oracle/app/oracle/oradata/db243/use01.dbf /u01/oracle/app/oradata#使用命令来重新命名表空间所对应的数据文件名sql> alter tablespace use01 renamedatafile '/u01/oracle/app/oracle/oradata/db243/use01.dbf'to '/u01/oracle/app/oradata/use01.dbf';#表空间联机sql> alter tablespace use01 online;〔二〕、移动系统表空间Sql> shutdown immediatesql> startup mountsql> host cp /u01/oracle/app/oracle/oradata/db243/system01.dbf /u01/oracle/app/oradatasql> alter database renamefile '/u01/oracle/app/oracle/oradata/sb243/system01.dbf'to '/u01/oracle/app/oradata/system01.dbf';sql> alter database open;sql> select tablespace_name,status,contentsfrom dba_tablespaces;sql> select file_id,file_name,tablespace_namefrom dba_data_files;十六、迁移数据字典和本地管理的表空间Sql> connect sys/wuzihao as sysdba;sql> show user;#查看哪些表空间是数据字典管理的sql> select tablespace_name,block_size,extent_management,segment_space_management,min_extentsfrom dba_tablespaceswhere tablespace_name like '%USE%';#将数据字典管理的表空间迁移到本地管理的表空间sql> execute dbms_space_admin.tablespace_migrate_to_local('use01');#将本地管理的表空间迁移到数据字典管理的表空间sql> execute dbms_space_admin.tablespace_migrate_from_local('use01');十七、删除表空间#查询所有创建的表空间sql> select file_id,file_name,tablespace_namefrom dba_data_fileswhere file_id > 5order by file_id;#控制文件指向的数据文件指针删除sql> drop tablespace use01;#操作系统文件也删除sql> drop tablespace use01 including contents and datafiles;#临时表空间sql> col file for a50sql> col tablespace for a15sql> set line 120#查询临时表空间sql> select f.file#,t.ts#, “File〞,t.n ame “Tablespace〞from v$tempfile f,v$tablspace twhere f.ts# = t.ts#;#删除临时表空间sql>drop tablespace use01_temp including contents and datafiles;十八、利用OMF来管理表空间# sqlplus / as sysdba#设定数据文件存放的目录sql> alter system setdb_create_file_dest = '/u01/oracle/app/oradata';sql> create tablespace test01;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_data_files;sql> alter tablespace test01 add datafile 50M;十九、应用实例#查询所有的表空间信息sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_data_files;#查看数据库表空间是数据字典管理,还是本地管理sql> select tablespace_name,block_size,extent_management,segment_space_management,min_extentsfrom dba_tablespaces;#查询所有的临时表空间sql> select f.file#,t.ts#, “File〞, “Tablespace〞from v$tempfile f,v$tablespace twhere f.ts# = t.ts#;#创建数据表空间sql> create tablespace pioneer_datadatafile '/u01/oracle/app/oradata/pioneer_data.dbf'size 100 Mextent management localuniform size 1M;#创建索引表空间sql> create tablespace pioneer_indexdatafile '/u01/oracle/app/oradata/pionner_index.dbf'size 100Mextent management localuniform size 1M;#创建复原表空间sql> create tablespce pioneer_undodatafile '/u01/oracle/app/oradata/pioneer_undo.dbf'size 100Mextent management local;#创建临时表空间sql> create temporary tablespace pioneer_tempdatafile '/u01/oracle/app/oradata/pioneer_temp.dbf'size 50Mextent management localuniform size 2M;#验证表空间是否创建成功sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_tablespaceswhere tablespace_name like 'PION%';#验证临时表空间创建是否成功sql> select f.file#,t.ts#, “File〞, “Tablespace〞from v$tempfile f,v$tablespace twhere f.ts# = t.ts#and like 'PION%';#验证四个表空间是否本地管理,sql> select tablespace_name,block_size,extent_management, segment_space_management,min_extents,contents from dba_tablespaceswhere tablespace_name like 'PION%';。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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' );。