五章 Oracle数据库管理_第1页
五章 Oracle数据库管理_第2页
五章 Oracle数据库管理_第3页
五章 Oracle数据库管理_第4页
五章 Oracle数据库管理_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

Oracle数据库管理第5章Oracle9i关系数据库本章内容容5.1Oracle数据库管管理简介介5.2创建、启启动和关关闭Oracle数据库5.3管理表空空间5.4管理Oracle数据文件件5.5管理重做做日志文文件5.6管理Oracle数据据库对象象5.7Oracle的的数据字字典5.8使用OEM管理数据据库一、Oracle数据库管管理内容容1.数据库设设计成功的数数据库设设计意味味着数据据库能够够存储所所有必需需的数据据,而且且其存储储方式保保证了快快速地保保存、提提取、编编辑、删删除数据据。有许许多因素素影响数数据库设设计是否否成功::数据库库规范化化,索引引,运用用存储过过程和触触发器等等。5.1Oracle数据库管管理简介介2.数据库库配置每一种数数据库管管理系统统都有各各种影响响其性能能的配置置参数,,其中部部分参数数比较重重要。Oracle系统的配配置参数数可以在在init.ora中找到,,正确地地设置这这些参数数将对数数据库性性能产生生积极影影响。3.硬件环境境(1)硬盘空空间磁盘空间间不足导导致一个个很直接接的结果果:操作作系统将将拒绝继继续运行行程序。。程序、、数据库库、操作作系统可可能会在在操作遇遇到磁盘盘空间不不足问题题时发出出警报。。临时工工作区、、虚拟内内存的磁磁盘空间间不足却却属于隐隐藏的危危险。这这些问题题的主要要症状就就是数据据库处理理所需要要的时间间越来越越长,有有时甚至至根本不不能完成成。(2)内存如果没有有足够的的内存,,操作系系统、应应用程序序、数据据库将把把部分操操作转移移到磁盘盘上进行行,从而而拖累了了整个系系统的性性能。解解决方法法是在合合理的范范围内安安装尽可可能多的的内存,,可以用用操作系系统自带带的工具具检查系系统的内内存使用用情况,,页故障障、缓存存命中率率、分页页数等其其他相关关的项目目。(3)网络传传输能力力网络传输输能力属属于第三三个硬件件问题。。如果系系统在每每天的固固定时间间基本上上停止响响应(不不管数据据库访问问情况如如何),,它可能能是一个个网络问问题。其他需要要检查的的硬件因因素包括括处理器器速度,,包括客客户机以以及服务务器、处处理器数数量(Oracle支持多处处理器并并行处理理),以以及数据据库分布布。4.Oracle数据库管管理工具具数据库管管理员通通常运用用多种工工具简化化管理任任务。Oracle提供了简简单集成成的DBA工具。如如EnterpriseManager。对于初初学者而而言,使使用工具具更加直直观,简简单,并并且可以以完成数数据库管管理的大大多数日日常工作作,同样样,还可可以在SQL**Plus之类的工工具中,,通过输输入命令令获取信信息、优优化系统统。对很很多Oracle的数据库库管理员员来说,,仍喜欢欢这种““手工””工作方方式,提提供的功功能更加加全面灵灵活,当当然对数数据库管管理员的的要求相相对也较较高。另另外操作作系统提提供的管管理工具具“系统统监视器器”(在在Windows2000中是“性性能监视视器”))也是非非常实用用的。系系统监视视器显示示了系统统负载以以及其他他几个性性能指标标,例如如错误页页数等,,可以通通过它来来了解系系统性能能优化的的效果。。二、数数据库管管理员的的基本职职责安装和升升级数据据库服务务器,以以及应用用程序工工具。数据库设设计系统统存储方方案,并并制定未未来的存存储需求求计划。。创建基于于应用系系统数据据库存储储结构。。创建基于于应用系系统数据据库对象象。根据应用用需求,,修改数数据库的的结构。。登记数据据库的用用户,维维护数据据库的安安全性。。控制和监监控用户户对数据据库的存存取访问问。监控和优优化数据据库的性性能。制定数据据库备份份计划,,备份和和恢复数数据库。。联系数据据库系统统的生产产厂商,,跟踪技技术信息息。保证数据据库的使使用符合合知识产产权相关关法规。。一、创建建Oracle数据库前前的准备备1.运行环境境(1)计算机机上必须须要有足足够的磁磁盘存储储空间来来执行Oracle。(2)有足够够可用的的内存来来启动Oracle实例。(3)Oracle软件已被被安装并并正确设设置了各各种必要要的环境境参数,,获得足足够的操操作系统统权限来来创建或或打开数数据库前前启动和和关闭一一个实例例。并为为软件和和数据库库文件建建立目录录结构。5.2创建、启启动和关关闭Oracle数据库

