您的位置:首页 > 数据库 > Oracle

Window Server 2008 R2 SP1(64位)下安装oracle遇到的一些问题及解决方案

2012-10-19 12:41 671 查看
我的选择组合如下:

OS : Microsoft Window Server 2008 R2 SP1 (64位)

DataBase: 适用于Microsoft Windows (32位) 的 Oracle Database 11g 第2版 (11.2.0.1.0)

Query Tool: PL/SQL Developer Version 8.0.4.1514

最近,由于项目组的数据库服务器意外崩溃,导致数据库文件损坏,无法启动和访问。没法办,只能重装数据库了。

由于机器是64位的,我当时就直接选择了适用于Microsoft Windows (64位) 的 Oracle Database 11g 第2版 (11.2.0.1.0),安装完成后又安装了与之匹配的适用于 Microsoft Windows (64位) 的 Oracle Database 11g 第 2 版 Client (11.2.0.1.0),然后重启了机器。结果发现,可以从其它安装了客户端的机器上用自己编写的.net Website访问数据库,但是在数据库服务器本机却不可以,运行时提示“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题”。原因是:我们通常程序都是在32位机器上编译的,现在发布后拿到64位机器上部署,导致不能直接运行,也就是不匹配。

既然是不匹配,那卸掉64位的,装上32位的DataBase和Client不就可以了吗,实验结果是错误的。其实,只要安装32位的DataBase就可以了,因为DataBase里已经包含了ORACLE的全部功能。到此,数据库安装这块已经结束了,但新的情况又出现了:“使用System.Data.OracleClient访问Oracle数据库时收到如下信息System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.”。原因是Oracle 11g Release 2 在安装到Windows的NTFS分区下时的安全认证设置不正确,引起本机的Authenticated Users用户无法看到ORACLE_HOME目录下的内容,这导致在ASP.NET以Authenticated Users权限使用System.Data.OracleClient连接Oracle数据库时报出以上错误。要解决以上问题,只要给Authenticated Users 组加上访问Oracle Home目录的权限即可:

1、以Administrator权限登录Windows

2、启动Window 资源浏览器找到ORACLE_HOME目录,如C:\Oracle\ora92

3、右键弹出菜单,选择该目录共享与安全(Win2000下要点击属性)

4、点击 “安全” 页签

5、在组和用户名称列表中点击“Authenticated Users” 项

6、在该用户的权限列表中,将“读取和运行”的选择框置为不选中状态

7、再次点击“读取和运行”的选择框,将其设置为选中状态

8、点击“高级”按钮并在权限项目中确定“Authenticated Users” 是否拥有“读取并运行”权限并应用于“该文件夹,及子文件夹和文件”。如果不是,双击这样,并确保权限可以“应用于” “该文件夹,及子文件夹和文件”。该项非常重要你一定要核查

9、点击“确定”按钮 

10、重启动, 以使得所有的修改生效

至此,问题解决了。以上只是我个人的一些处理方案,也许还有其它更好的方案。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息