Oracle trả về lỗi "ORA-01031: không đủ đặc quyền" Khi tôi chạy sqlplus / as sysdba
nhưng sqlplus sys/oracle123 as sysdba
không, tại sao?
- Phiên bản Oracle: Cơ sở dữ liệu Oracle 10g Phiên bản doanh nghiệp Phiên bản 10.2.0.1.0 - 64 bit
- Phiên bản Linux: SUSE Linux Enterprise Server 11 (x86_64)
Tôi biết rằng Oracle sử dụng xác thực hệ điều hành khi chạy sqlplus / as sysdba
, tôi cũng đã kiểm tra sqlnet.ora một cách cẩn thận và nó có chứa SQLNET.AUTHENTICATION_SERVICES = (NTS)
.
Tôi cũng đã thay đổi nhóm người dùng oracle, người dùng oracle hoàn toàn thuộc về nhóm dba vì khi tôi chạy lệnh id, thông tin sau sẽ trả về:
oracle@linux-mage:~> id
uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba)
Một thông tin khác là tôi có thể đăng nhập thông qua sqlplus sys/oracle123 as sysdba
, nhưng tôi không thể tắt cá thể:
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>
tôi đã chạy strace -o track.out sqlplus "/ as sysdba" và nhận được thông báo đầu ra sau đây. thông điệp strace là quá lớn. vì vậy tôi dán nó vào pastebin. vui lòng truy cập liên kết này
ipcs -s và ipcs -ls thông tin:
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