ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用DBLINK查询时报ORA-00600: internal error code, arguments: [kzdlk_zt2 err]

2021-04-11 12:58:01  阅读:282  来源: 互联网

标签:00600 err database IDENTIFIED code error Oracle internal ORA



使用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:  



标签:00600,err,database,IDENTIFIED,code,error,Oracle,internal,ORA
来源: https://blog.51cto.com/lhrbest/2698791

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有