ওরাকল 11 জি শ্রোতা ORA-12514 এবং ORA-12505 ত্রুটিগুলির সাথে ব্যর্থ


17

আমি আমার বিকাশ মেশিনে স্থানীয়ভাবে ওরাকল 11 জি এর উদাহরণ চালাই এবং সরাসরি এসকিএলপ্লাসের মাধ্যমে স্থানীয় উদাহরণের সাথে সংযোগ করতে পারি:

c:\>sqlplus ace

SQL*Plus: Release 11.2.0.2.0 Production on Mon Mar 11 11:50:20 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Beta

SQL> select count(*) from my_table ;

  COUNT(*)
----------
      5297

তবে আমি শ্রোতার মাধ্যমে এর সাথে সংযোগ করতে পারি না:

c:\>sqlplus -L "user/pw@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))"

SQL*Plus: Release 11.2.0.2.0 Production on Mon Mar 11 11:52:40 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor


SP2-0751: Unable to connect to Oracle.  Exiting SQL*Plus

একইভাবে, আমি স্কেল ডেভেলপারের মাধ্যমে সংযোগ স্থাপন করলে আমি একটি ত্রুটি পাই (তবুও ORA-12505, TNS:listener does not currently know of SID given in connect descriptor)।

এই উদাহরণটি স্থিতিশীল এবং আজ সোমবার সকাল পর্যন্ত এক বছর বা তারও বেশি সময় ধরে কাজ করে। আমাদের কর্পোরেট আইটি কখনও কখনও উইকএন্ডের মধ্যে নতুন নীতি এবং আপডেটগুলিকে চাপ দেয়, তাই আমি ধরে নিচ্ছি যে কিছু পরিবর্তন হয়েছে তবে আমি কী কাজ করতে সক্ষম হইনি।

আমি পরিষেবাটি এবং শ্রোতাদের বেশ কয়েকবার পুনরায় চালু করেছি, শ্রোতার লগ কোনও ক্লু দেয় না।

শ্রোতা ভাল মনে হচ্ছে:

c:\>lsnrctl status

LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Beta on 11-MAR-2013 11:55:33

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Beta
Start Date                11-MAR-2013 11:17:30
Uptime                    0 days 0 hr. 38 min. 3 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
Listener Log File         C:\oraclexe\app\oracle\diag\tnslsnr\FBC305BB46560\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=machine.domain.com)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

1521 পোর্টটি ঠিক আছে বলে মনে হচ্ছে:

c:\>netstat -an -O | find /i "1521"
  TCP    0.0.0.0:1521           0.0.0.0:0              LISTENING       4368
  TCP    169.243.90.109:55307   159.185.207.100:1521   ESTABLISHED     12416
  TCP    [::]:1521              [::]:0                 LISTENING       4368

(পিআইডি 4368 টি টিএনএসএলএসএনআর.এক্সই প্রক্রিয়া process

এছাড়াও, আমি tnspingএক্সই পরিষেবাতে করতে পারি :

c:\>tnsping xe

TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Beta on 11-MAR-2013 12:27:47

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Used parameter files:
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = machine.domain.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))
OK (210 msec)

listenerr.oraফাইল:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = machine.domain.com)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

অতিরিক্তভাবে, এবং এটি সম্পর্কিত কিনা আমার কোনও ধারণা নেই, আমি শীর্ষে অ্যাক্সেস করতে পারি না https://127.0.0.1:8080/apex (যদিও এর জন্য অনুমতিগুলি ভাল বলে মনে হচ্ছে)।

তাহলে আমি আর কোথায় খুঁজছি?

অনুরোধ করা তথ্য সহ আপডেট করুন:

SQL> show parameter service_names

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      XE
SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string

আপডেট 2 : @ चमत्कार 173 সঠিকভাবে উল্লেখ করেছে, শ্রোতা ভাল ছিল না । আপডেট হওয়া 'লোকাল_স্লিটনার' পরামিতি এখন অতিরিক্ত তথ্য দেখায়:

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=machine.domain.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully

আপনার INSTANCE_NAMEসূচনা পরামিতি এবং ORACLE_SIDপরিবেশ পরিবর্তনশীল এর মান কি? আপনার ডাটাবেস কোনও কারণে ডিফল্ট শ্রোতার সাথে নিবন্ধভুক্ত হয় না। ইস্যু করার চেষ্টা করুন alter system register;এবং তারপরে ডাটাবেসে পুনরায় সংযোগ করুন।
ইয়াসির আরসানুকায়েভ

@ ইয়াসিরআরসানুকায়েভ দৃষ্টান্ত_নাম 'এক্স' (এটি প্রাসঙ্গিক হলে লোয়ার কেস) এবং আমার কাছে ওআরএসিএলএসআইডি পরিবেশের পরিবর্তনশীল নেই।
অপছন্দিত

