Differences between revisions 21 and 22
Revision 21 as of 2006-06-22 12:27:05
Size: 7394
Editor: lalinekw2
Revision 22 as of 2006-06-23 08:57:59
Size: 7413
Editor: lalinekw2
Deletions are marked like this. Additions are marked like this.
Line 233: Line 233:

PACS Databases

a. Databases @ MPE 12000 - 12699

  • 12000 - 12250 : public databases for operations <br>

    • 12001 : pacseqmimt1e : database copy from Astrium EQM tests end 2005 - serious problems with schema evolutions etc.
    • 12004 : sftcode : public CUS development database - schema 24
    • 12006 : aotcode : AOT reference database 20060426 / for warm AOT tests - schema 24
    • 12003 : leuven : schema 24
    • 12007 : aottest2 : Database for End2End Test incl. Pointing files. filled by Diego / running also for Roland tests / schema 23

    • 12008 : aottest3 : Copy of aottest2 for tests @MPE - schema24
  • 12251 - 12699 : additional datbases

b. Databases @KUL 12700 - 13399

  • 12700 - 13000 : public databases for operations
  • 13001 - 13399 : additional datbases

c. Other databases 13400 - 13500

  • 13400 : EQMILT1@Astrium

d. Spare 13500 - 13999

Seting the Database IDs

I have the feeling that a given DB ID cannot be re-used also if the database has been removed. Need clarification...

dbid -r cusdefinitions -> show DBID
dbid -d cusdefinitions -> delete DBID
setdbid 12002 cusdefinitions -> set DBID
dbid -C 12002 cusdefinitions 

Updating Database Engine

  • Log in as dbsa on PACS1.
  • Check Database engine :
    •      oscp -i 
           oscp -l
  • Download the new Database engine version from ESA page :
  • Save license file of previous version
    •       cp  /usr/local/versant/<versant-previous>/license.xml ~
  • Sometimes you may request new license file (license.xml) from tzaeschk@rssd.esa.int

  • Log in as root on PACS1.
  • Check disk space /usr/local is quite full already.
    •      df -h
  • Change to /usr/local/versant and make a directory to copy and extract the tar file.
    •      cd /usr/local/versant
           tar -zxvf vod7011_rhel.tar
  • Just to be sure check again the system setup and restart the xinetd :
    •      oscp -i
           oscp -l
           /etc/rc.d/xinetd restart
  • Install license file of previous version or requested one
    •       cp  license.xml /usr/local/versant/<versant-previous> 
  • Modify psetup scipt on PACS1 : account pcss
    •       emacs /home2/pcss/psetup
      For example :
          # Can use /etc/.osc... instead of these 4 variables
          setenv VERSANT_ROOT      /usr/local/versant/7.0.1
          setenv VERSANT_DB        /dbOper/versant
          setenv VERSANT_DBID      /dbOper/versant
          setenv VERSANT_DBID_NODE pacs1 
          set path=( /usr/local/versant/7.0.1/bin $path )
          set LIB_DIR=/usr/local/versant/7.0.1/lib
          setenv LD_LIBRARY_PATH /usr/local/versant/7.0.1/lib:${LD_LIBRARY_PATH}
          setenv THREADS_FLAG native

Schema evolution

  • Download and install PCSS containing the new Schema.
  • Check LD_LIBRARY_PATH (need to point into newest database engine directory
    • non proper settings can lead to unfinished evolution which destroy the database !! e.g. /usr/local/versant/7.0.1
           setenv LD_LIBRARY_PATH /usr/local/versant/7.0.1/lib  
    • !!! The PCSS libjvi7.0.1.so caused problems in the past. You should set it to the proper VERSANT one ONLY !!!
  • Check whether actualVersant engine match the reference platform engine : ftp://ftp.rssd.esa.int/pub/HERSCHEL/csdt/releases/doc/refPlatformVersion

    •        oscp -l
  • Send out Schema evolution warning.
  • Make sure that Databases are not used :
    •      dbtool -trans -info <DBName>
  • Make a backup of the database :
    •      vbackup -dev <DBName>.vbck -backup <DBName>
  • Set Databases to single user mode :
    •      dbinfo -1 <DBName>
  • Perform schema evolution as described in the Database Administration Manual (HSCDT/TN044) :
    •      schema_evolver <DBName>
  • Set the Database back to multi user mode :
    •      dbinfo -m <DBName>
  • Test from an arbitrary account
    • set in .pcss/props the Database to the schema evolved one
    • start cusgui
  • Send message to user.

Traps and Tricks

Replication aware Datbase or not

Sometimes you get an error that the Database is Replication aware or not and does not match to your access

You have two options :

  • set the property :
    •       hcss.store.factory = herschel.versant.store.ReplStoreFactoryImpl
  • Remove the replication mechansim from the Database :
    •       db_admin -u <DBName>

Hot Spot error for remote access

When a remote user (like Diego) start cusgui and he/she gets a java hotspot whaever error it might be caused by the user access rights !

A strange error for such a problem. Locally access you get a proper error message.

Do :

  dbuser -add -P <DBName>

Check whether there are open transactions

   dbtool -trans -info <DBName>

Delivery of Databases to ESAC

Make a backup of the Database :

   vbackup -dev <name>_<version>.vbck -backup <name>

and put the backup on PACS1 /home/esac/databases

send an email to John Dowson <John.Dowson@sciops.esa.int> Larry O'Rourke <Laurence.O'Rourke@esa.int>

Offline DataFrame Generation into Database

Assumption: Database is backed up in case something goes wrong!!!!!!

* Log into PACS1 account oper

* type psetup

* Edit .pcss/props : Configure the TM ngestion process (see HCSS TM Ingestion User Manual - HERSCHEL-HCS-DOC-0231

  • hcss.tmingest.database <name of the database>

  • hcss.tmingest.transactions 1000
  • hcss.tmingest.tmpacketprocessor.pacs Y
  • hcss.tmingest.tmpacketprocessor.pacs.name herschel.pacs.spu/PacsTmPacketProcessor)
  • hcss.tmingest.server pacs1
  • hcss.tmingest.port 9875
  • hcss.tmingest.name TelemetryIngestion

  • hcss.tmingest.apidnnn : e.g. hcss.tmingest.apid1156=N (by default all APIDs are requested Y)
  • hcss.tmingest.retry 60000

* Start the EGSE router.

startRouter 9875

* Start dfgen


This has the same properties as tmingest.

* Use rtaplay to retrieve telemetry packets from the database and pass them to the router

  • On the source tab select the database (and whether it is local or remote)
  • Also make sure the port number for the EGSE router is correct.
  • On the time tab, select times which cover the telemetry period.
  • On the data tab, ensure packets is selected.
  • On the play tab, you can select the rate to play the telemetry, the period field.
  • Then click play

* Check progress

db2tty -d <database> | grep PacsDataFr

* In case of problems you may connect the TmPacketDumper to the Router and check :

  •    TmPacketDumper -port 9875 -a 1154

    If you get the TmSource packest in a different order then time you may check whether the Database is indexed :

      dbtool -index -info -list <dbname>
    You may index it
      dbtool -space -volume -all <dbname>   # 25% space for it
      dbtool -index -create -btree herschel.versant.ccm.TmSourcePacketImpl _time <dbname> 

Herschel: PACS/Database (last edited 2009-07-15 14:32:38 by localhost)