oracle数据字典详解

合集下载

(word完整版)OracleEBS中文数据字典

(word完整版)OracleEBS中文数据字典
CURRENCY_CODE
CURRENCY_CODE
FND_ID_FLEX_STRUCTURES
ID_FLEX_NUM
CHART_OF_ACCOUNTS_ID
GL_CODE_COMBINATIONS
CODE_COMBINATION_ID
CUM_TRANS_CODE_COMBINATION_ID
GL_CODE_COMBINATIONS
PROJECT_TO_DATE_ADB
NUMBER
Y
BEGIN_BALANCE_DR
NUMBER
Y
期初借方余额(原币)
BEGIN_BALANCE_CR
NUMBER
Y
期初贷方余额(原币)
PERIOD_NET_DR_BEQ
NUMBER
Y
本期借方余额(本位币)
PERIOD_NET_CR_BEQ
NUMBER
NET_INCOME_CODE_COMBINATION_ID
GL_CODE_COMBINATIONS
CODE_COMBINATION_ID
ROUNDING_CODE_COMBINATION_ID
GL_DAILY_CONVERSION_TYPES
CONVERSION_TYPE
DAILY_TRANSLATION_RATE_TYPE
GL_PERIOD_SETS
PERIOD_SET_NAME
PERIOD_SET_NAME
GL_PERIOD_TYPES
PERIOD_TYPE
ACCOUNTED_PERIOD_TYPE
GL_TRANSACTION_CALENDAR
TRANSACTION_CALENDAR_ID
TRANSACTION_CALENDAR_ID

DataDictionary(数据字典)

DataDictionary(数据字典)

DataDictionary(数据字典)前⾔在创建数据库的同时,Oracle也会创建⼀些其他的Objects/Structures,包括:1.Data Dictionary(数据字典)2.Performance tables(动态性能表)3.PL/SQL packages(PL/SQL程序包)4.数据库时间触发器⼀.Data Dictionary数据字典是Oracle 数据库最重要的部分之⼀,它是⼀组只读表和视图,提供有关其相关数据库的信息(这些信息相对稳定)。

1.数据字典的组成(1).基表<Base tables>(核⼼,但⼀般我们不和他打交道) 【1】作⽤:存储数据库的说明(description)。

基表是存储有关数据库的信息的底层表。

基表是在任何Oracle 数据库中⾸先创建的对象。

在使⽤CREATE DATABASE 创建数据库时,只要Oracle 服务器运⾏sql.bsq 脚本,就会⾃动创建这些对象。

只有Oracle 服务器才能对这些基表执⾏写⼊操作。

⽤户很少直接访问基表,因为其中的数据⼤多数都是以隐含格式存储的。

【2】“基表”在使⽤Create Database时候创建,这时Oracle调⽤了admin/sql.bsq脚本进⾏创建。

(2).数据字典视图<Data Dictionary views> 【1】简化“基表”信息。

数据字典视图是基表的汇总,可以更有效地显⽰基表信息。

【2】“数据字典视图”是在运⾏CREATE DATABASE命令之后使⽤catalog.sql脚本创建的。

2.数据字典存储以下内容(1).逻辑(logical)和物理(physical)数据库结构数据库内所有⽅案对象的定义,这些对象包括表、视图、索引、簇、同义词、序列、过程、函数、程序包、触发器等等。

(2).对象的定义(definition)和空间分配(space allocation)已为⽅案对象分配的空间量以及它们当前使⽤的空间量。

oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解文章标题:深度解析Oracle数据库中的字段解析与内容详解在Oracle数据库中,字段解析和内容详解是数据库设计和优化中极为重要的部分。

本文将从简单到复杂地分析这一主题,并通过多个方面全面评估,以帮助读者更深入地理解这一概念。

一、字段解析的概念和作用在数据库中,字段解析是指对于各种数据类型的字段进行分析和解释。

不同的数据类型有不同的解析方式,而正确的字段解析能够帮助数据库管理员和开发人员更好地理解和利用数据。

Oracle数据库中常见的字段类型包括数值型、字符型、日期型等,它们的解析方法会对数据的存储、查找和计算产生影响。

1. 数值型字段解析数值型字段的解析主要涉及数据的精度和范围,以及相关的计算规则和函数。

对于整型和浮点型数据,需要考虑到数据的取值范围和小数位数,以及在应用中可能出现的四舍五入或溢出问题。

2. 字符型字段解析字符型字段的解析涉及到字符编码、长度限制、字符集规则等方面。

在处理多语言和特殊字符时,正确的解析能够保证数据的完整性和可读性,同时也对数据的存储和索引产生影响。

3. 日期型字段解析日期型字段的解析需要考虑到日期格式、时区、日期运算等方面。

在数据分析和报表生成中,正确解析日期字段能够保证数据的一致性和准确性。

二、内容详解的重要性和实践方法除了字段解析外,内容详解也是数据库设计和优化中不可或缺的部分。

内容详解是对数据内容进行深入的分析和理解,包括数据的来源、意义、关联等方面。

通过内容详解,可以更好地发现数据的价值和潜在问题,为决策和业务分析提供支持。

1. 数据来源和质量在进行内容详解时,需要了解数据的来源,包括数据的采集、清洗、转换等过程。

同时也需要评估数据的质量,包括数据的完整性、一致性、准确性等方面。

2. 数据关联和分析内容详解还涉及到数据之间的关联和分析,包括数据的连接、聚合、过滤等操作。

通过内容详解,可以更好地理解数据之间的关系,为业务分析和决策提供支持。

Oracle数据字典

Oracle数据字典

Oracle数据字典数据字典是Oracle数据库的核心组件,它是由一系列对于用户而言是只读的基础表和视图组成,它保存了关于数据库本身以及其中存储的所有对象的基本信息。

可以认为数据字典记录了数据库实例自身的重要信息。

对数据字典的管理和维护由Oracle系统负责,任何数据库用户都无法对数据字典中的内容进行修改,但是数据库用户可以查看数据字典中的内容。

为了方便用户查看数据字典中的信息,数据字典中的信息也是通过表和视图的形式组织起来的,数据字典和视图都保存在SYSTEM表空间中。

数据字典中的信息实际上中保存在基本表中的,并且只有Oracle系统才有权读取和写入基础表。

基础表中存储的信息通常是经过加密处理的。

视图是一种虚拟表,它本身并不包含数据,其中的数据是经过处理后基本表中的数据。

数据字典中视图的作用是将表中各种信息进行分类,以方便用户获取其中的数据。

