win7运行sqlplus报错“SP2-1503: 无法初始化 Oracle 调用界面”

WIN7 64bit安装Oracle 10.2.0.1后,运行cmd-sqlplus / as sysdba会提示:

C:\Users\Liu>sqlplus / as sysdba
SP2-1503: 无法初始化 Oracle 调用界面
SP2-0152: ORACLE 不能正常工作


解决方法:

1、临时方案:此时可以以“管理员身份”运行cmd,然后再执行sqlplus就行了。

2、终极方案:如果想更简单,可以将$ORACLE_HOME/BIN的sqlplus.exe属性中的兼容性选择“以管理员身份运行此程序”,即可以避开Win7的权限,一句话,都是Win7的权限问题,才导致从安装到运行,处处都需要额外设置才行。

但是如果这样,则每次运行sqlplus scott/tiger@bisal时的cmd,会自动fork另一个cmd进程运行sqlplus的登录操作(见截图)。win7运行sqlplus报错“SP2-1503: 无法初始化 Oracle 调用界面”_第1张图片


MOS的SP2-1503 When Run SQLPlus 10.2.0.1 as a Non-Admin User on Windows 7 (文档 ID 1531248.1)则指出这个问题是SQL*Plus 10.2.0.1及以后版本的一个未使用管理员账户操作的问题。

SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
Win7(32bit)操作系统验证过的最小版本是10.2.0.5.0,这里用的10.2.0.1没有Win7的验证,因此也会出现上面这些Win7权限等造成的问题,使用10.2.0.5.0版本的SQL*Plus就ok了。Oracle 10.2.0.5 (Client 32bit)及更高版本,在Win 7 32bit上进行了验证。

总结起来,以上碰到的这些问题还是10.2.0.1版本在Win7还未验证导致的,Oracle也为此开了一个defect:Bug 4684738 : NON-ADMINISTRATOR USER UNABLE TO USE CLIENT SQLPLUS INSTALL。在Win7上使用非管理员账号sqlplus登录时就会报:
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
SP2-1503: 无法初始化 Oracle 调用界面
SP2-0152: ORACLE 不能正常工作

关于验证的操作系统版本, Statement of Direction: Oracle Database 10g Release 2 Client (10.2.0.5) with Microsoft Windows 7 and Windows Server 2008 R2 (文档 ID 1061272.1)介绍:

Oracle Database Version

Operating System

32-bit Oracle Database 10g Release 2 Client (10.2.0.5 and higher)

Windows 7 (32-bit)

32-bit Oracle Database 10g Release 2 Client (10.2.0.5 and higher)

Windows 7 x64

64-bit Oracle Database 10g Release 2 Client (10.2.0.5 and higher)

Windows 7 x64

32-bit Oracle Database 10g Release 2 Client (10.2.0.5 and higher)

Windows Server 2008 R2 x64

64-bit Oracle Database 10g Release 2 Client (10.2.0.5 and higher)

Windows Server 2008 R2 x64


同样,Vista版本也有类似的情况: Unable to Connect in SQL Plus if Windows Vista user is a Non-Administrative User (文档 ID 391401.1)。

你可能感兴趣的:(技术之我见,Oracle)