Oracle 返回错误 ORA-01031:权限不足

red*_*x10 9 oracle linux

Oracle 返回错误“ORA-01031:权限不足”当我运行sqlplus / as sysdbasqlplus sys/oracle123 as sysdba没有运行时,为什么?

  • Oracle 版本:Oracle 数据库 10g 企业版 Release 10.2.0.1.0 - 64bit
  • Linux 版本:SUSE Linux Enterprise Server 11 (x86_64)

我知道 Oracle 在运行时使用 OS 身份验证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)
Run Code Online (Sandbox Code Playgroud)

另一个信息是我可以通过 登录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>
Run Code Online (Sandbox Code Playgroud)

我运行 strace -o trace.out sqlplus "/ as sysdba" 并获得以下输出消息。strace 消息太大。所以我将它粘贴到 pastebin 中。请访问此链接

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
Run Code Online (Sandbox Code Playgroud)

Jac*_*las 1

操作系统级别肯定出了问题 - 检查此页面以获取一些步骤来查找问题