您的当前位置:首页存储过程与Oracle中常见的数据字典的用法

存储过程与Oracle中常见的数据字典的用法

2023-11-13 来源:哗拓教育

create or replace procedure insert_user_procedure (id in number,name in varchar2,salary in number,result out varchar2) is begin insert into t_user values(id,name,salary); result:=‘调用存储过程成功‘;Exception when others then result:= ‘调用存储过程出错: ‘ || SQLERRM;end;call insert_user_procedure(?,?,?,?)
通过数据字典查询:
 select table_name from user_tables;//查询表 select sequence_name from user_sequences;//查询序列 select index_name from user_indexs;//查询索引

存储过程与Oracle中常见的数据字典的用法

标签:cal   varchar   str   tables   strong   过程   arch   exception   enc   

小编还为您整理了以下内容,可能对您也有帮助:

Oracle里面常用的数据字典有哪些

数据字典中包 含:
  ● 数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
  ● 数据库为一个方案对象分配了多少空间,以及该对象当前使用了多少空间
  ● 列的默认值
  ● 完整性约束(integrity constraint)信息
  ● 数据库用户名
  ● 每个用户被授予(grant)的权限(privilege)与角色(role)
  ● 监控(audit)信息,例如哪个用户对某个方案对象进行了访问或更新操作
  ● 数据库中的其他概要信息与数据库内的其他数据相同,数据字典也是以表及视图的形式组织的。一个数据库全部的数据字典表与数据字典视图都存储在该数据库的 SYSTEM 表空间内。数据字典不仅是 Oracle 数据库的基础组成部分,她也为所有用户--从终端用户,到应用程序设计者,再到数据库管理员--提供了一个重要的工具。数据字典可以通过SQL语句进行访问。由于数据字典是只读的,用户只能对这些表和视图执行查询操作(SELECT语句)。
  数据字典由以下两种结构组成:
  基表(base table)用于存储相关的数据库信息。只有 Oracle 才能读写这些表。用户很少直接访问她们,因为这些表是规范化(normalized),且其中的大部分数据的含义是普通用户无法理解的。
  用户访问视图(user-accessible view)用于对数据字典基表内存储的数据进行汇总与展示。这些视图利用连接(join)及 WHERE
  子句简化基表中的数据,将其解码(decode)为用户可理解的信息,例如用户名,表名等。大多数数据库用户只能访问这些视图,而不能访问基表。
  警告:修改或操作数据字典表中的数据可能会给数据库的运行带来不可恢复的损害。
  数据字典有三个主要用途:
  ● Oracle 利用数据字典来获取关于用户,方案对象,及存储结构(storagestructure)的信息。
  ● 每当数据库中执行了 DDL 语句后,Oracle 将对数据字典进行修改。

Oracle里面常用的数据字典有哪些

数据字典中包 含:
  ● 数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
  ● 数据库为一个方案对象分配了多少空间,以及该对象当前使用了多少空间
  ● 列的默认值
  ● 完整性约束(integrity constraint)信息
  ● 数据库用户名
  ● 每个用户被授予(grant)的权限(privilege)与角色(role)
  ● 监控(audit)信息,例如哪个用户对某个方案对象进行了访问或更新操作
  ● 数据库中的其他概要信息与数据库内的其他数据相同,数据字典也是以表及视图的形式组织的。一个数据库全部的数据字典表与数据字典视图都存储在该数据库的 SYSTEM 表空间内。数据字典不仅是 Oracle 数据库的基础组成部分,她也为所有用户--从终端用户,到应用程序设计者,再到数据库管理员--提供了一个重要的工具。数据字典可以通过SQL语句进行访问。由于数据字典是只读的,用户只能对这些表和视图执行查询操作(SELECT语句)。
  数据字典由以下两种结构组成:
  基表(base table)用于存储相关的数据库信息。只有 Oracle 才能读写这些表。用户很少直接访问她们,因为这些表是规范化(normalized),且其中的大部分数据的含义是普通用户无法理解的。
  用户访问视图(user-accessible view)用于对数据字典基表内存储的数据进行汇总与展示。这些视图利用连接(join)及 WHERE
  子句简化基表中的数据,将其解码(decode)为用户可理解的信息,例如用户名,表名等。大多数数据库用户只能访问这些视图,而不能访问基表。
  警告:修改或操作数据字典表中的数据可能会给数据库的运行带来不可恢复的损害。
  数据字典有三个主要用途:
  ● Oracle 利用数据字典来获取关于用户,方案对象,及存储结构(storagestructure)的信息。
  ● 每当数据库中执行了 DDL 语句后,Oracle 将对数据字典进行修改。

数据字典视图及其用途(ORACLE数据库)求助各位大神,!

数据字典

是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于SYSTEM与SYSAUX表空间内的若干段。

SYS用户拥有所有的数据字典表,数据字典基本一般以$结尾,如col$,tab$等,这些数据字典存放在system表空间中。

