ETERNUS SF AdvancedCopy Manager 運用手引書 13.1 -Solaris-
目次 索引 前ページ次ページ

付録B バックアップ運用におけるサンプルシェルスクリプト> B.3 サンプルシェルスクリプト

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

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

項番

種別

スクリプト名

対応業務名

対象資源種別

1

DB情報の収集

swst_or_iv

Oracle業務

2

バックアップ

swst_or_fs_bk

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

ファイルシステム

3

バックアップ

swst_or_rd_bk

Oracle業務

ローデバイス

B.3.1.1 DB情報の収 

[機能概要]

swst_or_ivは、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

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

[機能概要]

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

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

[機能概要]

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

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2000-2007