Oracle知识综合整理
ORACLE_分析函数大全

ORACLE_分析函数大全Oracle分析函数是一种高级SQL函数,它可以在查询中实现一系列复杂的分析操作。
这些函数可以帮助我们在数据库中执行各种数据分析和报表生成任务。
本文将介绍Oracle数据库中的一些常用分析函数。
1.ROW_NUMBER函数:该函数为查询结果中的每一行分配一个唯一的数字。
可以用它对结果进行排序或分组。
例如,可以使用ROW_NUMBER函数在结果集中为每个员工计算唯一的编号。
2.RANK和DENSE_RANK函数:这两个函数用于计算结果集中每个行的排名。
RANK函数返回相同值的行具有相同的排名,并且下一个排名值将被跳过。
DENSE_RANK函数类似,但是下一个排名值不会被跳过。
G和LEAD函数:LAG函数返回结果集中指定列的前一个(上一个)行的值,而LEAD函数返回后一个(下一个)行的值。
这些函数通常用于计算增长率或发现趋势。
4.FIRST和LAST函数:这两个函数用于返回结果集中分组的第一个和最后一个行的值。
可以与GROUPBY子句一起使用。
5.CUME_DIST函数:该函数用于计算给定值的累积分布。
它返回值的累积分布在结果集中的位置(百分比)。
6.PERCENT_RANK函数:该函数用于计算结果集中每个行的百分位数排名。
它返回值的百分位数排名(0到1之间的小数)。
7. NTILE函数:该函数用于将结果集分成指定数量的桶(Bucket),并为每个行分配一个桶号。
通常用于将数据分组为更小的块。
8.LISTAGG函数:该函数将指定列的值连接成一个字符串,并使用指定的分隔符分隔每个值。
可以用它将多个值合并在一起形成一个字符串。
9.AVG、SUM、COUNT和MAX/MIN函数:这些是常见的聚合函数,可以在分析函数中使用。
它们用于计算结果集中的平均值、总和、计数和最大/最小值。
以上只是Oracle数据库中的一些常用分析函数。
还有其他一些分析函数,如PERCENTILE_CONT、PERCENTILE_DISC等可以用于更高级的分析计算。
oracle优化方法总结

千里之行,始于足下。
oracle优化方法总结Oracle优化是提高数据库性能和响应能力的重要步骤。
本文总结了一些常见的Oracle优化方法。
1. 使用索引:索引是提高查询性能的主要方法。
通过在表中创建适当的索引,可以加快查询速度,并减少数据访问的开销。
但是要注意不要过度使用索引,因为过多的索引会增加写操作的开销。
2. 优化查询语句:查询语句的效率直接影响数据库的性能。
可以通过合理地编写查询语句来提高性能。
例如,使用JOIN来替代子查询,尽量避免使用通配符查询,使用LIMIT来限制结果集的大小等。
3. 优化表结构:表的设计和结构对数据库的性能也有很大的影响。
合理的表设计可以减少数据冗余和不必要的数据存储,提高查询速度。
例如,适当地使用主键、外键和约束,避免过多的数据类型和字段等。
4. 优化数据库参数设置:Oracle有很多参数可以用来调整数据库的性能。
根据具体的应用场景和需求,可以根据情况调整参数的值。
例如,调整SGA和PGA的大小,设置合适的缓冲区大小,调整日志写入方式等。
5. 使用分区表:当表的数据量很大时,可以考虑将表分成多个分区。
分区表可以加速查询和维护操作,提高数据库的性能。
可以按照时间、地域、业务等来进行分区。
6. 优化存储管理:Oracle提供了多种存储管理选项,如表空间和数据文件管理。
合理地分配存储空间和管理数据文件可以提高数据库的性能。
例如,定期清理无用的数据文件,使用自动扩展表空间等。
第1页/共2页锲而不舍,金石可镂。
7. 数据压缩:对于大量重复数据或者冷数据,可以考虑使用Oracle的数据压缩功能。
数据压缩可以减少磁盘空间的使用,提高IO性能。
8. 使用并行处理:对于大型计算或者批处理任务,可以考虑使用Oracle的并行处理功能。
并行处理可以将任务分成多个子任务,并行执行,提高处理能力和效率。
9. 数据库分区:对于大型数据库,可以考虑将数据库分成多个独立的分区。
数据库分区可以提高数据的并行处理能力,减少锁竞争和冲突,提高数据库的性能。
Oracle培训ppt课件

