oracle数据库的启动和关闭

一、启动

1. 启动数据库实例

open
mount
nomount		--数据库在处于nomount阶段时,实例已经启动,smon,pmon可以查看到信息
shutdown

练习:启动实例到nomount阶段,查看smon,pmon

SYS@OCPLHR1> startup nomount
[oracle@localhost ~]$ ps -ef |  grep smon
oracle   15416     1  0 18:04 ?        00:00:00 ora_smon_OCPLHR1
oracle   15495 15469  0 18:07 pts/6    00:00:00 grep smon
[oracle@localhost ~]$ ps -ef |  grep pmon
oracle   15392     1  0 18:04 ?        00:00:00 ora_pmon_OCPLHR1
oracle   15497 15469  0 18:07 pts/6    00:00:00 grep pmon

2. 数据库启动过程经历的几个过程

1)nomount

  • 按以下顺序在$ORACLE_HOME/dbs目录下搜索参数文件:spfile< SID >.ora、spfile.ora、init< SID>.ora
  • 根据参数内容分配SGA
  • 启动后台进程
  • 打开并修改告警日志文件有以及跟踪文件
注意:该阶段用户数据库创建,控制文件重建,特定的备份恢复等。
	 此阶段不打开任何控制文件以及数据文件。在RMAN恢复是,还原数据控制文件在该阶段执行

2)mount

  • 利用参数文件中的CONTROL_FILES的值,打开并锁定控制文件
  • 将数据库与实力关联起来
  • 读取控制文件并获取数据文件和redo日志文件的名称和状态,但不检查数据和日志文件是否存在
注意:该阶段会读取控制文件,如果控制文件不存在,那么数据库就无法启动
该阶段用于以下场景:
1、重命名数据文件,移动数据文件位置等
2、修改数据库的归档模式
3、实现数据库的完全恢复

3)open

  • 打开数据文件
  • 打开联机重做日志文件
注意:oracle将校验所有的数据文件和联机日志文件能否打开并对数据库做一致性检查。
	 如果出现一致性错误,那么SMON进程将启动实例恢复。
	 如果任意一个数据文件或者联机日志文件丢失,那么oracle数据库会摆错

二、关闭

关闭模式ABORTIMMEDIATETRANSACTIONALNORMAL
允许新连接
等待当前会话结束
等待当前事物处理结束
强制选择检查点并关闭文件

1)shutdown normal

正常关闭数据库后悔发生以下情况:

  • 不可建立新连接
  • oracle服务器在完成关闭之前先等待所有用户断开连接
  • 后台进程终止,从内存中删除SGA
  • oracle服务器在关闭实例之前关闭并卸装数据库
  • 下一次启动不需要进行实例恢复

2)shutdown transactional

采用这种关闭方式可防止客户机丢失数据,其中包括客户就当前活动的结果。

执行事务处理数据库关闭时会发生以下情况:

  • 任何客户机都不让在这个特定实例上启动新的事务处理
  • 会在客户机结束正在进行的事务处理后断开客户机
  • 完成所有的事务处理后立即执行关闭
  • 下一次启动不需要在进行实例恢复

3)shutdown immediate(默认关闭方式)

  • oracle db 正在处理当前SQL语句不会完成执行
  • oracle服务器不等待当前连接到数据库的用户断开连接
  • oracle服务器会退回活动的事务处理,并断开所有连接的用户
  • oracle服务器在关闭实例之前关闭并卸装数据库
  • 下一次启动不需要进行实例恢复

4)showdown abort

终止数据库实例:

  • oracle db 正在处理当前SQL语句会立即终止
  • oracle服务器不等待当前连接到数据库的用户断开连接
  • 数据库和重做缓冲区未写入磁盘
  • 不退回未提交的事务
  • 实例终止,但不关闭文件
  • 数据库未关闭或未卸装
  • 下一次启动时需要进行实例恢复,实例恢复是自动进行的
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值