ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:75.44KB ,
资源ID:7772699      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7772699.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle数据库逻辑结构Word文件下载.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Oracle数据库逻辑结构Word文件下载.docx

1、从Oracle9i开始,在同一数据库中不同表空间的数据块大小可以不同。数据块是Oracle最基本的存储单位,而表空间、段、区间则是逻辑组织的构成成员。在数据库缓冲区中的每一个块都是一个数据块,一个数据块不能跨越多个文件。数据块的结构主要包括: 标题:包括一般的块信息,如块地址,段类型等。表目录:包括有关表在该数据块中的行信息。Oracle体系结构第2章 行目录:包括有关在该数据块中行地址等信息。行数据:包括表或索引数据。一行可跨越多个数据块。空闲空间:分配空闲空间是用于插入新的行和需要额外空间的行更新。通过空间管理参数pctfree可控制空闲空间的使用。空闲空间的管理既可以是自动的也可以是手动

2、的。在数据操作中,有两种语句可以增加数据库块的空闲空间:一个是Delete删除语句,另一个是Update更新现有行。释放的空闲空间可用于insert语句,如果insert语句是与产生空闲空间的语句在同一个事务之中,并在其后执行,则insert语句可直接使用生成的空闲空间。如果insert语句是在一个与产生空闲空间的语句相分离的事务中,则insert语句可在其他事务提交后,并在其需要空间时,使用之前产生的空闲空间。数据块中释放的空间可能是连续的,也可能不连续。Oracle只有在出现下列情况时,才会合并数据块的空闲空间:当insert或update语句要使用一个数据块,该数据块的空闲空间足以存储新

3、的一行,而且空闲空间均是碎片,数据块中连续空间无法插入一行的时候。除此而外,Oracle在系统性能下降时也需要压缩数据块的空间。能够对空闲空间产生影响的参数有两个:pctfree和pctused。对于手工管理的表空间,在特定段中的所有数据块,可使用两个空间管理参数pctfree和pctused来控制insert和update对空闲空间的使用。当创建或修改表时可指定这两个参数。创建或修改一个拥有自己的索引段的索引时可指定pctfree参数。pctfree参数为块中行的更新预留了空闲空间的最小百分比,默认值为10。例如,假定在Create table语句中指定了pctfree为20,则说明在该表的

4、数据段内每个数据块的20%被作为可利用的空闲空间,用于更新已在数据块内存在的数据行。其余80%是用于插入新的数据行,直到达到80%为止。显然,pctfree值越小,则为现存行更新所预留的空间越少。因此,如果pctfree设置得太高,则在全表扫描期间增加I/O,浪费磁盘空间;如果pctfree设置得太低,则会导致行迁移。pctused参数设置了数据块是否是空闲的界限。当数据块的使用空间低于pctused的值时,此数据块标志为空闲,该空闲空间仅用于插入新的行。如果数据块已经达到了由pctfree所确定的上边界时,Oracle就认为此数据块已经无法再插入新的行。例如,假定在Create table语

5、句中指定pctused为40,则当小于或等于39时,该数据块才是可用的。所以,可将数据块填得更满,这样可节省空间,但却增加了处理开销,因为数据块的空闲空间总是要被更新的行占据,所以对数据块需要频繁地进行重新组织。比较低的pctused增加了数据库的空闲空间,但减少了更新操作的处理开销。所以,如果pctused设置过高,则会降低磁盘的利用率导致行迁移;若pctused设置过低,则浪费磁盘空间,增加全表扫描时的I/O输出。pctused是与pctfree相对的参数。那么,如何选择pctfree和pctused的值呢?有个公式可供参考。显然,pctfree和pctused的之和不能超过100。若两者

6、之和低于100,则空间的利用与系统的I/O之间的最佳平衡点是:pctfree与pctused之和等于100%减去一行的大小占块空间大小的百分比。例如,如果块大小为2048字节,则它需要100个字节的开销,而行大小是390字节(为可用块的20%)。为了充分利用空间,pctfree与pctused之和最好为80%。那么,怎样确定数据块大小呢?有两个因素需要考虑:一是数据库环境类型。例如,是DSS环境还是OLTP环境?在数据仓库环境(OLAP或DSS)下,用户需要进行许多运行时间很长的查询,所以应当使用大的数据块。在OLTP系统中,用户处理大量的小型事务,采用较小数据块能够获得更好的效果。二是SGA

