数据库启动3个阶段
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成员,但数据内容都是相同的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了