[GeoNetwork-users] org.h2.jdbc.JdbcBatchUpdateException: The database is read only;

Hi all,

I have a very small GN installation (not docker, geonetwork-bundle-4.2.5-0)
that works fine, but now I need to move it to a different server.

I copied over all the necessary bits (I think) and I'm able to open GN on
the new server and it mostly works: there are a few things that do not work
but the main problem is that on the new server I cannot write any change.

From what I have understood of my install is that at least some time of

changes are written to

gn.mv.db

which I moved to the new server in the same location, but despite
permissions be identical nothing is written there and in catalina.out I can
see the message

org.h2.jdbc.JdbcBatchUpdateException: The database is read only;

Any hint about how to fix this?

Thanks in advance

-- G --

Hi all,

On Wed, Mar 6, 2024 at 6:24 PM Giovanni Manghi <giovanni.manghi@anonymised.com54...>
wrote:

Hi all,

I have a very small GN installation (not docker,
geonetwork-bundle-4.2.5-0) that works fine, but now I need to move it to a
different server.

Answering to myself, I found the solution reading this

https://stackoverflow.com/a/56835997

The problem is that the bundle I used to deploy GN wants to write in a
folder

/var/lib/tomcat9

which is not writeable by default by tomcat (nor exists in the first
place). I have not found any reference about this in GN docs, but I may
have overlooked something.

cheers

-- G --

Add the following environment variable to Tomcat.

GEONETWORK_DB_NAME=/path/to/db/db_name

Where /path/to/db is the directory where you want to place the H2 database and db_name is the database name (default value is gn).

Depending on your distributions there are some options to define the variable.

You could:

* Option 1:create a setenv.sh file next to $TOMCAT_HOME/bin/catalina.sh and define the var there.

* Option 2: edit /etc/default/tomcat${TOMCAT_VERSION} (/etc/default/tomcat8 for example) and add the variable there

* Option 3: if using systemd to run Tomcat as a service create a user unit for it and define the variable there.

You can check https://www.geocat.net/docs/geonetwork-enterprise/2023/install/tomcat.html#__tabbed_1_3 for more info.

Best regards,

Juan Luis.

https://www.geocat.net

Juan Luis Rodriguez Ponce

E-mail: juanluisrp@anonymised.com

https://www.geocat.net

Veenderweg 13

6721 WD Bennekom

The Netherlands

Tel: +31318416664

#

---- On Thu, 14 Mar 2024 14:10:26 +0100 Giovanni Manghi via GeoNetwork-users <geonetwork-users@lists.sourceforge.net> wrote ---

Hi all,

On Wed, Mar 6, 2024 at 6:24 PM Giovanni Manghi <mailto:giovanni.manghi@anonymised.com>
wrote:

Hi all,

I have a very small GN installation (not docker,
geonetwork-bundle-4.2.5-0) that works fine, but now I need to move it to a
different server.

Answering to myself, I found the solution reading this

https://stackoverflow.com/a/56835997

The problem is that the bundle I used to deploy GN wants to write in a
folder

/var/lib/tomcat9

which is not writeable by default by tomcat (nor exists in the first
place). I have not found any reference about this in GN docs, but I may
have overlooked something.

cheers

-- G --

_______________________________________________
GeoNetwork-users mailing list
mailto:GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork