【发布时间】:2016-06-21 01:39:33
【问题描述】:
我想知道我使用 SQL 查询的 RAC 集群名称是什么。我发现可以使用 Oracle 工具 cemutlo -n 或仅使用 ocrdump 检索它(请参阅 http://www.br8dba.com/tag/how-to-display-oracle-cluster-name/)。但是,在这种情况下是不可能的,因为在目标环境中,我只能执行 SQL 查询,并且无权访问 DBMS 安装目录。
我发现(这里是https://community.oracle.com/thread/2510788?tstart=0)可以使用一些不寻常的查询来完成:
SELECT a.ID, a.CLUSTER_ID FROM TABLE(DBMS_DATA_MINING.GET_MODEL_DETAILS_OC('CLUS_OC_1_15',NULL,NULL,1,0,0)) a
select * from table(dbms_data_mining.get_model_details_km('CLUS_KM_1_25'))
但是,它们不适用于我的环境,我无法创建新模型。
最好,我只是从某种v$/gv$ 表中读到这个——但我在那里找不到。我猜那是因为集群远低于 DBMS。
【问题讨论】:
-
这是一个有趣的问题,所以 +1。但我找不到任何方法如何使用 SQL 查询来做到这一点。我不确定集群名称是否存储在数据库中,因为在逐节点重命名集群时(MOS Doc ID 1967916.1),您将同时拥有旧名称和新名称...
-
@MaxU 没必要一定要保存在DB里,或许有办法让DBMS调用
cemutlo -n/ocrdump? -
你可能想检查这个:dba-oracle.com/t_execute_operating_system_os_command_oracle.htm,但我想以不同的方式找到它会更容易、更安全——也许请负责的系统管理员运行
cemutlo -n并为你提供结果。 .. -
@MaxU 调用操作系统函数似乎有点太冒险了,可能需要额外的权限。要求用户输入也不是一种选择。所以我想DBMS没有办法做到这一点:(
标签: oracle oracle11g oracle-rac