Oracle数据字典2
4.属性 表(视图)的属性(列)信息查看sql如下(以视图user_coll_types举例): select lower(column_name) column_name,nullable,decode
(data_type,'VARCHAR2',data_type||'('||char_length||')',data_type) data_type from dba_tab_columns where lower(table_name)='user_coll_types' order by column_id; --》调整类型 select lower(column_name) column_name,nullable,data_type||'('||data_length||')'
data_type from dba_tab_columns where lower(table_name)='user_coll_types' order by column_id; 4.1 集合、LOB、对象类型和对象表 1.集合 user_coll_types 集合类型 user_varrays varray数组类型 user_nested_tables 嵌套表 user_coll_types 列 是否为空 类型 说明 type_name N VARCHAR2(30) 集合名称 coll_type N VARCHAR2(30) 集合类型,可以是表或可变数组 upper_bound Y NUMBER 数组类型元素的最大上限 elem_type_mod Y VARCHAR2(7) 元素类型修改符(如REF) elem_type_owner Y VARCHAR2(30) 元素类型的拥有者(只在与集合自身的拥有
者不同时有效) elem_type_name Y VARCHAR2(30) 元素类型的名称 length Y NUMBER 如果元素类型是CHAR或VARCHAR2,则为其长
度 precision Y NUMBER 如果元素是NUMBER类型,则为精度 scale Y NUMBER 如果元素是NUMBER类型,则为比例 character_set_name Y VARCHAR2(44) 在说明了CHARCS或NCHARCS时为字符集名称。 elem_storage Y VARCHAR2(7) Oracle8i中使用的若干varray元素的存储字符
。 nulls_stored Y VARCHAR2(3) Oracle8i中在存储了varray元素空信息时使用
。 user_varrays 列 是否为空 类型 说明 parent_table_name Y VARCHAR2(30) 包括表的名称 parent_table_column Y VARCHAR2(4000) 带有集合的包括表的拥有者 type_owner Y VARCHAR2(30) 集合类型的拥有者 type_name Y VARCHAR2(30) 集合类型的名称 lob_name Y VARCHAR2(30) 如果在LOB中有集合的话,则为该LOB的名称 storage_spec Y VARCHAR2(30) 为DEFAULT或USER SPECIFIED。 return_type Y VARCHAR2(20) 列的返回类型 element_substitutable Y VARCHAR2(25) user_nested_tables 列 是否为空 类型 说明 table_name Y VARCHAR2(30) 如果在LOB中有集合的话,则为该LOB的名称 table_type_owner Y VARCHAR2(30) 集合类型的拥有者 table_type_name Y VARCHAR2(30) 集合类型的名称 parent_table_name Y VARCHAR2(30) 包括表的名称 parent_table_column Y VARCHAR2(4000) 带有集合的包括表的拥有者 storage_spec Y VARCHAR2(30) 为DEFAULT或USER SPECIFIED。 return_type Y VARCHAR2(20) 列的返回类型 element_substitutable Y VARCHAR2(25) 2.大型对象 user_lobs LOB 列 是否为空 类型 说明 table_name Y VARCHAR2(30) 包括LOB的表的名称 column_name Y VARCHAR2(4000) LOB列或属性的名称 segment_name Y VARCHAR2(30) LOB段的名称 tablespace_name Y VARCHAR2(30) LOB所在表空间 index_name Y VARCHAR2(30) LOB索引的名称 chunk Y NUMBER 以字节为分配或操作单位的LOB块长度。 pctversion Y NUMBER 用于存储版本信息的LOB的最大百分比。 retention Y NUMBER freepools Y NUMBER cache Y VARCHAR2(10) 如果LOB可使用缓冲区为YES,否则为NO。 logging Y VARCHAR2(7) 如果记录了LOB的变更则为YES,否则为NO。 in_row Y VARCHAR2(3) 如果LOB使用基行存储的话为YES,否则为NO
。 format Y VARCHAR2(15) partitioned Y VARCHAR2(3) 3.对象表类型 user_types 对象类型 user_type_attrs 对象类型的属性 user_type_methods 对象类型的方法 user_object_tables 对象表 user_types type_name N VARCHAR2(30) 对象类型的名称 type_oid N RAW(16) 类型的对象标识符(OID) typecode Y VARCHAR2(30) 类型OBJECT,TABLE,VARCHAR2,NUMBER等的类
型码 attributes Y NUMBER(22) 类型属性个数 methods Y NUMBER(22) 类型方法的个数 predefined Y VARCHAR2(3) 如果类型是预定义的则为YES,如果是用户定
义的则为NO。 incomplete Y VARCHAR2(3) 如果类型不完整则为YES,否则为NO。 final Y VARCHAR2(3) instantiable Y VARCHAR2(3) supertype_owner Y VARCHAR2(30) supertype_name Y VARCHAR2(30) local_attributes Y NUMBER(22) local_methods Y NUMBER(22) typeid Y RAW(16) user_type_attrs type_name N VARCHAR2(30) 对象类型的名称 attr_name N VARCHAR2(30) 属性的名称 attr_type_mod Y VARCHAR2(7) 属性的类型修改符(如REF) attr_type_owner Y VARCHAR2(30) 如果是用户定义的类型,则为属性类型的拥有者 attr_type_name Y VARCHAR2(30) 如果是用户定义的类型,则为属性类型的名称 length Y NUMBER CHAR或VARCHAR2属性的长度。 precision Y NUMBER NUMBER属性的精度。 scale Y NUMBER NUMBER属性的比例 character_set_name Y VARCHAR2(44) 说明的属性字符集 attr_no N NUMBER 在起始语句CREATE TYPE中说明的属性位置。 inherited Y VARCHAR2(3) user_type_methods type_name N VARCHAR2(30) 对象类型的名称 method_name N VARCHAR2(30) 方法的名称 method_no N NUMBER(22) 用于区别重载方法的方法号 method_type Y VARCHAR2(6) 方法类型,可以是M A P、O R D E R、P U B L I C
之一。 parameters N NUMBER(22) 方法的参数个数 results N NUMBER(22) 方法返回结果个数 final Y VARCHAR2(3) instantiable Y VARCHAR2(3) overriding Y VARCHAR2(3) inherited Y VARCHAR2(3) user_object_tables table_name N VARCHAR2(30) tablespace_name Y VARCHAR2(30) cluster_name Y VARCHAR2(30) iot_name Y VARCHAR2(30) status Y VARCHAR2(8) pct_free Y NUMBER(22) pct_used Y NUMBER(22) ini_trans Y NUMBER(22) max_trans Y NUMBER(22) initial_extent Y NUMBER(22) next_extent Y NUMBER(22) min_extents Y NUMBER(22) max_extents Y NUMBER(22) pct_increase Y NUMBER(22) freelists Y NUMBER(22) freelist_groups Y NUMBER(22) logging Y VARCHAR2(3) backed_up Y VARCHAR2(1) num_rows Y NUMBER(22) blocks Y NUMBER(22) empty_blocks Y NUMBER(22) avg_space Y NUMBER(22) chain_cnt Y NUMBER(22) avg_row_len Y NUMBER(22) avg_space_freelist_blocks Y NUMBER(22) num_freelist_blocks Y NUMBER(22) degree Y VARCHAR2(10) instances Y VARCHAR2(10) cache Y VARCHAR2(5) table_lock Y VARCHAR2(8) sample_size Y NUMBER(22) last_analyzed Y DATE(7) partitioned Y VARCHAR2(3) iot_type Y VARCHAR2(12) object_id_type Y VARCHAR2(16) table_type_owner Y VARCHAR2(30) table_type Y VARCHAR2(30) temporary Y VARCHAR2(1) secondary Y VARCHAR2(1) nested Y VARCHAR2(3) buffer_pool Y VARCHAR2(7) row_movement Y VARCHAR2(8) global_stats Y VARCHAR2(3) user_stats Y VARCHAR2(3) duration Y VARCHAR2(15) skip_corrupt Y VARCHAR2(8) monitoring Y VARCHAR2(3) cluster_owner Y VARCHAR2(30) dependencies Y VARCHAR2(8) compression Y VARCHAR2(8) dropped Y VARCHAR2(3) 4.2 其他数据库对象 1.数据库任务 user_jobs job N NUMBER 任务ID号。只要该任务存在,该ID就保持不变 log_user N VARCHAR2(30) 提交任务的用户 priv_user N VARCHAR2(30) 默认权限适用于该任务的用户 schema_user N VARCHAR2(30) 任务的默认模式 last_date Y DATE 任务上一次执行成功的日期 last_sec Y VARCHAR2(8) 意义与last_date相同,为HH24:MI:SS格式(只有时间
格式) this_date Y DATE 任务开始执行的日期。如果任务没有开始则为空。 this_sec Y VARCHAR2(8) 任务开始执行的时间,只有时间格式HH24:MI:SS next_date N DATE 当任务将在下一次执行时的日期 next_sec Y VARCHAR2(8) 当任务将在下一次执行时的时间,只有时间格式HH24:
MI:SS total_time Y NUMBER 系统在任务上的总时间开销(以秒为单位) broken Y VARCHAR2(1) 如果任务中断则为Y,否则为N。 interval N VARCHAR2(200) 时间间隔:用来计算next_date值的日期函数。 failures Y NUMBER 自从成功执行上一个任务后的失败次数 what Y VARCHAR2(4000) 构成匿名PL/SQL块的包体。限长4000字节 nls_env Y VARCHAR2(4000) 任务的NLS环境(由ALTER SESSION说明) misc_env Y RAW 任务其他会话的参数 instance Y NUMBER 在Oracle8i下运行该任务的OPS环境的实例(数据库实例) dba_jobs_running sid Y NUMBER 正在运行任务的进程的进程标识符 job Y NUMBER 任务号 failures Y NUMBER 自从上次成功运行后任务执行失败的次数 last_date Y DATE 该任务成功运行的最后日期 last_sec Y VARCHAR2(8) 与last_date相同,但以字符格式返回,只有时间格式
HH24:MI:SS this_date Y DATE 按计划下次运行任务的日期 this_sec Y VARCHAR2(8) 与this_date相同,但以字符格式返回,只有时间格式
HH24:MI:SS instance Y NUMBER 在Oracle8i下运行该任务的OPS环境的实例(数据库实例) 2.数据库连接 user_db_links db_link N VARCHAR2(128) 数据库连接名 username Y VARCHAR2(30) 将使用连接的用户名 password Y VARCHAR2(30) 将使用连接的用户密码 host Y VARCHAR2(2000) 用于连接的Net8字符串:主机地址 created N DATE 数据库连接创建的日期 3.目录 all_directories owner N VARCHAR2(30) 所有者 directory_name N VARCHAR2(30) 目录名 directory_path Y VARCHAR2(4000) 目录所在的文件系统的操作系统路径 4.库(字典) user_libraries library_name N VARCHAR2(30) 库名 file_spec Y VARCHAR2(2000) 库所在文件目录的操作系统路径及库文件(如:dll) dynamic Y VARCHAR2(1) 如果该库是动态的(.dll),则为Y,否则为N status Y VARCHAR2(7) 库状态—VALID或INVALID 5.序列 user_sequences sequence_name N VARCHAR2(30) 序列名 min_value Y NUMBER 序列的起始值 max_value Y NUMBER 序列的终止值 increment_by N NUMBER 步长:为每个NEXTVAL增加的序列数的取值 cycle_flag Y VARCHAR2(1) 如果在极限达到时回转则为Y,否则为N order_flag Y VARCHAR2(1) 如果按顺序生成序列数则为Y,否则为N cache_size N NUMBER 缓冲序列数的个数 last_number N NUMBER 写入磁盘的最后序列数。该数可能与CURRVAL不同 6.替代名(同义词) user_synonyms synonym_name N VARCHAR2(30) 替代名的名称 table_owner Y VARCHAR2(30) 由synonym引用对象的拥有者 table_name N VARCHAR2(30) 由synonym引用对象的名称 db_link Y VARCHAR2(128) 由远程synonym引用的数据库连接 4.3 子程序、方法、触发器 1.子程序 user_procedures 子程序名(包括过程、函数、包) user_arguments 子程序参数(包括过程、函数、包) user_procedures object_name N VARCHAR2(30) 子程序的名称 procedure_name Y VARCHAR2(30) 包下子程序的名称 aggregate Y VARCHAR2(3) 聚集;集合 pipelined Y VARCHAR2(3) 管道;传递途径 impltypeowner Y VARCHAR2(30) impltypename Y VARCHAR2(30) parallel Y VARCHAR2(3) 并行 interface Y VARCHAR2(3) 接口 deterministic Y VARCHAR2(3) authid Y VARCHAR2(12) user_arguments object_name Y VARCHAR2(30) 子程序的名称 package_name Y VARCHAR2(30) 包名:如果子程序在包中的话,则为该包的名称 object_id N NUMBER 对象号:对子程序进行的编号 overload Y VARCHAR2(40) 重载子程序的唯一标识符 argument_name Y VARCHAR2(30) 参数名 position N NUMBER 参数在表中的位置,或在函数返回值为空 sequence N NUMBER 包括在嵌套层中的参数序列 data_level N NUMBER 复合类型(表或记录)参数的层次 data_type Y VARCHAR2(30) 参数的数据类型 default_value Y LONG 说明的默认值 default_length Y NUMBER 默认参数的长度 in_out Y VARCHAR2(9) 参数模式为IN,OUT,IN OUT之一 data_length Y NUMBER 按字节计算的参数长度 data_precision Y NUMBER 参数精度 data_scale Y NUMBER 参数比例 radix Y NUMBER 参数的表示基数 character_set_name Y VARCHAR2(44) 说明的参数字符集 type_owner Y VARCHAR2(30) 用户定义参数类型的拥有者 type_name Y VARCHAR2(30) 用户定义参数类型的名称 type_subname Y VARCHAR2(30) 用户定义附属类型的名 type_link Y VARCHAR2(128) 远程用户定义类型时的数据库连接名称 pls_type Y VARCHAR2(30) char_length Y NUMBER char_used Y VARCHAR2(1) 2.方法 user_method_params 对象类型方法的参数 user_method_results 对象类型方法的返回值 user_method_params type_name N VARCHAR2(30) 对象类型的名称 method_name N VARCHAR2(30) 方法名 method_no N NUMBER 方法号(用于区别重载的方法) param_name N VARCHAR2(30) 参数名 param_no N NUMBER 参数个数或位置 param_mode Y VARCHAR2(6) 参数模式(IN、OUT、IN OUT) param_type_mod Y VARCHAR2(7) 参数类型修改符(如REF) param_type_owner Y VARCHAR2(30) 参数类型拥有者 param_type_name Y VARCHAR2(30) 参数类型名 character_set_name Y VARCHAR2(44) 定义的参数字符集 user_method_results type_name N VARCHAR2(30) 对象类型名称 method_name N VARCHAR2(30) 方法名称 method_no N NUMBER 方法号(用于区别重载的方法) result_type_mod Y VARCHAR2(7) 返回值的类型修改符(如REF) result_type_owner Y VARCHAR2(30) 如果是用户定义的类型,则为返回值类型的拥有者 result_type_name Y VARCHAR2(30) 如果是用户定义的类型,则为返回值类型的名称 character_set_name Y VARCHAR2(44) 定义的返回值字符集 3.触发器 user_triggers 触发器 user_trigger_cols 触发器的列 user_triggers trigger_name Y VARCHAR2(30) 触发器名称 trigger_type Y VARCHAR2(16) 触发器类型,包括:BEFORE EACH ROW,AFTER EACH
ROW,BEFORE STATEMENT,AFTER STATEMENT,INSTEAD OF triggering_event Y VARCHAR2(227) 触发事件,包括:INSERT,UPDATE,DELETE及其任意
组合(如:INSERT OR UPDATE OR DELETE) table_owner Y VARCHAR2(30) 表的所有者 base_object_type Y VARCHAR2(16) 基本对象类型(表的类型),包括:TABLE,VIEW table_name Y VARCHAR2(30) 表名(含视图名) column_name Y VARCHAR2(4000) 列名:用于触发器的列名称 referencing_names Y VARCHAR2(128) 参照名:REFERENCING NEW AS NEW OLD AS OLD when_clause Y VARCHAR2(4000) 条件:触发动作需要满足的条件 status Y VARCHAR2(8) 状态:enable,disable description Y VARCHAR2(4000) 描述:触发器头 action_type Y VARCHAR2(11) 动作类型:PL/SQL trigger_body Y LONG 触发器体: 触发器体完全放置在Long字段中,导致触发
器不能很长,可将独立功能用PROCEDURE实现,在触发器中调用即可。 user_trigger_cols trigger_owner Y VARCHAR2(30) 触发器的所有者 trigger_name Y VARCHAR2(30) 触发器名称 table_owner Y VARCHAR2(30) 表的所有者 table_name Y VARCHAR2(30) 表名(含视图名) column_name Y VARCHAR2(4000) 用于触发器的列名称 column_list Y VARCHAR2(3) 如果在update子句中说明该列的话,则为YES,否
则为NO。 column_usage Y VARCHAR2(17) 说明列在触发器中的引用方式。它可以带有操作符NEW
,OLD,IN,OUT,IN OUT 的组合。 4.4 源代码和编译错误 1.源代码 user_source 包,包体,函数,过程,对象类型,对象类型体的源代码 name Y VARCHAR2(30) 内置对象的名称 type Y VARCHAR2(12) 对象类型 line Y NUMBER 当前源代码行的行号 text Y VARCHAR2(4000) 当前行的源文本 2.编译错误 user_errors 视图和包,包体,函数,过程的编译错误 name N VARCHAR2(30) 对象名 type Y VARCHAR2(12) 对象类型 sequence N NUMBER 错误序号(针对同一个对象的多个错误) line N NUMBER 错误行号:错误所在的行号 position N NUMBER 错误位置号:错误所在的行中以零为基数的偏移量 text N VARCHAR2(4000) 包括错误代码和错误信息在内的错误文本 attribute Y VARCHAR2(9) 错误类型 message_number Y NUMBER 错误编号:oracle对错误的解析编号 4.5 相关和限制 1.相关 user_dependencies 对象之间的相关(引用) user_dependencies name N VARCHAR2(30) 对象名称 type Y VARCHAR2(17) 对象类型,可以是PROCEDURE、FUNCTION、
PACKAGE、PACKAGE BODY、TYPE、TYPE BODY、TRIGGER或JAVA CLASS(Oracle8i使用)。 referenced_owner Y VARCHAR2(30) 相关对象的所有者 referenced_name Y VARCHAR2(64) 相关对象名称 referenced_type Y VARCHAR2(17) 相关对象类型 referenced_link_name Y VARCHAR2(128) 与引用对象连接的数据库连接名称(在引用对象
为远程数据库时) schemaid Y NUMBER 模式序号(等价于userid的值) dependency_type Y VARCHAR2(4) 相关类型:HARD(确实、接近),REF(参考
)物化视图与表的相关性 2.限制 user_constraints 表的限制(约束) user_constraints 约束 owner N VARCHAR2(30) 所有者 constraint_name N VARCHAR2(30) 约束名 constraint_type Y VARCHAR2(1) 约束类型 包括:P,U,R,C table_name N VARCHAR2(30) 表名 search_condition Y LONG(0) 约束类型为C时的约束(条件) r_owner Y VARCHAR2(30) 外键关联的主键的所有者 r_constraint_name Y VARCHAR2(30) 外键关联的主键 delete_rule Y VARCHAR2(9) 级联删除规则:NO ACTION 不做处理,SET
NULL 设置为空,CASCADE 级联删除 status Y VARCHAR2(8) 状态:enable 有效,disable 无效 deferrable Y VARCHAR2(14) 是否延期 NOT DEFERRABLE deferred Y VARCHAR2(9) 延期处理类型 IMMEDIATE validated Y VARCHAR2(13) 经过验证的 VALIDATED generated Y VARCHAR2(14) 生成的;发生的 bad Y VARCHAR2(3) rely Y VARCHAR2(4) 依赖 last_change Y DATE(7) 最末一次修改时间 index_owner Y VARCHAR2(30) 相关索引的所有者 index_name Y VARCHAR2(30) 相关索引(名) invalid Y VARCHAR2(7) view_related Y VARCHAR2(14) |