WSO2 API Manager 1.6文件损坏错误

时间:2014-04-15 15:31:39

标签: wso2

我使用API​​ Manager 1.6。 我创建了角色,用户,发布API等。并且工作正常。 当我重新启动服务器时显示此错误。 有什么想法吗?

org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "958 of 958". Possible solution: use the recovery tool [90030-140]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.store.PageStore.readPage(PageStore.java:1094)
        at org.h2.store.PageStore.getPage(PageStore.java:561)
        at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:218)
        at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:221)
        at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:74)
        at org.h2.table.RegularTable.<init>(RegularTable.java:75)
        at org.h2.store.PageStore.addMeta(PageStore.java:1443)
        at org.h2.store.PageStore.readMetaData(PageStore.java:1380)
        at org.h2.store.PageStore.recover(PageStore.java:1178)
        at org.h2.store.PageStore.openExisting(PageStore.java:317)
        at org.h2.store.PageStore.open(PageStore.java:271)
        at org.h2.engine.Database.getPageStore(Database.java:2059)
        at org.h2.engine.Database.open(Database.java:534)
        at org.h2.engine.Database.openDatabase(Database.java:207)
        at org.h2.engine.Database.<init>(Database.java:202)
        at org.h2.engine.Engine.openSession(Engine.java:56)
        at org.h2.engine.Engine.openSession(Engine.java:146)
        at org.h2.engine.Engine.getSession(Engine.java:125)
        at org.h2.engine.Session.createSession(Session.java:122)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:241)
        at org.h2.engine.SessionRemote.createSession(SessionRemote.java:219)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
        at org.h2.Driver.connect(Driver.java:73)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
        at org.wso2.carbon.user.core.claim.dao.ClaimDAO.getDialectCount(ClaimDAO.java:158)
        at org.wso2.carbon.user.core.common.DefaultRealm.populateProfileAndClaimMaps(DefaultRealm.java:411)
        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:223)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:114)
        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:69)
        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
        at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
[2014-04-15 17:26:35,660] ERROR - DefaultRealmService Cannot initialize the realm.
org.wso2.carbon.user.core.UserStoreException: Database Error - File corrupted while reading record: "958 of 958". Possible solution: use the recovery tool [90030-140]
        at org.wso2.carbon.user.core.claim.dao.ClaimDAO.getDialectCount(ClaimDAO.java:168)
        at org.wso2.carbon.user.core.common.DefaultRealm.populateProfileAndClaimMaps(DefaultRealm.java:411)
        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:223)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:114)
        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:69)
        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
        at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "958 of 958". Possible solution: use the recovery tool [90030-140]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.store.PageStore.readPage(PageStore.java:1094)
        at org.h2.store.PageStore.getPage(PageStore.java:561)
        at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:218)
        at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:221)
        at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:74)
        at org.h2.table.RegularTable.<init>(RegularTable.java:75)
        at org.h2.store.PageStore.addMeta(PageStore.java:1443)
        at org.h2.store.PageStore.readMetaData(PageStore.java:1380)
        at org.h2.store.PageStore.recover(PageStore.java:1178)
        at org.h2.store.PageStore.openExisting(PageStore.java:317)
        at org.h2.store.PageStore.open(PageStore.java:271)
        at org.h2.engine.Database.getPageStore(Database.java:2059)
        at org.h2.engine.Database.open(Database.java:534)
        at org.h2.engine.Database.openDatabase(Database.java:207)
        at org.h2.engine.Database.<init>(Database.java:202)
        at org.h2.engine.Engine.openSession(Engine.java:56)
        at org.h2.engine.Engine.openSession(Engine.java:146)
        at org.h2.engine.Engine.getSession(Engine.java:125)
        at org.h2.engine.Session.createSession(Session.java:122)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:241)
        at org.h2.engine.SessionRemote.createSession(SessionRemote.java:219)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
        at org.h2.Driver.connect(Driver.java:73)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
        at org.wso2.carbon.user.core.claim.dao.ClaimDAO.getDialectCount(ClaimDAO.java:158)
        ... 22 more
