Error: getDatabaseDefaults() failed. Do dumpStack() to see details

189 Views Asked by At

While following this tutorial to create OAM container: https://docs.oracle.com/en/middleware/idm/access-manager/12.2.1.4/tutorial-oam-docker/

i am faced with the follwoing error:

------------ log start -------------

    CONNECTION_STRING=oamDB:1521
    RCUPREFIX=OAM04
    DOMAIN_HOME=/u01/oracle/user_projects/domains/access_domain
    INFO: Admin Server not configured. Will run RCU and Domain Configuration Phase...
    Configuring Domain for first time
    Start the Admin and Managed Servers
    Loading RCU Phase
    CONNECTION_STRING=oamDB:1521
    RCUPREFIX=OAM04
    jdbc_url=jdbc:oracle:thin:@oamDB:1521
    Creating Domain 1st execution
    RCU has already been loaded.. skipping
    Domain Configuration Phase
    /u01/oracle/oracle_common/common/bin/wlst.sh -skipWLSModuleScanning     /u01/oracle/dockertools/create_domain.py -oh /u01/oracle -jh /u01/jdk -parent     /u01/oracle/user_projects/domains -name access_domain -user weblogic -password weblogic1 -rcuDb oamDB:1521     -rcuPrefix OAM04 -rcuSchemaPwd oamdb1234 -isSSLEnabled true
    Cmd is /u01/oracle/oracle_common/common/bin/wlst.sh -skipWLSModuleScanning    /u01/oracle/dockertools/create_domain.py -oh /u01/oracle -jh /u01/jdk -parent     /u01/oracle/user_projects/domains -name access_domain -user weblogic -password weblogic1 -rcuDb oamDB:1521     -rcuPrefix OAM04 -rcuSchemaPwd oamdb1234 -isSSLEnabled true

    Initializing WebLogic Scripting Tool (WLST) ...

    Welcome to WebLogic Server Administration Scripting Shell

    Type help() for help on available commands

    create_domain.py called with the following inputs:
    INFO: sys.argv[0] = /u01/oracle/dockertools/create_domain.py
    INFO: sys.argv[1] = -oh
    INFO: sys.argv[2] = /u01/oracle
    INFO: sys.argv[3] = -jh
    INFO: sys.argv[4] = /u01/jdk
    INFO: sys.argv[5] = -parent
    INFO: sys.argv[6] = /u01/oracle/user_projects/domains
    INFO: sys.argv[7] = -name
    INFO: sys.argv[8] = access_domain
    INFO: sys.argv[9] = -user
    INFO: sys.argv[10] = weblogic
    INFO: sys.argv[11] = -password
    INFO: sys.argv[12] = weblogic1
    INFO: sys.argv[13] = -rcuDb
    INFO: sys.argv[14] = oamDB:1521
    INFO: sys.argv[15] = -rcuPrefix
    INFO: sys.argv[16] = OAM04
    INFO: sys.argv[17] = -rcuSchemaPwd
    INFO: sys.argv[18] = oamdb1234
    INFO: sys.argv[19] = -isSSLEnabled
    INFO: sys.argv[20] = true
    INFO: Creating Admin server...
    INFO: Enabling SSL PORT for AdminServer...
    Creating Node Managers...
Will create Base domain at /u01/oracle/user_projects/domains/access_domain
Writing base domain...
Base domain created at /u01/oracle/user_projects/domains/access_domain
Extending domain at /u01/oracle/user_projects/domains/access_domain
Database oamDB:1521
Apply Extension templates
Extension Templates added
Extension Templates added
Deleting oam_server1
The default oam_server1 coming from the oam extension template deleted
Deleting oam_policy_mgr1
The default oam_server1 coming from the oam extension template deleted
Configuring JDBC Templates ...
Configuring the Service Table DataSource...
fmwDatabase jdbc:oracle:thin:@oamDB:1521
Getting Database Defaults...
Error: getDatabaseDefaults() failed. Do dumpStack() to see details.
Error: runCmd() failed. Do dumpStack() to see details.
Problem invoking WLST - Traceback (innermost last):
File "/u01/oracle/dockertools/create_domain.py", line 513, in ?
File "/u01/oracle/dockertools/create_domain.py", line 124, in createOAMDomain
File "/u01/oracle/dockertools/create_domain.py", line 328, in extendOamDomain
File "/u01/oracle/dockertools/create_domain.py", line 259, in configureJDBCTemplates
File "/tmp/WLSTOfflineIni6456738277719198193.py", line 267, in getDatabaseDefaults
File "/tmp/WLSTOfflineIni6456738277719198193.py", line 19, in command
Failed to build JDBC Connection object:
at com.oracle.cie.domain.script.jython.CommandExceptionHandler.handleException(CommandExceptionHandler.java:69)
at com.oracle.cie.domain.script.jython.WLScriptContext.handleException(WLScriptContext.java:3085)
at com.oracle.cie.domain.script.jython.WLScriptContext.runCmd(WLScriptContext.java:738)
at sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

com.oracle.cie.domain.script.jython.WLSTException: com.oracle.cie.domain.script.jython.WLSTException: Got exception when auto configuring the schema component(s) with data obtained from shadow table:
Failed to build JDBC Connection object:

Domain Creation Failed.. Please check the Domain Logs

------------ log end -------------

i am using the following docker run for admin server

docker run -d -p 7001:7001 --name oamadmin --network=OamNET --env-file /home/oam/oracle/oam-admin.env --shm-size="8g" --volume /home/oam/oracle/user_projects:/u01/oracle/user_projects oam:12.2.1.4

oam-admin.env content:
DOMAIN_NAME=access_domain
ADMIN_USER=weblogic
ADMIN_PASSWORD=weblogic1
ADMIN_LISTEN_HOST=oamadmin
ADMIN_LISTEN_PORT=7001
CONNECTION_STRING=oamDB:1521
RCUPREFIX=OAM04
DB_USER=sys
DB_PASSWORD=oamdb1234
DB_SCHEMA_PASSWORD=oamdb1234

oracle database is created using:

docker run -d --name oamDB --network=oamNET -p 1521:1521 -p 5500:5500 -e ORACLE_PWD=db1 -v /home/oam/user/host/dbtemp:/opt/oracle/oradata --env-file /home/oam/oracle/env.txt -it --shm-size="8g" -e ORACLE_EDITION=enterprise e ORACLE_ALLOW_REMOTE=true oamdb:19.3.0

i am able to connect to DB using docker i have also executed: alter user sys identified by oamdb1234 container=all; successfully. containers running in docker:

oam@botrosubuntu:~/oracle$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d620fef9ddfc oamdb:19.3.0 "/bin/sh -c 'exec $O…" 9 days ago Up 3 hours (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp oamDB

1

There are 1 best solutions below

0
On

found a solution:

I looked at the DB logs and found that it shows a SID not found error when I used a Service name in my connexion string...

Then I had to change the connexion string to InfraDB:1521/INFRAPDB1 (in domain.properties) and update createInfraDomain.py so the generated connexion string looks like jdbc:oracle:thin:@//InfraDB:1521/INFRAPDB1 (notice the double slash)