TEST PLAN TO UPLOAD LCLS I MAD DECK FILES INTO LCLS_INFRASTRUCTURE ON SLACPROD ============================================================================== 1) *ELIE* Friday, 25-Oct-2013, 6PM: a) Backup relevant tables in LCLS_INFRASTRUCTURE@SLACDEV -- LOG INTO LCLS_INFRASTRUCTURE@SLACDEV @BACKUP_LCLS_INFRASTRUCTURE_TABLES_SLACDEV.SQL 2) *ANDREA* Saturday, 26-Oct-2013: a) Upload MAD Deck files in LCLS_INFRASTRUCTURE@SLACDEV. b) Use Apex application 116 "LcLs Data Management" in SLACDEV to test for appropriate MAD Deck changes. 3) *IAN* Wednesday, 30-Oct-2013, between 6:15AM and 9AM: a) Begin full (DDL + Data) backups of the following schemas. Per Ian, estimated completion time is 35 minutes. On SLACPROD: - LCLS_INFRASTRUCTURE - AIDAPROD - AIDADEV - MACHINE_MODEL On MCCQA: - AIDA - MACHINE_MODEL - SCORE On MCCO: - AIDA - MACHINE_MODEL - SCORE b) Email ELIE that backups have completed. 4) *ELIE* Wednesday, 30-Oct-2013: a) Disable automatic refresh of mview MACHINE_MODEL.V_MODELLED_DEVICE_NAMES on SLACPROD, MCCQA, and MCCO. This mview serves as a "bridge" between XAL data in schema MACHINE_MODEL and MAD Deck data in schema LCLS_INFRASTRUCTURE (in-directly via LCLS tables/views on SLACPROD and LCLS mviews on MCCQA and MCCO). This mview is used in the scripts being run in [9a,b,c] below. b) Email Andrea the status. 5) *ANDREA* Wednesday, 30-Oct-2013: a) Use "LcLs Data Management" Apex app 116 on SLACPROD (https://oraweb.slac.stanford.edu/apex/slacprod/f?p=116) to upload new MAD Deck data into LCLS_INFRASTRUCTURE@SLACPROD. b) Email Elie the status. 6) *GREG WHITE / HENRIK LOOS* Wednesday, 30-Oct-2013: a) Creates an XAL XDXF file containing configuration data associated with MAD Deck changes done in [5a]. b) Using Paul Chu's Java Model GUI, uploads this XDXF file into MACHINE_MODEL@MCCO. If successful, this automatically updates MACHINE_MODEL tables on SLACPROD. NOTE: It is possible to make the model run and Oracle upload from a development host. This bypasses the need to change the XDXF in production until an new devices are actually implemented in the accelerator. If there are EPICS DB modifications expected, then an EXTANT machine run can't be done until those are in place. c) Email Andrea and Elie the status. 7) *ELIE* Wednesday, 30-Oct-2013: a) Manually refresh mview MACHINE_MODEL.V_MODELLED_DEVICE_NAMES on SLACPROD, MCCQA, and MCCO. This mview serves as a "bridge" between XAL data in schema MACHINE_MODEL and MAD Deck data in schema LCLS_INFRASTRUCTURE (in-directly via LCLS tables/views on SLACPROD and LCLS mviews on MCCQA and MCCO). This mview is used in scripts being run in [9a,b,c] below. b) Re-enable automatic refresh of mview MACHINE_MODEL.V_MODELLED_DEVICE_NAMES on SLACPROD, MCCQA, and MCCO. 8) *ELIE* Wednesday, 30-Oct-2013: Execute script MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_SYMBOLS_NAMES_UPDATE in instances SLACPROD, MCCQA, and MCCO. This script refreshes AIDA tables with the newest MAD Deck element names and associated values for EFFECTIVE_LENGTH, LINACZ, and S_DISPLAY. This script should always be done after MAD Deck changes have been uploaded in schema LCLS_INFRASTRUCTURE@SLACPROD. a) Log into MACHINE_MODEL@SLACPROD and execute: @RUN_AIDA_SYMBOLS_NAMES_UPDATE_SLACPROD_AIDADEV.SQL @RUN_AIDA_SYMBOLS_NAMES_UPDATE_SLACPROD_AIDAPROD.SQL FYI: These scripts are running, respectively: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_SYMBOLS_NAMES_UPDATE('AIDADEV', '5', '5', 'Y'); END; BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_SYMBOLS_NAMES_UPDATE('AIDAPROD', '5', '5', 'Y'); END; b) Log into MACHINE_MODEL@MCCQA and execute: @RUN_AIDA_SYMBOLS_NAMES_UPDATE_MCCQA.SQL FYI: This script is running: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_SYMBOLS_NAMES_UPDATE('AIDA', '5', '5', 'Y'); END; c) Log into MACHINE_MODEL@MCCO and execute: @RUN_AIDA_SYMBOLS_NAMES_UPDATE_MCCO.SQL FYI: This script is running: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_SYMBOLS_NAMES_UPDATE('AIDA', '5', '5', 'Y'); END; 9) Execute script MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_XALSERV_NAMES_UPDATE in instances SLACPROD, MCCQA, and MCCO. This refreshes AIDA data with the newest MAD Deck configuration data used in XAL modelling. This should be done after new XAL modelling data has been changed in schema MACHINE_MODEL@SLACPROD. Note: This process references the mview MACHINE_MODEL.V_MODELLED_DEVICE_NAMES that was refreshed in [7a]. This mview serves as a "bridge" between XAL data in schema MACHINE_MODEL and MAD Deck data in schema LCLS_INFRASTRUCTURE. a) Log into MACHINE_MODEL@SLACPROD and execute: @RUN_AIDA_XALSERV_NAMES_UPDATE_SLACPROD_AIDADEV.SQL @RUN_AIDA_XALSERV_NAMES_UPDATE_SLACPROD_AIDAPROD.SQL FYI: These scripts are running, respectively: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_XALSERV_NAMES_UPDATE('AIDADEV', '202', '202', 'Y'); END; BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_XALSERV_NAMES_UPDATE('AIDAPROD', '202', '202', 'Y'); END; b) Log into MACHINE_MODEL@MCCQA and execute: @RUN_AIDA_XALSERV_NAMES_UPDATE_MCCQA.SQL FYI: This script is running: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_XALSERV_NAMES_UPDATE('AIDA', '202', '202', 'Y'); END; c) Log into MACHINE_MODEL@MCCO and execute: @RUN_AIDA_XALSERV_NAMES_UPDATE_MCCO.SQL FYI: This script is running: BEGIN MACHINE_MODEL.ONLINE_MODEL_PKG.AIDA_XALSERV_NAMES_UPDATE('AIDA', '202', '202', 'Y'); END; d) Email Andrea the status. 10) Note: No changes are needed in the IRMISDB Oracle schema to support these MAD Deck changes. 11) *ELIE* and *ANDREA* Wednesday, 30-Oct-2013: Check that appropriate MAD Deck changes are in place in LCLS_INFRASTRUCTURE, AIDA tables, MACHINE_MODEL, and SCORE tables. 12) If all is well in [11], then email and call MCCO Control Room (ext. 2151) indicating that MAD Deck changes have been completed. 13) *ELIE* Thursday, 31-Oct-2013: a) Check that all DBMS_SCHEDULER jobs have successfully run during the morning hours of Wednesday. b) Email Andrea the staus. 14) Completed. Backout Plan: 1) Restore DDL and data from the backups created in [3a]. 2) Be sure to re-enable the automatic refresh of mview MACHINE_MODEL.V_MODELLED_DEVICE_NAMES on SLACPROD, MCCQA, and MCCO. 3) Email and call MCCO Control Room (ext. 2151) the status.