




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 管理Oracle实例(1)实例(instance)是一组Oracle后台进程和内存构造(SGA)的集合。后台进程主要包括SMON、PMON、DBWR、CKPT和LGWR等;而其内存构造那么包括数据缓冲区、重做日志缓冲区、共享池,它们合称为系统全局区(SGA)。 (2) Oracle Server是由实例和数据库组成的。我们曾经知道数据库实践上就是三种物理文件:控制文件、数据文件和联机重做日志文件。 (3)一个实例只能访问一个数据库,而一个数据库可以由多个实例同时访问。4启动数据库时将在内存中创建与该数据库所对应的实例。实例是经过初始化参数control_files与数据库建立关联的。该
2、参数用于指定数据库的控制文件名,控制文件中又指出了数据文件和联机重做日志文件的称号和位置。 .4.1 Oracle用户身份认证 在数据库创建之后,只需具有合法身份的用户才可以访问数据库。 用户身份认证方式有1操作系统认证、2口令认证和3数据库效力器认证三种方式。 数据库效力器的认证方式需求每个衔接到Oracle的用户都在数据库中有一个账户 ,但这些帐户的信息都保管在数据库内部,在翻开数据库之前,不能运用这些信息来对用户进展身份认证。 因此在执行如启动实例、加载和翻开数据库等操作时这些操作数据库还没翻开就不能运用数据库效力器的认证方式,只能运用操作系统和口令认证方式 。. 详细选用哪种认证方式主
3、要取决于两个要素:用户的操作是在本地进展还是经过网络进展。 假设需求在本地执行管理操作,或经过网络进展 ,但是有平安的网络衔接,可以运用操作系统认证方式。 假设需求从其它计算机上远程执行数据库管理操作,而又没有平安的网络衔接,就只能运用口令文件认证的方式。 在口令文件认证方式下,Oracle运用口令文件来对具有SYSDBA或SYSOPER权限的用户进展身份认证。 在操作系统认证方式下,由操作系统的平安机制来对具有SYSDBA或SYSOPER权限的用户进展身份认证。.4.1.1 特殊系统权限:SYSDBA和SYSOPER在Oracle中,有两个特殊的系统权限: SYSDBA和SYSOPER,它们
4、包含了一些最根本的管理操作权限。1。SYSDBA权限可执行的操作1运用STARTUP或SHUTDOWN语句启动或封锁数据库与实例2运用ALTER DATABASE语句执行翻开、卸载、备份数据库等操作。3运用CREATE DATABASE语句以手工方式创建数据库。4对数据库进展归档或恢复。5具有RESTRICTED SESSION权限,可以在受限形状下衔接数据库。.2。SYSOPER权限可执行的操作1运用STARTUP或SHUTDOWN语句启动或封锁数据库与实例。2运用CREATE SPFILE语句创建效力器端初始化参数文件。3运用ALTER DATABASE语句执行翻开、卸载、备份数据库等操作
5、。4对数据库进展归档或恢复。5具有RESTRICTED SESSION权限,可以在受限形状下衔接数据库。.留意:1具有SYSDBA和SYSOPER系统权限用户,可以在不翻开数据库的情况下直接访问实例,可见他们的身份认证是与数据库完全无关的。2用户在运用SYSDBA或SYSOPER权限衔接实例时,实践上并不是进入到用户所属的方式中,而是进入默许的方式。对于SYSDBA来说是SYS方式,对于SYSOPER来说是PUBLIC方式。.4.1.2 操作系统认证方式 1假设需求在本地执行管理操作,或者可以经过平安网络衔接来执行远程管理操作,那么可以运用操作系统认证方式。 2Oracle可以利用运转数据库的
6、Windows NT/2000操作系统来验证用户身份。在操作系统认证方式下,当用户试图建立到Oracle效力器的衔接时,Oracle效力器不会向用户要求用户名和口令,而是从操作系统中获得用户的登录信息。 在操作系统认证方式下,Oracle在操作系统中创建一个特殊的用户组ORA_DBA),一切属于这个组的用户都将被授予SYSDBA或SYSOPER权限。假设登陆到操作系统中的用户属于这个组,他将自动具有SYSDBA或SYSOPER权限,因此,当他试图建立到Oracle效力器的衔接时,就不用再提供用户名和口令,也不需求在数据库中创建相应的用户帐户。一切的用户认证任务都由操作系统本身来完成,不需求在数
7、据库中保管任何相关的信息。.用操作系统认证方式的步骤如下 :(1) 在Windows NT/2000的计算机管理中,添加一个用户如abc,将其参与ora_dba组。(2) 注销系统,以abc用户登录。(3) 然后输入以下命令c:sqlplus /nologsqlconnect /as sysdba或sqlconnect /as sysoper 这样abc用户就以sysdba或sysoper的角色登录Oracle了。不过这时abc实践上是以sys方式衔接到数据库中的。 留意:(1操作系统验证,要将初始化参数remote_login_passwordfile设置为none。 2假设不是ora_db
8、a组,那么运用connect /as sysdba命令时会出现权限缺乏的情况,另外要把Oracle效力启动,TNSLISTERNER可以不启动 .4.1.3 用口令文件认证 在口令文件认证方式下,具有SYSDBA和SYSOPER权限的用户被记录在一个经过加密处置的口令文件中,这个口令文件保管有SYS用户的口令,并利用SYS用户的口令来访问数据库。 口令文件是一个操作系统文件,它被存储在效力器中不是数据库中。当用户衔接数据库时,Oracle运用口令文件对用户的身份进展认证。Oracle数据库在运转过程中将参与口令文件的管理和维护任务。.运用口令文件认证方式,按照如下的步骤进展操作: (1) 在W
9、indows NT/2000中为DBA创建一个新的用户账户,如jxf。(2) 运用口令适用程序orapwd创建口令文件。Oracle提供了一个口令适用程序,允许用规范的用户名和口令衔接到Oracle效力器,其语法如下:orapwd file=fname password=password entries=entries其中,fname参数是口令文件完好的途径和文件名。file参数是必需的。password参数指定sys用户的口令。sys用户的默许口令为change_on_install。假设数据库中运用alter user语句修正了sys用户的口令,Oracle会自动更新口令文件中sys用户的
10、口令。password参数是必需的。entries参数指定可以具有SYSDBA或SYSOPER权限的最大数据库用户数量,在向口令文件中添加用户时,不能超越这个数目,假设需求包含更多的用户,必需重新建立口令文件。该参数是可选的。 .例:用口令admin为用户sys创建的口令文件,并接受10个不同口令的用户c:orapwd file=%oracle_home%/database/pwdstudent password=admin entries=10 留意:口令文件的位置通常在oracle主目录的database目录下口令文件的位置和文件名都可以随意取 (3) 将初始化参数remote_login
11、_passwordfile设置为exclusive或shared。假设将该参数设置为none,表示没有口令文件被运用,运用操作系统认证方式时将该参数设置为none。假设将该参数设置为exclusive,阐明只需一个实例可以运用该口令文件,并且该口令文件可以包含除sys以外的用户。假设将该参数设置为shared,阐明可以由多个实例运用口令文件,但是这时不能向口令文件参与除sys用户外的其它用户,口令文件可以识别的用户只需sys。这种设置适用于只需一位DBA同时管理多个实例的情况。 .(4) 运用一个具有DBA权限的用户(如sys)衔接到数据库,如以sysdba身份用操作系统认证方式来衔接到数据库
12、效力器。sqlconnect /as sysdba (5) 在数据库中创建同名的数据库用户,然后为该用户授予sysdba或sysoper系统权限。 只需以sysdba身份衔接,Oracle才允许管理员给用户授予sysdba或sysoper权限,否那么不允许。即使以system账户衔接也不行。很重要,所以要有connect as sysdba。例:创建特权用户jxfc:sqlplus/nologsqlconnect sys/admin as sysdbasqlcreate user jxf identified by gyr&mothersqlgrant sysdba to jxf;.当授权时,
13、用户jxf就被添加到口令文件中了,其口令为gyr&mother。假设要查看口令文件中的用户信息,可以查询动态性能视图v$pwfile_users。例如 sqlselect * from v$pwfile_users;假设已授予sysdba权限,动态视图v$pwfile_users有用户名,在sysdba列有true值;假设授予sysoper权限,在sysoper列有true值。 假设想撤销某用户管理员权限可以运用命令revoke sysdba from 用户名实现。例如:sqlrevoke sysdba from jxf;(6) 完成上述操作后,假设运用jxf账户登录Windows NT/20
14、00,可以经过如下命令衔接到数据库:sqlconnect jxf/gyr&mother as sysdba当经过运用sysdba权限衔接到数据库时,被衔接到sys方式上而不是用户名jxf所提供的方案;而当运用sysoper权限衔接时,被衔接到public方式。 .4.1.4 数据库效力器认证 Oracle可以经过数据库效力器来验证用户身份。在数据库验证方式下,DBA需求为每个想登录Oracle效力器的用户创建用户和口令,登录时用户必需提供用户名和口令,该方式是最常用的用户身份验证方式。 假设采用数据库验证,那么创建用户时必需为新用户指定一个口令,口令以加密方式保管在数据库中。当用户衔接到数据库
15、时,Oracle从数据库中提取口令来对用户的身份进展验证。例如,下面的语句将创建一个数据库验证的用户peter,同时为他指定了口令、默许表空间、暂时表空间、空间配额和配置文件: create user peter identified by mylstson default tablespace data temporary tablespace temp quota 15m on data profile accounting_user;.新创建的用户peter并不能立刻衔接到数据库中,由于他还不具有CREATE SESSION系统权限。因此,在建立新用户之后,通常运用GRANT语句为他授予
16、CREATE SESSION系统权限,使他具有衔接到数据库中的才干。如下所示: grant create session to peter; 一种更为便利的方式是直接授予新用户Oracle中预定义的CONNECT角色,该角色包含了CREATE SESSION系统权限。如下所示: grant connect to peter; 然后peter用户就可衔接数据库了,如下所示: SQLconnect peter/ mylstson .4.2 初始化参数文件 在每一个数据库中都有一个初始化参数文件,该文件决议数据库的物理构造、内存、数据库的极限及系统大量的默许值,是进展数据库设计与性能调理的重要文件。
17、例如可以在初始化参数文件中定义SGA尺寸,设置数据库称号,定义用户和进程限制,定义控制文件、跟踪文件和警告日志的位置等。.4.2.1 Oracle 9i文本参数文件 在安装Oracle数据库时,系统自动创建了一个传统的文本参数文件pfile,Oracle 9i提供了200多个初始化参数,并且每个初始化参数都有默许值。在修正或添加初始化参数时,必需求服从特定的规那么。假设违反了参数设置原那么,在启动实例时能够会显示错误信息,或者会导致配置不起任何作用。修正或添加初始化参数的原那么如下: 一切的初始化参数都是可选的,只需需求设置的参数才在初始化参数文件中列出,没有列出的参数,采用默许值。 每行只能
18、设置一个参数。 . 字符型参数的值假设包含空格或制表位,必需用单引号或双引号将字符串括起来,但数字型参数那么不能用引号。例如:nls_territory=CZECH REPUBLIC 假设一个初始化参数有多个值,那么用逗号隔开。例如:rollback_segments=(seg1,seg2,seg3) 初始化参数文件中只能有赋值语句和注释语句,注释语句以“#符号开头,是单行注释。初始化参数文件中列出的参数是不分次序的。.初始化参数是一个可以编辑的文本文件,在Windows NT/2000系统中参数文件存储在: oracle_baseadmindb_namepfileinit.ora或%orac
19、le_home%databaseinitSID.ora。启动实例时可以指定相应的参数文件,如: sqlconnect sys/test as sysdbasqlstartup pfile=%oracle_home%databaseinitstudent.ora假设不指定初始化参数文件,就采用默许位置的参数文件启动实例。 .在初始化参数文件中主要指定以下参数: 1指定全局数据库名和实例名sid 全局数据库名通常由本地数据库标识和网络域名组成,全局数据库名在网络中用于独一地标识一个Oracle数据库。本地数据库标识由db_name参数指定,在只需一个实例的情况下,本地数据库标识与实例标识sid一样
20、。网络域名由db_domain参数指定。instance_name参数用于指定实例名,应该与db_name坚持一致。 比如创建的新数据库需求具有全局数据库名,那么该当在初始化参数文件中设置如下参数: db_name=student instance_name=studentdb_domain= .2指定控制文件 control_files参数用于指定控制文件名,Oracle运用该参数在实例和数据库之间建立关联,在控制文件中保管有关于数据库物理构造的根本信息。 例如,运用下面的参数设置,在创建数据库时将在指定的位置建立三个控制文件: control_files=(d:oracleoradatac
21、ontrol01.ctl, e:oracleoradatacontrol02.ctl, f:oracleoradatacontrol03.ctl) 由于控制文件对于数据库来说是至关重要的,Oracle建议至少为数据库建立两个控制文件,并且该当将它们分别存在不同的硬盘中。 .3指定数据块的大小 数据库块(Block)是Oracle用来管理存储空间的最小单元,一个数据库块可以由一个或多个操作系统块组成。数据库块的大小在创建数据库时由初始化参数db_block_size指定,并且在数据库建立后不能再更改 . db_block_size参数所指定的值将作为规范数据库块的大小,system表空间以及其他
22、表空间默许地运用规范数据库块大小。数据库块大小在数据库创建后就无法改动。比如,如下设置的db_block_size参数将规范数据库块指定为4KB: db_block_size=4096 对于I/O密集的操作来说,运用双倍大小的数据库块可以提高40左右的I/O性能。需求留意的是,随着数据库块大小的添加,数据库对内存(SGA区)的需求也会随之添加,因此数据库块过大也会对系统性能产生负面的影响 .4指定与SGA区相关的参数 SGA区是被一切进程共享的内存区,是实例的组成部分。它由数据缓冲区、日志缓冲区和共享池组成。 1db_cache_size参数指定数据缓冲区的大小 ,它是一个动态参数,可以在实例
23、运转过程中动态改动,它的大小对数据库性能影响很大。运用较大的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个参数用于指定具有非规范块大小的数据缓冲
24、区的大小。比如: db_block_size=4096db_cache_size=12Mdb_2K_cache_size =8Mdb_8K_cache_size =4M经过以上参数的设置,为数据库指定规范块大小为4k,规范块对应的数据缓冲区大小为12MB,此外2KB和8KB大小的非规范块对应的数据缓冲区的大小分别为8MB和4MB。 .2shared_pool_size参数用于设置SGA区中共享池的大小 ,shared_pool_size参数也是一个动态参数。此外,假设数据库被设置为共享效力器操作方式,还需求设置large_pool_size参数,以创建大池。 3log_buffer参数用于指定
25、重做日志缓冲区的尺寸。例如: log_buffer=32768 经过以上参数的设置,日志缓冲区指定的大小为32768字节。 4sga_max_size参数用于限制SGA区所能运用的最大内存空间。虽然SGA区中数据缓冲区、共享池等组件的大小在Oracle 9i中都能动态调整,但是它们的总和不能超越由sga_max_size参数所指定的值。假设用户没有指定sga_max_size参数,那么sga_max_size参数的默许值为初始化参数文件中设置的SGA区各组件大小的总和。 .5指定最大并发进程数 由process参数指定Oracle可以并发执行的操作系统进程的最大数目。process参数的最小值
26、是6(每个数据库至少要启动5个后台进程,再加上1个用户进程)。比如,假设预测最多会有50个用户进程并发衔接数据库,那么process参数至少需求设置为55。 6指定撤销表空间的管理方式 在Oracle 9i中,有两种管理撤销表空间的方法:自动撤销空间管理或手工撤销空间管理。参数undo_management用于指定管理undo数据的方式,该参数是Oracle 9i新添加的参数。 . 假设设置该参数为manual,那么管理undo数据依然运用回滚段;假设设置为auto,那么运用undo表空间自动管理undo数据。 在手工撤销管理方式下,必需运用rollback_segments参数为数据库指定回
27、退段。rollback_segments参数通常是一个可用回退段的称号列表。假设没有在初始化参数文件中设置rollback_segments参数,Oracle 将运用system回退段。 建议在数据库中运用自动撤销管理方式,运用撤销表空间而不是回退段来存储撤销信息。例如: undo_management=auto unto_tablespace=undotbs 以上参数设置撤销表空间的管理方式为自动,运用撤销表空间undotbs来存储撤销记录。 假设参数undo_management被设置为auto,必需运用undo_tablespace参数为数据库指定撤销表空间,而且undo_tablesp
28、ace所对应的undo表空间必需存在,否那么会导致Oracle Server无法启动。在创建数据库时,默许情况下Oracle会自动创建一个称号为undotbs的默许撤销表空间。 .7跟踪文件和警告文件的存放位置 background_dump_dest参数用于指定后台进程跟踪文件和警告文件所在的目录。 user_dump_dest该参数用于指定用户进程跟踪文件所在的目录。例如: background_dump_dest= d:oracleadminstudentbdumpuser_dump_dest= d:oracleadminstudent udump 以上参数设置,将后台进程跟踪文件和警告
29、文件所在的目录设置为 d:oracleadminstudentbdump 将用户进程跟踪文件所在的目录设置为 d:oracleadminstudent udump .8归档日志文件的存放位置 参数log_archive_dest_1由于存放归档日志文件的位置。例如: log_archive_dest_1= location=d:oracleoradatamaster“ 9指定特权用户的认证方式 假设特权用户经过口令文件的方式认证,要将参数remote_login_passwordfile设置为exclusive或shared。假设该参数设置为shared表示多个实例共享一个口令文件,且特权用户
30、只能有一个sys。假设该参数设置为exclusive表示口令文件只能由一个实例公用,并且可以配置多个特权用户。假设将该参数设置为none,表示特权用户运用操作系统认证方式。例如: remote_login_passwordfile=exclusive 将特权用户的认证方式设置为口令文件,并且可以设置多个特权用户。 .下面为参数文件的部分内容: db_name=studentinstance_name=studentcontrol_files=(d:oracleoradatacontrol01.ctl, e:oracleoradatacontrol02.ctl, f:oracleoradatac
31、ontrol03.ctl)log_archive_dest_1= location=d:oracleoradatastudentdb_block_size=2048db_cache_size=30Mshared_pool_size=15728640log_buffer=32768background_dump_dest=d:oracleadminstudentbdumpremote_login_passwordfile=exclusiveundo_management=autounto_tablespace=undotbs.4.2.2 效力器端参数文件1效力器端参数文件 从Oracle 8i开
32、场,有许多初始化参数都成为了动态参数,也就是说可以在数据库运转期间利用alter system或alter session语句来修正初始化参数,并且不需求重新启动数据库,修正就可以立刻生效。但是运用alter system语句对初始化参数进展的修正并不能保管在初始化参数文件中。因此,在下一次启动数据库时,Oracle依然会运用初始化参数文件中的参数设置对实例进展配置。假设要永久性地修正某个初始化参数,DBA必需经过手工方式对初始化参数文件进展编辑,这就为初始化参数的管理带来了不便。 并且对于文本初始化参数文件,无论是启动本地数据库还是远程数据库,都会读取本地的初始化参数文件,并运用其中的设置来
33、配置数据库。也就是说假设DBA需求以远程方式启动数据库,必需在本地的客户机中保管一份初始化参数文件的备份。由于文本初始化参数文件存在的这些不便,因此在Oracle 9i中引入了效力器端初始化参数文件spfile。 . 效力器端初始化参数文件以二进制方式保管在效力器端,用户不能直接对它进展修正,只能经过alter system语句来修正其中的初始化参数,虽然可以翻开它查看其中的内容,但是任何用户都不该当手工对其中的内容进展编辑,否那么实例将无法启动。 效力器端初始化参数文件一直存放在数据库效力器端,默许地保管在%oracle_home%databases目录中,默许称号为spfile.ora。启
34、动实例时,默许读效力器端初始化参数文件。 假设DBA需求远程启动实例,不需求在客户机中保管一份初始化参数文件,实例会自动从效力器中读取效力器端初始化参数文件的内容。这样做的另一个优点是可以确保同一个数据库的多个实例都具有完全一样的初始化参数设置。 .2用初始化参数文件启动实例 数据库启动时,Oracle 9i默许读取效力器参数。假设没有定义效力器参数,或效力器参数文件破坏,那么自动读取文本参数文件。假设要运用文本参数启动数据库,那么必需运用pfile指出数据库文本文件名及途径。在执行startup语句启动数据库时,它将按照如下顺序寻觅初始化参数文件: (1) 首先检查能否运用了pfile参数指
35、定了文本初始化参数文件。假设有pfile参数,就用pfile参数指定的文本初始化参数文件启动实例。 (2) 假设没有pfile参数,在默许位置检查能否存在效力器端初始化参数文件。假设存在,就用默许位置的效力器端参数文件启动实例。 (3) 没有运用pfile参数,也没有效力器端初始化参数文件,或该文件被破坏了,那么在默许位置寻觅默许称号的文本初始化参数文件,用该文本文件启动实例。.运用效力器参数文件spfileSID.ora启动数据库命令如下:c:sqlplus/nologsqlconnect /as sysdbasqlstartup 运用文本文件pfile启动数据库 :c:sqlplus/no
36、logsqlconnect /as sysdbasqlstartup pfile=d:oracleora90databaseinitstudent.ora 但是,不得运用spfile参数指出效力器参数文件名及途径。例如: sqlstartup spfile= d:oracleora90databasespfilestudent.ora 结果显示: sp2-0714:invalid combination of startup options .3创建效力器参数 Oracle 9i效力器可以自动调整数据库参数。数据库创建后,可以运用命令create spfile从文本文件转换为数据库创建效力器参
37、数,也可以从spfile创建文本型参数文件,实现参数文件的相互转换。 在数据库创建或安装胜利后,启动数据库,运用效力器参数文件创建文本文件的命令如下: sqlcreate pfile from spfile= d:oracleora90databasespfilestudent.ora 那么在默许途径中创建系统默许的文本参数文件init$oracle_sid.ora。 .也可以运用pfile指出要创建的文本参数文件名以及途径: sqlcreate pfile=d:oracleora90databaseinitstudent.ora from spfile=d:oracleora90databa
38、sespfilestudent.ora“或 sql create pfiled:oracleora90databaseinitstudent.ora from spfile 在上述命令执行胜利后,自动产生了数据库的文本文件 。.创建效力器参数文件有多种方法:方法1:创建默许的效力器参数文件 sqlcreate spfile from pfile=d:oracleora90databaseinitstudent.ora 执行上述命令后,在默许途径中创建了一个系统默许的效力器参数文件,文件名为spfile$oracle_sid.ora。 方法2:运用默许的文本参数文件在默许途径中创建效力器参数文件
39、。 sqlcreate spfile from pfile; 方法3:运用spfile指出要创建的文本参数文件名及途径。 .sqlcreate spfile=d:oracleora90databasespfilestudent.ora from pfile=d:oracleora90databaseinitstudent.ora“或 sqlcreate spfile=d:oracleora90databasespfilestudent.ora from pfile .可以运用show命令检测数据库中能否运用效力器参数文件,假设显示为空值,那么表示该数据库运用文本类型参数文件。例如: sqlsh
40、ow parameter spfile 假设数据库正在运用文本类型参数运转,可以按下面方法,将数据库修正为运用效力器参数方式运转: sqlcreate spfile from pfile;sqlshutdown immediatesqlstartup .4在线修正数据库参数 在Oracle 9i中,运用效力器端参数文件后,可以像修正数据一样对初始化参数进展在线修正。可以执行alter system指令在线更改某些初始化参数,而且修正后的参数可以立刻生效,或者在下一个实例启动后生效。这可以利用在set子句中scope选项来进展控制。 scope选项的设置有三种选择: 1当scope=spfile
41、时,对参数的修正仅记录在效力器端初始化参数文件中。该选择同时适用于动态初始化参数与静态初始化参数。修正后的参数只需在下一次启动数据库时更改的参数才会生效。在修正静态初始化参数时,只能将scope选项设置为spfile。 . 2当scope=memory时,对参数的修正仅记录在内存中,不会写入spfile。对于动态初始化参数,更改将立刻生效,并且由于修正并不会被记录在效力器端初始化参数文件中,在下一次启动数据库时依然会运用修正前的参数设置。对于静态初始化参数,不能运用这个选项值。 3当scope=both时,对参数的修正将同时记录在内存和效力器端初始化参数文件中。对于动态初始化参数,更改将立刻生
42、效,并且在下一次启动数据库时将运用修正后的参数设置。对于静态初始化参数,不能运用这个选项值。假设数据库运用了效力器端初始化参数文件,在执行alter system语句时,Oracle默许地将scope选项设置为both。 .留意: 1在修正动态初始化参数时,还可以指定deferred关键字,这样对参数所做的修正将延迟到新的会话产生时才生效。 2假设数据库没有运用效力器端初始化参数文件,在alter system语句中将scope选项设置为spfile或both将会产生错误。 3还可以在运转实例时运用alter session命令对动态初始化参数进展修正。运用alter session命令修正的
43、参数只对当前会话有效,alter system命令修正的参数不断到实例封锁都有效,alter system deferred命令对未来衔接的会话有效,当前会话无效。 .例如,利用下面的语句对动态初始化参数log_checkpoint_interval进展修正,修正结果不仅在当前实例中有效,而且还将记录在效力器端初始化参数文件中: sqlalter system set log_checkpoint_interval=50 comment=Specifies the frequency Of checkpoints; 假设要修正静态初始化参数db_files,必需将scope选项设置为spfil
44、e: sqlalter system set db_files=100 scope=spfile; .查看初始化参数的设置1在SQL*PLUS中运用SHOW PARAMETERS命令2查询V$PARAMETER或V$PARAMETER2动态性能视图, V$PARAMETER2视图的格式更加简约。3运用CREATE PFILE语句将效力器端初始化参数文件导出为可读的文本初始化参数文件。4查询v$SPPARAMETER动态性能视图,其中包括在效力器 端初始化参数文件中的初始化参数设置。.4.3 启动和封锁Oracle效力器 启动和封锁Oracle效力器的方法有多种,可以运用OEM、Sql*plus
45、、命令行或操作系统的效力。启动或停顿一个Oracle效力器的用户必需具有sysdba或sysoper权限。 4.3.1 启动Oracle效力器的步骤 Oracle效力器的启动是分步骤进展的,包括实例的启动、数据库的加载和数据库翻开3个步骤。因此Oracle效力器能够处于三种形状:实例已启动、数据库已加载、数据库已翻开。 .1.启动实例启动实例包括以下义务:(1)读取参数文件init.ora或spfile .ora(2)分配sga(3)启动后台进程(4) 翻开alert文件以及跟踪文件 在实例的启动过程中只会运用到初始化参数文件,数据库能否 存在对实例的启动并没有影响。假设初始化参数设置有误,实
46、例将无法启动。.2.为实例装载数据库装载数据库包括以下义务:(1)使数据库与以前启动的例程关联(2)定位并翻开参数文件中指定的控制文件(3)读取控制文件以获取数据文件和重做日志文件的称号和形状,为翻开数据库做好预备 。 加载数据库时,实例将翻开控制文件,从控制文件中获取数据库的称号、数据文件的位置和称号等关于数据库物理构造的信息,为翻开数据库做好预备 。假设控制文件损坏,实例将无法加载数据库。在加载阶段,实例并不会翻开数据库的物理文件数据文件和重做日志文件。.3. 翻开数据库正常数据库操作是指启动例程、装载并翻开数据库,它允许任何有成效户衔接数据库并执行普通的数据访问操作。翻开数据库包括以下义
47、务:(1)翻开联机数据文件(2)翻开联机重做日志文件 假设在控制文件中列出的任何一个数据文件或重做日志文件无法正常翻开,数据库将前往错误信息,这是需求进展数据库恢复。 只需将数据库设为翻开形状后,数据库才处于正常运转形状,这时普通用户才可以访问数据库。.由于管理方面的要求,DBA要根据不同的情况决议以不同的方式启动数据库:1启动实例不加载数据库NOMOUNT方式运用的命令:SQLstartup nomount假设要执行以下维护任务:A:创建数据库B:重建控制文件那么必需在该方式下进展.2启动实例加载数据库但不翻开数据库MOUNT方式假设要执行特定的维护义务,可启动例程并装载数据库,但不要翻开数
48、据库。例如:(1)命名数据文件(2) 改动数据库的归档方式(3)执行完全数据库恢复4添加、删除或重命名重做日志文件Sqlstartup mount.3.启动实例加载数据库并翻开数据库OPEN方式这是正常的启动方式。普通用户要对数据库进展操作,数据库必需处于OPEN启动方式。Sqlstartup . 1实例在nomount阶段启动时,就可以从内存访问读取动态性能视图(与SGA有关的视图),例如:v$parameter、v$sga、v$option、v$process、v$session、v$version和v$instance。 2当实例在mount阶段启动时,就可以从控制文件读取动态性能视图,
49、例如: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 列出控制
50、文件称号v$database 包含数据库信息v$datafile 包含来自控制文件的数据文件信息v$datafile_header 包含来自控制文件的数据文件标题的信息v$logfile 包含关于联机重做日志文件的信息.转换启动方式在数据库的各种启动方式之间切换需求运用ALTER DATABASE语句,执行该语句的用户必需具有ALTER DATABASE系统权限。1、为实例加载数据库在执行一些特殊的管理或维护操作时,需求进入NOMOUNT启动方式。切换到MOUNT方式:ALTER DATABASE MOUNT2、从加载形状进入翻开形状为实例加载数据库后,数据库能够依然处于封锁形状。为了运用户可
51、以访问数据库,可以运用如下语句切换到OPEN启动方式:ALTER DATABASE OPEN;.切换到受限和只读形状1、受限形状 在正常启动方式OPEN下,可以选择将数据库设置为非受限形状或受限形状。 在受限形状下,只需具有管理权限的用户DBA才干访问数据库。当执行以下维护操作时,必需将数据库置于受限形状:1执行数据导入或导出操作 2运用SQL*Loader提取外部数据 3需求暂时回绝普通用户访问数据库 4进展数据库移植或者晋级操作. 在默许情况下,普通数据库用户只具有CREATE SESSION系统权限。只需具有CREATE SESSION权限的用户才可以衔接到一个翻开的数据库中,并且衔接的
52、数据库必需处于非受限形状。 当翻开的数据库被设置为受限形状时,仅具有CREATE SESSION权限的用户在访问数据库时将被回绝。只需同时具有CREATE SESSION和RESTRICTED SESSION系统权限的用户才可以访问受限形状的数据库。 通常只将RESTRICTED SESSION系统权限授予DBA用户。.A:运用下面的语句,数据库将进入受限形状:STARTUP RESTRICTB:假设需求将数据库恢复为非受限形状ALTER SYSTEM DISABLE RESTRICTED SESSIONC:由非受限形状切换到受限形状ALTER SYSTEM ENABLE RESTRICTED
53、 SESSION.2、只读形状可以运用ALTER DATABASE语句在数据库运转过程中切换为只读方式:ALTER DATABASE OPEN READ ONLY运用下面语句将数据库设置为读写方式:ALTER DATABASE OPEN READ WRITE3、强行启动数据库在各种启动方式都无法胜利启动数据库时,需求强行启动数据库,在如下几种情况下需求强行启动数据库 : 无法运用shutdown normal、shutdown immediate或者shutdown transactional语句封锁数据库实例。 在启动实例时出现无法恢复的错误 STARTUP FORCE 假设在强行启动时,数
54、据库曾经有一个实例正在运转,Oracle将首先封锁该实例,然后再重新为这个数据库启动一个新的实例 .封锁数据库按阶段封锁数据库与数据库的启动相对应,封锁数据库也是分步骤进展的1.封锁数据库Oracle效力器将缓冲区高速缓存中的更改及操作日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件。以后,封锁一切联机数据文件和联机重做日志文件。在数据库封锁但仍装载时,控制文件不断翻开。2.卸载数据库封锁控制文件,但例程仍保管3.封锁实例Alert文件和跟踪文件将封锁,sga被回收并且后台进程被终止。.封锁Oracle效力器的四种方式 1.执行normal方式封锁制止新的用户衔接,当一切的用户自愿断开
55、时,oracle才封锁数据库。 sqlshutdown normal 这是一种最有耐心的封锁方式,这种方式不许新的用户衔接,但是要等已有的一切用户衔接自愿断开时,Oracle才可以封锁数据库。一旦一切的用户都断开衔接,立刻封锁数据库、卸载数据库,并终止实例。 .2.执行immediate方式封锁 这种方式不允许新的用户衔接,任何未提交的事务均被回退;不在等待用户自动断开衔接,直接封锁、卸载数据库,并终止实例。在正常封锁失效的情况下,最常运用的一种。 sqlshutdown immediate3.执行abort方式封锁数据库立刻封锁,对数据库的效力被忽然终止;一切的用户被断开衔接,一切的过程被终
56、止,一切的资源被释放。为一种最后的手段运用。 当数据库实例被破坏时,可用此方式封锁数据库 sqlshutdown abort由于当前未完成的事务并不会被回退,需求进展实例恢复。4. 执行transactional方式封锁等待当前一切活动事务都提交后再封锁数据库。时间介于正常方式与立刻方式之间。 sqlshutdown transactional.启动和封锁Oracle效力 在Windows NT/2000平台中,只需在启动了Oracle的OracleOraHome90TNSListener和OracleServicemath效力(假设数据库名为math)后,才干衔接到实例。 假设没有启动监听器
57、效力OracleOraHome90TNSListener就衔接到Oracle会出现Ora-12541:TNS:没有监听器错误。假设没有启动OracleServicemath效力就衔接到Oracle会出现ORA-12560:TNS:协议适配器错误。 . 效力的启动方式有多种,1可以运用oradim命令启动效力,2也可以运用net start命令启动效力,3还可以运用Windows的操作系统效力来启动效力。 A:假设用oradim命令可以决议是只启动效力,还是效力和实例一同启动。B:假设用net start命令只启动效力。 C:假设用操作系统启动效力,实例也随着启动了。假照实例曾经启动,再用sta
58、rtup命令去启动实例,会发生“ORA-01081:无法启动已在运转的Oracle-请先封锁的错误。 . 同样,效力的封锁方式也有多种,1可以运用oradim命令封锁效力,2也可以运用net start命令封锁效力,3还可以运用Windows的操作系统效力来封锁效力。 A:假设用oradim命令可以决议是只封锁效力,还是效力和实例一同封锁。 B:假设用net start命令只封锁效力。C:假设用操作系统封锁效力,实例也随着封锁了 .设置oracle_sid 1 一个实例只能与一个数据库关联,一个数据库可以有多个实例。在操作系统中,实例是用环境变量oracle_sid来独一标识的。 2在注册表中
59、翻开项hkey_local_machinesoftwareoraclehome0之后,查看字串oracle_sid可以获得默许实例的称号。 3假设他的平台上包含了多个实例,并且他要管理本人的实例,那么可以在命令行设置环境变量oracle_sid或者在注册表中修正oracle_sid。在windows环境下,提供设置oracle_sid环境变量来指定启动或终止的是哪一个数据库实例。例:设置当前实例变量并查看当前实例变量值c:set oracle_sid (显示当前的实例)c:set oracle_sid=math (设置当前实例为math) .2. 运用命令行net start启动和封锁Orac
60、le效力c:lsnrctl start (启动OracleOraHome90TNSListener效力)c:net start OracleServicemath (启动OracleServicemath效力)当执行了以上命令后会将实例效力math启动。 c:lsnrctl stop (封锁OracleOraHome90TNSListener效力)c:net stop OracleServicemath (封锁OracleServicemath效力)当执行了以上命令后会将实例效力math封锁。 .3用命令行oradim启动和封锁效力 (1)c:oradim startup sid math s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国机械式太阳灯烘发器市场调查研究报告
- 2025年中国家具烤漆房市场调查研究报告
- 2025年中国大灯壳市场调查研究报告
- 2025年中国外墙固底漆市场调查研究报告
- 租地合同附属协议模板
- 盘买卖合同协议
- 租用岗亭保安亭合同协议
- 班级学习委员月度工作计划
- 小县城租赁服务合同协议
- it企业劳动合同协议
- 固体化学导论 第八章固体的扩散与表面化学 第九章固相反应课件
- 2025年内蒙古赤峰新正电工技术服务有限公司招聘笔试参考题库含答案解析
- 瑜伽授课合同协议
- 电梯有限空间作业安全专项施工方案
- 考后析得失思则得未来-(班会课)段考后试卷分析培养成长型思维
- 2025年江西九江市城市发展集团有限公司招聘笔试参考题库含答案解析
- 女性生命觉醒
- 机械行业重点岗位安全手册
- 基于大数据的公共安全风险预测模型研究报告
- 2025年广东省广州市荔湾区中考一模英语模拟试题
- DBJ33∕T 1104-2022 建设工程监理工作标准
评论
0/150
提交评论