FrontPage

COMP130.dbでデータベースの演習

データはlxplus:~atlcond/scratch0/sqlite3にある。

sqlite3でCOMP130.dbの中を見る方法はこのページの下の部分にある。 Database#v133b067

マスクされているchannelをsqlite3で調べる。ここではすべての468モジュールのチップ0を表示する。

select OBJECT_ID,CHANNEL_ID,c00mask from COMP130_F0017_IOVS where IOV_SINCE = 13314398617600 and c00mask <> '0xffffffff 0xffffffff 0xffffffff 0xffffffff';

IOV_SINCEを条件としているのは、100回以上データベースに同じような書き込みがあるので、一番最後の書き込みのみを読むため。マスクがついているチップのみ表示する。

SCT_ModuleConditionsTool.cxxが読むもの

/SCT/auxiliaryInfo COMP130_F0006_IOVS
/SCT/Config/OfflineLocations COMP130_F0006_IOVS
/SCT/modules   COMP130_F0017_IOVS
/SCT/chipData  COMP130_F0013_IOVS 

最初がRODID、ROBID、2番目がモジュールの場所とSN、3番目が電圧と状態とSN、4番目が全部のチップのマスク、SNなど。どうもシリアル番号がいわゆるフォーリンキーか?フォルダー番号は古いdbだと違っている。いまはchipDataは17番。

Athenaのデータベース利用に付いての簡単な説明

https://uimon.cern.ch/twiki/bin/view/Atlas/AthenaDBAccess

わかりやすい。12.x.0からGeoModelの初期化でCondition DBの設定が行われるらしい。

Condition DBについて

基本URL https://uimon.cern.ch/twiki/bin/view/Atlas/AthenaConditionsArchitecture

COOLとはOracle、MySQL、SQLiteをどれでも使えるようにするインターフェースのこと.でもDAQ、DCSはオラクルが使われる。そのSQlite,MySQLレプリカはサブセット的になる。(?)その辺の説明URL https://uimon.cern.ch/twiki/bin/view/Atlas/CoolAthena

COMP130

defectのデータはCOMP130.dbにあるようだ。IOV_SINCEを調べるのは18番フォルダーの/SCT/partitionがよい。まず、lineモードでフォルダーの中身を確認する。次に最後のIOV_SINCEを確認する。columnモードはコンパクトな表示が得られる。

sqlite3 COMP130.db
.mode line
select * from COMP130_NODES;
select * from COMP130_F0018_IOVS;
.mode column
.header on
.table
select * from COMP130_NODES;
select * from COMP130_F0007_IOVS where IOV_SINCE = 13314398617600;

Kit 12.0.2

PoolCat_comcond.xmlやgeomDBはKitDir/DBReleaseに入っている。設定ファイルもそこにある。cosmicRecの設定は12.0.1で動いた。

なんと見落としてました

https://uimon.cern.ch/twiki/bin/view/Atlas/ConnSvcAthena

cd pacmanDir
. setup.sh
cd runDir
mkdir geomDB
export ATLASGEOM=http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/Geometry
pacman -get $ATLASGEOM:GeomDBSQLite

新しいターミナルにする。

cd cosmicRunDir
export CORAL_DBLOOKUP_PATH=./:$CORAL_DBLOOKUP_PATH
export CORAL_AUTH_PATH=./:$CORAL_AUTH_PATH
filedblookup.xml
fileauthentication.xml

上のファイルをコピーする。 これでDBアクセスは問題なくなったがまだ変なところで落ちる。 その対策

cd /afs/cern.ch/12.0.0/AtlasCore/2.0.0/InstallArea/share
ln -s /afs/cern.ch/user/a/atlcond/poolcond
mkdir -p /afs/cern.ch/user/a/atlcond/poolcond
cd /afs/cern.ch/user/a/atlcond/
rsync -avz -e ssh xxx@lxplus.cern.ch:/afs/cern.ch/user/a/atlcond/poolcond .
mkdir -p /afs/cern.ch/atlas/conditions/poolcond/catalogue/
cd /afs/cern.ch/atlas/conditions/poolcond/catalogue/
rsync -avz -e ssh xxx@lxplus.cern.ch:/afs/cern.ch/atlas/conditions/poolcond/catalogue/poolcond .

