redhat 安装 oracle中途遇到的问题(1)
(1)安装到68%时出现弹出框
Error in invoking target ‘install‘ of makefile ‘/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk‘. See ‘/home/oracle/oraInventory/logs/installActions2014-05-21_02-20-57PM.log‘ for details.
解决方案:
编辑创建脚本:
# 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, _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
运行脚本 并点击retry
下载路径及傻瓜式操作步骤下载链接:
(2)安装到70%多时出现弹出框
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.
解决方案:编辑创建脚本:
# 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
运行脚本 并点击retry
下载路径及傻瓜式操作步骤下载链接:
(3)解决linux的-bash: ./xx: Permission denied
-bash: ./xx.sh: Permission denied
解决:
chmod 777 xx.sh
Linux chmod +755和chmod +777 各是什么意思呢?
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限。
(4)安装Oracle,运行Database Configuration Assistant卡住
关闭防火墙即可
//临时关闭防火墙,重启后会重新自动打开 systemctl restart firewalld //检查防火墙状态 firewall-cmd --state firewall-cmd --list-all //Disable firewall systemctl disable firewalld systemctl stop firewalld systemctl status firewalld //Enable firewall systemctl enable firewalld systemctl start firewalld systemctl status firewalld
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 `_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, _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, _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 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: 1Solution 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
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
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
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.
the origin article can be found :https://www.uxora.com/oracle/dba/23-oracle-installation-errors-and-fixes