The oracle user (owner of the oracle installation) is able to run sql*plus.
However users different than the owner of the installation (Oracle user is usually the owner) are not able to run SQL*Plus after the DST patches were applied at operating system and database software level. Non oracle users who do not belong under dba unix group it fails with
"SP2-0642: SQL*Plus internal error state 2165, context 4294967295:0:0
Unable to proceed"
Or, after applying DST patch (i.e. Patch 5632264) to Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 it fails with following errors.
$ sqlplus /nologCause of the Problem
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
SQL*Plus is unable to access $ORACLE_HOME/oracore/zoneinfo/timezone.dat file. The error message is indicating timezone.dat file is missing from install or inadequate permissions to access $ORACLE_HOME/oracore/zoneinfo directory.
If you do ls -l you will see output like,
$ls -l oracore/zoneinfo/timezone.datFrom the permission, it is clear that the users others than oracle and not under dba group do not have privileges on the timezone.dat file, so they are not able to read/write the file above. It needs at least read privileges on other unix group.
-rw-r----- 1 oracle dba 161096 Mar 10 20:12 oracore/zoneinfo/timezone.dat
Solution of the Problem
To implement the solution, execute the following steps:
1. Manually change the privileges for the $ORACLE_HOME/oracore/zoneinfo directory and files.
$ chmod o+r oracore
$ chmod o+r oracore/zoneinfo/timezone.dat
Alternatively, you can do.
$ cd $ORACLE_HOME
$ chmod -R 755 oracore
2. After you change the permission setting SQL*Plus should be working.
$ sqlplus
No comments:
Post a Comment