E_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_ROLES
已选择7行。
SQL> l
1* select table_name from dict where table_name like '%ROLE%'
SQL> /
TABLE_NAME
------------------------------
DBA_ROLES
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_ROLES
已选择7行。
§1.6 常用数据字典简介
ORACLE 提供许多内部数据字典, 用以管理系统的各种信息和参数(即数据库对象),下面列出几个常用的数据字典供初学者参考,其它方面的数据字典将在DBA管理中介绍。
ORACLE 数据字典的命名说明:
USER 为前缀----记录用户的所有对象信息
ALL 为前缀----记录包括USER 记录和授权给PUBLIC 或该用
户的所有对象的信息。
DBA 为前缀----记录关于数据库对象(非用户对象)的信息。
V$ 公共系统动态视图,用于系统优化和调整参考.
V_$ 动态性能视图,你可用CATALOG.SQL 脚本建立动态视图建立同义词。
GV$ 新(oracle 8)的附加的固定视图(Global V$).在并行环境下反应的是
V$视图的信息。如:
SELECT * FROM GV$LOCK WHERE INST_ID = 2 OR INST_ID = 5 ;
返回的是instances 2 和5的V$的信息。所以GV$反应一组Instances的参数. GV$视图的限制是参数PARALLEL_MAX_SERVERS必须大于0 。
详见Oracle Enterprise Manager Administrator's Guide.
注:请注意下面的总结:
l 一般DBA_ 的视图内容都包含USER_和ALL_为前缀的视图;
l DBA_为前缀的视图的内容基本上是大写;
l 以V$_为前缀的视图的内容基本上是小写。
1. USER_TABLEs(=TABS) 用户的所有表的信息。
2.USER_TAB_COLUMNS(=COLS) 有关各表的列(字段)的信息
3.USER_VIEWS 用户的所有视图
4.USER_SYNONYMS(=SYN) 用户同义词
5.USER_SEQUENCES(=SEQ) 用户序列
6.USER_CONSTRAINTS 记录创建表结构时建立的限制。
7.USER_TAB_COMMENTS 表的注释。如:
Comment on table emp is '职工表';
8.USER_COL_COMMENTS 列(字段)注释。如:
Comment on column emp.ename is '姓名';
9.USER_INDEXES(=IND) 用户索引的简要信息
10.USER_IND_COLUMNS 用户索引的列信息
11.USER_TRIGGERS 用户触发器信息
12.USER_SOURCE 用户存储过程
13.USER_TABLESPACE 用户可以使用的表空间信息
14.USER_TS_QUOTAS 用户使用系统资源的信息
15.USER_SEGMENTS 用户对象所使用空间信息
16.USER_EXTENTS 用户的扩展段信息
17.USER_OBJECTS 用户对象
=USER_TABLES+USER_VIEWS+USER_INDEXES+
USER_SOURCE+USER_TRIGGERS+USER_JAVA
18.USER_PART_TABLES 用户分区信息
19.USER_TAB_PARTITIONS
20.USER_PART_COL_STATISTICS
21.USER_IND_PARTITIONS
22.USER_FREE_SPACE
23.CAT(=USER_CATALOG) 用户可以访问的所有的基表。
24.TAB 用户创建的所有基表,视图,同义词等。
25.DICT(=DICTIONARY) 构成数据字典的所有表的信息。
提示:虽然Oracle提供可以用Comment on column tablename.column is 'xxxx'; 等来实现对表或列进行注释,但不建议设计者采用这样的工作方式。而建议将注释写到脚本中更为直观。
§1.7 ORACLE数据类型
Oracle数据库的数据类型与其它的数据库系统相比,它的数据类型不多,Oracle在表示数据方面比其他数据库系统来说要省去许多关键字。Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。其它如日期类型等也简单得多,只DATE就表示日期和时间。下面以列表形式给出各个版本的Oracle系统数据类型的表示方法。下面给出Oracle旧版本的数据类型的目的是让读者了解Oracle的变化,另外就是你在对旧版本进行升级或数据转换时要注意各个版本的差别。
ORACLE5、ORACLE6数据类型
数据类型 说明
Char 可变长字符型,≤254
Varchar2 可变长字符型,≤2000
Number(m,n) 数字类型,含整数、小数等
Date 日期型,含时间,缺省格式为mmm-dd-yyyy hh:mi:ss(占7字节)
Long 存储大型可变长字符串,≤2GB
Raw 存储短二进制串,≤2GB
Long raw 存储长二进制串,≤2GB
ORACLE7数据类型
数据类型 说明
Char 定长字符,≤255个字符
Varchar 变长字符,≤2000个字符
Varchar2 变长字符,≤2000个字符
Number(m,n) 数字类型,含整数、浮点、双精度等
Long 存储大型可变长字符串,≤2GB
Raw 存储可变短二进制数,≤2000
Long raw 存储大型可变长二进制数,≤2GB
ORACLE8/8i 数据类型
数据类型 说明
Char 定长字符,≤2000个字符
Varchar (同Varchar2)可变字符,≤4000个字符
Varchar2 变长字符,≤4000个字符
Date 固定长度(7字节)的日期型
Number 数字型,可存放实型和整型
Long 可变字符,≤2GB个字符
Raw 可变二进制数据,≤4000字节
Long raw 可变二进制数据,≤2GB
MLSLABEL 仅Trusted Oracle 用长度在2~5字节间
Blob 大二进制对象,≤4GB
Clob 大字符串对象,≤4GB
Nclob 多字节字符集的Clob,≤4GB
Bfile 外部二进制文件,大小由OS决定
CHAR()
定长字符型(在Oracle5 、Oracle6 是变长),字符长度不够自动在右边加空格符号。当字符长度超出2000个则错误。不指定大小缺省为1。
VARCHAR()
可变字符型,当前与VARCHAR2()相同。
VARCHAR2()
可变字符型,当前与VARCHAR()相同。VARCHAR2 类型的字段(列)可存放4000个字符;但是VARCHAR2 变量可以存放32,767 个字符。大小必须指定。
NCHAR()和NVARCHAR2()
NCHAR 和NVARCHAR2 分别与CHAR和