Oracle返回错误“ ORA-01031:特权不足”,sqlplus / as sysdba
但我sqlplus sys/oracle123 as sysdba
没有运行,为什么?
- Oracle版本:Oracle数据库10g企业版10.2.0.1.0版-64位
- 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)
另一个信息是我可以通过登录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”并获得以下输出消息。strace消息太大。所以我将其粘贴到pastebin中。请访问此链接
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