当前位置:   article > 正文

Oracle数据库的启动过程和关闭模式_alter database mount

alter database mount

一 启动数据库

Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT、MOUNT、OPEN。

  1. NOMOUNT:启动数据库实例, 此时读取参数文件,但是不加载数据库;
  2. MOUNT:启动数据库实例,加载数据库,但是数据库处于关闭状态
  3. OPEN: 启动数据库实例,加载并打开数据库;
  4. FORCE: 终止实例并重启数据库,这种模式在数据库关闭或者启动遇到问题时使用,这种方式不到万不得已时不要使用,会有数据丢失

1 NOMOUNT 启动例程

  • 在启动例程(实例进程)时,这些内存结构和服务进程得到分配、初始化和启动,以便Oracle能够管理数据库
  • 此时的例程还没有与一个确定的数据库相联系,或者说数据库是否存在对例程的启动并没有影响,即还没有装载数据库
  • 若初始化参数文件设置有误,则无法启动例程

这种模式只会创建实例(创建Oracle实例的各种内存结构与服务进程,其中有5个进程必须启动, DBWR、LGWR、SMON、PMON、CKPT),并不加载数据库,也不会打开任何数据文件。其任务为:

  • 读取参数文件
  • 根据该参数文件中有关SGA区、PGA区的参数设置的值,在内存中分配相应的空间
  • 根据该参数文件中有关后台进程的参数设置的值,启动相应后台进程
  • 打开跟踪文件和报警文件

① 先关闭数据库

Oracle启动 (1)② 使用STARTUP NOMOUNT命令启动例程。通常使用数据库的这种状态来创建一个新的数据库,或创建一个新的控制文件。

startup nomount

Oracle启动 (2)数据库的启动过程记录在警告追踪文件中,该警告追踪文件中包括数据库启动信息,它存放在参数BACKGOUND_DUMP_DEST定义的目录下,警告日志的名字为alert_orcl.log

Oracle启动 (3)

③ 进入到目录查看警告日志关于startup nomount过程记录

Oracle启动 (4)

④ 测试在nomount状态时数据字典是否打的开,下图说明数据库字典在nomount状态下是无法访问的,因为数据字典需要从控制文件获取文件的信息,而此时控制文件没有打开所以无法查看。

Oracle启动 (5)

但是在nomount下可以通过参数文件获得控制文件的位置,因为此时参数文件已经打开

Oracle启动 (6)

2 MOUNT 装载数据库

这种模式将启动实例,加载数据库并保持数据库关闭状态。数据库启动到MOUNT状态有两种方式:

  • 一是可以直接启动数据库到MOUNT
  • 二是如果数据库已经启动到NOMOUNT状态,使用alter database mount把数据库切换到MOUNT状态;

① alert database mount

Oracle启动 (7)

② startup mount

Oracle启动 (8)

此时我们可以查看数据字典,因为控制文件已经打开

Oracle启动 (9)

**注意:**但是此时我们不能访问数据库的数据文件(表,视图),文件此时数据文件没有打开。

MOUNT下改变状态:

改变归档模式

  1. ARCHIVE LOG LIST
  2. ALTER DATABASE ARCHIVELOG;
  3. ALTER DATABASE NOARCHIVELOG;

暂停和重新开始数据库

  1. ALTER SYSTEM SUSPEND;
  2. ALTER SYSTEM RESUME;

执行数据库备份时,为了避免控制文件和数据文件之间的I/O冲突,可以使用ALTER SYSTEM语句来暂停和重新开始数据库。暂停之后,禁止在控制文件和数据文件上进行任何I/O操作.

3 OPEN 打开数据库

使用STARTUP OPEN(或STARTUP)命令启动例程、装在数据库并打开数据库

这种模式将启动实例,加载并打开数据库,这是常规的启动模式,用户想要对数据库进行多种操作就必须使用OPEN模式启动数据库,启动到OPEN状态,有两种方式:

  • 一是直接启动到OPEN状态(使用startup或者startup open)
  • 二是如果数据库处于NOMOUNT或者MOUNT状态,可以通过alter database open切换到OPEN状态。

Oracle启动 (11)

此时可以访问数据文件了。

Oracle启动 (12)

4 FORCE 强制执行

这种模式将终止实例并重启数据库,这是一种强制性启动模式,只有在启动或者关闭出现问题时才使用,并且有一定的风险,会丢失数据,造成意外的问题。

Oracle启动 (13)

二 关闭数据库

与启动数据库顺序相反,也分三个步骤:关闭数据库(CLOSE 关闭数据文件),卸载数据库(关闭控制文件 DISMOUNT),关闭Oracle实例(SHUTDOWN)。同时关闭模式也有多种常见的有:

1 NORMAL

正常的关闭方式,如果对于关闭数据库的时间没有限制,通常采用这种方式,以NORMAL方式关闭数据库,Oracle将执行如下操作:

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

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

C 当前所有用户的都断开连接后,将立即关闭数据库;

2 TRANSACTION

事务关闭方式,它的首要任务是保证当前所有活动的事务都可以被提交,并在尽可能短的时间内关闭数据库。以事务方式关闭,Oracle将执行如下操作:

A 阻止用户建立新连接和开始新事务;
B 等待所有活动事务提交后,再断开用户连接;
C 当所有活动事务提交完毕,用户断开连接后,关闭数据库;

3 IMMEDIATE

立即关闭方式,可以较快且安全的关闭数据库,是DBA经常采用的关闭数据库的方式,立即关闭方式,Oracle执行如下操作:

A 阻止用户建立新的连接和开始新的事务;

B 中断当前事务,回滚未提交事务;

C 强制断开所有用户连接和执行检查点把脏数据写到数据文件中;

D 关闭数据库

 转自:【数据库】Oracle数据库的启动过程和关闭模式_欧恩意的博客-CSDN博客_oracle数据库的启动与关闭

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/85885
推荐阅读
相关标签
  

闽ICP备14008679号