#System Administration

8 Followers · 546 Posts

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

Documentation on InterSystems system administration.

Question James Hipp · Aug 7, 2019

Hello,

I am wondering the best way to disable a user account using this class in Cache (Security.Users).

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…

Example User Account = jhipp

Currently is Enabled

I know that we can use the auto-generated EnabledGetStored method, for example:

%SYS> w ##class(Security.Users).EnabledGetStored("jhipp")
1

There is not an auto-generated method to set this property, right?

I can modify this property with the Modify function, but I have to build a temp array with one value etc...

%SYS> s temp("Enabled")=0

%SYS> zw temp

temp("Enabled")=0

4
0 526
Article Sam Duncan · Nov 9, 2016 2m read

This post provides further detail on the suggestions from the DeepSee Troubleshooting Guide about what to do if a user is not able to view a listing in a DeepSee cube, but instead sees errors like this:

ERROR #5540: SQLCODE: -99 Message: User <username> is not privileged for the operation [zfindStatement+118^%SQL.DynamicStatement.1:<namespace>] (8)

1
0 1006
Question Ponnumani Gurusamy · Jul 7, 2019

Hi Team,
             If any possible to  add a rewards list of InterSystems cache certification to InterSystems Global Masters. For example ,developer or global master user have 10000 point as , we give any offer(price) to attend the InterSystems cache/Ensemble/IRIS certificate. So no.of developer try to attend the exam and get certification.This is very useful for developer career and we also have lot of Cache developers in the market. Please correct me, if I am wrong..


Thanks ,
Ponnumani Gurusamy.

1
0 412
Question Scott Roth · Nov 21, 2019

I am currently working on an Upgrade to HealthShare 2019.1.1. As described in the steps once the upgrade was complete to run $system.OBJ.Upgrade(). When I run $system.OBJ.Upgrade() , it is not finding any classes to update. However I am getting an Error 5116 on one of my Productions...


Class dictionary version for '%1' is out of date, please run upgrade utility $system.OBJ.Upgrade()

so if I am running $system.OBJ.upgrade() why isn't it updating this production as it should?

Thanks

Scott Roth

5
1 940
Question Rick Clayton · Sep 17, 2019

We are currently implementing the Data Innovations Instrument Manager product.  In setting up our backup process we are wanting to use Veam snapshots. The application runs in a Caché 2016.1/Windows Server 2016 instance.  We are running an HA primary/secondary/arbiter config. The statement below is from DI.  I am curious to see what others that have implemented the DI Instrument Manager in the same or similar config have in place for backup.

"DI recommends is recommending that we not perform snapshots, but if you do choose to do so, here is some important information to consider.

4
0 824
Question Mathieu Van Sevenant · Sep 13, 2019

Hello everyone :-)

I would like to update Atelier from version 1.0.262 to the 1.3 one. So I clicked on Help --> Check for updates, and I get these first error messages:

"No updates were found in available software sites."

"Some sites could not be found. See the error log for more detail." etc. cf picture below talking about Proxy Authentication.

So I checked those available software sites (tried until now) and also the proxy settings that I am used to work with:

Then I changed the "Active Provider" from Native to Manual with the proxy settings got from a system administrator :

5
0 562
Article Murray Oldfield · Mar 25, 2016 14m read

This week I am going to look at CPU, one of the primary hardware food groups :) A customer asked me to advise on the following scenario; Their production servers are approaching end of life and its time for a hardware refresh. They are also thinking of consolidating servers by virtualising and want to right-size capacity either bare-metal or virtualized. Today we will look at CPU, in later posts I will explain the approach for right-sizing other key food groups - memory and IO.

So the questions are:

10
2 5351
Article Mikhail Khomenko · Feb 13, 2017 14m read

This post is dedicated to the task of monitoring a Caché instance using SNMP. Some users of Caché are probably doing it already in some way or another. Monitoring via SNMP has been supported by the standard Caché package for a long time now, but not all the necessary parameters are available “out of the box”. For example, it would be nice to monitor the number of CSP sessions, get detailed information about the use of the license, particular KPI’s of the system being used and such. After reading this article, you will know how to add your parameters to Caché monitoring using SNMP.

14
3 11829
Announcement Luca Ravazzolo · Sep 17, 2019

Hi Everyone,

Are you ready yet? Have you packed all you'll need for the summit? And don't forget the needed power-socket adapters if you come from outside the US! 

Have you signed up for the Container Bootcamp on Sunday? Or one of the various Experience Labs, the many informative sessions and one of the symposia on Wednesday afternoon?

Again, there is a mobile app for attendees that should help you keep it all under control and even allow you to book time with InterSystems personnel for a one-on-one deep-dive on whatever you need.

1
0 389
Question Scott Roth · Sep 12, 2019

After upgrading I ran a $SYSTEM.OBJ.CompileAllNamespaces("u"). What I got in return was kind of a shock.

In reviewing errors I am seeing code being referenced but no longer applies. It is referring to stuff that might of been defined in the Context , Formal Spec ,Thread , etc.

ERROR #5373: Class 'osuwmc.CPD.DataStructures.TblPharmacyDEA', used by 'osuwmc.CPD.BusinessOperation:SelectProviderTempDEA:FormalSpec', does not exist

