Oracle - 错误汇总
这是我安装oracle时遇到的错误,再此汇总一下和大家交流分享经验。 ------------------------------------------------------------------------------------------------ 1、/downloads/database/install/.oui:/lib/ld-linux.so.2:badELFinterpreter:Nosuchfileordirectory 解决:yuminstallyld-linux.so.2 2、Theuserisroot.OracleUniversalInstallercannotcontinueinstallationiftheuserisroot. 解决:用oracle用户登陆执行 3、Checkingswapspace:0MBavailable,150MBrequired.Failed 解决:ddif=/dev/zeroof=/data/swapbs=1Gcount=18 mkswap/data/swap&&swapon/data/swap vim/etc/fstab(add) /data/swapswapswapdefaults00 mount-a 4、Checkingmonitor:mustbeconfiguredtodisplayatleast256colorsCheckingmonitor:must configuredtodisplayatleast256colors 解决:yumwhatprovides"*/xhost"根据查出来的包,安装,类似 yuminstall-yxorg-x11-server-utils-7.7-14.el7 (x11的实现,当底层运转时,连接到x server上) 5、xhost:unabletoopendisplay"" 解决:yuminstalltigervnc-server(vnc服务可以通过字符终端登录图形界面) (root)vncserver&& 输入密码 &&exportDISPLAY=localhost:1 (oracle)vncserver&& 输入密码 启动vnc之后,还是无法解决上面显示问题,我又开始查, http://www.aspzz.cn/LINUXjishu/412923.html xhost+(让所有IP可以介入) yuminstallxdpyinfo //自动检索系统中的color 执行xdpyinfo |grep name //然后在oracle设置打印出的 DISPLAY变量,类似下面 6、Exceptioninthread"main"java.lang.UnsatisfiedLinkError:/tmp/OraInstall2017-03-13_09-56-31AM/jdk/jre/lib/i386/xawt/libmawt.so:libXext.so.6:cannotopensharedobjectfile:Nosuchfileordirectory 解决:yuminstalllibXext.i686(oracle需要一些32位的lib) 7、无法登陆vnc客户端 登录方式1:只是登录方式不是ip:port而是ip:1ip:21和2会话号可以psvnc看到 登录方式2:web端,输入ip:port,之后输入ip:1,密码登录 启动:vncserver:1(会话号) 关闭:vncserver-kill:1vncserver-kill:2(只能在各自用户下杀死自己的) 修改密码:vncpasswd :1 8、Thisisaprerequisiteconditiontotestwhetherthesystem certifiedarchitecture.?) ExpectedValue :x86 ActualValue:x86_64 解决:意思是系统是64位的,oracle使用的32位的,不匹配,虽然可以用一些补丁解决,但是为了以后能正常使用,还是下一个64位的吧。 9、Thisisaprere conditiontotestwhethertheOSkernelparameter"semmni"isproperlyset.?) ExpectedValue:128 0 解决:首先检索你的/etc/sysctl.conf有没有设置sem,如果设置了,直接跳过就好,oracle没有识别到。 10、packge:pdksh-5.2.14 解决:wgethttp://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm 64位的 wget ftp://rpmfind.net/linux/opensuse/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm 32位的 rpm-ivhpdksh-5.2.14-37.el5_8.1.x86_64.rpm --force --nodeps 11、errorwhileloadingsharedlibraries:libclntsh.so.11.1: errorwhileloadingsharedlibraries:libaio.so.1:cannotopensharedobjectfile:Nosuchfileordirectory 解决:首先我们可以lddsqlplus查看sqlplus软链的库文件是如何寻找的 之后find这个库,根据ldd查找的路径,做个软链即可。 12、 解决:wget http://install.com:8888/unixODBC-2.2.11-7.1.i386.rpm rpm-ivh--forceunixODBC-2.2.11-7.1.i386.rpm wgethttp://mirror.centos.org/centos/5/os/i386/CentOS/unixODBC-devel-2.2.11-10.el5.i386.rpm rpm-ivhunixODBC-devel-2.2.11-10.el5.i386.rpm--nodeps--force wgetftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/updates/i386/libstdc++-3.4.6-11.i386.rpm rpm-ivhlibstdc++-3.4.6-11.i386.rpm--force wgetftp://bo.mirror.garr.it/1/smeserver/releases/obsolete/7.1/smeos/i386/CentOS/RPMS/libgcc-3.4.6-3.i386.rpm wgetftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/updates/i386/libaio-devel-0.3.105-2.i386.rpm rpm-ivhlibaio-devel-0.3.105-2.i386.rpm--force wgetftp://ftp.muug.mb.ca/mirror/centos/5.11/os/i386/CentOS/compat-libstdc++-33-3.2.3-61.i386.rpm rpm-ivhcompat-libstdc++-33-3.2.3-61.i386.rpm--force wgetftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/updates/i386/libaio-0.3.105-2.i386.rpm rpm-ivhlibaio-0.3.105-2.i386.rpm--force 13、修复选项无法点击 去日志文件中,/tmp/OraInstallxxxxx9-07PM/installActions2xxxxxx-07PM.log 中,搜索Error,或查找fixup,会发现下面这个文件所属主变了,应该是删除用户时变得。 chown-Roraclll/tmp/CVU_11.2.0.1.0_oracle/ 14、ORA-12162:TNS:netservicenameisincorrectlyspecified: 因为是其他用户登录,没有设置sid,exportORACLE_SID=xxx 即可 15、INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' INFO: collect2: error: ld returned 1 exit status INFO: make: *** [ctxhx] Error 1 网上说是glibc的版本2.17过高所致(高于2.14),解决办法:下载下面包,该软件包包含一个静态链接库:/usr/lib64/libc.a wgethttp://vault.centos.org/7.3.1611/updates/Source/SPackages/glibc-2.17-157.el7_3.1.src.rpm wgetftp://rpmfind.net/linux/centos/7.3.1611/os/x86_64/Packages/glibc-static-2.17-157.el7.x86_64.rpm rpm -ivhglibc-2.17-157.el7_3.1.src.rpm rpm -ivhglibc-static-2.17-157.el7.x86_64.rpm 修改/usr/local/oracle/ctx/lib/ins_ctx.mk,将 ctxhx: $(CTXHXOBJ) 修改为: ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a 点击Retry继续安装。 16、Errorininvokingtarget'agentnmhs'ofmakefile'/usr/local/oracle/sysman/lib/ins_emagent.mk.' 解决方法:在makefile中添加链接libnnz11库的参数 修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11 点击Retry继续安装。 安装成功! 17、 SQL>conn/assysdba Connectedtoanidleinstance. SQL>startup ORA-01078:failureinprocessingsystemparameters LRM-00109:couldnotopenparameterfile'/usr/local/oracle/dbs/initORCL2.ora' 首先确定你的 数据库启动时的oracle_sid是否设置的是ORCL2,不是的话更改 env。 检验方式:$ORACLE_BASE//admin/orasid == orasid 即你启动时的sid 18、客户端pl登录 Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results. Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_Oracle_10
查看服务端字符集:selectuserenv('language')fromdual;
打开cmd,命令regedit打开注册表。找到到文中提示的路径,发现NLS_LANG键的值为: SIMPLIFIED CHINESE_CHINA.ZHS16GBK 修改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8或 SIMPLIFIEDAMERICAN_AMERICA.AL32UTF8
还有一种可能是由于安装11g的时候没选择自定义安装造成的 Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results. Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home 这可是个麻烦事,不是改客户端字符集的问题。要改数据库的字符集: SQL> conn /as sysdba SQL> shutdown immediate; SQL> startup mount SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; SQL> alter database open; SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; ORA-12712: new character set must be a superset of old character set 提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; --我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的, 也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验. SQL> select * from v$nls_parameters; SQL> shutdown immediate; SQL> startup SQL> select * from v$nls_parameters; 以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好 =========================================================================================== (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |