ORACLE数据库管理基础3.ppt_第1页
ORACLE数据库管理基础3.ppt_第2页
ORACLE数据库管理基础3.ppt_第3页
ORACLE数据库管理基础3.ppt_第4页
ORACLE数据库管理基础3.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

Oracle例程,目标,完成这一课的学习后,您应该能:创建和管理初始化参数文件启动和关闭例程监视和使用诊断文件,初始化参数文件,要启动一个例程,Oracle服务器必须读取初始化参数文件。,初始化参数文件,文件中的条目专用于要启动的例程有两种类型的参数:显式:文件中有一个条目隐式:文件中没有条目,但假定取Oracle缺省值可存在多个初始化参数文件对文件中条目的更改的生效时间,取决于使用的初始化参数文件类型静态参数文件PFILE永久参数文件SPFILE,初始化参数文件,Oracle服务器在启动例程时读取初始化参数文件。共有两种类型的初始化参数文件:静态参数文件PFILE,一般名为initSID.ora。永久参数文件SPFILE,一般名为spfileSID.ora。初始化参数文件内容:例程参数列表与该例程相关联的数据库的名称系统全局区(SGA)的内存结构的分配如何处理已满的联机重做日志文件控制文件的名称和位置有关撤消段的信息为在各种不同情况下优化性能,一个例程可有多个初始化参数文件。,初始化参数文件,使用OracleEnterpriseManager查看初始化参数从“OEM控制台”(OEMConsole):1.导航到“数据库”(Databases)“例程”(Instance)“配置”(Configuration)。2.从“常规”(General)页选择“全部初始化参数”(AllInitializationParameters)。,PFILEinitSID.ora,文本文件使用操作系统编辑器进行修改手动进行修改所作更改在下次启动时生效仅在例程启动过程中打开缺省位置为$ORACLE_HOME/dbs,PFILE,PFILE是可使用标准的操作系统编辑器进行维护的文本文件。PFILE在例程启动过程中是只读的。如果文件发生修改,则必须关闭然后重新启动例程以使新的参数值生效。缺省情况下,该文件位于$ORACLE_HOME/dbs目录中,文件名是initSID.ora。,创建PFILE,使用样本init.ora文件创建样本文件由OracleUniversalInstaller安装使用操作系统复制命令复制样本由数据库SID唯一标识修改initSID.ora编辑参数针对数据库要求,创建PFILE,样本init.ora文件由UniversalInstaller在安装过程中创建。该样本init.ora文件可用于创建特定于某一例程的initSID.ora。可使用文本编辑器修改initSID.ora文件中的参数。,PFILE示例,#InitializationParameterFile:initdba01.oradb_name=dba01instance_name=dba01control_files=(home/dba01/ORADATA/u01/control01dba01.ctl,home/dba01/ORADATA/u02/control01dba02.ctl)db_block_size=4096db_cache_size=4Mshared_pool_size=50000000java_pool_size=50000000max_dump_file_size=10240background_dump_dest=/home/dba01/ADMIN/BDUMPuser_dump_dest=/home/dba01/ADMIN/UDUMPcore_dump_dest=/home/dba01/ADMIN/CDUMPundo_management=AUTOundo_tablespace=UNDOTBS.,PFILE示例,以这样的格式指定值:keyword=value(关键字=值)。服务器为每个参数都设置了缺省值。根据参数的不同,缺省值可能与操作系统相关。可以按任意顺序指定参数,但也存在例外。注释行以#符号开头。参数中如果包括字符文字,可将参数用双引号括起。可以使用关键字IFILE使参数中包括其它文件。如果使用的操作系统区分大小写,那么文件名也区分大小写。如果有多个值,应该用圆括号将它们括起来,用逗号隔开。注:请为参数的列出顺序指定一个标准:按字母顺序列出或按功能进行分组。PFILE根据例程的不同而变化,不一定与上例相同。,SPFILEspfileSID.ora,二进制文件由Oracle服务器进行维护始终驻留在服务器端所做更改永久有效,不受关闭和启动的影响可以自行调节参数值使恢复管理器能够备份初始化参数文件,SPFILE,SPFILE是Oracle9i中新增的二进制文件。该文件不能手动修改,且必须始终驻留在服务器端。创建该文件后,即由Oracle服务器进行维护。如果进行手动修改,SPFILE将无效。SPFILE具有对数据库进行永久更改的功能,不受关闭和启动操作的影响,它还提供自动调节记录在文件中的参数值的功能。使用SPFILE,RMAN可以支持初始化参数文件的备份,因为SPFILE驻留在服务器端。缺省情况下,它位于$ORACLE_HOME/dbs目录中,缺省名称为spfileSID.ora。,创建SPFILE,从PFILE文件创建其中CREATESPFILE=$ORACLE_HOME/dbs/spfileDBA01.oraFROMPFILE=$ORACLE_HOME/dbs/initDBA01.ora;SPFILE-NAME:要创建的SPFILEPFILE-NAME:用于创建SPFILE的PFILE可在例程启动之前或之后执行,创建SPFILE,SPFILE是使用CREATESPFILE命令从PFILE文件创建的。该命令需要具有SYSDBA权限才能执行。该命令可在例程启动之前或之后执行。SQLCREATESPFILE=SPFILE-NAME2FROMPFILE=PFILE-NAME其中:SPFILE-NAME:要创建的SPFILE的名称PFILE-NAME:用于创建SPFILE的PFILE的名称。PFILE必须在服务器端可用如果在语法中未包括SPFILE-NAME和PFILE-NAME,Oracle将使用缺省PFILE来生成SPFILE(其名称由系统生成)。SQLCREATESPFILEFROMPFILE;,创建SPFILE(续),导出SPFILE:可将SPFILE的内容导出到PFILE中。SQLCREATEPFILEFROMSPFILE;以上命令在服务器端创建了一个文本文件格式的PFILE。该命令可在例程启动之前或之后执行。这样就提供了一种查看SPFILE并进行修改的简单方法:将SPFILE导出到PFILE编辑PFILE从编辑过的PFILE重新创建SPFILE将SPFILE导出到PFILE还可用作创建永久参数文件的备份的备用方法。注:使用Oracle9i,RMAN还可备份永久参数文件。V$SPPARAMETER如上所述,查看SPFILE内的参数设置时有几个选项。V$SPPARAMETER是显示和查看SPFILE的内容的另一种方法。,创建SPFILE,使用OracleEnterpriseManager创建SPFILE从OEM控制台:从主菜单选择“对象”(Object)“创建spfile”(Createspfile)。,创建PFILE,使用OracleEnterpriseManager导出SPFILE从OEM控制台:1.从主菜单选择“对象”(Object)“创建pfile”(Createpfile)。,SPFILE示例,*.background_dump_dest=/home/dba01/ADMIN/BDUMP*.compatible=9.0.0*.control_files=/home/dba01/ORADATA/u01/ctrl01.ctl*.core_dump_dest=/home/dba01/ADMIN/CDUMP*.db_block_size=4096*.db_name=dba01*.db_domain=world*.global_names=TRUE*.instance_name=dba01*.remote_login_passwordfile=exclusive*.java_pool_size=50000000*.shared_pool_size=50000000*.undo_management=AUTO*.undo_tablespace=UNDOTBS.,SPFILE示例,PFILE中的参数设置行上指定的注释保留在SPFILE中。所有其它注释都被忽略。尽管SPFILE中的文本在UNIX中易于查看,但SPFILE是一个二进制文件,对SPFILE进行手动修改将使之无效。如果需要查看SPFILE的特定内容或进行一些更改,可将SPFILE导出到PFILE。,STARTUP命令行为,优先顺序spfileSID.ora缺省SPFILEinitSID.ora缺省PFILE指定的PFILE可覆盖优先顺序STARTUPPFILE=$ORACLE_HOME/dbs/initDBA1.oraPFILE可指示要使用SPFILESPFILE=/database/startup/spfileDBA1.ora,STARTUP命令行为,优先顺序:使用命令STARTUP时,服务器端的spfileSID.ora用于启动例程。如果找不到spfileSID.ora,则使用服务器端的缺省SPFILE来启动例程。如果找不到缺省SPFILE,将使用服务器端的initSID.ora来启动例程。指定的PFILE可覆盖缺省SPFILE来启动例程。可在PFILE中包含一个定义以指示要使用SPFILE。这是在非缺省位置使用SPFILE启动例程的唯一方法。要使用非缺省位置的SPFILE启动数据库,必须在PFILE中指定SPFILE=。示例:SPFILE=$HOME/ADMIN/PFILE/$ORACLE_SID.ora。,修改SPFILE中的参数,使用ALTERSYSTEM更改参数值ALTERSYSTEMSETundo_tablespace=UNDO2;指定所做更改是临时的还是永久的ALTERSYSTEMSETundo_tablespace=UNDO2SCOPE=BOTH;删除或重置值ALTERSYSTEMRESETundo_suppress_errorsSCOPE=BOTHSID=*;,修改SPFILE中的参数,修改SPFILE中的参数ALTERSYSTEMSET命令用于更改例程参数的值。ALTERSYSTEMSETparameter_name=parameter_valueCOMMENTtextSCOPE=MEMORY|SPFILE|BOTHSID=sid|*其中parameter_name:要更改的参数的名称parameter_value:要将参数更改为的值COMMENT:添加在SPFILE中被更改的参数旁的注释SCOPE:确定应在内存中、在SPFILE中还是同时在这两个位置进行更改MEMORY:只能在当前运行的例程中更改参数值SPFILE:只能在SPFILE中更改参数值BOTH:在当前运行的例程和SPFILE中均可更改参数值SID:标识要使用的SPFILE的ORACLE_SIDsid:更改SPFILE时使用的特定SID*:使用缺省SPFILE,修改SPFILE中的参数,示例:SQLSHOWPARAMETERSundo_suppress_errorsNAMETYPEVALUE-undo_suppress_errorsbooleanFALSESQLALTERSYSTEMSETundo_suppress_errors=TRUE2COMMENT=temporarytestingSCOPE=BOTH3SID=DBA01;SQLSHOWPARAMETERSundo_suppress_errorsNAMETYPEVALUE-undo_suppress_errorsbooleanTRUEALTERSYSTEMRESET命令用于删除或还原为缺省值。SQLALTERSYSTEMRESETparameter_nameSCOPE=MEMORY|SPFILE|BOTHSID=sid|*,修改SPFILE中的参数,示例:SQLALTERSYSTEMRESETundo_suppress_errors2SCOPE=BOTHSID=dba01;从SPFILE中删除一个参数有以下几种方法:将参数重设为缺省值来模拟使用ALTERSYSTEMSET的删除操作。使用CREATESPFILEFROMPFILE重新创建SPFILE。使用ALTERSYSTEMRESET从SPFILE删除参数。,修改SPFILE中的参数,使用OracleEnterpriseManager修改SPFILE配置从OEM控制台:1.导航到“数据库”(Databases)“例程”(Instance)。2.单击“配置”(Configuration)。3.在“常规”(General)页上,单击“全部初始化参数”(AllInitializationParameters)。4.在参数值栏中修改参数。5.单击“确定”(OK)。,应在初始化参数文件中指定的参数,注:缺省值取决于Oracle服务器的版本。,常修改的参数,启动数据库NOMOUNT,启动数据库,启动数据库时,选择启动状态。下面将说明启动例程的各阶段的情况。启动例程(NOMOUNT):仅在创建数据库或重新创建控制文件过程中,例程才会在NOMOUNT阶段启动。启动例程包括下列任务:按以下顺序从$ORACLE_HOME/dbs读取初始化文件:首先读取spfileSID.ora如果找不到,则读取spfile.ora如果仍然找不到,则读取initSID.ora使用STARTUP指定PFILE参数以覆盖缺省行为。分配SGA启动后台进程打开alertSID.log文件和跟踪文件必须在初始化文件中使用DB_NAME参数对数据库命名,或使用STARTUP命令命名。,启动数据库MOUNT,加载数据库(MOUNT),若要执行特定的维护操作,可启动例程并加载数据库,但不要打开数据库。例如,在以下任务中必须加载数据库但不要打开数据库:重命名数据文件启用和禁用重做日志归档选项执行完全数据库恢复加载数据库包括以下任务:使数据库与以前启动的例程关联定位并打开参数文件中指定的控制文件读取控制文件以获取数据文件和重做日志文件的名称和状态。但是,在此时不进行数据文件和联机重做日志文件是否存在的检查。,打开数据库(OPEN),打开数据库(OPEN),正常的数据库操作指启动例程、加载数据库和打开数据库。通过正常的数据库操作,任何有效用户都可以连接到数据库并执行一般的数据访问操作。打开数据库包括以下任务:打开联机数据文件打开联机重做日志文件如果在尝试打开数据库时有任何数据文件或联机重做日志文件不存在,Oracle服务器将返回错误消息。在这个最后阶段中,Oracle服务器验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性。如果需要,系统监视(SMON)后台进程将启动例程恢复操作。,STARTUP命令,若要启动例程,请使用以下命令:STARTUPFORCERESTRICTPFILE=filenameOPENRECOVERdatabase|MOUNT|NOMOUNT(注:这不是完整的语法。)其中:OPEN:使用户能够访问数据库MOUNT:为某些DBA活动加载数据库,但不允许用户访问数据库NOMOUNT:创建SGA并启动后台进程,但不允许访问数据库PFILE=parfile:允许使用非缺省参数文件配置例程FORCE:执行正常启动之前终止运行的例程。RESTRICT:只允许具有RESTRICTEDSESSION权限的用户访问数据库。RECOVER:在数据库启动时开始进行介质恢复,自动启动数据库,在UNIX上:自动启动和关闭数据库可由特定的操作系统文件进行控制,例如,/var/opt/oracle目录下的oratab。注:有关详细信息,请参考您所用操作系统的安装指南。故障排除:如果在发出STARTUP命令时出现错误,则在再次发出STARTUP命令前必须先发出SHUTDOWN命令。注:STARTUP和SHUTDOWN命令都是SQL*Plus命令,而不是SQL命令,自动启动数据库,使用OracleEnterpriseManager启动数据库从OEM控制台:1.导航到“数据库”(Databases)“例程”(Instance)2.单击“配置”(Configuration)3.从“常规”(General)选项卡,选择“打开”(Open)选项。4.单击“应用”(Apply)。注:必须以SYSDBA权限连接到数据库才能执行启动操作。,ALTERDATABASE命令,将数据库状态从NOMOUNT更改为MOUNT:ALTERDATABASEdb01MOUNT;将数据库作为只读数据库打开:ALTERDATABASEdb01OPENREADONLY;,ALTERDATABASE命令,要将数据库从NOMOUNT更改为MOUNT阶段或者从MOUNT更改为OPEN阶段,请使用ALTERDATABASE命令:ALTERDATABASEMOUNT|OPEN若要防止数据被用户事务修改,可以以只读模式打开数据库。若要启动例程,请使用以下命令:ALTERDATABASEOPENREADWRITE|READONLY其中:READWRITE:以读写模式打开数据库,以便用户生成重做日志。READONLY:将用户限制为只能执行只读事务,防止用户生成重做日志信息。,以受限模式打开数据库,使用STARTUP命令限制对数据库的访问:STARTUPRESTRICT使用ALTERSYSTEM命令将例程置于受限模式:ALTERSYSTEMENABLERESTRICTEDSESSION;,以受限模式打开数据库,受限会话十分有用,例如,当执行结构维护或数据库导出和导入时。以受限模式启动数据库,这样,只有具有RESTRICTEDSESSION权限的用户才可以使用该数据库。使用ALTERSYSTEMSQL命令也可以将数据库设为受限模式:ALTERSYSTEMENABLE|DISABLERESTRICTEDSESSION其中:ENABLERESTRICTEDSESSION:仅允许具有RESTRICTEDSESSION权限的用户在以后登录DISABLERESTRICTEDSESSION:禁用RESTRICTEDSESSION以允许没有该权限的用户可以登录,以受限模式打开数据库,终止会话:将例程置于受限模式后,在执行管理任务前可能想终止所有当前用户会话。此操作可通过以下命令来实现:ALTERSYSTEMKILLSESSIONinteger1,integer2其中:integer1:V$SESSION视图中的SID列的值integer2:V$SESSION视图中的SERIAL#列的值注:会话ID和序列号用来唯一地标识会话。这样,即使用户注销身份并且新会话使用相同的会话ID,也可确保ALTERSYSTEMKILLSESSION命令能够应用于正确的会话。,以受限模式打开数据库,终止会话的影响:ALTERSYSTEMKILLSESSION命令一执行,将使后台进程PMON立即执行以下步骤:回退用户的当前事务释放所有当前持有的表或行锁定释放用户当前保留的所有资源,以受限模式打开数据库,使用OracleEnterpriseManager以受限模式打开数据库从OEM控制台:1.导航到“例程”(Instance)“配置”(Configuration)。2.选择“常规”(General)页。3.在“例程状态”(InstanceState),选择“关闭”(Shutdown)选项。4.选择“应用”(Apply)。5.出现“关闭选项”(ShutdownOptions)对话框。选择“立即”(Immediate)选项。6.选择“确定”(OK)。7.处理完成后,选择“关闭”(Close)。8.在“例程状态”(InstanceState)下,选择“打开”(Open)选项。9.选择“确定”(OK)。10.出现“启动选项”(StartupOptions)对话框。选择“只限访问数据库”(Restrictaccesstodatabase)选项。11.选择“确定”(OK)。12.处理完成后,单击“关闭”(Close),以只读模式打开数据库,以只读模式打开数据库此模式可用于:执行查询使用本地管理的表空间执行磁盘排序使数据文件(而不是表空间)脱机和联机执行脱机数据文件和表空间的恢复,以只读模式打开数据库,只要数据库尚未以读写模式打开,就能以只读模式打开。该功能对于备用数据库从生产数据库卸载查询处理尤其有用。如果查询需要使用临时表空间(例如,进行磁盘排序),当前用户必须将本地管理的表空间分配为缺省的临时表空间;否则查询会失败。对于用户SYS,需要有本地管理的表空间。注:后面的课程将讨论本地管理的表空间。只读模式不限制无需生成重做数据即可更改数据库状态的数据库恢复或操作。例如,在只读模式中:可使数据文件脱机和联机。可以执行脱机数据文件和表空间的恢复。磁盘在写入其它文件,如控制文件、操作系统审计线索、跟踪文件和警报日志文件时,可仍然保持只读模式。,使用OracleEnterpriseManager以只读模式启动数据库,从OEM控制台:1.导航到“例程”(Instance)“配置”(Configuration)。2.选择“常规”(General)页。3.在“例程状态”(InstanceState)下,选择“关闭”(Shutdown)选项。4.选择“应用”(Apply)。5.出现“关闭选项”(ShutdownOptions)对话框。选择“立即”(Immediate)选项。6.选择“确定”(OK)。7.处理完成后,选择“关闭”(Close)。8.在“例程状态”(InstanceState)下,选择“打开”(Open)选项。9.选择“确定”(OK)。10.出现“启动选项”(StartupOptions)对话框。选择“只读模式”(ReadOnlyMode)选项。11.选择“确定”(OK)。12.处理完成后,单击“关闭”(Close)。,关闭数据库,关闭模式:A=ABORTI=IMMEDIATET=TRANSACTIONALN=NORMAL,关闭数据库,关闭数据库这一操作将导致对所有物理结构进行操作系统脱机备份,并使修改过的静态初始化参数在重新启动后生效。要关闭例程,必须使用以下命令以SYSOPER或SYSDBA身份进行连接:SHUTDOWNNORMAL|TRANSACTIONAL|IMMEDIATE|ABORT,关闭选项,关闭选项,正常关闭:“正常”是缺省的关闭模式。正常的数据库关闭在下列情况下进行:未建立新连接。Oracle服务器等待所有用户断开后才完成关闭。数据库和重做缓冲区中的内容已写入磁盘。后台进程已终止,SGA已从内存中删除。Oracle在关闭例程前将关闭并卸装数据库。下一次启动将不要求例程恢复。,关闭选项,事务处理关闭:事务处理关闭防止客户机丢失工作。事务处理数据库关闭在下列情况下进行:没有客户机可以在此特定例程上启动新事务。当客户机结束正在进行的事务时,断开客户机。当所有事务都已完成后立即关闭。下一次启动将不要求例程恢复。,关闭选项,立即关闭:立即关闭数据库在下列情况下进行:由Oracle处理的当前SQL语句未完成。Oracle服务器不等待当前连接到数据库的用户断开。Oracle回退活动的事务并断开所有连接的用户。Oracle在关闭例程前将关闭并卸装数据库。下一次启动将不要求例程恢复。,关闭选项,关闭选项,关闭中止:如果“正常”和“立即关闭”选项不起作用,可以中止当前数据库例程。中止例程在下列情况下进行:Oracle服务器所处理的当前SQL语句被立即终止。Oracle不等待当前连接数据库的用户断开。数据库和重做缓冲区中的内容不写入磁盘。未提交的事务不回退。在不关闭文件的情况下例程被终止。数据库不关闭或被卸装。下次启动要求恢复例程,该操作将自动进行。注:建议您不要备份处于不一致状态的数据库。,关闭选项,从OEM控制台:1.导航到“数据库”(Databases)“例程”(Instance)2.单击“配置”(Configuration)3.从“常规”(General)选项卡,选择“打开”(Open)选项。4.单击“应用”(Apply)。注:必须以SYSDBA权限连接到数据库才能执行关闭操作。,使用诊断文件监视例程,诊断文件包含有关出现的重要事件的信息用于解决问题用于更好地进行数据库的日常管理共有以下几种类型:alertSID.log文件后台跟踪文件用户跟踪文件,使用诊断文件监视例程,诊断文件是获取有关数据库活动的信息的一种方法。同时也是管理例程的有用工具。诊断文件有几种类型。创建的诊断文件的类型取决于出现的问题或需要传播的信息。alertSID.log文件:记录数据库日常操作的信息后台跟踪文件:记录SMON、PMON、DBWn和其它后台进程失败时产生的重要信息用户跟踪文件:记录出现严重用户错误或用户强制执行跟踪文件时产生的重要信息,警报日志文件,alertSID.log文件:记录命令记录主要事件结果用于记录日常操作信息用于诊断数据库错误每个条目都带有与之相关联的时间戳必须由DBA进行管理存储位置由BACKGROUND_DUMP_DEST定义,警报日志文件,每个Oracle例程都有一个警报日志文件。如果该文件尚未创建,将在例程启动过程中进行创建。警报日志文件由您进行管理,并随着数据库的继续运行而不断增长。诊断日常操作或错误时,应该首先查看警报日志文件。警报日志文件还包含指向跟踪文件的指针,从而可获得更详细的信息。警报日志文件记录了以下信息:数据库启动或关闭的时间所有非缺省初始化参数的列表后台进程的启动例程使用的线程正在向其中写入信息的日志序列号LGWR有关日志切换的信息表空间的创建和撤消段已发

温馨提示

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

评论

0/150

提交评论