oracle启动于关闭的过程,Oracle10g的启动和关闭及启动过程分析

Oracle10g的启动和关闭及启动过程分析

登陆到Oracle用户

#su - oracle

设定相关变量

$export ORACLE_HOME=/u01/app/oracle

$export ORACLE_SID=orcl

启动监听

$lsntctl start

登陆到sqlplus

$sqlplus / as sysdba

启动实例和数据库

SQL>startup nomount

SQL>startup mount

SQL>startup open

或者

SQL>startup

关闭数据库:

SQL>shutdown immediate

或者

SQL>shutdown

启动过程分析

第一阶段:

SQL>startup nomount

在这一步时,Oracle读取spfile文件,并根据spfile文件内定义的参数启动instance,分配SGA,启动后台process,此时可以查看到instance状态

SQL>select * from v$instance;

也可以查询到启动参数:

SQL>show parameter;

或者

SQL>select * from v$parameter;

在shell下也可以查看到oracle后台process

$ps -ef|grep ora_

但这一阶段,无法查看到数据库信息,还没有加载控制文件,数据库信息和表空间信息是无法查询的,所以此时v$database和v$tablespace视图都是无法查询的

第二阶段:

SQL>startup mount

这一阶段Oracle会加载控制文件,控制文件中存储的是数据文件、redolog、表空间等的位置信息以及检查点等信息,spfile中记录了控制文件所在的路径,Oracle在第一阶段启动结束后,会根据该信息加载控制文件,完成第二阶段的启动,可以通过下面的命令查看控制文件的存储位置

SQL>show parameter control

或者

SQL>select * from v$controlfile;

默认的控制文件共有3个,内容完全一致,这样做的目的就是为了当其中一个控制文件损坏或丢失的时候,可以使用其他的控制文件启动数据库,因为控制文件对数据库至关重要,如果缺少了控制文件,数据库将无法启动,因此建议将控制文件放在不同的磁盘或者分区上,然后修改spfile中控制文件的路径。另外,控制文件和spfile都属于二进制文件,无法直接编辑和查看,也不要直接用文本编辑器去编辑,如果想查看控制文件的内容,可以在shell中使用如下命令:

$ strings control01.ctl |more

在这一阶段,有个口令文件也至关重要,路径位于$ORACLE_HOME/dbs/orapw[SID],如果mount成功,则Oracle内建用于可通过口令文件进行认证和登录,假如口令文件丢失,Oracle无法正常启动。如果口令文件丢失,可以通过orapwd命令重建口令文件,orapwd位于/$ORACLE_HOME/bin目录下。

第三阶段:

SQL>startup open

根据第二阶段在控制文件中找到的数据文件、redolog、表空间等的位置信息以及检查点信息,对datafile、表空间及日志文件进行检查,如果检查通过就正常启动,如果检查通不过就会报错,无法启动。主要就是检查datafile的头文件中记录的检查点信息和控制文件中记录的检查点信息是否一致。正常启动后,Oracle会使用$ORACLE_HOME/dbs/lk[SID]文件对数据库进行锁定,直接查看lkS[SID]文件时只会显示DO NOT DELETE THIS FILE!,不要删除该文件,因为该文件的作用是在数据库正常启动后对数据库进行锁定时用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值