Thursday, October 1, 2009

SP2-1503: Unable to initialize Oracle call interface

It was the first prblem i had to solve for my users as DBA.

One of our user uses a 10g client(10.2.0.1.0) on windows server 2003.
From that machine he uses sqlplus from command prompt.
On that day he was complaining that after reboot (it was the first reboot after installation of orace client) he is getting SP2-1503 error when he uses sqlplus from command prompt.

At first I thought that It should be because of improper value of environment vaiable PATH.
So that, on command prompt I typed:

echo %PATH%

and found that it was ok. Then I started searching the we and found below solution on OTN:

Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2.0 to 10.2.0.1.0 Oracle Server - Standard Edition - Version: 10.1.0.2.0 to 10.2.0.1.0 Microsoft Windows 2000 Microsoft Windows XP Microsoft Windows Server 2003

Symptoms:
When logged on to the Windows server as a non-Administrator OS account using Microsoft Terminal Services client (mstsc.exe), starting SQL*Plus fails with:

SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly

Starting SQL*Plus works when logged on to the Windows server using an Administrator OS account.
Starting SQL*Plus works when logged on locally to the Windows server console using the non-Administrator OS account.

Cause:
The issue is related to a Windows Security configuration. The problem is caused by a security policy called "Create Global Objects". The user account that is used to run the program does not have the "Create global objects" user right. This security policy was introduced with Windows 2000 SP4, and determines if applications started during a Terminal Services session can create or access globally accessible memory.
By default, members of the Administrators group, the System account, and Services that are started by the Service Control Manager are assigned the "Create global objects" user right.

Solution:
Assign the "Create global objects" user right to the non-Administrator account.
1. Click Start, point to Programs, point to Administrative Tools, and then click Local Security Policy.
2. Expand Local Policies, and then click User Rights Assignment.
3. In the right pane, double-click Create global objects.
4. In the Local Security Policy Setting dialog box, click Add.
5. In the Select Users or Group dialog box, click the user account that you want to add, click Add, and then click OK.6. Click OK.

http://kr.forums.oracle.com/forums/thread.jspa?threadID=338426

1 comment:

  1. This is good information. Does this issue exist with 11G as well ?

    ReplyDelete