ORACLE 启动过程

1 STARTUP NOMOUNT
1.读取环境变量下dbs目录下的参数文件(spfile/pfile)
查找参数文件的顺序如上面列表的,读取优先级:
spfilechongshi.ora > spfile.ora>initchongshi.ora
如果三个文件都找不到的话,那么将启动失败。
2.启动算法,分配内存
3.启动后台进程
4.开放alertSID.log文件和跟踪文件
2 MOUNT
1.把一个数据库和启动的实例关联起来
2. 在参数文件(spfile/pfile)中找到控制文件进行读取
3.读取控制文件,获得的数据文件和联机重做日志文件的名称和位置,并判断其是否存在。
在进行诸如全数据库恢复、更改数据库的归档日志模式或重命名数据文件这一类的活动时,通常需要在MOUNT状态下进行。
3 OPEN
打开数据文件和重做日志文件。根据控制文件中记录的数据文件位置找到数据文件,对这些文件进行一致性检查,如果没有问题则open数据库。
如果任何数据文件或非线性重做日志文件不存在,当您试图打开的数据库,服务器返回错误。如果需要,该系统监控进程开始实例恢复。
一致性检查:检查数据文件头中的Checkpoint CNT和控制文件中的Checkpoint CNT是否一致,如果相等,则进一步检查,
检查数据文件头中的开始SCN和控制文件中的结束SCN是否一致
当数据库以打开模式启动时,所有有效用户可以连接到数据库,执行数据库操作

SQL> startup
ORACLE instance started. Total System Global Area 167387136 bytes
Fixed Size 1343668 bytes
Variable Size 150998860 bytes
Database Buffers 12582912 bytes
Redo Buffers 2461696 bytes --nomount
Database mounted. --mount
Database opened. --open

ORACLE 启动过程的更多相关文章
- Oracle学习笔记--Oracle启动过程归纳整理
Oracle 启动过程分为nomount状态mount状态open状态 每个状态下Oracle都会进行不同的操作:1.nomount状态 在$ORACLE_HOME/dbs目录下寻找参数文件 参数文件 ...
- 转载:oracle 启动过程--oracle深入研究
Oracle数据库的启动-nomount状态深入解析 通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是 ...
- oracle启动过程2
5个目标点(知识点)环境说明,连接实例,hash运算dbs目录文件解释参数文件解释启动过程三阶段实战演练 本次课程目标是讲解oracle实例的启动过程首先了解一下本次实验环境 之前已经创建好了一 ...
- oracle启动过程
Oracle 的启动需要经历四个状态,SHUTDOWN .NOMOUNT .MOUNT .OPEN. SHUTDOWN状态 ...
- Oracle 数据库启动过程
一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT.MOUNT.OPEN. 1 ...
- ORA-01262,oracle启动报错,及Oracle启动原理
错误状态: SQL> startup ORA-01261: Parameter db_recovery_file_dest destination string cannot be transl ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- oracle的启动过程(不分模式启动)
Oracle数据库的完整启动过程包含以下3个步骤: 简单地说,就是:启动实例-->加载数据库-->打开数据库. -------------------------------------- ...
- oracle参数文件与启动过程
oracle随系统启动而启动 cs65-64桌面版orcle-11.2.0.4 启动监听器,后台进程,OEM. 注意: 如果只做一和三,只能启动后台进程,监听器不启动,如果只做二和三,只能启动监听器, ...
随机推荐
- JAVA中if多分支和switch的优劣性。
Switch多分支语句switch语句是多分支选择语句.常用来根据表达式的值选择要执行的语句.例如,在某程序中,要求将输入的或是获取的用0-6代表的星期,转换为用中文表示的星期.该需求通过伪代码描述的 ...
- 动手写IL到Lua的翻译器——准备
文章里的代码粘过来的时候格式有点问题,原因是一开始文章是在订阅号上写的(gamedev101,文末有二维码),不知道为啥贴过来就没了格式,还要手动删行号,就没搞了. 介绍下问题背景: 小说君正在参与的 ...
- 一、Django的基本用法
学习Django有一段时间了,整理一下,充当笔记. MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 ...
- SpringMVC之HandlerMapping的使用
上篇博客在了解SpringMVC的工作流程时留了一些疑问,今天先学习下HandlerMapping,在HandlerMapping中可以通过HandlerExecutionChain getHandl ...
- PHP冒泡排序、选择排序、插入排序
$arr = [1, 8, 7, 5, 4, 2, 11, 9, 20]; 冒泡排序: for ($i = 0; $i < count($arr); $i ++) { for ($j = 0; ...
- SQL SERVER 字符串按数字排序
需求是这样的: 数据库表里面有一个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序. 思路: 考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再 ...
- kubernetes入门(02)kubernetes的架构
一.kubernetes的主从架构 kubectl,全称 Kubernetes Control Plane,它表示Kubernetes为了实现最终的目标而构建的一组集群范围内的进程,这组进程相互协调, ...
- QT5.5与MYSQL5.6数据库连接的具体方法与实现
由于毕设需要用到QT读取数据库中的数据,并将数据保存至数据库中.花了一天的时间,总算实现了从QT中读取数据库中的数据.网上相关资料很多,但是写得不是很全,中间出现了一些问题,解决起来比较麻烦.所以本文 ...
- python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块
一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...
- jedis配置
public interface IJedisClientFactory { Jedis getJedis(); } JedisClientFactoryImpl.java @Service publ ...