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 >
点击(此处)折叠或打开
- create public database link dblink_ogg1
- connect to lhr identified by lhr
- using '(DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.129)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = ogg1)
- )
- )';
-
-
- create public database link DBLINK_OGG1
- connect to LHR identified by lhr
- using 'OGG1';
-
-
- SELECT NB.PASSWORD FROM sys.USER$ NB WHERE NB.NAME = 'SYS';
-
- --ORA-00600: internal error code, arguments: [kzdlk_zt2 err],
- create public database link DBLINK_OGG1
- connect to LHR identified by values '72979A94BAD2AF80'
- using 'OGG1';
-
-
- CREATE DATABASE LINK DBLINK_OGG1
- CONNECT TO CURRENT_USER
- USING 'remote';
-
-
-
- CREATE DATABASE LINK DBLINK_OGG1
- 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 laterInformation 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:
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 :
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 laterOracle 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.1This 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
...............................................................................................................................
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 本文在itpub(http://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群,学习最实用的数据库技术。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2136281/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26736162/viewspace-2136281/
当尝试使用DBLINK查询时遇到ORA-00600错误,此问题可能由于在Oracle 10g中数据库链接密码的加密方式改变导致。'IDENTIFIED BY VALUES'子句仅用于内部Oracle工具,错误使用可能导致该内部错误。解决方案并不涉及修复,而是提高错误信息的用户友好性。




1724

被折叠的 条评论
为什么被折叠?



