oracle - 如何使用 SQL 查询查找 Oracle 数据库的 SID

标签 oracle azure azure-logic-apps

我正在开发一个应用程序,并使用如下连接字符串与 Oracle 数据库建立有效连接:

"Data Source=(DESCRIPTION=(ADDRESS=(COMMUNITY=tcpcomm)(PROTOCOL=TCP)(HOST=mydatabasehost.myserver.com)(PORT=1529))(CONNECT_DATA=(SERVICE_NAME=code123.myserver.com))); User Id=user;Password=123456;";

我检查过,我还可以在笔记本电脑上使用 Oracle SQL Developer 连接到该数据库。

现在我尝试使用 Azure 逻辑应用 Oracle 连接器连接到 Oracle 数据库。
奥 git _a 但它需要:

serverhost:port/sid

我只尝试了 serverhost:port 但它也无法连接,给出如下错误:

Test connection failed. Details: Oracle: ORA-12154: TNS:could not resolve the connect identifier specified inner exception: Oracle: ORA-12154: TNS:could not resolve the connect identifier specified clientRequestId:

我尝试了这 3 个查询:

select distinct sid from v$mystat;
select * from global_name;
select value from v$parameter where name='service_names';

但是当我选择 SID 时,返回的值都无法在本地工作。
Azure Logic Apps Connector
我明白

Invalid Username/password; logon denied

在逻辑应用上出现此错误: 无法为连接 ID 创建连接

'/providers/Microsoft.PowerApps/apis/shared_oracle/connections/shared-oracle-....'. Encountered internal server error from Data Transfer Service. The tracking Id is '...'.

在本地,如果我使用 SERVICE_NAME 那么它就可以工作。但为了使用逻辑应用连接器,我需要 SID。

我检查了本地数据网关网络端口测试,结果显示: Oracle SQL Developer

如何通过在 Oracle SQL Developer 上现有的 Oracle 连接中键入 SQL 查询来找出 SID?或者如何使用 SERVICE_NAME 从 Azure 逻辑应用进行连接?

服务器是否有可能不接受使用 SID 的连接,而只接受使用服务名称的连接?

最佳答案

您可以通过查询现有 Oracle SQL Developer 连接中的 v$thread View 来找到 SID:

如果 ORACLE_SID = DB_SID

SQL> select instance from v$thread;
INSTANCE
----------------
DB_SID

有关 DB_NAME 和 ORACLE_SID 的更多信息 here

关于oracle - 如何使用 SQL 查询查找 Oracle 数据库的 SID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68323376/

相关文章:

performance - Azure角色内缓存非常慢

azure - 如何将 AKS 中运行的 Grafana 代理与 Grafana 云集成

azure - 通过 Graph API 更改 M365 群组电子邮件

java - JDBC - 转换 SQL 字符串以满足 Java

sql - Oracle SQL Loader 中的映射字段

postgresql - Azure PostgreSQL 服务器服务排序规则创建错误

Azure 逻辑应用程序 - 将整个电子邮件作为 .eml 附件发送到休息调用

Azure 逻辑应用,入门配置

sql - Oracle EXPLAIN PLAN FOR 不返回任何内容

sql - 强制首先运行 SQL 子查询