2012-01-09 5 views
3

Я борюсь со следующей ошибкой при запуске sqlplus в качестве обычного пользователя - скажем, «scott».Ошибка Oracle при выполнении sqlplus: «SP2-1503: невозможно инициализировать интерфейс вызова Oracle»

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

Окружающая среда:

  • Oracle 11.2.0.2
  • OpenSuse Linux 11.1 (64bit)

Разное другая деталь:

  • установлена ​​и запущена на Oracle localhost
  • Нет проблем с именами tnsnames, которые могут запускать sqlplus в качестве пользователя администратора oracle
  • Начали работу базы данных и прослушивателя (11.2.0.2 install).
  • пользователя Скотт в админах базы данных группы (/ и т.д./группа)
  • пользовательских ссылки правильно Скотт 11.2.0.2 установки

Это самое странное, как я могу счастливо работать SQLPLUS как пользователь оракула (скажем, «oraadmin »), и пользователь scott зарегистрирован в группе администратора oracle. Кроме того, у меня не было таких проблем с моей предыдущей установкой Oracle (10.2.0.7). My ~ scott $ ORACLE_HOME ссылается на установку 11.2.0.2.

Сравнивая мои среды 11.2.0.2 и 10.2.0.7, я заметил, что несколько библиотек (включая $ ORACLE_HOME/lib/libsqlplus.so) имеют групповые разрешения только для чтения (744), поэтому они chmod'ded.

Кроме этого, мои $ ORACLE_HOME/lib, $ ORACLE_HOME/bin, $ ORACLE_HOME/oracore и $ ORACLE_HOME/rdbms кажутся разумными с разумными разрешениями.

N.B: Существует множество материалов в режиме онлайн, но, как это часто бывает, существует множество проблем, связанных с конкретным случаем, и в основном вокруг разных версий Windows. Сосредоточение в основном на сравнении моих интересов. Кроме того, насколько я могу судить, этот вопрос еще не существует на SO, поэтому было бы полезно начать сопоставление ответов окружающей средой. Я расскажу о любых разумных выводах.

+0

Думаю, у меня может быть проблема с моей $ PATH. – wmorrison365

+0

Любое обновление о том, как вы исправили свою проблему? пожалуйста, помогите другим. – Mowgli

+0

Привет @mowgli, я уже оставил пару ответов ниже ... Первый список некоторых сайтов, которые я нашел полезными в моем поиске. Второе объясняет конкретную проблему, с которой я столкнулся (т. Е. Что я был немного глуп ;-) ... В моем случае вы увидите, что я запускал неправильную версию клиента для своего сервера, и клиент не говорил к серверу (клиент 11.2.0.2 против 11.1.0.7). Это было связано с настройками моего параметра $ PATH, перечисляющим 11107 бит до 11202 бина [$ ORACLE_HOME был безрезультатным]). Я не принял свой ответ, потому что это было немного нахально! – wmorrison365

ответ

2

Fixed мой конкретный вопрос ...

пользователя Скотту $ PATH все еще содержал ora11.1.0.7 бункер. Итак, при запуске sqlplus я запускал клиент ora11.1.0.7 sqlplus против сервера 11.2.0.2. Думайте, что может быть больше, чем это (например, я, вероятно, ожидаю, что клиент будет работать с этим сервером), но это хаб проблемы.

В моей защите my.bashrc правильно устанавливает $ PATH, поэтому еще не уверен, что упрекает его в версии 11.1.0.7. Угадайте разумное эмпирическое правило, чтобы добавить свой $ ORACLE_HOME/бен к передней части $ PATH, чтобы обеспечить шахты найдены первыми, несмотря на то, что еще устанавливаются какой-либо другая средой конфигурации, как в

export PATH=$ORACLE_HOME/bin:$PATH 

Ваших, немного смущенный, но, надеюсь, снова поможет кому-то.

+0

Принял мой собственный ответ, указав, что это решило мою конкретную проблему. – wmorrison365

4

Если это Windows 7, вы можете щелкнуть правой кнопкой мыши по SQL Plus или любому используемому программному обеспечению, я использую Crystal Reports.

так что вам нужно будет правой кнопкой мыши и Запуск от имени администратора.

исправлено для меня.

+0

Отличный совет ... Я добавил полный контроль для аутентифицированных пользователей в свойствах файлов для папки client_1 (щелкните правой кнопкой мыши по папке, вкладке «Безопасность»). Кажется, решил проблему для меня – Edd

0

В Windows я нашел решение ---

Присвоить пользователь «Создание глобальных объектов» право на счет не администратор.

  1. Перейдите в «Администрирование», а затем нажмите «Локальная политика безопасности».
  2. Разверните локальную политику и выберите пункт Назначение прав пользователя.
  3. В правой панели дважды щелкните значок Создать глобальные объекты.
  4. В диалоговом окне «Настройка политики локальной безопасности» нажмите «Добавить».
  5. В диалоговом окне «Выбор пользователей или групп» выберите учетную запись пользователя, которую вы хотите добавить, нажмите «Добавить», а затем «ОК».
  6. Нажмите OK.