Hi folks,
Well, given Gast is apparently out of the question with 2.6.0 I've
connected to my Oracle database directly from GeoNetwork. Unfortunately
this doesn't seem to work. Prior to this I was running this install with
the mckoi database, but have disabled it now.
The first time I run GeoNetwork, with a new, empty Oracle database, it
does create the table structure but there's absolutely no data in there,
not even the admin account (at least, I'm guessing there's supposed to be
data in the database - for example, I can't login as geonetwork admin, I
get the "null Exception" error). The user does have permission to insert
data (I tested it by manually inserting a row as the same user)
My geonetwork startup log has the following errors from the FIRST timeI
run it with a clean database:
2010-07-27 09:34:19,917 INFO [jeeves.apphand] - - Database connection
on jdbc:oracle:thin:@IP_ADDRESS:1521:gismeta ...
2010-07-27 09:34:19,980 INFO [jeeves.apphand] -
jdbc:oracle:thin:@IP_ADDRESS:1521:gismeta is an empry database (Metadata
table not found).
2010-07-27 09:34:22,757 ERROR [jeeves.engine] - Raised exception while
starting appl handler. Skipped.
2010-07-27 09:34:22,757 ERROR [jeeves.engine] - Handler :
org.fao.geonet.Geonetwork
2010-07-27 09:34:22,757 ERROR [jeeves.engine] - Exception :
java.sql.SQLException: ORA-03290: Invalid truncate command - missing
CLUSTER or TABLE keyword
2010-07-27 09:34:22,757 ERROR [jeeves.engine] - Message : ORA-03290:
Invalid truncate command - missing CLUSTER or TABLE keyword
2010-07-27 09:34:22,772 ERROR [jeeves.engine] - Stack :
java.sql.SQLException: ORA-03290: Invalid truncate command - missing
CLUSTER or TABLE keyword
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)
at jeeves.resources.dbms.Dbms.execute(Dbms.java:263)
at jeeves.resources.dbms.Dbms.execute(Dbms.java:239)
at org.fao.geonet.lib.DbLib.runSQL(DbLib.java:216)
at org.fao.geonet.lib.DbLib.insertData(DbLib.java:182)
at org.fao.geonet.Geonetwork.initDatabase(Geonetwork.java:402)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:137)
at
jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:429)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:148)
at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:74)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:431)
at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:643)
at
org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:523)
at org.mortbay.start.Main.main(Main.java:119)
-----------------
The SECOND time I run geonetwork (or any thereafter) it does find the new
database and attempts a "migration":
2010-07-27 09:41:30,195 INFO [jeeves.apphand] - - Migration ...
2010-07-27 09:41:30,195 DEBUG [jeeves.apphand] - Webapp
version:2.6.0 subversion:RC0
2010-07-27 09:41:30,195 DEBUG [jeeves.apphand] - Database
version:null subversion:null
2010-07-27 09:41:30,195 INFO [jeeves.apphand] - Migrating from null
to 2.6.0 (dbtype:oracle)...
2010-07-27 09:41:30,195 INFO [jeeves.apphand] - No migration task
found between webapp and database version.
The system may be unstable or may failed to start if you try to run
the current GeoNetwork 2.6.0 with an older database (ie. null
). Try to run the migration task manually on the current database
before starting the application or start with a new empty database.
Sample SQL scripts for migration could be found in
WEB-INF/sql/migrate folder.
--------
After that, there's a bunch of gibberish in the log I won't paste here
unless someone wants it. Then there's an error at the bottom of the log
(Different from the first one) saying:
2010-07-27 09:41:32,375 ERROR [jeeves.engine] - Raised exception while
starting appl handler. Skipped.
2010-07-27 09:41:32,375 ERROR [jeeves.engine] - Handler :
org.fao.geonet.Geonetwork
2010-07-27 09:41:32,375 ERROR [jeeves.engine] - Exception :
java.lang.NullPointerException
2010-07-27 09:41:32,375 ERROR [jeeves.engine] - Message : null
2010-07-27 09:41:32,375 ERROR [jeeves.engine] - Stack :
java.lang.NullPointerException
at
org.fao.geonet.kernel.setting.SettingInfo.getLuceneIndexOptimizerSchedulerEnabled(SettingInfo.java:96)
at
org.fao.geonet.kernel.search.SearchManager.<init>(SearchManager.java:221)
at org.fao.geonet.Geonetwork.start(Geonetwork.java:212)
at
jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:429)
at jeeves.server.JeevesEngine.init(JeevesEngine.java:148)
at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:74)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:431)
at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:643)
at
org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:523)
at org.mortbay.start.Main.main(Main.java:119)
-----
Can someone tell me what's going on here? How do I get GeoNetwork 2.6.0 to
work properly with a Oracle database?
Software: Oracle 10.2.0.4, GeoNetwork 2.6.0RC0, JRE 1.6.20, JDK 1.6.21
Thanks,
Jonathan
This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.