7、的大小。数据库缓冲区的大小由数据块大小和初始化文件的db_block_buffers参数决定。最好设为操作系统I/O的整数倍。2区 区(Extent)也称为数据区,是一组连续的数据块。当一个表、回滚段或临时段创建或需要附加空间时,系统总是为之分配一个新的数据区。一个数据区不能跨越多个文件,因为它包含连续的数据块。使用区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。3段段(Segment)是由多个数据区构成的,它是为特定的数据库对象(如

8、表段、索引段、回滚段、临时段)分配的一系列数据区。段内包含的数据区可以不连续,并且可以跨越多个文件。使用段的目的是用来保存特定对象。一个Oracle数据库有4种类型的段: 数据段:数据段也称为表段,它包含数据并且与表和簇相关。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。索引段:包含了用于提高系统性能的索引。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。回滚段:包含了回滚信息,并在数据库恢复期间使用,以便为数据库提供读入一致性和回滚未提交的事务,即用来回滚事务的数据空间。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。系统有个默认的回滚段,其管理方式

9、既可以是自动的,也可以是手工的。临时段:它是Oracle在运行过程中自行创建的段。当一个SQL语句需要临时工作区时,由Oracle建立临时段。一旦语句执行完毕,临时段的区间便退回给系统。4表空间Oracle数据库(tablespace)是由若干个表空间构成的。任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于若干个磁盘文件,即表空间是由一个或多个磁盘文件构成的。表空间相当于操作系统中的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小等于所有从属于它的数据文件大小的总和。在Oracle 10g中有以下几种比较特殊的表空间:(1)系统表空间系统

10、表空间(system tablespace)是每个Oracle数据库都必须具备的。其功能是在系统表空间中存放诸如表空间名称、表空间所含数据文件等数据库管理所需的信息。系统表空间的名称是不可更改的。系统表空间必须在任何时候都可以用,也是数据库运行的必要条件。因此,系统表空间是不能脱机的。系统表空间包括数据字典、存储过程、触发器和系统回滚段。为避免系统表空间产生存储碎片以及争用系统资源的问题,应创建一个独立的表空间用来单独存储用户数据。 (2)SYSAUX表空间SYSAUX表空间是随着数据库的创建而创建的,它充当SYSTEM的辅助表空间,主要存储除数据字典以外的其他对象。SYSAUX也是许多Ora

11、cle 数据库的默认表空间,它减少了由数据库和DBA管理的表空间数量,降低了SYSTEM表空间的负荷。(3)临时表空间相对于其他表空间而言,临时表空间(temp tablespace)主要用于存储Oracle数据库运行期间所产生的临时数据。数据库可以建立多个临时表空间。当数据库关闭后,临时表空间中所有数据将全部被清除。除临时表空间外,其他表空间都属于永久性表空间。(4)撤销表空间用于保存Oracle数据库撤销信息,即保存用户回滚段的表空间称之为回滚表空间(或简称为RBS撤销表空间(undo tablespace)。在Oracle8i中是rollback tablespace,从Oracle9i

12、开始改为undo tablespace。在Oracle 10g中初始创建的只有6个表空间sysaux、system、temp、undotbs1、example和users。其中temp是临时表空间,undotbs1是undo撤销表空间。图2-5是表空间与数据库及数据文件之间的对应关系。图2-5 表空间与数据库及数据文件之间的对应关系2.1.3管理表空间在管理表空间时应遵循以下原则:1)使用多重表空间。采用多重表空间可使数据库操作更灵活。主要体现在以下方面: 将用户数据与数据字典数据相分离,并将不同表空间的数据文件分别存储在不同磁盘上可以降低I/O竞争。将一个应用的数据与其他应用相分离,可以避免

13、表空间脱机时多个应用受到影响。可根据需要将单个表空间脱机,从而获得较好的可用性。 通过为不同类型的数据库预留表空间,以达到优化表空间的目的,如更新较高的或只读,或临时段存储等。备份单个表空间。2)为用户指定表空间限额。要创建、管理与使用表空间,必须首先以sys用户并以as sysdba身份登录数据库。与Oracle9i不同,在Oracle 10g中,启动SQL*Plus时的帐户和口令不需加引号。命令格式是:sqlplus sys/as sysdba 在Oracle 10g中,创建和管理表空间所使用的数据字典和权限及语句可归纳如下。1与表空间有关的数据字典查询和使用与表空间有关的元数据均可从下列

14、数据字典中获得。主要包括:dba_tablespaces、dba_users、dba_ts_quotas、user_tablespaces、user_ts_quotas、user_extents、user_segments、user_free_space、dba_data_files、dba_extents、dba_free_space、dba_segments、dba_temp_files、dba_undo_extents、dba_rollback_segs、dba_data_files、v_$backup_datafile、v_$database_block_corruption、v_$d

