Oracle数据字典

合集下载

ORACLE数据字典

ORACLE数据字典

ORACLE数据字典(一)数据字典概念Oracle数据字典由表和视图组成,其中存储了一些与数据库结构信息相关的数据库对象。

数据字典描述了实际数据的组织方式。

例如,表的创建者信息、创建时间信息、表空间信息、用户访问权限信息等。

它们可以像其他数据库表或视图一样进行查询,但不能修改。

它们存储在系统表空间中。

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

数据字典不仅是数据库的核心,也是所有用户,包括最终用户、程序员和数据库管理员的重要工具。

因为数据字典是只读的,所以我们只能对其表或视图使用SQL查询语句。

oracle数据库字典通常是在创建和安装数据库时被创建的,oracle数据字典是oracle数据库系统工作的基础,没有数据字典的支持,oracle数据库系统就不能进行任何工作。

数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

数据字典内容包括:1.数据库中所有模式对象的信息,如表、视图、集群、索引、集群、同义词、序列、过程、方法、包、触发器等。

2,分配多少空间,当前使用了多少空间等。

3,列的缺省值。

4.约束信息的完整性。

5.Oracle用户的名称。

6,用户及角色被授予的权限。

7,用户访问或使用的审计信息。

8,其它产生的数据库信息。

(二)数据字典分类数据字典按照存在的形式分为数据字典表和数据字典视图。

2.1数据字典表数据字典表里的数据是oracle系统存放的系统数据,而普通表存放的是用户的数据。

为了方便的区别这些表,这些表的名字都是用\结尾,这些表属于sys用户。

数据字典表由$oracle_uuhome/rdbms/admin/sql创建。

创建BSQ脚本,并在此脚本中调用其他脚本来创建这些数据字典表。

在这些创建脚本中使用基表创建SQL。

只有Oracle可以读取和写入这些数据字典表。

基表是存储数据库信息的基础表。

基表是在任何Oracle 数据库中创建的第一个对象。

使用“创建数据库”创建数据库时,只要Oracle server运行SQL BSQ脚本,就会自动创建这些对象。

oracle 数据字典 字段内容

oracle 数据字典 字段内容

一、概述Oracle数据字典是Oracle数据库内置的元数据信息集合,用于存储和展示数据库中的对象、表、视图、索引等相关信息。

其中,字段内容是数据字典中的一个重要部分,它记录了数据库中各个字段的属性、数据类型、约束等信息。

本文将从字段内容的定义、结构和应用角度进行详细的介绍和分析,帮助读者更好地理解和运用Oracle数据字典中的字段内容。

二、字段内容的定义在Oracle数据库中,字段内容指的是数据库中表的字段定义信息,包括字段名、数据类型、长度、约束、默认值等。

它是数据库设计和管理的重要指标之一,对于数据库开发人员、管理员和分析师来说具有重要意义。

三、字段内容的结构字段内容包括以下几个方面的信息:1.字段名:字段在表中的名称,一般由字母、数字和下划线组成。

2.数据类型:字段存储的数据类型,如VARCHAR2、NUMBER、DATE等。

3.长度:字段存储数据的长度限制,如VARCHAR2(50)表示最大长度为50个字符。

4.约束:字段的数据约束,如主键约束、外键约束、唯一约束等。

5.默认值:字段的默认数值或表达式,当插入数据时若未指定该字段的值,则自动填充默认值。

四、字段内容的应用1.数据库设计:在进行数据库设计时,需要合理地定义字段内容,选择合适的数据类型、长度和约束,以便存储和保护数据的完整性和一致性。

2.数据分析:在进行数据分析时,可以通过字段内容了解到表中各个字段的基本信息,为数据清洗、转换和分析提供依据。

3.性能优化:通过分析字段内容,可以优化数据库的物理结构、索引设计等,提高数据库的性能和响应速度。

五、字段内容的查询方法在Oracle数据库中,可以通过以下几种方式查询字段内容:1.使用SQL语句查询数据字典视图,如USER_TAB_COLUMNS、ALL_TAB_COLUMNS、DBA_TAB_COLUMNS等。

2.使用Oracle SQL Developer工具进行可视化操作,通过图形化界面查看和编辑字段内容。

Oracle常用数据字典与动态性能视图

Oracle常用数据字典与动态性能视图
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');
4、序列号
查看序列号,last_number是当前值
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
查看某表的创建时间
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_segments

Oracle常用数据字典

Oracle常用数据字典

