资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Oracle,数据库应用教程,第9章 数据库的启动与关闭,1,本章内容,14.1数据库启动与关闭概述,14.2在SQL*Plus中启动与关闭数据库,14.3在OEM中启动与关闭数据库,14.4 Windows系统中数据库的自动启动,2,本章要求,掌握数据库启动与关闭的过程,掌握数据库启动方法,掌握数据库关闭的方法,了解数据库不同状态的特征及其转换,3,14.1 数据库启动与关闭概述,数据库启动与关闭的步骤,启动与关闭数据库的常用工具,数据库启动的准备,4,14.1.1数据库启动与关闭的步骤,数据库启动步骤,创立并启动实例 (初始化参数文件),装载数据库 (控制文件),翻开数据库 (数据文件与重做日志文件),5,创立并启动实例,根据数据库初始化参数文件,为数据库创立实例,启动一系列后台进程和效劳进程,并创立SGA区等内存结构。,装载数据库,装载数据库是实例翻开数据库的控制文件,从中获取数据库名称、数据文件和重做日志文件的位置、名称等数据库物理结构信息,为翻开数据库做好准备。如果控制文件损坏,实例将无法装载数据库。,翻开数据库,在此阶段,实例将翻开所有处于联机状态的数据文件和重做日志文件。如果任何一个数据文件或重做日志文件无法正常翻开,数据库将返回错误信息,这时数据库需要恢复。,6,数据库关闭步骤,关闭数据库(关闭数据文件与重做日志文件),卸载数据库(关闭控制文件),关闭实例 (释放内存、关闭后台进程),7,14.1.2启动与关闭数据库常用工具,SQL*Plus,在SQL*Plus环境中,用户以SYSDBA身份连接到Oracle后,可以通过命令行方式启动或关闭数据库。,OEM,利用OEM数据库控制台,可以完成数据库的启动与关闭操作。,RMAN,在Recovery Manager(RMAN)环境中可以通过命令行方式启动或关闭数据库。,8,14.1.3 数据库启动的准备,启动监听效劳,C:LSNRCTL START,翻开数据库效劳,C:ORACLE ORCL(ORCL为数据库名称),在Windows系统中使用效劳管理窗口启动监听效劳和数据库效劳,9,14.2在SQL*Plus中启动与关闭数据库,在SQL*Plus中启动数据库,在SQL*Plus中关闭数据库,数据库状态转换,10,14.2.1在SQL*Plus中启动数据库,数据库启动的三种模式,启动数据库的根本语法,STARTUP NOMOUNT|MOUNT|OPEN|FORCERESTRICT,P,启 动 模 式,说 明,NOMOUNT,创建并启动数据库实例,对应数据库启动的第一个步骤,MOUNT,启动实例并装载数据库,对应数据库启动的第二个步骤,OPEN,启动实例、装载并打开数据库,对应数据库启动的第三个步骤,11,STARTUP NOMOUNT,读取数据库初始化参数文件,创立并启动数据库实例。,在NOMOUNT模式下可以执行以下操作:,创立一个新的数据库,重建数据库的控制文件,STARTUP MOUNT,根据CONTROL_FILES参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,实现数据库的装载。,在MOUNT模式下可以执行以下操作:,重命名数据文件,添加、删除或重命名重做日志文件,改变数据库的归档模式,执行数据库完全恢复操作,12,STARTUP OPEN,任何具有CREATE SESSION权限的用户都可以连接到数据库,并可以进行根本的数据访问操作。,STARTUP FORCE,用于当各种启动模式都无法成功启动数据库时强制启动数据库。,在以下情况下,需要使用STARTUP FORCE命令启动数据库:,无法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION语句关闭数据库实例。,在启动实例时出现无法恢复的错误。,13,STARTUP RESTRICT,只有具有CREATE SESSION和RESTRICTED SESSION系统权限的用户才可以连接数据库。,以下操作需要使用STARTUP RESTRICT方式启动数据库,执行数据库数据的导出或导入操作,执行数据装载操作,暂时阻止普通用户连接数据库,进行数据库移植或升级操作,STARTUP P,默认效劳器端初始化参数文件,默认文本文件,14,14.2.2在SQL*Plus中关闭数据库,关闭数据库,Oracle将重做日志缓冲区内容写入重做日志文件中,并且将数据高速缓存中的脏缓存块写入数据文件,然后关闭所有数据文件和重做日志文件。,卸载数据库,数据库关闭后,实例卸载数据库,关闭控制文件。,关闭实例,卸载数据库后,终止所有后台进程和效劳器进程,回收内存空间,15,关闭数据库的根本语法,SHUTDOWN NORMAL|TRANSACTION|IMMEDIATE|ABORT,SHUTDOWN NORMAL,阻止任何用户建立新的连接;,等待当前所有正在连接的用户主动断开连接;,一旦所有用户断开连接,则关闭数据库;,数据库下次启动时不需要任何实例的恢复过程。,16,SHUTDOWN IMMEDIATE,阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;,回滚所有当前未提交的事务;,终止所有用户的连接,直接关闭数据库;,数据库下一次启动时不需要任何实例的恢复过程。,SHUTDOWN TRANSACTION,阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;,等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接;,关闭数据库;,数据库下一次启动时不需要任何实例的恢复过程。,17,SHUTDOWN ABORT,阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务。,立即结束当前正在执行的SQL语句。,任何未提交的事务不被回滚。,中断所有的用户连接,立即关闭数据库。,数据库实例重启后需要恢复。,18,14.3.3数据库状态转换,启动模式间转换,STARTUP NOMOUNT;,ALTER DATABASE MOUNT;,ALTER DATABASE OPEN;,读写状态转换,ALTER DATABASE OPEN READ WRITE;,ALTER DATABASE OPEN READ ONLY;,受限/非受限状态转换,ALTER SYSTEM ENABLE RESTRICTED SESSION;,ALTER SYSTEM DISABLE RESTRICTED SESSIOIN;,19,静默状态/非静默状态转换,概述,所谓的静默状态是指只允许DBA用户(在Oracle 9i中,只允许SYS用户和SYSTEM用户)在数据库中执行查询、更新等事务操作,以及运行PL/SQL程序,而其他所有用户都不能在数据库中执行任何操作。,以下操作需要在静默状态下进行,DBA在执行操作的过程中,如果有其他用户访问操作的对象,那么将导致DBA操作失败。,DBA的某些操作在执行过程中所产生的中间结果不应当被其他用户看到。,20,进入静默状态,ALTER SYSTEM QUIESCE RESTRICTED;,退出静默状态,ALTER SYSTEM UNQUIESCE;,查询静默状态,查询动态性能视图V$INSTANCE的ACTIVE_STATE列查看数据库的当前状态。,NORMAL:正常非静默状态;,QUIESCING:正在进入静默状态,等待非DBA会话进入停止状态;,QUIESCED:静默状态,所有非DBA会话都进入停止状态。,SELECT ACTIVE_STATE FROM V$INSTANCE;,21,挂起与非挂起状态转换,概述,当数据库处于挂起状态时,对数据库的数据文件和控制文件的I/O操作都被暂停。,当数据库处于挂起状态时,可以为系统中的磁盘或文件创立镜像,然后别离镜像,从而为数据库的备份与恢复提供了一种可选方案。,与静默状态不同,挂起状态不禁止非DBA用户进行数据库操作,只是暂时停止所有用户的I/O操作。,22,进入挂起状态,ALTER SYSTEM SUSPEND;,退出挂起状态,ALTER SYSTEM RESUME;,查询挂起状态,查询动态性能视图V$INSTANCE的DATABASE_STATUS列查看数据库是否处于挂起状态。DATABASE_STATUS列的取值有两种。,SUSPENDED:,挂起状态;,ACTIVE:,正常状态。,SELECT DATABASE_STATUS FROM V$INSTANCE;,23,14.4在OEM中启动与关闭数据库,关闭数据库,启动数据库,24,14.4.1 关闭数据库,25,26,27,28,29,14.4.2 启动数据库,30,31,32,33,14.5 Windows系统中数据库的自动启动,34,总结,数据库启动模式、启动步骤,数据库关闭方式、关闭步骤,数据库的状态转换,启动模式转换,读/写状态转换,受限/非受限状态转换,静默/非静默状态转换,挂起/非挂起状态转换,35,
展开阅读全文