附錄 附錄 附錄
附錄 A 搬遷自動處理機制搬遷自動處理機制搬遷自動處理機制搬遷自動處理機制之之之之匯出匯出匯出、匯出、、、入入入入 Shell Script
第一節 第一節 第一節
第一節 匯出匯出匯出 Shell Script 匯出 echo
echo "<---Begin--->" `date +%Y%m%d%T`
[ "$#" -lt 3 ] && echo "Usage : $0 c 01 34 ..." && exit 1 work=/exim
if [ "$2" -eq 00 -o "$2" -eq 99 ] then
if [ "$2" -eq 00 ] # 匯出開始匯出開始匯出開始 匯出開始 sqlplus ………… alter all tablespace read only;
exp FILE="$work/${1}/full_${1}.dmp" full=y rows=n
exp FILE="$work/${1}/${1}.dmp" TRANSPORT_TABLESPACE=y TABLESPACES=all
fi
if [ "$2" -eq 99 ] # 匯出結束匯出結束匯出結束 匯出結束 sqlplus ………… alter all tablespace read write;
fi
echo "<---End--->" `date +%Y%m%d%T`
exit fi
#/c/data01:
#01_01.dbf 05_01.dbf 09_01.dbf 13_01.dbf 17_01.dbf 21_01.dbf cnt=1
while [ "$cnt" -gt 0 ] # 全部匯出才停全部匯出才停全部匯出才停 全部匯出才停 do
cnt=0 for i in 1 2 3 do
cd /${1}/data0${i}
for j in `ls`
do
no=`echo $j|cut -c1-2`
if [ "$no" -ge "$2" -a "$no" -le "$3" ] # check執行範圍執行範圍執行範圍執行範圍 then
if [ -a $work/${1}/${i}/${j}.ok ] # check處理過否處理過否處理過否處理過否 then
echo “““${j}.ok is existed““ “““ # 有有有.ok已完成有 已完成已完成已完成 continue
else
cnt=`expr $cnt + 1`
# check disk space
used=`df -g /home|cut -c41-42`
[ "$used" -ge 80 ] && continue
echo "<---${j}--->" `date +%Y%m%d%T`
dd if=/dev/`ll ${j}|cut -f 3 -d/dev/`
of=$work/${1}/${i}/${j} bs=8192b if [ "$?" -eq 0 ]
then
> $work/${1}/${i}/${j}.ok # 成功產生成功產生成功產生.ok 成功產生 else
echo "dd error"
fi fi fi done done
echo "<---remainder:${cnt}--->" `date +%Y%m%d%T`
sleep 60 done
echo "<---End--->" `date +%Y%m%d%T`
echo "<---Total${1}--->" `ls /exim/${1}/?/*.ok|wc -l`
第二節 第二節 第二節
第二節 匯入匯入匯入 Shell Script 匯入
echo
echo "<---Begin--->" `date +%Y%m%d%T`
[ "$#" -lt 3 ] && echo "Usage : $0 c 01 34 ..." && exit 1 work=/home2/exim
if [ "$2" -eq 00 ] # 匯入開始-匯入開始-匯入開始-Import Schema 匯入開始-
ftp ……… get full_${1}.dmp … ftp ……… get ${1}.dmp …
imp FILE="$work/${1}/full_${1}.dmp" ignore=y buffer=5000000 full=y sqlplus ………… drop all table;
sqlplus ………… drop all tablespace INCLUDING CONTENTS;
echo "<---End--->" `date +%Y%m%d%T`
exit fi
if [ "$2" -eq 99 ] # 匯入結束-匯入結束-匯入結束-Import data Information 匯入結束-
imp parFILE="$work/${1}/${1}_para"
echo "<---End--->" `date +%Y%m%d%T`
exit fi
#/c/data01:
#01_01.dbf 05_01.dbf 09_01.dbf 13_01.dbf 17_01.dbf 21_01.dbf cnt=1
while [ "$cnt" -gt 0 ] # 全部匯入才停全部匯入才停全部匯入才停 全部匯入才停 do
cnt=0 for i in 1 2 3 do
cd /${1}/data0${i}
for j in `ls`
do
no=`echo $j|cut ––––c1-2`
if [ "$no" -ge "$2" -a "$no" -le "$3" ] then
if [ -a $work/${1}/${i}/${j}.done ] then
echo "${j}.done is existed“““ # 有“ 有有有.done 已完成已完成已完成已完成 else
cnt=`expr $cnt + 1
used=`df -g /home2|cut -c40-41`
[ "$used" -ge 80 ] && continue cd $work/${1}/${i}
ftp ……… get ${j}.ok …
if [ -a $work/${1}/${i}/${j}.ok ] then
echo "<---start ftp--->" `date +%Y%m%d%T`
cd $work/${1}/${i}
ftp ……… get ${j} …
echo "<---end ftp--->" `date +%Y%m%d%T`
cd /${1}/data0${i}
echo "<---${j}--->" `date +%Y%m%d%T`
dd of=/dev/`ll ${j}|cut -f 3 -d/dev/`
if=$work/${1}/${i}/${j} bs=8192b if [ "$?" -eq 0 ]
then # 成功產生成功產生成功產生.done 成功產生
> $work/${1}/${i}/${j}.done ftp ……… delete ${j} …
else
echo "dd error"
fi fi
fi fi done done
echo "<---remainder:${cnt}--->" `date +%Y%m%d%T`
sleep 60 done
echo "<---End--->" `date +%Y%m%d%T`
echo "<---Total${1}--->" `ls $work/${1}/?/*.done|wc -l`
附錄 附錄附錄
附錄 B 資料庫搬遷記錄資料庫搬遷記錄資料庫搬遷記錄資料庫搬遷記錄
採用「EXPORT/IMPORT TRANSPORT_TABLESPACE+dd」方案進行搬遷,
北區資料庫 6 個、中區資料庫 3 個、南區資料庫 3 個 Process 同時執行-將 Database 的 Raw Device dd 成 IBM 的 File。同時,新主機也是北區資料庫 6 個、中區資料 庫 3 個、南區資料庫 3 個 Process 同時執行-ftp get 及 dd 到 Database 的 Raw Device
(至於事先 Import 整個資料庫 Schema、及事後 Import bdf 之時間很短只需幾分 鐘,故省略)。總計費時一個多禮拜,瓶頸在 FTP 速度。以下是執行時間表列。
(表 8.1 特別標明部份為最晚結束時間)
表 8.1 資料庫搬遷記錄
程序 dd 成 file 開始時間 dd 成 file 結束時間
ftp get 及
dd 回 raw device 開始時間
ftp get 及
dd 回 raw device 結束時間
n1 2006030221:25:00 2006030815:07:05 2006030320:12:00 2006030905:10:23 n2 2006030221:25:00 2006030812:51:23 2006030320:12:00 2006030906:08:19 n3 2006030221:25:00 2006030812:02:45 2006030320:12:00 2006030908:17:09 n4 2006030221:25:00 2006030811:43:47 2006030320:12:00 2006030908:21:42 n5 2006030221:25:00 2006030816:45:58 2006030320:12:00 2006030907:46:35 n6 2006030221:25:00 2006030919:36:44 2006030320:12:00 2006031007:16:52 c1 2006030221:25:00 2006030823:09:08 2006030318:17:00 2006030904:37:18 c2 2006030221:25:00 2006030819:56:09 2006030318:17:00 2006030822:55:11 c3 2006030221:25:00 2006030912:30:30 2006030318:17:00 2006030921:54:47 s1 2006030221:25:00 2006030905:34:35 2006030319:40:00 2006030915:53:38 s2 2006030221:25:00 2006030909:31:30 2006030319:40:00 2006030920:57:03 s3 2006030221:25:00 2006030919:33:21 2006030319:40:00 2006031011:10:37
和各搬遷方案評估時,小量測試估計的時間十分接近:
1. EXPORT/IMPORT TRANSPORT_TABLESPACE+dd Process:12(N6/C3/S3)
約 7 Days
5. FTP:測試取得兩種數據
1.348GB:20 min. =>5TB:52 Days | Process:12=> 5 Days
0.646GB:28 min. =>5TB:151 Days | Process:12=> 13 Days
=> 取平均為 9 Days
附錄 附錄 附錄
附錄 C 專有名詞中英對照表專有名詞中英對照表專有名詞中英對照表專有名詞中英對照表
表 8.2 專有名詞中英對照表 專有
名詞 英文全名 中文解釋
VLDB Very Large Database 超大型資料倉儲 CDRS Call Detail Record System 電話通聯記錄系統
Mutex Mutual Exclusion Object 同步處理物件,用於進行處理序之間的同 步處理
IN Intelligent Network 智慧型網路,就是將具有智慧的機能加入 網路中,以使能迅速提供各種新服務。
CDR Call Detail Record 電話通聯記錄
OMC Operation Maintenance Center 各電信營運處的交換維運中心 OAYP Operator Assistant Yellow Page 查號加值服務系統
VoIP Voice over Internet Protocol IP 網路電話,透過寬頻上網之後撥打電話 CRIS Call Record Inquiring System 客戶資料及通聯紀錄查詢系統
UMD Universal Mediation Device 泛用式中介系統