Quantcast
Channel: Andrew's Oracle Blog
Viewing all articles
Browse latest Browse all 330

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

$
0
0
This example is based on an error which a colleague showed me recently. I logged into an Oracle 11.1 database, reset its SYSTEM password and checked the encrypted value: 

Oracle11 > sqlplus / as sysdba
 
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Feb 4 18:10:38 2015
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> select name from v$database
  2  /
 
NAME
---------
PQEDPT1
 
SQL> alter user system
  2  identified by manager
  3  /
 
User altered.
 
SQL> select password from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
D4DF7931AB130E37
 
SQL>

I then logged into an Oracle 11.2 database, created a link to the database above, tried to use it and saw an error:

Oracle11 > sqlplus system/manager
 
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 4 18:13:39 2015
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> select name from v$database
  2  /
 
NAME
---------
BUSDPT1
 
SQL> create database link andrew
  2  connect to system
  3  identified by values 'D4DF7931AB130E37'
  4  using 'PQEDPT1'
  5  /
 
Database link created.
 
SQL> select * from dual@andrew
  2  /
select * from dual@andrew
                   *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kzdlk_zt2 err],
[18446744073709551603], [], [], [], [], [], [], [], [], [], []
 
SQL>

I did some research and it seems that the identified by values syntax above is an undocumented feature. I altered the database link, supplying the unencrypted value, and it worked:

SQL> alter database link andrew
  2  connect to system
  3  identified by manager
  4  /
alter database link andrew
                    *
ERROR at line 1:
ORA-01031: insufficient privileges
 
SQL> grant alter database link to system
  2  /
 
Grant succeeded.
 
SQL> alter database link andrew
  2  connect to system
  3  identified by manager
  4  /
 
Database link altered.
 
SQL> select * from dual@andrew
  2  /
 
D
-
X
 
SQL>

So, if you are creating a new database link, you need to do it like this:

SQL> drop database link andrew
  2  /
 
Database link dropped.
 
SQL> create database link andrew
  2  connect to system
  3  identified by manager
  4  using 'PQEDPT1'
  5  /
 
Database link created.
 
SQL> select * from dual@andrew
  2  /
 
D
-
X

Viewing all articles
Browse latest Browse all 330

Trending Articles