AdvancedCopy Managerで提供するサンプルシェルスクリプトは、以下のとおりです。サンプルシェルスクリプトは、バックアップ管理機能向けは/etc/opt/FJSVswsts/sampディレクトリ配下、レプリケーション管理機能向けは/etc/opt/FJSVswsrp/sampディレクトリ配下に格納されています。
項番 | 種別 | バックアップ管理機能向けシェルスクリプト名 | レプリケーション管理機能向けシェルスクリプト名 | 対応業務名 | 対象資源種別 |
|---|---|---|---|---|---|
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業務 | 論理ボリューム |
バックアップ管理機能向けサンプルシェルスクリプト(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データベースのログファイルの情報 |
バックアップ管理機能向けサンプルシェルスクリプト
起動方法
swst_or_iv
使用例
# swst_or_iv swst_or_iv completed.
結果例
spdata.lst TABLESPACE-NAME DEVICE-NAME -------------------- -------------------------------------------------- SYSAUX /oracle/ora/oradata/sysaux01.dbf SYSTEM /oracle/ora/oradata/system01.dbf UNDOTBS1 /oracle/ora/oradata/undotbs01.dbf USERS /oracle/ora/oradata/users01.dbf spdata.bgn alter tablespace SYSAUX begin backup; alter tablespace SYSTEM begin backup; alter tablespace UNDOTBS1 begin backup; alter tablespace USERS begin backup; spdata.end alter tablespace SYSAUX end backup; alter tablespace SYSTEM end backup; alter tablespace UNDOTBS1 end backup; alter tablespace USERS end backup; spcont.lst NAME TYPE VALUE ----------------------------------- ------- ------------------------------ control_files 文字列 /oracle/ora/oradata/control splog.lst NAME TYPE VALUE ----------------------------------- ------- ------------------------------ log_archive_dest 文字列 /oracle/ora/oradata/archive
処理概要
#!/bin/sh
reterr() --- エラーメッセージを出力、エラー復帰。
sqldata()
{
sqlplus AAA/BBB <<!
SELECT --- Oracleのテープルスペース情報を取得します。
}
sqllog()
{
sqlplus AAA/BBB <<!
show --- Oracleのログ情報を取得します。
}
sqlcont()
{
sqlplus AAA/BBB <<!
show --- Oracleの制御情報を取得します。
}
# main()
# 0) 環境変数の設定
PATH=$PATH:/usr/bin:/usr/sbin:/opt/FJSVswsts/bin
# 1) Oracleのテーブルスペース情報の取得
sqldata()の呼び出し --- Oracleのテーブルスペース情報を取得します。
# 2) Oracleのログ情報の取得
sqllog()の呼び出し --- Oracleのログ情報を取得します。
# 3) Oracleの制御情報の取得
sqlcont()の呼び出し--- Oracleの制御情報を取得します。
exit 0レプリケーション管理機能向けサンプルシェルスクリプト
起動方法
swsrp_or_iv
使用例
# swsrp_or_iv swsrp_or_iv completed.
結果例
spdata.lst TABLESPACE-NAME DEVICE-NAME -------------------- -------------------------------------------------- SYSAUX /oracle/ora/oradata/sysaux01.dbf SYSTEM /oracle/ora/oradata/system01.dbf UNDOTBS1 /oracle/ora/oradata/undotbs01.dbf USERS /oracle/ora/oradata/users01.dbf spdata.bgn alter tablespace SYSAUX begin backup; alter tablespace SYSTEM begin backup; alter tablespace UNDOTBS1 begin backup; alter tablespace USERS begin backup; spdata.end alter tablespace SYSAUX end backup; alter tablespace SYSTEM end backup; alter tablespace UNDOTBS1 end backup; alter tablespace USERS end backup; spcont.lst NAME TYPE VALUE ----------------------------------- ------- ------------------------------ control_files 文字列 /oracle/ora/oradata/control splog.lst NAME TYPE VALUE ----------------------------------- ------- ------------------------------ log_archive_dest 文字列 /oracle/ora/oradata/archive
処理概要
#!/bin/sh
reterr() --- エラーメッセージを出力、エラー復帰。
sqldata()
{
sqlplus AAA/BBB <<!
SELECT --- Oracleのテープルスペース情報を取得します。
}
sqllog()
{
sqlplus AAA/BBB <<!
show --- Oracleのログ情報を取得します。
}
sqlcont()
{
sqlplus AAA/BBB <<!
show --- Oracleの制御情報を取得します。
}
# main()
# 0) 環境変数の設定
PATH=$PATH:/usr/bin:/usr/sbin:/opt/FJSVswsrp/bin
# 1) Oracleのテーブルスペース情報の取得
sqldata()の呼び出し --- Oracleのテーブルスペース情報を取得します。
# 2) Oracleのログ情報の取得
sqllog()の呼び出し --- Oracleのログ情報を取得します。
# 3) Oracleの制御情報の取得
sqlcont()の呼び出し--- Oracleの制御情報を取得します。
exit 0機能概要
バックアップ管理機能向けサンプルシェルスクリプト(swst_or_fs_bk)は、ファイルシステム上に存在するOracleデータベースおよび一般ファイルの業務データをAdvancedCopy Managerでバックアップします。
業務データは、AdvancedCopy Managerのバックアップボリュームにコピーされます。本シェルスクリプトは、「B.1.1 バックアップの手順」の処理手順2~4の範囲に対応します。
起動方法
swst_or_fs_bk {-a | -i} mountPointName |
オプションの説明
Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。
Oracleデータベースを使用した業務が停止中の場合、または一般ファイルの場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。
オペランドの説明
バックアップ対象のマウントポイント名を指定します。
swst_or_fs_bkの使用例
Oracleデータベースが配置されている/gyoumu_dbを業務起動中にバックアップします。
# swst_or_fs_bk -a /gyoumu_db swst_or_fs_bk completed. ( /gyoumu_db -> /dev/dsk/c1t3d0s2 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 |
機能概要
バックアップ管理機能向けサンプルシェルスクリプト(swst_or_rd_bk)は、AdvancedCopy Managerを使用して、ローデバイス上に存在するOracleデータベースの業務データをバックアップします。
業務データは、利用者が用意する作業用ディスクにコピーされます。
本シェルスクリプトは、「B.1.1 バックアップの手順」の処理手順2~4の範囲に対応します。
起動方法
swst_or_rd_bk {-a | -i} deviceName |
オプションの説明
Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。
Oracleデータベースを使用した業務が停止中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。
オペランドの説明
バックアップ対象のローデバイスパーティション名を指定します。
swst_or_rd_bkの使用例
Oracleデータベースが配置されている/dev/rdsk/c0t0d0s0を業務起動中にバックアップします。
# swst_or_rd_bk -a /dev/rdsk/c0t0d0s6 swst_or_rd_bk completed. ( /dev/rdsk/c0t0d0s6 -> /dev/rdsk/c1t3d0s2 at 23:01 on 1999.11.01 ) |
swst_or_rd_bkの処理概要
#!/bin/sh
usage() --- コマンド構文を出力、エラー復帰。
reterr() --- エラーメッセージを出力、エラー復帰。
get_chr_blk() --- キャラクターデバイスからブロックデバイスへの変換。
get_blk_chr() --- ブロックデバイスからキャラクターデバイスへの変換。
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`" --- バックアップボリュームを取り出します。
DST="`get_blk_chr $DSTBLK`"
BKDATE="`getdate $SRC`"
BKTIME="`gettime $SRC`"
exit 0 |
機能概要
レプリケーション管理機能向けサンプルシェルスクリプト(swsrp_or_lv_bk)は、AdvancedCopy Managerを使用して、論理ボリューム上に存在するOracleデータベースの業務データをバックアップします。
業務データは、利用者が用意する作業用ディスクにコピーされます。
本シェルスクリプトは、「B.1.1 バックアップの手順」の処理手順2~4の範囲に対応します。
起動方法
swsrp_or_lv_bk {-a | -i} fromVolumeName toVolumeName |
オプションの説明
Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。
Oracleデータベースを使用した業務が停止中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。
オペランドの説明
バックアップ対象(複製元)のボリューム名を指定します。
swsrpsetvolコマンドで設定した複製元ボリュームを指定します。
バックアップ先(複製先)のボリューム名を指定します。
swsrpsetvolコマンドで設定した複製先ボリュームを指定します。
swsrp_or_lv_bkの使用例
Oracleデータベースが配置されている論理ボリューム/dev/dsk/c0t0d0s0を業務起動中に、別サーバに接続されている論理ボリューム/dev/dsk/c1t3d0s2@TARG-SVへバックアップします。
# swsrp_or_lv_bk -a /dev/dsk/c0t0d0s0 /dev/dsk/c1t3d0s2@TARG-SV swsrp_or_lv_bk completed. ( /dev/dsk/c0t0d0s0 -> /dev/dsk/c1t3d0s2@TARG-SV at 23:01 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`" --- バックアップボリュームを取り出します。
BKDATE="`getdate $FROM_VOL`"
BKTIME="`gettime $FROM_VOL`"
exit 0 |