ERROR #5373: Class 'osuwmc.FeederPat3BPLTest4', used by 'osuwmc.FeederPat3BPLTest4.Thread1:compileafter', does not exist

1
1 609
Article Eduard Lebedyuk · Sep 9, 2019 1m read

Just wanted to share my Zabbix template for monitoring InterSystems IRIS on Linux servers.

It monitors irisusr (configurable) memory consumption:

  • Virtual memory size
  • Percentage of real memory
  • Resident set size
  • Size of data segment
  • Size of code segment
  • Peak resident set size
  • Size of locked memory
  • Size of shared libraries
  • Peak virtual memory size
  • Size of pinned pages
  • Size of page table entries
  • Size of process code + data + stack segments
  • Size of stack segment
  • Size of swap space used

How to use:

5
0 1612
Question Jose Antonio Benitez · Apr 11, 2019

Hi, I have used CSP to exec SQL selects from  any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.

I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.

Anoyone has made that?

For example:

DSN CLIENT ONE

DSN CLIENT ONE

CSP Webpage:

TEXTBOX: Introduce your select:

select count(*) from product where stock<100 

OPTION BUTTON:

1
0 349
Question Robert Gasper · Aug 8, 2019

Just wondering if anyone knows if there is a way to get daily emails or alerts about changes to a cache database.  I know that all of that information is contained within the journal files, just wondering if there is a way to bundle it up each day and send it off for auditing, etc.

Any solution where a plain-text/readable format of changes to the cache database could be sent or stored for review would solve the issue.

Thanks!

3
0 555
Question James Hipp · Jul 29, 2019

Hello,

I am struggling to print out the actual property values of the Security.System class.

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…

I was hoping to be able to print the Authentication Enabled properties of a system from the command line using the Get or GetProperties class method. Currently, however, I am only able to get a return 1 or Invalid Oref error.

I would expect one of these to work, but I think I am missing something. Any tips?

%SYS>w ##class(Security.System).Get("AutheEnabled")

1

%SYS>w ##class(Security.System).GetProperties("AutheEnabled")

5
0 425
Question Marcus West · Aug 1, 2019

I've setup ODBC connection so I can access Cache data within SQL Server.

I want to be able to write SQL queries for internal monitoring purposes, similar to what's possible with SQL Server.  Specifically I want to be able to check mirroring status (i.e. check which is the current primary mirror member), check the status of any Ensemble productions (started/stopped), check the status of business hosts etc.  I want to do all of this from SQL Server to go with our other system monitoring solutions.

1
0 342
Question James Hipp · Jul 29, 2019

Hello,

Is it possible to write global output values to STDOUT, in a similar way to how csession can take routine intput, like below:

(In Cache Terminal)

%SYS>d ##class(%SYSTEM.License).ShowSummary()

License Server summary view of active key.

     Distributed license use:

Current License Units Used =        1

Maximum License Units Used =        1

License Units   Authorized =      200

     Local license use:

Current Connections =      1  Maximum Connections =      1

Current Users       =      1  Maximum Users       =      2

(From Linux OS Terminal)

5
0 671
Article Jeffrey Drumm · Jul 25, 2019 1m read

I'm not saying that this is in anyway "best practices," but I'm in a peculiar situation where I need to restrict users from starting a "retired" Ensemble Production in a namespace that's been renamed. It's still an "Ensemble-activated" namespace; we need to keep it available for Ensemble Message Viewer access ... fortunately, only for a little while.

It's a bit of a hack ...

Open the Production class in Studio and add the following classmethod:

ClassMethod OnStart() As %Status
{
    Return $system.Status.Error(5001,"THIS PRODUCTION IS DISABLED.")
}
6
1 543
Question lw wei · Jul 17, 2019

The steps are as follows:

1. create global

 For I=1:1:200 Set ^ABC(I)=""
 For I=1:1:200 Set ^XYZ(I)=""
 For I=1:1:100 Kill ^ABC(I)

2. create ZJRNFILT

ZJRNFILT(jid,dir,glo,type,restmode,addr,time)    /*Filter*/
  Set restmode=1                                  /*Return 1 for restore*/
  If glo["^ABC",type="K" Set restmode=0           /*except if a kill on ^ABC*/
  Quit
  ;

3. restore

s RestOref=##class(Journal.Restore).%New()
s RestOref.FirstFile="20190717.007"
s RestOref.LastFile="20190717.007"
s RestOref.JournalLog="journal.log"
s RestOref.Filter="^ZJRNFILT"
s Status=RestOref.Run()

7
0 586
Question Jeffrey Drumm · Jul 18, 2019

I need to copy a bunch of globals from some crufty old databases to spanking clean brand new ones. GBLOCKCOPY has this cool feature that lets you create a batch of global names to copy and save the list in a batch. You can then execute the batch and go take a nap.

I like naps.

I need to do this for a number of old-new database pairs, but it's the same global names every time. Is there a way to export the batch configuration created the first time and import it to another environment/namespace? These databases will be spread across multiple hosts.

Thanks!

2
0 408