2.新建数数据库的的功能和和结构规规划新建数据库的的规划包包含以下下几个方方面的内内容:(1)估算数数据库所所需的空空间大小小。可以以依据数数据库中中将要包包含的表表、索引引等对象象的结构构大小和和记录数数量做出出大致的的估算。。(2)确定数数据库文文件的存存放方式式。结合合数据库库运行时时的特点点来考虑虑它们在在硬盘中中的存放放位置。。采用单单磁盘还还是硬盘盘阵列存存储,通通过合理理规划数数据文件件的存放放位置,,可以有有效地均均衡硬盘盘IO操作,使使数据库库的物理理性能得得到较大大改善。。(3)熟悉与与创建数数据库过过程相关关的初始始化参数数。保证证新建数数据库的的优良性性能。(4)决定新新数据库库的全局局数据库库名。全全局数据据库名是是一个Oracle数据库在在网络中中的惟一一标识,,是数据据库最为为重要的的属性。。在确定定全局数数据库的的同时,,也确定定了数据据库名和和系统标标识SID。

二、创建建Oracle数据库1、使用DBCA创建数据据库DBCA中提供了了四种类类型的数数据库模模板以适适用于不不同的应应用环境境。①DataWarehousing——应用于数数据仓库库环境,,即决策策支持系系统(DSS);该环环境中的的数据库库必须处处理大量量的复杂杂查询,,这些复复杂查询询将涉及及到数据据库中大大量的表表和记录录,并且且大部分分查询都都是只读读的,因因此,数数据库性性能主要要取决于于响应时时间、准准确性以以及可用用性。②TransactionProcessing——应用于联联机事务务处理((OLTP)环境;;该环境境中的数数据库每每天必须须处理来来自许多多并发用用户的成成千乃至至上百万万的事务务,用户户必须能能够快速速访问到到最新数数据,因因此,数数据库的的性能取取决于数数据吞吐吐性能((速度))、并发发性以及及可恢复复性。③GeneralPurpose——应用于同同时具有有DSS和OLTP特性的数数据库。。④NewDatabase——应用该模模板能够够以自定定义方式式创建新新数据库库,用户户可以对对各项参参数进行行灵活的的设置。。

2、使用SQL**Plus脚本创建建数据库库对于熟悉悉DBA命令的用用户,使使用SQL**Plus语句创建建数据库库会更加加灵活方方便,下下面介绍绍创建数数据库的的CREATEDATABASE语句,语语句格式式如下::CREATEDATABASE[[database--name][CONTROLFILERESUSE]LOGFILE[GROUPn]]file-name[[,,[GROUPn]]file-ame]]…][MAXLOGFILESn][MAXLOGMEMBERSn][MAXLOGHISTORYn][MAXDATAFILESn]][INSTANCESn]][ARCHIVELOGNOARCHIVELOG]][CHARACTERSETcharset-name]][DATAFILEfile-name[autoextend][,,…1]]三、启动动Oracle数据库(1)startupnomount(2)startupmountdbname(3)startupopendbname(4)startup(5)startuprestrict(6)startupforce(7)startuppfile=参数文件件名四、关闭闭Oracle数据库(1)shutdownnormal(2)shutdownimmediate(3)shutdownabort一、创建建表空间间如下三类类SQL语句能够够创建表表空间::(1)CREATETABLESPACE:创建一一般的表表空间。。(2)CREATETEMPORARYTABLESPACE:创建临临时表空空间。(3)CREATEUNDOTABLESPACE:创建撤撤销表空空间。5.3管理表空空间CREATETABLESPACE命令的语语法如下下:CREATETABLESPACEtablespacenameDATAFILEfilename[[autoexetendclause]][,…][MININUMEXTENTintegerK/M|BLOCKSIZEintegerK|{LOGGING|NOLOGGING}|DEFAULTstorageclause|{ONLINE||OFFLINE}|{PERMANENT||TEMPORARY}|extent__management_clause|segment_management__clause];二、更改改表空间间更改表空空间的SQL语句为ALTERTABLESPACE语句。操操作者必必须具有有ALTERTABLESPACE系统特权权,该语语句语法法如下::ALTERTABLESPACEtablespacename……三、删除除表空间间DROPTABLESPACE的基本语语法如下下:DROPTABLESPACEtablespacename[INCLUDINGCONTENTS[ANDDATAFILES]][[CASCADECONSTRAINTS]]]四、查看看表空间间信息(1)V$TABLESPACE:从控制制文件得得到的所所有的表表空间的的名称和和数量。。(2)DBA__TABLESPACES,USER_TABLESPACES:描述了了所有表表空间。。(3)DBA__SEGMENTS,USER_SEGMENTS:在所有有表空间间内的段段信息。。(4)DBA__EXTENTS,USER_EXTENTS:在所有有表空间间内的数数据范围围的信息息。(5)DBA__FREE_SPACE,USER_FREE__SPACE:在所有有表空间间内的空空闲范围围的信息息。(6)V$DATAFILE:所有的的数据文文件的信信息,包包括拥有有表空间间的数量量。(7)V$TEMPFILE:所有的的临时文文件信息息,包括括拥有表表空间的的数量。。(8)DBA__DATA_FILES:显示文文件(数数据文件件)属于于哪个表表空间。。(9)DBA__TEMP_FILES:显示文文件(临临时文件件)属于于哪个临临时表空空间。(10)V$TEMP__EXTENT_MAP:本地管管理的临临时表空空间中所所有的范范围信息息。(11)V$TEMP__EXTENT_POOL:对本地地管理的的临时表表空间而而言,该该视图显显示临时时空间缓缓冲的状状态以及及由实例例使用的的临时空空间缓存存。(12)V$TEMP__SPACE__HEADER:显示每每个临时时文件的的已用/空闲空间间。(13)DBA__USERS:所有的的用户的的缺省和和临时表表空间。。(14)DBA__TS__QUOTAS:所有的的用户的的表空间间限额。。(15)V$SORT__SEGMENT:给定实实例中每每排序段段信息。。此视图图只有当当表空间间为临时时类型时时才更新新。(16)V$SORT__USER:由用户户和临时时/永久表空空间使用用的排序序空间。。一、管理理策略在管理数数据文件件前,应应先注意意以下事事项:(1)数据文文件的数数量和大大小受条条件限制制。(2)合理放放置数据据文件的的位置。。5.4管理Oracle数据文件件二、建立立和增加加Oracle数据文件件通过在表表空间中中建立和和增加数数据文件件,可以以增加数数据库的的磁盘空空间总数数。执行行该语句句的用户户必须具具有ALTERTABLESPACE系统权限限。SQL语句为::ALTERTABLESPACEtablenameADDDATAFILEfilenameSIZEnewsize;;三、改变变Oracle数据文件件大小1.数据文文件大小小的自动动扩展想使得数数据库文文件大小小可以自自动扩展展,可以以在CREATEDATABASE,CREATETABLESPACE,ALTERDATABASE语句建立立数据文文件时指指定数据据文件自自动扩展展。取消数据据文件大大小的自自动扩展展功能可可用以下下语句::ALTERDATABASEDATAFILE’E:\\oracle\oradata\\text02.dbf’AUTOEXTENDOFF;2.用手动动方法来来改变数数据文件件的大小小可以通过过带有RESIZE子句的ALTERDATABASE语句来手手工地增增加或减减少使用用的数据据文件的的大小。。例如如,利用用下面的的语句可可以将数数据文件件text02..dbf增大为600MB:ALTERDATABASEDATAFILE‘E:\\oracle\oradata\\text02.dbf’RESIZE600M;;四、设置置Oracle数据文件件的使用用状态(1)使指定定的数据据文件联联机的语语句:ALTERDATABASEDATAFILEfilenameONLINE;(2)使指定定的数据据文件脱脱机的语语句:ALTERDATABASEDATAFILEfilenameOFFLINE;五、查看看Oracle数据文件件信息下列数据据字典视视图可以以查看Oracle数据库的的数据文文件信息息:(1)DBA__DATA__FILES:数据文文件提供供的描述述信息,,包括它它属于的的表空间间和文件件标识。。文件标标识可以以被用来来与其他他视图连连接以查查看更详详细的信信息。(2)DBA__EXTENTS与USER_EXTENTS:DBA__EXTENTS:描述在在数据库库组成所所有的段段(Segments)的范围围(Extents)。包含含那些包包含了范范围的数数据文件件的文件件标识。。(3)USER_EXTENTS:描述属属于当前前的用户户的对象象的段的的范围。。(4)DBA__FREE__SPACE和USER_FREE_SPACE:DBA__FREE__SPACE视图列出出了在所所有表空空间的空空闲范围围。它包包括包含含了范围围的数据据文件的的文件,,标识。。USER_FREE_SPACE视图包含含当前用用户的空空闲范围围。(5)V$DATAFILE:控制文文件中包包含的数数据文件件的信息息。(6)V$DATAFILEHEADER:数据文文件头中中包含信信息。一、管理理策略1.使用复合合重做日日志文件件建立复合合重做日日志文件件后,LGWR进程将同同步地写写入位于于同一个个重做日日志组中中的相互互镜像的的多个成成员日志志文件。。因此即即使由于于某个单单独的日日志文件件破坏或或丢失,,数据库库的运行行和恢复复都不会会受到任任何影响响。5.5管理重做做日志文文件

