一個資料倉儲資料重新整理的實現機制(八)

zhyuh發表於2005-04-07

shell refresh_all

透過6次呼叫指令碼refresh_schema,重新整理6各國家所有指定的資料庫物件

[@more@]

該指令碼比較簡單,就是6次呼叫refresh_schema。

在前面加上環境變數,以使能透過cron呼叫自動執行該指令碼。

為了能並行重新整理,每條命令後面加了&符號。

用法:

$refresh_all

shell refresh_all指令碼如下:

#############################################################
#
# Purpose: refresh all the necessary objects required by EDEN project
#
# Usage: refresh_all
#        If  there are more/less schemas' objects to be refreshed,
#        please add/delete the command here
#        To add: refresh_schema SCHEMA SCHEMA_PASSWORD SCHEMA2 SCHEMA_PASSWORD2
#
# by James.Yu TCS China
# Dec-19-2004
#
#############################################################

#!/usr/bin/bash

ORACLE_SID=service_name                           ; export ORACLE_SID
ORACLE_HOME=/oraclenew/app/oracle/product/9ias_1021; export ORACLE_HOME
ORACLE_BASE=/oraclenew/app/oracle  ; export ORACLE_BASE
ORACLE_PATH=${ORACLE_HOME}/rdbms/aps       ; export ORACLE_PATH
PATH=${PATH}:$ORACLE_HOME/bin:/usr/ccs/bin ; export PATH
PATH=${PATH}:/usr/openwin/bin              ; export PATH
PATH=${PATH}:/oracle/tools/bin             ; export PATH
PATH=${PATH}:$II_SYSTEM/ingres/bin:$II_SYSTEM/ingres/utility; export PATH
PATH=${PATH}:/erdb/bin; export PATH
LD_LIBRARY_PATH=${PATH}:$ORACLE_HOME/lib   ; export LD_LIBRARY_PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/oracle/tools/lib  ; export LD_LIBRARY_PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/openwin/lib   ; export LD_LIBRARY_PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/dt/lib        ; export LD_LIBRARY_PATH
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1               ; export NLS_LANG 
TNS_ADMIN=$ORACLE_HOME/network/admin/;export TNS_ADMIN

#################################
# Main
#################################

/usr/bin/bash /erdb/bin/refresh_schema EDENFR passowrdfr EWRFRMASTER passowrdfr2 &
/usr/bin/bash /erdb/bin/refresh_schema EDENUK passowrduk  EWRUKMASTER passowrduk2 &
/usr/bin/bash /erdb/bin/refresh_schema EDENES passowrdes  EWRESMASTER passowrdes2 &
/usr/bin/bash /erdb/bin/refresh_schema EDENDE passowrdde  EWRDEMASTER passowrdde2 &
/usr/bin/bash /erdb/bin/refresh_schema EDENIT passowrdit  EWRITMASTER passowrdit2 &
/usr/bin/bash /erdb/bin/refresh_schema EDENPO passowrdpo  EWRPOMASTER passowrdpo2 &

cron裡面呼叫:

$crontab -l

00 04 * * 1,2,3,4,5,6 /erdb/bin/refresh_all 2> /erdb/log/refresh_all_cron.log

......

其中透過cron呼叫該指令碼時碰到了一些問題,可以參考文件

http://blog.itpub.net/post/334/14066

http://blog.itpub.net/post/334/14486

http://blog.itpub.net/post/334/14680

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/207/viewspace-795327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章