...
- An instance of Runnable that periodically saves messages to the Oracle DB
- Although Eli wrote a great PL/SQL procedure that hides (almost) all the details , here is the Oracle schema:
! mpshisttables.png!
edu.stanford.slac.mpshist.MessageServer
- An instance of Runnable that caches messages from MPS in memory
- Tries to create a ServerSocket bound to a port specified as an argument to the constructor
Code Block BEGIN MPS_HISTORY.MPS_HISTORY_PKG.DML_%s1 (%s2); END;
- %s1 = table name
- %s2 = CSVs in the same order as in the schema with following caveats:
- top-to-bottom = left-to-right
- ignore the ID column
- replace the FKs with enums from the referenced table
edu.stanford.slac.mpshist.MessageServer
- An instance of Runnable that caches messages from MPS in memory
- Tries to create a ServerSocket bound to a port specified as an argument to the constructor
edu.stanford.edu.stanford.slac.mpshist.MpsHistManager
...
- Only one MPS History Server is active at any time
- To start a new server, you must login as laci on lcls-daemon2
Code Block /etc/rc3.d/S99st.mpshist start
- To stop a production server, type
Code Block /etc/rc3.d/S99st.mpshist stop
#Programmer's Guide
#User's Guide
#References
Programmer's Guide
MPS Config
Oracle
JDBC Url
Code Block |
---|
jdbc:oracle:thin:MPS_HISTORY/%s@slac-oracle02.slac.stanford.edu:1521:SLACDEV
jdbc:oracle:thin:MPS_HISTORY/%s@slac-oracle04.slac.stanford.edu:1521:MCCQA
|
where %s = the current password.
Schema
Procedures
Code Block |
---|
BEGIN MPS_HISTORY.MPS_HISTORY_PKG.DML_%s1 (%s2); END;
|
where
%s1 = table name
%s2 = CSVs in the same order as in the #Schema (top-to-bottom = left-to-right); ignore the ID column; replace the FKs with enums from the referenced table.
Message Types
...
Troubleshoot
- The clearest sign of problems is an empty table in the HistoryViewer tab on the MPS GUI
- Every few months, there seem to be weird socket exceptions that don't halt the server (to be investigated)
...