ORACLE数据库规划与实施方案_第1页
ORACLE数据库规划与实施方案_第2页
ORACLE数据库规划与实施方案_第3页
ORACLE数据库规划与实施方案_第4页
ORACLE数据库规划与实施方案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.4ORACLE数据库规划与实施ORACLE为信息系统提供了一个开放、综合、集成的方法。使用ORACLE数据库进行信息系统开发的步骤可以归纳为如下过程:建ORACLE数据库建表空间建回滚段建用户建数据库对象开发本节介绍ORACLE数据库的规划与实施:4.4.1数据库应用程序类型4.4.4ORACLE对象设计4.4.2ORACLE空间设计4.4.5DBA工具4.4.3ORACLE安全设计北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型规划和配置数据库,需要知道将要操作数据库的事务有什么,这些事务访问数据库的频率有多大。针对不同的事务访问情形,对内存的要求不同,磁盘I/O操作的情形也不同。只有设置合适的ORACLE实例,才能使数据库应用系统获得快速、准确、可靠的事务响应。ORACLE既可以设置成处理长的密集型事务的系统,也可以设置成处理大量的小型快速事务的系统。有三种通用的数据库设置类型:联机事务处理(OLTP)决策支持系统(DSS)批量作业系统混合系统北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型联机事务处理(OLTP)OLTP系统是一个包含繁重DML的应用,其面向事务的活动主要包括更新,但也包括一些插入和删除。典型的例子是用于航空公司和旅馆的预定系统。OLTP系统可以允许有很高的并发性。

OLTP的特点是有大量短的事务高频率地访问数据库,每一个事务操作的数据量不是很多,但事务比较频繁,而且要求数据库响应事务的速度快。一般来说OLTP系统需要24*7地响应对数据库的请求。根据这些要求,我们应该从以下几方面考虑:1)大量的小回滚段。因为事务都不太大,对回滚段空间的需求不可能很大,但事务数量多,引发回滚段数量的增大。应该创建大量小的回滚段,把事务对回滚段的争用减到最小。标准的配置可以考虑每四个活动事务用一个回滚段,每个事务接受一个区间。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型联机事务处理(OLTP)2)OLTP应用的表可能插入或者删除记录,所以存放易变表和索引的表空间应被分配到它们最大的期望容量。3)适当的估计重写日志缓冲区和日志文件大小,减少日志写和日志切换的频率,尽可能降低对响应事务请求的影响,另外频繁的检查点也可能影响事务响应速度。4)拥有大型共享池。不同客户可能执行同样的SQL语句,SQL在共享池中缓冲,性能可提高(应用程序的SQL语句应当统一,另外WHERE中使用绑定变量查询而不是直接的值查询,使不同值的查询共享SQL的执行计划)。5)数据拥有单独的索引。OLTP的事务请求基本在规划设计范围之内,建立单独有效的索引,并在独立的表空间中创建主键和其他索引,且存放在独立的存储器上。6)使用小型临时段。需要小的排序应在内存中完成,尽量避免OLTP系统对临时段的请求进入磁盘。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型决策支持系统(DSS)DSS系统通常是一个大型的、包含历史性内容的只读数据库,通常用于简单的固定查询或特别查询。夜间处理任务被认为是DSS,查询(选择)是DSS的主要活动。根据这些要求,我们应该从以下几方面考虑:1)拥有少量的较大的回滚段。大型工作要创建大型的回滚段,使用SETTRANSACTIONUSERROLLBACKSEGMENT语句使事务强制使用专用回滚段。2)为分类排序创建大型临时表空间,DSS经常超出内存的使用空间而从内存转入磁盘(临时表空间)。3)使用较小的共享SQL区域而采用较大的数据缓冲区高速缓冲。DSS中SQL的执行频率并不大,无需考虑SQL语句的共享,但应增加数据库缓冲区高速缓冲的容量,使得更多的数据块和回滚段在内存中高速缓冲。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型决策支持系统(DSS)

