ORA-12547: TNS:lost contact

Identify the issue
truss -aefo sqlplus.trc sqlplus /nolog
connect / as sysdba

Cause I
shared memory or semaphores leftover from previous instances (abnormal termination)
ipcs -a
remove problematic shared memory segments & semaphores
ipcrm -m & ipcrm -s
delete $ORACLE_HOME/dbs/lk file


Cause II
The /proc file system is not mounted.

Cause III
ulimit settings for 'open files' and 'pipe size' is very low.

$ulimit -n 4096
$ulimit -p 30

Cause IV
The stack limit is set too low.

ulimit -s 32768

Cause V
Invalid LD_LIBRARY_PATH

Set proper LD_LIBRARY_PATH path

Cause VI
dbs folder missing from oracle home
mkdir dbs and then create password & init files

Cause VII
Invalid env variables

echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH

Cause VIII
Wrong file permissions

cd $ORACLE_HOME/bin
ls -l oracle

chmod 6751 oracle

or relink all