大多数情况下,用户可以通过数据字典视图来获取与数据库相关的信息,而不需要访问数据字典表。

在Oracle实例运行期间,需要从数据字典表中读取信息,用于判断用户要访问的对象是否存在等信息。

同时,Oracle还不断地向数据字典表中写入数据,以反映用户对数据库、以及数据库中保存的各对象所做的修改。

例如,用户创建了一个表,这时系统将在数据字典中记录该表的结构信息、表在存储信息等。

对于数据库用户而言,数据字典中的视图好一本关于当前Oracle数据库的参考手册,可以通过SELECT语句查询。

数据库用户由于权限不同,所能访问的数据字典视图的数量和类型也不同。

用户所使用数据字典视图大致可以分为三类,并且各种类型的视图以不同名称的前缀表示。

这三类数据字典视图的介绍如下:●USER视图USER视图就是以USER_字符为名称前缀的数据字典视图。

每个数据库用户都有一组属于自己的视图,在USER视图中包含了属于该用户的所有对象的信息。

●ALL视图ALL视图就是以ALL_字符为名称前缀的数据字视图。

Oracle数据字典

Oracle数据字典
得执行结果。
8. 如果利用VB提供的开发工具,则能创造丰富多彩的界面。进一步的 学习可参考有关VB数据库编程方面的书籍。
PPT文档演模板
Oracle数据字典
5. 利用Microsoft Excell访问Oracle 数据表
1. 进入Microsoft Excell 2. 建立数据源
点击:
[数据] [获取外部数据] [新建查询] 在“选择数据源”窗口中,选择〈新数据源〉,[确定],并依次进行下列输入
5.结束Oracle ODBC 测试
PPT文档演模板
Oracle数据字典
4. 通过Visual Basic访问Oracle数据表
n 设置好ODBC数据源以后,就可以利用Visual Basic 提供的数据管理 器来访问数据库了。步骤如下:
1.启动 Visual Basic 2.选择:
[外接程序] [可视化数据管理器] 3.弹出数据库管理器(VisData)的主窗口 4.选择: [文件] [打开数据库] ODBC
Oracle数据字典
PPT文档演模板
2020/11/3
Oracle数据字典
1. Oracle数据字典
n 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识 库。
n Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和DBA用它 来查阅数据库信息。
PPT文档演模板
2.出现测试窗口 选择Connect连接,从[机器数据源]选择欲测试的数据名称。
PPT文档演模板
Oracle数据字典
3. Oracle ODBC 测试…
3. 进行Oracle联结 输入: 用户名称: scott 密码:tiger 服务器:Oracle10

Oraclehint详解

Oraclehint详解

Oraclehint详解转⾃:⼀、提⽰(Hint)概述1为什么引⼊Hint?Hint是Oracle数据库中很有特⾊的⼀个功能,是很多DBA优化中经常采⽤的⼀个⼿段。

那为什么Oracle会考虑引⼊优化器呢?基于代价的优化器是很聪明的,在绝⼤多数情况下它会选择正确的优化器,减轻DBA的负担。

但有时它也聪明反被聪明误,选择了很差的执⾏计划,使某个语句的执⾏变得奇慢⽆⽐。

此时就需要DBA进⾏⼈为的⼲预,告诉优化器使⽤指定的存取路径或连接类型⽣成执⾏计划,从⽽使语句⾼效地运⾏。

Hint就是Oracle提供的⼀种机制,⽤来告诉优化器按照告诉它的⽅式⽣成执⾏计划。

2不要过分依赖Hint当遇到SQL执⾏计划不好的情况,应优先考虑统计信息等问题,⽽不是直接加Hint了事。

如果统计信息⽆误,应该考虑物理结构是否合理,即没有合适的索引。

只有在最后仍然不能SQL按优化的执⾏计划执⾏时,才考虑Hint。

毕竟使⽤Hint,需要应⽤系统修改代码,Hint只能解决⼀条SQL的问题,并且由于数据分布的变化或其他原因(如索引更名)等,会导致SQL再次出现性能问题。

3Hint的弊端Hint是⽐较"暴⼒"的⼀种解决⽅式,不是很优雅。

需要开发⼈员⼿⼯修改代码。

Hint不会去适应新的变化。

⽐如数据结构、数据规模发⽣了重⼤变化,但使⽤Hint的语句是感知变化并产⽣更优的执⾏计划。

Hint随着数据库版本的变化,可能会有⼀些差异、甚⾄废弃的情况。

此时,语句本⾝是⽆感知的,必须⼈⼯测试并修正。

4Hint与注释关系提⽰是Oracle为了不破坏和其他数据库引擎之间对SQL语句的兼容性⽽提供的⼀种扩展功能。

Oracle决定把提⽰作为⼀种特殊的注释来添加。

它的特殊性表现在提⽰必须紧跟着DELETE、INSERT、UPDATE或MERGE关键字。

换句话说,提⽰不能像普通注释那样在SQL语句中随处添加。

且在注释分隔符之后的第⼀个字符必须是加号。

甲骨文深圳研发部oracle培训教材--Oracle9i_DBA_基础

甲骨文深圳研发部oracle培训教材--Oracle9i_DBA_基础

常用数据字典视图
查询对象信息 tab,obj,dba_tables,dba_objects 查询数据库、实例的信息 v$database,v$instance 查询用户信息 dba_users、all_users 查询用户权限 dba_role_privs、dba_sys_privs 查询数据库的结构信息(表空间、数据文件、日志文件) dba_tablespaces、dba_data_files、v$logfile
归档重做日志文件
归档重做日志文件(Archive Log Files)也叫离线日志 文件。它是在线重做日志文件的拷贝。当数据库处于 ARCHIVELOG状态时,归档进程将拷贝已写满的(Filled)重 做日志文件到另一路径。归档日志文件主要用做数据库的恢 复。
数据库缺省被创建为NOARCHIVELOG模式 ORACLE建议数据库模式为ARCHIVELOG模式 归档模式的优点: 数据库在发生故障时,可以恢复到故障点(而不是备份点) 允许在线备份数据库
关闭数据库 使用操作系统的命令将现存的控制文件拷贝到不同的地方 编辑数据库初始化文件(initSID.ora)中的CONTROL_FILES 参数添加新 的控制文件名和位置。 4. 重新启动数据库 1. 2. 3.
删除控制文件
删除控制文件 用户可以从数据库中删除控制文件例如如果控制文件的位 置不合适或控制文件破坏时用户可能希望这样做。记住在任何 时候数据库建议至少有两个控制文件。
数据字典
数据字典的分类: 根据它们的前缀,数据字典可以分为如下类别: DBA_:这种视图提供数据库中所有对象的信息,有个owner列 如,dba_tables,dba_indexes ALL_:这种视图提供数据库中当前用户可以访问的对象的信息 如,all_tables,all_indexes USER_:这种视图提供用户拥有的对象信息 如,user_tables,user_indexes V$:这种视图又叫动态性能视图,因为它们为随着数据库的打 开和使用连续更新,而且它们的内容也和运行有关。 如,v$database,v$instance