4)如前所述,DSS希望Oracle块一次读取尽可能多的行。因为DSS查询一般触发整个表扫描,所以希望通过读取多个连续的块使系统读取的块达到最大值。把DB_BLOCK_SIZE和DB_FILE_MULTIBLOCK_READ_COUNT参数设置得尽可能高些。5)运行的SQL应当删除不必要的排序并充分利用索引,以减少对临时表空间和回滚段的压力。2种方法:在没有可以选择的良好索引时不使用任何索引或屏蔽使用某些索引(参见4.3);使用位图索引。6)不要在DSS应用代码中使用绑定变量。在OLTP下,希望最小化应用进程开销(语法分析)。然而,DSS的查询,语法分析占用整个查询时间的比例会更小。假如使用绑定变量,优化程序不能调用它所存储的统计信息(通过ANALYZE命令)以选出存取数据的最好方法。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型批量作业系统批作业处理系统是作用于数据库的非交互性的自动应用。它通常含有繁忙DML语句并有较低的并发性。另外还有一些其他的应用类型:OLAP(联机分析处理)系统可提供分析服务。该系统在数学、统计学、集合以及大量的计算方面区别于OLTP或DSS模型。可以把OLAP看作是在OLTP系统或DSS之上的一个扩展或一个附加的功能层次。地理信息系统(GeographicInformationSystems,GIS)或有关空间的数据库和OLAP数据库相集成,提供图表的映射能力。例如用于社会统计的人口统计数据库。VCDB(可变基数数据库),这类数据库通常被用作一个处理系统的数据库后端,这样就会导致在数据处理期间,数据库中的表显著地增长或收缩。基数是指在一个给定时间里一个表中行的数目。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型混合系统混合系统混合了前面介绍的几种类型。许多实际应用系统往往是OLTP和DSS甚至其他模型的集成。从前面OLTP和DSS的需求对比来看,OLTP和DSS的基本特征似乎相反,如何协调这两种需求的矛盾?一般有三种解决方法:1)在一个系统中的OLTP和DSS之间节流,白天运行OLTP,而夜间进行批量处理。即白天运行OLTP配置的数据库,夜间跳回DSS配置的实例。这种方法的实际操作模式可以是以下两种:OLTP不支持24*7工作方式,DSS时不支持OLTP;DSS操作的系统反跳之后,OLTP可以使用,但系统性能将受影响。DBA需要测试DSS和服务器反跳对Web用户的影响,必要时选择其他解决办法来调整系统服务模式。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型混合系统2)同时运行两个数据库,一个服务于OLTP,一个服务于DSS。OLTP数据库进行实时更新,在有规则的时间间隔内,将变化传递给DSS数据库。这种方法的实际操作模式可以多种。DBA可以夜间执行部分或全部OLTP系统的输出,并输入到DSS系统。较好的解决方法是对实时方式下传递变化的连接数据库使用复制技术,将变化的数据复制记录下来,OLTP数据库只传递变化的数据给DSS数据库。第三种方法是使ORACLE中OLTP数据库的归档日志自动应用于DSS数据库,保证DSS系统紧跟在OLTP系统之后,DSS数据库不仅作为OLTP的备用数据库,而且自己又独立地服务于决策支持。尽管这种方式可能不能保证OLTP和DSS数据库的绝对同步,但在DSS的实时性要求不是很强时,是一种很好的方法。北京邮电大学软件学院郭文明2003.064.4.1数据库应用程序类型混合系统3)在一个系统中同时运行OLTP和DSS。这是最普遍的解决方法。系统经常作为OLTP开始活动,逐渐加入DSS需求使系统渐渐成为混合系统。在这种情况下,DBA必须在OLTP和批量处理之间寻找平衡,并且应该偏向于OLTP用户,创建与OLTP同样多的回滚段,而且要创建少量专门为大型事务指定的大型回滚段,同时将高速缓冲和共享池保持合理的容量,使系统既支持OLTP对共享池的需求又支持DSS对数据库缓冲区高速缓冲的需求。还要确保临时表空间够批量排序使用,同时将OLTP排序控制在内存中。推荐在这种情况下使用专用服务器,并且配置ORACLE并行服务器(OracleParallelServer,OPS),因为OPS允许多个实例访问同一个物理数据库,一个实例为OLTP配置,另一些为批量处理配置。北京邮电大学软件学院郭文明2003.064.4.2ORACLE空空间设计计ORACLE数数据库的的结构包包括逻辑辑结构和和物理结结构。在在进行应应用系统统数据库库设计时时,空间间设计是是非常重重要的,,它与今今后运行行系统的的性能、、可用、、维护、、管理等等有密切切的关系系。物理理结构与与逻辑结结构之间间的关系系如下图图:TablespaceSegmentExtentOracleblockDatafileOSblockDatabaseLogicalPhysical北京邮电电大学软软件学院院郭郭文文明2003.064.4.2.1ORACLE表空空间设计计ORACLE表表空间分分为两大大类:系系统表空空间和非非系统表表空间。。系统表表空间是是建库时时自动创创建的主主要用于于存储数数据字典典、系统统回滚段段;非系系统表空空间是由由用户创创建的表表空间,,主要用用于分离离段,方方便用户户的数据据管理。。ORACLE推荐一一种最佳佳灵活结结构OFA(OptimalFlexibleArchitecture)可可以用于于表空间间的设计计。OFA是是ORACLE软件安安装和数数据文件件的推荐荐目录结结构。OFA只是一一组建议议,并不不是绝对对原则。。下面介介绍基本本OFA和扩展展OFA。基本OFA1)系统统表空间间(SYSTEM)::系统表表空间不不具有重重建性,,只用于于存放数数据字典典,其他他内容如如数据段段信息等等都应从从系统表表空间中中移出。。北京邮电电大学软软件学院院郭郭文文明2003.064.4.2.1ORACLE表空空间设计计基本OFA2)分离离应用程程序数据据段(DATA):应应用程序序数据段段应是一一个独立立的表空空间,即即数据表表空间。。建立单单独数据据表空间间的理由由是:应应用程序序与数据据文件分分离有利利于减少少资源争争用,简简化文件件管理;;另外,,当数据据段产生生碎片时时利于管管理。3)分离离应用程程序索引引段(INDEX)::索引段段不应与与相关的的数据段段存储在在一个表表空间,,以免产产生资源源争用。。由于表表增长和和不正确确的尺寸寸设置可可能产生生索引段段的碎片片,分离离应用程程序索引引段,可可以减少少整理数数据表或或索引碎碎片所需需的管理理代价。。从数据据表分离离相应的的索引也也可以通通过ALTERINDEX命令来来实现。。4)分离离工具段段(TOOLS):许许多第三三方工具具会将数数据存储储在系统统表空间间中,为为了避免免这种情情况,可可将它们们的对象象移出系系统表空空间。北京邮电大学学软件学院郭郭文文明2003.064.4.2.1ORACLE表空空间设计基本OFA5)分离回滚滚段(RBS):回滚段段会针对巨型型事务动态扩扩展尺寸,也也会动态收缩缩到指定的优优化尺寸(参参见4.3))。回滚段的的I/O通常常与数据和索索引表空间的的I/O同步步。将回滚段段分离出来是是出于减少I/O冲突的的考虑。6)分离临时时段(TEMP):临时时段是数据库库中动态生成成的对象,用用来存储巨型型排序操作((如SELECTDISTINCT,UNION,CREATEINDEX等)的数据据。由于动态态特性,临时时段不应与其其他类型段一一起存储。通通常,在建立立用户时,将将这些用户使使用的临时数数据段设置到到临时表空间间。7)分离用户户(USER):为用户户帐号建立一一个USER表空间,在在建立用户时时将用户的操操作数据放在在用户表空间间。以上7个表空空间是最基本本的表空间,,也是传统OFA的基本本组成部分。。随着应用的的深入,又有有扩展的OFA。北京邮电大学学软件学院郭郭文文明2003.064.4.2.1ORACLE表空空间设计扩展的OFA1)分离低使使用数据段((DATA_2):在基基表中,有一一些是动态数数据,一些是是静态数据,,而动态数据据和静态数据据常常被并发发操作。静态态数据在实际际使用时只是是被提取信息息,可以把这这些静态数据据表设置到一一个专用表空空间(DATA_2),从而避免并并发操作冲突突。2)分离低使使用索引段((INDEX_2):数数据表分为静静态表和动态态表,则索引引亦如此。对对于静态表的的索引表应建建立静态索引引表空间(INDEX_2)。如果果索引已经生生成,可以使使用ALTERINDEX语句来来移动这些索索引到一个新新的表空间中中。3)分离工具具索引(TOOLS_1):如果数数据库对TOOLS表空空间有较多的的操作,则这这些工具表索索引可以移到到另一个表空空间(TOOLS_1)),这样TOOLS表空空间就可看成成工具数据表表空间。北京邮电大学学软件学院郭郭文文明2003.064.4.2.1ORACLE表空空间设计扩展的OFA4)分离特殊殊回滚段(RBS_2)):RBS表表空间的回滚滚段必须有适适当的大小和和数量,以适适应应用的使使用。但大型型事务可能超超过回滚段的的配置。为了了避免这种情情况,可以设设置一个特殊殊回滚段,使使大型事务只只使用特殊回回滚段。建立立一个特殊表表空间来容纳纳这个特殊回回滚段。5)分离特殊殊用户临时段段(TEMP_USER):和特殊殊回滚段一样样,一些特殊殊用户在做特特殊操作时,,可以设置一一个特殊用户户临时表空间间,这样便于于系统管理。。附加的特殊殊应用OFA扩展1)SNAPS:用用于快照(Snapshots)。快快照表是分分布式数据据库处理的的一种特殊殊表,为此此类表建立立相应的表表空间。2)PARTITIONS::用于分区区(Partition)。。分区是为为了分配I/O并且且简化巨型型表的管理理。3)TEMP_WORK:用用于大型数数据装载。。北京邮电大大学软件学学院郭郭文明2003.064.4.2.2数数据文件设设置根据ORACLE数数据库结构构特点,每每个表空间间至少要有有一个数据据文件,因因此,应用用系统的每每个表空间间均具有各各自的数据据文件。Oracle7.2以后可可以支持数数据文件大大小的重新新定义,当当表空间需需要扩充时时,不必为为其增加数数据文件,,而简单地地将其扩充充即可,避避免了预先先分配过大大的存储空空间及过多多数据文件件的问题。。同时可以以支持数据据文件的自自动扩展,,避免当表表空间已满满时,DBA手工扩扩充表空间间对用户使使用的影响响。对于一个不不太大的数数据库,可可以将数据据库软件和和数据文件件都放置在在一个磁盘盘上,将它它们设计成成不同的子子文件即可可。对于大大型数据库库,需要指指定哪些文文件放置在在哪个磁盘盘上。北京邮电大大学软件学学院郭郭文明2003.064.4.2.2数数据文件设设置表空间的磁磁盘分配:一般情况下下,90%以上的I/O操作作集中在系系统表空间间、数据表表空间、回回滚表空间间、索引表表空间这4个表空间间上,所以以这4个表空空间应单独独存储在不不同的磁盘盘上。系统文件的的规划:ORACLE有联机机日志文件件、归档日日志文件、、控制文件件和系统软软件文件等等,如何放放置这些系系统文件也也是一件重重要的任务务。1)联机日日志文件::每个数据据库至少要要有两个联联机日志文文件,由于于联机日志志文件中保保留了数据据库的当前前事务,所所以它无法法从备份中中恢复,他他们是ORACLE无法用备备份工具恢恢复的唯一一文件类型型。这类文文件应单独独存储。北京邮电大大学软件学学院郭郭文明2003.064.4.2.2数数据文件设设置系统文件的的规划:2)控制文文件:前面面章节已经经说明了控控制文件的的重要性,,每个数据据库应当至至少有3个个控制文件件的拷贝,,它们被分分布在3个个驱动器中中。3)归档日日志文件::如果归档档日志文件件和联机日日志文件放放在同一个个磁盘上,,当LGWR在读盘盘时,ARCH也在在读同一磁磁盘,势必必造成I/O冲突,,所以归档档日志文件件和联机日日志文件应应分盘存储储。4)ORACLE软软件:Oracle软件是系系统运行的的核心,这这些软件应应放在独立立的磁盘上上。磁盘规划设设计:磁盘规划设设计可以依依据下列准准则:数据据库必须可可恢复;必必须对联机机日志文件件进行镜像像;必须最最小化DBWR、LGWR、、ARCH之间的冲冲突;必须须最小化DBWR磁磁盘间的冲冲突;估计计数据库文文件的I/O量。北京邮电大大学软件学学院郭郭文明2003.064.4.2.2数数据文件设设置磁盘规划设设计:在磁盘规划划设计过程程中需要做做一些数据据库测量,,以估计其其I/O量量,以下给给出一参照照的7磁盘盘设计方案案:磁盘存放内容1Oracle软件2SYSTEM表空间,控制文件13RBS,TEMP,TOOLS表空间,控制文件24DATA表空间,控制文件35INDEX表空间6联机日志文件1,2,3,转储文件7应用软件,归档日志文件北京邮电大大学软件学学院郭郭文明2003.064.4.2.2数数据文件设设置表空间与数数据文件设设置举例::connectsystem/managercreatetablespacetsp_acctdatafile‘‘d:\oracle\oradata\orcl\apacct.dbf’size32Mreuseautoextendonnext4Mmaxsizeunlimited;createtablespacetsp_publicdatafile‘‘d:\oracle\oradata\orcl\appublic.dbf’size100Mreuseautoextendonnext16Mmaxsizeunlimited;createtablespacetsp_tempdatafile‘‘d:\oracle\oradata\orcl\aptemp.dbf’size500Mreuseautoextendonnext32Mmaxsizeunlimited;连接数据库库创建tsp_acct表空间间创建回滚段段表空间创建临时表表空间北京邮电大大学软件学学院郭郭文明2003.064.4.2.3段段存储分配配设置在数据库中中,大量使使用的段包包括表段和和索引段,,还有回滚滚段、临时时段。表的的逻辑定义义信息放在在DBA_TABLES和DBA_TAB_COLUMNS中,,索引的定定义信息放放在DBA_INDEXS和和DBA_IND_COLUMNS中中。从存储储管理角度度看,表和和索引都属属于段,只只是类型不不同而已,,有关段及及存储定义义的系统数数据字典有有DBA_SEGMENTS和DBA_EXTENTS等。在应用系统统中,对大大量使用的的段的规划划主要是它它们的存储储方案的设设计,每个段由由区间组成成。每个段段使用的空空间由它的的存储参数数决定,在在CREATETABLE、CREATEINDEX、CREATECLUSTER、CREATE北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.2.3段段存储储分配配设置置如果在在创建建段的的命令令中不不指定定STORAGE参参数,,则使使用它它所在在表空空间的的缺省省参数数。表表空间间的存存储参参数或或段的的存储储参数数设计计不合合理将将直接接影响响数据据库的的性能能,甚甚至直直接影影响到到数据据库的的正常常运行行。对存储储参数数的确确定问问题,,前面面的讨讨论中中已经经说明明,应应根据据实际际初始始数据据量的的估算算和数数据的的动态态变化化情况况以及及段的的性质质等多多方面面来决决定。。注意,,ORACLE数据据库在在创建建回滚滚段之之后,,状态态为脱脱机,,因此此必须须由DBA将其其状态态改为为联机机,方方可使使用。。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.2.3段段存储储分配配设置置段存储储分配配设置置举例例:createtablepat_master(pat_idvarchar2(10),namevarchar2(8),……)pctfree10pctused60storage(initial16Mnext16Mminextents1maxextentsunlimitedpctincrease0)tablespacetsp_acct;createindexpat_master_indexonpat_master(pat_id)pctfree20storage(initial4Mnext4Mminextents1maxextentsunlimitedpctincrease0)tablespacetsp_acct;createpublicrollbacksegmentrbs_publictablespacetsp_publicstorage(initial4Mnext4M);Alterrollbacksegmentrbs_publiconline;创建pat_master表表创建pat_master_index索索引创建回回滚段段北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.2.4数数据块块利用用设置置数据块块空间间利用用参数数可以以控制制表段段和索索引段段中的的空间间使用用。分分两类类:控控制并并发性性的参参数(INITRANS和MAXTRANS)、控控制数数据空空间使使用的的参数数(PCTFREE和PCTUSED)。可以使使用INITRANS和和MAXTRANS来确确定一一个数数据库库块上上活动动事务务的个个数。。INITRANS是每每个块块的初初始化化事务务入口口数,,数据据段和和索引引段的的INITRANS的缺缺省值值分别别为1和2,增增大其其值则则允许许多个个事务务同时时操作作数据据块。。MAXTRANS是在在每个个块的的最大大事务务入口口,缺缺省值值为最最大值值255。。北京邮电电大学软软件学院院郭郭文文明2003.064.4.2.4数据据块利用用设置通过选选择适适当的的PCTFREE和和PCTUSED可可以提提高性性能和和空间间利用用。对对于改改动较较少的的表,,在设设置数数据块块空间间利用用参数数时,,PCTFREE适适当降降低。。对于于经常常改动动的表表,尤尤其是是数据据行长长度增增加的的改动动,应应该适适当提提高PCTFREE的设设置,,以免免发生生行转转移。。数据据行长长度增增加这这类应应用的的一个个例子子:医医疗信信息系系统中中,病病案首首页表表中行行的信信息开开始长长度可可能不不大(许多多字段段值为为空),但但随着着病人人住院院的过过程,,行的的信息息不断断增加加。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计在ORACLE中,,DBA定定义访访问数数据库库的用用户名名,安安全域域定义义作用用于用用户的的有关关安全全方面面的设设置。。安全域域包括括:验验证机机制、、表空空间限限额、、默认认表空空间、、临时时表空空间、、帐户户锁、、资源源限制制、直直接权权限、、角色色权限限8个个方面面,如下下页图图。ORACLE的的安全全性设设计围围绕用用户的的安全全域展展开。。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计AccountlockingAuthenticationmechanismRoleprivilegesDirectprivilegesResourcelimitsTablespacequotasTemporarytablespaceDefaulttablespaceSecuritydomain默认表表空间间临时表表空间间表空间间限额额资源限限额直接权权限角色权权限验证机机制帐户锁锁北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计安全域域内容容1)验验证机机制::用户户访问问数据据库可可以通通过数数据库库、操操作系系统、、网络络这三三种方方式中中的一一种进进行验验证,,一个个用户户究竟竟使用用何种种验证证方式式,根根据具具体需需求决决定。。2)表表空间间限额额:表表空间间限额额,可可以控控制一一个数数据库库的用用户对对数据据库中中表空空间的的物理理存储储空间间的分分配数数量。。3)默默认表表空间间:定定义用用户在在创建建段时时的存存储位位置,,当用用户创创建段段时,,如果果指定定存储储表空空间,,则使使用定定义段段时指指定的的表空空间,,否则则使用用这一一默认认表空空间。。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计安全域域内容容4)临临时表表空间间:当当用户户执行行排序序操作作时,,临时时表空空间定定义临临时段段分配配的位位置。。5)帐帐户锁锁:帐帐户锁锁可以以防止止非法法用户户对系系统的的登录录。6)资资源限限制::对用用户使使用资资源进进行一一定的的限制制。7)直直接权权限::通过过GRANT直直接授授予用用户的的系统统权限限和对对象权权限。。8)角角色权权限::通过过GRANT将将系统统权限限和对对象权权限授授予角角色,,再将将角色色授予予用户户,使使用户户间接接获得得权限限。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计口令和和资源源配置文文件是是命名名的一一组口口令和和资源源限制制的设设置集集合。。Oracle中存存在一一个名名为DEFAULT的配配置文文件,,默认认配置置文件件中的的所有有项目目都不不受限限制,,如果果创建建用户户时没没有指指定配配置文文件子子句,,则系系统将将DEFAULT指指定给给该用用户。。Oracle中中允许许DBA修修改DEFAULT和用用户定定义的的配置置文件件,用用ALTERPROFILE命命令。。允许许删除除DEFAULT和和定义义的配配置文文件,,用DROPPROFILECASCADE命命令。。创建用用户时时需确确定用用户名名和验验证机机制、、指定定默认认表空空间和和临时时表空空间、、确定定有关关表空空间的的限额额、指指定用用户的的配置置文件件。ORACLE应应用系系统中中一般般定义义一系系列的的用户户和配配置文文件、、定义义一系系列的的角色色,然然后将将角色色和配配置文文件授授予((或指指定给给)用用户。。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计权限和和角色色Oracle大大约有有100多多种的的系统统权限限,包包括诸诸如创创建表表空间间的系系统范范围级级操作作权限限、诸诸如创创建表表的用用户模模式内内对象象管理理权限限和诸诸如创创建任任意表表的任任意模模式内内对象象管理理权限限。系系统权权限和和对象象权限限可以以通过过GRANT或或REVOKE语句句授予予用户户或收收回。。角色是是被命命名的的一组组相关关的权权限,,角色色是属属于系系统范范围的的,既既不属属于某某个用用户,,也不不属于于某个个模式式。可可以把把系统统权限限和对对象权权限授授予角角色,,也可可以把把角色色授予予另一一个角角色,,最终终把角角色授授予用用户,,由此此方便便Oracle的安安全管管理。。使用角角色的的步骤骤是::创建建角色色、为为角色色授予予相应应的权权限、、将角角色授授予特特定的的用户户。Oracle中中有一一些预预定义义角色色可以以使用用,例例如DBA、SELECT_CATALOG_ROLE等,,DBA可可以直直接使使用。。北京邮邮电大大学软软件学学院郭郭文文明2003.064.4.3ORACLE安安全设设计应用系系统的的用户户应用系系统的的安全全设计计一般般要对对用户户进行行分类类,然然后根根据用用户类类型的的不同同,对对其进进行设设置、、维护护及管管理。。数据库管理理员(DBA):默认的数数据库管理理员internal、sys和system均具有DBA权限限。数据库库打开、关关闭、恢复复等操作时时,需使用用internal;修改数数据库重要要参数时使使用sys;其他一一般管理应应使用system。所有者(OWNER):对大型的的应用系统统,往往根根据不同的的用户所属属将对象进进行划分,,这样不同同的用户拥拥有不同的的数据库对对象,创建建数据库对对象的用户户称为对象象的所有者者(模式))。此类用用户需要有有RESOURCE的权限。。一般用户((USER):一般用户户即应用系系统的最终终用户。此此类用户对对数据库而而言仅需要要有CONNECT的权限即即可,但此此类用户的的角色权限限和对象使使用权限需需要根据具具体工作和和应用进一一步规划和和设计。北京邮电大大学软件学学院郭郭文明2003.064.4.3ORACLE安安全设计应用系统的的一般用户户应用系统中中除创建一一系列数据据库对象外外,还要创创建一系列列的应用程程序,不同同的应用程程序执行不不同的操作作。对于一一般用户来来讲,使用用数据库系系统是通过过使用用户户管理应用用程序开始始的,往往往限制其使使用一些应应用程序的的权力。对对于这种情情形,处理理办法是::在数据库库和应用程程序之间建建立用户管管理应用程程序层次,,对每一个个用户,授授予相应的的数据库权权限和使用用应用程序序的权限。。一般用户的的配置:系系统级权限限仅限于角角色CONNECT,对象级级权限仅限限于相关应应用系统的的自定义角角色,应用用程序使用用权限仅限限于相关应应用程序的的使用级别别。北京邮电大大学软件学学院郭郭文明2003.064.4.3ORACLE安安全设计应用系统的的一般用户户在应用系统统内部进行行多个层次次的检查和和验证:1)第一层层:Oracle数数据库系统统层,判断断其能否建建立会话。。2)第二层层:应用程程序的使用用权限,检检查验证用用户能够使使用哪些应应用程序。。3)第三层层:Oracle数数据库的对对象级权限限,判断用用户能否操操纵其相应应的对象,,对象级权权限是通过过自定义Oracle角色来来设置的。。北京邮电大大学软件学学院郭郭文明2003.064.4.3ORACLE安安全设计在ORACLE数据据库中,当一个数据据库用户被被创建时,,系统就为为该用户自自动创建一一个与用户户同名的模模式。用户和模模式的概念念在某种程程度上是一一样的。模模式或用户户可以拥有有的对象如如下图。用用户的定义义应与数据据库的对象象定义结合合起来。SchemaObjectsTables表表Triggers触触发器器Constraints约约束Indexes索索引Views视视图Sequences序序列列发生器Storedprogramunits存存储过程程单元(PL/SQL写)Synonyms同同义词词User_defineddatatypes用户户定义数据据类型(Oracle8i以以后)Databaselinks数数据库连连接(分布布式数据库库时使用)北京邮电大大学软件学学院郭郭文明2003.064.4.3ORACLE安安全设计安全设计举举例:createprofilegrace_5limitfailed_login_attempts3password_lock_timeunlimitedpassword_lift_time30password_grace_time5sessions_per_user2cpu_per_session10000idle_time60conenct_time480;createusercommidentifiedbycommdefaulttablespacedatatemporarytablespacetsp_tempquota15Mondataprofilegrace_5;grantconnect,resourcetocomm;创建配置文文件创建用户授权北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计数据库应用用系统中肯肯定要建立立大量的模模式对象,,这些对象象应作出合合理的规划划,尽量减减少因设计计不周导致致性能下降降、表空间间不足、用用户权限不不够等问题题的出现。。表在创建表时时,需要注注意的事项项如下:1)对于表表名、列名名、约束名名、索引名名和聚集名名使用符合合命名规则则的并带有有描述意义义的名称。。2)建立相相应完全的的、详细的的文档资料料。3)所有表表都应当规规范(规范范化至少是是第三泛式式)。4)定义允允许为空的的列,并保保留一定的的存储空间间。5)适当地地使用聚集集表,保留留一定的存存储空间。。6)表段应应放在单独独的表空间间中。北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计表7)为了减减少存储碎碎片产生,,区间大小小最好是数数据块的整整数倍。8)对于应应用系统中中频繁使用用的数据行行较少的表表,考虑使使用CACHE选项项,即允许许其长期保保持在内存存中,避免免反复读取取,提高性性能。触发器触发器作为为Oracle标准准功能的补补充提供给给用户。使使用它通常常实现如下下功能:1)自动生生成可以派派生的列值值。2)防止无无效的处理理。3)增强复复杂的安全全验证。北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计触发器4)增强分分布式环境境中跨节点点的引用完完整性。5)增强复复杂的业务务规则。6)提供透透明的事件件登记。7)提供高高级的审计计。8)维护表表复制的同同步。9)采集关关于访问表表的统计信信息。尽管触发器器可实现许许多功能,,但是,能用其他方方式实现的的功能尽量量避免使用用触发器。过多的触触发器导致致复杂的内内部相关性性,维护和和管理变得得复杂。特特别注意触触发器的语语句不要太太多,不要要创建递归归调用的触触发器(如如一个对象象的AFTERUPDATE的活动动中又有该该对象的UPDATE操作)。北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计索引索引一旦建建立,其使使用和维护护都是由Oracle自动实实现的。使使用它应注注意:1)索引可可以加速查查询,但会会降低修改改速度,频频繁改动的的表,尽量量少建索引引。2)索引段段应存储在在独立的表表空间中。。3)为减少少存储碎片片,区间大大小应是数数据块的整整数倍。4)为了避避免索引的的建立和改改动操作生生成大量的的重做日志志,影响系系统的性能能,在创建建较大索引引时,使用用NOLOGGING选项。。5)由于索索引项相对对于数据项项要短,使使一个数据据块中容纳纳索引的数数量要比数数据行多,,为了提高高索引在数数据块一级级上操作的的并发性,,可适当提提高INITANS参数的值值。北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计索引6)索引中中PCTFREE只只在创建索索引时使用用。对于单单调增加的的索引列值值,可以将将PCTFREE设设置得较低低。因为新新的索引项项始终是对对已经存在在的索引项项的追加,,不需要在在两个已经经存在的索索引项之间间插入,所所以没必要要预留过多多的空间。。如果索引引列值是任任意值时,,则可能需需要预留较较多的空间间。视图对视图的操操作类似表表的使用,,表可以使使用的地方方,视图一一般也可使使用。视图图可用于安安全控制和和简化查询询的目的,,视图只能能创建或删删除,不能能修改。北京邮电大大学软件学学院郭郭文明2003.064.4.4ORACLE对对象设计序列应用系统中中,经常使使用顺序号号,并发用用户中如何何保证顺序序号的连续续且不重复复。序列发发生器是数数据库的一一种模式对对象,可以以解决上述述问题,为为应用系统统开发人员员提供顺序序号的自动动管理与维维护。Init.ora中的的参数SEQUENCE_CACHE_ENTRIES与序列发发生器有关关,影响内内存中可以以保留的顺顺序号个数数。存储过程可以调用存存储过程的的环境有::另一个存存储过程的的过程体或或一个触发发器中,一一个存储函函数可以从从一个SQL语句中中调用,其其使用方式式与调用Oracle内置的的SQL函函数是一样样的。创建建存储过程程时,应当当注意该存存储过程的的模式归属属。同义词利用同义词可可以将应用系系统中模式对对象的模式屏屏蔽掉。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论