游标、异常处理及事务控制
2024/1/24
游标
01
游标是用于处理查询结果的一种数据结构,可以逐行访问查询
结果集中的数据。
异常处理
02
PL/SQL提供了异常处理机制,可以捕获和处理程序运行过程中
的错误或异常情况。
事务控制
03
PL/SQL支持事务控制语句,如COMMIT、ROLLBACK和
SAVEPOINT,用于管理数据库事务的提交和回滚。
22
Oracle SQL增强功能介绍
Oracle SQL扩展
Oracle数据库为SQL语言提供了许多扩展功能, 如PL/SQL编程、分区表、物化视图等。这些功能 可以提高数据库的性能、可维护性和灵活性。
数据完整性保障
Oracle数据库提供了ACID事务特性、约束( constraint)和触发器(trigger)等机制,确保 数据的完整性和一致性。这些功能可以防止脏读 、不可重复读和幻读等问题。
2024/1/24
9
物理存储结构
数据文件
存储数据的物理文件, 如表数据和索引数据。
2024/1/24
控制文件
记录数据库的物理结构 的文件,包括数据文件 和日志文件的位置和状
态信息。
重做日志文件
归档日志文件
记录数据库所有更改的 文件,用于在故障时恢
复数据。
10
当重做日志文件满时, 可将其转移到归档日志 文件中,以释放空间。
运行测试查询
执行一些简单的SQL查询,验证数据库是否正常工作。
检查日志文件
查看Oracle数据库的日志文件,确保没有错误或警告信 息。
2024/1/24
监控数据库性能
使用Oracle Enterprise Manager (OEM) 或其他性能监 控工具监控数据库的性能指标,如CPU利用率、内存使用 情况等。
韩顺平oracle学习笔记

韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。
学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。
期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
Oracle数据库学习笔记

Oracle数据库学习笔记Oracle数据库基础 orcale属于关系型数据库,适⽤于各类⼤,中,⼩,微机环境,是⼀种⾼效率、可靠性好的、适应⾼吞吐量的数据库⽅案。
学习,实验完全免费,商⽤需要⽀付相应费⽤。
Oracle 数据库包括数据库实例,和数据库,⼆者脱离谁都没有存在的价值。
实例是⽤来操作数据库的对象,数据库是⽤来存储数据使⽤的。
Oracle主要组件包含实例组件,数据库组件。
SGA(System Global Area)是Oracle Instance的基本组成部分,PGA(Process Global Area)是为每个连接到Oracle database的⽤户进程保留的内存。
每个实例只有⼀个SGA,所有的进程都能访SGA。
PGA是程序全局区,每个⼀个进程都⼀个PGA,PGA是私有的,只有对应进程才能访问对应的PGA。
数据库中包含:参数⽂件,⼝令⽂件,数据库⽂件,控制⽂件,⽇志⽂件以及归档⽇志⽂件。
Oracle实例进场包含⽤户进程,服务器进程和后台进程。
SGA:系统全局区 系统全局区包含共享池,数据缓冲区,⽇志缓冲区。
“共享池”:是对SQL,PL/SQL程序进⾏语法分析,编译,执⾏的内存区;由库缓存和数据字典缓存组成;其⼤⼩直接影响数据库性能。
“数据缓冲区”:临时存储从数据库读⼊的数据,所有⽤户共享,数据缓存区的⽬的是加快数据读写。
“⽇志缓冲区”:⽇志记录数据库所有修改信息,其先产⽣于⽇志缓冲区,当达到⼀定数量时,由后台进程将⽇志数据写到⽇志⽂件中。
PGA:程序全局区 PGA包含单个服务器进程所需要的数据和控制信息,在⽤户进程连接到数据库并创建⼀个会话时⾃动分配的,保存每个与数据库连接的⽤户进程所需要的信息。
PGA为⾮共享区,只能单个进程使⽤,当⼀个⽤户会话结束,PGA释放。
后台进程 后台进程中包含PMON(进程监视器(Process Monitor)),SMON(系统监视器(System Monitor)),DBWR(数据库书写器(Database Write)),LGWR(⽇志书写器(Log Write)),CKPT(检查点(Checkpoint)),以及其他。
oracle语法大全

