What to do if you get the above error when you try to install Oracle SE2 (did not test if the same issue is there with EE, but probably it is) in silent mode?:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
./runInstaller oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_BASE=/u01/app/oracle/
    ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_2_4/
    UNIX_GROUP_NAME=oinstall 
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=dba
    oracle.install.db.BACKUPDBA_GROUP=dba 
    oracle.install.db.DGDBA_GROUP=dba 
    oracle.install.db.KMDBA_GROUP=dba 
    FROM_LOCATION=../stage/products.xml
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory/
    SELECTED_LANGUAGES=en
    oracle.install.db.InstallEdition=SE2
    DECLINE_SECURITY_UPDATES=true  -silent -ignoreSysPrereqs -ignorePrereq -waitForCompletion

You already checked my oracle support and verified that there are no lock files in the oraInventory/locks directory:

1
ls -la /u01/app/oraIventory/locks

What to do? Follow the error message…:

1
2
3
4
[FATAL] [INS-10008] Session initialization failed
   CAUSE: An unexpected error occured while initializing the session.
   ACTION: Contact Oracle Support Services or refer logs
   SUMMARY:

… and create a service request in my oracle support? You don’t need to. The error message is a bit misleading. The real issue is only the trailing slash (“/”) at the end of the directory name for the oraInventory. Once you remove it everything works as expected:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
./runInstaller oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_2_4
    UNIX_GROUP_NAME=oinstall 
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=dba
    oracle.install.db.BACKUPDBA_GROUP=dba 
    oracle.install.db.DGDBA_GROUP=dba 
    oracle.install.db.KMDBA_GROUP=dba 
    FROM_LOCATION=../stage/products.xml
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory
    SELECTED_LANGUAGES=en
    oracle.install.db.InstallEdition=SE2
    DECLINE_SECURITY_UPDATES=true  -silent -ignoreSysPrereqs -ignorePrereq -waitForCompletion

And all this because of a slash. I am pretty sure this could be handled better very easily.