数据库管理员手册样本_第1页
数据库管理员手册样本_第2页
数据库管理员手册样本_第3页
数据库管理员手册样本_第4页
数据库管理员手册样本_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

《Oracle8i数据库管理员手册》读书笔记第1章Oracle体系构造//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1111:31数据块缓区和SQL共享池(SharedSQLPool)是SGA中最大某些,普通占分派给SGA内存95%以上。通过减少对数据文献I/O次数,这些存储区域可以改进数据库性能。//===============================================================-2-1111:45Oracle数据库构造可分为三个范畴: .数据库内部构造(如表)。 .存储区内部构造(涉及共享存储区和进程)。 .数据库外部构造。//===============================================================-2-1111:53顾客SYS和SYSTEM所拥有表被称为数据字典表(datadictionarytable),数据字典表提供一种数据库用来管理自己系统目录。数据字典由Oracle提供一组目录脚本文献创立。每当安装或升级一种数据库时,都需要使用创立或修改数据字典表脚本文献。当在数据库中安装一种新选项时,也许要运营此外某些附加目录脚本文献。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-131:31在Oracle8中,当把一种大表提成若干小表时,可以规定某些范畴供数据库使用。这些称作分区(partition)小表比大表管理更加简朴。例如,可以截断(truncate)一种分区数据而不截断其她分区数据。Oracle将把分区表看作一种大表,但可以把这些分区作为某些独立对象来管理。//===============================================================-2-131:31顾客SYS拥有数据字典表,这些表存储了数据库中其她构造所有信息;顾客SYSTEM拥有访问数据字典表视图,这些视图供数据库中其她顾客使用。//===============================================================-2-131:31顾客帐号拥有对象集称为顾客模式(schema)。//===============================================================-2-131:31在关系数据库中,一种行物理位置无关紧要,除非数据库需要找到它。为了能找到数据,表中每一行均用一种RowID来标记。RowID告诉数据库这一行精确位置(指出行所在文献、该文献中块、该块中行地址)。注意索引构造表没有老式OracleRowID,但是,其主键起一种逻辑RowID作用。//===============================================================-2-131:31索引是一种供服务器在表中迅速查找一种行数据库构造。索引有三种形式:簇索引、表索引和位映射索引。簇索引把簇核心字值存储在簇中;下面一小节将对簇用途进行详细描述。表索引除了拟定行物理位置(RowID)外,还存储表行值。位映射索引是表索引一种特殊形式,用于支持对大表进行查询(这些大表很少有不同值列)。每一种索引条目都由一种键值和RowID构成。可以索引一种列或一组列,Oracle用B*树(B*-tree)机制存储索引条目,以保证用最短途径访问键值。当一种查询访问索引时,就能找到与查询条件相匹配索引条目。与条目相匹配RowID值向Oracle提供有关行物理位置,以减轻定位数据所需要I/O承担。//===============================================================-2-131:51视图定义(涉及作为基本查询、列安排、授予权限)存储在数据字典中。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-150:34函数、软件包和过程源代码被存储在数据字典表中。//===============================================================-2-150:36触发器分为两种类型: .语句触发器:对每一种触发语句触发一次。 .行触发器:对受语句影响表中每一种行触发一次。//===============================================================-2-1523:29对于Oracle8,可以创立INSTEADOF触发器。INSTEADOF触发器执行一种代替操作来代替触发器操作。也就是说,如果对表创立一种INSTEADOFINSERT触发器,将执行触发器代码且绝不会浮现引起触发器执行insert操作。//===============================================================-2-1523:30公用同义词由一种特定数据库所有顾客共享;私有同义词只被数据库各个顾客帐号所有者所拥有。//===============================================================-2-1523:30由于索引或触发器只能在表操作过程中被数据库访问,因此没有针对索引或触发器访问权限。//===============================================================-2-1523:39段由称作盘区(extent)某些邻接Oracle块集合构成。一旦段中既有盘区不能再容纳新数据,该段将获取此外盘区。如果需要话,这种扩展将持续下去,直到表空间数据文献中没有自由空间或者已达到每个段内部盘区最大数量为止。如果一种段中有各种盘区,将无法保证这些盘区连接在一起。//===============================================================-2-1523:40当你撤除一种段时,该段所使用盘区就成为自由盘区。Oracle可以重新把这些自由盘区用于新段或既有段扩展。//===============================================================-2-1523:42Oracle用数据库中回滚段来提供一种前映像数据。//===============================================================-2-1523:45显形图在构造上与快照非常相似。它存储基于一种基本查询复制数据。快照普通存储来自远程数据库数据,而显形图普通则存储从当前数据库中复制数据。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-160:01普通,数据块缓存区只是数据库大小1%~2%,Oracle使用近来至少使用(LRU,leastrecentlyused)算法来管理可用空间。//===============================================================-2-160:04数据字典缓存区通过近来至少使用(LRU)算法来管理。字典缓存区大小由数据库内部管理。字典缓存区是SQL共享池一某些,共享池大小由数据库文献init.ora中SHAREDPOOL-SIZE参数来设立。//===============================================================-2-160:10重做项描述对数据库进行修改。它们写到联机重做日记文献中,以便在数据库恢复过程中用于向前滚动操作。//===============================================================-2-160:12在第二次运营(由任何顾客)相似SQL语句时,可以运用SQL共享池中可用语法分析信息来加快执行速度。//===============================================================-2-160:16缓冲区数量必要至少比LRU锁存器数量多50倍。//===============================================================-2-160:19当启动一种数据库时,SMON(SystemMonitor,系统监控程序)进程执行所需实例恢复操作(使用联机重做日记文献),它也可以清除数据库,取消系统不再需要事务对象。SMON另一种用途是:将邻接自由盘区构成一种较大自由盘区。//===============================================================-2-160:26程序全局区(PGA,ProgramGlobalArea)是存储区中一种区域,由一种Oracle顾客进程所使用,PGA中内存不能共享。//===============================================================-2-160:26PMON(进程监控程序)后台进程清除失败顾客进程,释放顾客当时正在使用资源。//===============================================================-2-160:28DBWR(数据库写入程序)后台进程负责管理数据块缓存区及字典缓存区内容。它以批方式把修改块从SGA写到数据文献中。//===============================================================-2-160:31如果创立各种DBWR进程,这些进程就不叫做DBWR,它们将有一种数字分量。例如,如果创立5个DBWR进程,进程操作系统名就也许是DBW0、DBW1、DBW2、DBW3和DBW4。//===============================================================-2-160:33LGWR(日记写入程序)后台进程负责把联机重做日记缓冲区内容写入联机重做日记文//===============================================================-2-160:39检查点使DBWR把上一种检查点后来所有已修改数据块写入数据文献,并更新数据文献头部和控制文献以记录该检查点。当一种联机重做日记文献被填满时,检查点进程会自动浮现。可以用数据库实例init.ora文献中LOG_CHECKPOINT_INTERVAL参数来设立一种频繁浮现检查点。//===============================================================-2-160:42当Oracle以ARCHIVELOG(归档日记)模式运营时,数据库在开始重写重做日记文献之前先对其进行备份。//===============================================================-2-160:43RECO(恢复进程)后台进程用于解决分布式数据库中故障问题。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1720:03Oracle保存所有数据库事务日记。这些事务被记录在联机重做日记文献(onlineredologfile)中。//===============================================================-2-1720:10一种Oracle数据库最简朴形式由下列组件构成: .一种或各种数据文献。 .一种或各种控制文献。 .两个或各种联机重做日记文献。//===============================================================-2-1720:12数据库内部构造涉及: .多顾客/模式。 .一种或各种回滚段。 .一种或各种表空间。 .数据字典表。 .顾客对象(表、索引、视图等)。//===============================================================-2-1720:14访问数据库服务器最小构成如下: .一种SGA(其中涉及数据块缓存区、重做日记缓存区、SQL共享池)。 .SMON后台进程。 .PMON后台进程。 .DBWR后台进程。 .LGWR后台进程。 .CKPT后台进程。 .与PGA有关联顾客进程。//===============================================================-2-1720:15全系统导出通惯用于消除数据库中碎片。//===============================================================-2-1720:18对数据库进行物理备份有两种方式可供选取:联机备份(onlinebackup)和脱机备份(offlinebackup)。//===============================================================-2-1720:23在联机备份期间,先将表空间暂时置于一种备份状态,当文献备份完毕后,再将表空间恢复为正常状态。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1720:36Oracle8中LOB存储区隐式采用1:1关系存储LOB数据。如果LOB数据大小超过一种阈值,它就与基表分开存储。//===============================================================-2-1720:50Oracle7.3之后版本提供了OracleEnterpriseManager(OEM,Oracle公司管理器)—图形顾客界面(GUI)工具。//===============================================================第2章硬件配备研究//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1721:04数据库服务器(也叫做实例)由一组内存构造和访问数据库文献后台进程构成。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-1920:36对于Net8通信接受与解决,主机必要运营一种称作listener(监听器)进程,这个监听器必要在与数据库通信关于每一种主机上运营。//===============================================================-2-1920:40数据库链接不能用于从LONG数据类型字段返回数值。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2223:48三层构造是客户机/服务器模型一种扩展。每一层功能都视你实现而定,普通这三层安排如下:.客户机,用于提供应用程序。.应用程序服务器,用于应用程序业务逻辑解决。.数据库服务器,用于数据存储和检索。//===============================================================-2-2223:54可以使用OracleTransparentGateway(透明网关)从你数据库中访问非Oracle数据库。每种被访问数据库引擎需要一种独立网关。网关在被访问数据源主机上运营。例如,如果源数据存储在一种AS/400数据库上,则AS/400OracleTransparentGateway软件就安装在AS/400服务器上。执行时,网关软件在源服务器上创立一种监听器,其作用与SQL*Net/Net8监听器同样。如果有一种顾客名和这个数据库口令,就可以访问AS/400数据库中特定数据对象。//===============================================================第3章数据库逻辑设计//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-230:12为了在数据库中高效地分布对象,必要一方面建立一种分类系统。数据库中逻辑对象必要依照它们使用方式及其物理构造对数据库影响来进行分类。这种分类过程涉及将索引与表分开,将低活动性表与高活动性表分开。尽管对象活动量只能在产品使用时拟定,但频繁使用数据表核心集普通可以分离出去。//===============================================================-2-230:15唯一能重建SYSTEM表空间办法是重新创立数据库//===============================================================-2-230:17数据字典段(Datadictionarysegment)—数据字典表物理存储区—存储在SYSTEM表空间中//===============================================================-2-230:21数据段(datasegment)是某些物理区域,用于存储与表和簇有关数据。数据段经常被数据库访问,也经常执行数据操作事务。对数据段访问规定管理是产品数据库重要目的。//===============================================================-2-230:22索引段不应与其有关表存储在同一种表空间中,由于它们在数据管理和查询时存在许多I/O冲突。//===============================================================-2-230:30在数据库中,回滚段维护语句级和事务级读一致性。//===============================================================-2-230:34暂时段(temporarysegment)是数据库中动态创立对象,用以存储大型排序操作(如selectdistinct、union、createindex等操作)中数据。由于它们动态性,因此暂时段不应与其她类型段一起存储。//===============================================================-2-230:36如果把一种表空间指定为暂时表空间,将不能在这个表空间内创立表和索引之类永久性段。此外,当有关命令结束时,不会撤除这个表空间中暂时段,只是空间管理量有所减少。//===============================================================-2-230:38普通,把SYSTEM和SYS顾客暂时表空间设立值变化成非SYSTEM表空间比较适当。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2322:03数据库逻辑设计成果应当符合下述准则:.以相似方式使用段类型应当存储在一起。.应当按照最普通使用状况(事务大小、顾客数量、事务数量等)来设计系统。.应有用于例外状况单独区域。.应使表空间冲突最小化。.应将数据字典分离开。//===============================================================第4章数据库物理设计//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2322:55普通数据库中90%以I/O都集中在数据(DATA)、回滚段(RBS)、系统(SYSTEM)、索引(INDEXES)四个表空间上。//===============================================================-2-2323:03每个数据库至少要有两个有效联机重做日记文献。//===============================================================-2-2323:12当Oracle以ARCHIVELOG模式运营时,数据库会在重写联机重做日记文献之前,对它进行拷贝。//===============================================================-2-2323:35要保证数据库恢复能力,必要对联机重做日记文献进行镜像。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2623:10当创立一种数据库时,把数据库提成叫作表空间(tablespace)各种逻辑区段。如第3章所述,SYSTEM表空间是创立第一种表空间,然后创立此外表空间以分别存储不同种类数据。创立一种表空间时,会相应地创立数据文献(datafile)以存储数据。这些文献及时分派在它们创立时指定空间。因而,在数据库与表空间之间就存在着一对多关系,并且在表空间与数据文献之间也存在一对多关系。一种数据库可以有各种顾客,其中每个顾客都拥有一种模式(schema)。每个顾客模式是表和索引等数据库逻辑对象集合。这些对象表达存储在表空间物理数据构造。顾客模式中对象可以存储在各种表空间中,并且一种表空间可以包括各种模式中对象。当创立一种数据库对象(如表或索引)时,可以通过顾客缺省值或特殊指令将其赋予一种表空间。这样就会在该表空间中创立一种段(segment)以存储与该对象有关数据。分派给这个段空间会始终保存着,直到该段被撤除、人工收缩或截断。关于对分派给表、索引和簇空间进行人工收缩细节,请参见本章4.9节“段空间重新分派办法”。一种段由某些称作盘区(extent)—某些持续Oracle块—区段构成。一旦既有盘区不能再存储新数据,这个段就要获取另一种盘区。这种扩展过程将始终持续下去,直到表空间中数据文献已没有自由空间,或者已达到每个段最大内部盘区数量为止。如果一种段由各种盘区构成,则无法保证这些盘区持续性。//===============================================================-2-2623:24在表空间级设立pctincrease值为0,将影响Oracle自动合并表空间中自由空间能力。把表空间缺省pctincrease设立为一种非常低值,例如1。//===============================================================-2-2623:28表段(Tablesegment)普通也称作数据段(datasegment),存储着与表或簇关于行数据。每个数据段含一种标题块,用作段空间目录。//===============================================================-2-2623:36从数据表中删除行对表所分派空间量没有影响。//===============================================================-2-2623:45要最小化数据段中无用空间数量,需要调节pctfree参数。这个参数指定每一种数据块中将保存自由空间数量。当NULL值列被更新为有数值时,或者行中其她值变化导致行长度增长时,就使用这一自由空间。pctfree参数确切设立是与应用状况有关,由于它取决于所执行更新性质。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2723:02对于暂时表,将initial和next盘区大小设为表空间大小1/20~1/50。对于这个表空间,initial和next缺省设立应当相等。将pctincrease值设为0,这样,段将由同样大小盘区构成。当撤除这些段时,下一种暂时段将能重新运用这些已撤除盘区。//===============================================================-2-2723:03“暂时”表空间不能用于存储任何永久段,只能存储操作时创立暂时段。//===============================================================-2-2723:09一种表空间可以包括各种数据盘区和一种或各种自由盘区(见图4-4a)。当一种段被撤除时,它盘区被释放,并标记为“自由”。//===============================================================-2-2812:34可以使用altertablespace命令中coalesce子句来强制表空间合并其自由空间,如下所示:altertablespaceDATAcoalesce;这样可以促使DATA表空间中相邻自由盘区合并成更大自由盘区。注意这个altertablespace命令不能合并被数据盘区别隔自由盘区。合并只是对表空间内部自由空间进行解决,并不能变化表空间整体大小。//===============================================================-2-2812:36可以用alterdatebase命令来手工扩展数据文献,如下例所示:alterdatabasedatafile‘db05/oracle/CC1/data01.dbf’resize200M;//===============================================================-2-2812:43可以通过altertablespace命令来增长一种新数据文献,从而使表空间具备自动扩展能力。下列程序清单中命令把一种新数据文献添加给DATA表空间,并指定了autoextendon和maxsize为300MB:altertablespaceDATAadddatafile‘/db05/oracle/CC1/data02.dbf’size50MautoextendONmaxsize300M;要变化一种既有数据文献属性,可使用alterdatabase命令,如下所示: alterdatabase datafile‘/db05/oracle/CC11/data01.dbf’ autoextendON maxize300M;//===============================================================-2-2812:45移动数据文献办法有两种:通过alterdatabase命令或altertablespace命令。altertablespace办法仅用于其表空间不涉及SYSTEM、回滚段或暂时段数据文献。alterdatabase办法可用于所有数据文献。alterdatabase办法当使用alterdatabase办法移动数据文献时,数据文献在实例关闭后移动。所涉及环节如下:关闭实例,使用OEM或ServerManager。使用操作系统命令来移动数据文献。安装数据库并使用alterdatabase命令变化数据库中文献名。启动实例。altertablespace办法使用altertablespace办法移动数据文献时,数据文献可以在实例运营期间移动。所涉及环节如下:设立表空间为脱机状态。使用操作系统命令移动文献。使用altertablespace命令更改数据库中文献名。重新设立表空间为联机状态。注意此办法只合用于非SYSTEM表空间。不能用于具有活动回滚段或暂时段表空间。//===============================================================-2-2813:00联机重做日记文献可以在数据库关闭时进行移动,并且通过alterdatabase命令在数据库中重新命名。这一过程与用alterdatabase命令移动数据文献过程非常相似。一方面,将数据库关闭,移动联机重做日记文献。然后安装数据库,使用alterdatabase命令向数据库告知联机重做日记文献新位置。这样就可以用新位置上日记文献打开实例。//===============================================================-2-2812:59控制文献位置在实例init.ora文献或config.ora文献中指定,普通是config.ora文献包括此信息。若要移动控制文献,必要关闭实例,移动文献,编辑config.ora文献,然后再重新启动该实例。//===============================================================-3-116:46oracle数据库文献由数据文献(.dbf)、控制文献(.ctl)、日记文献(.log)三种文献构成。所有表空间数据都是放在数据文献(.dbf)中。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-2-2922:51高水位标志是段中已存储过数据最大块数。如果在表中插入数千行记录,则此标志会不断增大;如果删除记录,此标志却不减少。除了撤除并重新创立表外,这个标志只有在发出一种truncate命令或数据段被撤除又重新创立时,才会被重新设立。//===============================================================-2-2923:12可以通过altercluster命令deallocateunused子句来重新分派簇中空间。同样,可以用alterindex命令中deallocateunused子句来重新分派索引空间。但是,如下节所述,索引尚有一种选项—alterindexrebuild命令,它使你能更灵活地管理索引空间使用。//===============================================================第5章开发过程管理//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-111:44CONNECT角色不只予以顾客可以在数据库中创立会话权限。除了CREATESESSI0N系统权限外,CONNECT角色还予以顾客如下权限:ALTERSESSION、CREATECLUSTER、CREATEDATABASELINK、CREATESEQUENCE、CREATESYNONYM、CREATETABLE和CREATEVIEW。然而,顾客不具备创立表和簇能力(这些对象都会占用数据库空间),除非授予顾客相应表空间定额,或被授予RESOURCE角色。//===============================================================-3-111:46权限只代表了你具备做这件事资格,而能不能作还要看你能力。就如上面你有建表权限,但是由于其他条件不满足(没有空间能力)也不能建表。//===============================================================-3-113:18RESOURCE角色具备如下系统权限:CREATECLUSTER、CREATEINDEXTYPE、CREATEOPERATOR、CREATEPROCEDURE、CREATESEQUENCE、CREATETABLE、CREATETRIGGER和CREATETYPE。具备RESOURCE角色顾客也被授予UNLIMITEDTABLESPACE权限,因而这些顾客可超越为她们定义空间定额。应当把RESOURCE角色授予那些需要创立进程和触发器等PL/SQL对象开发人员。如果开发人员使用了ObjectsOption(对象选项),RESOURCE角色将予以她们CREATETYPE权限,该权限容许她们创立和执行类型和办法。//===============================================================-3-113:22DBA角色拥有带withadminoption所有系统权限,withadminoption意味着DBA可以授予其她顾客系统权限。//===============================================================-3-113:52注意连字符(-)是SQL*Plus中一种持续符号,容许一种命令跨越多行。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-123:35当分派空间时,Oracle遵循下列内部规则:Oracle只分派整个块,而不分派块某些。Oracle分派块组,普通是5块倍数。依照表空间中可用自由空间,Oracle可分派更大或更小块组。//===============================================================-3-123:39必要对的设立盘区大小,而不论表中盘区数量。盘区大小真正影响性能。//===============================================================-3-123:42Oracle以两种办法从表中读数据:通过RowID(普通直接跟在一种索引访问后)和通过全表扫描。如果通过RowID来读数据,那么表中盘区数就不是读性能一种因素。Oracle将从其物理位置(按RowID)读取每一行并检索数据。如果通过全表扫描读取数据,那么盘区大小也许会影响性能。当通过全表扫描读取数据时,Oracle将每次读出各种块。每次读取块数通过init.ora参数DB_FILE_MULTIBLOCK_READ_COUNT来设立并受操作系统I/O缓冲区大小限制。例如,如果数据库块大小是4KB,操作系统I/O缓冲区大小是64KB,那么在全表扫描时每次最多可读取16块。在这种状况下,把DB_FILE_MULTIBLOCK_READ_COUNT值设立为不不大于16不会变化全表扫描性能。//===============================================================-3-123:45因而,要避免为盘区大小付出性能代价,必要选取如下两种方略之一:创立明显不不大于I/O容量盘区。如果盘区非常大,虽然盘区大小不是I/O缓冲区大小倍数,也只需要很少附加读操作。创立其大小是操作系统I/O缓冲区大小倍数盘区。//===============================================================-3-123:50当撤除一种段时,其盘区就被加回可用自由盘区池中。必要时其她段可分派撤除盘区。如果使用一致盘区大小,Oracle就更有也许重新使用撤除盘区,因而更有效地运用表空间中空间。//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-56:34Oracle并不总是在主表外存储LOB数据。普通状况下,如果LOB数据不超过4KB长,就不在主表外存储LOB数据。//===============================================================-3-56:42当查询抽象数据类型属性时,必要使用该表名有关变量。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-712:32当创立同义词时,Oracle并不检查正为其创立同义词对象有效性。如果创立synonymxfory,Oracle将不检查该“y”与否是有效对象名或有效对象类型。只有通过同义词访问该对象时,才检查该对象通过同义词访问有效性。//===============================================================-3-712:34不能创立公共数据类型,也不能创立数据类型公共同义词。因而,需要引用数据类型拥有者,或者在每个能在数据库中创立表帐户之下创立这个数据类型。这两者都不是数据类型管理问题简朴解决办法。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-1217:47要撤除一种列,可使用altertable命令中setunused子句或drop子句。不能撤除伪列、嵌套表中列或分区键列。//===============================================================-3-1217:49如果撤除列是主键一某些或唯一约束,那么还必要使用cascadeconstraints子句作为altertable命令一某些。如果撤除一种属于主键列,Oracle就将同步撤除该列和该主键索引。//===============================================================第6章多数据库监控//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-1611:34对于数据库监控方式,必要考虑到它们特殊构造和用途。监控重点应当放在揭示系统执行中问题上,而不是放在跟踪问题征兆上。//===============================================================-3-1611:37监控重点应当放在揭示系统执行中问题上,而不是放在跟踪问题征兆上。扑灭宾馆中一场火灾会引起注重灭火装置。但这并不意味着这个宾馆后来就不会发生火灾。要弄清晰导致系统浮现问题症结;否则,只是看到问题表面现象,而依然留下潜在祸因。要避免这种DBA灭火模式,需要做好如下4点:相应用程序如何使用数据库要有定义完好合同。一种构造完美数据库。一套测定数据库状态度量原则。进行测量与决定发展趋势一种系统办法。//===============================================================-3-1611:40不但应当对表空间中当前可用自由空间进行监控,还应对可用空间变化趋势进行监控—当前可用自由空间比一星期前可用空间是多还是少。必要可以拟定当前空间分派效率及对将来预测。//===============================================================-3-1611:43当暂时段建立时,其存储参数不会因表空间缺省存储参数变化而变化。暂时段随需要而自我扩展,当操作完毕或遇到错误时就自行丢弃。//===============================================================-3-1611:44每一种发生在数据库内事务都包括着回滚段。它们使数据库能在多事务解决之间保持读一致性。可用回滚段数量和大小在数据库创立时由DBA拟定,但后来不能修改。//===============================================================-3-1611:45单独一种事务不能跨越各种回滚段。//===============================================================-3-1611:48数据库中每一种段均有一种容许最大盘区数量。自Oracle7.3起,可以规定段最大盘区数量不受限制。如果段最大盘区数量设立为不受限制,则可以由数据库块大小来决定盘区最大数量。对于一种2048字节块,段最多可达121个盘区;对4096字节块,盘区最大数量为249。//===============================================================-3-1611:50若要将pctincrease为0影响降至最低限度,可以在夜间运营一种脚本文献以合并表空间自由空间。//===============================================================-3-1611:51如果表空间pctincrease缺省值不是0,Oracle自动将相邻自由盘区合并为一种大盘区。但是自由盘区也许被其她数据盘区物理地分开,阻碍它们与其她自由盘区合并。//===============================================================//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-2115:23Oracle数据字典中值是近来一次对对象分析值,如果要得到当前状态,就需要对对象重新进行分析//===============================================================第7章回滚段管理/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-221:14SQLrollback命令使顾客能撤除对数据库所做事务。这种功能对任何update、insert或者delete事务均有效;但对数据库对象变动则无能为力(如altertable命令)。当选取其她顾客正在变化数据时,Oracle使用回滚段来展示变动前数据。//===============================================================-3-221:17第一种回滚段被称为SYSTEM,它存储在SYSTEM表空间中。接下来回滚段普通也在此外至少一种表空间中创立。//===============================================================-3-221:19回滚段条目(rollbacksegmententry)是“前”映像数据块集合,具有被一种事务修改数据行。每个回滚段条目必要完整地包括在回滚段内。一种回滚段可以支持各种回滚段条目。//===============================================================-3-221:25数据库按照循环(round-robin)方式,向产品回滚段分派回滚段条目。//===============================================================-3-221:27SYSTEM回滚段不会在init.ora文献中列出,并且SYSTEM回滚段不能被撤除;它总是同实例能获得其她回滚段一起被获取。//===============================================================-3-221:30可以用settransaction命令指定一种事务解决应使用回滚段。但应在实行大事务解决前使用这个命令,以保证这个事务解决使用为它们特别创立回滚段。//===============================================================-3-221:35一旦一种事务完毕,它数据不会从回滚段中删除。旧回滚数据保存在回滚段中,以便对提交前开始执行事务和查询提供服务。//===============================================================-3-221:45可以对回滚段进行收缩。可以用alterrollbacksegment命令中shrink子句,将回滚段收缩到想要大小。若没有指定收缩尺寸,回滚段将收缩到其optimal值。但不能把回滚段收缩到不大于两个盘区。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-231:02关闭数据库将会复位V$ROLLSTAT表中记录值。//===============================================================-3-231:25高效管理回滚段核心因素是使非激活、但正在被使用(IIU)条目数据至少。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-251:52Oracle建议每个回滚段含4个事务。//===============================================================-3-251:55回滚段optimal值必要适合事务量及管理事务所需系统开销。这种设计也应当能在一种盘区中解决大多数事务。因而,回滚段中事务数量应按盘区预计。每一种回滚段所需盘区数量为:每个回滚段盘区数=每盘区中小事务数+((长事务覆盖数+1)×平均长事务数)//===============================================================-3-251:58回滚段optimal值及optimal存储参数值为:optimal=(每回滚段最小数据盘区数+回滚段头盘区+未激活但正使用+自由空间盘区)×盘区尺寸//===============================================================-3-252:11当使用OracleImport实用程序时,它缺省功能是为每个表数据执行一次提交。要支持这一点,就需要有与该数据表同尺寸一种回滚段。//===============================================================-3-252:12数据装载事务必要指定给回滚段。可以使用settransactionuserollbacksegmentSEGMENTS_NAME;命令,或者除了只保存一种回滚段为激活状态外,使所有其她回滚段都变成非激活状态(在非峰值期)。使用本章前面提到V$ROLLSTAT查询来测量数据装载事务大小。//===============================================================-3-252:17若要为一种OLTP数据库配备回滚段,必要一方面拟定数据库中并发顾客数量。如果有一种数据库,就可以查询V$LICENSE视图Sessions_Highwater列,查看最后一次启动数据库以来达到最大并发顾客数量。selectsessions_highwaterfromv$license;//===============================================================-3-252:27以顾客为中心表设计不同于以理论为中心表设计,它将产生一种能较好满足顾客需求系统。设计选项涉及将一种表提成几种表,也同样涉及将几种表合并成一种表。重点应放在向顾客提供一种能按她们规定格式访问数据最直接途径。//===============================================================第8章数据库调节/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-260:59通过DBA_SOURCE视图中Text(文本)列,可以查看一种数据库中所有过程SQL文本。USER_SOURCE视图将显示顾客所拥有过程。这些视图引用SYS.SOURCE$表。由于这个表是数据字典一某些,因此过程代码就存储在SYSTEM表空间中。因而,如果使用这些对象,就必要保证给SYSTEM表空间分派更多空间—普通是它两倍。//===============================================================-3-261:01在大多数Oracle表中,每个行均有与行有关RowID(行标志)。RowID具关于于行物理位置信息(行文献、文献中数据块、数据块中行)。Oracle7和Oracle8中RowID格式截然不同。//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-3-2917:31若要分析一种模式中所有对象,可以使用DBMS_UTILITY软件包中ANALYZE_SCHEMA过程。下面例子中具有两个参数:模式名称和analyze选项(COMPUTE或ESTIMATE):executeDBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','COMPUTE');当执行上面例子中命令时,将使用analyze命令computestatistics选项对属于APPOWNER模式所有对象进行分析。//===============================================================-3-2917:34可以对一种表各个分区进行分析。例如,如果表TAB1有一种PART1分区,可以通过下列命令来分析该分区:analyzetableTAB1partition(PART1)computestatistics;//===============================================================-3-2917:45段类型涉及TABLE、INDEX、CLUSTER、ROLLBACK、TEMPORARY、DEFERREDROLLBACK和CACHE。//===============================================================-3-2918:50若启动SMON进程合并这些盘区,就应将表空间pctincrease值设为非零。在下面例子中,将DEMONDX表空间缺省存储参数pctincrease设为1:altertablespaceDEMONDXdefaultstorage(pctincrease1);若要手工合并表空间自由盘区,请使用altertablespace命令coalesce选项。altertablespaceDEMONDXcoalesce;//===============================================================/>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//===============================================================-4-218:04创立各种DBWR从进程

温馨提示

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

评论

0/150

提交评论