Oracle数据库的启动与关闭

1. 数据库启动步骤

创建并启动实例 (初始化参数文件)

装载数据库 (控制文件)

打开数据库 (数据文件与重做日志文件)

(1)创建并启动实例

根据数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和服务进程,并创建SGA区等内存结构。

(2)装载数据库

装载数据库是实例打开数据库的控制文件,从中获取数据库名称、数据文件和重做日志文件的位置、名称等数据库物理结构信息,为打开数据库做好准备。如果控制文件损坏,实例将无法装载数据库。

(3)打开数据库

在此阶段,实例将打开所有处于联机状态的数据文件和重做日志文件。如果任何一个数据文件或重做日志文件无法正常打开,数据库将返回错误信息,这时数据库需要恢复。

2. 数据库关闭步骤

关闭数据库 (关闭数据文件与重做日志文件)

卸载数据库 (关闭控制文件)

关闭实例 (释放内存、关闭后台进程)

3. 启动与关闭数据库常用工具

(1)SQL*Plus

在SQL*Plus环境中,用户以SYSDBA身份连接到Oracle后,可以通过命令行方式启动或关闭数据库。

(2)OEM

利用OEM数据库控制台,可以完成数据库的启动与关闭操作。

(3)RMAN

在Recovery Manager(RMAN)环境中可以通过命令行方式启动或关闭数据库。

4. 在SQL*Plus中启动数据库

数据库启动的三种模式

启动数据库的基本语法

STARTUP [NOMOUNT|MOUNT|OPEN|FORCE][RESTRICT]

[PFILE=filename]

(1)STARTUP NOMOUNT

读取数据库初始化参数文件,创建并启动数据库实例。

在NOMOUNT模式下可以执行下列操作:

创建一个新的数据库

重建数据库的控制文件

(2)STARTUP MOUNT

根据CONTROL_FILES参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,实现数据库的装载 。

在MOUNT模式下可以执行下列操作:

重命名数据文件

添加、删除或重命名重做日志文件

改变数据库的归档模式

执行数据库完全恢复操作

(3)STARTUP [OPEN]

任何具有CREATE SESSION权限的用户都可以连接到数据库,并可以进行基本的数据访问操作。

(4)STARTUP FORCE

用于当各种启动模式都无法成功启动数据库时强制启动数据库。

在下列情况下,需要使用STARTUP FORCE命令启动数据库:

无法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION语句关闭数据库实例。

在启动实例时出现无法恢复的错误。

(6)STARTUP RESTRICT

只有具有CREATE SESSION和RESTRICTED SESSION系统权限的用户才可以连接数据库。

下列操作需要使用STARTUP RESTRICT方式启动数据库

执行数据库数据的导出或导入操作

执行数据装载操作

暂时阻止普通用户连接数据库

进行数据库移植或升级操作

(7)STARTUP PFILE[=path\filename]

默认服务器端初始化参数文件

默认文本文件

使用非默认的初始化参数文件

5. 在SQL*Plus中关闭数据库(简述4种命令及区别)

(1)SHUTDOWN [ NORMAL ]

阻止任何用户建立新的连接;

等待当前所有正在连接的用户主动断开连接;

一旦所有用户断开连接,则关闭数据库;

数据库下次启动时不需要任何实例的恢复过程。

(2)SHUTDOWN IMMEDIATE

阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;

回滚所有当前未提交的事务;

终止所有用户的连接,直接关闭数据库;

数据库下一次启动时不需要任何实例的恢复过程。

(3)SHUTDOWN TRANSACTION

阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;

等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接;

关闭数据库;

数据库下一次启动时不需要任何实例的恢复过程。

(4)SHUTDOWN ABORT

阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务。

立即结束当前正在执行的SQL语句。

任何未提交的事务不被回滚。

中断所有的用户连接,立即关闭数据库。

数据库实例重启后需要恢复。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307A1AZKG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券