2.合理设设置重做做日志文文件的大大小和数数量在设置重重做日志志文件的的大小时时,除了了需要考考虑到数数据库运运行特性性的要求求外,还还需要考考虑存储储归档日日志的物物理设备备的特性性,使存存储空间间不致不不足或由由于略大大小日志志文件造造成浪费费。尽量使用用最少的的重做日日志文件件,但是是能够保保证LGWR进程永不不出现等等待状态态。二、创建建重做日日志组和和成员的的日志文文件1.创建重做做日志组为数据库库创建新新的重做做日志组组,需要要使用带带有ADDLOGFILE子句的ALTERDATABASE语句。例例如,利利用下面面的语句句可以为为数据库库添加一一个新的的重做日日志组::ALTERDATABASEADDLOGFILE('I::\Oracle\ORADATA\ORADB01\\redo1201..rdo',‘I:\\Oracle\ORADATA\\ORADBO1\redo1202.rdo'')SIZE100M;

2.创建成成员日志志文件为重做日日志组添添加新的的成员,,需要使使用带有有ADDLOGFILEMEMBER子句的ALTERDATABASE语句。例例如,利利用下面面的语句句可以为为3号重做日日志组添添加一个个新的成成员日志志文件::ALTERDATABASEADDLOGFILEMEMBER'I:\\Oracle\ORADATA\\ORADB01\redo1220.log''TOGROUP3;;三、删除除重做日日志组和和成员的的日志文文件1.删除重做做日志组组删除一个个重做日日志组时时,其中中的成员员日志文文件将都都被删除除。例如如,利用用下面的的语句可可以删除除3号重做日日志组::ALTERDATABASEDROPLOGFILEGROUP3;在执行上上述语句句后,只只是在数数据字典典和控制制文件中中将重做做日志组组的记录录信息删删除,并并不会删删除操作作系统中中的相应应文件。。因此,,在确认认删除操操作成功功后,DBA需要手工工将相应应的操作作系统文文件删除除。

