echo "Usage : $0 c 01 34 ...&#34

全文

(1)

附錄 附錄 附錄

附錄 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

(2)

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

(3)

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

(4)

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`

(5)

附錄 附錄附錄

附錄 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

(6)

0.646GB:28 min. =>5TB:151 Days | Process:12=> 13 Days

=> 取平均為 9 Days

(7)

附錄 附錄 附錄

附錄 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 泛用式中介系統

數據

Updating...

參考文獻

Updating...

相關主題 :