Oracle数据库基础学习04-启动数据库

Oracle的实例必须处于正常启动的状态,客户端才能够连接和操作数据库的数据。在Oracle中,启动数据库包含将一系列的进程和内存运行起来,并加载控制文件中的数据库。Oracle的启动过程分好几个阶段,可以通过命令行参数设置启动到特定的阶段。最简单的启动方式是在SQL*Plus中使用 startup 命令将数据库启动到正常状态,启动阶段的示意图如图所示

由图中可以看到,启动一个停止的数据库时,Oracle最先启动了数据库的实例,然后Oracle实例会分别加载不同的文件。

NOMOUNT状态

可以看到最初的一个阶段是NOMOUNT,该阶段主要用于启动数据库的实例,它并不加载任何数据库文件。实例的启动包含如下的几个任务:

  • 搜索 ORACLE_HOME/dbs 中具有特定名称的初始化参数文件,它先查找 spfile<SID>.ora 文件,如果没有找到,则搜索 spfile.ora 文件,如果没有找到,则搜索 init<SID>.ora文件。也可以显示的在 startup 命令中指定 PFILE 参数来指定一个初始化参数文件
  • 分配SGA内存区
  • 启用后台进程
  • 打开alert<SID>.log警告日志文件和跟踪文件

NOMOUNT通常用于创建数据库期间、重新创建控制文件期间或者是执行某些备份和恢复方案期间,启动实例后就可以执行这些创建和维护管理任务,启动到 NOMOUNT 状态,只需要在 startup 命令后面加上 NOMOUNT 参数即可,启动代码示例:startup nomount;   

MOUNT状态

这个阶段也称为数据库装载状态,装载数据库涉及如下的几个工作

  • 将前一步启动的实例与数据库文件相关联
  • 定位参数文件中指定的控制文件
  • 通过读取控制文件来获取数据文件和联机重做日志文件的名称和状态

也就是说这一步主要是打开控制文件,然后定位数据文件和联机重做日志文件的名称和状态。但是此时不比执行任何检查便可验证数据文件和联机重做日志文件是否存在。数据库处于MOUNT状态时,通常可以完成如下一些数据库任务

  • 重命名数据文件
  • 启用和禁用联机重做日志文件的归档选项
  • 执行完整的数据库恢复

当数据库处于关闭状态时,可以通过 startup mount 语句直接将数据库启动到装载状态。

当数据库已经处于 NOMOUNT,可以使用 alter database mount 将其切换到 MOUNT状态

OPEN状态

OPEN状态时启动数据库过程的最后一步,它会打开联机数据文件和联机重做日志文件。在这阶段,Oracle会验证是否可以打开所有数据文件和联机重做日志文件,还会检查数据库的一致性。

如果当前正处于MOUNT或者NOMOUNT模式下,可以使用 alter database open 语句直接将数据库修改为打开状态

当数据库处于关闭状态时,使用 startup 或 startup open语句都可以将数据库启动到 OPEN 状态,当数据库打开后,所有有效的用户就可以连接到数据库执行动作了,否则一般用户无法连接到数据库

注意:在启动数据库时并没有指定一个数据库名称,Oracle将使用 ORACLE_SID 中指定的数据库实例名称来启动数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值