Oracle возвращает ошибку ORA-01031: недостаточно прав

9

Oracle возвращает ошибку «ORA-01031: недостаточно привилегий» Когда я запускаю, sqlplus / as sysdbaно sqlplus sys/oracle123 as sysdbaнет, почему?

  • Версия Oracle: Oracle Database 10g Enterprise Edition, версия 10.2.0.1.0 - 64-разрядная версия
  • Версия для Linux: SUSE Linux Enterprise Server 11 (x86_64)

Я знаю, что Oracle использует аутентификацию ОС при запуске sqlplus / as sysdba, я также тщательно проверил sqlnet.ora, и он содержит SQLNET.AUTHENTICATION_SERVICES = (NTS).

Я также изменил группу пользователей oracle: пользователь oracle абсолютно принадлежит к группе dba, потому что когда я запускаю команду id, возвращается следующая информация:

oracle@linux-mage:~> id
uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba)

Другая информация - я могу войти через sqlplus sys/oracle123 as sysdba, но я не могу закрыть экземпляр:

oracle@linux-mage:~> sqlplus sys/oracle123 as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 5 16:29:57 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected.
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-27140: attach to post/wait facility failed
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL>

я запустил strace -o trace.out sqlplus "/ as sysdba" и получил следующее выходное сообщение. прямое сообщение слишком велико. так что я вставляю его в пастин. пожалуйста, посетите эту ссылку

http://pastebin.com/YpjVeG8u

информация о ipcs -s и ipcs -ls:
oracle @ linux-mage: ~> ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems

oracle@linux-mage:~> ipcs -ls

------ Semaphore Limits --------
max number of arrays = 200
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
redhatlinux10
источник
Вы вошли в систему как пользователь оракула в Linux?
да, я вошел на серверный компьютер как пользователь оракула.

Ответы:

1

Что-то пошло не так на уровне O / S - проверьте эту страницу для некоторых шагов, чтобы отследить проблему

Джек говорит, попробуйте topanswers.xyz
источник
0

Post / wait - подсистема IPC семафора. Вероятно, либо у вас закончились семафоры, либо семафоры были созданы с разрешениями, которые не позволяют вашему пользователю получать к ним доступ - проверьте выходные данные ipcs -s, где находятся эти разрешения ? Сравните количество семафоров с ipcs -ls.

Gaius
источник
-1

Кажется, что как только происходит немедленное отключение , соединение прерывается, хотя оно не показывает его. Выход из sqlplus, повторное подключение и немедленное прекращение работы завершили меня.

С https://community.oracle.com/thread/459659

Стив
источник
Это не отвечает на вопрос.
Colin 't Hart
-1

У меня была такая же проблема получения ошибки ORA-01031 при выполнении sqlplus / as sysdba. Моя проблема была исправлена, когда я сбросил переменную окружения TWO_TASK.

Боб Майлз
источник