3
দুটি নোট: "শ্রোতা ভাল মনে হয়েছে": আমি এটি বলে মনে করি না কারণ এটি "XE" নামে একটি পরিষেবা প্রদর্শন করে না "আমি XE পরিষেবাটি পিং করতে পারি": টিএনস্পিং শ্রোতার সাথে সংযোগ স্থাপন করে তবে এটি পরিষেবাগুলি নিয়ে বিরক্ত করে না। সুতরাং আপনি কেবল শ্রোতা প্রস্তুত এবং চলমান আছে তা দেখাতে পারেন তবে শ্রোতা কোনও পরিষেবা নিবন্ধভুক্ত করেছেন কিনা তা পরীক্ষা করতে আপনি ব্যবহার করতে পারবেন না। সুতরাং কোনও শ্রোতা পোর্টে চলতে থাকলে "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = লোকালহোস্ট) (পোর্ট = 1521)) (CONNECT_DATA = (সার্ভার = উত্সর্গীকৃত) (SERVICE_NAME = XE))) টিএনএসপিং সফল হবে লোকালহোস্টের 1521 পরিষেবাটি না থাকলেও।
चमत्कार 173

আমি আজ একই সমস্যায় পড়েছি, এবং @ অলৌকিক 173 বর্ণিত হিসাবে, সতর্কতা.লগটিতে একটি নিবন্ধ রয়েছে। ওরাকল একটি ভিএম চলছে on এটি ভিএম, উভয় হোস্টনাম এবং হোস্টনেম.ডোমেন থেকে সক্রিয় হয় 127.0.0.1 (লোকালহোস্ট) এর চেয়ে পৃথক আইপি ঠিকানার দিকে নির্দেশ করে। ম্যাপিংয়ের জন্য জোর করে হোস্ট ফাইল (উইন্ডোজ 32 system32 \ ড্রাইভারস ইত্যাদি) পরিবর্তন করার পরে, এখন সব ঠিক আছে all

উত্তর:


15

সুতরাং, যিশিরআরসানুকায়েভকে তিনি যে সময়ের জন্য ব্যবহার করেছেন তার জন্য ধন্যবাদ দিয়ে, আমি একটি সমাধান খুঁজে পেয়েছি যা কার্যকর হয়, তবে যা আমি সত্যিই ব্যাখ্যা করতে পারি না।

চিন্তাভাবনা জাগ্রত করে LOCAL_LISTENER, আমি এই অন্য উত্তরটি পড়ছিলাম যেখানে এটি বলেছে:

ডাটাবেসটি শ্রোতাদের সাথে নিবন্ধভুক্ত করা উচিত তা চিহ্নিত করতে LOCAL_LISTENER পরামিতি ব্যবহার করে। ডিফল্টরূপে এটি নাল, যা ডকুমেন্টেশন অনুসারে হোস্টনামের সমতুল্য: 1521।

সুতরাং আমি আমার নিজস্ব হোস্টনামটি পিং করার চেষ্টা করেছি এবং পারিনি - এটি সাধারণ ব্যর্থতার বার্তা পেয়ে কিছু আইপিভি 6 সমস্যা বলে মনে হচ্ছে।

তাই আমি এই উত্তরটি থেকে পরামর্শ নিয়েছি

SQL> alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both;
SQL> alter system register;

এবং এটি এখন কাজ করে, সম্ভবত এটি লোকালহোস্ট রেফারেন্স সমাধান করতে পারে কারণ এটি আসল হোস্ট-নেম সমাধানে ব্যর্থ হয়েছিল।


1
আপনি আসলে সমাধানটি ই-প্লেইন করেছেন: ডিফল্ট LOCAL_LISTENER = 'এ ডাটাবেসের স্বয়ংক্রিয় নিবন্ধকরণ (ADDRESS = (PROTOCOL = TCP) (হোস্ট = হোস্টনাম) (পোর্ট = 1521))' (যেখানে হোস্টনামটি মেশিনের নেটওয়ার্কের নাম) করেছে কাজ করবেন না কারণ এই নামে মেশিনে পৌঁছাতে সমস্যা আছে। ডাটাবেসের রেজিস্ট্রেশন সমস্যা সম্পর্কে সতর্কতা.লগ বা কিছু sqnlnet.log (% ORACLE_Home% / নেটওয়ার্ক / লগ /) তে একটি এন্ট্রি থাকতে পারে
चमत्कार 173

@ প্রকাশিত আমার আসলে একই সমস্যা রয়েছে, আমার ক্ষেত্রে এটি সমাধান হয়েছে কারণ ব্যবহৃত পরিষেবা আইডি ".Domain.local" পোস্টফিক্স পাঠ্য সরিয়ে দিয়েছে।
ন্যাপ

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