Oracle cloud 无法创建实例

概述
动态服务是在服务器上启动并运行的实例向侦听器注册的代表,而静态服务(SID_LIST_LISTENER)是一种不论实例是否在服务器上运行都可用于外部连接的机制,这对于访问空闲或NOMOUNT状态的数据库非常有用。在Oracle 19c的Oracle Net Services高级功能中,静态服务的应用场景包括:
外部过程调用
Oracle异构服务集成
Oracle Data Guard操作
从Oracle Enterprise Manager Cloud Control以外的工具远程启动数据库
与早期版本的Oracle数据库(如Oracle8i版本2之前的版本)的连接
一、添加单个静态服务的步骤
启用静态服务注册功能非常简单,只需在器配置文件中添加名为SID_LIST_LISTENER的条目即可。此文件通常位于$ORACLE_HOME/network/admin/listener.ora目录下。编辑该文件后,需重新启动器。
示例配置如下:
shell
[oracle@test ~]$ vi $ORACLE_HOME/network/admin/listener.ora
...
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=ORCL)
)
在这个配置中,我们提供了静态服务注册所需的两项关键信息:ORACLE_HOME和ORACLE_SID。
二、添加多个静态服务的方法
如果需要为多个ORACLE_SID配置静态服务,可以在SID_LIST中添加更多的SID_DESC条目。示例如下:
shell
[oracle@test ~]$ vi $ORACLE_HOME/network/admin/listener.ora
...
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=ORCL)
)
(SID_DESC=
(ORACLE_HOME=/path/to/another/oracle/home)
(SID_NAME=ALLDB)
)
三、使用GLOBAL_DBNAME的情况
当数据库具有DB_DOMAIN时,应在SID_LIST中添加GLOBAL_DBNAME信息。格式如下:.。例如:
shell
[oracle@test ~]$ vi $ORACLE_HOME/network/admin/listener.ora
...
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=ORCL)
)
(GLOBAL_DBNAME=orcl.)
四、Data Guard Broker的静态服务配置
为Data Guard Broker配置静态服务时,需要添加一个特定的服务名_DGMGRL.,以支持需要重新启动实例的操作,如主数据库和备用数据库之间的角色切换。示例如下:
shell
[oracle@test ~]$ vi $ORACLE_HOME/network/admin/listener.ora
...
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=ORCL)
)
(GLOBAL_DBNAME=ORCL_DGMGRL) 注意这里的服务名称最好大写。如果DB_DOMAIN为空则无需添加。 如有需要可以将其命名为大写格式以便辨识。 上传者注这里假设了你的读者会注意这样的细微之处所以将其列为一种技巧说明这点也非常重要若不影响文章内容的准确性和读者理解亦可适当删除这段备注(根据自身需要调整。)为了避免歧义后面的几个知识点涉及可能的更改或者错误警告同样采取了此种表述方式注意区分上下文理解。) 接下来我们可以通过lsnrctl命令查看服务状态以确认静态服务的配置情况: [oracle@test ~]$ lsnrctl status ... Services Summary... Service "ORCL" has two instance states Instance "ORCL" status UNKNOWN has one handler for this service Instance "ORCL" status READY has one handler for this service Service "ORCLXDB" has one instance in READY state with one handler The command completed successfully 根据显示的结果我们可以看到静态服务ORCL的状态被标记为UNKNOWN而