oracle的dba_tab_columns语句用例

oracle的dba_tab_columns语句用例

DBA_TAB_COLUMNS 是Oracle 数据库中的一个数据字典视图,它描述了数据库中所有表的列信息。

这个视图对于数据库管理员(DBA)来说非常有用,因为它提供了关于列名、数据类型、是否可以为NULL、列的默认值等详细信息。

以下是一些使用DBA_TAB_COLUMNS 视图的示例查询:查询指定表的列信息如果你想查询某个特定表(例如EMPLOYEES)的所有列信息,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLEFROM DBA_TAB_COLUMNSWHERE TABLE_NAME = 'EMPLOYEES'ORDER BY COLUMN_ID;注意:TABLE_NAME 通常是大写的,除非在创建表时使用了双引号指定了大小写。

2. 查询某个用户所有表的列数如果你想查询某个用户(例如HR)所有表的列数,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COUNT(*) AS NUM_COLUMNSFROM DBA_TAB_COLUMNSWHERE OWNER = 'HR'GROUP BY TABLE_NAMEORDER BY TABLE_NAME;查询所有没有默认值的列如果你想查询某个用户所有没有默认值的列,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAMEFROM DBA_TAB_COLUMNSWHERE OWNER = 'HR' AND DATA_DEFAULT IS NULLORDER BY TABLE_NAME, COLUMN_ID;查询所有VARCHAR2 类型的列如果你想查询数据库中所有VARCHAR2 类型的列,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAME, DATA_LENGTHFROM DBA_TAB_COLUMNSWHERE DATA_TYPE = 'VARCHAR2'ORDER BY TABLE_NAME, COLUMN_ID;注意:在执行这些查询之前,确保你有足够的权限访问DBA_TAB_COLUMNS 视图。

06_数据字典

06_数据字典
基本类型:number,character,Boolen,date 复合类型:recode,table,varray 参照类型:ref cursor,ref object_type 大对象类型lob:bfile,blob,clob,nclob
1-12Βιβλιοθήκη 课堂练习目的:熟悉各类数据字典视图 练习:执行书上87~88页的各项查询
1-13

DDL语句不能回滚,如create,drop,truncate等语句. DML语句才可以回滚. dba_segments,dba_rollback_segs
1-11
数据分类与数据类型
oracle数据类型分为两类
标量数据类型:创建数据库时主要使用标量数据类型和 由用户自创建的永久数据类型. PL/SQL数据类型:用在除表视图外的其他数据库对象的 创建和使用中,如存储过程,函数,触发器.
1-3
数据字典
数据字典的用途
数据库通过存取数据字典获取有关用户模式对象以 及存储结构等信息; 执行DDL之后,数据库修改数据字典; 任何用户以只读的方式查询数据字典;
1-4
数据字典
数据字典的分类
静态数据字典:存放用 命令创建的永久数据库 静态数据字典:存放用create命令创建的永久数据库 命令创建的 对象,随着数据库的创建而创建. 对象,随着数据库的创建而创建.以all_,dba_,user_为 为 前缀的视图. 前缀的视图. 动态数据字典:记载数据库动态信息. 动态数据字典:记载数据库动态信息.由catolog.sql 脚本创建,用于对基本表信息的汇总,随时反应数据库 脚本创建,用于对基本表信息的汇总, 的运行状况并不断更新. 的运行状况并不断更新.以v$_,v_$等前缀开头的虚拟 等前缀开头的虚拟 表.

数据字典的使用

数据字典的使用

一、概念:1.数据字典(data dictionary)是Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。

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

我们不能手工修改数据字典里的信息。

当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。

2.数据字典中的信息包含:1.数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)2.数据库为一个方案对象分配了多少空间,以及该对象当前使用了多少空间3.列的默认值4.完整性约束(integrity constraint)信息5.数据库用户名6.每个用户被授予(grant)的权限(privilege)与角色(role)7.监控(audit)信息,例如哪个用户对某个方案对象进行了访问或更新操作8.数据库中的其他概要信息二、组成结构1.基表(base table):用于存储相关的数据库信息。

只有Oracle 才能读写这些表。

用户很少直接访问她们,因为这些表是规范化的(normalized),且其中的大部分数据的含义是普通用户无法理解的。

2.用户访问视图(user-accessible view):用于对数据字典基表内存储的数据进行汇总与展示。

这些视图利用连接(join)及WHERE 子句简化基表中的数据,将其解码(decode)为用户可理解的信息,例如用户名,表名等。

大多数数据库用户只能访问这些视图,而不能访问基表。

Oracle 中的SYS 用户拥有数据字典中的所有基表(base table)及用户访问视图(user-accessible view)。

其他Oracle 用户不应修改(UPDATE,DELETE,或INSERT)SYS 方案中的对象定义及数据,否则将危害数据库的数据完整性(data integrity)。

管理数据字典

管理数据字典

管理数据字典(一)--常用数据字典1、数据字典的功能数据字典记载了数据的系统信息,它是只读表和视图的集合。

数据字典的所有者为sys用户,并且其被保存放在SYSTEM表空间里。

2、数据字典的概念数据字典包括数据字典基表和数据字典视图两部分,其中,基表存储数据库的基本信息,普通用户不能直接访问数据字典基表;数据字典视图是基于数据字典基表建立的视图,普通用户可以通过查询数据字典视图取得系统信息。

数据字典视图主要包括USER_XXX、ALL_XXX、DBA_XXX。

