symfowareの説明とコマンド
毎回マニュアルを探すのも時間がかかり、情報もあまりなかったのでメモ用として整理しています。
- サーバが壊れそうな危険なコマンドは載せてない
- symfowareで使えるrdbコマンドはここから
Webサーバのポート(ブラウザでSQL実施可能)
- Symfoware_WebDBtools使い方:
Symfoware_WebDBtools.xlsx
コマンド集
symfowareの起動
rdbstart
symfowareの停止
rdbstop
rdbstop -e (強制停止)
接続端末を確認(DB案連作業をする前にアクセスがあるのか確認する時に使う)
rdbcninf -s
※アクセスがあり、SQLが失敗する時があるのでアクセスを切るためには下記のコマンド
rdbterm -i 【IPアドレス】
データベースの定義情報を出力(ほとんどの必要なデータベース定義情報はこれでわかる)
echo "DB" |rdbprt -m DEF -d XXXXXX01 -f - > /home/xxxxxxx/rdbprt20220419.txt
echo "DB" |rdbprt -m DEF -d (データベース名) (出力結果の保存先と名)
データベース名は「データベース一覧表示」コマンドで取得できる
ディクショナリ、ディレクトリ領域の使用状況
rdbprdic
rdbprdic -r RDBディレクトリファイルの領域の使用状況
[root@user01 ~]# rdbprdic -r
Directory file space 1
File path : /SFW/rdbdir/DIR_FILE1
Allocate size
total : 77824K
Used rate
total : 98% ( 76612K)
Directory file space 2
File path : /SFW/rdbdir/DIR_FILE2
Allocate size
total : 51200K
Used rate
total : 1% ( 864K)
rdb: INFO: qdg12074i:rdbprdicが正常終了しました 復帰コード 00 (システム名=XXXXXXXX)
性能情報
rdbsar
rdbsar -d データスペースの入出力に関する性能情報
データベース一覧の確認
rdbprt -m DB
[root@user01 ~]# rdbprt -m DB
Database name list
No. Database name
1 XXXXXX01
2 XXXXXX02
rdb: INFO: qdg12074i:rdbprtが正常終了しました 復帰コード 00 (システム名=XXXXXX01)
データベーススペースの確認
rdbspcinf -d データベース名
rdbspcinf -d XXXXXX01
[root@user01 ~]# rdbspcinf -d XXXXXX01
Database space : XXXXXXXXXXX1
Device : /dev_symfoware/raw6
Size : 118214271K
Static allocate size
total : 14358336K
Dynamic allocate size
total : 1949448K
Free size
total : 101906487K
rdb: INFO: qdg12074i:rdbspcinfが正常終了しました 復帰コード 00 (システム名=XXXXDB01)
データベース接続
rdbexecsql -s データベース名 -u ログイン可能ユーザ名
資源情報確認(テーブル定義)
# rdbprt -d データベース名 -m DEF -f テキスト
※テキスト:TABLE (スキーマ. テーブル名)
資源情報確認(DSI)
rdbinf -p XXXXDB01.XXXDB -a
rdbinf -p データベース名.データベーススペース名 -a
[root@user01 ~]# rdbinf -p XXXXDB01.XXXDB -a
RDBII rdbinf DATE:2021/09/01 TIME:09/13/27
Directory : /SFW/rdbdir/DIR_FILE1
Database : XXXXDB01
DBspace : XXXXXXXXCA00
Cond State Cause Used Free Size
ACT ---/--- --- 62% 38% 32177262592
DSI : DSI_XXXXXXXXX01
TYPE Cond State Cause Size
DATA NON ---/--- --- 1048576
🌟アクセス禁止例
DBspace : XXXXXX1234DBSP
Cond State Cause Used Free Size
ACT INH/DBS HER 81% 19% 29999759360 👈 DBspaceがアクセス禁止状態
閉塞DSIの一覧
rdbinf -l inh -a
rdbinf -l inh -d データベース名 -a
📚閉塞種別の種類
HER : ハードウェア障害
SOF : ソフトウェア障害
DER : データの異常
CRV : ダウンリカバリの異常
MRV : メディアリカバリの異常
TIH : ロールバックの異常
DIR : RDBディレクトリファイルの異常
ALD : rdbsaloaderコマンドでの追記処理の異常
CMD : RDBコマンドの実行
XAI : XAの分散トランザクションにより設定されるインダウト閉塞
閉塞解除(permit)
rdbpmt -i データベース名.DSI名 | -p データベース名.データベーススペース名
SQL文による検索結果のファイル(テキスト形式)への出力(データexport・データ移行目的で利用可能)
rdbunlsql -d XXXXXX01 -s "SELECT * FROM XXXX.XXXXXX WHERE REGTS between TIMESTAMP '2018-01-10 00:00:00' and TIMESTAMP '2020-04-10 23:59:59' WITH OPTION LOCK_MODE(NO LOCK)" -t /home/XXXXXX/XXXX.csv
rdbunlsql -d データベース名
★「-t」オプション(テキスト形式出力)はテーブルのにBLOB属性があると使えない。SELECT分でBLOB属性カラムを出力しないSQL文を使うか、バイナリ形式での出力を使う(-oオプション)!
SQL文による検索結果のファイル(バイナリ形式形式)への出力(データexport・データ移行目的で利用可能)
rdbunlsql -d XXXXXX01 -s "SELECT * FROM XXXX.XXXXXX WHERE REGTS between TIMESTAMP '2018-01-10 00:00:00' and TIMESTAMP '2020-04-10 23:59:59' WITH OPTION LOCK_MODE(NO LOCK)" -o /home/XXXXXX/XXXX.dat
rdbunlsql -d データベース名
テーブルのバックアップをCSVでとる
rdbunl -i XXXX.XXXXXX -t /home/XXXXXX/XXXXXX_20220419_before.csv
データベース名.表のDSI名
処理時間の長いSQL文およびアクセスプランの表示
・時間指定して処理時間の長いSQL文を表示します。
rdbpmsqllist -p 2007/04/10-10:00,18:00
・アクセスプランを表示します。
rdbpmsqllist -c 2007041011321800000291 -t 2007/04/10-11:33:53.737
例1
処理時間の長いSQL文を表示します。
rdbpmsqllist -p 2007/04/10-10:00,18:00
例2
アクセスプランを表示します。
rdbpmsqllist -c 2007041011321800000291 -t 2007/04/10-11:33:53.737
アカイブログが一杯になった時
★アーカイブログファイル全体の情報を表示します。
[root@user01 DB]# rdblog -V -a
serial# status total used avail capacity backup-date path
45 full 200M 200M 0 100% ------ /dev_symfoware/raw4
46 full 200M 200M 0 100% ------ /dev_symfoware/raw5
★退避動作待ちのアーカイブログファイルを破棄し、使用可能にします。
[root@user01 DB]# rdblog -R -a
[root@user01 DB]# rdblog -V -a
serial# status total used avail capacity backup-date path
45 icoff 200M 0 200M 0% ------ /dev_symfoware/raw4
46 icoff 200M 0 200M 0% ------ /dev_symfoware/raw5
電子入札調査のSymfowareノウハウ
\\10.83.156.151\d\運用TMショートカット集\Symfowareデータベース関連のシェル
データ上書き
rdbsloader -mi -i XXXX.XXXXXX -t -u 100 /tmp/XXXXXX.CSV
rdbsloader -mi -i データベース名.表のDSI名
データ追加
rdbsaloader -ma -i XXXX.XXXXXX -t /home/xxxxx/XXXXXX.dat
rdbsaloader -ma -i データベース名.表のDSI名
rdbsaloader -ma -i XXXX.XXXXXX -t -j SJIS /home/xxxxx/XXXXXX.CSV
rdbsaloader -ma -i データベース名.表のDSI名
データベーススペースのアクセス禁止解除方法
[root@user01 ~]$ rdbexspc -mattach pmt -p XXXXX000000.XXXXX000000DBSP 👈 アクセス禁止解除
rdbexspc -m { detach | attach [ pmt ] | p }
-p データベース名.データベーススペース名
テーブル定義情報確認
select TRIG_SCHEMA_NAME, TRIG_NAME
from rdbii_system.rdbii_trigger
WITH OPTION LOCK_MODE(NO LOCK)
select SCHEMA_NAME, PROCEDURE_NAME
from rdbii_system.rdbii_proc
WITH OPTION LOCK_MODE(NO LOCK)
select SCHEMA_NAME, SEQUENCE_NAME
from rdbii_system.RDBII_SEQUENCE
WITH OPTION LOCK_MODE(NO LOCK)
select SCHEMA_NAME,TABLE_NAME,NAME
from RDBII_SYSTEM.rdbii_dsi_status
WITH OPTION LOCK_MODE(NO LOCK)