go to post Kamal Suri · Jan 23 Hi Scott, This is the best practice to do the changes on other mirror members before doing on Primary member. Before making changes in your DR and Backup nodes, it's recommended to test the process in a controlled environment that mimics your production setup. Take a backup of IRISSYS.DAT before making any changes. This ensures that you have a recovery point in case anything goes wrong.
go to post Kamal Suri · Oct 11, 2022 You can increase "Quality of Service Timeout (msec)" in mirror properties to give Healthshare more time to wait before doing a failover.
go to post Kamal Suri · May 29, 2022 Hi Ankur, If you want to open Management portal over IRIS internal apache then you need to follow below, Modify below file /iris_install_directory/httpd/conf/httpd-local.conf Add ssl configuration like below (you need to have ssl certificate files) changing port as per your requirements Listen 57773<VirtualHost *:57773> SSLEngine on ServerName fully_qualified_host_name # Server Certificate: SSLCertificateFile /path_to_SSL_folder/filename.crt # Server Private Key: SSLCertificateKeyFile /path_to_SSL_folder /filename.key # Server Certificate Chain: SSLCertificateChainFile /path_to_SSL_folder /filename.crt # Certificate Authority (CA): SSLCACertificateFile /path_to_SSL_folder /filename.crt </VirtualHost> Restart instance, Management portal should open over ssl with port mentioned in above file. https://fully_qualified_host_name:57773/csp/sys/UtilHome.csp But but if you need to open this on OS apache then first you need to configure SSL at OS level. Regards Kamal Suri
go to post Kamal Suri · Dec 3, 2021 Hi James, Try export/import from below registry location HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intersystems\Cache\Servers Regards Kamal
go to post Kamal Suri · Jan 26, 2021 Hi Evgenii, Individual backup of each database or group of databases is possible through a custom routine. Below is the code of one of the routine we used long time back to split database backup to multiple disks. You just need to mention database names in each dblist. But as Dmitriy mentioned external backup (snapshot) is the best approach to follow. // ***********ZBACKUP // Multiple Enviroment Backup Routine // Start Backup of Individual Enviroments do dblist1 //Backup DB-A, DB-B, DB-C (do dblist1^ZBACKUP) do dblist2 //Backup DB-D, DB-E (do dblist2^ZBACKUP) do dblist3 //Backup DB-F, DB-G, DB-H, DB-I (do dblist3^ZBACKUP) quit dblist1 S TYPE="F" ;'C'umlative incremental, 'F'ull, 'E'xternal full backup S DESCR="Full Backup" ; Free form text string, may be NULL This is stored in the backup label and in the history global and describes the backup S MODE="NOISY" ; "NOISY" - Default, print all text on terminal. "QUIET" - Only display text related to abnormal conditions S KILJRN="Y" ; "Y" Switch the journal file after backup "N" ignored S CLRJRN="Y" ; "Y" - Switch the journal file. "N" - ignored S SWJRN="Y" ; "Y" - Switch the journal file after backup "N" - Do not switch the journal file. Note that this is overridden if clrjrn or kiljrn is "Y" S BACKUPPATH="Path_to-Backup_Directory" S LOGPATH="Path_to_Backup-Log_Directory" s DB="DB-A_DB-B_DB-C_" s DATE=$ZD($H,8)_"_"_$tr($zt($p($h,",",2),1),":","") s BKPFILE=BACKUPPATH_DB_DATE_".cbk" s LOGFILE=LOGPATH_DB_DATE_".log" s INTTIME=$p($h,",",2) //PURGE Database List do ##class(Backup.General).ClearDatabaseList() //Populate Database List s bkp=##class(Backup.General).AddDatabaseToList("DB-A") s bkp=##class(Backup.General).AddDatabaseToList("DB-B") s bkp=##class(Backup.General).AddDatabaseToList("DB-C") //Perform Backup D BACKUP^DBACK("",TYPE,DESCR,BKPFILE,KILJRN,LOGFILE,MODE,CLRJRN,SWJRN,"") ;BACKUP(argfile,EXTTYP,DESCRIPTION,outdev,kiljrn,logfile,mode,clrjrn,swjrn,nwjrnfil,quietimeout,taskname) do ##class(Backup.General).ClearDatabaseList() quit dblist2 S TYPE="F" ;'C'umlative incremental, 'F'ull, 'E'xternal full backup S DESCR="Full Backup" ; Free form text string, may be NULL This is stored in the backup label and in the history global and describes the backup S MODE="NOISY" ; "NOISY" - Default, print all text on terminal. "QUIET" - Only display text related to abnormal conditions S KILJRN="Y" ; "Y" Switch the journal file after backup "N" ignored S CLRJRN="Y" ; "Y" - Switch the journal file. "N" - ignored S SWJRN="Y" ; "Y" - Switch the journal file after backup "N" - Do not switch the journal file. Note that this is overridden if clrjrn or kiljrn is "Y" S BACKUPPATH="Path_to-Backup_Directory" S LOGPATH="Path_to_Backup-Log_Directory" s DB="DB-D_DB-E_" s DATE=$ZD($H,8)_"_"_$tr($zt($p($h,",",2),1),":","") s BKPFILE=BACKUPPATH_DB_DATE_".cbk" s LOGFILE=LOGPATH_DB_DATE_".log" s INTTIME=$p($h,",",2) //PURGE Database List do ##class(Backup.General).ClearDatabaseList() //Populate Database List s bkp=##class(Backup.General).AddDatabaseToList("DB-D") s bkp=##class(Backup.General).AddDatabaseToList("DB-E") //Perform Backup D BACKUP^DBACK("",TYPE,DESCR,BKPFILE,KILJRN,LOGFILE,MODE,CLRJRN,SWJRN,"") ;BACKUP(argfile,EXTTYP,DESCRIPTION,outdev,kiljrn,logfile,mode,clrjrn,swjrn,nwjrnfil,quietimeout,taskname) do ##class(Backup.General).ClearDatabaseList() quit dblist3 S TYPE="F" ;'C'umlative incremental, 'F'ull, 'E'xternal full backup S DESCR="Full Backup" ; Free form text string, may be NULL This is stored in the backup label and in the history global and describes the backup S MODE="NOISY" ; "NOISY" - Default, print all text on terminal. "QUIET" - Only display text related to abnormal conditions S KILJRN="Y" ; "Y" Switch the journal file after backup "N" ignored S CLRJRN="Y" ; "Y" - Switch the journal file. "N" - ignored S SWJRN="Y" ; "Y" - Switch the journal file after backup "N" - Do not switch the journal file. Note that this is overridden if clrjrn or kiljrn is "Y" S BACKUPPATH="Path_to-Backup_Directory" S LOGPATH="Path_to_Backup-Log_Directory" s DB="DB-F_DB-G_DB-H_DB-I_" s DATE=$ZD($H,8)_"_"_$tr($zt($p($h,",",2),1),":","") s BKPFILE=BACKUPPATH_DB_DATE_".cbk" s LOGFILE=LOGPATH_DB_DATE_".log" s INTTIME=$p($h,",",2) //PURGE Database List do ##class(Backup.General).ClearDatabaseList() //Populate Database List s bkp=##class(Backup.General).AddDatabaseToList("DB-F") s bkp=##class(Backup.General).AddDatabaseToList("DB-G") s bkp=##class(Backup.General).AddDatabaseToList("DB-H") s bkp=##class(Backup.General).AddDatabaseToList("DB-I") //Perform Backup D BACKUP^DBACK("",TYPE,DESCR,BKPFILE,KILJRN,LOGFILE,MODE,CLRJRN,SWJRN,"") ;BACKUP(argfile,EXTTYP,DESCRIPTION,outdev,kiljrn,logfile,mode,clrjrn,swjrn,nwjrnfil,quietimeout,taskname) do ##class(Backup.General).ClearDatabaseList() quit// ***********