,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第七讲,Oracle,实例管理,本章学习目标,每个实例对应一个ORACLE数据库,用户对数据库的操作由实例完成。本章将介绍登录数据库、初始化参数文件、启动和关闭数据库的根本知识。,1,7.1,用户身份认证,7.2,初始化参数文件,7.3,启动数据库,7.4,关闭数据库,2,7.1,用户身份认证,在数据库创立之后,只有具有合法身份的用户才能够访问数据库。用户身份认证方式有:,(1)操作系统认证,(2)口令认证,(3)数据库效劳器认证,在执行如启动实例、加载和翻开数据库等操作时(这些操作数据库还没翻开)就不能使用数据库效劳器的认证方式,只能使用操作系统和口令认证方式,3,操作系统认证,以下情况使用该方法:,(1)管理远程数据库时,具有平安的网络连接(secure connection)。,(2)管理本地数据库时,想使用OS认证。,操作步骤:,(1)建立一个OS系统用户,(2)将这个用户参加到OSDBA或者OSOPER的OS组。,(3)设置参数REMOTE_LOGIN_PASSWORD,(4)CONNECT/AS SYSDBA,4,关于OSDBA和OSOPER组,OSDBA对应:UNIX为dba;WINDOWS为ORA_DBA,OSOPER对应:UNIX为oper;WINDOWS为ORA_OPER,这些用户组在安装数据库的时候手工或者自动创立,这些组的成员以as sysdba/sysoper 连接数据库后,自动授予sysdba/sysoper的管理权限。,5,口令文件认证,以下情况使用该方法:,(1)管理远程数据库时,没有平安的网络连接(secure connection),比方TCP/IP和DECnet协议。,(2)管理本地数据库时,不想使用OS认证。,Oracle数据库的密码文件,存放有超级用户SYS及其他特权用户的用户名/口令,一般存放在ORACLE_HOMEDATABASE目录下。在创立数据库实例的时侯,在ORACLE_HOMEDATABASE目录下还自动创立了一个与之对应的密码文件,文件名为PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。此密码文件是进行初始数据库管理工作的基础。在此之后,管理员也可以根据需要,使用工具ORAPWD.EXE手工创立密码文件,,6,操作步骤:,(1)使用ORAPWD创立密码文件(其中的password选项是为SYS用户设置的),C ORAPWDFILE=,PASSWORD=PASSWORD ENTRIES=,(2)设置参数REMOTE_LOGIN_PASSWORD,(3)使用sys用户登陆,(4)在数据库中创立用户,create user donny1 identified by donny1;,(5)赋予其SYSDBA/SYSOPER权限,grant sysdba to donny1;,这样就将用户和密码参加到密码文件中。,(6)使用自己的密码logon,connect donny1/donny1 as sysdba;,7,V$PW,使用该视图查看密码文件中的,member,select*from v$pw;,8,数据库效劳器认证,DBA需要为每个想登录Oracle效劳器的用户创立用户和口令,登录时用户必须提供用户名和口令,该方式是最常用的用户身份验证方式,9,7.2,初始化参数文件,在每一个数据库中都有一个初始化参数文件,该文件决定数据库的物理结构、内存、数据库的极限及系统大量的默认值,是进行数据库设计与性能调节的重要文件。,10,7.2.1 文本参数文件,7.2.2 效劳器端参数文件,11,7.2.1,文本参数文件,在安装Oracle数据库时,系统自动创立了一个传统的文本参数文件pfile,Oracle 9i提供了200多个初始化参数,并且每个初始化参数都有默认值。,12,P.ora,文本文件,使用操作系统编辑器翻开、修改,手工修改内容,所做修改在下次启动时生效,在实例启动时翻开,缺省位置,ORACLE_HOMEdatabaseinitSID.ora,13,创立参数文件,根据init.ora样例文件创立,样例文件由Oracle Universal Installer安装,使用操作系统命令拷贝,使用数据库SID做为标识,修改InitSID.ora文件,编辑参数,为数据库指定参数,14,PFILE,例子,#Initialization Parameter File:initdba01.ora,db_name =dba01,instance_name =dba01,control_files =(/home/dba01/ORADATA/u01/control01dba01.ctl,/home/dba01/ORADATA/u02/control01dba02.ctl),db_block_size =4096,db_cache_size =4M,shared_pool_size =50000000,java_pool_size =50000000,max_dump_ =10240,background_dump_dest=/home/dba01/ADMIN/BDUMP,user_dump_dest =/home/dba01/ADMIN/UDUMP,core_dump_dest =/home/dba01/ADMIN/CDUMP,undo_management =AUTO,undo_tablespace =UNDOTBS,.,15,7.2.2 效劳器端参数文件,文本参数文件的限制,使用,alter system,语句对初始化参数进行的修改并不能保存在初始化参数文件中。因此,在下一次启动数据库时,,Oracle,依然会使用初始化参数文件中的参数设置对实例进行配置。,对于文本初始化参数文件,无论是启动本地数据库还是远程数据库,都会读取本地的初始化参数文件,并使用其中的设置来配置数据库。,16,SP.ora,Oracle9i的新特点,二进制文件,保存在效劳器上,由Oracle效劳器管理、维护,可以通过alter system语句来修改其中的初始化参数,RMAN能备份此参数文件,缺省文件位于ORACLE_HOMEdatabase下,17,创立 SPFILE,从 PFILE 文件创立,sqlcreate spfile=d:oracleora90databasesp from pfile=d:oracleora90databaseinitstudent.ora,实例启动前后均可以执行,执行命令者必须具有SYSDBA权限,18,修改,SPFILE,中参数,改变参数的命令,ALTER SYSTEM SET undo_tablespace=UNDO2;,指明是临时改变还是长期改变,SCOPE=MEMORY,(只对当前实例生效),SCOPE=SPFILE,(只对,SPFILE,文件生效),SCOPE=BOTH,(对两者均生效),例:,ALTER SYSTEM SET undo_tablespace=UNDO2 SCOPE=BOTH;,19,数据库启动时,spfile,和,pfile,的加载顺序,在,windows,系统中,数据库启动时会按如下顺序查找启动参数文件:,%,ORACLE_HOME%databaseSP.ora%ORACLE_HOME%databaseSP%ORACLE_HOME%databaseinit.ora,unix,或,linux,系统中,数据库启动时会按如下顺序查找启动参数文件:,%,ORACLE_HOME%dbsSP.ora%ORACLE_HOME%dbsSP%ORACLE_HOME%dbsinit.ora,也就是说,,先找,sp.ora,文件,,如果,sp.ora,没有则找,sp,文件,,最后才会去找,init.ora,的,pfile,文件.,20,7.3 启动数据库效劳器,Oracle效劳器的启动是分步骤进行的,包括实例的启动、数据库的加载和数据库翻开3个步骤。因此Oracle效劳器可能处于三种状态:实例已启动、数据库已加载、数据库已翻开。,21,启动实例,启动实例包括以下任务:,读取参数文件init.ora或spfile.ora,分配SGA,启动后台进程,翻开alert文件以及跟踪文件,22,装载数据库,装载数据库包括以下任务:,使数据库与以前启动的例程关联,定位并翻开参数文件中指定的控制文件,读取控制文件以获取数据文件和重做日志文件的名称和状态,为翻开数据库做好准备,23,翻开数据库,正常数据库操作是指启动例程、装载并翻开数据库,它允许任何有效用户连接数据库并执行一般的数据访问操作,翻开数据库包括以下任务:,翻开联机数据文件,翻开联机重做日志文件,24,STARTUP NOMOUNT,该模式下启动实例不加载数据库。,如果要执行以下维护工作:,创立数据库,重建控制文件,则必须在该模式下进行,25,26,只有,SYSDBA,才可以连接到数据库,普通的数据库用户是无法访问的,27,STARTUP MOUNT,启动实例加载数据库但不翻开数据库。普通用户不能正常连接,一般是DBA用于出错故障时进行恢复,例如:,命名数据文件,改变数据库的归档模式,执行完全数据库恢复,添加、删除或重命名重做日志文件,28,NOMOUNT,MOUNT,29,STARTUP,或,STARTUP OPEN,这是正常的启动模式。普通用户要对数据库进行操作,数据库必须处于,OPEN,启动模式,30,MOUNT,OPEN,31,只读和读写模式切换,在数据库运行过程中切换为只读模式,ALTER DATABASE OPEN READ ONLY,将数据库设置为读写模式,ALTER DATABASE OPEN READ WRITE,32,STARUP RESTRICT,约束方式启动,这种方式能够启动数据库,但只允许具有一定特权的用户访问,非特权用户访问时,会出现以下提示:,ERROR,:,ORA-01035:ORACLE,只允许具有,RESTRICTED SESSION,权限的用户使用,把数据库启动到限制状态,这时只允许本机进行连接和查询,远程终端不能连接,一般用于升级数据库或给数据库打小补丁。,33,STARTUP FORCE,强制启动方式。,当不能关闭数据库时,可以用,startup force,来完成数据库的关闭,先关闭数据库,再执行正常启动数据库命令(这一强制过程由系统自动完成)。,34,STARTUP PFILE=,参数文件名,带初始化参数文件的启动方式。,先读取参数文件,再按参数文件中的设置启动数据库 例:,startup pfile=E:init.ora,这种方式通常用于一些特殊任务,如更改了,init.ora,参数文件的位置,或者测试,init.ora,文件的配置等等。,35,7.4,关闭数据库,关闭数据库,Oracle效劳器将数据库数据缓冲区中的更改及重做日志缓冲区中的条目写入数据文件和联机重做日志文件。此后,关闭所有联机数据文件和联机重做日志文件。,卸载数据库,关闭控制文件,但例程仍保存,关闭实例,Alert文件和跟踪文件将关闭,SGA被回收并且后台进程被终止。,36,SHUTDOWN NORMAL,缺省模式,不允许建立新的连接,在完全关闭前,等待所有用户断开连接,正常关闭(在实例关闭前,关闭、卸载数据库),下次启动不需要实例恢复,37,SHUTDOWN TRANSACTION,客户端不能再启动新事务,客户端结束当前执行的事务后,效劳器为其断开连接,所有事务结束后(即所有连接断开),开始正常关闭,下次启动时,不需要实例恢复,38,SHUTDOWN IMMIDIATE,当前被,Server,处理,SQL,语句不能完成,Oracle Server,不等待当前连接用户断开,激活回滚事务,回滚未提交操作,断开所有连接,正常关闭数据库,下次启动时,不需要实例恢复,39,SHUTDOWN ABORT