3、常用数据字典(1)DICT用于显示当前用户可访问的所有数据字典视图,并给出这些数据字典的用途04:23:22SQL>select table_name,comments from dict04:23:412where comments like'%grants%';TABLE_NAME COMMENTS----------------------------------------------------------------------USER_COL_PRIVS_MADE All grants on columns of objects owned by the userUSER_TAB_PRIVS_MADE All grants on objects owned by the userALL_TAB_PRIVS_MADE User's grants and grants on user's objects(2)DUAL用于返回函数的值04:26:39SQL>select sysdate from dual;SYSDATE-------------------2011-02-1904:26:4104:26:41SQL>select user from dual;USER------------------------------SCOTT04:26:47SQL>select4/2from dual;4/2----------2(3)IND用于显示当前用户所拥有的所有索引和索引统计信息04:31:45SQL>col index_type for a1004:31:52SQL>col uniqueness for a1004:32:04SQL>col index_name for a1004:32:07SQL>select index_name,index_type,uniqueness04:32:322from ind where table_name='EMP';INDEX_NAME INDEX_TYPE UNIQUENESS------------------------------PK_EMP NORMAL UNIQUE04:32:49SQL>select index_name,index_type,uniqueness04:32:562from ind where table_name='DEPT';INDEX_NAME INDEX_TYPE UNIQUENESS------------------------------PK_DEPT NORMAL UNIQUE(4)OBJ用于显示当前用户所拥有的所有对象04:35:51SQL>select object_name,object_type,object_id,created from obj 04:36:082order by2;OBJECT_NAME OBJECT_TYPE OBJECT_ID CREATED---------------------------------------------------------------PK_DEPT INDEX511472005-06-3019:47:57PK_EMP INDEX511492005-06-3019:47:57GET_EMP_REC PROCEDURE525342011-02-1206:27:15 SALGRADE TABLE511512005-06-3019:47:57QUEST_SL_TEMP_E TABLE525152011-01-2914:55:05XPLAIN1LOGTABLE TABLE525462011-02-1207:47:29EMP TABLE511482005-06-3019:47:57DEPT TABLE511462005-06-3019:47:57BONUS TABLE511502005-06-3019:47:579rows selected.(5)SEQ拥有显示当前用户所拥有的所有序列04:38:06SQL>select sequence_name,increment_by from seq;no rows selected(6)SYN用于显示当前用户所拥有的同义词和同义词所对应的数据库对象名。

Oracle基本术语大全

Oracle基本术语大全

Oracle基本术语大全Oracle基本术语大全Oracle数据库系统是一个复杂的软件系统。

如果不了解其内部的结构原理及关系,就不可能设计和编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。

为了帮助大家了解更多Oracle数据库知识,下文简要给出 ORACLE 8 /i数据库系统结构的描述。

§2.1 术语数据库块(BLOCK)ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。

ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE E创建数据库实例时指定。

其最小为2K,最大可达为64K.瓶颈(Bottleneck)指限制系统性能的部件。

面向对象的关系数据库具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统。

Oracle7是一种功能完备的关系数据库系统;oracle8是一种面向对象的关系数据库系统。

客户/服务器结构(Client/Server)有客户机、服务器、网络三要素的结构,客户机(PC机)通过网络与服务器相连和工作。

胖客户机(Fat Client)一般的Client/Server结构中的客户机均为胖客户机。

因为这些客户机需要配置较高的设备,如内存、硬盘、主频、CD_ROM等。

瘦客户机(Thin Client)也称作NC(网络计算机),是一种内存配置小(过去指一般只有4M,现无法定义),无硬盘,只有处理心片的处理机。

数据在线分析处理(OLAP)是一种能以快速、交互、方便的方式洞察数据情况的技术。

如Oracle E某press,Cognos(加拿大)的Power Play, Business Objects公司的Business Object 等。

多线程(MTS)一个用户可以同时运行多个程序对数据库进行访问,比如Visual C/C++可以提供同时启动多个进程,而Visual Basic则不能。

oracle dba_views 字段详解

oracle dba_views 字段详解

Oracle中的DBA_VIEWS视图是一个数据字典视图,它包含了数据库中所有视图的信息。

以下是DBA_VIEWS视图中各个字段的详解:1. OWNER:视图的拥有者,即创建视图的用户或模式名。

2. VIEW_NAME:视图的名称。

3. TEXT_LENGTH:视图的定义文本的长度。

4. TEXT:视图的定义文本,即创建视图时使用的SQL语句。

这个字段可能非常长,因此在某些情况下可能无法完全显示。

5. VIEW_TYPE:视图的类型,可以是物化视图(MATERIALIZED)、分区视图(PARTITIONED)或其他类型。

6. SUPERVIEW_NAME:如果这个视图是基于其他视图创建的,那么这个字段将显示基础视图的名称。

否则,这个字段为空。

7. SUPERTYPE_NAME:视图所依赖的视图或物化视图的名称。

8. STATUS:视图的状态,可以是有效(VALID)、无效(INVALID)或未知(UNKNOWN)。

9. DEPTH:视图在视图层次结构中的深度。

顶层视图的深度为0,基于其他视图创建的视图的深度为1或更大的整数。

10. TIMESTAMP:视图最后被编译或验证的时间戳。

11. GENERATED:指示视图是否为生成的视图。

生成的视图是由系统自动创建的,通常是为了满足某些特定功能的需求。

12. LAST_DDL_TIME:视图上次被修改的时间。

13. TEMPORARY:指示视图是否为临时视图。

临时视图是在会话期间存在的,会话结束时将被删除。

14. GENERATE_SCHEMA:如果视图是生成的,这个字段将显示生成该视图的模式名。

否则,这个字段为空。

15. VIEW_REMARKS:关于视图的备注信息。

通过查询DBA_VIEWS视图,可以获取数据库中所有视图的详细信息,包括视图的定义、状态、创建时间等。

这对于数据库管理员来说是非常有用的,可以帮助他们了解数据库中视图的使用情况,以便进行优化和管理。

数据字典和安全