数据字典的形成

在数据库创建阶段创建,在使用阶段维护和更新

无法通过DML操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。

数据字典的特点

每个Oracle数据库的中枢

描述数据库和它的对象

包含只读的表和视图

存储在SYSTEM表空间中

拥有者是SYS用户

由Oracle服务器自己维护

用SELECT访问

数据字典内容:

数据字典提供下列信息:

逻辑和物理的数据库结构

对象的定义和空间分配

一致性

用户

角色

权限

审计

数据字典的主要用途:

Oracle服务器用它查找下列信息:

用户

对象

存储结构

Oracle服务器修改数据字典当DDL语句执行的时候.

用户和管理员们利用它了解数据库的信息.

基础表和数据字典视图:

数据字典包括两个部分:

基础表

存储数据库的描述

CREATE DATABASE命令创建(sql.bsq)

数据字典视图

用于简化基础表的信息

通过PUBLIC同义词访问

由脚本catalog.sql创建

数据字典基表中的数据很难看懂。因此,很少人直接访问这些基表。取而代之的是数据字典视图。

数据字典视图分为类,它们以前辍来区分,前辍分别为:USER、ALL、DBA

USER_* 用户所拥有的对象信息

ALL_* 用户能访问的对象信息

DBA_* 整个数据库中的对象信息

创建数据字典视图:

建库后,运行以下脚本创建的

$ORACLE_HOME/rdbms/admin/catalog.sql 创建常用的数据字典和同义词

$ORACLE_HOME/rdbms/admin/catproc.sql 创建内建的存储过程、包等pl/sql对象

DBCA建库时会自动运行这两个脚本,但如果手动建库的话,需手动运行。

常用的数据字典:

一般的概况: TAB,DICTIONARY, DICT_COLUMNS

对象: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS --->user_ ,all_

空间分配: DBA_SEGMENTS, DBA_EXTENTS

数据库结构: DBA_TABLESPACES, DBA_DATA_FILES

动态性能视图:

是将内存里的数据或控制文件里的数据以表的形式展现出来,它们实际都是虚拟表,并不是真正的表

只要数据库在运行,就会不断更新动态性能视图

一旦数据库关闭或崩溃,则动态性能视图里的数据就丢失,当数据库重新启动后,数据将会被更新

所有的动态性能视图名称都存放在v$fixed_table里。这些动态性能视图都是以V_$开头,属主是sys

oracle为每个动态性能视图都创建了同义词,同义词将中间的“_”去掉了,形成以v$开头

常用的数据字典视图、动态性能视图:

dba_objects

dba_tables

dba_users

dba_tablespaces

V$CONTROLFILE 控制文件信息

V$DATABASE 数据库信息

V$DATAFILE 数据文件信息

V$INSTANCE 实例信息

V$PARAMETER 参数信息

V$SESSION 会话信息

V$SGA SGA信息

V$SGAINFO SGA信息

V$TABLESPACE 表空间信息

V$THREAD

V$VERSION

V$option

v$parameter显示的是session级的参数,也就是当前session的参数信息。

如果没有使用alter session单独设置当前session的参数值,那么默认和system级的参数应该是一样的。

v$system_parameter显示的是system级的参数,保存的是使用alter system修改的值(scope=both或者scope=memory)。

上面两个都是当前已经生效的参数值。对于使用spfile的库,也可以暂时只修改spfile中的

值。v$spparameter显示的就是保存在spfile中的参数值(scope=spfile)。追问大哥,这是考试题,你答的太多了

追答数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。

Oracle数据字典(可用它动态获取字段名、长度、类型等)

  ORACLE数据字典

  表名 USER_TAB_COLUMNS

  TABLE_NAME                           表 视图或聚簇名

  COLUMN_NAME                         列名

  DATA_TYPE                             列数据类型

  DATA_TYPE_MOD

  DATA_TYPE_OWNER

  DATA_LENGTH                         列最大长度

  DATA_PRECISION                   Number数据类型的十进制精度 Float数据类型的二进制精度 对其他数据类型则为NULL

  DATA_SCALE                           小数点右边位数

  NULLABLE                               列是否可为空 如果列有非空约束或该列为关键字一部分则该值为N

  COLUMN_ID                             列创建序列号

  DEFAULT_LENGTH                   当前列宽度

  DATA_DEFAULT                       列默认值

  NUM_DISTINCT

  LOW_VALUE                             本字段和下一字段为 对三行以上的表 该列的第二小或第二大的值 对三行或少于三行的表 即为最小和最大值 该统计值为前 字节的 进制表示法

  HIGH_VALUE                           同上一字段

  DENSITY

  NUM_NULLS

  NUM_BUCKETS

  LAST_ANALYZED

  SAMPLE_SIZE

  CHARACTER_SET_NAME

  CHAR_COL_DECL_LENGTH

  GLOBAL_STATS

  USER_STATS

lishixin/Article/program/Oracle/201311/18449

显示全文