While running dbca we are receiving the ora-12547 and we could not able to create database using DBCA anymore.
After googling and metalink search found many notes which does not resolve the issue, the reasons can be multifold
- Environments- SID, PATH, LD_LIBRARY_PATH – Not resolved
- Permission on oracle executable to 6751 – Not resolved
- Package gcc issue, package already installed – Not resolved
- Package libaio issue, package already installed – Not resolved
- Listeners are up and running , reload and tns changes – Not resolved
Finally, I have ended to understand the oracle and other executables are not relinked properly (while installation we ignored some errors, our bad) apparently the relink got failed.
Whoa,! wait, we did not got any pre-requisities failures when we run cluvfy, how could it been issue with relinking as all of packages are installed.
Struck now, then recollected we tweaked some files in rdbms/lib for 12.1.0.1 on OEL – 7, while installing grid, and it seems the same issue.
I really want to curse on our fate, :(, seriously , because we are not able to understand is this problem with shipping the software (oracle does it by mistake) or our installation issue, leaving that apart the following has solved our issue.
Installation log shows,
/usr/bin/ld: note: '__tls_get_addr@@GLIBC_2.3' is defined in
DSO /lib64/ld-linux-x86-64.so.2 so try adding it to the linker
command line /lib64/ld-linux-x86-64.so.2: could not read symbols:
Invalid operationINFO: collect2: error: ld returned 1 exit status
cd $ORACLE_HOME/rdbms/lib
cp env_rdbms.mk env_rdbms.mk.bck
make changes in $ORACLE_HOME/rdbms/lib/env_rdbms.mk
modify line 176
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)
to
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons
modify line 279 and 280
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)to
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-neededmodify line 3041 and 3042
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)to
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12
Now, we tried to relink the libraries, and its thrown below error
cd $ORACLE_HOME/bin
relink all
INFO: /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/config.o: file not recognized: File truncated collect2: error: ld returned 1 exit status
To resolve this, you will have to remove the config.o file and relink the oracle to create new config.o (metalink note
make -f ins_rdbms.mk config.o
make -f ins_rdbms.mk ioracle
and perform relink all again, verify the logs in $ORACLE_HOME/install/relinkaction...log for any errors
And finally, it resolved the dbca is working properly and other executables.
Conclusion: I am not favour in running 12.1.0.1 on OEL 7 (UEK) any more since this is sequence of issues coming up while performing installations, rather try 6.3 (not even 6.4) to ensure you have seemless installations
-Happy Reading
Geek DBAGeek DBA
Follow Me!!!