User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive
 

This article will list all errors/issues I encounter during Oracle installation with their fix.
It will be updated with all new errors I will encounter.

In this article ...
... "Fix prior install" needs jar binary. Install it with the following command:

$ yum -y install java-devel

memcpy error in ins_ctx.mk

Operating System: Oracle Enterprise Linux 7
Oracle version: 11.2.0.1

Error output

INFO: gcc -o ctxhx -m64 -L/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/ -L/u01/app/oracle/product/11.2.0/db_1/lib/stubs/  /u01/app/oracle/product/11.2.0/db_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ -lm -lsc_fa -lsc_ex -lsc_da -lsc_ca -lz  -lctxhx -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/ctx/lib -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11  `cat /u01/app/oracle
INFO: /product/11.2.0/db_1/lib/sysliblist`

INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status

INFO: make: *** [ctxhx] Error 1

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-04-17_10-00-15PM.log' for details.
Exception Severity: 1

Solution

Fix prior install

Execute the following script:

# Fix ctx/lib/ins_ctx.mk

ORACLE_SRC_INSTALL_DIR=/media/sf_uxora_share/database
cd ${ORACLE_SRC_INSTALL_DIR}/stage/Components

jar_file=
for i_file in $( ls ./oracle.ctx/11.2.0.1.0/1/DataFiles/filegroup*.jar ); do
  unzip -l ${i_file} ctx/lib/ins_ctx.mk 2>&1 1>/dev/null
  [[ $? -eq 0 ]] && jar_file=${i_file} && break
done

cat << __EOF__ > /tmp/memcpy_wrap.c
#include <stddef.h>
#include <string.h>

asm (".symver wrap_memcpy, memcpy@GLIBC_2.14");
void *wrap_memcpy(void *dest, const void *src, size_t n) {
  return memcpy(dest, src, n);
}
__EOF__
unzip ${jar_file} ctx/lib/ins_ctx.mk 2>&1 1>/dev/null
if [[ $? -eq 0 ]]; then
  sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ctx/lib/ins_ctx.mk
  gcc -c /tmp/memcpy_wrap.c -o ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
  jar -uvf  ${jar_file} ctx/lib/ins_ctx.mk ctx/lib/memcpy_wrap.o
fi

Fix during install

This fix can only be done in GUI mode installer.
When the windows prompt this error message:

Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-04-17_10-00-15PM.log' for details.

Execute the following script then click retry to resume install

# Fix ctx/lib/ins_ctx.mk

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

cat << __EOF__ > /tmp/memcpy_wrap.c
#include <stddef.h>
#include <string.h>

asm (".symver wrap_memcpy, memcpy@GLIBC_2.14");
void *wrap_memcpy(void *dest, const void *src, size_t n) {
  return memcpy(dest, src, n);
}
__EOF__

if [[ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]]; then
  sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk
  gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
fi

ins_emagent.mk error

Operating System: Oracle Enterprise Linux 7
Oracle version: 11.2.0.1

Error output

