深入剖析Oracle启动过程内部初始化
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,1 Oracle启动选项;Oracle数据库在startup启动时,Oracle将在默认位置$ORACLE_HOME/dbs中查找初始化参数文件;Oracle以下面的顺序在其中寻找合适的初始化文件:S
千家信息网最后更新 2025年02月01日深入剖析Oracle启动过程内部初始化
1 Oracle启动选项;
Oracle数据库在startup启动时,Oracle将在默认位置$ORACLE_HOME/dbs中查找初始化参数文件;Oracle以下面的顺序在其中寻找合适的初始化文件:
Spfile$ORACLE_SID.ora
Spfile.ora
Init$ORACLE_SID.ora
可以用几种方式启动oracle数据库,不同方式启动将影响启动数据库的程度,启动状态由nomount(数据库未装载)-->mount(数据库完成装载)-->open(数据库打开)
1.1 STARTUP NOMOUNT;
SQL> startup nomountORACLE instance started.Total System Global Area 1603411968 bytesFixed Size 2253664 bytesVariable Size 1375734944 bytesDatabase Buffers 218103808 bytesRedo Buffers 7319552 bytes
Oracle读参数文件,打开实例,启动Oracle后台进程,给Oracle分配SGA。此时数据库状态为未装载。
1.2 ALTER DATABASE MOUNT;
SQL> alter database mount;Database altered.
Oracle 打开并读取控制文件,获取数据文件和重做日志文件的名称和位置。此时数据库完成装载。
1.3 ALTER DATABASE OPEN;
SQL> alter database open;Database altered.
Oracle打开数据文件和重做日志文件,至此Oracle可以对外提供服务。
2 通过10046事件查看内部启动过程
SQL> startup nomount;Total System Global Area 1603411968 bytesFixed Size 2253664 bytesVariable Size 1375734944 bytesDatabase Buffers 218103808 bytesRedo Buffers 7319552 bytesSQL> oradebug setmypidStatement processed.SQL> oradebug tracefile_name/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3682.trcSQL> alter session set events'10046 trace name context forever,level 12';Session altered.SQL> alter database mount;Database altered.SQL> alter database open;Database altered.
查看udump文件
[oracle@rhel6 ~]$ more /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3682.trc
Trace file /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3682.trcOracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsORACLE_HOME = /oracle/app/oracle/product/11.2.0System name: LinuxNode name: rhel6Release: 2.6.32-431.el6.x86_64Version: #1 SMP Sun Nov 10 22:19:54 EST 2013Machine: x86_64VM name: VMWare Version: 6Instance name: orcl
Oracle数据库mount启动读取控制文件,写日志文件
...WAIT #140528657591192: nam='control file sequential read' ela= 8 file#=0 block#=1 blocks=1 obj#=-1 tim=1502627703012561WAIT #140528657591192: nam='control file sequential read' ela= 2 file#=1 block#=1 blocks=1 obj#=-1 tim=1502627703012583WAIT #140528657591192: nam='control file sequential read' ela= 47 file#=0 block#=3 blocks=8 obj#=-1 tim=1502627703012650WAIT #140528657591192: nam='control file sequential read' ela= 13 file#=1 block#=3 blocks=8 obj#=-1 tim=1502627703012674...WAIT #140528657591192: nam='ADR block file read' ela= 847 =0 =0 =0 obj#=-1 tim=1502627707123048WAIT #140528657591192: nam='ADR block file read' ela= 576 =0 =0 =0 obj#=-1 tim=1502627707124068WAIT #140528657591192: nam='ADR block file read' ela= 562 =0 =0 =0 obj#=-1 tim=1502627707125013WAIT #140528657591192: nam='ADR block file read' ela= 473 =0 =0 =0 obj#=-1 tim=1502627707125891...
Oracle数据库open过程读取控制文件信息,与读取磁盘数据文件头部进行对比
alter database openEND OF STMTPARSE #140528657591192:c=0,e=274,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,plh=0,tim=1502627713479605WAIT #140528657591192: nam='control file sequential read' ela= 8 file#=0 block#=1 blocks=1 obj#=-1 tim=1502627713479904WAIT #140528657591192: nam='control file sequential read' ela= 4 file#=1 block#=1 blocks=1 obj#=-1 tim=1502627713479922WAIT #140528657591192: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=1502627713479931...WAIT #140528657591192: nam='Disk file operations I/O' ela= 11 FileOperation=2 fileno=1 filetype=2 obj#=-1 tim=1502627713481300WAIT #140528657591192: nam='Disk file operations I/O' ela= 6 FileOperation=2 fileno=2 filetype=2 obj#=-1 tim=1502627713481317WAIT #140528657591192: nam='Disk file operations I/O' ela= 4 FileOperation=2 fileno=3 filetype=2 obj#=-1 tim=1502627713481327WAIT #140528657591192: nam='Disk file operations I/O' ela= 4 FileOperation=2 fileno=4 filetype=2 obj#=-1 tim=1502627713481338WAIT #140528657591192: nam='Disk file operations I/O' ela= 5 FileOperation=2 fileno=201 filetype=2 obj#=-1 tim=1502627713481351
数据
文件
数据库
装载
日志
控制
过程
位置
参数
方式
状态
不同
合适
事件
信息
名称
后台
头部
实例
磁盘
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嵌入式软件开发用到的工具
网络安全攻坚专业
手机网络安全板报图片
软件开发企业税收筹划
数据库面试简答题
黑魂三开服务器
思科计算机网络技术实训答案
2020年国家网络安全宣传
机械软件开发行业
网站数据库会被删除吗
校园网连不上csgo服务器
上海游族互联网络科技
软件开发论坛排名
http服务器调用资源
win10管理服务器在哪
券商服务器与通道
计算机三级网络技术 笔记
唯一索引数据库设置
淄川销售采购生产软件开发公司
服务器管理模块简称
网络安全模式怎么样
魔改tv数据库
代理服务器没有访问
网络安全网正式实施
服务器 32 64
浙江互联网络技术咨询介绍
全国网络安全信息大会
万方网是数据库吗
淘宝 软件开发 放置目录
三调数据库中Czcsxdm