oracle数据库的启动与关闭

小编讲的是oracle数据库的启动与关闭,废话不多说全是干货

数据库启动

oracle数据库的启动有三个阶段:

阶段一:读取参数文件并判断定义是否有错误,在这个阶段会根据参数定义分配相关内存打开alert文件,跟踪文件并记录信息启动相关的后台进程。

阶段二:装载数据库

使数据库与以前启动的实例关联。

定位并打开参数文件中指定的控制文件。

读取控制文件获取数据文件和重做日志文件的名称和状态。

但是在此时不进行数据文件和联机重做日志文件是否存在的检查。

本阶段用的文件是控制文件,数据库处于mount阶段

在mount阶段,你可以对数据库的物理结构进行操作。

alterdatabase 指令如命名数据文件

启用和禁用重做日志归档选项

执行完全数据库恢复

createdatabase指令

dropdatabase 指令

阶段三:打开数据库

打开联机数据文件

打开联机重做日志文件

验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性。

如果需要,系统监视器后台进程

(SMON)

启动实例恢复

前滚以恢复尚未记录在数据文件中但已记录在联机重做日志中的数据

打开数据库而不是等待回退全部事务后才使数据库可用

未恢复事务锁定的数据立即可用

在SMON和各个服务器进程访问锁定的数据时回退它们未提交的事务

本阶段数据库使用数据文件,日志文件,物理文件的逻辑关系,验证一致性。

数据库处于open阶段,数据库启动完毕,数据库的逻辑结构与物理结构可以正常工作了

具体操作如下:

启动数据库:startup(一步到位,直接启动)

oracle数据库的启动与关闭_第1张图片

下面是分步解析:

  • 启动实例(加载参数文件来启动实例):startup nomount(不挂载)

不启动的话:

oracle数据库的启动与关闭_第2张图片

发现在这个数据库中查不到任何信息

oracle数据库的启动与关闭_第3张图片

但是可以读到内存参数信息(show parameter

但是读取不到库的信息


  • 加载数据库的控制文件(决定数据库的位置):alter database mount

通过参数文件中记载的控制文件位置来加载控制文件

启动这个只能知道数据文件的位置并不能加载数据文件:

oracle数据库的启动与关闭_第4张图片


  • 打开数据库:alter database open

通过控制文件中记载的数据文件,日志文件的位置来加载打开数据文件,日志文件

现在就是正式启动了:


关闭数据库

将缓冲区高速缓存中的更改及重做日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件

关闭所有联机数据文件和联机重做日志文件

卸装数据库

关闭其控制文件

ALERT文件和跟踪文件将关闭,

SGA被回收并且后台进程被终止

四种模式:

SHUTDOWN[NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]

关闭模式:

A = ABORT                         I = IMMEDIATE

T = TRANSACTIONAL    N = NORMAL

Shutdown命令可以关闭数据库,它后面可以有如上四个选项,其中最后一个Normal是默认值。

oracle数据库的启动与关闭_第5张图片

上面是它的对比,

下面是具体操作解析:

关闭数据库:shutdown (一步到位,直接关闭)

  • Shutdown normal (默认) 已经连接的不受影响,未连接的能连不能用(当最后一个user关闭连接时,Shutdown normal (同一个终端)会立刻关闭)
  • Shutdown  transactional已经连接的只要提交事务(commit)就会关掉,没有事物交易的直接关闭,无论是否退出。未连接的连接不上


DDL语句是create table DCL语句是创建用户,授权等  这些语言都会在操作之前提交事物,操作完成后提交事务


  • Shutdown  immediate;禁止新的连接,未提交事物强制回滚


 

  • Shutdown abort 禁止新的连接,不进行一致性检查,直接强制关闭数据库






你可能感兴趣的:(oracle数据库的启动与关闭)