问题描述:我连一台ubuntu上的Oracle,
但服务器必须启动到mount阶段才能连上。
但按理说连接跟实例没关系。而且连另一台redhat的Oracle就只打开监听器就可以了。
后来我查了ubuntu那台机子的listener.ora,发现里面没有注册,原来一直都是用的动态注册而不是静态注册(这里详情看Dave的博文Oracle Listener 动态注册 与 静态注册)。
远程连接,要解析远程要连接的实例,然后在自己的注册清单里找对应的实例。
但监听器在数据库nomount模式时去找监听器注册的(不过Dave说是open才会找监听器注册),但是处于blocked状态。到了mount模式才是ready状态。
动态注册的这时候才会在监听器清单里找到可连接的对应的实例。故此动态注册必须要到mount状态下sys才可以远程连接。
静态注册一开始知道从注册清单里找到远程要连接的实例。
那本机在没有监听的情况下,启动实例是通过什么方式呢?我测试的不是以操作系统用户身份,sys用户认证就可以启