Hallo zusammen,
wir betreiben ReportServer Entreprise Edition seit letztem Jahr bisher auf einem bitnami-Image.
Ich wollte den Server jetzt auf eine andere Maschine umziehen und scheitere an der Datenbankstruktur.
Fehlerbeschreibung:
Nach Start des Tomcat (Tomcat 9) bricht der Start der ReportServer-Webapp mit folgender Meldung ab (aus Log catalina.out):
[2022-04-16 10:29:54] [info] Deploying web application directory [/var/lib/tomcat9/webapps/reportserver]
[2022-04-16 10:30:04] [info] At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[2022-04-16 10:30:05] [info] 10:30:05.148 INFO n.datenwerke.rs.EnvironmentValidator -
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] _____ _ _____ ______ _ _
[2022-04-16 10:30:05] [info] | __ \ | | / ____| | ____| | | (_)
[2022-04-16 10:30:05] [info] | |__) |___ _ __ ___ _ __| |_| (___ ___ _ ____ _____ _ __ | |__ _ __ | |_ ___ _ __ _ __ _ __ _ ___ ___
[2022-04-16 10:30:05] [info] | _ // _ \ '_ \ / _ \| '__| __|\___ \ / _ \ '__\ \ / / _ \ '__| | __| | '_ \| __/ _ \ '__| '_ \| '__| / __|/ _ \
[2022-04-16 10:30:05] [info] | | \ \ __/ |_) | (_) | | | |_ ____) | __/ | \ V / __/ | | |____| | | | || __/ | | |_) | | | \__ \ __/
[2022-04-16 10:30:05] [info] |_| \_\___| .__/ \___/|_| \__|_____/ \___|_| \_/ \___|_| |______|_| |_|\__\___|_| | .__/|_| |_|___/\___|
[2022-04-16 10:30:05] [info] | | | |
[2022-04-16 10:30:05] [info] |_| |_|
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] Version: RS4.1.0-6059 2022-04-08-13-30-34
[2022-04-16 10:30:05] [info] Code Version: 2022-04-01-13-05-34
[2022-04-16 10:30:05] [info] Java Version: Debian OpenJDK 64-Bit Server VM 11.0.14+9-post-Debian-1deb10u1 (11)
[2022-04-16 10:30:05] [info] VM Args: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Drs.configdir=/opt/reportserver/ -Dfile.encoding=UTF8 --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED -Djavax.net.ssl.trustStoreType=JKS -Xms512M -Xmx2048M -Dignore.endorsed.dirs= -Dcatalina.base=/var/lib/tomcat9 -Dcatalina.home=/usr/share/tomcat9 -Djava.io.tmpdir=/tmp
[2022-04-16 10:30:05] [info] rs.configdir: /opt/reportserver (OK)
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] ### DB Config ###
[2022-04-16 10:30:05] [info] hibernate.dialect: net.datenwerke.rs.utils.hibernate.MariaDbDialect (OK)
[2022-04-16 10:30:05] [info] hibernate.connection.driver_class: org.mariadb.jdbc.Driver (OK)
[2022-04-16 10:30:05] [info] hibernate.connection.url: jdbc:mariadb://localhost:3306/bitnami_reportserver (OK)
[2022-04-16 10:30:05] [info] hibernate.connection.username: bn_reportserver
[2022-04-16 10:30:05] [info] hibernate.connection.password: **********
[2022-04-16 10:30:05] [info] hibernate.default_schema:
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] Connection Test: OK
[2022-04-16 10:30:05] [info] Schema Version: RS3.0-22
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] ### Internal datasource metadata ###
[2022-04-16 10:30:05] [info] Database name: MariaDB
[2022-04-16 10:30:05] [info] Database version: 10.3.34-MariaDB-0+deb10u1
[2022-04-16 10:30:05] [info] Driver name: MariaDB Connector/J
[2022-04-16 10:30:05] [info] Driver version: 2.7.4
[2022-04-16 10:30:05] [info] JDBC major version: 4
[2022-04-16 10:30:05] [info] JDBC minor version: 2
[2022-04-16 10:30:05] [info] JDBC URL: jdbc:mariadb://localhost:3306/bitnami_reportserver
[2022-04-16 10:30:05] [info] JDBC username: bn_reportserver
[2022-04-16 10:30:05] [info] #015
[2022-04-16 10:30:05] [info] 10:30:05.153 INFO n.datenwerke.rs.EnvironmentValidator - Validating database schema...
[2022-04-16 10:30:07] [info] 10:30:07.987 ERROR n.datenwerke.rs.EnvironmentValidator - Schema-validation: missing table [RS_ACE]
[2022-04-16 10:30:07] [info] 10:30:07.989 ERROR n.d.rs.ReportServerServiceConfig - ReportServer encountered an error while validating its environment. Startup interrupted.
[2022-04-16 10:30:08] [info] Deployment of web application directory [/var/lib/tomcat9/webapps/reportserver] has finished in [14,256] ms
Dies ist die Meldung nach einer frischen Installation von Version 4.1.0 und nach Ausführung des Scripts reportserver-RS4.1.0-6059-schema-MySQL5_CREATE.sql aus dem Verzeichnis ddl.
Betriebssystem ist Debian 10, Datenbank ist MariaDB 10.4.
Ziel ist die Migration des Servers auf dem Bitnami-Abbild. Dieser lief noch in Version 3.7; ich hatte zuerst alle Dateien aus dem Webapp-Verzeichnis gepackt und auf den Zielserver gelegt und die Datenbank (dort ist es MariaDB 10.3) hinübergespielt. Dies lief auch nicht; hier kam zunächst der Fehler, dass die Tabelle RS_SCHEMAINFO nicht gefunden wird. Mir war aufgefallen, dass im Dump von dem Bitnami-Abbild alle Tabellennamen kleingeschrieben sind; nach Umbenennen der Tabelle rs_schemainfo in RS_SCHEMAINFO kam dieser Fehler nicht mehr, dafür der oben gezeigte. Interessanterweise schafft aber ein Umbenennen der rs_ace in RS_ACE keine Abhilfe.
Aufgrund dieses Beitrags habe ich in der my.cnf diese Variable gesetzt:
lower_case_table_names = 1
Dies ist auch im Bitnami-Abbild so eingestellt. Dann funktioniert der ReportServer mit der Datenbank-Sicherung, aber alle anderen Datenbanken, die auf dem Zielserver laufen (hier laufen auch andere Applikationen) arbeiten dann natürlich nicht mehr richtig; tatsächlich greift der ReportServer auch auf diese Datenbanken zu, was dann auch fehlschlägt, da natürlich alles unter Beachtung von Groß- und Kleinschreibung definiert ist.
Ich habe verschiedene Varianten versucht, etwa:
- Version 3.7 gesichert und auf den Zielserver gespielt
- Update des Quellservers auf ReportServer 4.1.0, Neuinstallation von 4.1.0 auf dem Zielserver, dann erst Import der gesicherten Datenbank/
- Alle Tabellen in der Sicherung der Quelldatenbank in Großbuchstaben umbenannt
- nach Import der Quelldatenbank reportserver-RS4.1.0-6059-schema-MySQL5_DROP.sql ausgeführt und anschliessend reportserver-RS4.1.0-6059-schema-MySQL5_CREATE.sql
Meine Einstellungen zur Datenbank in der persistence.properties (Credentials sind natürlich auch hinterlegt, Connect klappt ja auch):
# MariaDb
hibernate.dialect=net.datenwerke.rs.utils.hibernate.MariaDbDialect
hibernate.connection.driver_class=org.mariadb.jdbc.Driver
hibernate.connection.url=jdbc:mariadb://localhost:3306/bitnami_reportserver
Ich weiß nicht, was ich noch tun könnte und bitte um Hilfe. Falls noch Informationen oder Log-Einträge benötigt werden, lasst es mich wissen.
Vielen Dank im voraus!
Schöne Ostertage,
Nicole Cochems



