- 浏览: 93580 次
- 性别:
- 来自: 广州
最新评论
-
hywill:
spool e:\test\pmd_droptable.sql ...
powerdesigner 12.5 错误 -
yuanzhifei89:
很赞同,和周围朋友共同语言越来越少中...
写给程序员朋友们---你真的还想做程序员吗 -
cq.ronadlo:
不好用 依然不好用
【转】设定tomcat的默认字符集
Oracle数据字典概念 收藏
oracle数据库系统是一个复杂的软件系统。如果不了解其内部的结构原理及关系,就不可能设计和编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。为了给以后章节的打好基础,本章简要给出 ORACLE 8 /ORACLE8i数据库系统结构的描述。
§2.1 术语
数据库块(BLOCK)
ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。
ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时指定。其最小为2K,最大可达为64K.
瓶颈(Bottleneck)
指限制系统性能的部件。
面向对象的关系数据库
具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统。Oracle7是一种功能完备的关系数据库系统;oracle8是一种面向对象的关系数据库系统。
客户/服务器结构(Client/Server)
有客户机、服务器、网络三要素的结构,客户机(PC机)通过网络与服务器相连和工作。
胖客户机(Fat Client)
一般的Client/Server结构中的客户机均为胖客户机。因为这些客户机需要配置较高的设备,如内存、硬盘、主频、CD_ROM等。
瘦客户机(Thin Client)
也称作NC(网络计算机),是一种内存配置小(过去指一般只有4M,现无法定义),无硬盘,只有处理心片的处理机。
数据在线分析处理(OLAP)
是一种能以快速、交互、方便的方式洞察数据情况的技术。如Oracle Express,Cognos(加拿大)的Power Play, Business Objects公司的Business Object 等。
多线程(MTS)
一个用户可以同时运行多个程序对数据库进行访问,比如Visual C/C++可以提供同时启动多个进程,而Visual Basic则不能。
数据仓库(Data Warehouse)
支持大量数据信息存储的叫做支持数据仓储或数据仓库。当把几个小型数据库集成为一个大型数据库,并为一个较广泛的组织服务时,如果该数据库存储历史数据,提供决策支持,提供数据汇总,提供只读数据,并且实质上充当所有向它提供数据的相关成品数据库的数据接收器,那么它通常被叫做数据仓库。
实例(Instance)
是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程。
对象(Objects)
是实现世界实体的软件表示,如表、索引、视图、同义词、过程等。
数据库文件(Datafile)
Oracle系统中用于存放数据(应用系统数据)的文件。(<;>14中的例子不准确,容易误导读者)。
控制文件(Control File)
Oracle中存放系统用的一些数据的文件。如数据文件的路径及文件名,初始化文件路径及文件名等都存放在控制文件中。
日志文件(Logs File)
也叫事务记录文件,该文件记录有事物对数据库进行的一切修改操作或事务。
DBA(Database administrator-数据库管理员)
是管理数据库系统的技术工具或人员,在完备的数据库系统中都提供DBA功能。
灰数据块(Dirty data block)
存放在内存中的原始数据已被修改,而修改后的数据还未写入数据库中。
热数据块(Hot data block)
存放着那些经常被修改数据叫热数据块。
LRU(Least Recently Used-最近最少用)
Oracle系统使用的一种算法,对于在内存中但最近又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
表(Table)
存放专门数据而建立和分配的空间。
表空间(Tablespace)
是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表,所以称作表空间。
回滚(Rollback)
将用户(或者说事务)改变的数据恢复到上一次所处的状态。
恢复信息(Undo Information)
记录用于恢复的信息称作恢复信息。回滚就是根据恢复信息内容进行恢复的。
§2.2 Oracle数据库结构Oracle数据库结构是Oracle数据库系统的主要部分,它是一些可以看得见的软件,包括:
Oracle 数据字典l 表空间与数据文件l Oracle实例(Instance)
§2.2.1 Oracle 数据字典Oracle数据库的重要部分是数据字典。它存放有Oracle数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
数据库中所有模式对象的信息,如表、视图、簇、及索引等。
分配多少空间,当前使用了多少空间等。
列的缺省值。
约束信息的完整性。
Oracle用户的名字。
用户及角色被授予的权限。
用户访问或使用的审计信息。
其它产生的数据库信息。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。
§2.2.2 表空间与数据文件简单说,表空间就是一个或多个数据文件(物理文件)的集合(逻辑文件)。一般有下面的表空间:
1)系统表空间(System tablespace)
是各种不同版本的Oracle必备的部分,存放Oracle系统的一些信息,一般只有一个SYSTEM表空间。
2)临时表空间(Temporary tablespace )
由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。一般安装之后只有一个TEMP临时表空间。
3)工具表空间(Tools tablespace)
用于保存Oracle数据库工具所需的数据库对象,这些工具表空间存放在工作时所用的专用表。旧的Oracle版本无此表空间。安装之后的工具表空间是Tools.
4)用户表空间(Users tablespace)
用于存放一些实验例子用的空间,当然也可以用于存放应用系统的数据。旧版本无Users表空间。现在的用户表空间为 USERS .
5)数据及索引表空间存放数据及索引的表空间,Oracle7以后都提倡在应用系统中,特别是具有大量数据的系统,要把数据和索引分开存放在不同的分区中,以便提高查询速度。在安装后索引表空间可能是INDX.数据表空间就是USERS.
6)回滚段表空间(Rollback Segment)
Oracle数据库系统在运行Insert、Update、Delete时都需要一个磁盘空间来存放恢复信息(Undo Information),以便在进行恢复时能将原来信息读出来。安装后的回滚段表空间是RBS表空间。数据库管理员也可根据应用的需要建立另外的回滚段表空间。
Oracle 以表空间来存储逻辑数据并以物理数据相连。
数据库被分成一个或多个逻辑部件称作表空间。而表空间又被分成称作段(segment)的逻辑部件。这些段再细分就叫扩展(extents)。
§2.2.3 Oracle实例Oracle实例(Instance)是由一组后台进程和内存结构组成。每个运行的数据库系统都与实例有关。所以,有时称Oracle实例为数据库操作系统。下面是Oracle实例的解释。
Oracle 进程Oracle有两种类型的进程:服务器进程和后台进程(server processes and background processes)。
服务器进程Oracle 服务器进程是处理用户与实例连接的事务。任务是:
分析和执行应用所发出的SQL语句。
从数据文件读必要的数据到SGA区的共享数据区。
返回必要信息给应用。
后台进程Oracle系统使用一些附加的进程来处理系统的必须的工作。这些进程叫后台进程:
数据库写(DBW0 或DBWn)
日志写(LGWR)
检测点(CKPT)
系统监视(SMON)
进程监视(PMON)
归档(ARCn)
恢复(RECO)
锁(LCK0)
工作队列(SNPn)
队列监视(QMNn)
发布(Dispatcher)(Dnnn)
服务器(Snnn)
Oracle 的内存结构(SGA)
SGA 结构为:
数据高速缓冲区l 重做日志缓冲区l 共享池l 大的共享池(可选)
数据字典缓冲区l 其它数据缓冲区
§2.3 Oracle数据库文件ORACLE 数据库是一个复杂的数据库操作系统,由一系列部件组成,主要有:1)初始化参数文件、2)数据文件、3)控制文件、4)日志文件等。
§2.3.1 初始化参数文件初始化参数文件(initialization parameter file) INITsid.ORA,是 ORALE RDBMS 主要的配置点,它是配置参数和数值的集合。每一个参数值都控制或修改数据库和实例的某个方面。早期的版本把参数都写在 initsid.ora 文件中,但在ORACLE8 之后,多数参数已不在该文件中出现,需修改这些参数时只能在SQL>;下用 SET SESSION 或 SET SYSTEM 来进行。查看系统参数可用。例如:
SQL>;select * from v$parameter;
来列出。
Oracle初始化参数文件是一个可以编辑的文本文件。它是在数据库实例启动时被访问,从而得到数据文件、日志文件、控制文件等的路径,此外,初始化参数文件还提供实例所用的参数等。
初始化参数文件 INITsid.ORA 参见附录 .
§2.3.2 数据文件用于存放所有数据库的数据文件,Oracle安装过程中自动建立多个必要的数据文件。这些数据文件用于存放Oracle系统的基本数据。在应用系统开发过程中,我们可根据需要另建立一些数据文件。
如果数据文件按它们存放的数据类型来分的话,可以分为:l 用户数据
存放应用系统的数据为用户数据。
系统数据
管理用户数据和数据库系统本身的数据,如数据字典,用户建立的表的名字,类型等都记录在系统数据中。
§2.3.3 控制文件控制文件是由Oracle数据库实例在启动时被访问的内部二进制文件,它们所存放的路径由参数文件的control_files=参数来确定。
Oracle一般有两个或更多的控制文件,每个控制文件记录有相同的信息,在数据库运行中如果某个控制文件出错时,Oracle会自动使用另外一个控制文件。当所有的控制文件都损坏时系统将不能工作。
Oracle数据库至少有一个控制文件;
一般数据库系统安装完成后,自动创建两个以上控制文件;
为了安全一般建议创建多个控制文件;
控制文件可用下面命令查到:
select name,value from v$parameter where name like 'control_files';
§2.3.4 重做日志文件重做日志文件是Oracle系统中一个很重要的文件。特点是:
重做日志是Oracle的日记帐,负责记录所有用户对象或系统变更的信息;
安装完成后有多个重做日志文件,它们是几个分为一组,组内的重做日志文件大小要一样;
为了使系统性能更好可以在创建多重做日志文件组;
重做日志文件可以名下面命令查到:
select * from v$logfile;
§2.3.5 其它支持文件除了上面的三类文件外,还有:
Sqlnet.ora文件;
Tnsnames.ora文件;
Listener.ora文件等。
§2.4 重做日志和重做日志工作模式重做日志、日志文件及重做日工作模式是Oracle系统中很重要的概念,管理员要完全理解它们的原理和使用方法。下面只给简单的概念,有关的管理在另外章节给出。
§2.4.1 重做日志Oracle所作的一切操作都记录在日志文件中,Oracle系统在工作当中并不是每作一条记录的修改就立即存盘(写入数据文件),而是只作修改记录,联机重做日志就保存所有这些改变的信息。当所有的修改最后写入数据文件时,所有的修改仍记录在联机重做日志中,这将有利于对这些事务记录进行恢复操作。但如果不是联机重做日志,则只能恢复部分近期的操作。
§2.4.2 重做日志工作模式Oracle可以在两种模式之一来工作:1)ARCHIVELOG模式(可恢复)
Oracle 一般至少有两个日志文件。它们轮流交替地被写入所作的一切修改信息。当系统设置为可恢复模式,Oracle自动将每次即将被覆盖(冲掉)的日志信息先作备份,然后再其上记录所修改的信息。这样的方式,就可以利用备份与恢复工作进行某时期的数据恢复。
2)NOARCHIVELOG模式(有限的恢复)
缺省情况下为NOARCHIVELOG,Oracle不保留旧的重做日志信息(可以在原来基础覆盖写入)。因此一般情况下不可恢复的。
§2.5 数据块、区间和段§2.5.1 数据块(data block)
Oracle的数据块也叫Oracle块;
Oracle系统在创建表空间时将数据文件格式化成若干个Oracle块;
每个Oracle块是Oracle系统处理的最小单位;
块的大小在安装系统时确定,可以选择“自定义安装”来设置大小;
块的大小一旦确定下来就不能改动;
块的大小可以从2k至64k不等;
块的大小可以用下面命令查到:
select name,value from v$parameter where name like 'db_block_size';
§2.5.2 区间(extent)
l 分配给对象(如表)的任何连续块叫区间;l 区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);l 区间的大小由 next 决定;l 一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象;l 一个对象所用去多少区间可用下命令查到:
select segment_name,tablespace_name,count(*) from dba_extents having count(*)>;1 group by segment_name,tablespace_name;
§2.5.3 段(segment)
l 段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;l 段可以有表段、索引段、回滚段、临时段和高速缓存段等;l 段使用同表空间中的若干Oracle块(可以位于不同数据文件中)。
例:CREATE TABLE abc ( empno number(4),ename varchar2(20),sal number(9,2))
TABLESPACE user_data storage(initial 500k next 256k pctincrease 0);
1) 段被分配=初始区间=500k;2) 当开始的500k用完后就再分配256k;此时段=500k+256k;3) 如果所分配的区间又用完后,就再分配256k, …
段(segment)、区间(extent)及块的关系(seg_ext_block)
§2.6 Oracle数据库进程一般情况,当数据库启动完成后(Instance 启动成功)就至少有六个后台进程在活动,这些进程根据数据库的需要而分工不同。他们分别是:
1)数据库写入器(DBWR)
数据库写入器(Database Writer)的任务是将修改后的(在内存)数据块写回数据库文件中。在某些操作系统中,Oracle可以有两个BDWR进程。
2)校验点(CKPT)
是一个可选进程。在系统运行中当出现查找数据请求时,系统从数据库中找出这些数据并存入内存区,这样用户就可以对这些内存区数据进行修改等。当需要对被修改的数据写回数据文件时就产生重做日志的交替写(Switch),这时就出现校验点。系统要把内存中灰数据(修改过)块中的信息写回磁盘的数据文件中,此外系统还将重做日志通知控制文件。DBA可以改变参数文件中CHECKPOINT_PROCESS TRUE来使能(使有效或无效)该进程。
3)日志写入器(LGWR)
用于将SGA区中的日志信息写入日志文件的进程。一般是用户所作的修改值先记入日志文件。等到一定时才真正将修改结果写回数据文件。
4)系统监控器(SMON)
系统监控器(System monitor)是在数据库系统启动时执行恢复工作的强制性进程。比如在并行服务器模式下(两台服务器共用一磁盘组),SMON可以恢复另一台处于失败的数据库。使系统切换到另一台正常的服务器上。
5)进程监控器(PMON)
进程监控器(Process Monitor)用于终止那些失败的用户,释放该用户所占用的资源等。
6)归档器(ARCH)
可选进程,当数据库系统处于归档(ARCHIVELOG)模式时使用。
7)锁(LCKn)
可选进程,当在并行服务器模式可出现多个锁定进程以利于数据库通信。
恢复器(RDCO)
分布式数据库(不同地点有不同机器和不同的Oracle系统)模式下使用的可选进程,用于数据不一致时作的恢复工作。在RECO解决恢复前,所作的修改数据的标志均标为“可疑”。
9)调度(Dnnn)
可选进程,在多线程下使用,即对每个在用(D000,……,Dnnn)的通信协议至少创建一个调度进程,每个调度进程负责从所联接的用户进程到可用服务器进程的路由请求。把响应返回给合适的用户进程。
10)快照进程(SNPn)
快照进程处理数据库快照的自动刷新,并通过 DBMS_JOB 包运行预定的数据库过程。 INITsid.ORA 参数 JOB_QUEUE_PROCESS 设置快照进程数,参数 JOB_QUEUE_INTERVAL 决定快照进程在被唤醒以处理挂起的作业或事务之前休眠的秒数。
11)并行查询进程(Pnnn)
可根据数据库的活动并行查询选项的设置,ORACLE服务器起动或停止查询进程。这些进程涉及并行索引的创建,表的创建及查询。启动的数量与参数 PARALLEL_MIN_SERVERS指定的数量相同,不能超出该参数指定的值。
§2.7 Oracle内存结构前面提到过Oracle的数据库实例是一组后台进程和内存结构组成。而内存结构是包括:
l 系统全局区(System Global Area)
l 程序全局区(Program Global Area)
§2.7.1 系统全局区Oracle 系统用于存放系统信息的一块存储区域,用户进程和Oracle后台进程都可以使用SGA.在SGA中含有许多组件(不同的部分)。
l 数据高速缓冲区(Data Buffer Cache)
在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:
1)脏的区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。
2)自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。
3)保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。
Oracle8i以后将缓冲池分为三个区(使用多个缓冲池特性时):1) KEEP 缓冲池(KEEP buffer pool):在内存中保留数据块,它们不会被从内存中挤掉;2) RECYCLE缓冲池从不需要的内存将数据移掉;3) DEFAULT缓冲池包含有被分配的块。
l 重做日志缓冲区(Rado Log Buffer)
任何事务(Transaction)在记录到重做日志(恢复工作需要使用联机重做日志)之前都必须首先放到重做日志缓冲区(Redo Log Buffer)中。然后由日志写入进程(LGWR)定期将此缓冲区的内容写入重做日志中。
l 共享池(Shared Pool)
共享池是SGA保留的区,用于存储如SQL、PL/SQL存储过程及包、数据字典、锁、字符集信息、安全属性等。共享池包含有:1)库高速缓存(Library Cache);2)字典高速缓冲区(Dictionary Cache )。
l 库高速缓存(Library Cache)
该区包含有:1)共享SQL区(Shared Pool Area);2)私有SQL区(Private SQL Area);3) PL/SQL存储过程及包(PL/SQL Procedure and Package);4)控制结构(Control Structure)。
也就是说该区存放有经过语法分析并且正确的SQL语句,并随时都准备被执行。
l 字典高速缓冲区(Data Dictionary Cache)
用于存放Oracle系统管理自身需要的所有信息,这些信息是登录到Oracle的用户名,这些用户有那些数据库对象以及这些数据库对象的位置等。
SVRMGR>; Show SGA Total System Global Area 35544188 bytes Fixed Size 22208 bytes Variable Size 3376332 bytes Database Buffer 122880 bytes Redo Buffer 32768 bytes
后四项相加等于前一项。
也可以使用 select * from v$SGA;查询当前实例的SGA.
l 大的池(Large Pool)
在SGA中大池是可选的缓冲区。它可以根据需要有管理权进行配置。它可以提供一个大的区以供象数据库的备份与恢复等操作。
2)程序全局区(PGA)
PGA是Oracle使用的内存区域,该区同一时间只能被一单个进程存放数据和控制,用于存放会话变量及内部数组等。
SGA Oracle内存结构(SGA图)
§2.7.2 程序全局区PGA是Oracle使用的内存区域,该区同一时间只能被一单个进程存放数据和控制,用于存放会话变量及内部数组等。
§2.8 Oracle实例一个Oracle 实例(Instance)是由SGA,后台进程以及数据文件组成,每个数据库有自己的SGA和独立的Oracle进程集。如图所示:
Oracle 实例和后台进程(instance图)
在分布情况下,为使不同的数据库系统的名字不致混淆,Oracle使用了一个SID(System Identifer)来标识每个Oracle Server的名字,在UNIX环境中以变量Oracle_Sid来区分。
§2.9 多线程服务器(MTS)
Oracle多线程服务器(Multithreader Server )允许对数据库进行多个连接以充分共享内存和资源,这使得可以用较少的内存来支持较多的用户。
连接到Oracle数据库的进程都需要占用一定的内存空间,这样如果有过多的进程连接到Oracle,则出现了一个性能瓶颈。
Oracle8可以允许一万个以上用户同时连接到Oracle,但并不是所有的用户都使用MTS.目前的一些4GL工具并不支持MTS,象VB,PB等不支持MTS,象VC/C++可以支持MTS. Oracle多线程服务器有自己的连接池(即共享服务器进程)。由于用户共享开放连接,这比原来的专用方法快的多(消除瓶颈)。
多线程对于一些专用的应用系统来说是非常合适的,比如订单登记系统,顾客提交订单,录入员该订单的数据;另外的录入员在与顾客交涉,并不都在录入数据(专用服务器进程闲着)。单这些终端被迫与系统连着,占据了其他用户的资源。
多线程服务器则消除这些缺点。多线程服务器只维护一个连接池,当某个终端需和系统对话则给其分配一个连接即可。不需要则可以去掉。这样系统的资源被多个用户平摊。
改变参数文件中的相关参数来达到使系统成为多线程服务器配置(重新启动即可有效)。另外,数据库实例必须提供用户数目与所放置的一样才行。
§2.10 Oracle事务处理流程银行取款业务处理流程:
1. 发出查询余款的SQL语句,如:Select account_balance From banktable Where account_number='111222333' And account_type='SAVINGS';
l SQL语句通过SGA得到服务器进程;l 服务器进程检查共享池中有无该条语句,无该条语句则将放置共享池中并准备运行;l 执行SQL语句,把存放有余款的数据块从数据文件中读到SGA的数据高速缓冲区;l 显示结果,比如余款为$325.
2. 取款$25:SQL语句为:Update Bank_table set account_balanct=300 Where account_number='111222333' And account_type='SAVINGS';
l 客户进程通过SGA把SQL语句传给服务器进程;l 服务器进程查找有无该条语句,有执行(;l 分析SQL语句并存入共享池;l 执行SQL语句;
l 要处理的数据在数据高速缓冲区吗?是转7;l 从数据文件中读数据块到数据高速缓冲区;l 在回滚段中记录原来的数值($325);l 在重做日志中生成该事务的一个拷贝;l 将数据高速缓冲区中的余额改为$300;l 银行柜员机通过SGA发出工作完成信号(提交):l 在重做日志中记录已完成事务;l 清除回滚段中的恢复信息(Undo Information);l 顾客取钱完成。
§2.11 ORACLE系统的SYS和SYSTEM模式SYS和SYSTEM 是每个ORACLE 数据库系统缺省安装的两个帐户。SYS 是所有内部数据库表、结构、过程包、等拥有者,此外它还拥有 V$ 和数据字典视图,并创建所有封装的数据库角色(DBA,CONNECT,RESOURCE)。 Sys是一个唯一能访问特定内部数据字典的用户。 System 也是在安装ORACLE 时创建的用户,用于 DBA 任务的管理。
SYS 安装后的缺省口令为 change_on_install; SYSTEM 缺省口令为 manager. 为了安全,可在安装完成后。用 ALTER USER sys IDENTIFIED BY password;命令修改这两个特权帐户的口令。
§2.12 ORACLE系统跟踪文件所有ORACLE 数据库都至少有一个文件用于记录系统信息,错误及主要事件。这个文件叫做ALERTsid.log(这里的sid 为 oracle 的系统标识),存储位置由INITsid.ORA 文件的 BACKGROUND_DUMP_DEST 参数给出。
后台进程和用户进程都可以建立各自的跟踪文件,后台进程跟踪文件位置由BACKGROUND_DUMP_DEST 参数给出,而用户跟踪文件位置由 USER_DUMP_DEST 参数给出。如参数文件 initora8.ora 中给出:
# define directories to store trace and alert files background_dump_dest=d:\oracle\admin\ora8\bdump user_dump_dest=d:\oracle\admin\ora8\udump后台跟踪文件被命名为 sidPROC.TRC
§2.13 ORACLE系统数据字典数据字典(data dictionary)是存储在数据库中的所有对象信息的知识库,ORACLE数据库系统使用数据字典获取对象信息和安全信息,而用户和DBA用它来查阅数据库信息。数据字典保存数据对象和段的信息。如表、视图、索引、包、过程以及用户、权限、角色、审计等的信息。数据字典是只读对象,不允许任何人对其进行修改。
§2.14 其它数据对象ORACLE 除前面给出的数据对象外,还有包括视图,序列,同义词,触发器,数据库链及程序包,过程和函数。下面是必要介绍。
§2.14.1 视图视图是存储在数据库中的查询的SQL 语句,它主要出于两种主要原因:安全原因,视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
§2.14.2 序列序列是用于产生唯一数码的数据库对象,序列创建时带有初始值,增量值,最大值等,最大可达38 位整数。
§2.14.3 触发器触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
§2.14.4 同义词同义词(synonym)是指向其它数据库表的数据库指针。同义词有两种类型:私有(private)和公共(public)。私有的同义词是在指定的模式中创建并且只创建者使用的模式访问。公共同义词是由public 指定的模式访问,所有数据库模式(用户)都可以访问它。
§2.14.5 数据库链数据库链( database link )是与远程数据库连接的存储定义,它们用于查询分布数据库环境的远程者。由于存储在 DBA_DB_LINKS 数据字典中,所以可以把它们看作一种数据库对象类型。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luodashi/archive/2006/08/22/1105612.aspx
发表评论
-
dbms_sql的使用
2010-10-26 10:19 1414dbms_sql的使用 http://space ... -
PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor区别
2010-09-14 16:01 1086PLSQL中显示Cursor、隐示Cursor、动态Ref C ... -
ORACLE MODEL子句学习笔记
2010-09-13 16:57 1231ORACLE 10G中新增的MODEL子句可以用来进行行间计算 ... -
Oracle的model用法简介
2010-09-13 16:55 1406Model语句是Oracle 10g的新功能之一。 ... -
imp/exp impdp/expdp
2010-09-03 13:21 2447EXP常规模式、EXP直接路径模式和EXPDP三种方式导出 ... -
[转]OWB
2010-05-31 15:02 1598OWB 前提: 按照先后顺序分别安装oracl ... -
触发器
2010-04-07 16:43 732create or replace trigger TRG_t ... -
[cognos]Cognos入门
2010-03-23 21:13 1419Cognos BI 提供了报表(reporting), ... -
windows下局域网内的实时数据收发
2009-09-23 23:17 1647最近做了一个 ... -
oracle.jdbc.driver.OracleDriver
2009-09-22 11:49 3503连接Oracle数据库必须先向java程序注册Oracle J ... -
SQL Server数据库备份和恢复措施
2009-09-07 11:05 1411一、备份数据库 1、打开SQL企业管理器,在控制台根目录中 ...
相关推荐
《Oracle数据字典大全》是IT领域中关于数据库管理的重要参考资料,主要针对Oracle数据库系统,提供了全面的数据字典信息。数据字典在Oracle中扮演着核心角色,它存储了数据库的所有元数据,即关于数据的数据,包括表...
这份"Oracle数据字典及中文详解"资料,对理解和管理Oracle数据库至关重要。 首先,我们来深入理解什么是数据字典。数据字典是数据库管理员和开发人员用于查询和理解数据库结构、对象和属性的重要工具。在Oracle中,...
#### 一、数据字典概念及作用 **数据字典**(Data Dictionary)是指对数据库中的各个数据对象及其属性进行详细描述的集合,它为数据库设计者、开发者、运维人员乃至最终用户提供了一种有效管理与理解数据库结构的方式...
数据字典概念:数据字典是 Oracle 数据库管理和展现数据库系统信息和状态信息的工具,是一系列基表、基于这些基表而衍生的数据字典视图以及存在于系统内存中的动态性能视图的集合。 数据字典分类:根据数据字典的...
首先,我们来了解Oracle数据字典的基本概念。Oracle数据字典实际上是一组表和视图,它们记录了数据库的结构和属性,例如表、索引、列、权限等。这使得数据库管理员可以查看关于数据的各种细节,包括但不限于表的创建...
Oracle 数据字典是数据库...总结来说,Oracle数据字典对于管理和监控数据库至关重要,而`tnsnames.ora`文件则是数据库连接的重要配置文件。学习和理解这两个概念,将有助于提升你在Oracle数据库管理方面的专业技能。
了解了Oracle数据字典的基本概念和作用后,让我们看看如何查询数据字典。通常,我们通过SELECT语句从数据字典视图中获取信息。例如,查询所有用户的表可以使用`ALL_TABLES`视图: ```sql SELECT table_name, owner,...
Oracle系统数据字典是Oracle数据库中的一个重要组成部分,它包含了关于数据库结构、...压缩包中的"alloracle_c.pdf"和"ALLORACLE.rpt"文件可能是详细的Oracle数据字典指南或报告,可以帮助进一步学习和理解这些概念。
Oracle数据字典是Oracle数据库系统的核心组成部分,它存储着关于数据库中所有对象的详细信息,包括但不限于表、视图、索引、同义词、权限和约束等。数据字典对于数据库管理员(DBA)和普通用户来说是至关重要的工具,...
Oracle数据字典是数据库管理员(DBA)和开发人员在管理Oracle数据库时的重要参考资料。它是一组系统表和视图,存储着关于数据库结构、权限、对象和操作的信息。在这个华为公司提供的详细Oracle数据字典中,用户可以...
1. 数据字典的概念 数据字典是Oracle数据库内部维护的一组系统表和视图,这些表和视图包含了关于数据库对象、用户、权限、存储结构、索引和其他数据库组件的信息。它提供了一个全面的参考,帮助数据库管理员和开发...
### Oracle 12C 数据字典视图概念深入浅出 #### 一、概述 在Oracle 12C中引入了多租户容器数据库(CDB)的概念,它允许在一个容器数据库内创建多个可插拔数据库(PDB)。为了更好地管理这些数据库结构,Oracle 12C...
Oracle 数据字典是数据库管理系统的核心组成部分,为用户提供关于 Oracle 数据库的详细信息,包括数据库结构、对象分配和用户信息等。本文将深入探讨 Oracle 数据字典,并基于 UNIX 操作系统和 Oracle 7 版本进行...
在Oracle中,数据字典是系统维护的核心部分,它存储了关于数据库对象、权限、性能信息等一系列元数据。理解并熟练掌握数据字典对于数据库管理员(DBA)和开发人员来说至关重要。 首先,我们来探讨一下Oracle的数据...
### 深入了解Oracle数据字典 #### 引言 在Oracle数据库系统中,数据字典是一个极其重要的组成部分,它记录着整个数据库系统的元数据信息。这些信息涵盖了数据库对象的定义、权限分配以及依赖关系等多个方面。对于...
Oracle 数据字典是数据库管理系统的核心组件,它存储了关于数据库的详细信息,包括但不限于数据库的结构、对象的空间分配以及数据库用户的权限等。了解 Oracle 数据字典对于管理和优化数据库至关重要。 首先,我们...
为了更好地理解和使用Oracle 10g的数据字典,你需要熟悉SQL查询语言,理解元数据的概念,以及Oracle中的权限和角色管理。此外,了解如何解读查询结果,以及何时使用不同的数据字典视图,都是数据库管理的重要技能。...
Oracle数字字典生成器是一款专为数据库管理人员和开发人员设计的实用工具,它能够帮助用户自动化地导出数据库的数据结构,极大地简化了项目需求分析说明书中的数据库部分编写工作。这款软件特别适用于那些需要频繁...
总之,数据字典生成工具源码(C#)是一个综合性的项目,涉及数据库交互、反射、文件操作、模板渲染等多个C#核心概念。通过研究和理解这样的源码,开发者可以提升自己的技能,更好地应用于实际的软件开发工作。