数据字典和安全
2020年4月24日11时25分
ORACLE数据字典
2与视图有关的数据字典视图 在ORACLE的数据字典视图中,有下列视图与 视图有关:USER_VIEWS(该视图给出当前用户 的全部视图的状况)、ALL_ VIEWS (该视图到出 用户拥有或授权访问的所有视图,其结构与 USER_ VIEWS的结构基本相同,只多了一列 Owner)、DBA_ VIEWS(该视图列出数据库中 的所 有 视图 , 其结 构 与 ALL_ VIEWS 同) 、 USER_TAB_COLUMNS(COLS) ( 该 视 图 包 含 用户所拥有的视图的所有列及其定义),其余类 同。
20)保障数据的可用性 ① 防止和减少因软、硬件系统的错误所造
成的数据库恶意破坏。 ② 及时修复因软、硬件系统的错误所造成
的数据库恶意破坏。 ③ 拒绝和清除数据库垃圾,使数据库随时 保持可用状态。即当授权用户在其需要时 能随时存取数据库中的数据,并得到正确 的结果。
ORACLE数据字典
数据字典是ORACLE的重要组成部分,是 由一组只读的表和视图所组成,它提供所 有数据对象人信息。ORACLE的数据字典 中记录了数据库对象的最终形式。利用数 据库字典根据使用者的要求可以生成数据 库对象的详细文档。当数据库打开时,数 据字典总是可用的。在许多情况下,数据 字典的每一视图集有三种视图包含有类似 信息,彼此以前缀相区别,前缀分别为 USER、ALL、DBA。以下对一些常用视 图进行介绍。
2020年4月24日11时25分
ORACLE数据字典
4与触发器有关的数据字典视图 在ORACLE的数据字典视图中,有下列视图
与 触 发 器 有 关 : USER_TRRIGGERS( 该 视 图 中 有当前用户的触发器的内容),该视图主要包含 触发器名称、类型、触发动作、定义触发器的表 名和拥有者、触发器的正文等字段。其余视图类 似。

oracle19c_数据字典保护参数_解释说明

oracle19c_数据字典保护参数_解释说明

oracle19c 数据字典保护参数解释说明1. 引言1.1 概述在现代信息时代,数据的安全性和保护变得越来越重要。

数据库作为存储和管理大量关键数据的核心组件,必须采取有效措施来保护其中的数据。

Oracle是当今业界最流行和广泛使用的关系型数据库之一,它提供了许多功能和机制来确保数据库的安全性。

本文将重点介绍Oracle 19c中的数据字典保护参数,并对其进行详细解释说明。

数据字典是Oracle数据库中存储有关表、列、索引、用户等对象以及其属性信息的系统表。

由于数据字典的重要性,为了防止非授权用户获取敏感数据或篡改系统元数据,Oracle引入了一些特定参数来加强对数据字典的保护。

1.2 文章结构本文将按照以下结构进行讲解:- 第2部分将介绍什么是数据字典保护参数,并强调数据字典在Oracle数据库中的重要性。

- 第3部分将详细解释说明Oracle 19c中各个具体的数据字典保护参数。

- 第4部分将介绍实施这些参数所需遵循的步骤和注意事项。

- 最后,在第5部分总结文章内容并再次强调Oracle 19c数据字典保护参数的重要性,并展望数据库安全性的未来发展方向。

1.3 目的本文的目的是为读者提供对于Oracle 19c中数据字典保护参数的全面理解和解释。

通过深入了解这些参数及其作用,读者将能够更好地保护数据库中存储的关键数据,并采取适当措施预防潜在的安全威胁。

同时,本文也旨在引起人们对数据库安全性问题的关注,并为未来改进数据库安全性提供思路和方向。

2. 数据字典保护参数2.1 什么是数据字典保护参数数据字典保护参数是Oracle数据库中的一组配置选项,用于保护和管理数据库中的核心组件和关键元数据。

这些参数可以控制对数据字典的访问权限、修改操作以及数据字典在系统运行时的行为。

2.2 数据字典的重要性数据字典是Oracle数据库中非常重要的组成部分,它记录了数据库对象(如表、视图和索引)的定义和属性信息,存储了系统级别的统计信息,并提供了对数据库结构和内容的访问接口。

oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解

文章标题:深度解析Oracle数据库中字段解析与内容详解在Oracle数据库中,字段解析和内容详解是非常重要的概念。

今天我们将深入探讨这一主题,以帮助读者更全面地理解数据库的工作原理和实际运用。

1. 什么是字段解析?字段解析是指对数据库中的字段进行分析和解释,以便理解其含义和作用。

在Oracle数据库中,字段解析通常包括对表结构、字段类型、长度、约束、默认值等内容的解析。

通过字段解析,我们可以更清晰地了解数据库的设计和数据存储方式。

2. 为什么字段解析重要?字段解析对于数据库开发和管理非常重要。

通过对字段进行深入解析,我们可以更好地设计数据库结构、编写查询语句、进行数据分析和优化性能。

字段解析还能帮助我们更准确地理解业务需求,提高数据库的可靠性和安全性。

3. 如何进行字段解析?在进行字段解析时,我们需要首先查看数据库中的表结构,了解每个字段的含义和属性。

可以通过查询系统视图或使用数据字典工具来获取更详细的字段信息。

也可以借助数据库文档和注释来理解字段的含义和用途。

通过这些方法,我们可以对数据库中的字段进行全面解析和理解。

4. 什么是内容详解?内容详解是指对数据库中的实际数据进行深入分析和解释。

在Oracle 数据库中,内容详解通常包括对表数据、索引、约束、外键关系等内容的详细分析。

通过内容详解,我们可以更清晰地了解数据库中存储的实际信息和数据关系。

5. 为什么内容详解重要?内容详解对于数据分析和决策非常重要。

通过对数据库中的实际数据进行详细分析,我们可以更好地了解业务运作情况、发现数据关联和趋势,并进行更精准的数据处理和业务分析。

内容详解还能帮助我们发现数据质量问题、优化查询性能和改进系统设计。

6. 如何进行内容详解?在进行内容详解时,我们需要首先选取需要分析的数据表或视图,了解其中存储的数据类型、范围和关联关系。

可以通过编写复杂的查询语句、使用分析函数和工具来进行数据深度分析。

也可以借助报表和可视化工具来展现数据分析结果。

Oracle常用试图列表

Oracle常用试图列表

oracle数据字典总结下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。

