1、Oracle10g 数据库基础教程 第8章 数据库启动与关闭 Oracle 10g数据库基础教程 本章内容本章内容?数据库的启动?数据库的关闭?数据库的状态转换 Oracle 10g数据库基础教程 本章要求本章要求?掌握数据库启动与关闭的过程?掌握数据库启动方法?掌握数据库关闭的方法?了解数据库不同状态的特征及其转换 Oracle 10g数据库基础教程 8.1 数据库启动与关闭概述数据库启动与关闭概述?数据库启动与关闭的步骤?启动与关闭数据库的常用工具?数据库启动的准备 Oracle 10g数据库基础教程 8.1.1数据库启动与关闭的步骤数据库启动与关闭的步骤?数据库启动步骤?创建并启动实例
2、(初始化参数文件)?装载数据库 (控制文件)?打开数据库 (数据文件与重做日志文件)创建并启动实例 装载数据库 打开数据库 NOMOUT MOUNT OPEN 数据库启动过程 Oracle 10g数据库基础教程?创建并启动实例?根据数据库初始化参数文件,为数据库创建实例,启动一系列后根据数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和服务进程,并创建台进程和服务进程,并创建SGASGA区等内存结构。区等内存结构。?装载数据库?装载数据库是实例打开数据库的控制文件,从中获取数据库名称、装载数据库是实例打开数据库的控制文件,从中获取数据库名称、数据文件和重做日志文件的位置、名称等数据库
3、物理结构信息,数据文件和重做日志文件的位置、名称等数据库物理结构信息,为打开数据库做好准备。如果控制文件损坏,实例将无法装载数为打开数据库做好准备。如果控制文件损坏,实例将无法装载数据库。据库。?打开数据库?在此阶段,实例将打开所有处于联机状态的数据文件和重做日志在此阶段,实例将打开所有处于联机状态的数据文件和重做日志文件。如果任何一个数据文件或重做日志文件无法正常打开,数文件。如果任何一个数据文件或重做日志文件无法正常打开,数据库将返回错误信息,这时数据库需要恢复。据库将返回错误信息,这时数据库需要恢复。Oracle 10g数据库基础教程?数据库关闭步骤?关闭数据库(关闭数据文件与重做日志文
4、件)?卸载数据库(关闭控制文件)?关闭实例 (释放内存、关闭后台进程)数据库启动过程 关闭实例 卸载数据库 关闭数据库 Oracle 10g数据库基础教程 8.1.2 数据库启动的准备数据库启动的准备?启动监听服务?C:LSNRCTL START?打开数据库服务?C:ORACLE ORCL(ORCL为数据库名称)?在Windows系统中使用服务管理窗口启动监听服务和数据库服务 Oracle 10g数据库基础教程 8.2在SQL*Plus 中启动与关闭中启动与关闭 数据库?在SQL*Plus中启动数据库?在SQL*Plus中关闭数据库?数据库状态转换 Oracle 10g数据库基础教程 8.2.
5、1在SQL*Plus中启动数据库?数据库启动的三种模式?启动数据库的基本语法?STARTUP NOMOUNT|MOUNT|OPEN|FORCERESTRICT PFILE=filename 启 动 模 式 说 明 NOMOUNT 创建并启动数据库实例,对应数据库启动的第一个步骤 MOUNT 启动实例并装载数据库,对应数据库启动的第二个步骤 OPEN 启动实例、装载并打开数据库,对应数据库启动的第三个步骤 Oracle 10g数据库基础教程?STARTUP NOMOUNT?读取数据库初始化参数文件,创建并启动数据库实例。?在NOMOUNT模式下可以执行下列操作:?创建一个新的数据库?重建数据库的
6、控制文件?STARTUP MOUNT?根据CONTROL_FILES参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,实现数据库的装载。?在MOUNT模式下可以执行下列操作:?重命名数据文件?添加、删除或重命名重做日志文件?改变数据库的归档模式?执行数据库完全恢复操作 Oracle 10g数据库基础教程?STARTUP OPEN?任何具有任何具有CREATE SESSION权限的用户都可以连接权限的用户都可以连接到数据库,并可以进行基本的数据访问操作。到数据库,并可以进行基本的数据访问操作。?STARTUP FORCE?用于当各种启动模式都无法成功启动数据库时强制启用于当各种启动
7、模式都无法成功启动数据库时强制启动数据库。动数据库。?在下列情况下,需要使用在下列情况下,需要使用STARTUP FORCE命令启命令启动数据库:动数据库:?无法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION语句关闭数据库实例。?在启动实例时出现无法恢复的错误。Oracle 10g数据库基础教程?STARTUP RESTRICT?只有具有CREATE SESSION和和RESTRICTED SESSION 系统权限的用户才可以连接数据库。?下列操作需要使用STARTUP RESTRICT方式启动数据库?执行数据库数据的导出或导
8、入操作?执行数据装载操作?暂时阻止普通用户连接数据库?进行数据库移植或升级操作?STARTUP PFILE=pathfilename?默认服务器端初始化参数文件?默认文本文件?使用非默认的初始化参数文件 Oracle 10g数据库基础教程 8.2.2在SQL*Plus中关闭数据库?关闭数据库?Oracle 将重做日志缓冲区内容写入重做日志文件中,并且将数据高速缓存中的脏缓存块写入数据文件,然后关闭所有数据文件和重做日志文件。?卸载数据库?数据库关闭后,实例卸载数据库,关闭控制文件。?关闭实例?卸载数据库后,终止所有后台进程和服务器进程,回收内存空间 Oracle 10g数据库基础教程?关闭数据
9、库的基本语法?SHUTDOWN NORMAL|TRANSACTION|IMMEDIATE|ABORT?SHUTDOWN NORMAL?阻止任何用户建立新的连接;?等待当前所有正在连接的用户主动断开连接;?一旦所有用户断开连接,则关闭数据库;?数据库下次启动时不需要任何实例的恢复过程。Oracle 10g数据库基础教程?SHUTDOWN IMMEDIATE?阻止任何用户建立新的连接,也不允许当前连接用户启动任何阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;新的事务;?回滚所有当前未提交的事务;回滚所有当前未提交的事务;?终止所有用户的连接,直接关闭数据库;终止所有用户的连接,直
10、接关闭数据库;?数据库下一次启动时不需要任何实例的恢复过程。?SHUTDOWN TRANSACTION?阻止所有用户建立新的连接,也不允许当前连接用户启动任何阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;新的事务;?等待用户回滚或提交任何当前未提交的事务,然后立即断开用等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接;户连接;?关闭数据库;关闭数据库;?数据库下一次启动时不需要任何实例的恢复过程。Oracle 10g数据库基础教程?SHUTDOWN ABORT?阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事阻止任何用户建立新的连接,同时阻止当前连接用
11、户开始任何新的事务。?立即结束当前正在执行的SQL语句。?任何未提交的事务不被回滚。?中断所有的用户连接,立即关闭数据库。中断所有的用户连接,立即关闭数据库。?数据库实例重启后需要恢复。数据库实例重启后需要恢复。Oracle 10g数据库基础教程 8.2.3数据库状态转换数据库状态转换?启动模式间转换?STARTUP NOMOUNT;?ALTER DATABASE MOUNT;?ALTER DATABASE OPEN;?读写状态转换?ALTER DATABASE OPEN READ WRITE;?ALTER DATABASE OPEN READ ONLY;?受限/非受限状态转换?ALTER S
12、YSTEM ENABLE RESTRICTED SESSION;?ALTER SYSTEM DISABLE RESTRICTED SESSIOIN;Oracle 10g数据库基础教程 8.3在OEM中启动与关闭数据库中启动与关闭数据库?关闭数据库?启动数据库 Oracle 10g数据库基础教程 8.3.1 关闭数据库关闭数据库 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 8.3.2 启动数据库启动数据库 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 Oracle 10g数据库基础教程 8.4 Windows 系统中数据库的系统中数据库的 自动启动 Oracle 10g数据库基础教程 总结总结?数据库启动模式、启动步骤?数据库关闭方式、关闭步骤?数据库的状态转换?启动模式转换启动模式转换?读/写状态转换?受限/非受限状态转换