对在adminstrator assistant forwindows这个工具里有一个“实例随服务启动而启动”选项的说明

本文介绍了Windows下Oracle服务与数据库实例的关系。启动OracleserviceXXXX服务会运行oracle.exe进程,但并不自动启动数据库实例。使用管理员Assistant工具的"实例随服务启动而启动"选项,才能确保数据库实例启动。停止服务时,无论该选项是否选中,数据库实例都会强制关闭。参考内容涉及Linux下Oracle服务的自动启动与停止以及Windows服务原理。

一个进程由多个线程组成的。

在windows操作系统下的oracle.exe进程由许多线程组成,其中也包括组成数据库实例的那些线程,下图显示的就是组成数据库实例的那些线程:

Description of procinfo.gif follows


启动一个叫OracleserviceXXXX的服务,其实就是启动运行了oracle.exe这个可执行文件的一个进程。【一个服务(对象)启动时就是在启动该服务对象对应的进程的运行。】

但是启动运行了一个oracle.exe进程,并不意味着该oracle.exe进程里的组成数据库实例的那些线程启动运行了。组成数据库实例的那些线程只是组成oracle.exe进程的一部分线程,不是全部。所以即使组成数据库实例的那些线程没有运行,只要有其他线程运行,oracle.exe进程也就算是运行了。一个进程运行时,必定就会创建一个主线程启动运行。而主线程(Oracle.exe进程)会根据情况(如在sqlplus里执行startup命令时)创建从线程(会创建启动数据库实例的相关线程)。

要启动数据库实例,即要启动组成数据库实例的那些线程,就得sqlplus / as sysdba后执行startup命令。

在adminstrator assistant forwindows这个工具里有一个“实例随服务启动而启动”选项,其实就是启动运行了一个oracle.exe进程(即启动了服务)后在自动把该oracle.exe进程里的组成数据库实例的那些线程给启动运行起来(即启动了数据库实例)。

停止运行一个oracle.exe进程时当然也就意味着该oracle.exe进程里的组成数据库实例的那些线程也会被(强制)停止运行了。故而在adminstrator assistant forwindows这个工具里有一个“实例随服务关闭而关闭”选项选不选,停止OracleserviceXXXX的服务时数据库实例都是会被关闭的,当然此时数据库实例应该是以强制关闭方式关闭的。在adminstrator assistant forwindows这个工具里选了“实例随服务关闭而关闭”选项,只是设置了实例随服务关闭而关闭时是以何种方式关闭的而已。


参考:

Linux下让Oracle服务自动启动与停止

在Windows平台下修改Oracle实例不随服务启动 查看window下默认ORACLE_SID

在Windows平台下修改Oracle实例不随服务启动

Windows服务的本质以及具体实现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值