You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "David Sitsky (JIRA)" <ji...@apache.org> on 2014/03/13 01:45:44 UTC

[jira] [Commented] (DERBY-5371) Database fails to boot, complaining that the getProcedureColumns() system procedure already exists

    [ https://issues.apache.org/jira/browse/DERBY-5371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932705#comment-13932705 ] 

David Sitsky commented on DERBY-5371:
-------------------------------------

As an aside, I had a customer who was also hit by this problem on an old database, with the same error that Andreas reported.
{noformat}
Caused by: java.sql.SQLException: Statement 'getUDTs' already exists in Schema 'SYS'.
{noformat}
Running the command:
{noformat}
values syscs_util.syscs_get_database_property( 'DataDictionaryVersion' )
{noformat}
returned 10.5.
I used the same trick of loading fresh c230.dat, c241.dat and c251.dat files in order to get the database to boot.

> Database fails to boot, complaining that the getProcedureColumns() system procedure already exists
> --------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5371
>                 URL: https://issues.apache.org/jira/browse/DERBY-5371
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.8.1.2
>         Environment: Linux ubuntu. Java  runtime Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
>            Reporter: Rick Hillegas
>              Labels: derby_triage10_9
>         Attachments: derby-5371-patch.tar, ess_Prism.zip
>
>
> Database boot fails while trying to create system procedures. This was reported on derby-dev by Mani Afschar Yazdi: http://mail-archives.apache.org/mod_mbox/db-derby-dev/201108.mbox/%3C803C999D-9943-422F-ACD8-D1E18644634C@jq-consulting.de%3E Mani reports the following:
> Hello,
> I use Derby extensivly and I have a problem with the attached  
> database. DB name is ess_Prism, driver is embedded or net, both have  
> the same behavoir. I use Apache Derby Network Server 10.8.1.2 -  
> (1095077) in Client/Server mode. It runs on Linux ubuntu. Java  
> runtime Java(TM) SE Runtime Environment (build 1.6.0_14-b08).
> I set up the database many times by creating a new one and inserting  
> the values. It works for the first few days, after a while this  
> strange error occurs (I added some more lines before the exception to  
> see what happened before):
> Fri Jul 29 00:00:48 CEST 2011:
> Booten von Derby Version The Apache Software Foundation - Apache Derby - 10.8.1.2 - (1095077): Instanz 361e1010-0131-7290-3e0d-000071c3e7f1
> für Datenbankverzeichnis /var/derby/ess_Orca0   mit Klassenladeprogrammn sun.misc.Launcher$AppClassLoader@7d772e
> java.vendor=Sun Microsystems Inc.
> java.runtime.version=1.6.0_14-b08
> user.dir=/var/derby
> derby.system.home=/var/derby
> Das Ladeprogramm für Datenbankklassen wurde gestartet - derby.database.classpath=''
> ----------------------------------------------------------------
> Fri Jul 29 00:00:51 CEST 2011:
> Booten von Derby Version The Apache Software Foundation - Apache Derby - 10.8.1.2 - (1095077): Instanz 362d905d-0131-7290-3e0d-000071c3e7f1
> für Datenbankverzeichnis /var/derby/ess_winmm   mit Klassenladeprogrammn sun.misc.Launcher$AppClassLoader@7d772e
> java.vendor=Sun Microsystems Inc.
> java.runtime.version=1.6.0_14-b08
> user.dir=/var/derby
> derby.system.home=/var/derby
> Das Ladeprogramm für Datenbankklassen wurde gestartet - derby.database.classpath=''
> ----------------------------------------------------------------
> Fri Jul 29 00:00:54 CEST 2011:
> Booten von Derby Version The Apache Software Foundation - Apache Derby - 10.8.1.2 - (1095077): Instanz 36e4d0a3-0131-7290-3e0d-000071c3e7f1
> für Datenbankverzeichnis /var/derby/ess_Prism   mit Klassenladeprogrammn sun.misc.Launcher$AppClassLoader@7d772e
> java.vendor=Sun Microsystems Inc.
> java.runtime.version=1.6.0_14-b08
> user.dir=/var/derby
> derby.system.home=/var/derby
> Das Ladeprogramm für Datenbankklassen wurde gestartet - derby.database.classpath=''
> WARNUNG: Beim Löschen einer Zeile aus einer Tabelle wurde die Indexzeile für die Zeile (18,13) der Basistabelle im Index mit der Konglomerat-ID 593 nicht gefunden. Dieser Fehler wurde automatisch im Rahmen der Löschoperation behoben.
> ----------------------------------------------------------------
> Fri Jul 29 00:00:55 CEST 2011:
> Die Instanz 36e4d0a3-0131-7290-3e0d-000071c3e7f1 mit Klassenladeprogrammn /var/derby/ess_Prism wird heruntergefahren
> Fri Jul 29 00:00:55 CEST 2011 Thread[DRDAConnThread_16,5,main] Cleanup action starting
> java.sql.SQLException: Die Datenbank 'ess_Prism' konnte nicht mit dem Klassenladeprogramm sun.misc.Launcher$AppClassLoader@7d772e gestartet werden. Details können Sie der nächsten Ausnahme entnehmen.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
>         at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>         at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Caused by: java.sql.SQLException: Die Datenbank 'ess_Prism' konnte nicht mit dem Klassenladeprogramm sun.misc.Launcher$AppClassLoader@7d772e gestartet werden. Details können Sie der nächsten Ausnahme entnehmen.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
>         ... 17 more
> Caused by: java.sql.SQLException: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>         ... 14 more
> Caused by: ERROR X0Y32: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
>         at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
>         ... 14 more
> ============= begin nested exception, level (1) ===========
> java.sql.SQLException: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
>         at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>         at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Caused by: java.sql.SQLException: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
>         ... 16 more
> Caused by: ERROR X0Y32: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
>         at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
>         ... 14 more
> ============= end nested exception, level (1) ===========
> ============= begin nested exception, level (2) ===========
> java.sql.SQLException: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
>         at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>         at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Caused by: ERROR X0Y32: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
>         at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
>         ... 14 more
> ============= end nested exception, level (2) ===========
> ============= begin nested exception, level (3) ===========
> ERROR X0Y32: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
> ERROR X0Y32: Statement 'getProcedureColumns' ist bereits in Schema 'SYS' vorhanden.
>         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
>         at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
>         at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>         at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
>         at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> ============= end nested exception, level (3) ===========



--
This message was sent by Atlassian JIRA
(v6.2#6252)