ページの先頭行へ戻る
ETERNUS SF AdvancedCopy Manager 16.9 運用ガイド
FUJITSU Storage

B.2.1 サンプルシェルスクリプトの概要

AdvancedCopy Managerで提供するサンプルシェルスクリプトは、以下のとおりです。サンプルシェルスクリプトは、バックアップ管理機能向けは/etc/opt/FJSVswsts/sampディレクトリ配下、レプリケーション管理機能向けは/etc/opt/FJSVswsrp/sampディレクトリ配下に格納されています。

表B.1 サンプルシェルスクリプト

項番

種別

バックアップ管理機能向けシェルスクリプト名

レプリケーション管理機能向けシェルスクリプト名

対応業務名

対象資源種別

1

DB情報の収集

swst_or_iv

swsrp_or_iv

Oracle業務

2

バックアップ

swst_or_fs_bk

なし

Oracle業務、一般ファイル業務

ファイルシステム

3

バックアップ

swst_or_rd_bk

なし

Oracle業務

ローデバイス

4

バックアップ

なし

swsrp_or_lv_bk

Oracle業務

論理ボリューム

B.2.1.1 DB情報の収集

バックアップ管理機能向けサンプルシェルスクリプト(swst_or_iv)またはレプリケーション管理機能向けサンプルシェルスクリプト(swsrp_or_iv)は、Oracleデータベースの情報を出力します。

出力するファイル名と内容は、以下のとおりです。これらのファイルは、バックアップを行うシェルスクリプトを作成する際の参考資料として使用します。

ファイル名

内容

spdata.lst

テーブルスペース名と格納先の一覧

spdata.srt

格納先をキーにして、spdata.lstの内容を並べ替えたもの

spdata.bgn

以下の形式のコマンド

tablespace テーブルスペース名 begin backup;

spdata.end

以下の形式のコマンド

tablespace テーブルスペース名 end backup;

spcont.lst

Oracleデータベースの制御ファイルの情報

splog.lst

Oracleデータベースのログファイルの情報

バックアップ管理機能向けサンプルシェルスクリプト

レプリケーション管理機能向けサンプルシェルスクリプト

B.2.1.2 ファイルシステムのバックアップ

機能概要

バックアップ管理機能向けサンプルシェルスクリプト(swst_or_fs_bk)は、ファイルシステム上に存在するOracleデータベースおよび一般ファイルの業務データをAdvancedCopy Managerでバックアップします。

業務データは、AdvancedCopy Managerのバックアップボリュームにコピーされます。

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

起動方法

swst_or_fs_bk {-a | -i} mountPointName

オプションの説明

-a

Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。

-i

Oracleデータベースを使用した業務が停止中の場合、または一般ファイルの場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。

オペランドの説明

mountPointName

バックアップ対象のマウントポイント名を指定します。

swst_or_fs_bkの使用例

Oracleデータベースが配置されている/gyoumu_dbを業務起動中にバックアップします。

# swst_or_fs_bk -a /gyoumu_db
swst_or_fs_bk  completed. ( /gyoumu_db -> /dev/sdb2 at 23:00 on 1999.11.01 )

swst_or_fs_bkの処理概要

#!/bin/sh
usage() --- コマンド構文を出力、エラー復帰。
reterr() --- エラーメッセージを出力、エラー復帰。
chkmp() --- マウントポイントが存在するかのチェック。
get_mp_blk() --- マウントポイントからブロックデバイスへの変換。
getfs() --- マウントポイントからファイルシステムの種別への変換。
sqlbegin()
{
sqlplus AAA/BBB <<!
alter system switch logfile;
alter system flush shared_pool;
alter tablespace CCC begin backup; --- Oracleにバックアップ開始を通知します。
}
sqlend()
{
sqlplus AAA/BBB <<!
alter tablespace CCC end backup; --- Oracleにバックアップ停止を通知します。
}
getbd() --- AdvancedCopy Managerのバックアップ(コピー)先デバイスの取り出し。
getdate() --- AdvancedCopy Managerのバックアップ(コピー)日付の取り出し。
gettime() --- AdvancedCopy Managerのバックアップ(コピー)時刻の取り出し。

# main()
パラメーターの解析とマウントポイントのチェック

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

# 1) Oracleへのバックアップ開始の通知
if [ "-a"オペランドの指定 ]
then
sqlbegin()の呼び出し --- Oracleにバックアップ開始を通知します。
エラー処理
fi

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

# 3) Oracleへのバックアップ停止の通知
if [ "-a"オペランドの指定 ]
then
sqlend()の呼び出し--- Oracleにバックアップ停止を通知します。
エラー処理
fi

# 4) AdvancedCopy Managerのバックアップ(コピー)先の入手
BDBLK="`getbd $UDBLK`" --- バックアップボリュームをキャラクターデバイスとして取り出します。
BDDATE="`getdate $UDBLK`"--- バックアップ日付を取り出します。
BDTIME="`gettime $UDBLK`"--- バックアップ時刻を取り出します。

exit 0

B.2.1.3 ローデバイスのバックアップ

機能概要

バックアップ管理機能向けサンプルシェルスクリプト(swst_or_rd_bk)は、AdvancedCopy Managerを使用して、ローデバイス上に存在するOracleデータベースの業務データをバックアップします。

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

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

