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

下载本文档

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

文档简介

第四章管理Oracle实例(1)实例(instance)是一组Oracle后台进程和内存结构(SGA)的集合。后台进程主要包括SMON、PMON、DBWR、CKPT和LGWR等;而其内存结构则包括数据缓冲区、重做日志缓冲区、共享池,它们合称为系统全局区(SGA)。(2)OracleServer是由实例和数据库组成的。我们已经知道数据库实际上就是三种物理文件:控制文件、数据文件和联机重做日志文件。(3)一个实例只能访问一个数据库,而一个数据库可以由多个实例同时访问。(4)启动数据库时将在内存中创建与该数据库所对应的实例。实例是通过初始化参数control_files与数据库建立关联的。该参数用于指定数据库的控制文件名,控制文件中又指出了数据文件和联机重做日志文件的名称和位置。4.1Oracle用户身份份认证在数据库库创建之之后,只只有具有有合法身身份的用用户才能能够访问问数据库库。用户身份份认证方方式有((1)操作系系统认证证、(2)口令认认证和((3)数据库库服务器器认证三三种方式式。数据库服服务器的的认证方方式需要要每个连连接到Oracle的用户都都在数据据库中有有一个账账户,但这些些帐户的的信息都都保存在在数据库库内部,,在打开数数据库之之前,不不能使用用这些信信息来对对用户进进行身份份认证。。因此在执执行如启启动实例例、加载载和打开开数据库库等操作作时(这些操作作数据库库还没打打开)就不能能使用数数据库服服务器的的认证方方式,只只能使用用操作系统统和口令令认证方式。具体选用用哪种认认证方式式主要取取决于两两个因素素:用户户的操作作是在本本地进行行还是通通过网络络进行。。如果需要要在本地地执行管管理操作作,或通通过网络络进行,但是有安安全的网网络连接接,可以以使用操操作系统统认证方方式。如果需要要从其它它计算机机上远程程执行数数据库管管理操作作,而又又没有安安全的网网络连接接,就只只能使用用口令文文件认证证的方式式。在口令文文件认证证方式下下,Oracle使用用口令文文件来对对具有SYSDBA或或SYSOPER权限限的用户户进行身身份认证证。在操作系系统认证证方式下下,由操操作系统统的安全全机制来来对具有有SYSDBA或SYSOPER权权限的用用户进行行身份认认证。4.1..1特特殊系系统权限限:SYSDBA和SYSOPER在Oracle中,有有两个特特殊的系系统权限限:SYSDBA和和SYSOPER,它它们包含含了一些些最基本本的管理理操作权权限。1。SYSDBA权限限可执行行的操作作(1)使使用STARTUP或或SHUTDOWN语语句启动动或关闭闭数据库库与实例例(2)使使用ALTERDATABASE语句执执行打开开、卸载载、备份份数据库库等操作作。(3)使使用CREATEDATABASE语句句以手工工方式创创建数据据库。(4)对对数据库库进行归归档或恢恢复。(5)具具有RESTRICTEDSESSION权权限,可可以在受受限状态态下连接接数据库库。2。SYSOPER权权限可执执行的操操作(1)使使用STARTUP或或SHUTDOWN语语句启动动或关闭闭数据库库与实例例。(2)使使用CREATESPFILE语语句创建建服务器器端初始始化参数数文件。。(3)使使用ALTERDATABASE语句执执行打开开、卸载载、备份份数据库库等操作作。(4)对对数据库库进行归归档或恢恢复。(5)具具有RESTRICTEDSESSION权权限,可可以在受受限状态态下连接接数据库库。注意:(1)具具有SYSDBA和SYSOPER系统权权限用户户,能够够在不打打开数据据库的情情况下直直接访问问实例,,可见他他们的身身份认证证是与数数据库完完全无关关的。(2)用用户在使使用SYSDBA或SYSOPER权限连连接实例例时,实实际上并并不是进进入到用用户所属属的模式式中,而而是进入入默认的的模式。。对于SYSDBA来来说是SYS模模式,对对于SYSOPER来来说是PUBLIC模模式。4.1..2操作系统统认证方方式(1)如果需需要在本本地执行行管理操操作,或或者可以以通过安安全网络络连接来来执行远远程管理理操作,,则可以以使用操操作系统统认证方方式。(2)Oracle可以利用用运行数数据库的的WindowsNT/2000操作系统统来验证证用户身身份。在在操作系系统认证证方式下下,当用用户试图图建立到到Oracle服务器的的连接时时,Oracle服务器不不会向用用户要求求用户名名和口令令,而是是从操作作系统中中获得用用户的登登录信息息。在操作系系统认证证方式下下,Oracle在操操作系统统中创建建一个特特殊的用用户组((ORA_DBA),,所有属属于这个个组的用用户都将将被授予予SYSDBA或SYSOPER权权限。如如果登陆陆到操作作系统中中的用户户属于这这个组,,他将自自动具有有SYSDBA或SYSOPER权权限,因因此,当他试图图建立到到Oracle服务器的的连接时时,就不不必再提提供用户户名和口口令,也也不需要要在数据据库中创创建相应应的用户户帐户。。所有的的用户认认证工作作都由操操作系统统本身来来完成,,不需要要在数据据库中保保存任何何相关的的信息。。用操作系系统认证证方式的的步骤如如下:(1)在在WindowsNT//2000的计计算机管管理中,,添加一一个用户户如abc,将将其加入入ora_dba组。。(2)注注销系系统,以以abc用户登登录。(3)然然后输输入以下下命令c:\>>sqlplus//nologsql>>connect//assysdba或sql>>connect//assysoper这样abc用户就以以sysdba或sysoper的角色登登录Oracle了。不过过这时abc实际上是是以sys模式连接接到数据据库中的的。

注意:(1)操作系统统验证,,要将初初始化参参数remote__login__passwordfile设置为none。(2)如果不是是ora_dba组,则使使用connect/assysdba命令时会会出现权权限不足足的情况况,另外外要把Oracle服务启动动,TNSLISTERNER可以不启启动4.1..3用用口口令文件件认证在口令文文件认证证方式下下,具有有SYSDBA和SYSOPER权权限的用用户被记记录在一一个经过过加密处处理的口口令文件件中,这这个口令令文件保保存有SYS用用户的口口令,并并利用SYS用用户的口口令来访访问数据据库。口令文件件是一个个操作系系统文件件,它被被存储在在服务器器中(不不是数据据库中))。当用用户连接接数据库库时,Oracle使使用口令令文件对对用户的的身份进进行认证证。Oracle数据据库在运运行过程程中将参参与口令令文件的的管理和和维护工工作。使用口令令文件认认证方式式,按照照如下的的步骤进进行操作作:(1)在在WindowsNT//2000中为为DBA创建一一个新的的用户账账户,如如jxf。(2)使使用口口令实用用程序orapwd创创建口令令文件。。Oracle提提供了一一个口令令实用程程序,允允许用标标准的用用户名和和口令连连接到Oracle服服务器,,其语法法如下::orapwdfile=fnamepassword=passwordentries=entries其中,fname参数是口口令文件件完整的的路径和和文件名名。file参数是必必须的。。password参数指定定sys用户的口口令。sys用户的默默认口令令为change__on__install。如果数据据库中使使用alteruser语句修改改了sys用户的口口令,Oracle会自动更更新口令令文件中中sys用户的口口令。password参数是必必须的。。entries参数指定定能够具具有SYSDBA或SYSOPER权限的最最大数据据库用户户数量,,在向口口令文件件中添加加用户时时,不能能超过这这个数目目,如果果需要包包含更多多的用户户,必须须重新建建立口令令文件。。该参数数是可选选的。例:用口口令admin为用户户sys创建的的口令文文件,并并接受10个不不同口令令的用户户c:\>>orapwdfile==%oracle_home%/database/pwdstudentpassword=adminentries==10注意:口令文文件的位位置通常常在oracle主目录的的database目录下((口令文件件的位置置和文件件名都可可以随便便取)(3)将将初始始化参数数remote_login_passwordfile设置置为exclusive或shared。。如果将该该参数设设置为none,表示没有有口令文文件被使使用,使使用操作作系统认认证方式式时将该该参数设设置为none。如果将该该参数设设置为exclusive,表明只有有一个实实例可以以使用该该口令文文件,并并且该口口令文件件可以包包含除sys以外的用用户。如如果将该该参数设设置为shared,表明可以以由多个个实例使使用口令令文件,,但是这这时不能能向口令令文件加加入除sys用户外的的其它用用户,口口令文件件可以识识别的用用户只有有sys。这种设置置适用于于只有一一位DBA同时管理理多个实实例的情情况。(4)使使用一一个具有有DBA权限的的用户((如sys)连连接到数数据库,,如以sysdba身身份用操操作系统统认证方方式来连连接到数数据库服服务器。。sql>>connect//assysdba(5)在数据库库中创建建同名的的数据库用用户,然然后为该该用户授授予sysdba或sysoper系统权权限。只有以sysdba身身份连接接,Oracle才允允许管理理员给用用户授予予sysdba或sysoper权权限,否否则不允允许。即即使以system账账户连接接也不行行。(很很重要,,所以要要有connectassysdba。))例:创建建特权用用户jxfc:\>>sqlplus/nologsql>>connectsys//adminassysdbasql>>createuserjxfidentifiedbygyr&mothersql>>grantsysdbatojxf;当授权时时,用户户jxf就被添加加到口令令文件中中了,其其口令为为gyr&&mother。如果要查查看口令令文件中中的用户户信息,,可以查查询动态态性能视视图v$pwfile_users。例如sql>>select*fromv$pwfile_users;如果已授授予sysdba权限,动动态视图图v$pwfile_users有用户名名,在sysdba列有true值;如果果授予sysoper权限,在在sysoper列有true值。如果想撤撤销某用用户管理理员权限限可以使使用命令令"revokesysdbafrom用用户名""实现。。例如:sql>>revokesysdbafromjxf;(6)完完成上上述操作作后,如如果使用用jxf账户登登录WindowsNT//2000,可可以通过过如下命命令连接接到数据据库:sql>>connectjxf//gyr&motherassysdba当通过使使用sysdba权限连接接到数据据库时,,被连接接到sys模式上而而不是用用户名jxf所提供的的方案;;而当使使用sysoper权限连接接时,被被连接到到public模式。4.1..4数据库服服务器认认证Oracle可以通过过数据库库服务器器来验证证用户身身份。在在数据库库验证方方式下,,DBA需要为每每个想登登录Oracle服务器的的用户创创建用户户和口令令,登录录时用户户必须提提供用户户名和口口令,该方式是是最常用用的用户户身份验验证方式式。如果采用用数据库库验证,,那么创创建用户户时必须须为新用用户指定定一个口口令,口口令以加加密方式式保存在在数据库库中。当当用户连连接到数数据库时时,Oracle从数据库库中提取取口令来来对用户户的身份份进行验验证。例例如,下下面的语语句将创创建一个个数据库库验证的的用户peter,同时为他他指定了了口令、、默认表表空间、、临时表表空间、、空间配配额和配配置文件件:createuserpeteridentifiedbymylstsondefaulttablespacedatatemporarytablespacetempquota15mondataprofileaccounting__user;新创建的的用户peter并不能立立即连接接到数据据库中,,因为他他还不具具有CREATESESSION系统权限限。因此此,在建建立新用用户之后后,通常常使用GRANT语句为他他授予CREATESESSION系统权限限,使他他具有连连接到数数据库中中的能力力。如下下所示::grantcreatesessiontopeter;一种更为为便捷的的方式是是直接授授予新用用户Oracle中预定义义的CONNECT角色,该该角色包包含了CREATESESSION系统权限限。如下下所示::grantconnecttopeter;然后peter用户就可可连接数数据库了了,如下下所示::SQL>>connectpeter//mylstson4.2初始化参参数文件件在每一个个数据库库中都有有一个初初始化参参数文件件,该文文件决定定数据库库的物理理结构、、内存、、数据库库的极限限及系统统大量的的默认值值,是进进行数据据库设计计与性能能调节的的重要文文件。例例如可以以在初始始化参数数文件中中定义SGA尺寸,设设置数据据库名称称,定义义用户和和进程限限制,定定义控制制文件、、跟踪文文件和警警告日志志的位置置等。4.2..1Oracle9i文本参数数文件在安装Oracle数据库时时,系统统自动创创建了一一个传统统的文本本参数文文件pfile,Oracle9i提供了200多个初始始化参数数,并且且每个初初始化参参数都有有默认值值。在修修改或增增加初始始化参数数时,必必须要遵遵从特定定的规则则。如果果违反了了参数设设置原则则,在启启动实例例时可能能会显示示错误信信息,或或者会导导致配置置不起任任何作用用。修改改或增加加初始化化参数的的原则如如下:所有的初初始化参参数都是是可选的的,只有有需要设设置的参参数才在在初始化化参数文文件中列列出,没没有列出出的参数数,采用用默认值值。每行只能能设置一一个参数数。字符型参参数的值值如果包包含空格格或制表表位,必必须用单单引号或或双引号号将字符符串括起起来,但但数字型型参数则则不能用用引号。。例如:nls__territory="CZECHREPUBLIC"如果一个个初始化化参数有有多个值值,则用用逗号隔隔开。例如:rollback_segments=((seg1,seg2,seg3))初始化参参数文件件中只能能有赋值值语句和和注释语语句,注注释语句句以“##”符号号开头,,是单行行注释。。初始化参参数文件件中列出出的参数数是不分分次序的的。初始化参参数是一一个可以以编辑的的文本文文件,在WindowsNT/2000系统中参参数文件件存储在在:oracle__base\admin\db_name\pfile\init..ora或%oracle_home%%\database\initSID..ora。启动实例例时可以以指定相相应的参参数文件件,如::sql>>connectsys//testassysdbasql>>startuppfile=%%oracle_home%%\database\initstudent.ora如果不指指定初始始化参数数文件,,就采用用默认位位置的参参数文件件启动实实例。在初始化化参数文文件中主主要指定定以下参参数:1.指定全全局数据据库名和和实例名名sid全局数据据库名通通常由本本地数据据库标识识和网络络域名组组成,全全局数据据库名在在网络中中用于惟惟一地标标识一个个Oracle数据库。。本地数数据库标标识由db_name参数指定定,在只只有一个个实例的的情况下下,本地地数据库库标识与与实例标标识sid相同。网网络域名名由db_domain参数指定定。instance_name参数用于于指定实实例名,,应该与与db_name保持一致致。比如创建建的新数数据库需需要具有有全局数数据库名名,则应当在在初始化化参数文文件中设设置如下下参数::db_name=studentinstance_name=studentdb_domain==2.指定控制制文件control_files参数用于于指定控控制文件件名,Oracle使用该参参数在实实例和数数据库之之间建立立关联,,在控制制文件中中保存有有关于数数据库物物理结构构的基本本信息。。例如,使使用下面面的参数数设置,,在创建建数据库库时将在在指定的的位置建建立三个个控制文文件:control_files=(""d:\\oracle\oradata\control01.ctl","e:\\oracle\oradata\control02.ctl","f:\\oracle\oradata\control03.ctl")

因为控制制文件对对于数据据库来说说是至关关重要的的,Oracle建议至少少为数据据库建立立两个控控制文件件,并且且应当将将它们分分别存在在不同的的硬盘中中。3.指定数据据块的大大小数据库块块(Block)是Oracle用来管理理存储空空间的最最小单元元,一个个数据库库块可以以由一个个或多个个操作系系统块组组成。数据库块块的大小小在创建建数据库库时由初初始化参参数db_block_size指定,并并且在数数据库建建立后不不能再更更改.db_block_size参数所指指定的值值将作为为标准数数据库块块的大小小,system表空间以以及其他他表空间间默认地地使用标标准数据据库块大大小。数数据库块块大小在在数据库库创建后后就无法法改变。。比如,,如下设设置的db_block_size参数将标标准数据据库块指指定为4KB:db_block_size=4096对于I/O密集的操操作来说说,使用用双倍大大小的数数据库块块可以提提高40%左右的的I/O性能。需需要注意意的是,,随着数数据库块块大小的的增加,,数据库库对内存存(SGA区)的需求也也会随之之增加,,因此数数据库块块过大也也会对系系统性能能产生负负面的影影响4.指定与与SGA区相关的的参数SGA区是被所所有进程程共享的的内存区区,是实实例的组组成部分分。它由由数据缓缓冲区、、日志缓缓冲区和和共享池池组成。。(1)db_cache_size参数指定定数据缓缓冲区的的大小,它是一个个动态参参数,可可以在实实例运行行过程中中动态改改变,它它的大小小对数据据库性能能影响很很大。使使用较大大的db_cache_size可以有效效地减少少Oracle读写硬盘盘的次数数,但是是同时也也会占用用过多的的物理内内存。例例如:db_cache_size=32M如果要在在数据库库中使用用非标准准块,除除了使用用db_cache_size参数外,,至少还还要指定定—个db_nK_cache__size参数。db_nK_cache__size参数一共共有5个:db_2K_cache_size、db_4K_cache_size、db_8K_cache_size、db_16K__cache__size、db_32K__cache__size。以上5个参数用用于指定定具有非非标准块块大小的的数据缓缓冲区的的大小。。比如::db_block_size=4096db_cache_size=12Mdb_2K_cache_size=8Mdb_8K_cache_size=4M通过以上上参数的的设置,,为数据据库指定定标准块块大小为为4k,标准块对对应的数数据缓冲冲区大小小为12MB,此外2KB和8KB大小的非非标准块块对应的的数据缓缓冲区的的大小分分别为8MB和4MB。(2)shared__pool_size参数用于于设置SGA区中共享享池的大大小,shared_pool__size参数也是是一个动动态参数数。此外外,如果果数据库库被设置置为共享享服务器器操作模模式,还还需要设设置large_pool_size参数,以以创建大大池。(3)log__buffer参数用于于指定重重做日志志缓冲区区的尺寸寸。例如如:log__buffer=32768通过以上上参数的的设置,,日志缓缓冲区指指定的大大小为32768字节。(4)sga__max_size参数用于于限制SGA区所能使使用的最最大内存存空间。。尽管SGA区中数据据缓冲区区、共享享池等组组件的大大小在Oracle9i中都能动动态调整整,但是是它们的的总和不不能超过过由sga__max_size参数所指指定的值值。如果果用户没没有指定定sga__max_size参数,则则sga__max_size参数的默默认值为为初始化化参数文文件中设设置的SGA区各组件件大小的的总和。。5.指定最最大并发发进程数数由process参数指定定Oracle能够并发发执行的的操作系系统进程程的最大大数目。。process参数的最最小值是是6(每个数据据库至少少要启动动5个后台进进程,再再加上1个用户进进程)。比如,,如果预预测最多多会有50个用户进进程并发发连接数数据库,,则process参数至少少需要设设置为55。6.指定撤撤销表空空间的管管理方式式在Oracle9i中,有两两种管理理撤销表表空间的的方法::自动撤撤销空间间管理或或手工撤撤销空间间管理。。参数undo_management用于指定定管理undo数据的方方式,该该参数是是Oracle9i新增加的的参数。。如果设置置该参数数为manual,则管理undo数据仍然然使用回回滚段;;如果设设置为auto,则使用undo表空间自自动管理理undo数据。在手工撤撤销管理理方式下下,必须须使用rollback_segments参数为数数据库指指定回退退段。rollback_segments参数通常常是一个个可用回回退段的的名称列列表。如如果没有有在初始始化参数数文件中中设置rollback_segments参数,Oracle将使用system回退段。。建议在数数据库中中应用自自动撤销销管理方方式,使使用撤销销表空间间而不是是回退段段来存储储撤销信信息。例例如:undo_management==autounto_tablespace==undotbs以上参数数设置撤撤销表空空间的管管理方式式为自动动,使用用撤销表表空间undotbs来存储撤撤销记录录。如果参数数undo_management被设置为为auto,必须使用用undo_tablespace参数为数数据库指指定撤销销表空间间,而且且undo_tablespace所对应的的undo表空间必必须存在在,否则则会导致致OracleServer无法启动动。在创创建数据据库时,,默认情情况下Oracle会自动创创建一个个名称为为undotbs的默认撤撤销表空空间。7.跟踪文文件和警警告文件件的存放放位置background_dump__dest参数用于于指定后后台进程程跟踪文文件和警警告文件件所在的的目录。。user_dump__dest该参数用用于指定定用户进进程跟踪踪文件所所在的目目录。例例如:background_dump__dest=d:\\oracle\admin\student\\bdumpuser_dump__dest=d:\\oracle\admin\student\\udump以上参数数设置,,将后台台进程跟跟踪文件件和警告告文件所所在的目目录设置置为d:\oracle\\admin\\student\bdump将用户进进程跟踪踪文件所所在的目目录设置置为d:\oracle\\admin\\student\\udump8.归档日日志文件件的存放放位置参数log__archive_dest_1由于存放放归档日日志文件件的位置置。例如如:log__archive_dest_1=="location=d:\oracle\\oradata\master\\“9.指定特权权用户的的认证方方式如果特权权用户通通过口令令文件的的方式认认证,要要将参数数remote__login__passwordfile设置为exclusive或shared。如果该参参数设置置为shared表示多个个实例共共享一个个口令文文件,且且特权用用户只能能有一个个sys。如果该参参数设置置为exclusive表示口令令文件只只能由一一个实例例专用,,并且可可以配置置多个特特权用户户。如果果将该参参数设置置为none,表示特权权用户使使用操作作系统认认证方式式。例如如:remote__login__passwordfile=exclusive将特权用用户的认认证方式式设置为为口令文文件,并并且可以以设置多多个特权权用户。。下面为参参数文件件的部分分内容::db_name=studentinstance_name=studentcontrol_files=(""d:\\oracle\oradata\\control01.ctl",,"e:\\oracle\oradata\\control02.ctl",,"f:\\oracle\oradata\\control03.ctl"))log__archive_dest_1=="location=d:\oracle\\oradata\student\"db_block_size=2048db_cache_size=30Mshared__pool_size=15728640log__buffer=32768background_dump__dest=d:\oracle\\admin\\student\bdumpremote__login__passwordfile=exclusiveundo_management==autounto_tablespace==undotbs…4.2..2服务器端端参数文文件1.服务务器端参参数文件件从Oracle8i开始,有有许多初初始化参参数都成成为了动动态参数数,也就就是说可可以在数数据库运运行期间间利用altersystem或altersession语句来修修改初始始化参数数,并且且不需要要重新启启动数据据库,修修改就可可以立即即生效。。但是使使用altersystem语句对初初始化参参数进行行的修改改并不能能保存在在初始化化参数文文件中。。因此,,在下一一次启动动数据库库时,Oracle依然会使使用初始始化参数数文件中中的参数数设置对对实例进进行配置置。如果果要永久久性地修修改某个个初始化化参数,,DBA必须通过过手工方方式对初初始化参参数文件件进行编编辑,这这就为初初始化参参数的管管理带来来了不便便。并且对于于文本初初始化参参数文件件,无论论是启动动本地数数据库还还是远程程数据库库,都会会读取本本地的初初始化参参数文件件,并使使用其中中的设置置来配置置数据库库。也就就是说如如果DBA需要以远远程方式式启动数数据库,,必须在在本地的的客户机机中保存存一份初初始化参参数文件件的备份份。由于于文本初初始化参参数文件件存在的的这些不不便,因因此在Oracle9i中引入了了服务器器端初始始化参数数文件spfile。服务器端端初始化化参数文文件以二二进制形形式保存存在服务务器端,,用户不不能直接接对它进进行修改改,只能能通过altersystem语句来修修改其中中的初始始化参数数,尽管管能够打打开它查查看其中中的内容容,但是是任何用用户都不不应当手手工对其其中的内内容进行行编辑,,否则实实例将无无法启动动。服务器端端初始化化参数文文件始终终存放在在数据库库服务器器端,默默认地保保存在%oracle_home%%\databases目录中,,默认名名称为spfile<<SID>.ora。启动实例例时,默默认读服服务器端端初始化化参数文文件。如果DBA需要远程程启动实实例,不不需要在在客户机机中保留留一份初初始化参参数文件件,实例例会自动动从服务务器中读读取服务务器端初初始化参参数文件件的内容容。这样样做的另另一个优优点是能能够确保保同一个个数据库库的多个个实例都都具有完完全相同同的初始始化参数数设置。。2.用初始始化参数数文件启启动实例例数据库启启动时,,Oracle9i默认读取取服务器器参数。。如果没没有定义义服务器器参数,,或服务务器参数数文件破破坏,则则自动读读取文本本参数文文件。如如果要使使用文本本参数启启动数据据库,则则必须使使用pfile指出数据据库文本本文件名名及路径径。在执执行startup语句启动动数据库库时,它它将按照照如下顺顺序寻找找初始化化参数文文件:(1)首先检查查是否使使用了pfile参数指定定了文本本初始化化参数文文件。如如果有pfile参数,就就用pfile参数指定定的文本本初始化化参数文文件启动动实例。。(2)如果没有有pfile参数,在在默认位位置检查查是否存存在服务务器端初初始化参参数文件件。如果果存在,,就用默默认位置置的服务务器端参参数文件件启动实实例。(3)没有使用用pfile参数,也也没有服服务器端端初始化化参数文文件,或或该文件件被破坏坏了,则则在默认认位置寻寻找默认认名称的的文本初初始化参参数文件件,用该该文本文文件启动动实例。。使用服务务器参数数文件spfileSID..ora启动数据据库命令令如下::c:\>>sqlplus/nologsql>connect//assysdbasql>startup使用文本本文件pfile启动数据据库:c:\>>sqlplus/nologsql>>connect//assysdbasql>>startuppfile=d:\oracle\\ora90\\database\\initstudent..ora但是,不不得使用用spfile参数指出出服务器器参数文文件名及及路径。。例如::sql>>startupspfile==d::\oracle\ora90\database\spfilestudent.ora结果显示示:sp2--0714:invalidcombinationofstartupoptions3.创建服服务器参参数Oracle9i服务器可可以自动动调整数数据库参参数。数数据库创创建后,,可以使使用命令令createspfile从文本文文件转换换为数据据库创建建服务器器参数,,也可以以从spfile创建文本本型参数数文件,,实现参参数文件件的相互互转换。。在数据库库创建或或安装成成功后,,启动数数据库,,使用服服务器参参数文件件创建文文本文件件的命令令如下::sql>>createpfilefromspfile=''d:\\oracle\ora90\database\spfilestudent..ora'则在默认认路径中中创建系系统默认认的文本本参数文文件init$oracle_sid..ora。也可以使使用pfile指出要创创建的文文本参数数文件名名以及路路径:sql>>createpfile="d:\oracle\\ora90\\database\\initstudent..ora"fromspfile=""d:\\oracle\ora90\database\spfilestudent..ora“或