これで'PoolSvc INFO Resolved path is' と空振りしていたところは進むようになった。その結果動くようになった。ログの分析は大事だ。見ているファイルPoolCat_comcond.xmlにはメモリーのなかを見なさいとなっている。つまり実データは読み込まれているのでファイルでなくメモリーを見ろと指示しているのではないか。

sqlite

まずはこれを勉強すべし。 http://www.sqlite.org/ sqlite compilation needs tcl8.4. Vine and SLC4 are OK. But SLC3 uses tcl8.3.

cd /afs/cern.ch/user/a/atlcond/coolrep/sqlite130/
sqlite3 COMPROD.db
sqlite> .table
sqlite> select * from COMPROD_NODES;
sqlite> select * from COMPROD_DB_ATTRIBUTES;

http://www.net-newbie.com/sqlite/sqlite.html 幅が1600ドットのターミナルにする。 まずテーブルの意味を示したものを調べる。

sqlite3 COMPROD.db
.mode column
.header on
select * from COMPROD_NODES;

もうひとつターミナルを開ける。1600ドットで。最初の10個を見ていく。IOVのテーブル(フォルダー)は最初のラベル(フィールド名?)がOBJECT_ID。

select * from COMPROD_F0012_IOVS where OBJECT_ID < 10;
select * from COMPROD_F0013_IOVS where OBJECT_ID < 10;
select * from COMPROD_F0014_IOVS where OBJECT_ID < 10;

これをやれば数千行のテーブルも見れる。

IOVは条件の変わったラン毎に作られる。IOV_SINCEがタイムスタンプ的なものだとすると同じものを選んでみる。この番号はOBJECT_ID 116の所のもの。つまり116個ランの条件が変わったことを意味している。COMPROD.dbは116個も条件の似通ったものをいれていることがわかる。だから単に見るだけでは、116回くり返しになってしまう。だからやたら表示されるわけ。

select * from COMPROD_F0022_IOVS where IOV_SINCE = 13314398617600;

1600ドットの標準ターミナルでテーブルを見るsql文は以下のファイル。

filecomprod-1600.sql

COOL Athena Wiki

06July IDWeek

R.Hawkins document

11.4.0 レプリカ テスト

https://twiki.cern.ch/twiki//bin/view/Atlas/DatabaseDeployment

このとおりCosmicSimをやったが、3kいべんとの終了の後、こんなエラーが出た。

*****************************************************
*                                                   *
  Memory snooper called here end of event
  process size at this point (VmMem): 265320 kBytes
*                                                   *
*****************************************************
 MemorySnooper(event,VmMem,diff-previous) kBytes: 3000 265320 0
*****************************************************
Traceback (most recent call last):
  File "/afs/cern.ch/11.4.0/AtlasCore/1.4.0/InstallArea/share/bin/athena.py", line 364, in ?
    include( script )
 File  "/afs/cern.ch/11.4.0/AtlasCore/1.4.0/InstallArea/python/AthenaCommon/Include.py",  line 108, in __call__
    execfile( name, __main__.__dict__, __main__.__dict__ )
  File "./cosmicSimMysql.py", line 73, in ?
    IOVDbSvc.serverName = "atx13.hep.kyokyo-u.ac.jp"
NameError: name 'IOVDbSvc' is not defined
athena>   File "<stdin>", line 1
    ATLASDD             oracle:atlas_dd
                  ^
SyntaxError: invalid syntax 

コスミックではどういう風にRDBAccessSvcとIOVDbSvcを使っているのか良くわからないので、結構難しい。結局デフォルトでやるのがよさそう。

Geometry sqlite オラクル 一般的SQL講座


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS