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

下载本文档

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

文档简介

第四章管理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模式。。数数据库库服务务器认认证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…服务器端参数数文件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权限。启动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命令可以决定是只关闭服务,还是服务和实例一起关闭。B:如果用netstart命令只关闭服务。C:如果用操作系统关闭服务,实例也随着关闭了

设置oracle_sid(1)一个实例例只能与与一个数数据库关关联,一一个数据据库可以以有多个个实例。。在操作作系统中中,实例例是用环环境变量量oracle_sid来唯唯一标识识的。(2)在注册表表中打开开项hkey_l

温馨提示

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

评论

0/150

提交评论