When trying to start one of the PSLwriter services, it fails after about 30 seconds. If I look in the system log or query T_LOG I see errors like:
"PslWriter Error condition found. Service is shutting down.
Error was: Cannot run PslWriter1 similar instance of psl writer is already running "
The actual instance number may vary.
BSI 8.2, 8.3, 8.3.5 on the Application server
This error occurs because the PSLwriter service sees a session already connected to the database for it's instance. There are a number of reasons this can occur which will be discussed below.
1. The first and most obvious reason would be if you have two instances with the same PSL instance number running against the same database. For example, you cannot have two instance 0's even if they are on different boxes. Make sure you don't have multiple installs pointing to the same database. If you have more than one instance with the same number then you should remove one of them. You can install new instances of PSLwriter with a different instance number by running:
%OG_HOME%\bin\pslwriter.exe -i -x8
where 8 is the instance number you want to install. This installs the service to start with the SYSTEM account. It's recommended you edit this to start with you administrator account that you start many of the other services with.
2. The second reason this can occur is if the PSLwriter service did not get a chance to shutdown cleanly and so it did not have a chance to close out the session it was previously using. This can occur for a number reasons:
a) The box was rebooted without stopping the services first and the shutdown did not give them enough time to close cleanly.
b) The PSLwriter.exe process crashed or was killed.
c) We lose connection to the database and then the service is stopped.
To solve this you need to close the session which is still running on the database. You could of course reboot the database and then the APP and WEB servers, but it's usually more practical to find and kill the specific session. You can do this by logging into Oracle with the SYS account and running:
select * from v$session where PROGRAM='PslWriter.exe'
You may see a number of sessions. If you have multiple instances running then you can close out other instances and anything left would be one of those orphaned sessions. Or you can try to match up process ID's or something similar.
In order to help prevent this from occurring it's recommended that you stop the services prior to shutting down the application server.
If you are doing this and the problem continues, you may want to review the T_LOG and the Windows Event log to see if something is killing the process and triggering the problem.