15、atafile、v_$datafile_copy、v_$datafile_header、v_$rollstat、v_$segment_statistics、v_$undostat等。以v_$开头的数据字典均保存为动态信息。2与使用表空间有关的系统权限与表空间有关的主要系统权限有:create tablespace、alter tablespace、drop tablespace、manage tablespace和unlimited tablespace等。其中,unlimited tablespace是允许用户无限制地访问所有表空间。出于安全考虑,在授予该权限给用户时应慎重。如果用户不需要该

16、系统权限,最好撤销该权限,否则用户会利用该权限蓄意创建大量对象或复制数据,从而塞满表空间导致数据库服务器崩溃。3创建永久性的表空间命令格式:SQLcreateundotablespace tablespacedatafile filespecautoextend_clause,filespecautoextend_clause.minimum extent integer kmblocksize integerkloggingnologgingdefault storage_clauseonlineofflinepermanenttemporaryextent_management_claus

17、esegment_management_clause minimum extent integerkmblocksize integerkloggingnologgingdefault storage_clauseonlineoffline.;【例2-1】创建一个名为dalianren的表空间create tablespace dalianren nologgingdatafileD:oracleproduct10.2.0oradatadalianrendalianren01.orasize 50m blocksize 8192extent management local uniform s

18、ize 256ksegment space management auto;4使一个表空间脱机alter tablespaceoffline;【例2-2】将表空间dalianren脱机alter tablespace dalianren offline;注意 system表空间不能脱机。5使一个表空间联机online;【例2-3】将表空间dalianren联机alter tablespace dalianren online;6使表空间只读read only;【例2-4】将表空间dalianren更改为只读alter tablespace dalianren read only;7使表空间可读

19、可写read write;【例2-5】将表空间dalianren更改为可读写alter tablespace dalianren read write;8创建临时表空间create temporary tablespacetempfile sizem autoextendextent management local uniform size;【例2-6】创建临时表空间tempcreate temporary tablespace temptempfile D: oracleproduct10.2.0oradata daliantemp01.orasize 500m autoextend of

20、fextent management local uniform size 512k;注意虽然语句alter tablespace中带有temporary关键字,但不能使用带有temporary关键字的alter tablespace语句将一个本地管理的永久表空间转变为本地管理的临时表空间。必须使用create temporary tablespace语句直接创建本地管理的临时表空间。9添加临时表空间的数据文件add tempfile sizem;【例2-7】为临时表空间temp_ren添加数据文件alter tablespace temp_ren add tempfile D:oraclep

21、roduct10.2.0oradatadaliantemp_ren.dbfsize 100m;10调整临时表空间的数据文件alter database tempfile resize【例2-8】调整临时表空间的数据文件大小alter database tempfile D:oracleproduct10.2.0oradatatest temp_ren.ora resize 20m;11将表空间的数据文件或临时文件脱机alter database datafile offline;或【例2-9】将表空间的数据文件或临时文件脱机 datafile D:oracleproduct10.2.0orad

22、atadaliantemp_ren.ora offline; tempfile D:oracleproduct10.2.0oradatadaliantemp_ren.oraoffline;12.将临时表空间联机Alter database tempfile online;【例2-10】将临时表空间联机Alter database tempfile D:oracleproduct10.2.0oradatadaliantemp_ren.ora online;13.删除表空间,但不删除其文件drop tablespacerename to【例2-15】将表空间users更改为newusersalte

23、r tablespace users rename to newusers;在Oracle 10g中,如果一个撤销表空间通过使用pfile的实例被更名,则警告日志文件中将写入一个信息,提醒用户更改undo_tablespace的参数值。注意当使用drop tablespace误删除了表空间之后,通过查看alert文件可以确定误操作的时间。该文件位于Oracle_Homeadminbdump目录下,名为alert_.log,如:D:oracleproduct10.2.0admintestbdump目录下的alert_test.log文件。18多重临时表空间在Oracle 10g中增加了一个表空间组的概念,通过使用表空间组用户可以使用一个以上的表空间存储临时段。表空间组是在第一个表空间被指定给该组时,由系统自动隐式创建的。例如: 通过添加现有的表空间创建表空间组。alter tablespace temp tablespace group temp_ts_group; 添加一个新的表空间给该已经创建的表空间组。create temporary tablespace temp2oracleproduct10.2.0oradatatesttemp201.dbf size 20m tablespace group temp_ts_grou

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2