当前位置:文档之家› oracle系统表和视图说明

oracle系统表和视图说明


注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括同义词。 索引 DBA_INDEXS 、 ALL_INDEXS 、 USER_INDEXS 、 DBA_IND_COLUMNS 、 ALL_IND_COLUMNS 和 USER_IND_COLUMNS。 用户 DBA_USERS。 角色 DBA_ROLES。 表空间定额 DBA_TS_QUOTAS。 配置 Oracle 表 DBA_PROFILES。 表空间 DBA_TABLESPACES。 数据文件 DBA_DATA_FILES。 段 DBA_SEGMENTS、USER_SEGMENT。 回滚段 DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT
5.视图的依赖性
由于视图的定义是一个引用了其他对象(表,视图)的查询,因此视图依赖于其所引用的对 象。Oracle 会自动地处理视图的依赖性。例如,当用户移除了一个视图的基表后再重建此 表,Oracle 将检查新的基表是否符合视图的定义并判断视图的有效性。
6.可更新的连接视图
连接视图是指在一个视图的定义查询的 from 字句中引用了多个表或视图。而可更新的连接 视图是指能够执行 UPDATE,INSERT,和 DELETE 操作的连接视图。为了保证视图是可 更新的,其定义中不能包含以下语法结构:
查询该用户拥有哪些索引
1. select index_name from user_indexes;
查询该用户拥有哪些视图
1. select view_name from user_views;
查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、 序列、JAVA 文件等。
1. select object_name from user_objects;
2.视图的存储
与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一 个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基 于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额 外的存储空间。
3.视图的作用
用户可以通过视图以不同形式来显示基表中的数据,视图的强大之处在于它能够根据不同用 户的需要来对基表中的数据进行整理。视图常见的用途如下:
视图的列名可以被任意改变,而不会影响此视图的基表
使应用程序不会受基表定义改变的影响
在一个视图的定义中查询了一个包含 4 个数据列的基表中的 3 列。当基表中添加了新的列 后,由于视图的定义并没有被影响,因此使用此视图的应用程序也不会被影响。
保存复杂查询
一个查询可能会对表数据进行复杂的计算。用户将这个查询保存为视图之后,每次进行类似 计算只需查询此视图即可。
通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制
隐藏数据复杂性
视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐 藏了数据来源于多个表的事实。
简化用户的 SQL 语句
用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的。
以不同的角度来显示基表中的数据
主要描述当前用户的信息,主要包括当前用户名、帐户 id、帐户状态、表空间名、创 建时间等。
1. select * from user_users;
user_/all_区别: all_列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。 查询某一用户下的所有表、过程、函数等信息。
1. select owner , object_name , object_type from all_objects
当前锁住的对象 静态数据字典:这类数据字典主要是由表和视图组成 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
1. user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
v$context
该视图列出当前会话的属性信息。比如命名空间、属性值等。
以上的相关内容就是对 Oracle 数据字典的相关内容的介绍,望你能有所收获。
oracle 几个常用的监控视图 v$process, v$session, v$sqltext, V$SESSION_WAIT 几个重要的 Oracle 表或者视图 v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息; v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息; v$resource:资源信息;v$sga:系统全局区的信息 数据字典视图 表和列 DBA_TABLES、ALL_TABLES 和 USER_TABLES 显示了有关数据库表的一般信息。 DBA_TAB_COLUMNS、ALL_TAB_COLUMNS 和 USER_TAB_COLUMNS 显示了每个数据库表的列 的信息。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括 Oracle 表。 完整性约束 DBA_CONSTRAINTS、ALL_CONSTRAINTS 和 USER_CONSTRAINST 显示有关约束的一般信息。 DBA_CONS_COLUMNS、ALL_CONS_COLUMNS 和 USER_CONS_COLUMNS 显示有关列的相关约 束的一般信息。 视图 DBA_VIEWS、ALL_VIEWS 和 USER_VIEWS。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括视图。 序列 DBA_SEQUENCES、ALL_SEQUENCES 和 USER_SEQUENCES。 注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括序列。 同义词 DBA_SYNONYMS、ALL_SYNONYMS 和 USER_SYNONYMS。
1.视图的概述
视图其实就是一条查询 sql 语句,用于显示一个或多个表或其他视图中的相关数据。视图将 一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图 来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表 的完整性约束,并同样会触发定义在基表上的触发器。(Oracle 支持在视图上显式的定义触 发器和定义一些逻辑约束)
1. all_*
该试图存储了当前用户能够访问的对象的信息。(与 user_*相比,all_* 并不需要拥 有该对象,只需要具有访问该对象的权限即可)
1. dba_*
该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限, 一般来说必须具有管理员权限
1. select * from dictionary;
该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session 对象)。
1. select * from v$access 2. v$session
该视图列出当前会话的详细信息。
1. v$active_instance
该视图主要描述当前数据库下的活动的实例的信息。依然可以使用 select 语句来观察 该信息。
查询该用户拥有哪些表 user_tables 主要描述当前用户拥有的所有表的信息, 主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有 哪些
1. desc user_tables; 2. select table_n from user_tables;
集合操作符 DISTINCT 操作符 聚合函数或分析型函数 GROUP BY,ORDER BY,CONNECT BY,或 START WITH 字句 在 SELECT 之后的列表中使用集合表达式 在 SELECT 之后的列表中使用子查询 连接(join)(但是有例外情况) 对于不可更新的视图,可以利用 INSTEAD OF 触发器对其数据进行修改。
对于 dba_开头的需要管理员权限, 查询表空间的信息(当前用户必须拥有 DBA 角色)。
1. select * from dba_data_files
动态 Oracle 数据字典 Oracle 包含了一些潜在的由系统管理员如 SYS 维护的表和视图,由于当数据库运行的 时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图 提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。 Oracle 中这些动态性能视图都是以 v$开头的视图. v$access
逻辑数据独立性
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上 的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。 4.视图的工作机制
视图的定义就是其使用的查询语句,Oracle 将这个定义以文本形式存储在数据字典中。当 用户在 SQL 语句中引用了视图时,Oracle 将进行以下工作:
将引用了视图的语句与视图的定义语句整合为一个语句 在共享 SQL 区解析整合后的语句 执行此语句 当现有的共享 SQL 区中没有与整合后的语句一致时,Oracle 才会为此语句创建新的共享 SQL 区。因此,引用了视图的 SQL 语句也能够利用已有的共享 SQL 区以达到节约内存 和提高性能的目的。
在 mount 状态下可以查看 v$开头的视图
Oracle 数据字典中包含的视图有哪些 我们都知道 Oracle 数据字典文档中静态数据字典的视图共分为三类,动态 Oracle 数据
字典的相关视图又分为哪几类呢?以及 Oracle 数据字典的相关视图又有什么样的作用呢? 这些问题在此篇文章中都会找到答案。
相关主题