Title: Epics .db to Oracle RDB
1Epics .db to Oracle RDB
- Organizing site-wide Epics data
- Ron Chestnut SNS November 2000
2Three 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
3Generating the report (1)
bic_template file ./bic_bxbcm.db
STNHB60,BIT3_CARD0 STNLB60,BIT3_CARD1
file ./bic_dcct.db STNHB60STNLB60 etc.
4Generating the report (2)
bic_report script rm bic.all_pv dbLoadTemplate
bic_template dbreport OUT.INP.35 DESC.20
sort gt bic.all_pv
5Import the data with SQLLOAD
Script sqlloader acct/pwd controlpvload.ctl Cont
rol file options(skip2)load datainfile
bic.all_pvappend into table pvlist when
pv_type ! TYPE (pv_type position(115)
char, pvnam position(1645) char)
6Parse the names into fields
pvnam PB60DCCTLIFETIME fld1 PB60 fld2
DCCT fld3 LIFETIME nfld 3
7End up with nice table
SQLgtdesc pvlist name
typePV_TYPE char(15)
PVNAM char(30)PV_INOUT char(35)PV_DESC char(2
0)FLD1 char(15).FLD6 char(15)NFLD number(1
)pv_last_field char(15) SQLgt select count()
from pvlist COUNT()----------------
16932
8Current 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