关闭数据库

为了关闭数据库,用户必须首先以DBA身份连接数据库,然后使用SQL命令SHUTDOWN关闭数据库。 通过在SHUTDOWN后附加各种选项,神通数据库可以实现多种模式的数据库关闭。

NORMAL 选项

SHUTDOWN NORMAL;

适用场景

在正常情况下关闭数据库,使用带 NORMAL 选项的 SHUTDOWN 命令,这是默认选项。

执行后表现

  1. 不允许建立新的连接
  2. 等待当前所有的连接结束后再进行正常的数据库关闭
  3. 下次数据库重启后将不需要进行实例恢复

IMMEDIATE 选项

SHUTDOWN IMMEDIATE;

适用场景

为了立即关闭数据库,使用带有 IMMEDIATE 选项的 SHUTDOWN 命令。

当出现以下情形时,可以立即关闭数据库:

  • 开始进行离线备份
  • 当系统即将断电时
  • 当数据库或其某个应用出现异常,但是无法联系上用户进行注销时

执行后表现

  1. 不允许建立新的连接
  2. 不允许已有的连接开始新的事务
  3. 当前未提交的事务被强制回滚
  4. 关闭所有的连接并进行正常的数据库关闭
  5. 下次数据库重启后将不需要进行实例恢复

TRANSACTIONAL 选项

SHUTDOWN TRANSACTIONAL;

适用场景

当需要进行定时数据库关闭,同时允许当前活动的事务正常结束时, 可以使用带有 TRANSACTIONAL 选项的 SHUTDOWN 命令。

执行后表现

  1. 不允许建立新的连接
  2. 不允许已有的连接开始新的事务
  3. 当一活动事务结束时,其所在的连接被关闭
  4. 等待所有的连接关闭并进行正常的数据库关闭
  5. 下次数据库重启后将不需要进行实例恢复
  6. 该关闭模式不会丢失客户端工作,同时不需要所有用户先进行注销。

ABORT 选项

SHUTDOWN ABORT;

适用场景

当需要异常关闭数据库时,使用带有 ABORT 选项的 SHUTDOWN 命令。

出现以下情形时,可以异常关闭数据库:

  • 数据库或其某个应用出现异常,而其它数据库关闭模式都不起作用
  • 必须立即关闭数据库时(如系统将在一分钟内断电)
  • 数据库在启动过程中出现问题

执行后表现

  1. 不允许建立新的连接
  2. 不允许已有的连接开始新的事务
  3. 所有新的SQL命令被立即终止
  4. 当前未提交的事务不执行回滚
  5. 立即关闭所有的连接并进行异常的数据库关闭
  6. 下次数据库重启后将需要进行实例恢复