资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,3/6/2020,#,单击此处编辑母版标题样式,本章知识要点:,参数文件的类型,常用的参数,创建参数文件,显示和设置初始化参数文件,启动数据库的步骤,启动模式,转换启动模式,数据库的关闭步骤,各种关闭数据库的方式,数据库的特殊状态,启动与关闭数据库服务,1,3.1,管理初始化参数,初始化参数用于设置实例和数据库的特征。通过设置初始化参数,不仅可以定义例程和数据库特征,还可以定义许多其他特征和限制。例如,通过使用初始化参数,可以定义,SGA,尺寸,设置数据库名称,定义用户和进程限制,定义控制文件,跟踪文件和警告日志的位置等。在,Oracle,数据库中,初始化参数是存储在参数文件中的,启动实例、打开数据库时都必须提供相应的参数文件。,2,3.1.1,常用初始化参数,Oracle 11g,提供了,200,多个初始化参数,并且多数初始化参数都具有默认值。使用,Oracle,数据库时,只需要根据特定需求设置相应的参数即可,并且多数参数都可以保留默认值。,从,ORACLE 8I,开始,可以通过,ALTER SYSTEM(ALTER SESSION),修改初始化参数。不保存在初始化参数文件里。,Oracle 9i,开始提供 服务器端初始化参数文件,(spfile),3,3.1.2,初始化参数文件,在传统上,,Oracle,在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为,PFILE,)。如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。,4,3.1.3,创建初始化参数文件,如果当前实例正在使用,SPFILE,,那么使用,ALTER SYSTEM,命令将无法修改某些初始化参数,如,DB_NAME,。为了修改这些初始化参数,必须建立,PFILE,,并且手工修改该,PFILE,文件的相应参数。可以使用,CREATE PFILE,命令可以建立文本参数文件,其语法如下:,5,create pfile=pfile_name from spfile=spfile_name,3.1.4,显示和设置初始化参数文件,为了显示所有初始化参数的位置,可以直接执行,SHOW PARAMETER,命令。例如:,6,SQLshow parameter,NAME TYPE VALUE,-,db_writer_processes integer 1,dbwr_io_slaves integer 0,ddl_lock_timeout integer 0,dg_broker_config_file1 string D:APPMANAGERPRODUCT11.1.0,DB_1DATABASEDR1ORCL.DAT,dg_broker_config_file2 string D:APPMANAGERPRODUCT11.1.0,DB_1DATABASEDR2ORCL.DAT,dg_broker_start boolean FALSE,.,3.1.4,显示和设置初始化参数文件,ALTER SYSTEM,语句时,可以在,SET,字句中通过,SCOPE,选项来设置语句的影响范围。,SCOPE=MEMORY,对参数的修改记录在内存。动态参数,立即生效。静态参数不能使用该选项。,SCOPE=SPFILE,修改记录在,SPFILE,中。修改后的参数在下一次启动数据库时生效。,SCOPE=BOTH,两者这和。默认选项。,7,3.2,启动数据库与实例,由于,Oracle,数据库的启动过程是分步进行的,因此数据库可以有多种模式启动。不同的启动模式之间能够相互切换。此外,除正常方式启动数据库外,还能够将数据库设置为受限状态或只读状态,以满足特殊管理工作的需要。,8,3.2.1,启动数据库的步骤,由于实例是,Oracle,用来管理数据库的一个实体,在启动数据库时将在内存中创建与该数据库所对应的实例。,Oracle,数据库的完整启动过程分为如下,3,个步骤:,1.,创建并启动与数据库对应的实例。,启动后台进程和服务进程,创建,SGA,等内存结构。只使用,参数文件,。,2.,为实例加载数据库,。,打开,控制文件,,获取数据库名称,数据库文件位置等有关物理结构的信息。不打开数据文件和日志文件。,3.,将数据库设置为打开状态。,打开联机,数据文件和日志文件,。,9,3.2.2,启动模式,由上面的介绍可知,数据库和实例的启动过程可以分为,3,个步骤:启动实例,加载数据库,打开数据库。数据库管理员可以根据实际情况的需要,以不同的模式启动数据库。启动数据库所使用的,STARTUP,命令格式如下:,startup nomount,启动实例不加载数据库,startup mount,加载数据库但不打开数据库,startup,打开数据库,startup force,强制启动数据库,10,startup nomount|mount|open|force,resetrict pfile=filename,3.2.2,启动模式(,nomount,),startup nomount,创建实例,并不加载数据库。启动模式中第一步骤,一般用途:,创建新数据库,重建控制文件,11,SQLshutdown immediate,数据库已经关闭。,已经卸载数据库。,ORACLE,例程已经关闭。,SQLstartup nomount,ORACLE,例程已经启动。,3.2.2,启动模式(,mount,),startup mount,加载数据库但不打开数据库。启动模式中第二步骤,一般用途:,重命名数据文件。,添加、删除或重命名重做日志文件,执行数据库完全恢复操作,改变数据库的归档模式,12,SQLshutdown immediate,数据库已经关闭。,已经卸载数据库。,ORACLE,例程已经关闭。,SQLstartup mount,ORACLE,例程已经启动。,3.2.3,转换启动模式,在进行某些特定的管理和维护操作时,需要使用某种特定的启动模式来启动数据库。但是当管理或维护操作完成后,需要改变数据库的启动模式。例如,为一个未加载数据库的实例加载数据库,或者将一个处于未打开状态的数据库设置为打开状态等。,13,SQL startup nomount,ORACLE,例程已经启动。,Total System Global Area 376635392 bytes,Fixed Size 1333312 bytes,Variable Size 310380480 bytes,Database Buffers 58720256 bytes,Redo Buffers 6201344 bytes,SQL alter database mount;-,加载数据库,数据库已更改。,SQL alter database open;-,打开数据库,数据库已更改。,3.2.3,转换启动模式(,受限状态),在,正常启动模式下(,OPEN,),可以选择将数据库设置为非受限状态和受限状态。在受限状态下,只有具有权限的用户才能访问数据库。以下维护操作时,需将数据库设置为受限状态。,执行数据导入或导出操作,暂时拒绝普通用户访问数据库,进行数据库移植或升级操作,14,SQL startup restrict,SQL alter system disable restricted session;,-,非受限状态,SQL alter system enable restricted session;,-,受限状态,3.2.3,转换启动模式(,只读状态),在,正常启动模式下(,OPEN,),可以选择将数据库设置为只读状态。在只读状态下,用户只能查询数据库,不能以任何方式对数据库对象进行修改,15,SQL startup mount,SQL alter database open read only;,-,只读状态,SQL alter database open read write;,-,读写状态,3.3,关闭数据库与实例,与数据库的启动相对应,关闭数据库时也是分步骤进行的。在关闭数据库与实例时,需要使用一个具有,SYSDBA,权限的用户账户连接到,Oracle,中,然后使用,SHUTDOWN,语句执行关闭操作。,16,3.3.1,数据库的关闭步骤,与启动数据库实例的,3,个步骤相同,关闭数据库与实例也可以分为,3,步:关闭数据,实例卸载数据库,最后终止实例。,17,shutdown normal|transactional|immediate|abort,3.3.2,正常关闭方式(,NORMAL,),如果对关闭数据库的时间没有限制,通常会使用正常方,式来关闭数据库。使用带有,NORMAL,子句的,SHTUDOWN,语句,将以正常方式关闭数据库,下面显示了在,SQL*Plus,中以正常,方式关闭过程:,1.,阻止任何用户建立新的连接,2.,等待当前所有正在连接的用户主动断开连接,已经连接的用户可以继续当前的操作。,3.,一旦所有用户都断开联机,则立即关闭、卸载数据库,终止实例。,18,SQL shutdown normal,数据库已经关闭。,已经卸载数据库。,ORACLE,例程已经关闭。,3.3.3,立即关闭方式(,IMMEDIATE,),立即方式能够在尽可能短的时间内关闭数据库。以,立即方式关闭数据库时,,Oracle,将执行如下操作:,1.,阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。,2.,任何未提交的事务均被回退。,3.Oracle,不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。,19,SQL shutdown immediate,数据库已经关闭。,已经卸载数据库。,ORACLE,例程已经关闭。,3.3.4,事务关闭方式(,TRANSACTIONAL,),事务方式介于正常关闭方式与立即关闭方式之间,它能,够在尽可能短的时间内关闭数据库,但是能够保证当前所有,的活动事务都可以被提交。使用事务方式关闭数据库时,,Oracle,将等待所有未提交的事务完成后再关闭数据库。,1.,阻止任何用户建立新的连接,同时阻当前联机的用户开始任何新的事务。,2.,等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。,3.,关闭、卸载数据库,并终止实例,20,SQL shutdown transactional,数据库已经关闭。,已经卸载数据库。,ORACLE,例程已经关闭。,3.3.5,终止关闭方式(,ABORT,),如果上述三种关闭方式都无法关闭数据库,说明数据库,产生了严重的错误,这时只能使用终止方式来关闭数据库。,终止关闭方式将丢失一部分数据信息,会对数据库的完整性,造成损害。因此,如果重新启动实例并打开数据库时,后台,进程,SMON,会执行实例恢复。一般情况下,应当尽量避免使,用这种方式来关闭数据库。,1.,阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务,2.,立即终止当前正在执行的,SQL,语句,3.,任何未提交的事务均不被回退,4.,立即断开所有用户的连接,关闭、卸载数据库,终止实例,21,3.4,数据库的特殊状态,静默状态和挂起状态是两种特殊的数据库状态。当数据库处理静默状态时,只有,SYS,和,SYSTEM,用户能够在数据库中进行操作。当数据库处于挂起状态时,数据库,I/O,操作都会被暂时停止。利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。,22,3.4.1,静默状态,在静默状态下,只有具有管理员权限的用户才能够在,数据库中执行查询、更新操作,运行,PL/SQL,程序,任何,非管理员用户都不能在数据库中执行任何操作。,在数据库运行过程中,执行如下的语句将进入静默状,态:,23,进入静默状态,SQL alter system quiesce restricted;,系统已更改。,恢复正常,SQL alt
展开阅读全文