DHIS2 patch release 2.33.1 is now available

Hi @AhmadQais,

Upgrading is unfortunately not as simple as replacing the war file. You need to read the upgrade notes for all of the versions above the one you are on, up to the target version. These provide information about new requirements or changes that you need to be aware of.
Prior to 2.31 they also contained upgrade scripts to be run on the database. In later versions the war file contains these upgrades and they are applied automatically. If they fail, the database is left unchanged and the system fails to start. I think that is the behaviour you are seeing.

Once you have followed the upgrade notes, you should be able to run your upgraded system. If you have problems at that point you may have to share the errors from your tomcat logs in order for us to help you out.

I hope that helps to point you in the right direction.

Kind regards,
Phil

I checked upgrade notes and didnt understand because there is no screenshot or easy instructions to follow, is it possible to share files which already changed to update it like configuration file and etc.
or having any video for upgrade.

HI @AhmadQais, is your 2.29 database still pretty empty? If so, I would not try to upgrade, but start directly with another empty database linked to 2.33, so you don’t have to worry about upgrade steps for now. An important difference from 2.29 which still applies is that you must make sure the empty database is PostGIS-enabled.

@AhmadQais I agree with Knut. If you can, better to start fresh at 2.33 if you can. Let us know if you need help exporting metadata/ and datavalues

Hello,
The New Installation issue solved successfully with the below configuration and to change the “max_locks_per_transaction to 2048” as well as to set environment variables properly:
-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=1024m

DHIS2 version: 2.32
Postgres: 12.1
Tomcat: 9.0.30
JDK-13.0.1
http://dhis2trainingland.com/eportal/dhis2-setup.zip

Thank you @Knut_Staring and @chase.freeman & Special Thanks from @julhas who helped me in installing new Version 2.23.4

but now I am facing with another issue and its that when I restore data from the old database or link OLD Database with DHIS the software stop working again, I think there is a Query or any other method for that, please help me with steps ( Windows Server)

Best Regards;
Ahmad Qais Naseer

@chase.freeman colud you please help me in importing data from old database without any issue and write steps for me ( Windows)

@AhmadQais I don’t know the process for windows, but as @Knut_Staring mentioned there are some updates you need to make to postgres to make sure it is PostGIS-enabled. I do not have resources for that but perhaps there is more info here in the CoP but certainly online.

What @Knut_Staring and I recommended was starting with a fresh database and then exporting the data and metadata to that instance via the import/export app within DHIS2. Taking that approach would circumvent the internal DB issues. This was the recommended approach depending only on if you didn’t have tons of historic data.

It may help us to better understand the context of your configuration and feasibility of the outlined approach if you share a screenshot from DHIS2’s Data Administration > Data Statistics app.

So the old database is 2.29? Unfortunately, you may have to take it step by step, i.e. start that database with 2.30, then 2.31, 2.32 and finally 2.33. It is possible that some of these can be skipped since we are now using Flyway, but not the first one.

And for that first step, you need to first run this script in the 2.29 database.

So as @Phil said, you need to read the upgrade notes. The good news is that usually most of the notes are mainly informative, and there are few steps needed.

Hello @kunt Staring ,
when i run that script i am getting following error:
ERROR: unterminated dollar-quoted string at or near “$$
declare
chars text [] := ‘{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}’;
result text := chars [11 + random() * (array_length(chars, 1) - 11)];
begin
for i in 1…10 loop
result := result || chars [1 + random() * (array_length(chars, 1) - 1)];
end loop;
return result;”
LINE 3: $$
^
SQL state: 42601
Character: 61

The Old DHIS2 Version was 2.29 and New Version is 2.32.4 and i am using Postgresql 12

Best Regards;
Ahmad Qais

yes PostGIS is enabled

1 Like

Probably my linking was not successful. Try to copy the full script from here:
https://raw.githubusercontent.com/dhis2/dhis2-releases/master/releases/2.30/upgrade-230.sql

