ORACLE数据库学习心得
- 格式:doc
- 大小:22.00 KB
- 文档页数:10
ORACLE数据库结课论文 一个好得程序,必然联系着一个庞大得数据库网路、、、 今年我们学习了 oracle数据库这门课程,起初得我,对这个字眼就是要多陌生有多陌生,后来上课得时候听一会老师讲课,偶尔再跟上上机课,渐渐得学会了不少东西,但我感觉,我学到得仍就是一些皮毛而已,怀着疑惑与求知得心态,我在网上搜索了关于 oracle数据库得一些知识。 1、ORACLE得特点: 可移植性 ORACLE采用C语言开发而成,故产品与硬件与操作系统具有很强得独立性。从大型机到微机上都可运行ORACLE得产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性 由于采用了国际标准得数据查询语言SQL,与IBM得SQL/DS、DB2等均兼容。并提供读取其它数据库文件得间接方法。 可联结性 对于不同通信协议,不同机型及不同操作系统组成得网络也可以运行ORAˉCLE数据库产品。 2、ORACLE得总体结构 (1)ORACLE得文件结构 一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS得代码文件。 数据文件 一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息. 日志文件 须有两个或两个以上,用来记录所有数据库得变化,用于数据库得恢复。控制文件 可以有备份,采用多个备份控制文件就是为了防止控制文件得损坏.参数文件 含有数据库例程起时所需得配置参数。 (2)ORACLE得内存结构 一个ORACLE例程拥有一个系统全程区(SGA)与一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)就是每一个Server进程有一个.一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE得进程结构ORACLE包括三类进程: ①用户进程 用来执行用户应用程序得。 ②服务进程 处理与之相连得一组用户进程得请求。 ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有得用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改得数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中得缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败得数据库例程,回收不再使用得内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成得事务,注销失败得用户进程,释放用户进程占用得资源。 ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上.另外还包括分布式DB中事务恢复进程RECO与对服务进程与用户进程进行匹配得Dnnn进程等. 3、ORACLE得逻辑结构 构成ORACLE得数据库得逻辑结构包括: (1)表空间 (2)5种类型得段(segment) ①数据段;②索引段;③回滚(rollbock)段;④临时段;⑤自举(bootstrap)段。 段得分配单位叫范围(Extent) 表空间(Tablespace) 一个数据库划分成得若干逻辑部分称为表空间。一个数据库可以有一个或多个表空间,初始得表空间命名为SYSTEM,每一个逻辑表空间对应于一个或多个物理文件。DBA使用表空间做以下工作: 控制数据库对象,如表、索引与临时段得空间分配.为数据库用户设置空间配额。 利用个别表空间得在线或离线,控制数据得可用性。后备或恢复数据。 通过分配空间,以改进性能。 在每个数据库中都存在SYSTEM表空间,它在建立数据库时自动建立。在该表空间中,包含数据库得数据字典,其中存储全部数据库对象得名字与位置。 SYSTEM表空间总就是在线得,像其它表空间一样,可以通过增加新得数据库文件来扩大。一个表空间可包含许多表与索引。但一个表与索引不能跨越表空间,可跨越组成表空间得文件。在DB得打开得情况下,DBA利用ALTER TABLESPACE语句,可以实施表空间得在线或离线。SYSTEM表空间必须在线.表空间离线有下列原因: 一般为了使部分数据库不能使用,而允许正常存取数据库其余部分。执行表空间离线备份。 一个离线得表空间,不能被应用用户读或编辑。 可以增加数据文件扩大已有得表空间,也可增加新得表空间使数据库容量增大,或分配空间给某个应用.使用ALFER TABLESPACE ADD FILE语句将另一个数据文件加入到已存在表空间中。使用CREATE TABLESPACE语句可建立一个新得表空间.段(segment) 表空间中得全部数据存储在以段划分得数据库空间中。一个段就是分配给数据库用于数据存储得范围得集合。数据可以就是表、索引或RDBMS所需要得临时数据。段就是表空间得下一个逻辑存储得级别。一个段不能跨越一个表空间,但可跨越表空间内得文件。一个数据库最多需要五种段类型: 数据段 一个包含一个表(或聚集)得全部数据,一个表(或聚集)总有一个单个数据段。 索引段 一个索引段包含对一个表(或聚集)建立得一个索引得全部索引数据。一个表可以有一个、多个或者没有索引段,取决于它所拥有得索引个数。一个聚集必须至少有一个索引段,即在聚集码上建立聚集索引。 回滚段 每个DB有一个或多个回滚段。一个回滚段就是DB得一部分,它记录在某一情况下被撤消得动作。回滚段用于事务控制与恢复. 临时段 在处理查询时,ORACLE需要临时工作空间,用于存储语句处理得中间结果,这个区称为临时段。 自举段 自举段在SYSTEM表空间中,在数据库建立时建立。它包括数据字典定义,在数据库打开时装入。 4、用户数据库对象 由用户建立得对象驻留在表空间中,含有真正得数据.数据库对象有表、视图、聚集、索引、伪列与序号生成器. (1)聚集(Cluster) 聚集就是存储数据得一种可选择得方法。聚集包括存储在一起得一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少.聚集就是一种优化措施。 聚集对性能得改进,依赖于数据得分布与SQL操作得内容。特别就是使用聚集对连接非常有利。可以明显地提高连接得速度。建立聚集命令得基本格式: SQL>CREATE CLUSTER〈聚集名〉(列定义[,…]);利用聚集建立表命令基本格式: SQL〉CREATE TABLE〈新表名〉(列定义[,…]CLUSTER〈聚集名〉(聚集列); 在聚集码上必须建立一个聚集索引,对于每一数据块上每个聚集码值有一索引项。这个索引必须在DML语句对聚集表操作前建立。建立索引得语句就是:CREATE INDEX索引名ON CLUSTER聚集名; (2)序号生成器 序号(SEQUENCE)生成器为表中得单列或多列生成顺序号.利用序号可自动地生成唯一主码。使用SQL语句定义序号,给出一些信息(如序号名、就是升序或降序、每个序号间得间隔与其它信息)。所有序号存储在数据字典表中. 所有序号定义存储在数据字典得SEQUENCE表中。用户可以通过字典视图USER-SE-QUENCES、ALL-SEQUENCES与DBA-SEQUENCES查询与存取。建立序号生成器得语句就是: CREATE SEQUENCE序号生成器名 其它选项。 一旦序号生成器S被定义。可用S、Currval来引用S序号生成器得当前值。用S、nextval产生下一个新得序号并加以引用。 (3)伪列 伪列得行为像表得一列,但不真正存在于表中,在查询时可引用伪列,但伪列不能插入、删除或修改. 5、数据字典 数据字典ORACLE RDBMS最重要得部分之一。数据字典含有一组系统定义得表,只能读,就是关于数据库得引用指南。它可提供以下信息:ORACLE用户得用户名; 每个用户被授予得权限与角色;实体得名字与定义;完整性约束 为数据库实体分配得空间;通用得数据库结构;审计信息; 触发子程序等得存储。 数据字典就是以表与视图构成得,像其它数据库数据一样,可用SQL语言查询数据字典。 数据字典在DB建立时建立。每当DB进入操作,数据字典就由ORACLE RDBMS负责修改。数据库建立时有两个默认DBA用户:SYS、SYSTEM。SYS持有基本表中得数据。数据字典包含一组基表与相关得视图,可分为以下几类: 类 描 述 DBA-××× 只有DBA可存取得视图,给出数据库中定义得任何实体得信息 USER—××× 对任何用户可用得视图,给出她们自己得实体得信息 ALL—××× 对任何用户可用得视图,给出用户可存取得所有实体得信息 其中×××代表表名或视图名 下面列出得就是一些常用得表或视图得名称。 (1)DTAB 描述了组或数据字典得所有表。 (2)TAB 用户建得所有基本表、视图与同义词。 (3)COL 用户创建基本表得所有列得信息。 (4)SYNONYMS 用户可存取得同义名词、专用名与公用名。 (5)CATALOG 用户可存取得表、视图、同义词、序列. (6)CONSTRAINTS 用户可存取得约束。