Stanford Linear Accelerator Center Epics db to Oracle
Stanford Linear Accelerator Center Epics. db to Oracle RDB Organizing site-wide Epics data Ron Chestnut – SNS November 2000
Three steps from. db to Oracle • • Generate a database report Import the report with Sqlload Parse the names to get individual fields Used at SLAC for compatibility with legacy control system wildcarding capabilities
Generating the report (1) bic_template file. /bic_bxbcm. db { {STN=HB 60, BIT 3_CARD=0} {STN=LB 60, BIT 3_CARD=1} } file. /bic_dcct. db { {STN=HB 60}{STN=LB 60} } etc.
Generating the report (2) bic_report script rm bic. all_pv db. Load. Template bic_template | dbreport OUT. INP. 35 DESC. 20 | sort > bic. all_pv
Import the data with SQLLOAD Script sqlloader acct/pwd control=pvload. ctl Control file options(skip=2) load data infile ‘bic. all_pv’ append into table pvlist when pv_type != “TYPE “ (pv_type position(1: 15) char, pvnam position(16: 45) char)
Parse the names into fields pvnam = PB 60: DCCT: LIFETIME fld 1 = PB 60 fld 2 = DCCT fld 3 = LIFETIME nfld = 3
End up with nice table SQL>desc pvlist name type ============= PV_TYPE char(15) PVNAM char(30) PV_INOUT char(35) PV_DESC char(20) FLD 1 char(15) …. FLD 6 char(15) NFLD number(1) pv_last_field char(15) SQL> select count(*) from pvlist; COUNT(*) --------16932
Current Uses at SLAC • • Support wildcarded history source files Generate filtered and sorted reports with simple SQL Provide a uniform way to find PV names Reduce maintenance load
- Slides: 8