数据字典与动态视图

合集下载

Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle数据库日常维护【版本整理日期:2011/02/26 】版本整理人:1634068400@本文档包含以下内容:1.Oracle数据库日常维护2.Oracle DBA 常用管理脚本3.Oracle DB 常用SQL 语句/******************************************************** (若跳转不成功,请复制到浏览器或联系Q) /item.htm?id=7437120468Metalink Sharing ********************************************************/在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。

一、Oracle警告日志文件监控Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:l数据库的启动、关闭,启动时的非缺省参数;l数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;l对数据库进行的某些操作,如创建或删除表空间、增加数据文件;l数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA -600)DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理问题处理 启动参数不对 检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC文件,如果是Oracle 的bug ,要及时打上相应的补丁二、数据库表空间使用情况监控(字典管理表空间)数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。

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脚本,就会自动创建这些对象。

实验三 数据流图与数据字典

实验三 数据流图与数据字典

实验三数据流图与数据字典数据流图是一种图形化的工具,用于描述系统中的数据流动和处理过程。

它可以帮助我们理解系统内部的数据流动方式,并且可以用来分析和设计系统。

数据字典是一种文档,用于记录系统中使用的所有数据项的定义和属性。

在本次实验中,我们将学习如何绘制数据流图,并创建相应的数据字典。

我们将以一个图书馆管理系统为例,来说明数据流图和数据字典的应用。

首先,我们需要定义系统中的各个角色和功能。

在这个例子中,我们有图书管理员、读者和图书馆系统这三个角色。

图书管理员负责管理图书的借还过程,读者可以借阅图书,而图书馆系统则负责管理图书的信息和借还记录。

接下来,我们可以开始绘制数据流图。

数据流图由一系列的方框和箭头组成,方框代表各个处理过程,箭头代表数据的流动。

在我们的图书馆管理系统中,我们可以绘制以下几个方框来表示各个功能模块:1. 图书借阅:这个方框表示读者借阅图书的过程。

数据流进入这个方框,表示读者提交借书请求,然后系统会检查图书是否可借,并更新图书的借阅记录。

最后,系统会生成借书通知单,通知读者可以去借阅图书。

2. 图书归还:这个方框表示读者归还图书的过程。

数据流进入这个方框,表示读者提交还书请求,然后系统会检查图书的借阅记录,并更新图书的状态。

最后,系统会生成还书通知单,通知读者图书已成功归还。

3. 图书管理:这个方框表示图书管理员管理图书的过程。

数据流进入这个方框,表示管理员需要查询或更新图书的信息。

管理员可以添加新书、删除旧书、修改图书信息等。

4. 读者管理:这个方框表示图书管理员管理读者信息的过程。

数据流进入这个方框,表示管理员需要查询或更新读者的信息。

管理员可以添加新读者、删除旧读者、修改读者信息等。

5. 借阅记录管理:这个方框表示图书管理员管理借阅记录的过程。

数据流进入这个方框,表示管理员需要查询或更新借阅记录的信息。

管理员可以查看借阅记录、生成统计报表等。

以上是我们根据图书馆管理系统的功能,绘制的数据流图。

第3章 静态数据字典与动态性能视图

第3章 静态数据字典与动态性能视图

——静态数据字典

动态性能表记录数据库的运行状况。如:

——动态性能视图


2014
Oracle 11g数据库管理与开发基础教程
3.1 静态数据字典
Oracle数据字典存储在system表空间内,最早被 创建的数据库对象。 由以下两种对象类型组成:


基表:数据字典基表存储有关数据库的信息,其中的 大部分数据是以加密格式存储的。用户不可使用。 用户访问视图:这些视图基于数据字典基表而创建, 它们汇总数据字典基表内的信息,以可读的方式提供 给用户使用。
名称
2014
Oracle 11g数据库管理与开发基础教程
3.2.2 常用动态性能视图
从动态性能视图v$fixed_table中可以查询到Oracle 所有的动态性能视图以及X$基表的名称。 详见教材P54~56。 例如,下面语句执行结果显示Oracle Database 11g中共有1968个动态性能视图基表和X$基表:

2014
Oracle 11g数据库管理与开发基础教程

数据字典是Oracle数据库管理系统的核心,它存 储整个Oracle数据库的所有数据定义信息。如:



物理存储结构和逻辑存储结构 存储空间的分配使用情况 对象的定义及其约束 用户、角色、权限设置等
实例的内存使用情况 I/O状况 当前会话的情况 事务的信息及锁定的资源等
2014
Oracle 11g数据库管理与开发基础教程
第3章 静态数据字典与动态 性能视图
2014
Oracle 11g数据库管理与开发基础教程
本章内容
数据字典的作用、结构及其应用 动态性能视图的作用、结构及其应用

UML的十种视图

UML的十种视图

