shutdown是对实例而言
service是启动的,根本不代表instance就是启动的。
启动数据库基本可分为三个过程:
1,nomount(即只启动instance,而不加载数据库)
2,mount(加载数据库,但没有打开)
3,open(将数据库置于打开状态)
在DBA执行connect 到Oracle后,执行startup(不带参数),将使数据库处于open状态,
当然也可以带上前面的参数(如startup nonount)使数据库处于所需要的状态;
但是DBA执行connect操作的前提是oracle的服务(OracleService)是处于“已启动”状态的,(也就是说当数据库关闭状态,或者instance是处于shutdown状态时,OracleService)也可能是处于“已启动”状态的,但如果OracleService)不是已启动的,则数据库一定不是启动的。
需要说明的是在windows中的“服务”中启动OracleService时,默认会执行startup操作,即会将数据库置于open状态(如果我没有记错,可以通过oradim设置使得在windows中的“服务”中启动OracleService时仅启动service,而不会将数据库置于open状态的)。