第一篇基本操作--解锁用户alter user 用户account unlock;--锁定用户alter user 用户account lock;alter user scott account unlock;--创建一个用户yc 密码为a create user 用户名identified by 密码;create user yc identified by a;--登录不成功,会缺少create session 权限,赋予权限的语法grant 权限名to 用户;grant create session to yc;--修改密码alter user 用户名identified by 新密码;alter user yc identified by b;--删除用户drop user yc ;--查询表空间select *from dba_tablespaces;--查询用户信息select *from dba_users;--创建表空间create tablespace ycspacedatafile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--创建临时表空间create temporary yctempspacetempfile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--查询数据文件select *from dba_data_files;--修改表空间--1、修改表空间的状态--默认情况下是online,只有在非离线情况下才可以进行修改alter tablespace ycspace offline ; --离线状态,不允许任何对象对该表空间的使用,使用情况:应用需要更新或维护的时候;数据库备份的时候alter tablespace ycspace read write;--读写状态alter tablespace ycspace online;alter tablespace ycspace read only; --只读,可以查询信息,可以删除表空间的对象,但是不能创建对象和修改对象。
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最全面的错误疑难解决方案和总结文档
通过配置sqlnet。ora文件,可以修改oracle登录认证方式:
SQLNET。AUTHENTICATION_SERVICES=(NTS)是基于操作系统验证
SQLNET。AUTHENTICATION_SERVICES=(NONE)是基于Oracle验证
update;insert;delete;select
(
预定义角色:把常用的权限集中起来,形成角色(套餐)
比如dba connect resource三种角色
自定义角色:自己定义套餐
(
在一个数据库实例下:
当一个用户,创建好后,如果该用户创建了任意一个数据对象(表或触发器等),这时我们的DBMS就会创建一个对应的方案与该用户对应,并且该方案名字和用户名一致。
启动oraclehome92TNSlistener服务
2.database instance没有启动:services。msc或开始—〉程序—>管理工具—〉服务启动oralceserviceXXX,XXX就是你databaseSID如zhulin
3。注册表问题:
regedit。msc
进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
(2)oradim–startup–sid数据库实例名
linux下:
(1)lsnrctl start(启动监听)
(2)sqlplus sys/chang_on_install as sysdba(以sysdba身份登录)
sqlplus /nolog
conn sys/chang_on_install as sysdba
oracle数据库常用关键字汇总!
oracle数据库常⽤关键字汇总!Oracle基础数据类型: 4类: 字符型:字符串 char(最⼤2000), nchar(最⼤1000, ⽀持Unicode)--->固定长度 varchar2(最⼤4000), nvarchar2(最⼤2000, ⽀持Unicode)--->可变长度 数字类型 包括整数和⼩数 number(有效数字, 总位数); float()--->存储⼆进制类型的数据, 1-126位0.30103 ⽇期类型:时间 date:取值范围:公元前4712年1⽉1号---公元9999年12⽉31号, 可以直接精确到秒 timestamp(时间戳: 更精确的数据, 可以精确到毫秒) 其它类型:⼤⽂本, ⽂件 blob: 最⼤4G, 以⼆进制的形式来存放数据 clob: 最⼤4G, 以字符串的形式存放 Oracle运算符和表达式 表达式类似于java, 可以是常量, 可以是变量, 也可以是表中的⼀个字段 算术运算符(+ - * /) ⽐较运算符(> >= < <= = <>/!=) 逻辑运算符(and or not) 字符串连接符(||) 常⽤关键字 insert into----insert into 表名 values (); delete-----DELETE 表名 WHERE 列名运算符条件 update----UPDATE 表名 SET 列名=值 WHERE 限制条件 select---尽量不要写* where in like(%, _)---模糊查询,%表⽰0个或多个;_表⽰⼀个; order by----SELECT * FROM emp ORDER BY deptid DESC, ID DESC(排序,加上desc成倒序) group by--(group by 增强)-------结合分组函数使⽤ SELECT deptid FROM emp GROUP BY deptid having case...when...--------SELECT CASE E.SSEX WHEN 1 THEN '男' WHEN 0 THEN '⼥' ELSE '不详' END bb FROM EMP E; set distinct----去除⼀列中的重复; between...and(闭合区间, 即包括前⾯的数, 也包括后⾯的数) all-------SELECT * FROM emp e WHERE e.intime>=ALL(SELECT e1.intime FROM emp e1);。
oracle select字段的类型 -回复
oracle select字段的类型-回复Oracle是一种常用的关系型数据库管理系统(RDBMS),其查询语言(SQL)是一种用于访问和操作数据库的标准化语言。
在Oracle中,使用SELECT语句可以从数据库表中检索数据。
本文将详细介绍Oracle SELECT字段的类型,并逐步回答相关问题。
首先,我们需要了解什么是字段。
在数据库中,表是由行和列组成的数据结构,列也被称为字段。
每个字段都有一个特定的数据类型,它定义了该字段可以存储的数据的类型和限制。
下面是一些常见的Oracle SELECT字段类型及其用途:1. 字符类型(Character Types):- CHAR:用于存储固定长度的字符数据,最多可以包含2000个字符。
- VARCHAR2:用于存储可变长度的字符数据,最多可以包含4000个字符。
- NCHAR:用于存储固定长度的Unicode字符数据,最多可以包含2000个字符。
- NVARCHAR2:用于存储可变长度的Unicode字符数据,最多可以包含4000个字符。
例:SELECT first_name, last_nameFROM employees;2. 数字类型(Numeric Types):- NUMBER:用于存储数值数据,可以是整数或小数。
- FLOAT:用于存储浮点数,可以存储非常大或非常小的数字。
- INTEGER:用于存储整数数据。
- SMALLINT:用于存储较小范围的整数数据。
例:SELECT employee_id, salaryFROM employees;3. 日期和时间类型(Date and Time Types):- DATE:用于存储日期和时间。
- TIMESTAMP:用于精确到毫秒级别的日期和时间。
- INTERVAL:用于表示两个日期之间的间隔。
例:SELECT hire_date, SYS_EXTRACT_UTC(timestamp_column) FROM employees;4. 大对象类型(Large Object Types):- BLOB:用于存储二进制大对象,如图像、音频和视频。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. SQL语言分类 种类 缩写 全称 常用操作 数据定义语言 DDL Data define language create, alter, drop 数据操纵语言 DML Data Manipulation Language select, insert, delete, update 事务操纵语言 TCL Transaction Control Language commit, savapoint, rollback 数据操纵语言 DCL Data Control Language grant, revoke
2. SQL常用数据类型
分类 关键字 表示范围 备注 字符 char 1~2000字节 固定长度 varchar2 1~4000字节 可自增长长度 long 2GB 可自增长长度 数值 number 定义方式 number(P,[S]) P:长度 S:精度 日期 date 日期和时刻部分,精确到整个的秒 timestamp 存储日期、时刻和时区信息,秒值精确到小数点后6位 RAW raw 1~2000字节 存储二进制数据 long raw 2GB 存储二进制数据 LOB clob 4GB 能够存储大量字符数据 blob 4GB 能够存储较大的二进制对象,如图形、视频剪辑和声音文件 bfile 4GB 用于将二进制数据存储在数据库外部的操作系统文件中
3. Oracle中的伪列
Oracle 中伪列就像一个表列,然而它并没有存储在表中 伪列能够从表中查询,但不能插入、更新和删除它们的值 常用的伪列有 ROWID 和ROWNUM 3.1. ROWID ROWID是表中行的存储地址,该地址能够唯一地标识数据库中的一行,能够使用ROWID伪列快速地定位表中的一行。 3.2. ROWNUM ROWNUM是查询返回的结果集中行的序号,能够使用它来限制查询返回的行数。 4. 命名规则 Oracle中的各种数据对象,包括表名称,视图等等名称的命名都需要遵循Oracle的命名规则。Oracle的命名规则分为标准命名方式和非标准命名方式。 标准命名方式 以字符打头30个字符以内只能包含A-Z,a-z,0-9,_,$和#。不能和同一个用户下的其他对象重名,不能是oracle服务器的保留字。 非标准命名方式 你能够使用你想使用的任何字符,包括中文,oracle中的保留字,空格等等,然而需要将对象名用双引号引起来。例如: create table “table” (test1 varchar2(10)); 5. 创建表空间 CREATE TABLESPACE tablespacename DATAFILE ‘filename’ [SIZE integer [K|M]] [AUTOEXTEND [OFF|ON]]; 注:大写字母为关键字,小写部分为用户自定义部分;[]中的内容为可选择部分。 例:create tablespace my_tablespace datafile ‘c:\myspace’ size 100K autoextend on; 6. Oracle用户操作 6.1. 创建用户 CREATE USER username IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace]; 例:create user scott identified by tiger; 6.2. 密码修改 ALTER USER username IDENTIFIED BY newpassword 6.3. 锁定用户 ALTER USER username ACCOUNT LOCK; 6.4. 撤销锁定 ALTER USER username ACCOUNT UNLOCK; 6.5. 删除用户 DROP USER username; 7. 权限治理 Oracle权限有两种类型,系统权限和对象权限。 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 7.1. 系统权限治理 7.1.1. 系统权限分类 DBA:拥有全部特权,是系统最高权限,只有DBA才能够创建数据库结构。 RESOURCE:拥有Resource权限的用户只能够创建实体,不能够创建数据库结构。 CONNECT:拥有Connect权限的用户只能够登录Oracle,不能够创建实体,不能够创建数据库结构。 关于一般用户:授予connect, resource权限。 关于DBA治理用户:授予connect, resource, dba权限。 7.1.2. 系统权限授权 系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户) 授权命令:GRANT connect, resource, dba TO username; 一般用户通过授权能够具有与system相同的用户权限,但永久不能达到与sys用户相同的权限,system用户的权限也能够被回收。 例:grant connect, resource to scott; 7.1.3. 系统权限传递 增加WITH ADMIN OPTION选项,则得到的权限能够传递。 例:grant connect, resorce to user01 with admin option; 7.1.4. 系统权限回收 REVOKE connect, resource FROM username; 7.2. 实体权限治理 7.2.1. 实体权限分类 select, update, insert, alter, index, delete, all等 7.2.2. 实体权限授权 GRANT select, update, insert ON tablename TO username; 例:grant all on emp to scott; 7.2.3. 实体权限传递 例:user01:grant select, update on product to user02 with grant option; 7.2.4. 实体权限回收 REVOKE select, update ON tablename FROM username; 8. 角色治理 角色是一组权限的集合,将角色赋给一个用户,那个用户就拥有了那个角色中的所有权限。 8.1. 系统预定义角色 预定义角色是在数据库安装后,系统自动创建的一些常用的角色。 角色所包含的权限能够用以下语句查询: select * from role_sys_privs where role=’角色名’; CONNECT, RESOURCE, DBA 这些预定义角色要紧是为了向后兼容。其要紧是用于数据库治理。oracle建议用户自己设计数据库治理和安全的权限规划,而不要简单的使用这些预定角色。 DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE 这些角色要紧用于访问数据字典视图和包 SNMPAGENT 用于oracle enterprise manager和Intelligent Agent RECOVERY_CATALOG_OWNER 用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》 HS_ADMIN_ROLE A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary. 8.2. 治理角色 建一个角色 create role role1; 授权给角色 grant create any table, create procedure to role1; 授予角色给用户 grant role1 to user1; 查看角色所包含的权限 select * from role_sys_privs; scott的权限如图:
--查看scott用户具有什么系统权限 select * from role_sys_privs; --查看scott用户自己拥有什么角色 select * from user_role_privs; --查看scott用户自己具有什么的权限 select * from SESSION_ROLES; --查scott用户的创建时刻、用户状态、使用的默认表空间、临时表空间等信息 select * from user_users; --查看scott用户中,都哪些用户把对象授予给scott用户 select * from user_tab_privs; --查看scott用户中拥有的resource角色都具有什么权限