ORA-01031 कैसे हल करें: विंडोज इंस्टॉलेशन पर अपर्याप्त विशेषाधिकार त्रुटि?


12

मैंने अपने Windows 2008 R2 सर्वर पर Oracle 11G स्थापित किया है। मैंने अलग इंस्टॉलेशन मीडिया का उपयोग करके Oracle क्लाइंट लाइब्रेरी भी स्थापित की है। क्लाइंट इंस्टॉलेशन के बाद, जब मैं डेटाबेस का उपयोग करके लॉग इन करने का प्रयास करता हूं:

C:\>sqlplus / as sysdba

मुझे निम्नलिखित त्रुटि मिलती है:

ORA-01031: अपर्याप्त विशेषाधिकार

क्लाइंट इंस्टॉलेशन से पहले यह काम करता था। मेरा खाता ORA_DBAसमूह पर है। मेरा खाता भी प्रशासक समूह में है। मैंने ORACLE_SIDअपने पर्यावरण चर सूची में सेट नहीं किया है । क्या यह होना चाहिए? क्लाइंट इंस्टॉलेशन से पहले यह काम करता था, और मेरे पास उस समय भी वैरिएबल नहीं था।

यूएसी न्यूनतम स्तर पर है, और मैं हमेशा cmdव्यवस्थापक के रूप में चलता हूं ।

मेरे पास sqlnet.oraफ़ोल्डर में इस तरह की एक फाइल है:

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 रजिस्ट्री से (regedit का उपयोग करके), पथ से Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > ORACLEमैं दो कुंजी पा सकता हूं:

KEY_OraClient11g_home1
KEY_OraDb11g_home1

और उन कुंजियों के नीचे मैं ORACLE_HOMEचर पा सकता हूं । तो ऐसा लगता है कि क्लाइंट इंस्टॉलेशन भी उत्पन्न ORACLE_HOMEहो गया है जिससे कि अब मेरे पास दो ORACLE_HOMEएस हैं। अगर यह इस समस्या के साथ कुछ करना है मुझे नहीं पता?

मेरी Windows मशीन पर इस त्रुटि को कैसे हल करें?

जवाबों:


7

समस्या यह है कि आपका ओरेकल क्लाइंट इंस्टॉलेशन आपके ओरेकल सर्वर इंस्टॉलेशन से पहले सिस्टम PATH में है (वास्तव में, आपने यह भी उल्लेख किया है कि क्लाइंट स्थापित करने से पहले यह काम करता था)।

निम्नलिखित के रूप में आगे बढ़ें:

  1. ओरेकल क्लाइंट को हटा दें क्योंकि यह केवल भ्रमित करने वाली चीजें हैं। अनइंस्टॉल विकल्प का उपयोग करें लेकिन बाद में जाँच करें कि निर्देशिका और Oracle क्लाइंट रजिस्ट्री कुंजी चली गई है और यदि आवश्यक हो तो हाथ से हटा दें।

    ( सर्वर होम के बाद मार्ग में ओरेकल क्लाइंट होम होने से यह काम कर पाना संभव है , लेकिन यह केवल सिंगल इंस्टॉल के लिए बहुत सरल है। ओरेकल सर्वर इंस्टॉलेशन में पहले से ही पूरा ओरेकल क्लाइंट शामिल है)।

  2. सुनिश्चित करें कि सर्वर का घर आपके पथ में है। और कोई अन्य ओरेकल घर मार्ग में नहीं है।

  3. सुनिश्चित करें कि आपका खाता ORA_DBA समूह में है। इसे दोहराएं, खासकर यदि आप डोमेन का उपयोग कर रहे हैं।

  4. यदि अन्य सभी विफल रहता है, तो आप SQLNET.AUTHENTICATION_SERVICES=(NTS)अपने sqlnet.ora से निकाल सकते हैं क्योंकि यह आपको पासवर्ड प्रमाणीकरण का उपयोग करने के लिए मजबूर करेगा।


PATH में ग्राहक के डिब्बे से पहले OracleXE बिन लगाने में मेरे लिए मदद की
mmey

मेरा मुद्दा NTS के बजाय SQLNET.AUTHENTICATION_SERVICES = (NONE) था
jcho360

0

मेरे पास अपने लैपटॉप पर 10g और 11g दोनों स्थापित हैं, साथ ही सबसे हाल ही में OBIEE क्लाइंट। मैं 11g उदाहरण के लिए sysdb के रूप में लॉगिन करने में सक्षम था, लेकिन आज सुबह निम्नलिखित मिला:

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

मैंने निम्न कार्य करके समस्या का समाधान किया:

  1. स्टार्टअप डीबी और श्रोता;
  2. सुनिश्चित करें कि tnsname द्वारा काम करता है tnsping orcl; फिर
  3. set ORACLE_SID=orcl
  4. sqlplus sys/"passwd"@orcl as sysdba

उम्मीद है की यह मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.