Oracle启动数据库过程中实例与线程思考
admin
2023-04-23 20:43:16
0

    早期用Linux的时候,看Oracle监听状态和端口只是浏览一下,没有认真看过内容也是英文提示,时隔数载重新捡起Oracle,Windos下CMD查看监听状态发现很多有意思的问题,Oracle实例和线程很多不懂之处请高手指点


    首先Oracle启动阶段nomount,mount,open(其余不作啰嗦)每一个阶段都做了测试和总结

    1、数据库关闭阶段(实例状态)

        服务 "CLRExtProc" 包含 1 个实例。

          实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序.

      已连接到空闲例程。

      登录之后已连接空闲进程,而且状态未知的,后期查阅资料才知道UNKNOWN状态非自动注册,通过搜索Listener.org里面内容,匹配services之后才进行的注册,在这个文件中不需要配置SID,PMON会自动检测,因为数据库没有启动,所以空闲进程。

           2、nomount阶段             

            SQL> startup nomount;

                ORACLE 例程已经启动。

                Total System Global Area 1686925312 bytes

                Fixed Size                  2176368 bytes

                Variable Size            1090521744 bytes

                Database Buffers          587202560 bytes

                Redo Buffers                7024640 bytes


          可见数据库大小,变量缓冲区等资源已经启动。我们测试查询一下v$datafile,v$controlfile,v$database. 


            SQL> select file#,name from v$datafile;

                 select file#,name from v$datafile

                       *

                第 1 行出现错误:ORA-01507: ??????

            

            SQL> select name from v$controlfile;

                未选定行


      查询看到nomount阶段没有加载数据文件,可以检测SGA相关。 

       

      监听状态查看(实例)

            服务 "soujiusubdb" 包含 1 个实例。

              实例 "soujiusubdb", 状态 BLOCKED, 包含此服务的 1 个处理程序...


        引用:这时候实例已经启动,BLOCKED阻塞的状态,那么Oracle实例应该是操作系统中线程运行,OS阻塞用pritive调用原子操作,由于某事件无法运行,受阻塞。但是nomount阶段多数讲解:只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS 和 V$SESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关,系统分配内存、开启后台进程,同时更新alter日志文件。


      那么在操作系统的层面是否能这样理解,通过Oracle的nomount命令来创建实例,这时候操作系统会给分配进程或线程去响应请求,Oracle为实例创建内存结构和服务进程,也就是实例具备了必要资源分配,那么此时的线程的状态应该为就绪状态(除了得到CUP之外的资源,获得处理机即可运行),插入就绪队列,但是监听状态为阻塞,也就意味着nomount状态下,实例线程在就绪队列被挂起,不释放CUP(实例当前应该没有获取CPU),调用suspend原子操作,静止就绪(不接受调度)nomount是主动而非被动去阻塞。


      3、mount阶段

                       我们这时候去查看数据文件,日志文件,控制文件都是正常,查看监听实例,这时候实例状态变成了Ready(就绪状态),也就是Oracle在执行mount时候时候调用原语active来唤醒实例线程,变成活动就绪状态。  

                服务 "CLRExtProc" 包含 1 个实例。

                  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

                服务 "soujiusubdb" 包含 1 个实例。

                  实例 "soujiusubdb", 状态 READY, 包含此服务的 1 个处理程序...


         引用这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。 在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V$THREAD、V$CONTROLFILE、V$DATABASE、V$DATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。 启动条件是需要有控制文件,如果控制文件丢失或者损坏,启动将会报错。此时系统会打开控制文件、检查数据文件、日志文件的名称和位置,但此时不检查文件到底是否存在不存在。


       4、open阶段

         引用:open阶段,该阶段主要是打开数据文件、日志文件,在打开的过程中对数据文件和日志文件进行一致性检查,如果不一致,则SMON进程继续实例恢复,如果文件丢失,打开失败。

         我本以为在此阶段实例状态会就绪变成执行状态,变更open阶段之后,查看监听后发现多出一个服务,但是实例名一样,状态也一样,仍然为就绪状态,Oracle实例线程一直处于就绪状态这一点还没有搞清楚,希望老师们给予解答,解析迷惑。

     

                服务摘要..

                    服务 "CLRExtProc" 包含 1 个实例。

                      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

                    服务 "SOUJIUSUBDBXDB" 包含 1 个实例。

                      实例 "soujiusubdb", 状态 READY, 包含此服务的 1 个处理程序...

                    服务 "soujiusubdb" 包含 1 个实例。

                      实例 "soujiusubdb", 状态 READY, 包含此服务的 1 个处理程序...


        数据库关闭,卸载实例,终止实例,几种参数关闭方式需求不同,应用场合不同,但是最后整体一个关闭过程大同小异,希望也能学习到关于关闭数据库时候线程的动作。

        

               

                


相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...