INFO: ib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/u01/app/oracle/product/11.2.0/db_1/lib/:/u01/app/oracle/product/11.2.0/db_1/sysman/lib/:/u01/app/oracle/product/11.2.0/db_1/jdk/jre/lib/amd64/server:/u01/app/oracle/product/11.2.0/db_1/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined    `cat /u01/app/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm

INFO: /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:127: warning: overriding recipe for target `nmosudo'
/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:56: warning: ignoring old recipe for target `nmosudo'

INFO: /usr/bin/ld: warning: -z lazyload ignored.
/usr/bin/ld: warning: -z nolazyload ignored.
/usr/bin/ld: /u01/app/oracle/product/11.2.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
/usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so so try adding it to the linker command line
/u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit sta
INFO: tus

INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/db_1/sysman/lib'

INFO: make[1]: *** [/u01/app/oracle/product/11.2.0/db_1/sysman/lib/emdctl] Error 1
make: *** [emdctl] Error 2

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2015-04-23_01-23-30PM.log' for details.
Exception Severity: 1

Solution

Fix prior install

Execute the following script:

# Fix sysman/lib/ins_emagent.mk

ORACLE_SRC_INSTALL_DIR=/media/sf_uxora_share/database
cd ${ORACLE_SRC_INSTALL_DIR}/stage/Components

jar_file=
for i_file in $( ls ./oracle.sysman.agent/*/1/DataFiles/filegroup*.jar ); do
  unzip -l ${i_file} sysman/lib/ins_emagent.mk 2>&1 1>/dev/null
  [[ $? -eq 0 ]] && jar_file=${i_file} && break
done

unzip ${jar_file} sysman/lib/ins_emagent.mk 2>&1 1>/dev/null
if [[ $? -eq 0 ]]; then
  sed -i -e 's/\$(MK_EMAGENT_NMECTL)/\$(MK_EMAGENT_NMECTL) -lnnz11/g' sysman/lib/ins_emagent.mk
  jar -uvf  ${jar_file} sysman/lib/ins_emagent.mk
fi

Fix during install

This fix can only be done in GUI mode installer. When the windows prompt this error message:

Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2015-04-23_01-23-30PM.log' for details.

Execute the following script then click retry to resume install

# Fix ctx/lib/ins_ctx.mk

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

if [[ -e "${ORACLE_HOME}/sysman/lib/ins_emagent.mk" ]]; then
  sed -i -e 's/\$(MK_EMAGENT_NMECTL)/\$(MK_EMAGENT_NMECTL) -lnnz11/g' ${ORACLE_HOME}/sysman/lib/ins_emagent.mk
fi

ORA-00845

Operating System: Oracle Enterprise Linux 7
Oracle version: Any

Error output

ORA-00845: MEMORY_TARGET not supported on this system

Solution

Reduce memory target parameter

...

Increase the size of /dev/shm

# check filesystems
$ df -h
    Filesystem                                 Size  Used Avail Use% Mounted on
    /dev/mapper/ol-root                         14G  5.0G  9.0G  36% /
    devtmpfs                                   3.8G     0  3.8G   0% /dev
    tmpfs                                      3.8G  1.9G  2.0G  48% /dev/shm
    tmpfs                                      3.8G  8.9M  3.8G   1% /run
    tmpfs                                      3.8G     0  3.8G   0% /sys/fs/cgroup
    /dev/vdb1                                   32G   11G   22G  33% /u01
    /dev/vda1                                  497M  150M  348M  31% /boot

# increase /dev/shm accordingly to your max ram memory
$ mount -o remount,size=6G /dev/shm

# make this change permanent, add/change /etc/fstab
$ vi /etc/fstab
    ...
    tmpfs  /dev/shm  tmpfs  defaults,size=6G  0 0
    ...

# update mount
$ mount -a

ORA-19502/ORA-27072

Operating System: Oracle Enterprise Linux 7
Oracle version: Any

Error output

...
ORA-19502: write error on file "...",
block number 251905 (block size=512)
ORA-27072: File I/O error
Linux-x86_64 Error: 25: Inappropriate ioctl for device
...

Solution

Free disk space/Add disk space

There is not enough disk space. Check disk space with df -h <path>

ORA-28040: No matching authentication protocol

Operating System: Any
Oracle version: from 12.1.0.1

Error output

ORA-28040: No matching authentication protocol
ORA-01017: invalid username/password; logon denied

You may encounter this error with a new 12c database because Oracle Enterprise Cloud Manager 12c is still using the old 10g JDBC driver (ojdbc14.jar) to connect.

Prior to version 12c, the default setting for SQLNET.ALLOWED_LOGON_VERSION (deprecated parameter in 12c) was 8. Now in 12c the default value of the 12c equivalent parameters SQLNET.ALLOWED_LOGON_VERSION_CLIENT and SQLNET.ALLOWED_LOGON_VERSION_SERVER are now 11.

Solution/Workaround

# Set minimum logon authentification version in sqlnet.ora
# To avoid ORA-28040: No matching authentication protocol
[oracle]$ cat >> $ORACLE_HOME/network/admin/sqlnet.ora <<_EOF_
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
_EOF_

# Recreate oracle user password to be compatible 10G
# To avoid ORA-01017: invalid username/password; logon denied
[oracle]$ sqlplus / as sysdba

-- Check password compatibility
SQL> select USERNAME,PASSWORD_VERSIONS from dba_users where USERNAME = 'SYS';
    USERNAME                         PASSWORD_VERSIONS
    -------------------------------- -----------------
    SYS                              11G 12C

-- Reinitialize password
SQL> alter user SYS identified by OraSys_pw0 ;

    User SYS altered.

-- Check again password compatibility
SQL> select USERNAME,PASSWORD_VERSIONS from dba_users where USERNAME = 'SYS';
    USERNAME                         PASSWORD_VERSIONS
    -------------------------------- -----------------
    SYS                              10G 11G 12C

Now database instance will accept 10g authentification only with users who have 10G PASSWORD_VERSIONS compatibility.

 

Hope that helps,
Michel.

Enjoyed this article? Please like it or share it.

Add comment

Please connect with one of social login below (or fill up name and email)

     


Security code
Refresh

Comments   

Nishad Vadgama
# Very Helpful!Nishad Vadgama 2017-12-19 15:26
I had found problems with Oracle Linux 7.4 while installing Oracle 11g 11.2.0.1.0. At the end solved with your first two scripts. Thanks alot. Saved time.
Reply | Reply with quote | Quote
Abhay
# Thanks a MillionAbhay 2017-01-11 18:30
I struggled with this error for so many days... Thanks a lot ..your solution saved me from wasting more time into this...

One question :-
What is the root cause of this issue ??
Reply | Reply with quote | Quote
bi
# Thanks alotbi 2016-12-30 19:13
This page, very helpful. thanks alot.
Reply | Reply with quote | Quote
zizmanis
# That Awesome Scriptzizmanis 2016-10-26 22:36
That is awesome script to fix all makefile error.....thanks a lot...
Reply | Reply with quote | Quote
Jairo
# Many Thanks !Jairo 2016-09-30 04:49
Gorgeous solutions Many Thanks !
Reply | Reply with quote | Quote
joseeb
# Thanksjoseeb 2016-05-23 07:47
Thanks it was exactly what I needed!
Reply | Reply with quote | Quote
adramazany
# Tnxadramazany 2016-04-08 09:12
It was great
many tnx
Reply | Reply with quote | Quote
Kobus
# Thank youKobus 2016-03-06 19:12
Excellent, exactly what I needed. Just wish I found this earlier.
Reply | Reply with quote | Quote
Xin
# Awesome scriptsXin 2016-02-13 07:35
I was learning to install Oracle 11.2.0.1.0(64-bit) on CentOS 7, the xxx_xxxx.mk errors spent me about two days. the solution is extremely useful.
Thank you for your sharing.
Reply | Reply with quote | Quote
Tawon
# Very helpfulTawon 2016-02-04 06:37
Thank you very much for the solution.
Reply | Reply with quote | Quote
guyr
# Applying scriptsguyr 2016-01-20 12:51
Many thanks, after applying script it works on CENTOS 7!
Reply | Reply with quote | Quote
Mostafa
# Giving me an errorMostafa 2015-10-08 18:39
i can not execute the script keep giving me the following Error
here-document at line 4 delimited by end-of-file (wanted `__EOF__')
Reply | Reply with quote | Quote
UxOra DBA
# RE: Giving me an errorUxOra DBA 2015-10-13 16:46
Try to execute it as command line in the terminal.
Copy and paste the all block in a terminal.
Reply | Reply with quote | Quote
thuyentv
# run script fix ins_ctx.mkthuyentv 2015-09-23 04:50
Hi Michel VONGVILAY,
during install oracle i see error in .ins_ctx.mk. I don't know save file contain script format .sh or ..., and run scrip this every where. Please resolve help me.
Many thanks Michel.
Reply | Reply with quote | Quote
UxOra DBA
# RE: run script fix ins_ctx.mkUxOra DBA 2015-09-26 19:47
Hi,

When you have the error message during the GUI install,
- open a new terminal
- save the script as a shell script anywhere you want, and make it executable
- change ORACLE_HOME script variable
- execute the script
- Then return to GUI install and click on Retry

Hope that helps,
Michel.
Reply | Reply with quote | Quote
Dan
# Awesome Solution!Dan 2015-07-30 18:26
I was trying to install Oracle 11.2.0.4 EE on OEL 7.1 and encountered the very same errors. I created an executable shell program to fix the Oracle software prior to the installation of Oracle binaries as suggested above. I started runInstaller and has no issues during the linking process.
I have a ticket open with Oracle and they are stumped - It's very early in the process so there is a lot of try this...try that... yada yada yada.

You've saved us valuable time waiting endlessly for Oracle - now we can get some work done.

Again, thank you for the solution. Priceless.
Reply | Reply with quote | Quote