or
ERROR [AGENTNAME-lowPriorityPool-1-[DBSS_PI_Engine_Maintenance][]] com.quest.qsi.fason.sqlserver.common.spi.BaseSpiController - Failed to initialize SQL PI engineThe following groovy script when run through Script Console will list the SQL Server database agents and the PI repository that each is associated with. This can be adjusted for other cartridges and can be used for the investigation.
def out = new StringBuilder(); def agentService = server.get("AgentService"); def configService = server.get("ConfigService"); def agents = agentService.findByAdapterAndType("FglAM", "DB_SQL_Server"); out.append(String.format("FglAM ID, Agent Name, Repository Host, Repository Database, Port, Username, Auth Type, Enabled, Monitoring Key, Paused\n")); for (agent in agents) { def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId()); if (primaryASP) { out.append(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s, %s\n", agent.getRemoteClientId(), agent.getName(), primaryASP.getString("parcStorageHost"), primaryASP.getString("parcStorageDatabase"), primaryASP.getString("parcStoragePort"), primaryASP.getString("parcStorageUsername"), primaryASP.getString("parcStorageAuthType"), primaryASP.getString("paecEnable"), primaryASP.getString("paecMonitoredKey"), primaryASP.getString("paecPaused"))); } } return out.toString();
This script can be used for Oracle instance agents
def out = new StringBuilder(); def agentService = server.get("AgentService"); def configService = server.get("ConfigService"); def agents = agentService.findByAdapterAndType("FglAM", "DB_Oracle"); out.append(String.format("FglAM ID, Agent Name, Repository Host, Repository Database, Port, Username, Auth Type, Monitored Key, Enabled, Monitoring Key, Paused\n")); for (agent in agents) { def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId()); if (primaryASP) { out.append(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s, %s\n", agent.getRemoteClientId(), agent.getName(), primaryASP.getString("spircStorageHost"), primaryASP.getString("spircStorageDatabase"), primaryASP.getString("spircStoragePort"), primaryASP.getString("spircStorageUsername"), primaryASP.getString("spircStorageAuthType"), primaryASP.getString("spiecEnable"), primaryASP.getString("spiecMonitoredKey"), primaryASP.getString("spiecPaused"))); } } return out.toString();
This script case be used for Oracle RAC agents
def out = new StringBuilder(); def agentService = server.get("AgentService"); def configService = server.get("ConfigService"); def agents = agentService.findByAdapterAndType("FglAM", "DB_Oracle_RAC_Instance"); out.append(String.format("FglAM ID, Agent Name, Repository Host, Repository Database, Port, Username, Auth Type, Monitored Key, Enabled, Monitoring Key, Paused\n")); for (agent in agents) { def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId()); if (primaryASP) { out.append(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s, %s\n", agent.getRemoteClientId(), agent.getName(), primaryASP.getString("spircStorageHost"), primaryASP.getString("spircStorageDatabase"), primaryASP.getString("spircStoragePort"), primaryASP.getString("spircStorageUsername"), primaryASP.getString("spircStorageAuthType"), primaryASP.getString("spiecEnable"), primaryASP.getString("spiecMonitoredKey"), primaryASP.getString("spiecPaused"))); } } return out.toString();
This script can be used for MySQL PI agents
def out = new StringBuilder(); def agentService = server.get("AgentService"); def configService = server.get("ConfigService"); def agents = agentService.findByAdapterAndType("FglAM", "DB_MySQL_PI"); out.append(String.format("FglAM ID, Agent Name, Repository Host, Repository Database, Port, Username, Auth Type, Enabled, Monitoring Key, Paused\n")); for (agent in agents) { def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId()); if (primaryASP) { out.append(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s, %s\n", agent.getRemoteClientId(), agent.getName(), primaryASP.getString("parcStorageHost"), primaryASP.getString("parcStorageDatabase"), primaryASP.getString("parcStoragePort"), primaryASP.getString("parcStorageUsername"), primaryASP.getString("parcStorageAuthType"), primaryASP.getString("paecEnable"), primaryASP.getString("paecMonitoredKey"), primaryASP.getString("paecPaused"))); } } return out.toString();
This script can be used for SSAS agents
def out = new StringBuilder(); def agentService = server.get("AgentService"); def configService = server.get("ConfigService"); def agents = agentService.findByAdapterAndType("FglAM", "SSAS_Agent"); out.append(String.format("FglAM ID, Agent Name, Repository Host, Repository Database, Port, Username, Auth Type, Enabled, Monitoring Key, Paused\n")); for (agent in agents) { def primaryASP = configService.getAgentInstancePrimaryAsp(agent.getAgentNamespace(), agent.getTypeId(), agent.getId()); if (primaryASP) { out.append(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s\n", agent.getRemoteClientId(), agent.getName(), primaryASP.getString("ssasSpiCommonStorageHost"), primaryASP.getString("ssasSpiCommonStorageDatabase"), primaryASP.getString("ssasSpiCommonStoragePort"), primaryASP.getString("ssasSpiCommonStorageUsername"), primaryASP.getString("ssasSpiCommonStorageAuthType"), primaryASP.getString("ssasSpiEngMonitoredKey"), primaryASP.getString("ssasSpiEngPaused"))); } } return out.toString();
WORKAROUND
The SPIRepository agents and the database agents have their mappings mixed up because the wrong hostname was entered. To resolve this issue for SQL Server agents (as an example).
1). Disable the PI extension from all SQL Server agents (Select the SQL Server tab in Databases | Select All agents | Enter the PI Admin panel | disable the PI extensions for all SQL Server agents)
2). In Agent Status, delete the SPIRepository agents
3). Enable the PI extension from all SQL Server agents (Select the SQL Server tab in Databases | Select All agents | Enter the PI Admin panel | enable the PI extensions for all agents. When you try to enable PI it will prompt for the database connection information. Enter in the correct PI repository host and then choose the correct database to connect back to. These new values will be associated for all of the agents on each FglAM.
These steps can be used similarly for other database cartridges.
STATUS
This issue has been logged as defect FOG-8662 and has been fixed in the 7.2.3.10 releases of the database cartridges.
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center