导读:Oracle数据库的安装,姑娘我也是醉了。从开发今日开讲后台系统前,我就一直在装,第一版都开发完了,我昨天静下心来,才终于装上。在这个过程中,出现了好些个问题,说起来都是泪呀。现在就总结总结这个过程中遇到的一些问题。
一、点击setup,程序异常终止
之前虽然没能成功连接上数据库,但我好歹还从头到尾的装了一遍。这回是安装页面都进不去,直接被枪毙了。
原因:因为安装程序里面有配置对于安装环境的要求。出现这个问题,是因为我用win8的系统去安装这个程序,但程序里面并没有对win8进行配置。(通过安装更高版本有配置的,以及添加配置验证)
解决方案:既然是没有对当前系统进行配置,那么自然而然的就是,在安装程序中,配置自己的环境。
1, 修改安装程序Oracle 10G\database\stage\prereq\db\refhost.xml
<span style="font-family:KaiTi_GB2312;font-size:18px;"><CERTIFIED_SYSTEMS> ..... <OPERATING_SYSTEM> <VERSION VALUE="5.1"/> </OPERATING_SYSTEM> <OPERATING_SYSTEM> <VERSION VALUE="5.2"/> </OPERATING_SYSTEM> 只要在后面添加 <!--Microsoft Windows 7 、Windows 8--> <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SYSTEM> <OPERATING_SYSTEM> <VERSION VALUE="6.2"/> </OPERATING_SYSTEM> </span>
2, 到install目录中找到oraparam.ini文件
<span style="font-family:KaiTi_GB2312;font-size:18px;">把 #Windows=4.0,5.0,5.1,5.2 修改成 #Windows=4.0,5.0,5.1,5.2,6.1,6.2 并在后面添加 [Windows-6.1-required] #Minimum display colours for OUI to run MIN_DISPLAY_COLORS=256 #Minimum CPU speed required for OUI #CPU=300 [Windows-6.1-optional] [Windows-6.2-required] #Minimum display colours for OUI to run MIN_DISPLAY_COLORS=256 #Minimum CPU speed required for OUI #CPU=300 [Windows-6.2-optional]</span>
然后,修改程序以兼容性模式运行,以管理员身份安装。就能解决这个问题
二、TNS-12541:TNS: No Listener
很明显的一个问题,没有设置监听,那就设置监听。但是,出现这个问题,可能并不是程序安装有问题。这也是我第一次安装的时候,所犯的错。我一直疑惑,为什么我按照教程装的,一个错都没有报,也验证登录了,为什么就是用客户端连接不了。但其实,唉。请看下图说明(这里以10g版本为例,在11g版本时):
在程序安装时,我在这一步进行了修改:
然后在用客户端(Navicat Premium)连接的时候:
因为并没有填写对应的服务名,所以出现了no listener。将这个位置的参数,改为与之对应的名,就可以连接上。当然no listener也可以通过修改安装目录下的配置文件,进行添加用户而解决。
三、ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK
这个问题,是我们使用的Navicat Premium客户端不支持简体中文的编码格式。这个配置是在Navicat Premium的工具——选项——其他——OCI里面的oci.dll中,默认这里指向的是Navicat Premium安装文件的编码配置。现在需要修改它:
方式一:下载一个Oracle的客户端,将这个oci.dll指向Oracle的oci.dll。
方式二:直接替换掉Navicat Premium里的oci.dl。
四、Only compatible with OCI version 8.1 and higher
这个问题时OCI的配置只兼容于win8.1或者更高版本。而我的系统是win8,所以就出错了。解决办法是,将这个OCI.dll文件直接指向Oracle安装路径下的OCI.dll。
五、总结
昨天终于将Oracle给装好了,之前的一系列活动,都是罪过。直到昨天我才发现,我之前每一次的安装,其实都是成功了的,但由于我用客户端去连接数据库时的一些配置问题,我一直觉得自己安装失败了。然后,找了一些人帮我挑错,也说是我安装出错了。最后,我就真的相信是我安装出错了。我就这样被说服,忘记了我在安装过程中一个错都没有,而且运用dos命令行测试安装成功了。
那么在这个过程中,就有一个思路问题,当我发现我连接不上的时候,我为什么要肯定,如果安装程序没有错,那么就能正常连接呢?首先是安装过程中,我修改了一些参数配置,这些参数配置的修改都是用于什么的,都到哪里去了?然后是我用客户端进行连接,里面也有很多参数配置,这些参数配置又是什么?它和我安装过程中的参数配置是否存在着对应关系?明明出现了安装程序、客户端两个入口,我看都不看客户端连接配置着一个,直接从安装程序入手,而且还那么轻易的就推翻了我经过命令行验证的结果。这也是我学习方法中的一个体现吧。
然后,我去找别人,问问我这个一直装不上该怎么办的时候,有很多人都建议我重装数据库(尽管我们也一起验证真的是没有安装失败)、不用Oracle直接用MySQL或者SQLServer等。我觉得,如果时间紧急,那么应该用一种能最快解决问题的方案,但现在是学习的时候,我要是就那么掩盖,是不是也意味着,这个问题永远都会是我的问题。唉,我的学习,需要思考了。