首页 > 数据库 >数据库启动3个阶段

数据库启动3个阶段

时间:2022-09-28 08:00:07浏览次数:51  
标签:文件 spfile 数据库 启动 阶段 ORACLE scope redo

Oracle数据库服务包括数据库和实例,而实例又包括系统全局区SGA和相应的后台进程。

1、数据库nomount阶段:startup nomount

加载读取参数文件--->初始化内存空间--->SGA(各个内存区域的大小)+ PGA

参数文件分为两种:

(1)、pfile(可编辑的文本文件)

特点:必须通过文本编辑器修改参数,便于一次修改多个参数;

缺省的路径及命名方式:$ORACLE_HOME/dbs/initSID.ora

(2)、spfile(二进制参数文件)(优先级较高)

特点:二进制文件,不可以通过编辑器修改。通过Linux命令strings可以查看内容;

路径及命名方式:$ORACLE_HOME/dbs/spfileSID.ora;

修改spfile文件的方法:alter system set 参数=值 [scope=memory|spfile|both] scope;

注:scope=memory 参数修改立刻生效,但不修改spfile文件;

scope=spfile 修改了spfile文件,重启后生效;

scope=both 前两种都要满足。要求spfile参数文件存在;

如果不写scope限定词,缺省both,但不如both严格,即spfile如果不存在,仅仅修改内存中参数。

2、数据库mount 阶段:alter database mount; // startup mount

控制文件功能和特点:

(1)、记录数据库当前物理状态(物理文件路径,数据文件,重做日志文件)

(2)、维护数据库的一致性(一致性验证)

(3)、是一个二进制小文件

(4)、在mount 阶段被读取

(5)、记录RMAN备份的元数据

(6)、记录redo的当前日志序列和arch信息

默认情况下:数据库dbca建库创建两个控制文件

1.$ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl

2.快速恢复区内 $ORACLE_BASE/fast_recovery_area/$ORACLE_SID/control02.ctl

查看控制文件路径:select name from v$controlfile;

control01.ctl和control02.ctl的内容一模一样,多一个作为冗余备份,同时写入两个ctl

3、数据库open 阶段:alter database open; // startup

open 阶段会读取3大类数据文件(数据文件+控制文件+redo日志文件)

(1)、检查所有的datafile、redo log、 group 、password file正常

(2)、检查数据库的一致性(controlfile、datafile、redo file的检查点是否一致)

redo日志文件的作用:主要用于数据recovery(恢复);记录DML,DDL操作生成日志

redo日志文件的特征:二进制,每组大小相同,至少要保持两组redo,每组可以有多个member成员,但数据内容都是相同的

标签:文件,spfile,数据库,启动,阶段,ORACLE,scope,redo
From: https://www.cnblogs.com/wonchaofan/p/16736673.html

相关文章