sql>>createpfile="d:\\oracle\ora90\database\initstudent.ora"fromspfile在上述命命令执行行成功后后,自动动产生了了数据库库的文本本文件。创建服务务器参数数文件有有多种方方法:方法1::创建默默认的服服务器参参数文件件sql>createspfilefrompfile="d::\oracle\ora90\database\initstudent.ora"执行上述述命令后后,在默默认路径径中创建建了一个个系统默默认的服服务器参参数文件件,文件件名为spfile$oracle_sid.ora。方法2::使用默默认的文文本参数数文件在在默认路路径中创创建服务务器参数数文件。。sql>createspfilefrompfile;方法3::使用spfile指出要创创建的文文本参数数文件名名及路径径。sql>createspfile="d::\oracle\ora90\database\spfilestudent.ora"frompfile="d::\oracle\ora90\database\initstudent.ora“或sql>createspfile="d::\oracle\ora90\database\spfilestudent.ora"frompfile可以使用用show命令检测测数据库库中是否否使用服服务器参参数文件件,如果果显示为为空值,,则表示示该数据据库使用用文本类类型参数数文件。。例如::sql>>showparameterspfile如果数据据库正在在使用文文本类型型参数运运行,可可以按下下面方法法,将数数据库修修改为使使用服务务器参数数方式运运行:sql>>createspfilefrompfile;sql>>shutdownimmediatesql>>startup4.在线修修改数据据库参数数在Oracle9i中,使用用服务器器端参数数文件后后,可以以像修改改数据一一样对初初始化参参数进行行在线修修改。可可以执行行altersystem指令在线线更改某某些初始始化参数数,而且且修改后的的参数可可以立即即生效,,或者在在下一个个实例启启动后生生效。这这可以利利用在set子句中scope选项来进进行控制制。scope选项的设设置有三三种选择择:(1)当当scope=spfile时,对参参数的修修改仅记记录在服服务器端端初始化化参数文文件中。。该选择择同时适适用于动动态初始始化参数数与静态态初始化化参数。。修改后后的参数数只有在在下一次次启动数数据库时时更改的的参数才才会生效效。在修改静静态初始始化参数数时,只只能将scope选项设置置为spfile。(2)当当scope=memory时,对参参数的修修改仅记记录在内内存中,,不会写写入spfile。对于动态态初始化化参数,,更改将将立即生生效,并并且由于于修改并并不会被被记录在在服务器器端初始始化参数数文件中中,在下下一次启启动数据据库时仍仍然会使使用修改改前的参参数设置置。对于于静态初初始化参参数,不不能使用用这个选选项值。。(3)当scope=both时,对参参数的修修改将同同时记录录在内存存和服务务器端初初始化参参数文件件中。对对于动态态初始化化参数,,更改将将立即生生效,并并且在下下一次启启动数据据库时将将使用修修改后的的参数设设置。对对于静态态初始化化参数,,不能使使用这个个选项值值。如果果数据库库使用了了服务器器端初始始化参数数文件,,在执行行altersystem语句时,,Oracle默认地将将scope选项设置置为both。注意:(1)在修改动动态初始始化参数数时,还还可以指指定deferred关键字,,这样对对参数所所做的修修改将延延迟到新新的会话话产生时时才生效效。(2)如如果数据据库没有有使用服服务器端端初始化化参数文文件,在在altersystem语句中将将scope选项设置置为spfile或both将会产生生错误。。(3)还可以在在运行实实例时使使用altersession命令对动动态初始始化参数数进行修修改。使使用altersession命令修改改的参数数只对当当前会话话有效,,altersystem命令修改改的参数数一直到到实例关关闭都有有效,altersystemdeferred命令对将将来连接接的会话话有效,,当前会会话无效效。例如,利利用下面面的语句句对动态态初始化化参数log__checkpoint_interval进行修改改,修改改结果不不仅在当当前实例例中有效效,而且且还将记记录在服服务器端端初始化化参数文文件中::sql>>altersystemsetlog__checkpoint_interval=50comment="SpecifiesthefrequencyOfcheckpoints";;如果要修修改静态态初始化化参数db_files,必须将scope选项设置置为spfile:sql>>altersystemsetdb_files=100scope==spfile;查看初始始化参数数的设置置(1)在在SQL*PLUS中中使用SHOWPARAMETERS命命令(2)查查询V$$PARAMETER或V$$PARAMETER2动态态性能视视图,V$PARAMETER2视图的的格式更更加简洁洁。(3)使使用CREATEPFILE语句句将服务务器端初初始化参参数文件件导出为为可读的的文本初初始化参参数文件件。(4)查查询v$$SPPARAMETER动动态性能能视图,,其中包包括在服服务器端端初始始化参数数文件中中的初始始化参数数设置。。4.3启动和关关闭Oracle服务器启动和关关闭Oracle服务器的的方法有有多种,,可以使使用OEM、Sql**plus、命令行或或操作系系统的服服务。启启动或停停止一个个Oracle服务器的的用户必必须具有有sysdba或sysoper权限。4.3..1启动Oracle服务器的的步骤Oracle服务器的的启动是是分步骤骤进行的的,包括括实例的启启动、数数据库的的加载和和数据库库打开3个步骤。。因此Oracle服务器可可能处于于三种状态态:实例例已启动动、数据据库已加加载、数数据库已已打开。1.启动动实例启动实例例包括下下列任务务:(1)读读取参数数文件init<sid>..ora或spfile<<sid>.ora(2)分分配sga(3)启启动后台台进程(4)打打开alert文件件以及跟跟踪文件件在实例的的启动过过程中只只会使用用到初始始化参数数文件,,数据库库是否存存在对对实例的的启动并并没有影影响。如如果初始始化参数数设置有有误,实实例将无无法启动动。2.为实实例装载载数据库库装载数据据库包括括以下任任务:(1)使使数据库库与以前前启动的的例程关关联(2)定定位并打打开参数数文件中中指定的的控制文文件(3)读读取控制制文件以以获取数数据文件件和重做做日志文文件的名名称和状状态,为打开数数据库做做好准备备。加载数据据库时,,实例将将打开控控制文件件,从控控制文件件中获取取数据库库的名称称、数据据文件的的位置和和名称等等关于数数据库物物理结构构的信息息,为打开数数据库做做好准备备。如果控控制文件件损坏,,实例将将无法加加载数据据库。在在加载阶阶段,实实例并不不会打开开数据库库的物理理文件———数据据文件和和重做日日志文件件。3.打打开数据据库正常数据据库操作作是指启启动例程程、装载载并打开开数据库库,它允允许任何何有效用用户连接接数据库库并执行行一般的的数据访访问操作作。打开数据据库包括括以下任任务:(1)打打开联机机数据文文件(2)打打开联机机重做日日志文件件如果在控控制文件件中列出出的任何何一个数数据文件件或重做做日志文文件无法法正常打打开,数数据库将将返回错错误信息息,这是是需要进进行数据据库恢复复。只有将数数据库设设为打开开状态后后,数据据库才处处于正常常运行状状态,这这时普通通用户才才能够访访问数据据库。由于管理理方面的的要求,,DBA要根据据不同的的情况决决定以不不同的方方式启动动数据库库:(1)启启动实例例不加载载数据库库(NOMOUNT模模式)使用的命命令:SQL>>startupnomount如果要执执行下列列维护工工作:A:创建数据据库B:重建控制制文件则必须在在该模式式下进行行(2)启启动实例例加载数数据库但但不打开开数据库库(MOUNT模式))若要执行行特定的的维护任任务,可可启动例例程并装装载数据据库,但但不要打打开数据据库。例例如:(1)命命名数据据文件(2)改改变数数据库的的归档模模式(3)执执行完全全数据库库恢复(4)添添加、删删除或重重命名重重做日志志文件Sql>>startupmount3.启动动实例加加载数据据库并打打开数据据库(OPEN模式))这是正常常的启动动模式。。普通用用户要对对数据库库进行操操作,数数据库必必须处于于OPEN启动动模式。。Sql>>startup(1)实实例在nomount阶段启动动时,就就可以从从内存访访问读取取动态性性能视图图(与SGA有关的视视图),,例如::v$parameter、v$sga、v$option、v$process、v$session、v$version和v$instance。(2)当实例在在mount阶段启动动时,就就可以从从控制文文件读取取动态性性能视图图,例如如:v$thread、v$controlfile、v$database、v$datafile、v$datafile_header、v$logfile。(3)当实例在在open阶段启动动时,就就可以从从数据字字典读取取动态性性能视图图。动态性能能视图说说明明v$parameter包包含含关于初初始化参参数的信信息v$sga包包含含关于SGA的的摘要信信息v$option列列出出Oracle服务器器安装的的选项v$process包包含含有关当当前活动动进程的的信息v$session列列出当前前会话信信息v$version列列出出版本号号及组件件v$instance列列出当前前实例的的状态v$thread包包含线线程信息息v$controlfile列列出控制制文件名名称v$database包包含数数据库信信息v$datafile包包含来自自控制文文件的数数据文件件信息v$datafile_header包包含来自自控制文文件的数数据文件件标题的的信息v$logfile包包含关于于联机重重做日志志文件的的信息转换启动动模式在数据库库的各种种启动模模式之间间切换需需要使用用ALTERDATABASE语语句,执执行该语语句的用用户必须须具有ALTERDATABASE系统统权限。。1、为实实例加载载数据库库在执行一一些特殊殊的管理理或维护护操作时时,需要要进入NOMOUNT启动模模式。切切换到MOUNT模式式:ALTERDATABASEMOUNT2、从加加载状态态进入打打开状态态为实例加加载数据据库后,,数据库库可能仍仍然处于于关闭状状态。为为了使用用户能够够访问数数据库,,可以使使用如下下语句切切换到OPEN启动模模式:ALTERDATABASEOPEN;切换到受受限和只只读状态态1、受限限状态在正常启启动模式式(OPEN))下,可可以选择择将数据据库设置置为非受受限状态态或受限限状态。。在受限状状态下,,只有具具有管理理权限的的用户((DBA)才能能访问数数据库。。当执行行下列维维护操作作时,必必须将数数据库置置于受限限状态::(1)执执行数据据导入或或导出操操作(2)使使用SQL*Loader提提取外部部数据(3)需需要暂时时拒绝普普通用户户访问数数据库(4)进进行数据据库移植植或者升升级操作作在默认情情况下,,普通数数据库用用户只具具有CREATESESSION系统权权限。只只有具有有CREATESESSION权权限的用用户才能能够连接接到一个个打开的的数据库库中,并并且连接接的数据据库必须须处于非非受限状状态。当打开的的数据库库被设置置为受限限状态时时,仅具具有CREATESESSION权限的的用户在在访问数数据库时时将被拒拒绝。只只有同时时具有CREATESESSION和RESTRICTEDSESSION系系统权限限的用户户才能够够访问受受限状态态的数据据库。通常只将将RESTRICTEDSESSION系统统权限授授予DBA用户户。A:使用用下面的的语句,,数据库库将进入入受限状状态:STARTUPRESTRICTB:如果果需要将将数据库库恢复为为非受限限状态ALTERSYSTEMDISABLERESTRICTEDSESSIONC:由非非受限状状态切换换到受限限状态ALTERSYSTEMENABLERESTRICTEDSESSION2、只读读状态可以使用用ALTERDATABASE语语句在数数据库运运行过程程中切换换为只读读模式::ALTERDATABASEOPENREADONLY使用下面面语句将将数据库库设置为为读写模模式:ALTERDATABASEOPENREADWRITE3、强行行启动数数据库在各种启启动模式式都无法法成功启启动数据据库时,,需要强强行启动动数据库库,在如下几几种情况况下需要要强行启启动数据据库:无法使用用shutdownnormal、shutdownimmediate或者shutdowntransactional语句关闭闭数据库库实例。。在启动实实例时出出现无法法恢复的的错误STARTUPFORCE如果在强强行启动动时,数数据库已已经有一一个实例例正在运运行,Oracle将首先关关闭该实实例,然然后再重重新为这这个数据据库启动动一个新新的实例例关闭数据据库按阶段关关闭数据据库与数据库库的启动动相对应应,关闭闭数据库库也是分分步骤进进行的1.关闭数据据库Oracle服服务器将将缓冲区区高速缓缓存中的的更改及及操作日日志缓冲冲区高速速缓存中中的条目目写入数数据文件件和联机机重做日日志文件件。此后后,关闭闭所有联联机数据据文件和和联机重重做日志志文件。。在数据据库关闭闭但仍装装载时,,控制文文件一直直打开。。2.卸载载数据库库关闭控制制文件,,但例程程仍保留留3.关闭闭实例Alert文件件和跟踪踪文件将将关闭,,sga被回收收并且后后台进程程被终止止。关闭Oracle服务器的的四种方方式1.执行行normal模式关关闭禁止新的的用户连连接,当当所有的的用户自自愿断开开时,oracle才才关闭数数据库。。sql>>shutdownnormal这是一种种最有耐耐心的关关闭方式式,这种种方式不不许新的的用户连连接,但但是要等等已有的的所有用用户连接接自愿断断开时,,Oracle才能够关关闭数据据库。一一旦所有有的用户户都断开开连接,,立刻关关闭数据据库、卸卸载数据据库,并并终止实实例。2.执行行immediate模式关关闭这种方式式不允许许新的用用户连接接,任何何未提交交的事务务均被回回退;不不在等待待用户主主动断开开连接,,直接关关闭、卸卸载数据据库,并并终止实实例。在正常关关闭失效效的情况况下,最最常使用用的一种种。sql>>shutdownimmediate3.执行行abort模模式关闭闭数据库立立即关闭闭,对数数据库的的服务被被突然终终止;所所有的用用户被断断开连接接,所有有的过程程被终止止,所有有的资源源被释放放。为一种最最后的手手段使用用。当数据库库实例被被破坏时时,可用用此方式式关闭数数据库sql>>shutdownabort由于当前前未完成成的事务务并不会会被回退退,需要要进行实实例恢复复。4.执执行transactional模模式关闭闭等待当前前所有活活动事务务都提交交后再关关闭数据据库。时时间介于于正常方方式与立立即方式式之间。。sql>>shutdowntransactional启动和关关闭Oracle服务在WindowsNT/2000平台中,,只有在在启动了了Oracle的OracleOraHome90TNSListener和OracleServicemath服务(假如数据据库名为为math)后,才能能连接到到实例。。如果没有有启动监监听器服服务OracleOraHome90TNSListener就连接到到Oracle会出现Ora--12541::TNS:没有监听听器错误误。如果果没有启启动OracleServicemath服务就连连接到Oracle会出现ORA--12560::TNS:协议适配配器错误误。服务的启启动方式式有多种种,(1)可以以使用oradim命令启动动服务,,(2))也可以以使用netstart命令启动动服务,,(3))还可以以使用Windows的操作系系统服务务来启动动服务。。A:如果用oradim命令可以以决定是是只启动动服务,,还是服服务和实实例一起起启动。。B:如果用netstart命令只启启动服务务。C:如果用操操作系统统启动服服务,实实例也随随着启动动了。如如果实例例已经启启动,再再用startup命令去启启动实例例,会发发生“ORA--01081::无法启动动已在运运行的Oracle--请先关闭闭”的错错误。同样,服服务的关关闭方式式也有多多种,((1)可可以使用用oradim命令关闭闭服务,,(2))也可以以使用netstart命令关闭闭服务,,(3))还可以以使用Windows的操作系系统服务务来关闭闭服务。。A:如果用oradim命令可以以决定是是只关闭闭服务,,还是服服务和实

温馨提示

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

评论

0/150

提交评论