There’s a specific scenario that can occur during the setup of SAP ASE HADR, which can leave the companion (secondary) database with no logins or roles. You will be unable to log into it. It will be completely unusable.
This issue could apply to any ASE SP03 where auditing is turned on (default for PL06 and above) but I have seen this in two systems, one on ASE SP03 PL08 and one on PL08-HF1.
The symptoms are seen during setuphadr in the step for materialisation of the master database; the setuphadr screen output doesn’t change. Eventually it displays a timeout.
When doing a “ps” on the primary ASE server, you can see a number of BCP processes that appear to be “stuck”. They are connecting to the companion database. Inside the repdata directory location, the BCP data and out files are present and but they do not change.
When attempting to restart the setuphadr, the process fails as it cannot log into the companion ASE.
When trying manually to log into the companion ASE using isql, you are unable to log in as sapsa, sapsso. You can log in as “sa” only, but you have no roles/privs to do anything. You check the list of logins and roles in the companion master DB (table master..syslogins) and the tables are empty, all logins have been removed! You may also see login errors mentioned in the RMA log file on the companion server (the active SRS) with “ SQLState: ZZZZZ“.
From what I can see, the cause of the issue is ASE auditing. It is enabled on the companion DB (the sp_configure parameter “auditing” has value of “1”).
The audit table is full or nearly full and/or the sybsecurity database is full or nearly full or the sybsecurity database tran log is full or nearly full. This prevents the BCP processes from successfully loading the table data from the primary. It doesn’t seem to prevent the truncation of the companion master DB table data, leaving it with no table data for roles and logins in the master DB.
The workaround that I have found that works most effectively is to completely disable ASE auditing (auditing = 0) in the companion ASE instance, to prevent the issue from happening in the first place.
There are a couple of params that can change the way auditing works and maybe adjusting the filtering to prevent auditing of system users would also solve the problem, but this is the setup of replication so I don’t see why you would want that process audited at all. You can always re-enable auditing after the HADR setup is completed.
Another prevention tip is to ensure that sybsecurity database and tran log have space before the setuphadr process is started.
What if you have already hit the above issue and are looking for help right now?
If the above issue is hit, then the companion master DB could be restored from backup, except you cannot log into it to start the LOAD command. You could copy the master.dat from primary, but the inbuilt GUID that gets set on DB creation would then be identical to primary (companion and primary should be different).
This leaves two possible options:
Re-create the companion master db following SAP note 2631728 “How to rebuild master device and master database from backup – SAP ASE”. Restore master DB from backup (could be a backup from primary master DB). If backup from primary was used, then you may need to re-create the SID database (to be on the safe side), using the DDLGEN commands.
Blast the companion ASE away and re-install using SWPM.
Good luck, and make sure you take regular backups 🙂
You may also be interested in: