Blog 
Standard Edition High Availability

On May 7th Oracle released “Standard Edition High Availability” (SEHA). There has been a high availability gap so far because as you probably know Oracle RAC is no longer available für Standard Edion since Version 19. (see Blog “No RAC for Standard Edition“). In March Oracle announced that there will be an alternative and … Here it is. SEHA is a solution based on Oracle clusterware with two nodes and Oracle Standard Edition running in single instance mode. Oracle 19c with the April Release Update (19.7) is the minimum requirement.

Software Installation

I won’t explain the installation of the Grid Infrastructure as there are many blogs and documents with various descriptions. Because SEHA is only supported with ASM and ACFS my favorit installation on NFS is not allowed. Hint: I had problems with the Release Update 19.7 apply for the Grid Infrastructure. It failed with “CLSRSC-400: A system reboot is required to continue installing“. The only solution I found so far is editing the following lines in the file acfstoolsdrive.sh:
grid@seha01% vi $ORACLE_HOME/lib/acfstoolsdriver.sh
#exec ${RUNTHIS} $@
exit 0
The database software must be installed on only one node:
oracle@seha01% mkdir -p /u01/app/oracle/product/19/dbhome_1
oracle@seha01% cd /u01/app/oracle/product/19/dbhome_1
oracle@seha01% unzip /stage/oracle /19c/LINUX.X64_193000_db_home.zip
oracle@seha01% ./runInstaller -applyRU /stage/19/patch/30899722/30869156
I skip the installation part as there are many blogs with proper descriptions available. The important choices are “Set Up Software Only” “Single instance database installation“ and “Standard Edition 2“ of course. The second node will be added using the “addnode” procedure:
oracle@seha01% $ORACLE_HOME/addnode/addnode.sh -silent CLUSTER_NEW_NODES=seha02
That’s if for the software installation.

Create Database

For a long time I’m using dbca to create a new database. I don’t execute the creation via dbca but use the generated scripts instead. Again because of the many blogs on how to create a SE2 database I’ll skip that part. There is no indication that SEHA is being used in the scripts because dbca doesn’t know that feature. But here is a script exerpt.
oracle@seha01[CARAJAN]% more CARAJAN.sql
set verify off
ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE
ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE
ACCEPT pdbAdminPassword CHAR PROMPT 'Enter new password for PDBADMIN: ' HIDE
host /u01/app/oracle/product/19/dbhome_1/bin/srvctl add database -d CARAJAN -o /u01/app/oracle/product/19/dbhome_1 -n CARAJAN -x seha
01 -a "DATA,FRA"
host /u01/app/oracle/product/19/dbhome_1/bin/srvctl disable database -d CARAJAN
host /u01/app/oracle/product/19/dbhome_1/bin/orapwd file=/u01/app/oracle/product/19/dbhome_1/dbs/orapwCARAJAN force=y format=12
host /u01/app/grid/product/19/gridhome/bin/setasmgidwrap o=/u01/app/oracle/product/19/dbhome_1/bin/oracle
@/u01/app/oracle/admin/CARAJAN/scripts/CreateDB.sql
@/u01/app/oracle/admin/CARAJAN/scripts/CreateDBFiles.sql
@/u01/app/oracle/admin/CARAJAN/scripts/CreateDBCatalog.sql
@/u01/app/oracle/admin/CARAJAN/scripts/CreateClustDBViews.sql
@/u01/app/oracle/admin/CARAJAN/scripts/lockAccount.sql
@/u01/app/oracle/admin/CARAJAN/scripts/postDBCreation.sql
The database has already been created as cluster resource. The missing part is the second node which we now need to add:
oracle@seha01[CARAJAN]% srvctl modify database -db CARAJAN -node seha01,seha02
No idea why but the password is not yet stored in ASM but in ORACLE_HOME/dbs. So we need to change that:
grid@seha01[CARAJAN]% asmcmd pwcopy /u01/app/oracle/product/19/dbhome_1/dbs/orapwCARAJAN +DATA/CARAJAN/orapwCARAJAN 
oracle@seha01[CARAJAN]% srvctl modify database -db CARAJAN -pwfile +DATA/CARAJAN/orapwCARAJAN
Thats all: SEHA is ready to go!

Conclusion

The installation is pretty simple and the first tests are promissiong. The take over and instnace start in case of a server failure takes about one minute. The relocation of the database also works.
oracle@seha01[CARAJAN]% srvctl relocate database -db CARAJAN -node seha0
But finally I encountered a problem:: For best practice you should create your own services for application connectivities. So I created a PDB named JOHANNES and an associated service named DEMO. As long as the service was active I was unable to relocate the database. The shut down of the original instance fails while closing the PDB. And the new instance cannot be startet accordingly. If I stop the service before I initiate the relocation everything works fine. More information about SEHA can be found in other blogs. I would like to mention Markus Michalewicz https://blogs.oracle.com/maa/standard-edition-2-announcing-standard-edition-high-availability and Markus Flechtner https://www.markusdba.net/2020/05/11/standard-edition-high-availability-first-impressions/ Good luck for your tests and implementations and stay heathy.

No comments on “Standard Edition High Availability

Leave a Reply

Your email address will not be published. Required fields are marked *

What can CarajanDB do for you?