ORA-01031: Windows Kurulumunda Yetersiz Ayrıcalıklar Hatası Nasıl Çözülür?


12

Oracle 11G'yi Windows 2008 R2 Sunucuma kurdum. Ayrıca Oracle Client Libraries'i ayrı kurulum medyası kullanarak kurdum. Istemci yüklemeden sonra, kullanarak veritabanına oturum açmaya çalıştığınızda:

C:\>sqlplus / as sysdba

Aşağıdaki hatayı alıyorum:

ORA-01031: yetersiz ayrıcalıklar

Bu istemci kurulumundan önce çalıştı. Hesabım ORA_DBAgrupta. Hesabım ayrıca Yönetici grubunda. ORACLE_SIDOrtam değişkenleri listemde ayarlama yapmadım . Olmak zorunda mı? Bu istemci kurulumundan önce çalıştı ve ben de o anda bu değişken yoktu.

UAC en düşük seviyede açıktır ve her zaman cmdyönetici olarak çalışırım .

sqlnet.oraKlasörde böyle bir dosya var :

C:\app\myaccount\product\11.2.0\dbhome_1\NETWORK\ADMIN

sqlnet.ora

# sqlnet.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.ora

# tnsnames.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.mydb.com)
    )
  )

listener.ora

# listener.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\myaccount\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\myaccount\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = C:\app\myaccount

Windows kayıt defterinden (regedit kullanarak), yoldan Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > ORACLEiki anahtar bulabilirim:

KEY_OraClient11g_home1
KEY_OraDb11g_home1

Ve bu anahtarların altında ORACLE_HOMEdeğişkenleri bulabilirim . Yani istemci kurulumu da ORACLE_HOMEşimdi iki ORACLE_HOMEs var böylece oluşturulan gibi görünüyor . Bunun bu sorunla ilgisi var mı bilmiyorum?

Windows makinemdeki bu hatayı nasıl çözebilirim?

Yanıtlar:


7

Sorun, Oracle Client kurulumunuzun Oracle Server kurulumundan önce PATH sisteminde olmasıdır (aslında, istemciyi kurmadan önce çalıştığını belirtmişsinizdir).

Aşağıdaki gibi devam edin:

  1. Oracle Client'ı yalnızca kafa karıştırıcı şeyler olduğu için kaldırın. Kaldırma seçeneğini kullanın, ancak daha sonra dizinin ve Oracle Client kayıt defteri anahtarının gittiğini kontrol edin ve gerekirse el ile kaldırın.

    (Oracle istemcisini sunucu evinden sonra yola sokarak bu çalışmayı sağlamak mümkündür , ancak tek bir yüklemeye sahip olmak çok daha basittir. Bir Oracle sunucu kurulumu zaten tam bir Oracle istemcisi içeriyor zaten).

  2. Sunucunun evine giden yolun PATH'nizde olduğundan emin olun. Ve yolda başka hiçbir Oracle evi yok.

  3. Hesabınızın ORA_DBA grubunda olduğundan emin olun. Özellikle alan adları kullanıyorsanız bunu iki kez kontrol edin.

  4. Her şey başarısız olursa, SQLNET.AUTHENTICATION_SERVICES=(NTS)sqlnet.ora dosyasından kaldırabilirsiniz , çünkü bu sizi parola kimlik doğrulaması kullanmaya zorlar.


OracleXE bölmesini müşteri PATH'daki kutulara koymam için bana yardımcı oldu
mmey

benim sorunum NTS yerine SQLNET.AUTHENTICATION_SERVICES = (NONE)
jcho360

0

Dizüstü bilgisayarımda hem 10g hem de 11g yüklü, ayrıca en son OBIEE istemcisi var. Eskiden 11g örneğine sysdb olarak giriş yapabildim, ancak bu sabah aşağıdakileri aldım:

SQL> conn / as sysdba
ERROR:
ORA-01031: insufficient privileges

Aşağıdakileri yaparak sorunu çözdüm:

  1. başlangıç ​​db & dinleyici;
  2. tnsname öğesinin çalıştığından emin olun tnsping orcl; sonra
  3. set ORACLE_SID=orcl
  4. sqlplus sys/"passwd"@orcl as sysdba

Bu yardımcı olur umarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.