使用DBLINK查詢時報ORA-00600: internal error code, arguments: [kzdlk_zt2 err]

Jet_Zhang發表於2015-05-12

使用DBLINK查詢時報ORA-00600: internal error code, arguments: [kzdlk_zt2 err] 


SYS@oradg11g > select INSTANCE_NAME,host_name from  v$database@DBLINK_tns_oradgphy_LHR;
select INSTANCE_NAME,host_name from  v$database@DBLINK_tns_oradgphy_LHR
                                                *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kzdlk_zt2 err],
[18446744073709551603], [], [], [], [], [], [], [], [], [], []




SYS@oradg11g > 


點選(此處)摺疊或開啟

  1. create public database link dblink_ogg1
  2. connect to lhr identified by lhr
  3.  using '(DESCRIPTION =
  4.    (ADDRESS_LIST =
  5.    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.129)(PORT = 1521))
  6.    )
  7.    (CONNECT_DATA =
  8.            (SERVICE_NAME = ogg1)
  9.        )
  10.    )';


  11. create public database link DBLINK_OGG1
  12.   connect to LHR identified by lhr
  13.   using 'OGG1';


  14. SELECT NB.PASSWORD FROM sys.USER$ NB WHERE NB.NAME = 'SYS';

  15. --ORA-00600: internal error code, arguments: [kzdlk_zt2 err],
  16. create public database link DBLINK_OGG1
  17.   connect to LHR identified by values '72979A94BAD2AF80'
  18.   using 'OGG1';


  19. CREATE DATABASE LINK DBLINK_OGG1
  20.    CONNECT TO CURRENT_USER
  21.    USING 'remote';



  22. CREATE DATABASE LINK DBLINK_OGG1
  23.    USING 'remote'


在測試重建DBLINK,因為不知道帳號的密碼,所以使用了IDENTIFIED BY VALUES進行建立:
SQL> CREATE PUBLIC DATABASE LINK WEBDB CONNECT TO WEBAPP identified by values '3960A527B983671C' using 'CSS';

Database link created.
建立過程一切OK,但是在使用時問題就來了:

SQL> select sysdate from dual@WEBDB;
select sysdate from dual@WEBDB
                         *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kzdlk_zt2 err], [18446744073709551603], [], [], [], [], [], [], [], [], [], []

報了個600的錯誤。Metalink的文章Doc ID 1309705.1,解釋了這一錯誤:
導致這個錯誤的原因就是在建立DBLINK時使用了IDENTIFIED BY VALUES這中形式。改成正常的IDENTIFIED BY該問題就解決了。




ORA-00600: [Kzdlk_zt2 Err] While Selecting Using a Database Link (文件 ID 456320.1)

In this Document

Symptoms
Changes
Cause
Solution


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.2 and later
Information in this document applies to any platform.
***Checked for relevance on 09-Apr-2013*** 
***Checked for relevance on 19-Nov-2014***


SYMPTOMS

An attempt to use a database link fails with ORA-600, arguments: [kzdlk_zt2err]

An example of how this exception can be reproduced:

SQL> create database link MPuat connect to MPWH identified by values '8F35681C5152E6B7' using 'mpuat';

Statement processed.

SQL> select count(*) FROM SC_BASE.TO_DO_HISTORY@MPUAT;

ORA-00600: internal error code, arguments: [kzdlk_zt2 err], [4294967283], [], [], [], [], [], []


The trace file will have the following call stack :

*** 2007-05-03 12:57:44.482
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kzdlk_zt2 err], [4294967283], [], [], [], [], [], []
Current SQL statement for this session:
select count(*) FROM SC_BASE.TO_DO_HISTORY@MPUAT
----- Call Stack Trace -----
_kzdlkdbde
_npigdn0
_npicon0
_kpndbcon
_OCIKDBLinkConn2
_OCIKDBLinkConn
_ddfnet2Normal
_kkmfcbrm
kkmpfcbk
_qcsprfro
_qcsprfro_tree

