
数据库启动时,首先通过ORACLE_SID ,来找到的服务器参数文件(如spfileorcl11gora),并可以启动到nomount状态,此时实例启动;
通过服务器参数文件(包含控制文件的路径) 可以找到控制文件的位置(所有的控制文件要都可用且一致),然后就可以启动到mount状态,此时数据库被装载;
跟据控制文件里的scn号和数据文件头部的scn对比,一致,即可以启动到open状态,此时数据库打开。
一:查看数据库监听是否启动
lsnrctl status
二:查看数据库运行状态,是否open
select instance_name,status from v$instance;
三:查看alert日志,查看是否有错误信息
SQL> show parameter background_dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/ogg1/ogg1/trace
vim / u01/app/oracle/diag/rdbms/ogg1/ogg1/trace/alert_ogg1log
数据库在启动 过程分为三个阶段,nomount ->mount->open
每个阶段干什么了,你只要明白了,就可以很好的控制了
第一个nomount阶段:读取参数文件(pfile ||spfile)分配内存,启动后台进程,参数里面读取到控制文件的路径(并不打开)
如果不能到nomount ,请检查内存和参数文件
第二阶段mount 根据第一步读取到的路径打开控制文件,读取数据文件和日志文件的位置(不打开)
如果不能mount 检查控制文件是否有问题
第三部 open 打开数据文件,日志文件并一致性检查
如果不能到open检查数据文件,日志文件是否有问题
数据库mount状态是加载控制文件,让度实例和数据库相关联。
nomount状态:启动实例。
Reading the initialization file from $ORACLE_HOME/dbs in the following order:
从环境变量下dbs目录按如下顺序读取初始化文件:
-first spfileSIDora
首先,读取spfile+实例名ora
-if not found then, spfileora
若未发现文件则读取spfileora
-if not found then, initSIDora
若未发现文件则读取init+实例名ora
Specifying the PFILE parameter with STARTUP overrides the default behavior
扩展资料
后台进程是数据库和 *** 作系统进行交互的通道,后台进程的命名由ORACLE_SID决定,ORACLE根据ORACLE_SID来寻找参数文件启动实例。
是Oracle数据库为保持最佳性能和协调多用户请求而设置的,主要有DBWR(将Database Buffer Cache数据写入Data Files)、LGWR(将Redo Log Buffer数据写入Redo Log Files)、CKPT(协调数据文件、控制文件和重做日志。
将System Change Number即SCN写入到控制文件和数据文件头部,促使DBWR、LGWR执行)、SMON(System Monitor,3方面作用:instance recovery实例故障数据恢复、合并空闲碎片空间、回收临时段)、PMON(用户例程意外终止时处理事务。
如回退事务、释放锁及其他资源等)、ARCH(将Redo Log Files写入Archive Log Files)、CJQ0(job queue coordinator)、RVWR(recover writer,为flashback database提供日志记录)等进程。
Oracle实例启动分为三个阶段,第一个阶段是启动到nomount状态,这个过程,需要读取参数文件里面的参数,同时启动相关进程,第二个阶段是mount状态,这个过程读取控制文件,第三个阶段是open阶段,根据控制文件内信息,去找日志文件、数据文件进行一致性验证。
你说的启动到nomount状态就是读取了参数文件呀。
你是想要知道启动步骤吗?
步骤:
打开终端界面:
开启监听 lsnrctl start;(如果不进行远程连接可以不用执行这个步骤,直接第二步)
用sys用户登录到sqlplus(在终端中直接执行):sqlplus / as sysdba
开启实例到nomount:startup nomount;
开启到mount:alter database mount;
到open:alter database open;
3~5步骤可以直接一次性执行:startup(或者startup open)
1、由于oracle运行在Linux系统里面,第一步,我们要连接Linux系统。
2、然后我们转换到oracle安装用户里面。 我的是 oracle。
3、然后我们运行oracle的环境里的变量, 用来输入相关命令。
4、进去oracle的控制台。输入一个命令: sqlplus / as sysdba。
5、如果要启动数据库,就输入命令: startup。
6、如果关闭数据库, 就输入命令: shutdown immediate。
楼主您好
1Oracle启动模式的nomount阶段
nomount,在这个启动阶段里,Oracle主要做的事情,就是找到相关的启动参数文件,并且打开启动参数文件,根据启动参数里记录的参数值。
启动实例,并且启动成功的话,打开告警文件alert_ora文件,这个文件默认在ORACLE_BASE/admin/SID
/bdump下,并且记录相关的启动信息。如果在startup里指定了pfile=''的话,Oracle将从你指定的文件作为启动参数文件,如果是没有指定pfile的话,Oracle会先去默认目录($ORACLE_HOME/)下找spfileSIDora,如果没有找到,则找
spfileora,如果还是没有,找initSIDora,这个就是以前的静态参数文件了,如果没有则找initora;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误,同时会动态注册实例名到监听服务里。
当然,在使用startup pfile=''前,我们需要先用create pfile from spfile;把实例的动态参数文件先export成静态的文本参数文件,然后根据合适的参数修改这个文件,修改好了一个在用这个pfile启动。
2Oracle启动模式的mount阶段
当达到了nomount阶段以后,数据库就只能一步一步的来进行启动了,他的下一个启动的阶段,就是mount。我们通过alter
database mount;来从nomount阶段或者通过startup
mount来到达这个阶段,到达这个阶段,Oracle从启动参数文件里找到控制文件的路径参数值,找到所有的控制文件,然后打开读取控制文件的信息,控制文件里记录了各种表空间文件,日志文件的信息,以及数据库的字符集,其实就是控制文件里的记录(控制文件是可以指定多个的,只要有个一个不能成功读取,这个阶段将会失败),这时,数据库已经读取了相关系统文件的信息,也读取了字符集信息,但是仅仅只是读取,这些系统文件,并没有真正的加载到数据库里。
曾经有人启动到mount的时候,出现问题,最后一看原来是control文件这里已经被删除掉了,解决的办法,就是从备份的控制文件来一个过来,然后做恢复就可以了。如果没有备份,在nomount下,新建一个controlfile,就可以了。
3Oracle启动模式的open阶段
mount阶段结束后,数据库体系的所有信息已经读取全了,我们知道了redo文件,数据文件的信息,但是还没有加载,到open状态,数据库读取所有的文件,如果有一个文件不能成功读取,open阶段就会失败。这时候,我们能够解决的就是通过错误的提示,进行数据恢复,或者错误排查。
这一个阶段的错误的各种原因最多,处理起来的方式也相对于前面的要复杂的多,不过基本上都是和数据文件,日志文件缺失,数据scn不一致,等等有关,这时我们需要做的就是根据错误的提示来进行相应的数据恢复,和数据排查,这块是数据库恢复最有趣的地方。
SMON是系统监视器(System
Monitor)的缩写。如果Oracle实例失败,则在SGA中的任何没有写到磁盘中的数据都会丢失。有许多情况可能引起Oracle实例失败,例如, *** 作系统的崩溃就会引起Oracle实例的失败。当实例失败之后,如果重新打开该数据库,则背景进程SMON自动执行实例的复原 *** 作。
DBWR是数据库书写器(Database
Write)的缩写该服务器进程在缓冲存储区中记录所有的变化和数据,DBWR把来自数据库的缓冲存储区中的脏数据写到数据文件中,以便确保数据库缓冲存储区中有足够的空闲的缓冲存储区。脏数据就是正在使用但是没有写到数据文件中的数据。
LGWR是日志书写器(Log Write)的缩写。LGWR负责把重做日志缓冲存储区中的数据写入到重做日志文件中。
CKPT进程是检查点(Checkpoint)的缩写。该进程可以用来同步化数据库的文件,它可以把日志中的文件写入到数据库中。
PMON是进程监视器(Process Monitor)的缩写。当取消当前的事务,或释放进程占用的锁以及释放其它资源之后,PMON进程清空那些失败的进程。
以上就是关于Oracle 数据库启动顺序和在各个阶段需要什么文件全部的内容,包括:Oracle 数据库启动顺序和在各个阶段需要什么文件、如何判断oracle数据库正常、如何让oracle数据库只能启动到mount状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)