oracle启动数据库的过程为,深入剖析Oracle启动过程内部初始化

深入剖析Oracle启动过程内部初始化

发布时间:2020-06-01 21:36:37

来源:51CTO

阅读:760

作者:Sound_

202601e9cafb09bd593eb796baff4699.png

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 nomount

ORACLE instance started.

Total System Global Area 1603411968 bytes

Fixed Size    2253664 bytes

Variable Size 1375734944 bytes

Database Buffers  218103808 bytes

Redo 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 bytes

Fixed Size    2253664 bytes

Variable Size 1375734944 bytes

Database Buffers  218103808 bytes

Redo Buffers    7319552 bytes

SQL> oradebug setmypid

Statement processed.

SQL> oradebug tracefile_name

/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3682.trc

SQL> 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.trcTrace file /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3682.trc

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /oracle/app/oracle/product/11.2.0

System name:    Linux

Node name:      rhel6

Release:        2.6.32-431.el6.x86_64

Version:        #1 SMP Sun Nov 10 22:19:54 EST 2013

Machine:        x86_64

VM name:        VMWare Version: 6

Instance name: orcl

Oracle数据库mount启动读取控制文件,写日志文件...

WAIT #140528657591192: nam='control file sequential read' ela= 8 file#=0 block#=1 blocks

=1 obj#=-1 tim=1502627703012561

WAIT #140528657591192: nam='control file sequential read' ela= 2 file#=1 block#=1 blocks

=1 obj#=-1 tim=1502627703012583

WAIT #140528657591192: nam='control file sequential read' ela= 47 file#=0 block#=3 block

s=8 obj#=-1 tim=1502627703012650

WAIT #140528657591192: nam='control file sequential read' ela= 13 file#=1 block#=3 block

s=8 obj#=-1 tim=1502627703012674

...

WAIT #140528657591192: nam='ADR block file read' ela= 847  =0  =0  =0 obj#=-1 tim=150262

7707123048

WAIT #140528657591192: nam='ADR block file read' ela= 576  =0  =0  =0 obj#=-1 tim=150262

7707124068

WAIT #140528657591192: nam='ADR block file read' ela= 562  =0  =0  =0 obj#=-1 tim=150262

7707125013

WAIT #140528657591192: nam='ADR block file read' ela= 473  =0  =0  =0 obj#=-1 tim=150262

7707125891

...

Oracle数据库open过程读取控制文件信息,与读取磁盘数据文件头部进行对比alter database open

END OF STMT

PARSE #140528657591192:c=0,e=274,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,plh=0,tim=1502627713

479605

WAIT #140528657591192: nam='control file sequential read' ela= 8 file#=0 block#=1 blocks

=1 obj#=-1 tim=1502627713479904

WAIT #140528657591192: nam='control file sequential read' ela= 4 file#=1 block#=1 blocks

=1 obj#=-1 tim=1502627713479922

WAIT #140528657591192: nam='control file sequential read' ela= 2 file#=0 block#=15 block

s=1 obj#=-1 tim=1502627713479931

...

WAIT #140528657591192: nam='Disk file operations I/O' ela= 11 FileOperation=2 fileno=1 f

iletype=2 obj#=-1 tim=1502627713481300

WAIT #140528657591192: nam='Disk file operations I/O' ela= 6 FileOperation=2 fileno=2 fi

letype=2 obj#=-1 tim=1502627713481317

WAIT #140528657591192: nam='Disk file operations I/O' ela= 4 FileOperation=2 fileno=3 fi

letype=2 obj#=-1 tim=1502627713481327

WAIT #140528657591192: nam='Disk file operations I/O' ela= 4 FileOperation=2 fileno=4 fi

letype=2 obj#=-1 tim=1502627713481338

WAIT #140528657591192: nam='Disk file operations I/O' ela= 5 FileOperation=2 fileno=201

filetype=2 obj#=-1 tim=1502627713481351

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值