一、Oracle数据字典主要由一下几种视图构成:ER视图以USER_为前缀,用来记录用户对象的信息2,ALL视图以ALL_为前缀,用来记录用户对象的信息及被授权访问的对象信息3.DBA视图以DBA_为前缀,用来记录数据库实例的所有对象的信息4.V$视图以V$为前缀,用来记录与数据库活动相关的性能统计动态信息5.GV$视图以GV$为前缀,用来记录分布式环境下所有实例的动态信息二、Oracle常用的数据字典1.基本数据字典字典名称说明DBA_TABLES 所有用户的所有表信息DBA_TAB_COLUMNS 所有用户的表的字段信息DBA_VIEWS 所有用户的所有视图信息DBA_SYNONYMS 所有用户的所有同义词信息DBA_SEQUENCES 所有用户的所有序列信息DBA_CONSTRAINTS 所有用户的表的约束信息DBA_IND_COLUMNS 所有用户的表的索引的字段信息DBA_TRIGGERS 所有用户的触发器信息DBA_SOURCES所有用户的存储过程信息DBA_SEGMENTS 所有用户的段的使用空间信息DBA_EXTENTS 所有用户的段的扩展信息DBA_OBJECTS 所有用户对象的基本信息CAT 当前用户可以访问的所有基表TAB 但前用户创建的所有基表、视图、同义词等DICT 构成数据字典的所有表的信息2.与数据库组件相关的数据字典数据库组件数据字典中的表或视图说明数据库V$DATAFILE 记录系统的运行情况表空间DBA_TABLESPACES 记录系统表空间的基本信息DBA_FREE_SPACE 记录系统表空间的空闲空间信息控制文件V$CONTROLFILE 记录系统控制文件的基本信息V$CONTROL_RECORD_SECTION 记录系统控制文件中记录文档段的信息V$PARAMETER 记录系统个参数的基本信息数据文件DBA_DATA_FILES 记录系统数据文件及表空间的基本信息V$FILESTAT 记录来自控制文件的数据文件信息V$DATAFILE_HEADER 记录数据文件头部的基本信息段DBA_SEGMENTS 记录段的基本信息区DBA_EXTENTS 记录数据区的基本信息日志V$THREAD 记录日志线程的基本信息V$LOG 记录日志文件的基本信息V$LOGFILE 记录日志文件的概要信息归档V$ARCHIVED_LOG 记录归档日志文件的基本信息V$ARCHIVED_DEST 记录归档日志文件的路径信息数据库实例V$INSTANCE 记录实例的基本信息V$SYSTEM_PARAMETER 记录实例当前有效的参数信息内存结构V$SGA 记录SGA区的信息V$SGASTAT 记录SGA的详细信息V$DB_OBJECT_CACHE 记录对象缓存的大小信息V$SQL 记录SQL语句的详细信息V$SQLTEXT 记录SQL语句的语句信息V$SQLAREA 记录SQL区的SQL基本信息后台进程V$BGPROCESS 显示后台进程信息V$SESSION 显示当前会话信息3.常用动态性能视图视图名称说明V$FIXED_TABLE 显示当前发行的固定对象的说明V$INSTANCE 显示当前实例的信息V$LATCH 显示锁存器的统计数据V$LIBRARYCACHE 显示有关库缓存性能的统计数据V$ROLLSTAT 显示联机的回滚段的名字V$ROWCACHE 显示活动数据字典的统计V$SAG 记录SGA区的信息V$SGASTAT 记录SGA的详细信息V$SORT_USAGE 显示临时段的大小及会话V$SQLTEXT 记录SQL语句的语句信息V$SQLAREA 记录SQL区的SQL基本信息V$STSSTAT 显示基本的实例统计信息V$SYSTEM_EVENT 显示一个事件的总计等待时间V$WAITSTAT 显示块竞争统计数据查看当前用户的缺省表空间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;显示用户信息(所属表空间)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_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom 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');☆dba_开头.....dba_users 数据库用户信息dba_segments 表段信息dba_extents 数据区信息dba_objects 数据库对象信息dba_tablespaces 数据库表空间信息dba_data_files 数据文件设置信息dba_temp_files 临时数据文件信息dba_rollback_segs 回滚段信息dba_ts_quotas 用户表空间配额信息dba_free_space 数据库空闲空间信息dba_profiles 数据库用户资源限制信息dba_sys_privs 用户的系统权限信息dba_tab_privs 用户具有的对象权限信息dba_col_privs 用户具有的列对象权限信息dba_role_privs 用户具有的角色信息dba_audit_trail 审计跟踪记录信息dba_stmt_audit_opts 审计设置信息dba_audit_object 对象审计结果信息dba_audit_session 会话审计结果信息dba_indexes 用户模式的索引信息☆user_开头user_objects 用户对象信息user_source 数据库用户的所有资源对象信息user_segments 用户的表段信息user_tables 用户的表对象信息user_tab_columns 用户的表列信息user_constraints 用户的对象约束信息user_sys_privs 当前用户的系统权限信息user_tab_privs 当前用户的对象权限信息user_col_privs 当前用户的表列权限信息user_role_privs 当前用户的角色权限信息user_indexes 用户的索引信息user_ind_columns 用户的索引对应的表列信息user_cons_columns 用户的约束对应的表列信息user_clusters 用户的所有簇信息user_clu_columns 用户的簇所包含的内容信息user_cluster_hash_expressions 散列簇的信息☆v$开头v$database 数据库信息v$datafile 数据文件信息v$controlfile 控制文件信息v$logfile 重做日志信息v$instance 数据库实例信息v$log 日志组信息v$loghist 日志历史信息v$sga 数据库SGA信息v$parameter 初始化参数信息v$process 数据库服务器进程信息v$bgprocess 数据库后台进程信息v$controlfile_record_section 控制文件记载的各部分信息v$thread 线程信息v$datafile_header 数据文件头所记载的信息v$archived_log 归档日志信息v$archive_dest 归档日志的设置信息v$logmnr_contents 归档日志分析的DML DDL结果信息v$logmnr_dictionary 日志分析的字典文件信息v$logmnr_logs 日志分析的日志列表信息v$tablespace 表空间信息v$tempfile 临时文件信息v$filestat 数据文件的I/O统计信息v$undostat Undo数据信息v$rollname 在线回滚段信息v$session 会话信息v$transaction 事务信息v$rollstat 回滚段统计信息v$pwfile_users 特权用户信息v$sqlarea 当前查询过的sql语句访问过的资源及相关的信息v$sql 与v$sqlarea基本相同的相关信息v$sysstat 数据库系统状态信息☆all_开头all_users 数据库所有用户的信息all_objects 数据库所有的对象的信息all_def_audit_opts 所有默认的审计设置信息all_tables 所有的表对象信息all_indexes 所有的数据库对象索引的信息☆session_开头session_roles 会话的角色信息session_privs 会话的权限信息☆index_开头index_stats 索引的设置和存储信息☆伪表dual 系统伪列表信息注意:dba权限可以访问动态性能视图。

oracle 数据字典查询语句

oracle 数据字典查询语句

oracle 数据字典查询语句Oracle 数据字典是一个包含了数据库中所有对象和结构的元数据集合。

通过查询数据字典,可以获取数据库的详细信息,如表、列、索引、约束、触发器等对象的定义和属性。

下面列举了十个常用的Oracle 数据字典查询语句。

1. 查询所有表名:```sqlSELECT TABLE_NAME FROM ALL_TABLES;```这个查询语句将返回当前用户下所有表的名称。

2. 查询表的列信息:```sqlSELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = '表名';```这个查询语句将返回指定表的所有列名、数据类型、数据长度和是否可空。

3. 查询表的索引信息:```sqlSELECT INDEX_NAME, COLUMN_NAME, COLUMN_POSITION FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名';这个查询语句将返回指定表的所有索引名称、索引列名和索引列位置。

4. 查询表的主键信息:```sqlSELECT CONSTRAINT_NAME, COLUMN_NAME FROM ALL_CONS_COLUMNS WHERE TABLE_NAME = '表名' AND CONSTRAINT_NAME = 'PK_主键名'; ```这个查询语句将返回指定表的主键约束名和主键列名。

5. 查询表的外键信息:```sqlSELECT CONSTRAINT_NAME, COLUMN_NAME, R_CONSTRAINT_NAME, R_OWNER, R_TABLE_NAME, R_COLUMN_NAME FROM ALL_CONS_COLUMNS WHERE TABLE_NAME = '表名' AND CONSTRAINT_TYPE = 'R';```这个查询语句将返回指定表的外键约束名、外键列名、参考表的所有者、参考表名和参考列名。

oracle学习笔记10--数据字典和动态性能视图

oracle学习笔记10--数据字典和动态性能视图

数据字典和动态性能视图数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。

动态性能视图记载了例程启动后的相关信息。

数据字典数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。

用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。

数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表。

数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息。

数据字典视图主要包括:user_xxx,all_xxx,dba_xxx三种类型。

user_tables:用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表。

比如:select table_name from user_tables;all_tables用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表select table_name from all_tables;dba_tables:它会显示所有方案拥有的数据库表,但是要查询这种数据字典视图,要求用户必须是dba角色,或是拥有select any table系统权限,例如:当system用户查询数据字典视图dba_tables时,会返回system,sys,Scott,……方案所对应的数据库表。

用户名、权限、角色在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色的信息存放到数据字典中。

通过查询dba_users可以显示所有数据库用户的详细信息通过查询数据字典视图dba_sys_privs,可以显示用户所具有的系统权限通过查询数据字典视图dba_tab_privs可以显示用户所具有的对象权限通过查询数据字典视图dba_col_privs可以显示用户具有的列权限通过查询数据库字典视图dba_role_privs可以显示用户所具有的角色查询oracle中所有的系统权限,一般是DBA:select * from system_privilege_map order by name;查询oracle中的所有角色,一般是DBA:select * from dba_roles;查询oracle中所有的对象权限,一般是DBAselect distinct privilege from dba_tab_privs;查询数据库的表空间select tablespace_name from dba_tablespaces;那么,一个角色具有哪些权限呢?我们知道权限分为系统权限和对象权限,我们先看看系统权限:SQL> select * from dba_sys_privs where grantee='CONNECT';GRANTEE PRIVILEGE ADMIN_OPTION---------------------------------------------------------------------- ------------CONNECT CREATE SESSION NO SQL> select * from dba_sys_privs where grantee='RESOURCE';GRANTEE PRIVILEGE ADMIN_OPTION---------------------------------------------------------------------- ------------RESOURCE CREATE TRIGGER NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE TYPE NO RESOURCE CREATE PROCEDURE NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE OPERATOR NORESOURCE CREATE INDEXTYPE NO RESOURCE CREATE TABLE NO从以上结果可以看出,在oracle 10g中,CONNECT 角色只有CREATE SESSION一个系统权限(oracle 9i中是8个),而RESOURCE角色有8个系统权限另外,查看系统权限还可以这样操作:select * from role_sys_privs where role=’角色名’其实这些信息完全可以通过PL/SQL Developer方便查看。

Oracle数据库之数据字典

Oracle数据库之数据字典

数据字典视图的查找 数据字典视图非常的多,该怎么样去查找呢? 有一个视图,通过这个视图可以查找所有的数据字典视图,这个视图就是 dictionary,这个视图的同义词是dict
注意:数据字典视图最经典的用法是使用别人已经写好的一些查询。大 家主要的是去练习一下“oracle常用经典sql查询.doc”里面的各个查询。
Oracle数据库之数据字典
什么叫数据字典?
数据字典指的是描述数据的数据。 举个例子: 1、我们在数据库里面创建了一个表 这个表位于哪个数据文件 这个表有哪些列 这个表的每一个列的数据类型
这个表的约束
等等 这些信息都是描述这个表的,这些信息也存放在一些表中,这些表就是数 据字典,数据字典中的数据描述的是整个数据库的各种各样的信息。 数据库要能够访问,数据字典必须能够被访问。
动态性能视图 有一些数据,例如内存中的数据、控制文件中的数据,oracle提供了一些访问 这些数据的方式:以表的方式展现这些数据。 这些数据并没有存在实际的表中,只是以表的形式展现出来,因此是一些虚拟 的表。 数据库在运行、控制文件和内存中的数据在不断地变化,那么动态性能视图中 的数据也在不停的变化,数据库重新启动以后,动态性能视图中的数据全部丢 失。 所有的动态性能视图的名称都存放在v$fixed_table里面。 动态性能视图的名字都是以v_$开始的,属主是sys。 Oracle为每一个动态性能视图提供了一个同义词,都以v$开头,例如v$session
通过这个脚本,我们发现大多数的数据字典基本表是以$结尾的
数据字典视图 1、列名含义清楚 2、视图隐藏了基本表之间的复杂关系 3、数据字典视图的所有者是sys 4、oracle还为所有的数据字典视图建立了公共的同义词,这样用户就可以通过 别名来访问数据字典视图 5、数据字典视图和同义词通过catalog.sql来建立

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ALL数据字典
视图是USER视图的扩展,在ALL视图中记录了属于该的所有对象的信息,以及
该用户可以访问的属于其他用户的对象的信息。

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

在DBA数据
字典视图中记录了全部数据库对象的信息。

在数据库实例的整个运行过程中,Oracle会始终在数据字典中维护一系列的“虚拟”表,在其中记录与数据库活动相关的性能统计信息,这些虚拟表称为动态性能表。

动态性能表不是固定的表,它是在Oracle实例启动时动态地创建,并向其写入信息;而当Oracle关闭时,动态性能表将被丢弃。

所有的动态性能表的名称都是以V$为开头。

Oracle 自动在动态性能表的基础上创建一个视图,这些视图被称为动态性能视图。

例如,动态性能视图V$SGA记录了系统全局存储区SGA的信息,通过查询该动态性能视图,用户使可以获取当前数据库实例的全局存储区SGA的信息。

SQL> select name,value from v$sga;
NAME ALUE
-------------------- ----------
Fixed Size 1333312
Variable Size 310380480
Database Buffers 58720256 Redo Buffers 6201344。

相关文档
最新文档