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