【发布时间】:2020-03-02 03:44:44
【问题描述】:
我有一个数据库,它在名为 DB1 和 DB2 的同一台机器上复制。
我正在尝试通过 SQL Developer 连接到这两个数据库。我的 Windows 上没有安装 Oracle 客户端。
tnsnames.ORA 如下所示:
DB1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB1)
)
)
DB2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB2)
)
)
listener.ora 如下所示:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtPROC)
(ORACLE_HOME = /product/11.2.0.4/)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver.com)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DB1)
(SID_NAME = DB1)
(ORACLE_HOME = /product/11.2.0.4/)
(PRESPAWN_MAX = 50)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DB2)
(SID_NAME = DB2)
(ORACLE_HOME = /product/11.2.0.4/)
(PRESPAWN_MAX = 50)
)
)
我能够连接到 DB2,但不能连接到 DB1。当我从 SQL Developer 连接到 DB1 时,出现 ORA-12505 错误。
当我运行 $ps -ef | grep pmon 时,我得到 2 个进程 - ora_DB1 和 ora_DB2
当我运行 $ps -ef | grep tns 时,我得到 1 个进程 - LISTENER
当我运行 $lsnrctl status LISTENER 时,我得到了输出
服务总结
服务“DB2”有 1 个实例。 实例“DB2”,状态 UNKNOWN,有 1 个用于此服务的处理程序...
为什么我无法连接到“DB1”?
【问题讨论】: