oracle,ORACLE记

以前玩数据库,都是玩PLSql这个客户端,也就是写写常用的SQL,觉得没什么意思,从上周末开始打算玩ORACLE服务器。
Oracle10gXEUniv
第一次,我安装了一个Oracle10gXEUniv版本的SERVER(这还是刚进亚信时从黄元初电脑拷贝过来的),这是一个简化版的ORACLE SERVER,安装过程也挺简单,跟安装普通软件基本上没有什么区别。但是简化版就是简化版,把许多功能都减掉了,连DBCA的图形化界面都没有。安装完毕默认有一个XE的数据库,据网上介绍,该版本只能有一个数据库(没有深入研究证实),难怪连建库的DBCA都没了。郁闷。。。打开PLSQL也能直接连到XE数据库,除了报一个客户端和服务器的字符集不一致的提醒外,也没有遇到其他问题。解决办法也很简单:
(1)首先忽略字符集提醒,进入XE数据库,SELECT USERENV('LANGUAGE') FROM DUAL;查看一下ORACLE SERVER的字符集,然后在开始--运行--输入regedit,进入注册表查找到NLS_LANG的键,把指改成SERVER端的字符集即可。
(2)第二种方法是:直接在环境变量新增系统变量NLS_LANG,值为SELECT USERENV('LANGUAGE') FROM DUAL;
这两种方法都行,当然还有其他的方法,其实PLSpl取字符集时是先取环境变量的字符集,如果没有再取注册表的字符集。
由于简化版Oracle10gXEUniv服务器,在功能上有诸多限制。这一周开始我决定玩企业版的ORACLE服务器。
几经辛苦从ORACLE官网下载了一个ORACLE10g-10.2.0.4版本的SERVER(由于我现在电脑的操作系统是64位的Win7家庭版,在ORACLE官网上10g只有这个版本是明文规定支持Win7的,但是还是要打10.2.0.5的补丁,暂且不理下了玩再说)。安装这个版本的SERVER之前要卸载Oracle10gXEUniv。
卸载ORACLE
卸载ORACLE还是比较繁琐的,流程如
(1)开始->设置->控制面板->管理工具->服务,停止多有Oracle服务。
(2)开始->设置->控制面板->卸载Oracle
(3)开始->运行->regedit,进入注册表。
选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,删除Ora开头的所有键值对。
选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除Ora开头的所有键值对。
选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除Ora开头的所有键值对。
(4)删除系统变量中的ORACLE相关的变量,如:PATH,CLASSPATH,ORACLE_HOME等。
(5)用Win7优化大师清理一下注册表和垃圾文件,重启计算机,然后开ORACLE的安装目录下有没有残余文件,删除之。
ORACLE10g-10.2.0.4
在Win7下这个10.2.0.4版本的数据库遇到还多问题。
首先,该版本对环境有比较严格的要求,它默认只支持5.0,5.1,5.2,6.0版本的操作系统,而我的电脑是64位Win7是6.1版本的操作系统,环境验证不通过。但是没关系,困难还是可以克服的,只要手动更改ORACLE安装包下\stage\prereq\db\refhost.xml文件,在版本描述中新增6.1的版本描述,具体新增项如下:
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
同时在\install\oraparam.ini文件上新增如下描述到相应的处,自己看看肯定能知道放到哪个位置,
[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]
就这样成功的骗过了ORACLE服务器的验证,然后先安装普通软件那样继续安装。
成功的安装玩ORACLE10g-10.2.0.4后,打开SQL Plus成功连接了全局数据库Orcl,打开PLSpl,见鬼了连不上。记忆中PLSpl是可以自动找到ORRCLE服务器的,这是咋回事啊?问了小熊,他也不知道。没办法了,还得认真看看。。。
几经折腾,反正是很折腾终于找到原因了,原来PLSql会自动连接ORACLE服务器是,因为PLSpl会自动找到ORACLE安装目录BIN下的oci.dll文件,但是Oracle安装包下的该文件是32位,而我的电脑是64位的,识别不了,估计Oracle11g会支持。那可怎么办啊?还是那句话困难是可以克服的:
(1)上网下载一个绿色版的install Oracle client-basic-win32-11.2.0.1.0客户端,大概四五十M,解压到指定目录。
(2)打开PLSpl点击取消,不要登录。然后在Tools-Preferences-Connection中设置ORACLE_HOME和OCI library。
其中ORALCE_HOME为ORACLE服务器的安装目录,OCI library为(1)中的客户端所在目录下的oci.dll文件。
(3)在环境变量中设置TNS_ADMIN=\NETWORK\ADMIN(为ORACLE服务器安装目下的该子目录)
(4)在环境变量中设置NLS_LANG=AMERICAN_AMERICA.AL32UTF8
(5)重启计算机,然后记得要启动ORACLE的相关服务,PLSql就这样神一样的连接到ORACLE服务器了。
Tags:  oracle

延伸阅读

最新评论

发表评论