起動方法

swst_or_rd_bk {-a | -i} rawDeviceName blockDeviceName

オプションの説明

-a

Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。

-i

Oracleデータベースを使用した業務が停止中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。

オペランドの説明

rawDeviceName

バックアップ対象のローデバイスパーティション名を指定します。

blockDeviceName

バックアップ対象のブロックデバイスパーティション名を指定します。

swst_or_rd_bkの使用例

Oracleデータベースが配置されている/dev/sdb0を業務起動中にバックアップします。

# swst_or_rd_bk -a /dev/raw/raw1 /dev/sdb6
swst_or_rd_bk completed. ( /dev/sdb6 -> /dev/sdb2 at 23:01 on 1999.11.01 )

swst_or_rd_bkの処理概要

#!/bin/sh

usage() --- コマンド構文を出力、エラー復帰。
reterr() --- エラーメッセージを出力、エラー復帰。
sqlbegin()
{
sqlplus AAA/BBB <<!
alter system switch logfile;
alter system flush shared_pool;
alter tablespace CCC begin backup; --- Oracleにバックアップ開始を通知します。
}
sqlend()
{
sqlplus AAA/BBB <<!
alter tablespace CCC end backup; --- Oracleにバックアップ停止を通知します。
}
getbd() --- AdvancedCopy Managerのバックアップ(コピー)先デバイスの取り出し。
getdate() --- AdvancedCopy Managerのバックアップ(コピー)日付の取り出し。
gettime() --- AdvancedCopy Managerのバックアップ(コピー)時刻の取り出し。

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

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

# 1) Oracleへのバックアップ開始の通知
if [ "-a"オペランドの指定 ]
then
sqlbegin()の呼び出し --- Oracleにバックアップ開始を通知します。
エラー処理
fi

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

# 3) Oracleへのバックアップ停止の通知
if [ "-a"オペランドの指定 ]
then
sqlend()の呼び出し--- Oracleにバックアップ停止を通知します。
エラー処理
fi

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

exit 0

B.2.1.4 論理ボリュームのバックアップ

機能概要

レプリケーション管理機能向けサンプルシェルスクリプト(swsrp_or_lv_bk)は、AdvancedCopy Managerを使用して、論理ボリューム上に存在するOracleデータベースの業務データをバックアップします。

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

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

起動方法

swsrp_or_lv_bk {-a | -i} fromVolumeName toVolumeName

オプションの説明

-a

Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。

-i

Oracleデータベースを使用した業務が停止中の場合、または、一般ファイルの場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。

オペランドの説明

fromVolumeName

バックアップ対象(複製元)のボリューム名を指定します。

swsrpsetvolコマンドで設定した複製元ボリュームを指定します。

toVolumeName

バックアップ先(複製先)のボリューム名を指定します。

swsrpsetvolコマンドで設定した複製先ボリュームを指定します。

swsrp_or_lv_bkの使用例

Oracleデータベースが配置されている論理ボリューム/dev/sdb3を、業務起動中に、別サーバに接続されている論理ボリューム/dev/sdb3@TARG-SVへバックアップします。

# swsrp_or_lv_bk -a /dev/sdb3 /dev/sdb3@TARG-SV
swsrp_or_lv_bk  completed. ( /dev/sdb3 -> /dev/sdb3@TARG-SV at 23:00 on 1999.11.01 )

swsrp_or_lv_bkの処理概要

#!/bin/sh
usage() --- コマンド構文を出力、エラー復帰。
reterr() --- エラーメッセージを出力、エラー復帰。
sqlbegin()
{
sqlplus AAA/BBB <<!
alter system switch logfile;
alter system flush shared_pool;
alter tablespace CCC begin backup; --- Oracleにバックアップ開始を通知します。
}
sqlend()
{
sqlplus AAA/BBB <<!
alter tablespace CCC end backup; --- Oracleにバックアップ停止を通知します。
}
getbvol() --- AdvancedCopy Managerのバックアップ(コピー)先ボリュームの取り出し。
getdate() --- AdvancedCopy Managerのバックアップ(コピー)日付の取り出し。
gettime() --- AdvancedCopy Managerのバックアップ(コピー)時刻の取り出し。

# main()
パラメーターの解析とマウントポイントのチェック

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

# 1) Oracleへのバックアップ開始の通知
if [ "-a"オペランドの指定 ]
then
sqlbegin()の呼び出し --- Oracleにバックアップ開始を通知します。
エラー処理
fi

# 2) AdvancedCopy Managerのコマンドでディスクのバックアップ(コピー)
swsrpmake $FROM_VOL $TO_VOL --- ディスクをコピーします。
エラー処理

# 3) Oracleへのバックアップ停止の通知
if [ "-a"オペランドの指定 ]
then
sqlend()の呼び出し--- Oracleにバックアップ停止を通知します。
エラー処理
fi

# 4) AdvancedCopy Managerのバックアップ(コピー)先の入手
BKVOL="`getbvol $FROM_VOL`" --- バックアップボリュームを取り出します。
BDDATE="`getdate $FROM_VOL`"--- バックアップ日付を取り出します。
BDTIME="`gettime $FROM_VOL`"--- バックアップ時刻を取り出します。

exit 0