一、用户查看当前用户的缺省表空间SQL>SELECT username,default_tablespace FROM user_users;查看当前用户的角色SQL>SELECT * FROM user_role_privs;查看当前用户的系统权限和表级权限SQL>SELECT * FROMuser_sys_privs;SQL>SELECT * FROM user_tab_privs;二、表查看用户下所有的表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 FROMuser_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;三、索引查看索引个数和类别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');四、序列号查看序列号,last_number是当前值SQL>SELECT * FROMuser_sequences;五、视图查看视图的名称SQL>SELECT view_name FROM user_views;查看创建视图的select语句SQL>SELECT 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');六、同义词查看同义词的名称SQL>SELECT * FROM user_synonyms;七、约束条件查看某表的约束条件SQL>SELECT constraint_name,constraint_type,search_condition,r_constraint_name2 FROM user_constraints WHERE table_name = UPPER('&table_name');//注意,表名一定是大写才行SQL>SELECT c.constraint_name,c.constraint_type,cc.column_name2 FROM user_constraints c,user_cons_columns cc3 WHERE c.owner = upper('&table_owner')4 AND c.table_name = UPPER('&table_name')5 AND c.owner = cc.owner and c.constraint_name = cc.constraint_name6 ORDER BY cc.position;八、存储函数和过程查看函数和过程的状态SQL>SELECT object_name,status FROMuser_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');九、触发器查看触发器SET long 50000;SET heading off;SET pagesize 2000;SELECT'create or replace trigger ' ||trigger_name || '' || chr(10)||DECODE( SUBSTR( trigger_type, 1, 1 ),'A', 'AFTER', 'B', 'BEFORE', 'I', 'INSTEAD OF' ) ||chr(10) ||triggering_event || chr(10) ||'ON ' || table_owner || '.' ||table_name || '' || chr(10) ||DECODE( instr( trigger_type, 'EACH ROW' ), 0, null,'FOR EACH ROW' ) || chr(10) ,trigger_bodyFROM user_triggers;Oracle常用数据字典表Oracle常用数据字典表查看当前用户的缺省表空间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;查看用户下所有的表SQL>select * from user_tables;查看用户下所有的表的列属性SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';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;显示当前会话所具有的权限SQL>select * from session_privs;显示指定用户所具有的系统权限SQL>select * from dba_sys_privs where grantee='GAME';显示特权用户select * from v$pwfile_users;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';显示用户的PROFILEselect profile from dba_users where username='GAME';2、表查看用户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere 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_segmentswhere segment_name=upper('&table_name');查看放在Oracle的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别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_segmentswhere segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;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_namefrom user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_name from 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');oracle常用数据字典说明和含义解释,可作为手册或者工具书使用!以下表格中收集了Oracle数据字典中几乎所有的视图或别名,至于每个视图或别名的字段请用‘Describe’语句来查询。

Oracle 数据字典中X$表 介绍

Oracle 数据字典中X$表 介绍

Oracle 数据字典中X$表介绍一. X$表说明X$表包含了特定实例的各方面的信息,X$表在oracle的不同版本里很可能是不一样的,是Oracle数据库的运行基础,如当前的配置信息,连接到实例的会话,以及丰富而有价值的性能信息。

X$表并不是驻留在数据库文件的永久表或临时表。

X$表仅仅驻留在内存中,当实例启动时,由Oracle应用程序动态创建,在内存中进行实时的维护。

它们中的大多数至少需要装载或已经打开的数据库。

X$表为SYS用户所拥有,并且是只读的。

不能进行DML(更新,插入,删除)。

X$表对数据库来说至关重要,所以Oracle不允许SYSDBA之外的用户直接访问,显示授权不被允许。

可以从v$fixed_table中查到X$:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - ProdPL/SQL Release 10.2.0.5.0 - ProductionCORE 10.2.0.5.0 ProductionTNS for Linux: Version 10.2.0.5.0 -ProductionNLSRTL Version 10.2.0.5.0 - ProductionSQL> select count(*) from v$fixed_tablewhere name like 'X$%';COUNT(*)----------620以上是Oracle10.2.0.5 版本里的x$表的数量,在Oracle 11g里又有大幅增加:SQL> select count(*) fromv$fixed_table where name like 'X$%';COUNT(*)----------945关于X$表,其创建信息我们也可以通过bootstrap$表查看,该表中记录了数据库启动的基本及驱动信息。

Oracle根据Excel或者world数据字典自动生成建表语句和注释

Oracle根据Excel或者world数据字典自动生成建表语句和注释

