কীভাবে ORA-01031 সমাধান করবেন: উইন্ডোজ ইনস্টলেশনতে অপর্যাপ্ত সুযোগ-সুবিধা ত্রুটি?


12

আমি আমার উইন্ডোজ 2008 আর 2 সার্ভারে ওরাকল 11 জি ইনস্টল করেছি। আমি পৃথক ইনস্টলেশন মিডিয়া ব্যবহার করে ওরাকল ক্লায়েন্ট গ্রন্থাগারগুলিও ইনস্টল করেছি। ক্লায়েন্ট ইনস্টলেশন করার পরে, যখন আমি ব্যবহার করে ডাটাবেসে লগ ইন করার চেষ্টা করি:

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

উইন্ডোজ রেজিস্ট্রি থেকে (রিজেডিট ব্যবহার করে), যে পথ থেকে Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > ORACLEআমি দুটি কী খুঁজে পেতে পারি:

KEY_OraClient11g_home1
KEY_OraDb11g_home1

এবং এই কীগুলির অধীনে আমি ORACLE_HOMEভেরিয়েবলগুলি খুঁজে পেতে পারি । সুতরাং মনে হচ্ছে ক্লায়েন্ট ইনস্টলেশনটিও উত্পন্ন হয়েছে ORACLE_HOMEযাতে আমার এখন দুটি রয়েছে ORACLE_HOME। আমি জানি না এই সমস্যাটির সাথে এর কিছু আছে কিনা?

আমার উইন্ডোজ মেশিনে এই ত্রুটিটি কীভাবে সমাধান করবেন?

উত্তর:


7

সমস্যাটি হ'ল আপনার ওরাকল ক্লায়েন্ট ইনস্টলেশনটি আপনার ওরাকল সার্ভার ইনস্টলেশন করার আগে সিস্টেম PATH এ রয়েছে (আসলে, আপনি এমনকি উল্লেখ করতে পারেন যে এটি ক্লায়েন্ট ইনস্টল করার আগে এটি কাজ করেছিল)।

নিম্নলিখিত হিসাবে এগিয়ে যান:

  1. ওরাকল ক্লায়েন্টকে সরান কারণ এটি কেবল বিভ্রান্তিকর জিনিস। আনইনস্টল বিকল্পটি ব্যবহার করুন তবে তারপরে পরীক্ষা করে নিন যে ডিরেক্টরি এবং ওরাকল ক্লায়েন্ট রেজিস্ট্রি কী চলে গেছে এবং প্রয়োজনে হাতে সরিয়ে ফেলুন।

    ( সার্ভার হোমের পরে পথে ওরাকল ক্লায়েন্টের বাড়িতে থাকার মাধ্যমে এটি কাজ করা সম্ভব , তবে কেবল একটি একক ইনস্টল করা অনেক সহজ An একটি ওরাকল সার্ভার ইনস্টলেশনটিতে ইতিমধ্যে যাইহোক একটি সম্পূর্ণ ওরাকল ক্লায়েন্ট রয়েছে)।

  2. নিশ্চিত হয়ে নিন যে সার্ভারের বাড়ির পথটি আপনার প্যাথে রয়েছে। এবং অন্য কোনও ওরাকল বাড়ি পথে নেই।

  3. আপনার অ্যাকাউন্টটি ORA_DBA গ্রুপে রয়েছে তা নিশ্চিত করুন। এটি ডাবল পরীক্ষা করে দেখুন, বিশেষত যদি আপনি ডোমেন ব্যবহার করছেন।

  4. অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে আপনি SQLNET.AUTHENTICATION_SERVICES=(NTS)আপনার sqlnet.ora থেকে সরিয়ে ফেলতে পারেন কারণ এটি আপনাকে পাসওয়ার্ড প্রমাণীকরণ ব্যবহার করতে বাধ্য করবে।


আমার কাছে ক্লায়েন্টকে রাস্তায় রাখার আগে ওরাক্লেক্সএবিনটি স্থাপন করতে সাহায্য করেছে
এমএমই

আমার সমস্যাটি এনটিএসের পরিবর্তে এসকিউএলএনইটি.এউথেন্টিকেশন_সেভারসেস = (কোনও নয়) ছিল
jcho360

0

আমি আমার ল্যাপটপে 10 জি এবং 11 জি উভয়ই ইনস্টল করেছি, প্লাস্টিকের মধ্যে ওবিআইইই ক্লায়েন্ট। আমি 11 জি ইনস্ট্যান্সে সিএসডিবি হিসাবে লগইন করতে সক্ষম হয়েছি তবে আজ সকালে নিম্নলিখিতটি পেয়েছি:

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

নিম্নলিখিতটি দ্বারা সমস্যাটি সমাধান করেছি:

  1. স্টার্টআপ ডিবি & শ্রোতা;
  2. নিশ্চিত করুন যে tns নামটি এতে কাজ করে tnsping orcl; তারপর
  3. set ORACLE_SID=orcl
  4. sqlplus sys/"passwd"@orcl as sysdba

আশাকরি এটা সাহায্য করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.