2.删除成成员日志志文件如果存放放某个成成员日志志文件的的硬盘发发生物理理损坏,,为了防防止Oracle继续尝试试写入己己经损坏坏的重做做日志文文件,则则需要将将它从重重做日志志组中删删除。例例如,利利用下面面的语句句可以删删除3号重做日日志组的的第2个成员::ALTERDATABASEDROPLOGFILEMEMBER‘I:\oracle\oradata\oradbOl\redo1220.log’’;同样在执执行上述述语句后后,只是是在数据据字典和和控制文文件中重重做日志志成员的的记录信信息删除除,并不不会删除除操作系系统中的的相应文文件。四、清空空重做日日志组清空重做日日志文件件相当于于删除该该重做日日志文件件,然后后再重新新建立它它。它可可以在不不关闭数数据库的的情况下下,手工工清空损损坏的重重做日志志文件中中的内容容,以避避免出现现数据库库停止运运行的情情况。清空一个重重做日志志组时,,将同时时清空该该组中的的所有成成员日志志文件。例如,利用下下面的语语句可以以清空3号重做日日志组:ALTERDATABASECLEARLOGFILEGROUP3;;

五、查询询重做日日志文件件信息包含有重重做日志志文件信信息的数数据字典典视图和和动态性性能视图图主要有有:(1)V$LOG:包含从从控制文文件中获获取的所所有重做做日志文文件的基基本信息息。(2)V$LOGFILE:包含各各个成员员日志文文件的信信息,例例如成员员的状态态和所属属的重做做日志组组。(3)V$LOG_HISTORY:包含关关于重做做日志文文件的历历史信息息。例如:要要获取数数据库中中所有重重做日志志组的基基本信息息,可以以查询V$LOG视图,使使用如下下的命令令语句::SELECT**FROMV$$LOG;一、管理理表1.表的建立立例如:创创建test表空间上上的region表。CREATETABLEtest.region((OFFICE­­_NUMNUMBER((3,0)NOTNULL,REGION__CODENUMBER((8,0)NOTNULL,REGION__NAMEVARCHAR2(20)NOTNULL));5.6管理Oracle数数据库对对象2.表的修改改例如:修修改region表结构,,增加名名称为DESC的字段。。ALTERTABLEtest.region(ADDDESCVARCHAR2(30));;3.表的删删除例如:删删除引用用该表的的其它表表的完整整性约束束。DROPTABLEtest.regionCASCADECONSTRAINTS;二、管理理视图1.视图的建建立例如:建建立一个个视图用用来查询询teacher和lib表中的相相关信息息。CREATEVIEWreader__viewASSELECTteacher.id,,,lib.booksFROMteachert,liblwheret.id=l..id;;2.视图的替替换REPLACEVIEWreader_viewASSELECTteacher.id,,,lib.booksFROMteachert,liblwheret.id=l..id;;3.视图图的删除除DROPVIEWtest.pole_well__view;三、管理理索引1.索引的建建立例如:在在test.Region表中的region__name列上创建建一个名名为test.idx_region的索引。CREATEINDEXtest.idx__regionONregion((region_name)TABLESPACEtest;;2.索引的修修改ALTERINDEXtest.idx_regionONregion((office_num,,region_name))3.索引引的删除除DROPINDEXtest..idx_region;四、管理理触发器器Oracle允许定义义过程,,当对相相关的表表作INSERT、UPDATE或DELETE语句时,,这些过过程被隐隐式地执执行,称称为数据库触触发器。过程与触触发器差差别在于于调用方方法:过过程由用用户或应应用显式式执行;;而触发发器是为为一激发发语句((INSERT、UPDATE、DELETE)发出,,由Oracle隐式地触触发。一般触发发器用于于:自动地生生成导出出列值。防止无效效事务。实施复杂杂的安全全审核。在分布式式数据库库中实施施跨结点点的引用用完整性性。实施复杂杂的事务务规则。提供透明明的事件件记录。提供高级级的审计计。维护同步步的表副副本。收集表存存取的统统计信息息。五、数据据的完整整性数据库数据的完完整性指数据的的正确性性和相容容性。数数据完整整性检查查防止数数据库中中存在不不符合语语义的数数据。完整性约约束是对表的的列定义义一组规规则说明明方法。。Oracle提供如下下的完整整性约束束:(1)NOTNULL:非空;;(2)UNIQUE:唯一关关键字;;(3)PRIMARYKEY:主键,,一个表表只能有有一个,,非空;;(4)FOREIGNKEY:外键;;(5)CHECK:表的每每一行对对指定条条件必须须是true或未知((对于空空值)。。5.7Oracle的的数据字字典Oracle的数据字字典是数数据库的的重要组组成部分分之一,,它随着着数据库库的产生生而产生生,随随着数据据库的变变化而变变化,体体现为sys用户下的的一些表表和视图图。数据据字典名名称是大大写的英英文字符符。数据字典典里存有有用户信信息、用用户的权权限信息息、所有有数据对对象信息息、表的的约束条条件、统统计分析析数据库库的视图图等。数数据字典典里的信信息不能能手工修修改。

可以通过过查询语语句知道道数据字字典的详详细名称称和解释释。相关关的表有有:(1)dictionary:全部数据据字典表表的名称称和解释释,它有有一个同同义词dict。(2)dict_column:全部数据据字典表表里字段段名称和和解释。例如:如如果想知知道user_indexes表各字段段名称的的详细含含义,可可以用下下面这条条SQL语句:selectcolumn__name,commentsfromdict_columnswheretable_name='USER__INDEXES';;1.用户信息息(1)查查看当前前用户的的缺省表表空间selectusername,,default_tablespacefromuser_users;(2)查查看当前前用户的的角色select**fromuser__role_privs;(3)查查看当前前用户的的系统权权限和表表级权限限select**fromuser__sys_privs;select**fromuser__tab_privs;2.表信息(1)查查看用户户下所有有的表select**fromuser__tables;(2)查查看名称称包含log字字符的表表selectobject_name,,object_idfromuser_objectswhereinstr(object__name,''LOG')))0;(3)查查看某表表的创建建时间selectobject_name,,createdfromuser__objectswhereobject__name=upper(''&table_name'');(4)查查看某表表的大小小selectsum(bytes)/((1024*1024)as““size(M)”fromuser_segmentswheresegment__name=upper(''&table_name'');(5)查查看放在在Oracle的内存存区里的的表selecttable__name,cachefromuser__tableswhereinstr(cache,''Y'))=0;;3.索引信息息(1)查查看索引引个数和和类别selectindex__name,index_type,table_namefromuser_indexesorderbytable_name;(2)查查看索引引被索引引的字段段select**fromuser__ind_columnswhereindex_name=upper('&&index__name'));(3)查查看索引引的大小小selectsum(bytes)/((1024*1024)as""size(M)"fromuser_segmentswheresegment__name=upper(''&index_name'');4.序列号信信息查看序列列号,last_number是当前值值。select**fromuser__sequences;5.视图信息息(1)查查看视图图的名称称selectview_namefromuser_views;(2)查查看创建建视图的的select语句setview_name,text__lengthfromuser_views;

温馨提示

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

最新文档

评论

0/150

提交评论