Oracle根据Excel或者world数据字典⾃动⽣成建表语句和注释⼯作中⼀般会出现这种情况,和其他单位合作开发项⽬时,对⽅会给我们⼀份他们的数据字典,excl或者world的,这种情况下我们要根据数据字典将表结构建好,但是⼀个字段⼀个字段的去复制粘贴会点到⼿疼,⽽且还很容易出错,在这个情况下我⾃⼰做了⼀个⽣成建表脚本的⼩⽅法,详情如下:1、创建⽣成建表语句的存储过程:create table t_OUTString(Tname varchar2(50),OUTString clob,OUTSTRING2 clob,createddate date);create or replace procedure Pro_ExToSql(SStrin in varchar2 ,TString in varchar2) isRString varchar2(30000);RowString varchar2(30000);LeaveString varchar2(30000);midStr varchar2(30000);LeftStr varchar2(30000);RightStr varchar2(30000);V_Cname varchar2(100);V_Ctype varchar2(100);V_Ccomment varchar2(500);a number;b number;i number;j number;insertSql varchar2(30000);OUTString varchar2(30000);OUTString2 varchar2(30000);cursor curets isselect cname,ctype,ccomment from ets_temp order by createddate desc;beginj:=1;select replace(SStrin,'','#') into RString from dual;select instr(RString,chr(10)),substr(RString , j) into i,LeaveString from dual;while i>0 loopselect substr(LeaveString , j) into LeaveString from dual;select instr(LeaveString,chr(10)) into i from dual;if i is nullthengoto next;end if;select substr(LeaveString , 1 ,i ) into RowString from dual;j:=i+1;select instr(RowString,'#',1,1) ,instr(RowString,'#',1,2) into A,b from dual;select substr(RowString,a+1,b-a-1) ,substr(RowString,1,a-1),substr(RowString,b+1) into midStr,LeftStr,RightStrfrom dual;insertSql:='insert into ETS_temp(CComment,Cname,Ctype,createddate) values('''||midStr||''','''||LeftStr||''','''||RightStr||''',sysdate)';Execute IMMEDIATE insertSql;commit;end loop;<<next>>null;open curets;loopfetch curetsinto V_Cname, V_Ctype,V_Ccomment;exit when curets %NOTFOUND;OUTString:=''||OUTString||'COMMENT ON COLUMN '||TString||'.'||V_Cname||' is '''||V_Ccomment||''';'||chr(10)||'';outstring2:=''||outstring2||''||V_Cname||''||V_Ctype||','||chr(10)||'';end loop ;close curets;outstring2:='create table '||TString||''||chr(10)||'('||outstring2||');';select replace(replace(outstring2,''||chr(10)||',',','),','||chr(10)||');',');') into outstring2 from dual;insert into t_OUTString(Tname,OUTString,OUTSTRING2,createddate) values(Tstring,OUTString,OUTSTRING2,sysdate);commit;delete from ETS_temp;commit;EXCEPTIONWHEN OTHERS THENbegindelete from ETS_temp;commit;end;end Pro_ExToSql;2、执⾏过程会将建表语句insert到t_outstring表中outstring为创建注释语句,outstring2为建表语句:call pro_extosql('JGXLID 监管线路ID numberXLMC 线路名称 varchar2(50)DDFS 调度⽅式 varchar2(10)JHZLC 计划总⾥程 number(10,3)JHYYLC 计划营运⾥程 number(10,3)KSRQ 开始⽇期 datetimeZJZX 周⼏执⾏ varchar2(15)JHPCS 计划配车数 numberJHBCS 计划班次数 numberJHZGFPCS 计划早⾼峰配车数 numberJHWGFPCS 计划晚⾼峰配车数 numberJHZGFBCS 计划早⾼峰班次数 numberJHWGFBCS 计划晚⾼峰班次数 numberSZMC ⾸站名称 varchar2(50)MZMC 末站名称 varchar2(50)SZSB ⾸站⾸班 varchar2(5)SZMB ⾸站末班 varchar2(5)','TableName')3、在T_outstring表中取得以下信息:--outstring字段COMMENT ON COLUMN TableName.JGXLID is'监管线路ID';COMMENT ON COLUMN TableName.SZMB is'⾸站末班';COMMENT ON COLUMN TableName.DDFS is'调度⽅式';COMMENT ON COLUMN TableName.JHZLC is'计划总⾥程';COMMENT ON COLUMN TableName.JHYYLC is'计划营运⾥程';COMMENT ON COLUMN TableName.KSRQ is'开始⽇期';COMMENT ON COLUMN TableName.ZJZX is'周⼏执⾏';COMMENT ON COLUMN TableName.JHPCS is'计划配车数';COMMENT ON COLUMN TableName.JHBCS is'计划班次数';COMMENT ON COLUMN TableName.JHZGFPCS is'计划早⾼峰配车数';COMMENT ON COLUMN TableName.JHWGFPCS is'计划晚⾼峰配车数';COMMENT ON COLUMN TableName.JHZGFBCS is'计划早⾼峰班次数';COMMENT ON COLUMN TableName.JHWGFBCS is'计划晚⾼峰班次数';COMMENT ON COLUMN TableName.SZMC is'⾸站名称';COMMENT ON COLUMN TableName.MZMC is'末站名称';COMMENT ON COLUMN TableName.SZSB is'⾸站⾸班';COMMENT ON COLUMN TableName.XLMC is'线路名称';--outstring2字段create table TableName(JGXLID number,SZMB varchar2(5),DDFS varchar2(10),JHZLC number(10,3),JHYYLC number(10,3),KSRQ datetime,ZJZX varchar2(15),JHPCS number,JHBCS number,JHZGFPCS number,JHWGFPCS number,JHZGFBCS number,JHWGFBCS number,SZMC varchar2(50),MZMC varchar2(50),SZSB varchar2(5),XLMC varchar2(50));PS:这样就可以直接将SQL提取出来执⾏建表了!有更好的办法的希望⼤家在评论区留⾔,⼀起探讨!。

数据字典实例详解

数据字典实例详解

数据字典实例详解
数据字典是用于描述数据库中的数据,以及它们之间如何关联的文档或数据库。

它包括表定义,列定义,索引和外键关系。

表定义指出哪些字段属于表,每个字段的类型以及它们如何相互关联。

索引和外键关系是表与表之间的连接,使表能够互相关联。

数据字典是数据存取的重要组成部分,因为它提供了一个分析表和关联之间数据的重要参考。

它允许开发人员了解数据库,这可以帮助开发高效的数据访问程序。

数据字典也可以提供非技术人员进行更快捷的报表传递,而无需使用复杂的查询来查看各个表的内容。

数据字典也可以帮助人们了解数据是如何储存的,方便维护和调整数据库。

当系统变得越来越复杂时,使用数据字典可以有效节省时间。

它可以帮助数据库开发人员,管理员和维护人员迅速定位问题,而不用去查找。

例如,使用数据字典可以帮助管理员在关联表丢失时确定该表之前是如何设置和连接的。

另外,数据字典还能提供开发人员访问数据库的概览,帮助他们更快地定位问题。

数据字典可以让开发人员收集关于数据表或字段的所有信息,以便更有效地编写代码。

因此,数据字典利用和分析数据库的每一项的内容,将这些内容以易于阅读的格式展现,从而使技术人员有助于更快地定位问题,也有助于非技术人员可以更容易理解数据库的内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习笔记:oracle数据字典详解---本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。

然后列出一些附例。

数据字典系统表,保存在system表空间中。

由表和视图组成,由服务器在安装数据库时自动创建,用户不可以直接修改数据库字典,在执行DDL 语句时,oracle会自动修改。

记录一些表和视图(只读的),新建的表不要和这空间建在一起(9i以前的版本新用户建的表默认表空间为system,注意修改)--查询数据字典:select * from dictionary--数据字典导出方法:conn / as sysdbaspool onspool c:\dic.txtselect * from dictionaryspool off主要四部分:1,内部RDBMS表:x$……2,数据字典表:……$3,动态性能视图:gv$……,v$……4,数据字典视图:user_……,all_……,dba_……数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)+++一,内部RDBMS表x$……,例如:x$kvit,x$bh,x$ksmsp,x$ksppi和x$ksppcv核心部分,用于跟踪内部数据库信息,维持DB的正常运行。

是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。

最好不要修改.x$kvit=Kernel Layer Performance Layer V Information tables Transitory Instance parameter 数据库启动时,动态创建x$……+++二,数据字典表……$,如tab$,obj$,ts$……--用来存储表、索引、约束以及其他数据库结构的信息。

--创建数据库时通过脚本sql.bsq来创建,脚本:$oracle_home/rdbms/admin/sql.bsq+++三,动态性能视图gv$……,v$……,如V$parameter--记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。

--数据库创建时建立的。

--只有sysdba可以直接访问。

--查看表v$fixed_view_definition(***),可以查看GV$和V$视图的创建语句。

(oracle提供一些特殊视图,用来记录其他视图的创建方式,v$fixed_view_definition就是其中之一)--select view_definition from v$fixed_view_definition where view_name='V$FIXED_TABLE';--gv$……=Global V$,在X$……基础上创建,是为了满足OPS环境(多个实例)的需要面产生的,可以返回多个实例的信息。

V$……,在GV$……基础上创建,只返回当前实例的信息。

定义语句都带有:where inst_id=USERENV('Instance')--GV$和V$之后,oracle建立了GV_$和V_$视图,又为这些视图建立了公用同义词。

由脚本catalog.sql 实现的,脚本:$oracle_home/rdbms/admin/catalog.sqlcreate or replace view v_$process as select * from v$process;create or replace public synonym v$process for v_$process;create or replace view gv_$process as select * from gv$process;create or replace public synonym gv$process for gv_$process;-->可以看出:V$(视图)-->V_$(视图)-->V$(公用同义词)GV$(视图)-->GV_$(视图)-->GV$(公用同义词)这样做的目的:通过V_$和GV_$,oracle把V$视图和GV视图和普通用户隔离开来。

(oracle允许V_$视图权限可以授权给其他用户,但不允许任何对于V$视图的直接授权。

)所以,在非Sys用户下,我们访问的都是同义词,而不是V$视图或GV视图。

--oracle访问数据顺序:view-->同义词。

+++四,数据库字典视图--是在X$表和数据字典表之上建立的视图。

--创建数据库时由脚本catalog.sql创建。

脚本:$oracle_home/rdbms/admin/catalog.sql--按前缀不同,作用范围的分为三类:1、以user开头的数据字典:包含当前用户所拥有的相关对象信息。

--能够查到对象的所有者是当前用户的所有对象select table_name from user_tables; (scott) 52、以all开头的数据字典:包含当前用户有权限访问的所有对象的信息。

--能够查到所有当前用户有权限访问的对象select table_name from all_tables; (scott) 963、以dba开头的数据字典:包含数据库所有相关对象的信息。

--只能是有dba权限的用户查询,能查到数据库中所有对象select table_name from dba_tables (sys system)+++附:比较user,all,dba数据字典视图各数据字典表数量比较表Dictionary与V$fixed_table比较通过V$parameter视图来追踪一下数据库的架构oracle如何通过同义词定位对象(10046事件)+++比较user,all,dba数据字典视图---可以查看脚本catalog.sql中的定义:+++--USER_TABLEScreate or replace view USER_TABLES(TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS,PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPED)asselect , decode(bitand(t.property, 2151678048), 0, , null),decode(bitand(t.property, 1024), 0, null, ),decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),0, null, ),decode(bitand(t.trigflag, 1073741824), 1073741824, 'UNUSABLE', 'VALID'),decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)), decode(bitand(t.property, 32), 0, t.initrans, null),decode(bitand(t.property, 32), 0, t.maxtrans, null),s.iniexts * ts.blocksize,decode(bitand(ts.flags, 3), 1, to_number(NULL),s.extsize * ts.blocksize),s.minexts, s.maxexts,decode(bitand(ts.flags, 3), 1, to_number(NULL),s.extpct), decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(o.flags, 2), 2, 1, decode(s.lists, 0, 1, s.lists))), decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(o.flags, 2), 2, 1, decode(s.groups, 0, 1, s.groups))), decode(bitand(t.property, 32+64), 0,decode(bitand(t.flags, 32), 0, 'YES', 'NO'), null), decode(bitand(t.flags,1), 0, 'Y', 1, 'N', '?'),t.rowcnt,decode(bitand(t.property, 64), 0, t.blkcnt, null),decode(bitand(t.property, 64), 0, t.empcnt, null),decode(bitand(t.property, 64), 0, t.avgspc, null),t.chncnt, t.avgrln, t.avgspc_flb,decode(bitand(t.property, 64), 0, t.flbcnt, null),lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),lpad(decode(bitand(t.flags, 8), 8, 'Y', 'N'),5),decode(bitand(t.flags, 6), 0, 'ENABLED', 'DISABLED'),t.samplesize, t.analyzetime,decode(bitand(t.property, 32), 32, 'YES', 'NO'),decode(bitand(t.property, 64), 64, 'IOT',decode(bitand(t.property, 512), 512, 'IOT_OVERFLOW',decode(bitand(t.flags, 536870912), 536870912, 'IOT_MAPPING', null))),decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),decode(bitand(t.property, 8192), 8192, 'YES',decode(bitand(t.property, 1), 0, 'NO', 'YES')),decode(bitand(o.flags, 2), 2, 'DEFAULT',decode(s.cachehint, 0, 'DEFAULT', 1, 'KEEP', 2, 'RECYCLE', NULL)),decode(bitand(t.flags, 131072), 131072, 'ENABLED', 'DISABLED'),decode(bitand(t.flags, 512), 0, 'NO', 'YES'),decode(bitand(t.flags, 256), 0, 'NO', 'YES'),decode(bitand(o.flags, 2), 0, NULL,decode(bitand(t.property, 8388608), 8388608,'SYS$SESSION', 'SYS$TRANSACTION')),decode(bitand(t.flags, 1024), 1024, 'ENABLED', 'DISABLED'),decode(bitand(o.flags, 2), 2, 'NO',decode(bitand(t.property, 2147483648), 2147483648, 'NO',decode(ksppcv.ksppstvl, 'TRUE', 'YES', 'NO'))),decode(bitand(t.property, 1024), 0, null, ),decode(bitand(t.flags, 8388608), 8388608, 'ENABLED', 'DISABLED'),decode(bitand(t.property, 32), 32, null,decode(bitand(s.spare1, 2048), 2048, 'ENABLED','DISABLED')),decode(bitand(o.flags, 128), 128, 'YES', 'NO')from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,sys.obj$ cx, er$ cu, x$ksppcv ksppcv, x$ksppi ksppi where o.owner# = userenv('SCHEMAID')and o.obj# = t.obj#and bitand(t.property, 1) = 0and bitand(o.flags, 128) = 0and t.bobj# = co.obj# (+)and t.ts# = ts.ts#and t.file# = s.file# (+)and t.block# = s.block# (+)and t.ts# = s.ts# (+)and t.dataobj# = cx.obj# (+)and cx.owner# = er# (+)and ksppi.indx = ksppcv.indxand ksppi.ksppinm = '_dml_monitoring_enabled'--可以看到限制条件:where o.owner# = userenv('SCHEMAID')+++--USER_ALL_TABLEScreate or replace view USER_ALL_TABLES(TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, OBJECT_ID_TYPE,TABLE_TYPE_OWNER, TABLE_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPED)asselect TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE,NULL, NULL, NULL, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPEDfrom user_tablesunion allselect TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, OBJECT_ID_TYPE,TABLE_TYPE_OWNER, TABLE_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPEDfrom user_object_tables--扩展了关于用户有权限访问的对象信息,所以user_tables是all_tables的子集。

相关文档
最新文档