And if you have any SQL views, please drop them before firing up Tomcat with 2.30. Apps > Data administration > Maintenance > Drop SQL views

Hi,

Firstly, you always need to deploy the upgrade script and then start up when upgrading from 2.29 or earlier - so always step by step. If you get a two-step error during startup of 2.30, look here:

But from 2.31 onwards, you no longer have to go step by step. Flyway - assuming it is correctly configured - will implement all data model changes and value updates in a step-wise fashion.

You will probably also have to set e.g. some parameters in e.g. postgresql.conf, server.xml etc - see implementer manual for details.

Secondly, @AhmadQais, your system have IMHO too little ram and far too many max_locks_per_connection. I use 96 for the latter, 12G for the initial pool and 16GB for the max pool and 4GB thread stack. That’s on a 32GB laptop.

I’ve had some language issues, so add to your java options:
-Dfile.encoding=UTF8
Otherwise windows might suddenly treat UTF8 as a windows code page (cannot remember the number).

Best regards
Calle

Hello Calle,
There is 100 pages manual and there is not limited to upgrade from 2.29 to 2.32 or higher
i have 16 GB RAM in server.
I think its for all who facing with same issue if you write with stepts what to do in which file to resplve the issue.
I think its better to have 4-5 pages instead of 100 pages.

Can you help me in that.

Best Regards;
Ahmad Qais

Hello Kunt,
I run the query all at once and in parts its giving error.
ERROR: column “a_is_to_b” of relation “relationshiptype” does not exist
SQL state: 42703
I didnt found a step by step manual on the community for an upgrade, only one good manual found which @julhas provided for installation.
Can you help me in solving the issue?

Best Regards;
Ahmad Qais

What kind of data do you need to bring with you from 2.29? If you dont have Tracker data with relationships, you can try and remove the reference to relationshiptype. In general, do you have a lot of data already or would it be feasible to NOT do this upgrade and start again in 2.33? Or if you can share a dump of your data I could possibly give it a try.

Hi @AhmadQais,

From that error it looks to me like you tried to run the 2.30 upgrade script more than once. Could that be the case?

Providing a step-by-step guide is not so simple, because many people use slightly different set-ups, and it is impossible to accommodate all. The upgrade notes that we provide with each release should provide enough information to get you from one version to the next.

In your case, going from 2.29 to 2.33:

(Before any upgrade, ensure you have a backup of the database.)

  1. Follow the 2.30 upgrade notes: dhis2-releases/releases/2.30/README.md at master · dhis2/dhis2-releases · GitHub, in particular
  • stop your 2.29 instance
  • run the upgrade script once on your original 2.29 database
  • note that postGIS is a required extension and ensure you have it.
  • replace the 2.29 war file with the 2.30 war file
  • start the instance to ensure that your upgrade to 2.30 was successful.
  1. Follow the corresponding upgrade notes for 2.31 to 2.33. However, note that Flyway takes care of all of the database updates for you. The notes highlight any setting that you may need to adjust, but if you have managed to run a clean install of 2.33, then you have the necessary configuration and all you need is the database upgrade. This means that all you should have to do is:
  • stop your 2.30 instance
  • replace the 2.30 war file with the 2.33.2 war file
  • start the instance

If the instance runs successfully with 2.30 (step 1) but fails to start with the 2.33.2 war file (step 2), then you can share the output of your tomcat log file (catalina.out) with us, and we can help to understand what is failing.

Kind regards,
Phil

Hello @phil

I Installed Fresh DHIS 2.9 and Restored the Database and Tested its run Successfuly and logged in
Then I stopped TomCat and Shutdown The Service and Removed dhis.war file only (Not dhis folder)
from C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps

Then Run The Script, See Screen-Shot :

Then I downloaded WAR-file 2.32.4 and add it in C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps

and run TomCat service as adminsitrator and Then Tomcat9

Result: Screenshot by Lightshot

------- Log File -----****