静态图捕获逻辑结构类图 class系统静态结构对象图 object活跃对象包图 packet系统的分解行为图捕获现实行为交互图顺序 sequence消息发送时序合作collaboration动态协作关系状态图 statechart对象的动态行为活动图 activity描述系统为完成某项功能而执行的操作序列,包含控制流和信息流控制流:某操作完成后对其后续操作的触发信息流:刻画操作之间的信息交换实现图捕获执行环境构件图 component软件实现系统中各组分以及依赖关系部署图 deployment运行环境的硬件及网络物理体系结构UML可视化建模:三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。

它只说明系统实现什么功能,而不必说明如何实现。

用例图主要用于对系统,子系统或类的行为进行建模。

2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。

3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。

在对象名下面要加下划线。

(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。

通过分组,可提高模型的维持性。

包之间的关系包括继承、构成与依赖。

5.顺序(时序)图(sequence diagram)交互图之一。

描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。

时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。

6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。

在图形上,协作图是顶点和弧的结合。

协作图包含对象、链、消息。

(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。

数据字典的定义

数据字典的定义

数据字典的定义
数据字典的定义是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。

数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。

它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。

数据一览与数据字典来记录、校验和管理正在进行的操作。

Oracle中,sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。

也就是说数据字典只能查询,不能手动进行修改。

一、数据字典用途
Oracle通过存取数据字典从而比较方便地获取有关用户某事对象和存储结构等信息。

当系统执行了DDL语句后,oracle会及时修改数据字典。

任何用户只能以读的形式使用数据字典获取数据库信息。

二、数据字典存储的信息
数据用户的名称
为用户授予的权限和角色
模式对象的名。

完整性约束的具体信息;
每个字段的默认值;
数据库空间的使用情况;
存储审计的信息
对象与用户的严格管理(适用于高度机密管理);其他一般数据库信息。

数据字典_精品文档

数据字典_精品文档

数据字典一、数据字典的定义定义:数据字典是一种元数据存储的形式,它提供了关于数据库中各种对象的详细描述和属性信息。

数据字典可以视为一个中心的、集中的信息源,其中包含了关于数据库的全面、准确和可靠的信息。

作用:数据字典提供了关于数据对象属性的详细信息,从而增强了数据的可理解性和透明度。

它有助于减少数据冗余和误解,增强数据的准确性,并为数据管理提供便利。

与其他概念的区分:数据字典与数据表、视图等数据库对象不同。

数据表用于存储实际的数据,而数据字典则用于描述这些数据对象的属性。

应用领域:在软件开发、系统分析和数据库设计中,数据字典都扮演着重要的角色。

它是许多软件开发生命周期(SDLC)中不可或缺的一部分。

发展历程:随着数据库技术的不断发展和完善,数据字典的概念和应用也逐步成熟。

如今,许多现代数据库管理系统(DBMS)都提供了内置的数据字典功能。

二、数据字典的作用增强数据理解:通过提供关于数据对象的详细描述,数据字典帮助开发人员、数据库管理员和其他用户更好地理解数据的结构和含义。

减少错误和冗余:明确的属性定义和规范化的描述可以减少因误解或错误导致的错误,并消除冗余信息。

提高数据一致性:通过确保所有使用相同术语和定义的成员遵循相同的规则,数据字典增强了不同系统之间数据的一致性。

支持数据治理:在实施数据治理策略时,数据字典提供了重要的参考和基础。

它确保数据的准确性、完整性并支持合规性。

简化数据管理:通过提供集中、统一的描述信息,数据字典简化了数据的查找、跟踪和维护工作。

三、数据字典的内容元素定义:这包括对每个数据元素的名称、缩写、描述和其他相关属性的明确说明。

属性列表:详细列举了每个数据元素的属性,如长度、格式、约束等。

关联关系:描述了不同数据元素之间的关系,包括父子关系、依赖关系等。

访问权限:定义了不同用户或角色对特定数据元素的访问权限。

版本与修订记录:记录了每个数据元素的版本信息和历史修订情况。

四、数据字典的维护更新的必要性:由于业务需求和技术环境的变化,数据字典的内容可能需要定期更新和维护。

数据库数据字典

数据库数据字典

数据库数据字典数据库数据字典是指对数据库中的各个表、字段、约束等元素进行详细记录和描述的文档,用于匡助开辟人员、管理员和用户更好地理解和使用数据库。

它是数据库管理系统中的重要工具,能够提供关键信息,匡助用户了解数据库结构和内容。

数据字典的编写需要包括以下内容:1. 数据库基本信息:包括数据库名称、版本、创建日期、最后修改日期等基本信息,以便用户快速了解数据库的基本情况。

2. 表信息:对数据库中的每一个表进行详细描述,包括表名、表描述、表的创建日期、最后修改日期等信息。

同时,还需要记录表的主键、外键、索引等约束信息,以及表的存储引擎等技术细节。

3. 字段信息:对每一个表中的字段进行详细描述,包括字段名、数据类型、长度、是否允许为空、默认值等信息。

此外,还需要记录字段的含义、取值范围、单位等详细说明,以便用户能够准确理解和使用字段。

4. 约束信息:记录表中的各种约束,包括主键、外键、惟一约束、检查约束等。

对于主键和外键,需要记录其所属表和相关字段,以及约束的名称和描述。

5. 视图信息:如果数据库中存在视图,需要对每一个视图进行详细描述,包括视图名称、视图定义、创建日期、最后修改日期等信息。

同时,还需要记录视图所依赖的表和字段,以及视图的用途和使用方法。

6. 存储过程和函数信息:如果数据库中存在存储过程和函数,需要对每一个存储过程和函数进行详细描述,包括名称、定义、参数、返回值等信息。

同时,还需要记录存储过程和函数的用途和使用方法。

7. 数据字典的更新和维护:数据字典是动态的,随着数据库的变化而变化。

因此,需要记录数据字典的更新和维护过程,包括新增表、字段、约束等的记录,以及相应的修改和删除操作。

通过编写数据库数据字典,可以匡助用户更好地理解和使用数据库,提高开辟和维护效率。

同时,数据字典还可以作为数据库文档的一部份,为数据库的备份、恢复、迁移等操作提供重要参考。

因此,编写和维护数据库数据字典是数据库管理的重要工作之一。

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




数据字典视图存放基表解码后的信息,用户可以通过它查 询系统信息。
内部RDBMS(X$)表

X$表是oracle数据库的核心部分,这些表用于跟踪内部 数据库信息,维持数据库的正常运行。X$表是加密命名 的,而且oracle不作文档说明,这部分知识是oracle公司 的技术机密,oracle通过这些X$表建立起其他大量视图, 提供用户查询管理数据库之用。但是由于X$表记录了大 量的有用信息,所以也不停地被全球的DBA不懈地探索着, 最为人所熟知的有X$BH、 X$KSMKP等。 X$表是oracle数据库的运行基础,在数据库启动时由 oracle应用程序动态创建。这部分表对数据库来说至关重 要,所以oracle不允许SYSDBA之外的用户直接访问,显 示授权不被允许。



Where inst_id=USERENV(‘Instance’)—用于限制返回当前实例信 息。
动态性能视图其他视图

Oracle提供了一些特殊视图用以记录其他视图的 创建方式。V$fixed_view_definition就是其中 之一。例如查看GV$FIXED_TABLE和 V$FIXED_TABLE,了解一下GV$和V$视图的结 构及创建方式:
以USER_开头的数据字典视图 以DBA_开头的数据字典视图

在Oracle中,用户 与模式一一对应,用 户可以访问其模式的 所有对象,如果用户 要访问其他模式的对 象,必须要有相应的 对象特权。
用户stu_00
模式stu_00
模式SYSTEM

数据字典表的用户都是sys,存在在system这个 表空间里,表名都用“$”结尾,为了便于用户对 数据字典表的查询,这样的名字是不利于我们记 忆的,所以Oracle对这些数据字典都分别建立了 用户视图,不仅换了更容易接受的名字,还隐藏 了数据字典表表之间的关系,让我们通过视图来 进行查询,简单而形象,Oracle针对这些对象的 范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX

以DBA_开头的数据字典视图

DBA_数据字典视图用于显示整个数据库范围内 的系统信息。(要求用户有DBA角色或SELECT ANY TABLE系统权限) SELECT owner, object_name FROM dba_objects where object_type = ‘TABLE’;


模式(Schema)

模式是用户所拥有对象的集合,在Oracle数据库 中,用户与模式是一一对应的关系,并且二者名 称相同。
用户SYSTEM 模式SYSTEM
用户stu_00
模式stu_00
数据字典包括以下内容

所有数据库Schema对象的定义(表、视图、索引、聚簇、 同义词、序列、过程、函数、包、触发器等); 数据库的空间分配和使用情况;

字段的缺省值;
完整性约束信息; Oracle用户名称、角色、权限等信息; 审计信息; 其他数据库信息。
数据字典

所有数据字典都属于SYS模式,并且存放在SYSTEM表空 间中。 数据字典由基表(内部RDBMS(X$)表和数据字典表) 和视图(动态性能(V$)视图和数据字典视图)两部分 构成。 其中基表存放数据库的基本信息,普通用户无法读写。
Oracle通过动态性能视图将oracle数据库的状态 展示出来,提供给用户和数据库管理员,oracle 对V$视图给出了详细的文档说明供开发管理人员 参考,是研究和管理数据库的主要依据。


Oracle包含了一些潜在的由系统管理员如SYS维 护的表和视图,由于当数据库运行的时候它们会 不断进行更新,所以称它们为动态数据字典(或 者是动态性能视图)。这些视图提供了关于内存 和磁盘的运行情况,所以我们只能对其进行只读 访问而不能修改它们。

这里ALL_TABLES是一个同义词,查出关联对象 SQL> select * from dba_synonyms a where a.synonym_name = 'ALL_TABLES'; OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME ------------------------------ ----------------------------- ------------------------------ -----------PUBLIC ALL_TABLES SYS ALL_TABLES

这里就可以看到这个all_tables查询了 er$ u, sys.ts$ ts, s ys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,sys.obj$ cx, er$ cu 这样一系列表, 有兴趣的朋友看看,这里是不是All的这个逻辑呀, 也就是这个用户可以看到的所有的表。

根据上面我们提到的,这个的同义词指向一个view,我们查查view 的定义 SQL> select * from dba_views a where a.view_name = 'ALL_TABLES'; OWNER VIEW_NAME TEXT_LENGTH TEXT ------------------------------ ------------------------------ ---------- ------------------------------SYS ALL_TABLES 4173 select , ,d........ from er$ u, sys.ts$ ts, s ys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,sys.obj$ cx, er$ cu ..................


这些视图是由sys用户创建的,所以使用需要加上 sys ,显然这个太麻烦了,所以Oracle为每个数 据字典表的视图头建立了同名字的公共同义词 (public synonyms). 这样简单的处理就省去了 写sys.这个麻烦事。

Oracle为了便于汇总数据字典表的信息,把所有的数据字典都汇集到 dictionary表里了,通过对这个表的查询,我们可以很方便的找到数据 库提供的数据字典。 SQL> desc dictionary; Name Type Nullable Default Comments ---------- -------------- -------- ------- -------------------------TABLE_NAME VARCHAR2(30) Y Name of the object COMMENTS VARCHAR2(4000) Y Text comment on the object
数据字典与动态视图
数据字典
数据字典是Oracle 数据库重要的组成部分, 它用于提供数据库的相关系统信息。数据字典的 维护和修改是由系统自动完成的,而用户只能执 行SELECT语句查询系统信息。

数据库是数据的集合,数据库维护和管理用户的 数据,那么这些用户数据表都存在哪里,用户的 信息是怎样的,存储这些用户的数据的路径在哪 里,这些信息不属于用户的信息,却是数据库维 护和管理用户数据的核心,这些信息就是数据库 的数据字典来维护的,数据库的数据字典就汇集 了这些数据库运行所需要的基础信息

USER_数据字典只显示当前模式的详细信息。
SELECT object_name FROM user_objects WHERE object_type = ‘TABLE’;
以ALL_开头的数据字典视图

ALL_数据字典视图可用于查询用户可访问的所有 对象信息。
SELECT owner, object_name FROM all_objects WHERE object_type = ‘TABLE’;
GV$和V$视图

在数据库启动时,oracle动态创建X$表,在此基础之上,oracle创 建了GV$和V$视图。从oralce 8开始, GV$视图开始被引入,其含 义为Global V$。除了一些特例以外,每个V$视图都有一个对应的 GV$视图存在。 GV$视图的产生是为了满足OPS环境的需要,在OPS环境中,查询 GV$视图返回所有实例信息,而每个V$视图是基于GV$视图,增加 了INST_ID列的where条件限制建立,只包含当前连接实例信息。 注意,每个V$视图都包含类似语句:
各类数据视图比较

USER_数据字典视图:显示当前模式的所有对象 信息。 (user_objects)
ALL_数据字典视图:显示用户可访问的所有对象 信息。(all_objects) DBA_数据字典视图:显示整个数据库范围内的 系统信息。(dba_objects)


以USER_开头的数据字典视图

数据字典表

数据字典表(Data Dictionary Table)用以存 储表、索引、约束以及其他数据库结构的信息。 这些对象通常以“$”结尾(如tab$、obj$、ts$ 等),在创建数据库的时候通过运行sql.bsq脚本 来创建。
sql.bsq是非常重要的一个文件,其中包含了数据 字典表的定义及注释说明。 该文件位于..\rdbms\admin目录下。

动态信息视图也是数据字典的一种,提供信息维护的作用。 数据库运行的一些信息对于我们来说也是非常有帮助的, 也更为有意义。比如,有多少个session,有什么样的 process在实例里运行,系统的状态现在是如何的,可以看 到这些信息都是实例运行时的动态信息,不是固定的信息, 不同的时刻可能信息也是不一样的, Oracle为了进行维护 的时候能够得知这些实例的这些类似状态一样的动态的信 息,提供了动态性能视图,通过这个动态性能视图我们可 以了解到实例内部的一些动态变化的状态信息。
相关文档
最新文档