ページのトップに戻る
ETERNUS SFAdvancedCopy Manager 13.4 運用手引書

C.4.1 DB2用サンプルシェルスクリプトの概要

AdvancedCopy Managerで提供するDB2用サンプルシェルスクリプトは、次のとおりです。サンプルシェルスクリプトは、/etc/opt/FJSVswsts/sampディレクトリ配下に格納されています。

表C.2 DB2用サンプルシェルスクリプト

項番

種別

シェルスクリプト名

対応業務名

対象資源種別

1

DB情報の収集

swst_db2_iv

DB2業務

2

バックアップ

swst_db2_vg_bk

DB2業務

ローデバイス

注意

データベースがファイルシステム上に存在する場合は、そのデータベースを使用する業務の起動中にバックアップを行うことはできません。

C.4.1.1 DB情報の収集

[機能概要]

swst_db2_ivは、DB2データベースの情報を出力します。

出力するファイル名と内容は次のとおりです。

上記ファイルは、バックアップを行うシェルスクリプトを作成する際の参考資料として使用します。

[起動方法]

swst_db2_iv

[使用例]

# swst_db2_iv
./swst_ db2_iv completed.

[結果例]

spdata.lst
TABLESPACE-NAME      DEVICE-NAME
-------------------- --------------------------------------------------
SYSCATSPACE          /work/ACM_DB2/db2inst1/database/db2inst1/NODE0000/SQL00001/SQLT0000.0
TEMPSPACE1           /work/ACM_DB2/db2inst1/database/db2inst1/NODE0000/SQL00001/SQLT0001.0
USERSPACE1           /work/ACM_DB2/db2inst1/database/db2inst1/NODE0000/SQL00001/SQLT0002.0
ACMTS34              /dev/rlvol34001
SYSTOOLSPACE         /work/ACM_DB2/db2inst1/database/db2inst1/NODE0000/SQL00001/SYSTOOLSPACE

[処理概要]

#!/bin/sh
reterr() --- エラーメッセージを出力、エラー復帰。
sqldata()
{
db2 list tablespaces -------------------------------------- テーブルスペース名称とテーブルスペースIDを取得
db2 list tablespace containers for <テーブルスペースID> --- デバイス名称を取得
}

# main()

# 0) 環境変数の設定
PATH=$PATH:/usr/bin:/usr/sbin

# 1) DB2のテーブルスペース情報の取得
	db2 connect to acmtest1 --- DB2にコネクト
	sqldata
	db2 terminate ------------- DB2切断
exit 0

C.4.1.2 バックアップ

[機能概要]

swst_db2_vg_bkは、ローデバイス上に存在するDB2データベースを使用した業務データをAdvancedCopy Managerを使用してバックアップします。

業務データは、利用者が用意する作業用ディスクにコピーされます。

本シェルスクリプトは、「C.2.1 バックアップ」の処理手順2~4の範囲に対応します。

[起動方法]

swst_db2_vg_bk  {-a | -i}  <volume group name>

[オペランドの説明]

-a : DB2データベースを使用した業務が起動中の場合に指定し、DB2 ServerのデータベースI/Oをサスペンド状態にします。
-i : DB2データベースを使用した業務が停止中の場合に指定し、DB2 ServerのデータベースI/Oをサスペンド状態にしません。
volume group name : バックアップ対象のボリュームグループ名を指定します。

[swst_db2_vg_bkの使用例]

DB2データベースが配置されている/dev/sdb0を業務起動中にバックアップします。
#  swst_db2_vg_bk  -a  /dev/vg01
swst_db2_vg_bk  completed. (/dev/vg01 -> /dev/vg02 at 23:01 on 2005.10.01 )

[swst_db2_vg_bkの処理概要]

#!/bin/sh

usage() --- コマンド構文を出力、エラー復帰。
reterr() --- エラーメッセージを出力、エラー復帰。
sqlbegin()
{
db2 set write suspend for db ---DB2のI/Oをサスペンド状態にします。
sync
}
sqlend()
{
db2 set write resume for db ----DB2のI/Oを再開します。
}
getbd() --- AdvancedCopy Managerのバックアップ(コピー)先デバイスの取り出し。
getdate() --- AdvancedCopy Managerのバックアップ(コピー)日付の取り出し。
gettime() --- AdvancedCopy Managerのバックアップ(コピー)時刻の取り出し。

# main()
パラメーターの解析とローデバイスのチェック

# 0) 環境変数の設定
PATH=$PATH:/usr/bin:/usr/sbin:/opt/FJSVswsts/bin

# 1) DB2のサスペンド
if [ "-a"オペランドの指定 ] 
then
db2 connect to <データベース名称>
sqlbegin()の呼び出し -----DB2のI/Oをサスペンド。
fi

# 2) AdvancedCopy Managerのコマンドでディスクのバックアップ(コピー)
swstbackup $SRC --- ディスクをコピーします。

# 3) DB2の再開
if [ "-a"オペランドの指定 ] 
then
sqlend()の呼び出し --- DB2データベースI/Oを再開します。
db2 terminate --------データベース切断
fi

# 4) AdvancedCopy Managerのバックアップ(コピー)先の入手
DSTBLK="`getbd $SRC`" --- バックアップボリュームを取り出します。
BKDATE="`getdate $SRC`"
BKTIME="`gettime $SRC`"

exit 0