在執行之前,請務必照著步驟說明操作,請務必確認所有資料庫刪除與程式覆蓋之前的操作,都必須是在測試區(toptest),這點必須再每次操作前特別注意。
一、資料庫備份
- 將正式區(topprod)資料庫備份
exp ds/ds file=XXX.dmp log=ds_130829.log
exp ds1/ds1 file=XXX.dmp log=ds1_130829.log
exp ds2/ds2 file=XXX.dmp log=ds2_130829.log
- 將測試區(toptest)DS資料庫備份
測試區一般只有DS資料庫比較重要,所以只要備份DS資料庫就好,如果有其他需求,就必須另外備份所需的資料庫
exp ds/ds file=XXX.dmp log=ds_test130829.log - 砍掉測試區(toptest)的資料庫
切換到測試區(toptest),再使用DBA帳號登入資料庫:
sqlplus ‘/as sysdba’
Drop user ds cascade; →砍掉DS
Drop user ds1 cascade; →砍掉DS1
注意:使用Drop指令前一定要再三確定是不是登入到測試區的資料庫,不然砍掉正式區的DB就尷尬了。 - Import正式區(topprod)資料庫到測試區(toptest)
切換到測試區(toptest),移到正式區資料庫放置的目錄,先建立空的資料庫,方法有二:
a. 使用createdb的方式可參考下列文章:
TIPTOP系統管理--Createdb用法
b. 直接進DB建立新資料庫可參考下列文章:
OracleDB-直接在資料庫建立空的資料庫
c. 當空資料庫建立完畢,請執行
imp ds/ds file=XXX.dmp full=y
imp ds1/ds1 file=XXX.dmp full=y
imp ds2/ds2 file=XXX.dmp full=y - 重新整理測試區(toptest)的DS資料庫
登入測試區(toptest)後,再切換到測試區下列目錄:
cd $TOP/tiptop/ora/work
使用ds登入sqlplus,執行@ttpk_ora; 及 @function。
執行r.s2 ds
二、程式備份
- 將正式區(topprod)的程式備份
在TIPTOP各區的標準區($TOP)裡,有許多目錄跟檔案是跟License有關,所以在備份檔案時,要特別注意不能直接備份,萬一蓋掉該區的設定與License就麻煩了。所以在標準區的程式備份我們只備a/g/l/q/s的目錄。 - 切換到正式區(topprod)
- 進入標準區($TOP)
cd $TOP - 打包程式
tar cvf std-top_130829.tar [aglqs]?? - 進入客制區($CUST)
cd $CUST - 打包程式
tar cvf std-cust_130829.tar *
客制區沒有License檔案問題,所以可以直接全部打包。 - 將測試區(toptest)的程式備份
在測試區的程式備份,我們只是以防萬一,什麼事都要先做好備案,所以就全部包起來就可以了。 - 切換到測試區(toptest)
- 進入標準區($TOP)
cd $TOP - 打包程式
tar cvf test-top_130829.tar * - 進入客制區($CUST)
cd $CUST - 打包程式
tar cvf test-cust_130829.tar * - 將正式區(topprod)程式搬到測試區(toptest)解壓縮
- 切換到測試區(toptest)
- 把正式區打包好的標準區程式搬到測試區$TOP目錄下
cd $TOP
tar vfx std-top_130829.tar - 把正式區打包好的測試區程式搬到測試區$CUST目錄下
cd $CUST
tar vfx test-top_130829.tar - 重新整理測試區(toptest)程式
- 切換到測試區(toptest)
- 針對全系統做rebuild動作→我個人認為,再做一次會比較保險。
- 重新調整目錄(p_zm)
- 執行p_mis,可參考下文
TIPTOP-系統資料重整作業(p_mis)
在整篇文章我都不厭其煩的在每個步驟都說明切換到XX區,這是因為這篇文章所說的每一個步驟操作對於系統來說都是影響重大,只要執行到該步驟時區域切換錯誤,就很可能造成正式區系統操作異常,所以一定要特別注意。
沒有留言:
張貼留言