oracle 查看当前数据库信息
oracle数据库查询语句大全
oracle数据库查询语句大全1. select * from table_name where rownum>begin and rownum< end2.sql = "select * from table"con.prepareCall("SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <="+intPage*intPageSize+") B WHERE r > "+(intPage-1)*intPageSize);今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.select table_name from all_tables;//所有的表明select table_name from user_all_tables;//用户的所有的表一下是转贴的sql语句的帖子.select * from user_objects; //查询所有的表select * from dba_tables; //查询所有的表select * from all_tables; //查询所有的表select * from user_users //查出一个用户select * from all_users //查询所有用户select * from dba_users //查询所有用户select name,dbid from v$database; //查询数据库名和它的IDselect * from er_tab_columns; //查询表名,并显示列名describe 表名//查询表结构select * from er_tab_columns where table_name=表名 //查询指定表名的字段2: 查询数据库参数show parameter db;3:查询数据库的实例名select instance_name from v$instance;4: 数据库域名数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用select value from v$parameter where name='db_domain'show parameter domain5:数据库服务名如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同show parameter service_name6:显示当前用户show user7:直接登陆sqlplus "/as sysdba"8:当前ORACLE系统时间select sysdate from dual;9:查询数据库字典v$nls_parameter产看字符集相关参数select * from v$nls_parameters;//*************oracle基本操作语句(适合初学者)oracle操作语句:1.创建表create table 表名(列名1 类型,列名2 类型);2.修改类属性alter table 表名 modify(列名类型);3.添加列alter table 表名 add(列名类型);4.添加主键约束和非空约束alter table 表名 add constraint pk_表名 primary key(列名); alter table 表名 modify(列名 not null);5.删除主键约束alter table 表名 drop primary key;alter table 表名 drop constraint pk_表名;6.失效约束alter table 表名 disable primary key;alter table 表名 disable constraint pk_表名;7.有效约束alter table 表名 enable primary key;alter table 表名 enable constraint pk_表名;8.删除列alter table 表名 drop column 列名;9.设置某列不可用,然后删除alter table 表名 set unused(列名);alter table 表名 drop unused columns;10.修改表名rename 表名1 to 表名2alter 表名1 rename to 表名2;11.截断表truncate table 表名;12.截断表保留行空间truncate table 表名 resue storage;13.查看表结构desc table 表名;14.删除表drop table 表名;15.插入记录例:insert into 表名 values(内容1,内容2,内容3,内容4);16.带参数对话方式插入行例:insert into 表名 values(&列名1,&列名2);insert into 表名 values(内容1,内容2);17.插入某几列记录insert into 表名(列名1,列名2) values(内容1,内容2);18.为列插入空值(其列不能为not null)insert into 表名 values(内容1,null,null);19.创建表(包括主键及外键设置)方法一create table 表名(列名1 类型constraint pk_表名 primary key,列名2 类型 not null,列名3 类型constraint fk_表名 reference 表名(列名),列名3 类型constraint ck_表名 check(列名3 in(''内容1'',''内容2'',''内容3'')));20.查询所有行select * from 表名;21.查询某几列select 列名1,列名2 from 表名;22.重复行消除select distict 列名 from 表名;23.where语句查询select * from 表名 where 条件 order by 列名;(注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名where 条件 order by 列名 desc;)24.创建表,方法二create table 表名(列名1 类型 primary key,列名2 类型 not null,列名3 类型 check(列名3 in('''','''','''')), 列名4 类型 refernce 表名(列名));25.修改列=‘?’的数据update 表名 set (列=?) where 列=‘?’; 26.删除行delete from 表名 where 条件;27.事务处理--事务处理update 表名set 列名(日期) = ''30-5月-98''where 条件;savepoint mark1;delete from 表名 where 条件;savepoint mark2;rollback to savepoint mark1;rollback;28.建立用户user1,密码为password授予用户connect,resource的权限connect角色用于登录resource角色用于建表等.connect system/managercreate user user1 identified by password;grant connect,resource to password;29.数据控制语言connect scott/tiger30.把对表1查询和修改的权限授予user1grant select,update on 表1 to user1;31.把对表表1中列1和列2修改的权限授予user1grant update(列1,列2) on 表1 to user1;32.把对表表1查询的权限授予用户user1并且user1用户还可以把这个权限授予别的用户(with grant option) grant select on 表1 to user1 with grant option;33.从用户user1撤销对表1查询和修改的权限revoke select,update on 表1 from user1;。
oracle数据库常用检测语句
1、--查询每台电脑的连接数select username, t.MACHINE,t.PROGRAM, t.STATUS, count(username)from v$session twhere username is not nullgroup by username, t.MACHINE,t.PROGRAM, t.STATUSorder by username, t.MACHINE,t.PROGRAM, t.STATUS;2--查询可用连接数和已经用了的连接数select RESOURCE_NAME as A,--资源名,CURRENT_UTILIZATION as b,--资源的当前使用量,MAX_UTILIZATION as c,--资源使用达到的最大值,INITIAL_ALLOCATION as d,--初始化值一般等于limit_value,LIMIT_VALUE as e--系统设置的资源值from v$resource_limitwhere resource_name in ('sessions', 'processes');3--查询数据库内存select * from v$sga;select * from v$sgastat;4--查询耗时最长的sql,采用这个语句在业务高峰监控那个查询语句耗时长,占用数据库连接不释放select *from (select SQL_TEXT,SQL_FULLTEXT,round(ELAPSED_TIME / 1000000, 2) ccc,--总时长,EXECUTIONS dd,--执行次数,round(ELAPSED_TIME / 1000000 / EXECUTIONS, 3) ee,--每次时长,trunc((elapsed_Time - cpu_time) * 100 / elapsed_Time, 2) aa,--等待时间占比,round((elapsed_Time - cpu_time) / 1000000, 2) ff,--等待时长,round(USER_IO_WAIT_TIME / 1000000, 2) gg,--IO等待时间,buffer_gets bb,--读取缓冲区次数,disk_reads hh,--读盘次数,hash_value, --SQL的hash_value,以备获取完整SQLsql_id,SORTS --排序次数from (select *from v$sqlareawhere executions > 10and PARSING_SCHEMA_NAME = '***' --注意修改schema名称order by ELAPSED_TIME desc)where rownum < 500)order by ee desc;5--数据库分区表最大分区检查---查询结果当前最大分区要比当前日期提前半年以上。
oracle数据库常用的操作命令
问题提出:
1、用户需要对数据库用户下的每一张表都执行一个相同的SQL操作,这时,一遍、一遍的键入SQL语句是很麻烦的
实现方法:
SQL> set heading off --禁止输出列标题
SQL> set feedback off --禁止显示最后一行的计数反馈信息
alter user system indentified by test
~~~~~~~~~~~~~~~~~~~~~~``
Oracle 常用指令 SQL> show all --查看所有68个系统变量值
SQL> show user --显示当前连接用户
SQL> show error --显示错误
列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性
select 'desc '||tname from tab where tabtype='SYNONYM';
查询当前用户下所有表的记录数
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
(注:a后面跟2个空格)
(c)hange/old/new 在当前行用新的文本替换旧的文本 c/*/tname 结果:select tname from tab;
(c)hange/text 从当前行删除文本 c/tab 结果:select tname from ;
获取oracle数据库用户登陆和登出信息
--查询当前数据库数据文件存放位置select * from dba_data_files;--为记录会话登陆和登出信息的表单独创建一个表空间,避免此表的数据增长给其它业务系统的表空间带来影响。
--drop tablespace logon_info including contents and datafiles;create tablespace logon_info datafile '+OAUTFVG/noarcha/logon_inf01.dbf' size 16g autoextend off;--创建一个间隔分区表,每隔一天创建一个新的分区,便于清理存放于此表的会话登陆和登出信息。
create table erlogon_info(username varchar2(30),session_id number(10),host_name varchar2(30),last_module varchar2(30),logon_day date,logon_time varchar2(15),logoff_day date,logoff_time varchar2(10),elapsed_minutes number(10),program varchar2(50),osuser varchar2(50))partition by range(logon_day) interval(numtodsinterval(1,'day'))store in (logon_info)(partition p0 values less than (to_date('2018-09-13','YYYY-MM-DD')) tablespace logon_info);alter table erlogon_info add ip_address varchar2(30) default null;--创建会话登陆触发器,用户登陆立即在此表中新增一条相关记录。
oracle查存储过程内容 -回复
oracle查存储过程内容-回复如何在Oracle中查找存储过程的内容Oracle是一种流行的关系型数据库管理系统,其中包含了许多功能强大的特性,例如存储过程。
存储过程是一段预编译的SQL代码,可以接受参数并执行一系列操作。
在数据库中查找存储过程的内容是一个常见的任务,下面将一步一步介绍如何实现。
第一步:连接到Oracle数据库首先,打开Oracle SQL开发环境,如SQL Developer,并连接到要查询的数据库。
提供正确的用户名、密码和数据库主机信息,然后点击连接按钮。
一旦成功连接,将在左侧的导航窗格中看到数据库对象的列表,包括存储过程。
第二步:选择要查询的数据库对象在左侧的导航窗格中,展开“数据字典”节点,然后展开“程序对象”节点。
这将显示数据库中的所有存储过程。
根据需要,可以选择特定的模式、用户或包来窄化查询范围。
在展开的节点下可以看到存储过程的名称。
第三步:查找特定存储过程的定义一旦找到要查询的存储过程,可以右键单击该存储过程并选择“编辑”选项。
这将在中间的查询编辑器窗格中打开存储过程的定义。
如果想要查看该存储过程所有的源代码,可以直接复制整个存储过程的定义。
第四步:使用SQL查询查找存储过程内容除了通过图形界面查找存储过程的内容,还可以使用SQL查询来完成。
以下是一个简单的SQL查询来查找特定存储过程的定义:sqlSELECT textFROM all_sourceWHERE type = 'PROCEDURE'AND name = '存储过程名称';将上面的存储过程名称替换为要查询的存储过程的实际名称,然后执行该查询。
它将返回包含存储过程完整定义的结果集。
第五步:使用系统视图来查找存储过程内容系统视图是Oracle数据库中的特殊视图,用于存储与数据库对象相关的元数据信息。
以下是一些常用的系统视图,可以用于查找存储过程的内容:1. DBA_PROCEDURES:该视图列出了所有数据库中的存储过程,包括其所有者、名称、对象类型等信息。
Oracle常用命令大全(很有用,做笔记)
Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。
2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。
oracle期末考试题及答案
oracle期末考试题及答案一、选择题(每题2分,共20分)1. Oracle数据库中的用户和模式是什么关系?A. 完全相同B. 完全不同C. 模式是用户的集合D. 用户是模式的集合答案:C2. 在Oracle数据库中,以下哪个命令用于查看当前用户?A. SELECT USER FROM DUAL;B. SELECT CURRENT_USER FROM DUAL;C. SELECT SESSION_USER FROM DUAL;D. SELECT SYSTEM_USER FROM DUAL;答案:A3. Oracle数据库中的哪个参数用于设置数据库的字符集?A. DB_CHARSETB. NLS_CHARACTERSETC. DB_LANGUAGED. NLS_LANGUAGE答案:B4. 在Oracle数据库中,以下哪个不是SQL语句?A. SELECTB. UPDATEC. DELETED. PRINT答案:D5. Oracle数据库中的触发器可以在哪些时刻执行?A. 数据插入前B. 数据更新前C. 数据删除后D. 数据查询时答案:ABC二、填空题(每空2分,共20分)1. Oracle数据库的默认表空间名称是 _ 。
答案:SYSTEM2. 在Oracle数据库中,用来查看当前数据库版本信息的命令是 _ 。
答案:SELECT * FROM V$VERSION;3. Oracle数据库中,用来创建索引的SQL语句是 _ 。
答案:CREATE INDEX;4. 在Oracle数据库中,存储过程和函数的区别在于存储过程可以有_ ,而函数不能。
答案:OUT参数5. Oracle数据库中,用于实现数据完整性的约束包括主键约束、外键约束、 _ 和CHECK约束。
答案:UNIQUE约束三、简答题(每题10分,共30分)1. 解释Oracle数据库中的视图是什么,并说明其优点。
答案:视图是Oracle数据库中的一种虚拟表,它是基于一个或多个表的查询结果。
oracle数据库时间查询语句
Oracle数据库是一种强大的关系型数据库管理系统,可用于数据存储和管理。
在开发和维护Oracle数据库时,时间查询是一个非常常见且必要的需求,下文将介绍关于Oracle数据库时间查询的一些常用语句。
一、获取当前日期和时间我们可以使用系统函数SYSDATE获取当前日期和时间,例如:SELECT SYSDATE FROM DUAL;此语句将输出当前日期和时间的值,DUAL是Oracle数据库的一个虚拟表。
二、获取日期时间差针对某一特定时间,获取与当前时间的差值,我们可以使用以下语句:SELECT SYSDATE - hiredate FROM employees WHERE employee_id = 100;此语句将输出雇员100的入职时间与当前时间的差值。
三、日期格式化输出我们可以使用TO_CHAR函数将日期时间以特定的格式进行输出,例如:SELECT TO_CHAR(SYSDATE, 'YY-MM-DD HH24:MI:SS') FROM DUAL;此语句将输出当前日期和时间的值,并按照YY-MM-DD HH24:MI:SS格式进行输出。
四、时间戳查询我们可以使用TIMESTAMP数据类型来查询包含具体时间的记录,例如:SELECT * FROM employee_log WHERE log_time = TIMESTAMP '2022-02-22 08:30:00';此语句将查询employee_log表中记录时间为2022-02-22 08:30:00的记录。
五、时间函数Oracle数据库中还有许多其他有用的时间函数,如ADD_MONTHS、MONTHS_BETWEEN、LAST_DAY等,可用于获取日期的不同部分或计算两个日期之间的差值。
例如:SELECT ADD_MONTHS(SYSDATE, 3) FROM DUAL;此语句将输出当前日期加上3个月的值。
查看oracle数据库审计信息的语句
查看oracle数据库审计信息的语句Oracle数据库中,可以通过以下几种方式查看审计信息:1. 通过查询V$AUDIT_TRAIL视图来查看审计日志信息。
V$AUDIT_TRAIL提供了数据库的各种审计信息,包括审计的操作类型、对象名称、时间戳和用户信息等等。
例如:SELECT * FROM V$AUDIT_TRAIL;该查询将返回一个结果集,包含了所有的审计信息。
2. 通过使用Oracle Enterprise Manager(OEM)来查看审计信息。
OEM是一种图形化的管理工具,可以方便地查看数据库的各种统计信息和审计日志信息。
打开OEM后,在“监控”标签页下,选择“审计”选项,即可查看数据库的审计信息。
3. 通过使用跟踪工具(例如Oracle Trace File Analyzer,简称TFA)来获取审计信息。
TFA可以自动收集数据库的故障信息和性能统计信息,并生成完整的诊断报告。
在TFA中,可以通过以下命令来查看审计信息:$tfactl diagcollect –type=audit该命令将在TFA诊断路径中生成一个名为“audit”的目录,并存储所有相关的审计信息。
4. 通过日志文件来查看审计信息。
在Oracle数据库中,可以启用审计日志,并将其写入到特定的日志文件中。
通过查看这些日志文件,可以了解数据库中发生的所有审计事件。
在Oracle中,启动审计日志的命令如下:AUDIT ALL BY DEFAULT;该命令将启用所有的审计日志,并将其写入到默认的日志文件中。
综上所述,Oracle数据库中有多种方式可以查看审计信息,包括使用视图、图形化管理工具、跟踪工具和日志文件等。
这些方法提供了不同的查询功能和可视化方式,用户可以选择适合自己的方法来获取需要的审计信息。
oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令1.oracle(1)启动监听lsnrctl start;(2)进入sqlplus界面sqlplus /nologSQL>conn sys/jiaxiaoai@orcl as sysdba;(3)启动数据库实例SQL>startup;(4)查看当前所有的数据库select * from v$database;或select name from v$database;(5)查看哪些用户拥有sysdba、sysoper权限select * from V_$PWFILE_USERS;show user;查看当前数据库连接用户(6)进入某个数据库:database 数据库名;查看数据库结构:desc v$database;(7)查看所有用户实例:select * from v$instance;或select instance_name from v$instance;(8)查看当前库的所有数据表select * from all_tables;select table_name from all_tables;select table_name from user_tables;select table_name from all_tables where owner='用户名';(9)查看表结构desc 表名;(10)增加数据库用户create user 用户名identified by 密码default tablespace users Temporary TAB LESPACE Temp;(11)用户授权grant connect,resource,dba to 用户名;grant sysdba to 用户名;(12)更改数据库用户密码alter user 用户名identified by 密码;2.mysql(1)显示所有数据库show database;(2)显示所有表show tables;(3)显示表结构desc 表名;3.sqlserver查询所有表:select * from sysobjects where xtype=“U”。
oracle数据库查询命令
oracle数据库查询命令⼀、⽤户表数据查询1、⽤户查看当前⽤户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前⽤户的⾓⾊SQL>select * from user_role_privs;查看当前⽤户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;2、表 tabs查看⽤户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');查看放在ORACLE的内存区⾥的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引 ind查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');4、序列号 seq查看序列号,last_number是当前值SQL>select * from user_sequences; 或 select * from seq;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name');9、获取创建表语句 设置输出长度 SQL> SET LONG 9999; SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','tablename') FROM DUAL;⼆、查看数据库的SQL1、查看表空间的名称及⼤⼩select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理⽂件的名称及⼤⼩select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及⼤⼩select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制⽂件select name from v$controlfile;5、查看⽇志⽂件select member from v$logfile;6、查看表空间的使⽤情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建⽇期和归档⽅式Select Created, Log_Mode, Log_Mode From V$Database;。
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 数据库巡检语句进行Oracle数据库巡检时,可以使用一系列SQL语句来检查数据库的健康状况、性能和安全性。
以下是一些常用的Oracle数据库巡检语句:1. 检查数据库实例的运行情况:SELECT instance_name, host_name, version,startup_time, status FROM v$instance;2. 检查数据库的空间使用情况:SELECT tablespace_name, sum(bytes)/1024/1024 AS "Total Size (MB)",。
sum(bytes blocks8192)/1024/1024 AS "Used Size (MB)",。
sum(blocks8192)/1024/1024 AS "Free Size (MB)"FROM dba_free_space.GROUP BY tablespace_name;3. 检查数据库的性能指标:SELECT FROM v$sysstat WHERE name LIKE 'parse count%';SELECT FROM v$sysstat WHERE name LIKE 'execute count%';SELECT FROM v$sysstat WHERE name LIKE 'user commits';4. 检查数据库的会话和进程信息:SELECT username, osuser, machine, program FROM v$session;SELECT spid, osuser, username, program FROMv$process;5. 检查数据库的表空间和数据文件信息:SELECT tablespace_name, file_name, bytes/1024/1024 AS "File Size (MB)",。
查询ORACLE表空间和数据文件信息
查询ORACLE表空间和数据⽂件信息表空间是oracle数据库中最⼤的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。
表空间在物理上体现为磁盘数据⽂件,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只可与⼀个表空间相联系,这是逻辑与物理的统⼀。
了解表空间和数据⽂件的的属性及使⽤率,是数据库管理员的⼀项重要职责。
下⾯以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据⽂件信息的⽅法。
⼀、查看Oracle数据库中表空间信息的⽅法1、查看Oracle数据库中表空间信息的⼯具⽅法:使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。
图1 表空间⼤⼩及使⽤率2、查看Oracle数据库中表空间信息的命令⽅法:通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,⾸先使⽤客户端⼯具连接到数据库,这些⼯具可以是SQLPLUS字符⼯具、TOAD、PL/SQL等,连接到数据库后执⾏如下的查询语句:selecta.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间⼤⼩M,(b.b2-a.a2)/1024/1024 已使⽤M,substr((b.b2-a.a2)/b.b2*100,1,5) 利⽤率from(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group bytablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group bytablespace_name) b,(select tablespace_name c1,contents c2,extent_management c3 fromdba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1;该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。
oracle维护常用SQL语句(查看系统表和视图)
oracle维护常用SQL语句(查看系统表和视图)oracle维护常用SQL语句(查看系统表和视图)1.查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name2.查看表空间物理文件的名称及大小selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3.查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4.查看控制文件select name from v$controlfile;5.查看日志文件select member from v$logfile;6.查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7.查看数据库库对象select owner, object_type, status, count(*) count#from all_objectsgroup by owner, object_type, status;8.查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9.查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;10.捕捉运行很久的SQLcolumn username format a12column opname format a16column progress format a8select username,sid,opname,round(sofar*100 / totalwork,0) || '%' as progress,time_remaining,sql_textfrom v$session_longops , v$sqlwhere time_remaining <> 0and sql_address = addressand sql_hash_value = hash_value/11.查看数据表的参数信息SELECT partition_name, high_value, high_value_length, tablespace_name,pct_free, pct_used, ini_trans, max_trans, initial_extent,next_extent, min_extent, max_extent, pct_increase, FREELISTS, freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,last_analyzedFROM dba_tab_partitions--WHERE table_name = :tname AND table_owner = :towner ORDER BY partition_position12.查看还没有提交的事务select * from v$locked_object;select * from v$transaction;13.查找object为那些进程所用selectp.spid,s.sid,s.serial# serial_num,ername user_name,a.type object_type,s.osuser os_user_name,a.owner,a.object object_name,decode(sign(48 - command),1,to_char(command), 'Action Code #' || to_char(command) ) action,p.program oracle_process,s.terminal terminal,s.program program,s.status session_statusfrom v$session s, v$access a, v$process pwhere s.paddr = p.addr ands.type = 'USER' anda.sid = s.sid anda.object='SUBSCRIBER_ATTR'order by ername, s.osuser14.回滚段查看select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extentsExtents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs, v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,v$rollname where v$(+) = sys.dba_rollback_segs.segment_name andv$n (+) = v$n order by rownum15.耗资源的进程select s.schemaname schema_name, decode(sign(48 - command), 1,to_char(command), 'Action Code #' || to_char(command) ) action, statussession_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,nvl(ername, '[Oracle process]') user_name, s.terminal terminal,s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process pwhere st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, ername asc, s.osuser asc16.查看锁(lock)情况select /*+ RULE */ ls.osuser os_user_name, ername user_name,decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX','Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3,'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2 from sys.dba_objects o, ( select s.osuser, ername, l.type, l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner<> 'SYS' order by o.owner, o.object_name17.查看等待(wait)情况SELECT v$waitstat.class, v$waitstat.count count, SUM(v$sysstat.value) sum_valueFROM v$waitstat, v$sysstat WHERE v$ IN ('db block gets','consistent gets') group by v$waitstat.class, v$waitstat.count18.查看sga情况SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC19.查看catched objectSELECT owner, name, db_link, namespace,type, sharable_mem, loads, executions,locks, pins, kept FROM v$db_object_cache20.查看V$SQLAREASELECT SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS,VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EXECUTIONS,USERS_EXECUTING, LOADS, FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, DISK_READS,BUFFER_GETS, ROWS_PROCESSED FROM V$SQLAREA21.查看object分类数量select decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 ,'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) quantity fromsys.obj$ o where o.type# > 1 group by decode (o.type#,1,'INDEX' , 2,'TABLE' , 3, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) union select'COLUMN' , count(*) from sys.col$ union select 'DB LINK' , count(*) from22.按用户查看object种类select schema, sum(decode(o.type#, 1, 1, NULL)) indexes,sum(decode(o.type#, 2, 1, NULL)) tables, sum(decode(o.type#, 3, 1, NULL))clusters, sum(decode(o.type#, 4, 1, NULL)) views, sum(decode(o.type#, 5, 1,NULL)) synonyms, sum(decode(o.type#, 6, 1, NULL)) sequences,sum(decode(o.type#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1))others from sys.obj$ o, er$ u where o.type# >= 1 and er# =o.owner# and <> 'PUBLIC' group by order bysys.link$ union select 'CONSTRAINT' , count(*) from sys.con$23.有关connection的相关信息1)查看有哪些用户连接select s.osuser os_user_name, decode(sign(48 - command), 1, to_char(command),'Action Code #' || to_char(command) ) action, p.program oracle_process,status session_status, s.terminal terminal, s.program program,ername user_name, s.fixed_table_sequence activity_meter, '' query,0 memory, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_numfrom v$session s, v$process p where s.paddr=p.addr and s.type = 'USER'order by ername, s.osuser2)根据v.sid查看对应连接的资源占用等情况select ,v.value,n.class,n.statistic#from v$statname n,v$sesstat vwhere v.sid = 71 andv.statistic# = n.statistic#order by n.class, n.statistic#3)根据sid查看对应连接正在运行的sql select /*+ PUSH_SUBQ */ command_type,sql_text,sharable_mem,persistent_mem,runtime_mem,sorts,version_count,loaded_versions,open_versions,users_opening,executions,users_executing,loads,first_load_time,invalidations,parse_calls,disk_reads,buffer_gets,rows_processed,sysdate start_time,sysdate finish_time,'>' || address sql_address,'N' statusfrom v$sqlareawhere address = (select sql_address from v$session where sid = 71)24.查询表空间使用情况select a.tablespace_name "表空间名称",100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",round(a.bytes_alloc/1024/1024,2) "容量(M)",round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",Largest "最大扩展段(M)",to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间"from (select f.tablespace_name,sum(f.bytes) bytes_alloc,sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytesfrom dba_data_files fgroup by tablespace_name) a,(select f.tablespace_name,sum(f.bytes) bytes_freefrom dba_free_space fgroup by tablespace_name) b,(select round(max(ff.length)*16/1024,2) Largest, tablespace_namefrom sys.fet$ ff, sys.file$ tf,sys.ts$ tswhere ts.ts#=ff.ts# and ff.file#=tf.relfile# and ts.ts#=tf.ts#group by , tf.blocks) cwhere a.tablespace_name = b.tablespace_name anda.tablespace_name = c.tablespace_name25. 查询表空间的碎片程度select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_namehaving count(tablespace_name)>10;alter tablespace name coalesce;alter table name deallocate unused;create or replace view ts_blocks_v asselect tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_spaceunion allselecttablespace_name,block_id,bytes,blocks,segment_name from dba_extents;select * from ts_blocks_v;selecttablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_spacegroup by tablespace_name;26.查询有哪些数据库实例在运行select inst_name from v$active_instances;。
怎样查看oracle当前的连接数
select count(*) from v$session #连接数
Select count(*) from v$session where status='ACTIVE' #并发连接数
show parameter processes #最大连接
alter system set processes = value scope = spfile;重启数据库 #修改连接
1。查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常逼近
SQL> conn / as sysdba已连接。
SQL> select> show parameter processes;
怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。
select * from v$session where username is not null
select username,count(username) from v$session where username is not null group by username #查看不同用户的连接数
系统已更改。
3。查看processes和sessions参数,但更改并未生效
4。重启数据库,使更改生效
SQL> shutdown immediate
SQL> startup
SQL> show parameter processes
SQL> show parameter sessions
SQL> show parameter sessions;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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' );
select * from dba_roles;
4. 查询当前角色被授予的角色
Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE;--例如role= 'DBA'
一、查看用户:
1.查看当前用户:
select * from v$session;
select * from V$PWFILE_USERS
注意:
1、以下语句可以查看Oracle提供的系统权限
select name from sys.system_privilege_map
2、查看一个用户的所有系统权限(包含角色的系统权限)
Sql代码
select privilege from dba_sys_privs where grantee='DATAUSER'
二、查看角色:
1.当前用户被激活的全部角色
select * from session_roles;
2.当前用户被授予的角色
select * from user_role_privs;
2.全部用户被授予的角色
select * from dba_role_privs;
3.查看所有角色: