ETERNUS SF AdvancedCopy Manager 運用手引書 13.1 -Solaris- |
目次
索引
![]() ![]() |
付録B バックアップ運用におけるサンプルシェルスクリプト | > B.3 サンプルシェルスクリプト |
AdvancedCopy Managerで提供するサンプルシェルスクリプトは、次のとおりです。サンプルシェルスクリプトは、/etc/opt/FJSVswsts/sampディレクトリ配下に格納されています。
項番 |
種別 |
スクリプト名 |
対応業務名 |
対象資源種別 |
---|---|---|---|---|
1 |
DB情報の収集 |
swst_or_iv |
Oracle業務 |
− |
2 |
バックアップ |
swst_or_fs_bk |
Oracle業務、一般ファイル業務 |
ファイルシステム |
3 |
バックアップ |
swst_or_rd_bk |
Oracle業務 |
ローデバイス |
[機能概要]
swst_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データベースのログファイルの情報
上記ファイルは、バックアップを行うシェルスクリプトを作成する際の参考資料として使用します。
Oracle 9i以降の場合は、swst_or_ivの中で使用しているsvrmgrlコマンドをsqlplusコマンドに置き換えてください。
[起動方法]
swst_or_iv |
[使用例]
# swst_or_iv swst_or_iv completed. |
[結果例]
spdata.lst TABLESPACE-NAME DEVICE-NAME -------------------- -------------------------------------------------- ORA10 /ora1/ora0.dbf ORA20 /ora2/ora0.dbf RBS /oracle/ora/oradata/rbs01.dbf SYSTEM /oracle/ora/oradata/system01.dbf TEMP /oracle/ora/oradata/temp01.dbf TOOLS /oracle/ora/oradata/tools01.dbf USERS /oracle/ora/oradata/users01.dbf spdata.bgn alter tablespace ORA10 begin backup; alter tablespace ORA20 begin backup; alter tablespace RBS begin backup; alter tablespace SYSTEM begin backup; alter tablespace TEMP begin backup; alter tablespace TOOLS begin backup; alter tablespace USERS begin backup; spdata.end alter tablespace ORA10 end backup; alter tablespace ORA20 end backup; alter tablespace RBS end backup; alter tablespace SYSTEM end backup; alter tablespace TEMP end backup; alter tablespace TOOLS 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() { svrmgrl <<! show --- Oracleのログ情報を取得します。 } sqlcont() { svrmgrl <<! 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 |
[機能概要]
swst_or_fs_bkは、ファイルシステム上に存在するOracleデータベース、および一般ファイルを使用した業務データをAdvancedCopy Managerでバックアップします。
業務データは、AdvancedCopy Managerのバックアップボリュームにコピーされます。本スクリプトは、「バックアップ」の処理手順2〜4の範囲に対応します。
[起動方法]
swst_or_fs_bk {-a | -i} <mount-point-name> |
[オペランドの説明]
-a : Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。 -i : Oracleデータベースを使用した業務が停止中の場合、または一般ファイルの 場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言しません。 mount-point-name : バックアップ対象のマウントポイント名を指定します。 |
[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は、ローデバイス上に存在するOracleデータベースを使用した業務データをAdvancedCopy Managerを使用してバックアップします。
業務データは、利用者が用意する作業用ディスクにコピーされます。
本スクリプトは、「バックアップ」の処理手順2〜4の範囲に対応します。
[起動方法]
swst_or_rd_bk {-a | -i} <device name> |
[オペランドの説明]
-a : Oracleデータベースを使用した業務が起動中の場合に指定し、Oracle Serverに対し、バックアップ処理の開始を宣言します。 -i : Oracleデータベースを使用した業務が停止中の場合に指定し、Oracle Server に対し、バックアップ処理の開始を宣言しません。 device name : バックアップ対象のローデバイスパーティション名を指定します。 |
[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 |
目次
索引
![]() ![]() |