CHANGES

The database has been recently updated to Oracle 10g and the database link used to work in previous versions.

CAUSE

The exception is caused by the unpublished below :

Bug:5576894 - Abstract: GET ORA-600 [KZDLK_ZT2_ERR] WHEN LINK CREATED WITH 'IDENTIFIED BY VALUES'

From Oracle 10.2, dblink passwords are now stored in a special encrypted form to improve database link security. The "IDENTIFIED BY VALUES" clause is only intended for use by Oracle internal utilities (EXPORT/IMPORT and Datapump), and it's not documented in the Oracle user documentation. 

The only valid value to be passed in the "IDENTIFIED BY VALUES" clause is an encrypted dblink password identifier (note - this is different from the user password identifier stored in the PASSWORD column of USER$). The internal error in this bug is raised when we attempt to access the db link and materialize the plain text password from the encrypted dblink password  identifier - because the value passed to the "IDENTIFIED BY VALUES" clause was not a valid encrypted dblink password identifier we raise an internal error. This is expected behavoiur in this case.

SOLUTION

The only possible fix for this bug is to raise a user error rather than an internal error in this case. This won't make the error go away but it might be more informative to the user, however, seeing as this functionality is only intended to be used by internal Oracle utilities it seems that an internal error may be more appropriate.
Therefore this exception is not a bug.




ORA-600 [kzdlk_zt2 err] (文件 ID 1309705.1)

In this Document

Purpose
Scope
Details
References


APPLIES TO:

Oracle Database - Personal Edition - Version 10.2.0.1 and later
Oracle Database - Standard Edition - Version 10.2.0.1 and later
Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Information in this document applies to any platform.

PURPOSE

Note: For additional ORA-600 related information please read Document 1092832.1

  This article represents a partially published OERI note.

  It has been published because the ORA-600 error has been reported 
  in at least one documented bug and/or confirmed Support Related Article.

  Therefore, the SUGGESTIONS section of this article may help
  in terms of identifying the cause of the error.

  This specific ORA-600 error may be considered for full publication
  at a later date. If/when fully published, additional information 
  will be available here on the nature of this error.


SCOPE

ERROR:
  ORA-600 [kzdlk_zt2 err] [a] 

DETAILS

SUGGESTIONS:

  This error indicates that the wrong syntax has been used to (originally) create a 
  database link being referenced by the current SQL statement.

  Database links are created using the following documented syntax:

      CREATE DATABASE LINK <dblink>
      CONNECT TO <user> IDENTIFIED BY <password>
      USING '<connect_string>';

  The error suggests that when the database link was created, the <password> was
  established using the syntax  IDENTIFIED BY VALUES as compared to the 
  document syntax of IDENTIFIED BY

  Use of IDENTIFIED BY VALUES is reserved for internal Oracle use only.

  While earlier Oracle releases allowed the use of IDENTIFIED BY VALUES, this 
  is not documented as being valid syntax.

  From Oracle release 10gR2, database links must be created using the documented syntax.

  Solution: Recreate the database link using valid syntax.

  If the Known Issues section below does not help in terms of identifying
  a solution, please submit the trace files and alert.log to Oracle 
  Support Services for further analysis.

  Known Issues:







About Me

...............................................................................................................................

本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用

本文在itpubhttp://blog.itpub.net/26736162)、部落格園http://www.cnblogs.com/lhrbest和個人微信公眾號(xiaomaimiaolhr)上有同步更新

本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

本文部落格園地址:http://www.cnblogs.com/lhrbest

本文pdf小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

聯絡我請加QQ好友(646634621),註明新增緣由

2017-03-29 09:00 ~ 2017-03-29 22:00魔都完成

文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。

使用DBLINK查詢時報ORA-00600: internal error code, arguments: [kzdlk_zt2 err]
DBA筆試面試講解
歡迎與我聯絡

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2136281/,如需轉載,請註明出處,否則將追究法律責任。

相關文章