Oracle 数据库启动顺序和在各个阶段需要什么文件

Oracle 数据库启动顺序和在各个阶段需要什么文件,第1张

数据库启动时,首先通过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状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9814893.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存