Oracle笔记(3):数据库启动原理

  Oracle数据库的启动要经历3个阶段,启动实例,装载数据库,打开数据库。Startup命令一次完成了数据库启动的三个阶段。

1.启动实例(Start An Instance)

  当启动一个实例是,Oracle会读取一个参数文件,这个文件可以是初始化参数文件Pfile,也可以是服务器端参数文件,spfile。通常把两者都称为参数文件。

Oracle根据参数文件中的参数,分配相应大小的一片内存区域叫系统全局区SGA,然后启动一系列的后台进程(DBWR:数据库写入进程、LGWR:日志写入进程、CKPT:检查点进程、SMON:系统监控进程、PMON:进程监控进程、ARCH归档进程等)。这些内存和进程合起来组成实例。

一台机器上可以同时运行多个实例,每个实例都有自己的名字SID。实例是用来驱动数据库的,RAC(Real Application Cluster,集群)环境中,多个实例可以同时驱动一个数据库。实例启动完成后,数据库就处于NOMOUNT状态。

2.装载数据库(Mount the Database)

  此阶段,Oracle根据参数文件中的参数CONTROL_FILES找到控制文件。从文件中获得数据文件(Datafile)和重做日志文件(Redo Log File)的名字及位置。这个时候,Oracle己经把实例(Instance)和数据库关联起来。对于普通用户来说,数据库还是不可访问。
    处于Mount阶段的数据库,主要用于数据库的维护(如恢复数据库等)。

3.打开数据库

  当打开数据库的时候,Oracle打开数据文件(Datafiles)和重做日志文件(Redo Log File )。这时候,数据库可以使用。普通用户可以登录数据库,并对
数据库进行操作。

参考:

1.《成功之路:Oracle 11g学习笔记》P83

posted @   太一吾鱼水  阅读(254)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示