[2014-04-15 17:26:35,666] ERROR - Activator Cannot start User Manager Core bundle
org.wso2.carbon.user.core.UserStoreException: Cannot initialize the realm.
        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:231)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:114)
        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:69)
        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
        at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
        at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: org.wso2.carbon.user.core.UserStoreException: Database Error - File corrupted while reading record: "958 of 958". Possible solution: use the recovery tool [90030-140]
        at org.wso2.carbon.user.core.claim.dao.ClaimDAO.getDialectCount(ClaimDAO.java:168)
        at org.wso2.carbon.user.core.common.DefaultRealm.populateProfileAndClaimMaps(DefaultRealm.java:411)
        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:101)
        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:223)
        ... 19 more
Caused by: org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "958 of 958". Possible solution: use the recovery tool [90030-140]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.store.PageStore.readPage(PageStore.java:1094)
        at org.h2.store.PageStore.getPage(PageStore.java:561)
        at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:218)
        at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:221)
        at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:74)
        at org.h2.table.RegularTable.<init>(RegularTable.java:75)
        at org.h2.store.PageStore.addMeta(PageStore.java:1443)
        at org.h2.store.PageStore.readMetaData(PageStore.java:1380)
        at org.h2.store.PageStore.recover(PageStore.java:1178)
        at org.h2.store.PageStore.openExisting(PageStore.java:317)
        at org.h2.store.PageStore.open(PageStore.java:271)
        at org.h2.engine.Database.getPageStore(Database.java:2059)
        at org.h2.engine.Database.open(Database.java:534)
        at org.h2.engine.Database.openDatabase(Database.java:207)
        at org.h2.engine.Database.<init>(Database.java:202)
        at org.h2.engine.Engine.openSession(Engine.java:56)
        at org.h2.engine.Engine.openSession(Engine.java:146)
        at org.h2.engine.Engine.getSession(Engine.java:125)
        at org.h2.engine.Session.createSession(Session.java:122)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:241)
        at org.h2.engine.SessionRemote.createSession(SessionRemote.java:219)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
        at org.h2.Driver.connect(Driver.java:73)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
        at org.wso2.carbon.user.core.claim.dao.ClaimDAO.getDialectCount(ClaimDAO.java:158)
        ... 22 more
[2014-04-15 17:26:45,468]  INFO - TaglibUriRule TLD skipped. URI: http://tiles.apache.org/tags-tiles is already defined
./wso2server.sh: line 298:  2110 Killed                  $JAVACMD -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" -Xms512m -Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" $JAVA_OPTS -Dcom.sun.management.jmxremote -classpath "$CARBON_CLASSPATH" -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -Djava.io.tmpdir="$CARBON_HOME/tmp" -Dcatalina.base="$CARBON_HOME/lib/tomcat" -Dwso2.server.standalone=true -Dcarbon.registry.root=/ -Djava.command="$JAVACMD" -Dcarbon.home="$CARBON_HOME" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="$CARBON_HOME/repository/conf/etc/logging-bridge.properties" -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" -Dconf.location="$CARBON_HOME/repository/conf" -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" -Dcom.atomikos.icatch.hide_init_file_path=true -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dcom.sun.jndi.ldap.connect.pool.authentication=simple -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 -Dorg.terracotta.quartz.skipUpdateCheck=true -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF8 -DapplyPatches org.wso2.carbon.bootstrap.Bootstrap $*

1 个答案:

答案 0 :(得分:2)

您的本地H2数据库出现文件损坏错误。

WSO2不建议使用H2数据库。

通常建议使用&#34;生产就绪&#34; WSO2 API Manager数据源,用户存储和注册表的数据库。

对于注册表安装,您可以将H2用于本地存储库。但是,您不应该将H2数据库用于Config和Governance存储库。

有关详细信息,请参阅WSO2 API Manager Clustering and Deployment Guide

您可以使用wso2server.sh -Dsetup重新创建数据库。但我认为这不是您需要的,因为它会清理您的数据。我认为你应该使用另一个数据库来避免这些错误。

我希望这会有所帮助。