#System Administration

8 Followers · 552 Posts

System administration refers to the management of one or more hardware and software systems.

Documentation on InterSystems system administration.

New
Question Scott Roth · Apr 13

This past weekend we ran into something odd. When we failed over our mirror from 2022.1.3 to 2025.1.3 the one of the Business Rules that was on what became the Primary (2025.1.3), had a rule within it that was removed back in January. When the Failover occurred, we had to scramble to backup, disable, and remove the Rule that shouldn't have been there. 

Both the Data and Code live within the same IRIS.dat that is the main MIRROR database for that Namespace. 

If this happened to one Class file, could it happen to others we do not know about?

4
0 81
Question Scott Roth · Mar 18

While reviewing our Orphan messages, we noticed that there are some Orphans that look like they are the start of an HL7 message.

MSH|^~\&

Since this does not link to any Message Header, and most of the information in EnsLib_HL7.Message is NULL, is there a way to track down what Object maybe creating these so we can nip it in the bud.

Only way that I know of is to go through each of our Schema's and make both the MSH and Encoding Characters optional.

3
0 49
Question Scott Roth · Mar 12

We are trying to track down significant growth within our Namespaces, one big culprit is Ens.AppData (EnsLib.SQL.Snapshot). 

Within many of our BPL's we use EnsLib.SQL.Snapshot to return Results from External SQL Stored Procedures or Query's. The same EnsLib.SQL.Snapshot context variable is used for many of these calls within a BPL. 

Is there something we should be doing at the end of the BPL to ensure that EnsLib.SQL.Snapshot gets cleaned up and purged from Ens.AppData?

1
0 36
Question Scott Roth · Mar 10

How can I create a Task that tells a Ens.BusinessService to execute its SQL query using the EnsLib.SQL.InboundAdapter?

So far I have come up with

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Method OnTask() As %Status
{
    try{
        // Call BusinessService
        set tSC = ##class(Ens.Director).CreateBusinessService("OSU.DataSource.Workday.TermService",.tService)

        if $IsObject(tService){
            set inputMessage = ##class(Ens.StringContainer).
6
0 78
Question Scott Roth · Jan 7

I was trying to see if we could connect to another Server, we use to execute external scripts using %Net.SSH.Session.

TESTCLIN>set sshSession = ##class(%Net.SSH.Session).%New()

TESTCLIN>set user = <omitted>

TESTCLIN>set host = <omitted>

TESTCLIN>set privateKey = "/nfs/data/ssh/<omitted>"
TESTCLIN>set publicKey = "/nfs/data/ssh/<omitted>.pub"
TESTCLIN>Set statusConnection = sshSession.Connect(host)

TESTCLIN>set statusAuth = sshSession.
2
0 100
Question Scott Roth · Oct 24, 2025

According to the Documentation  EnsLib.Workflow.TaskRequest has the following fields...

  • %Action
  • %Command
  • %FormFields
  • %FormTemplate
  • %FormValues
  • %Message
  • %Priority
  • %Subjext
  • %TaskHandler
  • %Title
  • %UserName

I want to be able to capture the Source, Session ID, and any other Identifiers outside of the Error so it will show up on the Task List.

1
0 98
Question Scott Roth · Dec 1, 2025

I am working on building out a Workflow task that captures errors in mapping to specific tables. Within the Workflow task, I would like to give the owner of the task the ability to resubmit message once the mapping has been corrected. Is there a way to do it in a similar fashion to pulling up the Trace ie...

EnsPortal.VisualTrace.zen?SESSIONID=#(%task.%FormValues.GetAt("MsgHdrID"))#" target="_blank">View Message Trace

Is there a one liner that could be called to resubmit the MsgHdrID (Session ID) from its source to post it again?

1
0 85
Question Scott Roth · Nov 10, 2025

Can someone give me an explanation of how Local.PD.Linkage.Definition.Individual works? This was setup by another company as part of our implementation.

Below is my configuration..

We are getting a lot of matches on Given Name, but then the Family Name does not match at all, so I am wondering if these need to be adjusted. I just don't understand if they need to be positive or negative.

if I use the MLE CALIBRATION MONITOR, it seems that none of the values should be negative.

2
0 110
Question Mark Sharman · Sep 30, 2025

At the moment, we have 10 HealthShare instance servers (5 x mirrored pairs), where we implement an External Backup approach, using the freeze/thaw commands against whichever server of the pair is the backup mirror member, to complete a VM level backup. These backups are stored to a disk within our control, to purge as required. This approach allows us to deliver a zero downtime backup approach.

2
0 116
Question André-Claude Gendron · Jul 31, 2025

Hi everyone,

I’m working with an existing InterSystems IRIS server that hosts several web applications and namespace-specific code and data. I’d like to reverse-engineer the current environment into a %Installer.Manifest file so I can store it in Git and manage its changes.

My goal is to:

  • Track the application setup and configuration in version control
  • Rebuild environments consistently (namespaces, CSP apps, security roles, etc.)
  • Possibly automate deployments later on

I understand that %Installer is declarative and wasn’t necessarily designed to reflect a running system.

1
2 121
Question Elisa Pischedda · Jul 17, 2025

Good morning everyone,
In the facility we're working in, we have two separate installations for testing and production. In the test environment, we have production processes running properly, and we need to replicate production processes and settings in the production environment. Until now, when we move from a test environment to a production environment, we currently export the test classes, import them into production, and manually configure the production environment by connecting Services, Processes, and Operations and configuring the settings.

3
1 111
Question Colin Brough · Jul 1, 2025

Is it possible to audit code changes in a namespace?

Ideally what we'd like to be able to do is check which classes were compiled (or deleted) in a time period, eg in last 3 months, and which user made those changes. Even better would be an audit of what those changes were, but that's less important (for us, as we can probably find that information in other ways).

We have a service where 3 groups, each with multiple users, potentially have access to make changes to the live service. With the best will in the world, each group doesn't always tell every other group about changes made.

6
1 158
Question Scott Roth · Jun 11, 2025

I have created a New Database/Namespace within our TEST environment on both the Primary and Backup of the mirror. When I go to create the database/namespace on the DR node I am getting "Cannot open file '/ensemble/TEST/iris.cpf_...." while the cpf file that it references does not exist. Anyone have any clue to why this might be happening?

3
0 149
Question Scott Roth · Jun 2, 2025

We are attempting to setup an EnsLib.SOAP.OutboundAdapter to send an HL7 message to a vendor hosted AWS site. We have the Certificate from the vendor and defined the TLS setting. However, when we are sending the message we are receiving...

Unable to open TCP/IP socket to server hcis-staging.cbord.com:443

So, we figured it might be a firewall issue. With the TCP Outbound Adapter, we could specify which "Local Interface" to use so that our firewall knew to use the VIP that had has been NAT'd. I don't see this option with the EnsLib.SOAP.

7
0 140
Question Thembelani Mlalazi · May 29, 2025

I am trying to log in to the Web Gateway Management and I have missed placed the password to access the system I have tried 

changing the password under local settings in the CSP.ini  and that has managed to change the password to access the gateway but cannot log me into the management area I have followed a post here and read here and I seem not to get the answers that actual explain how I can get to the web gateway management.

3
1 258