01-Mar-2020 11:58:38.930 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.30
01-Mar-2020 11:58:38.930 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 7 2019 16:42:04 UTC
01-Mar-2020 11:58:38.930 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.30.0
01-Mar-2020 11:58:38.930 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows Server 2019
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files (x86)\Java\jre1.8.0_231
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_231-b11
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\temp
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\conf\logging.properties
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: abort
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms128m
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx256m
01-Mar-2020 11:58:38.946 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jre1.8.0_231\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Java\jdk-13.0.1\bin;C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\WindowsApps;.]
01-Mar-2020 11:58:39.180 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-1000”]
01-Mar-2020 11:58:39.227 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 11:58:39.227 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [483] milliseconds
01-Mar-2020 11:58:39.258 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Mar-2020 11:58:39.258 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.30]
01-Mar-2020 11:58:39.289 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war]
01-Mar-2020 11:58:56.633 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars 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.
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.30
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 7 2019 16:42:04 UTC
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.30.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows Server 2019
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files (x86)\Java\jre1.8.0_231
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_231-b11
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\temp
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Mar-2020 11:59:01.594 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\conf\logging.properties
01-Mar-2020 11:59:01.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
01-Mar-2020 11:59:01.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: abort
01-Mar-2020 11:59:01.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms128m
01-Mar-2020 11:59:01.609 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx256m
01-Mar-2020 11:59:01.609 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jre1.8.0_231\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Java\jdk-13.0.1\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;;.]
01-Mar-2020 11:59:01.937 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-1000”]
01-Mar-2020 11:59:02.000 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-1000]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.startup.Catalina.load(Catalina.java:584)
at org.apache.catalina.startup.Catalina.load(Catalina.java:607)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:229)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:212)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1154)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
… 13 more
01-Mar-2020 11:59:02.000 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 11:59:02.000 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.startup.Catalina.load(Catalina.java:584)
at org.apache.catalina.startup.Catalina.load(Catalina.java:607)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:229)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:212)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1154)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
… 13 more
01-Mar-2020 11:59:02.015 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [650] milliseconds
01-Mar-2020 11:59:02.047 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Mar-2020 11:59:02.047 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.30]
01-Mar-2020 11:59:02.078 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war]
01-Mar-2020 11:59:07.578 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
01-Mar-2020 11:59:07.578 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/dhis] startup failed due to previous errors
01-Mar-2020 11:59:07.672 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war] has finished in [28,383] ms
01-Mar-2020 11:59:07.672 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs]
01-Mar-2020 11:59:07.703 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs] has finished in [31] ms
01-Mar-2020 11:59:07.703 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager]
01-Mar-2020 11:59:07.719 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager] has finished in [16] ms
01-Mar-2020 11:59:07.719 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT]
01-Mar-2020 11:59:07.734 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT] has finished in [15] ms
01-Mar-2020 11:59:07.750 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-1000”]
01-Mar-2020 11:59:07.750 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 11:59:07.750 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [28,522] milliseconds
01-Mar-2020 11:59:20.265 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars 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.
01-Mar-2020 11:59:29.562 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
01-Mar-2020 11:59:29.562 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/dhis] startup failed due to previous errors
01-Mar-2020 11:59:29.656 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war] has finished in [27,578] ms
01-Mar-2020 11:59:29.656 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs]
01-Mar-2020 11:59:29.687 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs] has finished in [31] ms
01-Mar-2020 11:59:29.687 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager]
01-Mar-2020 11:59:29.719 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager] has finished in [32] ms
01-Mar-2020 11:59:29.719 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT]
01-Mar-2020 11:59:29.750 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT] has finished in [31] ms
01-Mar-2020 11:59:29.750 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [27,733] milliseconds

Hi @AhmadQais, it is good that you started fresh from 2.29. However, as @Phil said, the first step then needs to be to upgrade to 2.30, not 2.32:

Run the upgrade script once on your original 2.29 database
replace the 2.29 war file with the 2.30 war file

Please try again.

Thanks @Knut_Staring

The Upgrade process from Version 2.29 to 2.30 was successful

