Skip to Main Content

Oracle Database Express Edition (XE)

Oracle 21c XE Windows installer fails silently: Passes garbage characters to dbca call!

Martin-3221748Aug 23 2022

Context:
Our Product setup installs Oracle XE 21 automatically in the background and this is validated automatically via an automated test suite. The setup is tested on a set of VM's that are always boostrapped into exactly the same state before testing that the our setup installs correctly - which includes silently installing Oracle XE 21.
We used Oracle 18 XE so far and are in the progress of testing Oracle XE 21 now.
Bug:
With the setup.exe of Oracle XE 21, approx. 1/4 - 1/3 of our automated runs FAIL, because Oracle XE 21 Setup runs through successfully, but fails to set up the OracleServiceXE - the dbca simply didn't do anything during Oracle setup.
We narrowed this down to the msi setup sometimes passing garbage characters to the dbca.bat call:
INFO: cmd.exe /c "C:\OracleXE\app\product\21c\dbhomeXE\bin\dbca.bat -silent -createDatabase -gdbName XE. µÌ -templateName XE_Database.dbc
See: (( -gdbName XE. µÌ ))!!
In those cases where the setup runs OK, the logfile (which is UTF16LE btw.) contains:

... dbca.bat -silent -createDatabase -gdbName XE  -templateName XE_Database.dbc ...

Details:
We call the setup like this:
Running Executable <"E:\OracleXE21c\setup.exe" /s /v"RSP_FILE=E:\OracleXE21c\XEInstall-for-myprod.rsp" /v"/L*v C:\Users\SYSTEM~1\AppData\Local\Temp\setup-xe21-myprod.log" /v"/qn"> in Work dir <E:\OracleXE21c> ...
The rsp file looks like this:

#Do not leave any parameter with empty value
#Install Directory location, username can be replaced with current user
INSTALLDIR=C:\OracleXE\app\product\21c\
#Database password, All users are set with this password, Remove the value once installation is complete
PASSWORD=SYS
#If listener port is set to 0, available port will be allocated starting from 1521 automatically
LISTENER_PORT=1526
#If EM express port is set to 0, available port will be used starting from 5550 automatically
EMEXPRESS_PORT=0
#Specify char set of the database
CHAR_SET=AL32UTF8
#Specify the database domain for the db unique name specification
DB_DOMAIN=


Note:
I posted basically the ssame info as comment to an older question in case this has been observed with older versions: https://community.oracle.com/tech/developers/discussion/4294896/oracleservicexe-not-installed-after-correctly-installation

This post has been answered by user453638 on Aug 24 2022
Jump to Answer
Comments
Post Details
Added on Aug 23 2022
3 comments
662 views