Search Knowledge Base and Documentation

Unknown macro: {kbsearch}

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In some cases the internal database can become corrupt and prevent use of the iSymphony application. Users will normally see errors like the following when accessing the panel:

Info

The error may vary slightly from the example below.

Code Block
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowcount remaining=5 SYS" [50000-169]
### The error may exist in com/xmlnamespace/panel/server/core/pbx/callhistory/CallHistoryMapper.xml
### The error may involve com.xmlnamespace.panel.server.core.pbx.callhistory.CallHistoryMapper.getByExtension
### The error occurred while executing a query
### Cause: org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowcount remaining=5 SYS" [50000-169]

Repair Process

In order to recover your data, you will need to run a repair process on the database. The repair process is outlined below:

  1. Stop the iSymphony server. See Starting And Stopping The iSymphony Server.
  2. Create a temporary directory to perform the recovery.

    Code Block
    languagebash
    mkdir isdbrecovery
    cd isdbrecovery
    Note

    Do not create this directory anywhere inside the /opt/isymphony3 directory.

  3. Copy the h2 database jar into the recovery directory:

    Code Block
    languagebash
    cp /opt/isymphony3/server/modules/framework/shared/org.h2_1.3.169.jar .
  4. Copy the database file into the recovery directory:

    Code Block
    languagebash
    cp /opt/isymphony3/server/conf/servers/default/isymphony.h2.db .
    Info

    If you have Core Servers other than default you will need to replace default with the slug of the core server you are repairing the database for.

  5. Run the following command to export the database to an sql file:

    Code Block
    languagebash
    java -cp org.h2_1.3.169.jar org.h2.tools.Recover
  6. Create a sub directory to hold the old database:

    Code Block
    languagebash
    mkdir old
    mv isymphony.h2.db ./old
  7. Run the following command to create a new database from the sql file:

    Code Block
    languagebash
    java -cp org.h2_1.3.169.jar org.h2.tools.RunScript -url "jdbc:h2:./isymphony" -user admin -password admin -script isymphony.h2.sql
  8. Move the new database into place:

    Code Block
    languagebash
    mv isymphony.h2.db /opt/isymphony3/server/conf/servers/default/
    Info

    If you have Core Servers other than default you will need to replace default with the slug of the core server you are repairing the database for.

  9. Restart iSymphony. See Starting And Stopping The iSymphony Server.