but the same process when upgrade from 2.30 to 2.31.8 giving error.

I stopped TomCat and Shutdown The Service and Removed dhis.war file only (Not dhis folder)
from C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps

Then I downloaded WAR-file 2.31.8 and add it in C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps

and run TomCat service as adminsitrator and Then Tomcat9

------- Log File -----****

01-Mar-2020 12:39:48.961 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.30
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 7 2019 16:42:04 UTC
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.30.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows Server 2019
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files (x86)\Java\jre1.8.0_231
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_231-b11
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\temp
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\conf\logging.properties
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: abort
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms128m
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx256m
01-Mar-2020 12:39:48.977 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jre1.8.0_231\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Java\jdk-13.0.1\bin;C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\WindowsApps;.]
01-Mar-2020 12:39:49.211 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-1000”]
01-Mar-2020 12:39:49.258 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 12:39:49.258 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [473] milliseconds
01-Mar-2020 12:39:49.290 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Mar-2020 12:39:49.290 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.30]
01-Mar-2020 12:39:49.321 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war]
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.30
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 7 2019 16:42:04 UTC
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.30.0
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows Server 2019
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files (x86)\Java\jre1.8.0_231
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_231-b11
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:54.582 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\temp
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\conf\logging.properties
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: abort
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms128m
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx256m
01-Mar-2020 12:39:54.598 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jre1.8.0_231\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\Java\jdk-13.0.1\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;;.]
01-Mar-2020 12:39:54.942 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-1000”]
01-Mar-2020 12:39:55.004 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-1000]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.startup.Catalina.load(Catalina.java:584)
at org.apache.catalina.startup.Catalina.load(Catalina.java:607)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:229)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:212)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1154)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
… 13 more
01-Mar-2020 12:39:55.004 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 12:39:55.004 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.startup.Catalina.load(Catalina.java:584)
at org.apache.catalina.startup.Catalina.load(Catalina.java:607)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:229)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:212)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1154)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
… 13 more
01-Mar-2020 12:39:55.020 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [645] milliseconds
01-Mar-2020 12:39:55.051 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
01-Mar-2020 12:39:55.082 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.30]
01-Mar-2020 12:39:55.114 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war]
01-Mar-2020 12:40:07.989 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars 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.
01-Mar-2020 12:40:08.052 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war] has finished in [18,731] ms
01-Mar-2020 12:40:08.055 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs]
01-Mar-2020 12:40:08.076 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs] has finished in [21] ms
01-Mar-2020 12:40:08.079 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager]
01-Mar-2020 12:40:08.108 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager] has finished in [32] ms
01-Mar-2020 12:40:08.108 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT]
01-Mar-2020 12:40:08.127 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT] has finished in [19] ms
01-Mar-2020 12:40:08.130 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-1000”]
01-Mar-2020 12:40:08.139 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“ajp-nio-8009”]
01-Mar-2020 12:40:08.142 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [18,875] milliseconds
01-Mar-2020 12:40:13.788 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars 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.
01-Mar-2020 12:40:13.849 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\dhis.war] has finished in [18,735] ms
01-Mar-2020 12:40:13.850 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs]
01-Mar-2020 12:40:13.874 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\docs] has finished in [23] ms
01-Mar-2020 12:40:13.874 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager]
01-Mar-2020 12:40:13.917 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\manager] has finished in [43] ms
01-Mar-2020 12:40:13.918 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT]
01-Mar-2020 12:40:13.924 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps\ROOT] has finished in [7] ms
01-Mar-2020 12:40:13.940 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [18,921] milliseconds

Hi,

“I Installed Fresh DHIS 2.9 and Restored the Database and Tested its run Successfuly and logged in
Then I stopped TomCat and Shutdown The Service and Removed dhis.war file only (Not dhis folder)
from C:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0\webapps”

When you upgrade, you MUST replace the war file AND you MUSt delete the whole DHIS folder tree under webapps. The DHIS folder tree will be re-created when the new war file is unpacked.

Regards

Calle