1. 개요
자작 스크립트이니 사용시 유의하여 주시기 바랍니다.
2. 스크립트
#!/bin/ksh # | # | FILENAME # | mtz.sh.sh # | # | DESCRIPTION # | Multi Time Zone Configurator # | # | USAGE # | mtz.sh {dbTier|cmTier|apTier|dbTierRemove|cmTierRemove|apTierRemove|CloneCfg} # | # | PLATFORM # | Unix Generic # | # | NOTES # | # | HISTORY # | # +===========================================================================+ # # : ${YY=`date +%Y`} ${MM=`date +%m`} ${DD=`date +%d`} ${HH=`date +%H`} ${MI=`date +%M`} ${SS=`date +%S`} CheckUtilityPath() { CHECK_RESULT=0 for FILE_NAME in $* do WHICH_FILE_NAME=`which $FILE_NAME` if [ $? -eq 0 ] then echo "Checking for $FILE_NAME ... found - $WHICH_FILE_NAME" else echo "Checking for $FILE_NAME ... Unable to locate $FILE_NAME utility in path" CHECK_RESULT=1 fi done if [ $CHECK_RESULT -eq 1 ] then echo "\nUnable to locate all utilities with system path." echo "\nWARNING: Could not find all the required OS utilities in the \$PATH. Please review the checks above\n" exit fi } DefineMTZInventory() { MTZ_INV=$TZ_ORACLE_HOME/mtzInventory MTZ_BACKUP_DIR=$MTZ_INV/${YY}${MM}${DD}${HH}${MI}${SS} MTZ_DB_CONN_LOG=$MTZ_INV/db_conn_test.log MTZ_CONFIRM_USER_LOG=$MTZ_INV/.confirm_user.log MTZ_NEW_MTZ_USER_CREATE=$MTZ_INV/.fnd_user_pkg_create_user.log MTZ_NEW_MTZ_USER_RESP=$MTZ_INV/.confirm_user_resp.log mkdir $MTZ_INV 2>/dev/null MTZ_INV_RETURN=$? if [ $MTZ_INV_RETURN -eq 0 ] then echo "\nMulti Time Zone Inventory ($MTZ_INV) created completed !\n" mkdir $MTZ_BACKUP_DIR elif [ $MTZ_INV_RETURN -eq 2 ] then mkdir $MTZ_BACKUP_DIR if [ $? -ne 0 ] then echo "\nERROR: Needs to have to write permissions on $MTZ_INV" echo " Please check directory $MTZ_INV\n" exit fi echo "\nDetected already existing Multi Time Zone Inventory ($MTZ_INV) !\n" else echo "\nERROR: MTZ Inventory ($MTZ_INV) created failed" echo " Please check directory $MTZ_INV\n" exit fi } DefineCommonServerInfo() { ##################################################### ### Define DB Server Node Name ##################################################### TZ_DB_SERVER_TMP=`grep s_dbhost $CONTEXT_FILE | sed 's/^.*s_dbhost[^>.]*>[ ]*\([^<]*\)<.*/\1/g; s/ *$//g'` read TZ_DB_SERVER?"Enter the Database Server Node Name [ $TZ_DB_SERVER_TMP ] : " if [ -z "$TZ_DB_SERVER" ] then TZ_DB_SERVER=$TZ_DB_SERVER_TMP fi ##################################################### ### Define DB Server Domain Name ##################################################### TZ_SERVER_DOMAIN_TMP=`grep s_domainname $CONTEXT_FILE | sed 's/^.*s_domainname[^>.]*>[ ]*\([^<]*\)<.*/\1/g; s/ *$//g'` read TZ_SERVER_DOMAIN?"Enter the Database Server Domain Name [ $TZ_SERVER_DOMAIN_TMP ] : " if [ -z "$TZ_SERVER_DOMAIN" ] then TZ_SERVER_DOMAIN=$TZ_SERVER_DOMAIN_TMP fi } AppsInfo() { read TZ_APPS_PWD?"Enter the APPS password [ APPS ] : " if [ -z "${TZ_APPS_PWD}" ] then TZ_APPS_PWD=APPS fi } DatabaseConnTest() { sqlplus apps/${1} << ! > ${2} select 'Database Name : '||name||'' from v\$database; select 'Session Timeout : '||b.profile_option_value||'' from fnd_profile_options a, fnd_profile_option_values b where a.profile_option_name = 'ICX_SESSION_TIMEOUT' and a.profile_option_id = b.profile_option_id; ! TZ_SESSION_TIMEOUT=`grep 'Session Timeout' ${2} | cut -c19-25` DBNAME=`grep 'Database Name' ${2} | cut -c17-25` OKSTR=`grep Connected ${2}` if [ $? -eq 0 ] then if [ "${3}" = "$DBNAME" ] then echo "\nDatabase connect successfully !!!" echo "Your Database Name is [ ${DBNAME} ] !!!\n" rm ${2} else echo "\nERROR: Your Database is not ${3} !!!" echo "Please check your database name !!!\n" rm ${2} exit fi else echo "\nERROR: No Valid database is found " echo "Please check your database status or apps password !!!\n" rm ${2} exit fi } DatabaseCheckTimeTest() { sqlplus apps/${1}@${2} << ! > $MTZ_DB_CONN_LOG alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; select 'Database Time : '||sysdate||'' from dual; ! } CompareSystemTime() { DBDATE=`grep 'Database Time' ${1} | cut -c17-40` SYSDATE=`export TZ=${2};date +"%Y/%m/%d %H:%M:%S"` echo "\n=====================================================================================" echo "*** Current $TZ_UPPER_DB_SID time (${2}) : $SYSDATE" echo "*** Current $TZ_UPPER_NAME time (${3}) : $DBDATE" echo "=====================================================================================\n" echo "Please compare above system default time ($TZ_UPPER_DB_SID) and $TZ_UPPER_NAME time !!" rm ${1} } BackupTNSADMINConfFile() { for FILE_NAME in $* do cp $FILE_NAME $MTZ_BACKUP_DIR 2>/dev/null if [ $? -eq 1 ] then echo "No $FILE_NAME" echo " or cannot make backup of $FILE_NAME in TNS_ADMIN directory !" echo " $TZ_TNS_ADMIN" echo " Please check your TNS_ADMIN directory ...\n" exit fi done } BackupEtcParameterFile() { for FILE_NAME in $* do cp $FILE_NAME $MTZ_BACKUP_DIR 2>/dev/null if [ $? -eq 1 ] then echo "No $FILE_NAME" echo " or cannot make backup of $FILE_NAME !" exit fi done } BackupDBMTZScriptsFile() { for FILE_NAME in $* do cp $FILE_NAME $MTZ_BACKUP_DIR 2>/dev/null if [ $? -eq 1 ] then echo "No $FILE_NAME or cannot make backup of it" echo " in $TNS_ADMIN directory !" echo " Will make new Multi Time Zone Scripts later !\n" fi done } CheckNetworkPort() { echo " " for TZ_CHECKPORT in ${1} do OKSTR=`netstat -an | grep LISTEN | awk {'print $4'} | grep .$TZ_CHECKPORT` if [ $? -eq 0 ] then TZ_CHECK_PORT_RESULT=`lsof -i:${TZ_CHECKPORT} | grep LISTEN | awk {'print $1" of "$3", Process ID is "$2'}` TZ_CHECK_PORT_PROCESS=`lsof -i:${TZ_CHECKPORT} | grep LISTEN | awk {'print $2'}` echo "\nERROR: Time Zone Configuration Port ${TZ_CHECKPORT} is already used by ${TZ_CHECK_PORT_RESULT} !!\n" ps $TZ_CHECK_PORT_PROCESS echo "\nPlease check Time Zone or Port Pool !!!\n" exit else echo "Checking Time Zone Configuration Port ${TZ_CHECKPORT}..." echo "${TZ_CHECKPORT} is free !!\n" fi done echo " " } CheckNetworkAliasInTNSADMIN() { for FILE_NAME in ${4} ${5} do if [ -z $FILE_NAME ] then exit fi sed 's/ //g' $FILE_NAME > ${2} OKSTR=`grep -i ^${1}= ${2}` if [ $? -eq 0 ] then echo "\nERROR: Time Zone Name Alias $TZ_NAME is not valid " echo "$FILE_NAME" echo "Database Name is ${3}" echo "Please check Time Zone or port pool !!!\n" exit else echo "\nChecking the Port Alias Name $TZ_NAME" echo "Port Alias $TZ_NAME is valid" echo "$FILE_NAME" echo "Database Name is ${3}\n" fi rm ${2} done } CheckNetworkAliasInTNSADMINFalse() { for FILE_NAME in ${4} ${5} do if [ -z $FILE_NAME ] then exit fi sed 's/ //g' $FILE_NAME > ${2} OKSTR=`grep -i ^${1}= ${2}` if [ $? -eq 0 ] then echo "\nChecking the Port Alias Name $TZ_NAME" echo "Port Alias $TZ_NAME is valid" echo "$FILE_NAME" echo "Database Name is ${3}\n" else echo "\nERROR: Time Zone Name Alias $TZ_NAME is not valid" echo "$FILE_NAME" echo "Database Name is ${3}" echo "Please check Time Zone or port pool !!!\n" exit fi rm ${2} done } CheckFindNetworkPortInFile() { for FILE_NAME in ${2} ${3} do if [ -z $FILE_NAME ] then exit fi OKSTR=`grep ${1} $FILE_NAME` if [ $? -eq 0 ] then echo "\nChecking the Port Pool ${1}" echo "done: Port Pool ${1} is valid" echo "$FILE_NAME" echo "Database Port is ${1}\n" else echo "\nERROR: Time Zone Database Port ${1} is not exist" echo "$FILE_NAME" echo "Database Port is ${1}" echo "Please check your Time Zone or port pool !!!\n" exit fi done } CheckFindNetworkPortInFileFalse() { for FILE_NAME in ${2} ${3} do if [ -z $FILE_NAME ] then exit fi OKSTR=`grep ${1} $FILE_NAME` if [ $? -eq 0 ] then echo "\nERROR: Time Zone Database Port ${1} is not exist" echo "$FILE_NAME" echo "Database Port is ${1}" echo "Please check your Time Zone or port pool !!!\n" exit else echo "\nChecking the Port Pool ${1}" echo "done: Port Pool ${1} is valid" echo "$FILE_NAME" echo "Database Port is ${1}\n" fi done } AppendToDBMTZScripts() { echo " lsnrctl start $TZ_UPPER_NAME " >> $ADMTZSRT_FILE echo " lsnrctl stop $TZ_UPPER_NAME " >> $ADMTZSTP_FILE } AppendToAPMTZScripts() { echo " ./adapcctl_${TZ_LOWER_NAME} start " >> $ADMTZSRT_FILE echo " ./adapcctl_${TZ_LOWER_NAME} stop " >> $ADMTZSTP_FILE } DisplayTimeZoneNoDayLightSaving() { echo " (CUT0) Coordinated Universal Time (CUT) (GMT0) United Kingdom (CUT) (AZOREST1) Azores; Cape Verde (CUT -1) (FALKST2) Falkland Islands (CUT -2) (GRNLNDST3) Greenland; East Brazil (CUT -3) (AST4) Central Brazil (CUT -4) (EST5) Eastern U.S.; Colombia (CUT -5) (CST6) Central U.S.; Honduras (CUT -6) (MST7) Mountain U.S. (CUT -7) (PST8) Pacific U.S.; Yukon (CUT -8) (AST9) Alaska (CUT -9) (HST10) Hawaii; Aleutian (CUT-10) (BST11) Bering Straits (CUT-11) (NZST-12) New Zealand (CUT+12) (MET-11) Solomon Islands (CUT+11) (EET-10) Eastern Australia (CUT+10) (JST-9) Japan (CUT +9) (KORST-9) Korea (CUT +9) (WAUST-8) Western Australia (CUT +8) (TAIST-8) Taiwan (CUT +8) (BEIST-8) Peoples Rep. China (CUT +8) (THAIST-7) Thailand (CUT +7) (NOVST-6) Novosibirsk, Russia (CUT +6) (PAKST-5) Pakistan (CUT +5) (WST-4) Gorki; Central Asia; Oman (CUT +4) (MEST-3) Turkey (CUT +3) (SAUST-3) Saudi Arabia (CUT +3) (WET-2) Finland (CUT +2) (USAST-2) South Africa (CUT +2) (NFT-1) Norway; France (CUT +1) " } DisplayTimeZoneDayLightSaving() { echo " (CUT0GDT) Coordinated Universal Time (CUT) (GMT0BST) United Kingdom (CUT) (AZOREST1AZOREDT) Azores; Cape Verde (CUT -1) (FALKST2FALKDT) Falkland Islands (CUT -2) (GRNLNDST3GRNLNDDT) Greenland; East Brazil (CUT -3) (AST4ADT) Central Brazil (CUT -4) (EST5EDT) Eastern U.S.; Colombia (CUT -5) (CST6CDT) Central U.S.; Honduras (CUT -6) (MST7MDT) Mountain U.S. (CUT -7) (PST8PDT) Pacific U.S.; Yukon (CUT -8) (AST9ADT) Alaska (CUT -9) (HST10HDT) Hawaii; Aleutian (CUT-10) (BST11BDT) Bering Straits (CUT-11) (NZST-12NZDT) New Zealand (CUT+12) (MET-11METDT) Solomon Islands (CUT+11) (EET-10EETDT) Eastern Australia (CUT+10) (JST-9JDT) Japan (CUT +9) (KORST-9KORDT) Korea (CUT +9) (WAUST-8WAUDT) Western Australia (CUT +8) (TAIST-8TAIDT) Taiwan (CUT +8) (BEIST-8BEIDT) Peoples Rep. China (CUT +8) (THAIST-7THAIDT) Thailand (CUT +7) (NOVST-6NOVDT) Novosibirsk, Russia (CUT +6) (PAKST-5PAKDT) Pakistan (CUT +5) (WST-4WDT) Gorki; Central Asia; Oman (CUT +4) (MEST-3MEDT) Turkey (CUT +3) (SAUST-3SAUDT) Saudi Arabia (CUT +3) (WET-2WET) Finland (CUT +2) (USAST-2USADT) South Africa (CUT +2) (NFT-1DFT) Norway; France (CUT +1) " } DisplayCommonSetting() { echo "* Database Server Node Name : ${TZ_DB_SERVER}" echo "* Target System database name : ${TZ_DB_SID}" if [ "$TZ_BASE" = "apTier" ] then echo "* Application Server Node Name : ${TZ_AP_SERVER}" fi echo "* Default port pool number : ${TZ_DTZ_PORT}" echo "* Default database port : ${TZ_DTZ_DB_TNS_PORT}" echo "* Multi Time Zone name : ${TZ_NAME}" echo "* Multi Time Zone port pool number : ${TZ_MTZ_PORT}" echo "* Multi Time Zone database port : ${TZ_MTZ_DB_TNS_PORT}" } DisplayDBTierSetting() { echo "* RDBMS ORACLE_HOME directory : ${TZ_ORACLE_HOME}" echo "* RDBMS TNS_ADMIN directoryy : ${TZ_TNS_ADMIN}" echo "\n* Script will modify following files" echo " ${TZ_TNS_ADMIN}/listener.ora" echo " ${TZ_TNS_ADMIN}/tnsnames.ora" echo " (Database Listener Port : ${TZ_MTZ_DB_TNS_PORT})" } DisplayCMTierSetting() { echo "* 8.0.6 ORACLE_HOME directory : ${TZ_ORACLE_HOME}" echo "* 8.0.6 TNS_ADMIN directory : ${TZ_TNS_ADMIN}" echo "* DBC file directory : ${FND_SECURE}" echo "\n* Script will make following files" echo " ${FND_SECURE}/${TZ_LOWER_NAME}.dbc" echo "\n* Script will modify following files" echo " ${TZ_TNS_ADMIN}/tnsnames.ora" echo " (Database Listener Port : ${TZ_MTZ_DB_TNS_PORT})" if [ "$TZ_FS" = "SHARED" ] then echo "* Instance using Shared File System (Shared APPL_TOP)" fi } DisplayAPTierSetting() { echo "* Multi Time Zone Apache (HTTP) port : ${TZ_MTZ_HTTP_PORT}" echo "* 8.0.6 ORACLE_HOME directory : ${TZ_ORACLE_HOME}" echo "* 8.0.6 TNS_ADMIN directory : ${TZ_TNS_ADMIN}" echo "* iAS TNS_ADMIN directory : ${TZ_IAS_TNS_ADMIN}" echo "* DBC file directory : ${FND_SECURE}" echo "\n* Script will make following files" echo " ${FND_SECURE}/${TZ_LOWER_NAME}.dbc" echo " ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd.conf" echo " ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd_pls.conf" echo " ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oracle_apache.conf" echo " ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oprocmgr.conf" echo " ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/apps.conf" echo " ${TZ_APACHE_TOP}/modplsql/cfg/plsql_${TZ_LOWER_NAME}.conf" echo " ${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl_${TZ_LOWER_NAME}.sh" echo " ${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.conf" echo " ${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.properties" echo " ${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/zone.properties" echo " ${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/ssp_init.txt" echo "\n* Script will modify following files" echo " ${TZ_TNS_ADMIN}/tnsnames.ora" echo " ${TZ_IAS_TNS_ADMIN}/tnsnames.ora" echo " ${TZ_PLSQLDAD_PATH}/wdbsvr.app" echo " (Database Listener Port : ${TZ_MTZ_DB_TNS_PORT})" if [ "$TZ_FS" = "SHARED" ] then echo "* Instance using Shared File System (Shared APPL_TOP)" fi } MakeDirectory() { mkdir -p ${1} if [ $? -eq 0 ] then echo "Creating directory ${1} ..." fi } ExecModifyFunc() { for MODIFY_FUNCTION in $* do echo "Present value : $ORIFILE" cp $ORIFILE $TMPFILE ${MODIFY_FUNCTION} $ORIFILE $TMPFILE $CFGFILE rm $TMPFILE echo "New value : $CFGFILE\n" done } ModifyTnsnamesFile() { echo " ############################################################################### ### Start ${TZ_UPPER_NAME} Time Zone for tnsnames.ora - ${YY}/${MM}/${DD} ${HH}:${MI}:${SS} ${TZ_UPPER_NAME} = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=${TZ_DB_SERVER}.${TZ_SERVER_DOMAIN})(PORT=${TZ_MTZ_DB_TNS_PORT})) (CONNECT_DATA=(SID=${TZ_UPPER_DB_SID})) ) ### End ${TZ_UPPER_NAME} Time Zone for tnsnames.ora ############################################################################### " >> ${1} } ModifyListenerFile() { echo " ############################################################################### ### Start ${TZ_UPPER_NAME} Time Zone for listener.ora - ${YY}/${MM}/${DD} ${HH}:${MI}:${SS} ${TZ_UPPER_NAME} = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= TCP)(Host= ${TZ_DB_SERVER}.${TZ_SERVER_DOMAIN} )(Port= ${TZ_MTZ_DB_TNS_PORT})) ) SID_LIST_${TZ_UPPER_NAME} = (SID_LIST = (SID_DESC = (ORACLE_HOME= ${TZ_ORACLE_HOME}) (SID_NAME = ${TZ_UPPER_DB_SID}) (ENVS='TZ=$TZ_CUT_NAME') ) ) STARTUP_WAIT_TIME_${TZ_UPPER_NAME} = 0 CONNECT_TIMEOUT_${TZ_UPPER_NAME} = 10 TRACE_LEVEL_${TZ_UPPER_NAME} = OFF LOG_DIRECTORY_${TZ_UPPER_NAME} = ${TZ_ORACLE_HOME}/network/admin LOG_FILE_${TZ_UPPER_NAME} = ${TZ_UPPER_NAME} TRACE_DIRECTORY_${TZ_UPPER_NAME} = ${TZ_ORACLE_HOME}/network/admin TRACE_FILE_${TZ_UPPER_NAME} = ${TZ_UPPER_NAME} ADMIN_RESTRICTIONS_${TZ_UPPER_NAME} = OFF ### End {TZ_UPPER_NAME} Time Zone for listener.ora ############################################################################### " >> ${LISTENER_FILE} } ModifyPLSQLDAD() { echo "[DAD_${1}] connect_string = ${TZ_UPPER_NAME} password = APPS username = APPS default_page = fnd_web.ping document_table = APPS.fnd_lobs_document document_path = docs document_proc = upload_as_long_raw = upload_as_blob = * reuse = Yes connmax = 10 pathalias = fndgfm pathaliasproc = fnd_gfm.dispatch enablesso = No cgi_env_list=SERVER_NAME=${4}.sarc.io,REQUEST_PROTOCOL=http,SERVER_PORT=${2},HOST=${4}.sarc.io:${2} input_filtering = Yes stateful=STATELESS_RESET ;" >> ${3}/wdbsvr.app } CreateDBCFile() { OSTR1="=${TZ_DTZ_DB_TNS_PORT}" NSTR1="=${TZ_MTZ_DB_TNS_PORT}" sed "s/${OSTR1}/${NSTR1}/g" ${2} > ${3} } CreateHttpdConf() { OSTR1="${TZ_DTZ_HTTP_PORT}$" OSTR2="\/httpd.lock" OSTR3="\/httpd.pid" OSTR4="\/httpd.scoreboard" OSTR5="\/error_log" OSTR6="\/access_log" OSTR7="\/oracle_apache.conf" OSTR8="\/etc\/jserv.conf" OSTR9="\/oprocmgr.conf" NSTR1="${TZ_MTZ_HTTP_PORT}" NSTR2="\/${TZ_LOWER_NAME}\/httpd.lock" NSTR3="\/${TZ_LOWER_NAME}\/httpd.pid" NSTR4="\/${TZ_LOWER_NAME}\/httpd.scoreboard" NSTR5="\/${TZ_LOWER_NAME}\/error_log" NSTR6="\/${TZ_LOWER_NAME}\/access_log" NSTR7="\/${TZ_LOWER_NAME}\/oracle_apache.conf" NSTR8="\/etc\/${TZ_LOWER_NAME}\/jserv.conf" NSTR9="\/${TZ_LOWER_NAME}\/oprocmgr.conf" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" -e "s/${OSTR6}/${NSTR6}/g" -e "s/${OSTR7}/${NSTR7}/g" -e "s/${OSTR8}/${NSTR8}/g" -e "s/${OSTR9}/${NSTR9}/g" ${2} > ${3} } CreateHttpdPlsConf() { OSTR1="${TZ_DTZ_HTTP_PORT}$" OSTR2="${TZ_DTZ_HTTP_PLS_PORT}$" OSTR3="\/httpd_pls.lock" OSTR4="\/httpd_pls.pid" OSTR5="\/httpd_pls.scoreboard" OSTR6="\/error_log_pls" OSTR7="\/access_log_pls" NSTR1="${TZ_MTZ_HTTP_PORT}" NSTR2="${TZ_MTZ_HTTP_PLS_PORT}" NSTR3="\/${TZ_LOWER_NAME}\/httpd_pls.lock" NSTR4="\/${TZ_LOWER_NAME}\/httpd_pls.pid" NSTR5="\/${TZ_LOWER_NAME}\/httpd_pls.scoreboard" NSTR6="\/${TZ_LOWER_NAME}\/error_log_pls" NSTR7="\/${TZ_LOWER_NAME}\/access_log_pls" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" -e "s/${OSTR6}/${NSTR6}/g" -e "s/${OSTR7}/${NSTR7}/g" ${2} > ${3} } CreateOracleApacheConf() { OSTR1="\/plsql.conf" OSTR2="\/apps.conf" NSTR1="\/plsql_${TZ_LOWER_NAME}.conf" NSTR2="\/${TZ_LOWER_NAME}\/apps.conf" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" ${2} > ${3} } CreateOprocmgrConf() { sed "s/${TZ_DTZ_OPROCMGR_PORT}/${TZ_MTZ_OPROCMGR_PORT}/g" ${2} > ${3} } CreateAppsConf() { sed "s/TWO_TASK ${TZ_UPPER_DB_SID}/TWO_TASK ${TZ_UPPER_NAME}/g" ${2} > ${3} } CreatePlsqlConf() { sed "s/:${TZ_DTZ_HTTP_PLS_PORT}/:${TZ_MTZ_HTTP_PLS_PORT}/g" ${2} > ${3} } CreateAdapcctlSh() { OSTR1="\/httpd.pid" OSTR2="\/httpds.pid" OSTR3="\/httpd_pls.pid" OSTR4="\/httpd.conf" OSTR5="\/httpd_pls.conf" NSTR1="\/${TZ_LOWER_NAME}\/httpd.pid" NSTR2="\/${TZ_LOWER_NAME}\/httpds.pid" NSTR3="\/${TZ_LOWER_NAME}\/httpd_pls.pid" NSTR4="\/${TZ_LOWER_NAME}\/httpd.conf" NSTR5="\/${TZ_LOWER_NAME}\/httpd_pls.conf" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" ${2} > ${3} chmod +x $TZ_COMMON_TOP/admin/scripts/$CONTEXT_NAME/adapcctl_${TZ_LOWER_NAME}.sh } CreateJservConf() { OSTR1="\/jserv.properties$" OSTR2="\/mod_jserv.log" OSTR3="^ApJServGroup DiscoGroup" OSTR4="^ApJServGroup XmlSvcsGrp" OSTR5="^ApJServGroupMount \/mobile" OSTR6="^ApJServGroupMount \/discoverer4i" OSTR7="^ApJServGroupMount \/soap\/servlet" OSTR8="^ApJServGroupMount \/webservices" OSTR9="^ApJServGroupMount \/dmsDisco" NSTR1="\/${TZ_LOWER_NAME}\/jserv.properties" NSTR2="\/${TZ_LOWER_NAME}\/mod_jserv.log" NSTR3="#ApJServGroup DiscoGroup" NSTR4="#ApJServGroup XmlSvcsGrp" NSTR5="#ApJServGroupMount \/mobile" NSTR6="#ApJServGroupMount \/discoverer4i" NSTR7="#ApJServGroupMount \/soap\/servlet" NSTR8="#ApJServGroupMount \/webservices" NSTR9="#ApJServGroupMount \/dmsDisco" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" -e "s/${OSTR6}/${NSTR6}/g" -e "s/${OSTR7}/${NSTR7}/g" -e "s/${OSTR8}/${NSTR8}/g" -e "s/${OSTR9}/${NSTR9}/g" ${2} > ${3} } CreateJservProperties() { OSTR1="\/${TZ_LOWER_DB_SID}.dbc$" OSTR2="\/ibe.log$" OSTR3="\/fwsys.log$" OSTR4="Provider.port=${TZ_DTZ_IASCACHE_PORT}$" OSTR5="\/jserv.log$" OSTR6="^port=${TZ_DTZ_JSERV1_PORT}-${TZ_DTZ_JSERV2_PORT}$" OSTR7="zones=mobile$" OSTR8="^mobile.properties=" OSTR9="^viewer4i.properties=" OSTRA="etc\/zone.properties$" OSTRB="\/mwa\/" NSTR1="\/${TZ_LOWER_NAME}.dbc" NSTR2="\/${TZ_LOWER_NAME}\/ibe.log" NSTR3="\/${TZ_LOWER_NAME}\/fwsys.log" NSTR4="Provider.port=${TZ_MTZ_IASCACHE_PORT}" NSTR5="\/${TZ_LOWER_NAME}\/jserv.log" NSTR6="port=${TZ_MTZ_JSERV1_PORT}-${TZ_MTZ_JSERV2_PORT}" NSTR7="#zones=mobile" NSTR8="#mobile.properties=" NSTR9="#viewer4i.properties=" NSTRA="etc\/${TZ_LOWER_NAME}\/zone.properties" NSTRB="\/mwa_${TZ_LOWER_NAME}\/" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" -e "s/${OSTR6}/${NSTR6}/g" -e "s/${OSTR7}/${NSTR7}/g" -e "s/${OSTR8}/${NSTR8}/g" -e "s/${OSTR9}/${NSTR9}/g" -e "s/${OSTRA}/${NSTRA}/g" -e "s/${OSTRB}/${NSTRB}/g" ${2} > ${3} OKSTR=`grep mwa_${TZ_LOWER_NAME} ${3}` if [ $? -ne 0 ] then echo " # For MWA wrapper.bin.parameters=-Doracle.apps.mwa=${TZ_APPL_TOP}/mwa_${TZ_LOWER_NAME}/11.5.0 " >> ${3} fi } CreateZoneProperties() { OSTR1="_pages$" OSTR2="=weboam.log$" OSTR3="=weboamLocal.log$" OSTR4="\/${TZ_LOWER_DB_SID}.dbc$" OSTR5="registry_port=${TZ_DTZ_REGISTRY_PORT}" OSTR6="etc\/ssp_init.txt$" NSTR1="_pages_${TZ_LOWER_NAME}" NSTR2="=weboam_${TZ_LOWER_NAME}.log" NSTR3="=weboamLocal_${TZ_LOWER_NAME}.log" NSTR4="\/${TZ_LOWER_NAME}.dbc" NSTR5="registry_port=${TZ_MTZ_REGISTRY_PORT}" NSTR6="etc\/${TZ_LOWER_NAME}\/ssp_init.txt" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" -e "s/${OSTR5}/${NSTR5}/g" -e "s/${OSTR6}/${NSTR6}/g" ${2} > ${3} } CreateSspInitTxt() { OSTR1="\/${TZ_UPPER_DB_SID}$" OSTR4="\/${TZ_LOWER_DB_SID}.dbc$" OSTR3="${TZ_DTZ_DB_TNS_PORT}" OSTR1="\/debug.log" NSTR1="\/${TZ_UPPER_NAME}" NSTR2="\/${TZ_LOWER_NAME}.dbc" NSTR3="${TZ_MTZ_DB_TNS_PORT}" NSTR4="\/${TZ_LOWER_NAME}\/debug.log" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" ${2} > ${3} echo "DB_NAME=${TZ_UPPER_DB_SID}" >> ${3} } CreateMwaCfg() { echo " " read MWA_TELNET_PORT?"* Enter the MWA Telnet Port Number : " read MWA_DISPATCHER_PORT?"* Enter the MWA Dispatcher Port Number : " echo " " OSTR1="mwa.DbcFile=${TZ_LOWER_DB_SID}.dbc$" OSTR2="\/log\/${CONTEXT_NAME}$" OSTR3="=10200$" OSTR4=":$TZ_DTZ_DISPATCHER1_PORT-$TZ_DTZ_DISPATCHER2_PORT" NSTR1="mwa.DbcFile=${TZ_LOWER_NAME}.dbc" NSTR2="\/log\/${CONTEXT_NAME}\/${TZ_LOWER_NAME}" NSTR3="=$MWA_TELNET_PORT" NSTR4=":$MWA_DISPATCHER_PORT" sed -e "s/${OSTR1}/${NSTR1}/g" -e "s/${OSTR2}/${NSTR2}/g" -e "s/${OSTR3}/${NSTR3}/g" -e "s/${OSTR4}/${NSTR4}/g" ${2} > ${3} } MakeTimeZoneName() { TZ_LOWER_NAME=`echo ${TZ_NAME} | awk {'print tolower($1)'}` TZ_UPPER_NAME=`echo ${TZ_NAME} | awk {'print toupper($1)'}` } RemoveCommon() { until [ $TZ_NAME ] do read TZ_NAME?"* Enter the alias of Time Zone : " done MakeTimeZoneName read TZ_MTZ_PORT?"* Enter the port pool number of ${TZ_NAME} [0-99] : " } RemoveDBTier() { RemoveCommon $ORACLE_HOME/bin/lsnrctl stop ${TZ_UPPER_NAME} exit } RemoveCMTier() { RemoveCommon RMFILE1=$FND_SECURE/${TZ_LOWER_NAME}.dbc for FILENAME in $RMFILE1 do echo "\nDeleting $FILENAME\n" rm $FILENAME if [ $? -eq 0 ] then echo " Deletion Successful\n" fi done exit } RemoveAPTier() { RemoveCommon $COMMON_TOP/admin/scripts/$CONTEXT_NAME/adapcctl_${TZ_LOWER_NAME}.sh stop RMFILE1=$APACHE_TOP/Apache/conf/${TZ_LOWER_NAME}/httpd.conf RMFILE2=$APACHE_TOP/Apache/conf/${TZ_LOWER_NAME}/httpd_pls.conf RMFILE3=$APACHE_TOP/Apache/conf/${TZ_LOWER_NAME}/oracle_apache.conf RMFILE4=$APACHE_TOP/Apache/conf/${TZ_LOWER_NAME}/oprocmgr.conf RMFILE5=$APACHE_TOP/Apache/conf/${TZ_LOWER_NAME}/apps.conf RMFILE6=$APACHE_TOP/Jserv/etc/${TZ_LOWER_NAME}/jserv.conf RMFILE7=$APACHE_TOP/Jserv/etc/${TZ_LOWER_NAME}/jserv.properties RMFILE8=$APACHE_TOP/Jserv/etc/${TZ_LOWER_NAME}/zone.properties RMFILE9=$APACHE_TOP/Jserv/etc/${TZ_LOWER_NAME}/ssp_init.txt RMFILE10=$APACHE_TOP/modplsql/cfg/plsql_${TZ_LOWER_NAME}.conf RMFILE11=$APACHE_TOP/Apache/logs/${TZ_LOWER_NAME}/access_log_pls.* RMFILE12=$APACHE_TOP/Apache/logs/${TZ_LOWER_NAME}/httpd.pid RMFILE13=$APACHE_TOP/Apache/logs/${TZ_LOWER_NAME}/error_log_pls RMFILE14=$APACHE_TOP/Apache/logs/${TZ_LOWER_NAME}/error_log RMFILE15=$APACHE_TOP/Jserv/logs/${TZ_LOWER_NAME}/jserv.log RMFILE16=$FND_SECURE/${TZ_LOWER_NAME}.dbc for FILENAME in $RMFILE1 $RMFILE2 $RMFILE3 $RMFILE4 $RMFILE5 $RMFILE6 $RMFILE7 $RMFILE8 $RMFILE9 $RMFILE10 $RMFILE11 $RMFILE12 $RMFILE13 $RMFILE14 $RMFILE15 $RMFILE16 do echo "\nDeleting $FILENAME\n" rm $FILENAME if [ $? -eq 0 ] then echo " Deletion Successful\n" fi done rmdir $APACHE_TOP/Apache/conf/${TZ_LOWER_NAME} rmdir $APACHE_TOP/Jserv/etc/${TZ_LOWER_NAME} rm -rf $APPL_TOP/mwa_${TZ_LOWER_NAME} exit } CloneCfgMakeQuery() { echo "select substr(d.user_profile_option_name,1,29) user_profile_option_name, substr(c.profile_option_value,1,64) profile_option_value, d.profile_option_id from fnd_profile_option_values c, ( select b.profile_option_id, a.user_profile_option_name from fnd_profile_options_tl a, fnd_profile_options b where a.profile_option_name = b.profile_option_name ) d where c.profile_option_id = d.profile_option_id and c.profile_option_value like '%${1}%';" >> ${2} } CreateUser() { ##################################################### ### Create ERP Applicatiion Users ##################################################### read TZ_ORACLE_HOME?"Target system ORACLE_HOME directory [ $ORACLE_HOME ] : " if [ -z "$TZ_ORACLE_HOME" ] then TZ_ORACLE_HOME=$ORACLE_HOME fi ### ### Get APPS information ### AppsInfo ### ### Configure MTZ Inventory Directory ### DefineMTZInventory until [ $TZ_NEW_MTZ_USER_TMP ] do read TZ_NEW_MTZ_USER_TMP?"Enter the new application username : " done TZ_NEW_MTZ_USER=`echo $TZ_NEW_MTZ_USER_TMP | awk {'print toupper($1)'}` ### ### Create Scripts for User ($MTZ_INV) ### CreateScriptForUser ConfirmMTZUser OKSTR=`grep $TZ_NEW_MTZ_USER $MTZ_CONFIRM_USER_LOG` if [ $? -eq 0 ] then echo "\n[$TZ_NEW_MTZ_USER] is already existing !!!" echo " " read CONTINUE?"Enter any key to add special User-Level Profile for MTZ to user [$TZ_NEW_MTZ_USER] or [Q] to quit ... " if [ \( "$CONTINUE" = "Q" \) -o \( "$CONTINUE" = "q" \) ] then echo "\nspecial User-Level Profile configuration for MTZ canceled !!!\n" exit fi exit else echo " " read CONTINUE?"Enter any key to create user [$TZ_NEW_MTZ_USER] or [Q] to quit ... " if [ \( "$CONTINUE" = "Q" \) -o \( "$CONTINUE" = "q" \) ] then echo "\nUser [$TZ_NEW_MTZ_USER] creation canceled !!!\n" exit else sqlplus -s apps/$TZ_APPS_PWD @$MTZ_INV/.fnd_user_pkg_create_user.sql $TZ_NEW_MTZ_USER > $MTZ_NEW_MTZ_USER_CREATE ConfirmMTZUser OKSTR=`grep $TZ_NEW_MTZ_USER $MTZ_CONFIRM_USER_LOG` if [ $? -eq 0 ] then echo "\nUser [$TZ_NEW_MTZ_USER] created successfully !!!" echo "\nPlease check following responsibility to use [$TZ_NEW_MTZ_USER] ... \n" ConfirmMTZUserResp echo "***********************************************************************" cat $MTZ_NEW_MTZ_USER_RESP echo "***********************************************************************" read CONTINUE?"Enter any key to add special User-Level Profile for MTZ to user [$TZ_NEW_MTZ_USER] or [Q] to quit ... " if [ \( "$CONTINUE" = "Q" \) -o \( "$CONTINUE" = "q" \) ] then echo "\nspecial User-Level Profile configuration for MTZ canceled !!!\n" exit fi exit else echo "\nUser $TZ_NEW_MTZ_USER failed to create !!\n" cat $MTZ_NEW_MTZ_USER_CREATE exit fi exit fi fi exit } CreateScriptForUser() { echo "set heading off set verify off select user_name from fnd_user where user_name = '&1'; exit" > $MTZ_INV/.confirm_user.sql echo "exec fnd_user_pkg.createuser( x_user_name => '&1', x_owner => 'SEED', x_unencrypted_password => 'welcome', x_password_Date => sysdate ); exec fnd_user_pkg.addresp( username => '&1', resp_app => 'SYSADMIN', resp_key => 'SYSTEM_ADMINISTRATOR', security_group => 'STANDARD', description => null, start_date => sysdate, end_date => null); exec fnd_user_pkg.addresp( username => '&1', resp_app => 'ICX', resp_key => 'SYSTEM_ADMINISTRATION', security_group => 'STANDARD', description => null, start_date => sysdate, end_date => null); commit; exit;" > $MTZ_INV/.fnd_user_pkg_create_user.sql echo "select c.responsibility_key from fnd_user a, fnd_user_resp_groups_direct b, fnd_responsibility c where a.user_id = b.user_id and b.responsibility_id = c.responsibility_id and user_name='&1'; exit;" > $MTZ_INV/.confirm_user_resp.sql } ConfirmMTZUser() { sqlplus -s apps/$TZ_APPS_PWD @$MTZ_INV/.confirm_user.sql $TZ_NEW_MTZ_USER > $MTZ_CONFIRM_USER_LOG } ConfirmMTZUserResp() { sqlplus -s apps/$TZ_APPS_PWD @$MTZ_INV/.confirm_user_resp.sql $TZ_NEW_MTZ_USER > $MTZ_NEW_MTZ_USER_RESP } CloneCfg() { ##################################################### ### Define RDBMS ORACLE_HOME ##################################################### read TZ_ORACLE_HOME?"Target system ORACLE_HOME directory [ $ORACLE_HOME ] : " if [ -z "$TZ_ORACLE_HOME" ] then TZ_ORACLE_HOME=$ORACLE_HOME fi DefineMTZInventory ### ### Define OLD Instance Name ### until [ $TZ_OLD_DB_SID ] do read TZ_OLD_DB_SID?"Target System old database name : " done TZ_UPPER_OLD_DB_SID=`echo $TZ_OLD_DB_SID | awk {'print toupper($1)'}` TZ_LOWER_OLD_DB_SID=`echo $TZ_OLD_DB_SID | awk {'print tolower($1)'}` ### ### Define New Instance Name ### read TZ_DB_NEW_SID?"Target System new database name [ $ORACLE_SID ] : " if [ -z "$TZ_DB_NEW_SID" ] then TZ_DB_NEW_SID=$ORACLE_SID fi TZ_UPPER_NEW_DB_SID=`echo $TZ_NEW_DB_SID | awk {'print toupper($1)'}` TZ_LOWER_NEW_DB_SID=`echo $TZ_NEW_DB_SID | awk {'print tolower($1)'}` ### ### Define OLD Instance Port ### until [ $TZ_MTZ_OLD_PORT ] do read TZ_MTZ_OLD_PORT?"Enter the old port pool number of ${TZ_UPPER_OLD_DB_SID} [0-99] : " done ### ### Define New Instance Port ### TZ_MTZ_NEW_DB_PORT=`grep s_dbport $CONTEXT_FILE | sed 's/^.*PORT[^>.]*>[ ]*\([^<]*\)<.*/\1/g; s/ *$//g'` (( TZ_MTZ_NEW_PORT_TMP = TZ_MTZ_NEW_DB_PORT - 1521 )) read TZ_MTZ_NEW_PORT?"Enter the new port pool number of ${TZ_UPPER_NEW_DB_SID} [ $TZ_MTZ_NEW_PORT_TMP ] : " if [ -z "$TZ_MTZ_NEW_PORT_TMP" ] then TZ_MTZ_NEW_PORT=$ORACLE_SID fi (( TZ_MTZ_HTTP_PORT = ${TZ_MTZ_OLD_PORT} + 8000 )) AppsInfo QUERY1=$MTZ_BACKUP_DIR/mtz_query1.sql QUERY2=$MTZ_BACKUP_DIR/mtz_query2.sql QUERY3=$MTZ_BACKUP_DIR/mtz_query3.sql RESULT1_TMP=$MTZ_BACKUP_DIR/mtz_query_result1.tmp RESULT2_TMP=$MTZ_BACKUP_DIR/mtz_query_result2.tmp RESULT3_TMP=$MTZ_BACKUP_DIR/mtz_query_result3.tmp RESULT1=$MTZ_BACKUP_DIR/mtz_query_result1.log RESULT2=$MTZ_BACKUP_DIR/mtz_query_result2.log RESULT3=$MTZ_BACKUP_DIR/mtz_query_result3.log CloneCfgMakeQuery ${TZ_UPPER_OLD_DB_SID} $QUERY1 CloneCfgMakeQuery ${TZ_LOWER_OLD_DB_SID} $QUERY2 CloneCfgMakeQuery ${TZ_MTZ_HTTP_PORT} $QUERY3 sqlplus apps/${TZ_APPS_PWD}@${TZ_UPPER_NEW_DB_SID} << ! > $MTZ_DB_CONN_LOG set linesize 120 set pagesize 50 set echo off set verify off set feedback off column user_profile_option_name for a30 column profile_option_value for a65 column profile_option_id for 99999999 spool $RESULT1_TMP @$QUERY1 spool off spool $RESULT2_TMP @$QUERY2 spool off spool $RESULT3_TMP @$QUERY3 spool off ! sed '/SQL>/d' $RESULT1_TMP > $RESULT1 sed '/SQL>/d' $RESULT2_TMP > $RESULT2 sed '/SQL>/d' $RESULT3_TMP > $RESULT3 rm $QUERY1 rm $QUERY2 rm $QUERY3 rm $RESULT1_TMP rm $RESULT2_TMP rm $RESULT3_TMP echo "\nPlease check following result and have to update some tables\n" ls -l $MTZ_BACKUP_DIR/mtz_query_result*.log | awk {'print $9'} echo " " exit } ##################################################### ### Start Scripts ##################################################### echo "" TZ_BASE=${1} case "$TZ_BASE" in 'dbTier') TierName="DB" banner "$TierName Tier" ;; 'cmTier') TierName="CM" banner "$TierName Tier" ;; 'apTier') TierName="AP" banner "$TierName Tier" ;; 'dbTierRemove') TierName="DB" banner "$TierName Tier" RemoveDBTier ;; 'cmTierRemove') TierName="CM" banner "$TierName Tier" RemoveCMTier ;; 'apTierRemove') TierName="AP" banner "$TierName Tier" RemoveAPTier ;; 'crUser') banner "Create" banner "MTZ User" CreateUser ;; 'CloneCfg') CloneCfg banner "Cloning" ;; *) echo " $0 $1: unrecognized action specified\n" echo " USAGE: $0 {dbTier|cmTier|apTier|dbTierRemove|cmTierRemove|apTierRemove|crUser|CloneCfg}\n" exit 1 ;; esac case "$TZ_BASE" in 'dbTier'|'cmTier'|'apTier') banner "MTZ" banner "INSTALL" ;; esac echo "\nOracle Multi Time Zone Installer version 0.9.1.0" ##################################################### ### Check Required Utilities ##################################################### if [ "$TZ_BASE" = "dbTier" ] then CheckUtilityPath netstat lsof sqlplus lsnrctl else CheckUtilityPath netstat lsof sqlplus fi echo " " ##################################################### ### Check Shared File System (APPL_TOP) ##################################################### case "$TZ_BASE" in 'cmTier'|'apTier') read TZ_FS?"Do you enable a shared file system for this instance? [Y/n] : " if [ -z "$TZ_FS" -o "$TZ_FS" = "Y" -o "$TZ_FS" = "y" ] then TZ_FS="SHARED" TZ_TNS_ADMIN_TMP=$TOOLS_CONFIG_HOME/network/admin/$CONTEXT_NAME TZ_IAS_TNS_ADMIN_TMP=$IAS_CONFIG_HOME/network/admin/$CONTEXT_NAME else TZ_FS="NONSHARED" TZ_TNS_ADMIN_TMP=$TNS_ADMIN TZ_IAS_TNS_ADMIN_TMP=`echo $TNS_ADMIN | sed "s/8.0.6/iAS/g"` fi ;; esac echo " " ##################################################### ### Define DB SID ##################################################### read TZ_DB_SID?"Target System database name [ $ORACLE_SID ] : " if [ -z "$TZ_DB_SID" ] then TZ_DB_SID=$ORACLE_SID fi TZ_UPPER_DB_SID=`echo $TZ_DB_SID | awk {'print toupper($1)'}` TZ_LOWER_DB_SID=`echo $TZ_DB_SID | awk {'print tolower($1)'}` ##################################################### ### Define RDBMS ORACLE_HOME, TNS_ADMIN ##################################################### case "$TZ_BASE" in 'dbTier') ### ### Define DB Server and Domain Name ### DefineCommonServerInfo ##################################################### ### Define RDBMS ORACLE_HOME ##################################################### read TZ_ORACLE_HOME?"Target system RDBMS ORACLE_HOME directory [ $ORACLE_HOME ] : " if [ -z "$TZ_ORACLE_HOME" ] then TZ_ORACLE_HOME=$ORACLE_HOME fi ##################################################### ### Define RDBMS TNS_ADMIN ##################################################### read TZ_TNS_ADMIN?"Target system RDBMS TNS_ADMIN directory [ $TNS_ADMIN ] : " if [ -z "$TZ_TNS_ADMIN" ] then TZ_TNS_ADMIN=$TNS_ADMIN fi ;; 'cmTier') ### ### Define DB Server and Domain Name ### DefineCommonServerInfo ##################################################### ### Define cmTier ORACLE_HOME ##################################################### read TZ_ORACLE_HOME?"Target system 8.0.6 ORACLE_HOME directory [ $ORACLE_HOME ] : " if [ -z "$TZ_ORACLE_HOME" ] then TZ_ORACLE_HOME=$ORACLE_HOME fi ##################################################### ### Define cmTier TNS_ADMIN ##################################################### read TZ_TNS_ADMIN?"Target system 8.0.6 TNS_ADMIN directory [ $TZ_TNS_ADMIN_TMP ] : " if [ -z "${TZ_TNS_ADMIN}" ] then TZ_TNS_ADMIN=$TZ_TNS_ADMIN_TMP fi ;; 'apTier') ### ### Define DB Server and Domain Name ### DefineCommonServerInfo ##################################################### ### Define AP Server Node Name ##################################################### TZ_AP_SERVER_TMP=`grep s_hostname $CONTEXT_FILE | sed 's/^.*s_hostname[^>.]*>[ ]*\([^<]*\)<.*/\1/g; s/ *$//g'` read TZ_AP_SERVER?"Target system forms / web server node [ $TZ_AP_SERVER_TMP ] : " if [ -z "${TZ_AP_SERVER}" ] then TZ_AP_SERVER=$TZ_AP_SERVER_TMP fi TZ_LOWER_AP_SVR=`echo ${TZ_AP_SERVER} | awk {'print tolower($1)'}` ##################################################### ### Define apTier ORACLE_HOME ##################################################### read TZ_ORACLE_HOME?"Target system 8.0.6 ORACLE_HOME directory [ $ORACLE_HOME ] : " if [ -z "$TZ_ORACLE_HOME" ] then TZ_ORACLE_HOME=$ORACLE_HOME fi ##################################################### ### Define apTier TNS_ADMIN ##################################################### read TZ_TNS_ADMIN?"Target system 8.0.6 TNS_ADMIN directory [ $TZ_TNS_ADMIN_TMP ] : " if [ -z "${TZ_TNS_ADMIN}" ] then TZ_TNS_ADMIN=$TZ_TNS_ADMIN_TMP fi ##################################################### ### Define apTier iAS TNS_ADMIN ##################################################### read TZ_IAS_TNS_ADMIN?"Target system iAS TNS_ADMIN directory [ $TZ_IAS_TNS_ADMIN_TMP ] : " if [ -z "${TZ_IAS_TNS_ADMIN}" ] then TZ_IAS_TNS_ADMIN=$TZ_IAS_TNS_ADMIN_TMP fi ##################################################### ### Define apTier APPL_TOP ##################################################### read TZ_APPL_TOP?"Target system APPL_TOP mount point [ ${APPL_TOP} ] : " if [ -z "${TZ_APPL_TOP}" ] then TZ_APPL_TOP=$APPL_TOP fi ##################################################### ### Define apTier COMMON_TOP ##################################################### read TZ_COMMON_TOP?"Target system COMMON_TOP directory [ ${COMMON_TOP} ] : " if [ -z "${TZ_COMMON_TOP}" ] then TZ_COMMON_TOP=$COMMON_TOP fi ;; esac ##################################################### ### Define MTZ Inventory ##################################################### DefineMTZInventory ##################################################### ### Define APPS info ##################################################### AppsInfo ##################################################### ### Define Customized Directory ##################################################### if [ "$TZ_FS" = "SHARED" ] then TZ_PLSQLDAD_PATH=$IAS_CONFIG_HOME/Apache/modplsql/cfg TZ_APACHE_TOP=$IAS_CONFIG_HOME/Apache TZ_APACHE_HOME_CONF=$IAS_CONFIG_HOME/Apache/Apache/conf TZ_APACHE_HOME_LOG=$IAS_CONFIG_HOME/Apache/Apache/logs TZ_JSERV_HOME=$IAS_CONFIG_HOME/Apache/Jserv TZ_JSERV_HOME_CONF=$IAS_CONFIG_HOME/Apache/Jserv/etc TZ_JSERV_HOME_LOG=$IAS_CONFIG_HOME/Apache/Jserv/logs else TZ_PLSQLDAD_PATH=${APACHE_TOP}/modplsql/cfg TZ_APACHE_TOP=${APACHE_TOP} TZ_APACHE_HOME_CONF=${APACHE_TOP}/Apache/conf TZ_APACHE_HOME_LOG=${APACHE_TOP}/Apache/logs TZ_JSERV_HOME=${APACHE_TOP}/Jserv TZ_JSERV_HOME_CONF=${APACHE_TOP}/Jserv/etc TZ_JSERV_HOME_LOG=${APACHE_TOP}/Jserv/logs fi ##################################################### ### DB connection test ##################################################### DatabaseConnTest $TZ_APPS_PWD $MTZ_DB_CONN_LOG $TZ_UPPER_DB_SID LISTENER_FILE=$TZ_TNS_ADMIN/listener.ora TNSNAMES_FILE=$TZ_TNS_ADMIN/tnsnames.ora LISTENER_IAS_FILE=$TZ_IAS_TNS_ADMIN/listener.ora TNSNAMES_IAS_FILE=$TZ_IAS_TNS_ADMIN/tnsnames.ora case "$TZ_BASE" in 'dbTier') ADMTZSRT_FILE=$TZ_TNS_ADMIN/lsnralsrt.sh ADMTZSTP_FILE=$TZ_TNS_ADMIN/lsnralstp.sh MTZTAB=$MTZ_INV/mtztab_dbTier MTZLOG=$MTZ_INV/mtzlog_dbTier_${YY}${MM}${DD}${HH}${MI}${SS}.log ;; 'cmTier') MTZTAB=$MTZ_INV/mtztab_cmTier MTZLOG=$MTZ_INV/mtzlog_cmTier_${YY}${MM}${DD}${HH}${MI}${SS}.log ;; 'apTier') ADMTZSRT_FILE=${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcsrt.sh ADMTZSTP_FILE=${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcstp.sh MTZTAB=$MTZ_INV/mtztab_apTier MTZLOG=$MTZ_INV/mtzlog_apTier_${YY}${MM}${DD}${HH}${MI}${SS}.log ;; esac ##################################################### ### Backup listener.ora (dbTier only) ### tnsnames.ora ### Multi Listener Start & Stop Scripts ##################################################### case "$TZ_BASE" in 'dbTier') echo "\nBacking up listener.ora and tnsnames.ora files. This might take a while...\n" BackupTNSADMINConfFile $LISTENER_FILE BackupTNSADMINConfFile $TNSNAMES_FILE BackupDBMTZScriptsFile $ADMTZSRT_FILE BackupDBMTZScriptsFile $ADMTZSTP_FILE ;; 'cmTier') echo "\nBacking up 8.0.6 tnsnames.ora files. This might take a while...\n" BackupTNSADMINConfFile $TNSNAMES_FILE BackupEtcParameterFile ${FND_SECURE}/${TZ_LOWER_DB_SID}.dbc ;; 'apTier') echo "\nBacking up 8.0.6 and iAS tnsnames.ora files. This might take a while..." BackupTNSADMINConfFile $TNSNAMES_FILE BackupTNSADMINConfFile $TNSNAMES_IAS_FILE echo "Backing up configuration files affected by the MTZ Script. This might take a while...\n" BackupEtcParameterFile ${FND_SECURE}/${TZ_LOWER_DB_SID}.dbc BackupEtcParameterFile ${TZ_PLSQLDAD_PATH}/wdbsvr.app BackupEtcParameterFile ${TZ_APACHE_HOME_CONF}/httpd.conf BackupEtcParameterFile ${TZ_APACHE_HOME_CONF}/httpd_pls.conf BackupEtcParameterFile ${TZ_APACHE_HOME_CONF}/oprocmgr.conf BackupEtcParameterFile ${TZ_APACHE_HOME_CONF}/oracle_apache.conf BackupEtcParameterFile ${TZ_APACHE_HOME_CONF}/apps.conf BackupEtcParameterFile ${TZ_APACHE_TOP}/modplsql/cfg/plsql.conf BackupEtcParameterFile ${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl.sh BackupEtcParameterFile ${TZ_JSERV_HOME_CONF}/jserv.conf BackupEtcParameterFile ${TZ_JSERV_HOME_CONF}/jserv.properties BackupEtcParameterFile ${TZ_JSERV_HOME_CONF}/zone.properties BackupEtcParameterFile ${TZ_JSERV_HOME_CONF}/ssp_init.txt ;; esac ##################################################### ### Define Deault Port Pool ##################################################### TZ_DTZ_DB_TNS_PORT_TMP=`grep s_dbport $CONTEXT_FILE | sed 's/^.*PORT[^>.]*>[ ]*\([^<]*\)<.*/\1/g; s/ *$//g'` (( TZ_DTZ_PORT_TMP = TZ_DTZ_DB_TNS_PORT_TMP - 1521 )) until [ $TZ_DTZ_PORT ] do read TZ_DTZ_PORT?"Enter the default port pool number of $TZ_UPPER_DB_SID [ $TZ_DTZ_PORT_TMP ] : " done (( TZ_DTZ_DB_TNS_PORT = TZ_DTZ_PORT + 1521 )) (( TZ_DTZ_HTTP_PORT = TZ_DTZ_PORT + 8000 )) CheckFindNetworkPortInFile $TZ_DTZ_DB_TNS_PORT $TNSNAMES_FILE case "$TZ_BASE" in 'cmTier'|'apTier') CheckFindNetworkPortInFile $TZ_DTZ_DB_TNS_PORT ${FND_SECURE}/${TZ_LOWER_DB_SID}.dbc ;; esac ##################################################### ### Define Number of Multi Time Zone ##################################################### echo " " TZ_COUNT_TEMP=1 until [ $TZ_COUNT_TEMP -eq 0 ] do case "$TZ_BASE" in 'dbTier'|'cmTier'|'apTier') read TZ_COUNT?"Enter number of Time Zone to install (except. default Time Zone) [1-9] : " ;; esac if [[ -z $TZ_COUNT ]] then TZ_COUNT=1 TZ_COUNT_TEMP=0 elif [[ $TZ_COUNT = @(1|2|3|4|5|6|7|8|9) ]] then TZ_COUNT_TEMP=0 else echo "$TZ_COUNT is incorrect number ! Enter number [1-9] Time Zone !!\n" fi done MTZ_COUNT=1 MTZ_PROBLEM=0 echo "\nWill setup number of $TZ_COUNT extra Time Zone ..." while [ $TZ_COUNT -ne 0 ] do echo "\n=====================================================================================" echo "*** Multi Time Zone Configuration ( Remain number of Time Zone : ${TZ_COUNT} ) " echo "=====================================================================================\n" echo "Start $MTZ_COUNT Time Zone configuration !!\n" if [ -f $MTZTAB ] then echo "*** $TZ_UPPER_DB_SID System's Current Multi Time Zone Configuration *** " case "$TZ_BASE" in 'dbTier') echo "+----------------------------------------------------------------+" echo "| Name Port DB Port TZ Value" echo "+----------------------------------------------------------------+" cat $MTZTAB | awk 'BEGIN { FS=":::" };{ print $2 " " $1 " " $3 " " $4 }' | \ sort -u | awk {'printf("| %10s %10s %10s %15s\n", $2, $1, $3, $4)'} ;; 'cmTier'|'apTier') echo "+----------------------------------------------------------------+" echo "| Name Port DB Port" echo "+----------------------------------------------------------------+" cat $MTZTAB | awk 'BEGIN { FS=":::" };{ print $2 " " $1 " " $3 }' | \ sort -u | awk {'printf("| %10s %10s %10s\n", $2, $1, $3)'} ;; esac echo "+----------------------------------------------------------------+\n" fi read TZ_NAME?"* Enter the alias of Time Zone : " if [ -z $TZ_NAME ] then until [ $TZ_NAME ] do read TZ_NAME?"* Enter the alias of Time Zone : " done fi read TZ_MTZ_PORT?"* Enter the new port pool number of ${TZ_NAME} [0-99] : " ##################################################### ### Get Time Zone Variable (dbTier only) ##################################################### if [ "$TZ_BASE" = "dbTier" ] then read TZ_DAY_LIST_SAVING?"* Does this Time Zone go on DAYLIGHT SAVINGS TIME ? [y/N] : " if [ \( "$TZ_DAY_LIST_SAVING" = "Y" \) -o \( "$TZ_DAY_LIST_SAVING" = "y" \) ] then DisplayTimeZoneDayLightSaving else DisplayTimeZoneNoDayLightSaving fi read TZ_CUT_NAME?"* Enter the ${TZ_NAME}'s CUT (Coordinated Universal Time) Name (ex. KORST-9) : " fi ### ### Make Lower / Upper Name ### MakeTimeZoneName ##################################################### ### Configure Database Port ##################################################### (( TZ_MTZ_DB_TNS_PORT = TZ_MTZ_PORT + 1521 )) ##################################################### ### Configure All Application Port ##################################################### (( TZ_MTZ_DB_TNS_PORT = ${TZ_MTZ_PORT} + 1521 )) ### Multi Time Zone Database Listener Port (( TZ_MTZ_HTTP_PORT = ${TZ_MTZ_PORT} + 8000 )) ### Multi Time Zone Apache Port (( TZ_DTZ_HTTP_PLS_PORT = ${TZ_DTZ_PORT} + 8000 + 200 )) ### httpd_pls.conf, plsql.conf, DTZ PLS Listener Port (( TZ_MTZ_HTTP_PLS_PORT = ${TZ_MTZ_PORT} + 8000 + 200 )) ### httpd_pls.conf, plsql.conf, MTZ PLS Listener Port (( TZ_DTZ_OPROCMGR_PORT = ${TZ_DTZ_PORT} + 8000 + 100 )) ### oprocmgr.conf, DTZ oprocmgr Port (( TZ_MTZ_OPROCMGR_PORT = ${TZ_MTZ_PORT} + 8000 + 100 )) ### oprocmgr.conf, MTZ oprocmgr Port (( TZ_DTZ_IASCACHE_PORT = ${TZ_DTZ_PORT} + 12345 )) ### jserv.properties, DTZ iASCache Port (( TZ_MTZ_IASCACHE_PORT = ${TZ_MTZ_PORT} + 12345 )) ### jserv.properties, MTZ iASCache Port (( TZ_DTZ_JSERV1_PORT = ${TZ_DTZ_PORT} * 10 + 16000 )) ### jserv.properties, DTZ Jserv Start Port (( TZ_DTZ_JSERV2_PORT = ${TZ_DTZ_PORT} * 10 + 16009 )) ### jserv.properties, DTZ Jserv End Port (( TZ_MTZ_JSERV1_PORT = ${TZ_MTZ_PORT} * 10 + 16000 )) ### jserv.properties, MTZ Jserv Start Port (( TZ_MTZ_JSERV2_PORT = ${TZ_MTZ_PORT} * 10 + 16009 )) ### jserv.properties, MTZ Jserv End Port (( TZ_DTZ_REGISTRY_PORT = ${TZ_DTZ_PORT} + 9800 )) ### zone.properties, DTZ Registry Port (( TZ_MTZ_REGISTRY_PORT = ${TZ_MTZ_PORT} + 9800 )) ### zone.properties, MTZ Registry Port (( TZ_DTZ_DISPATCHER1_PORT = ${TZ_DTZ_PORT} * 4 + 10300 )) ### mwa.cfg, DTZ Dispatcher Start Port (( TZ_DTZ_DISPATCHER2_PORT = ${TZ_DTZ_PORT} * 4 + 10303 )) ### mwa.cfg, DTZ Dispatcher End Port ##################################################### ### Check Port ##################################################### case "$TZ_BASE" in 'dbTier') CheckNetworkPort $TZ_MTZ_DB_TNS_PORT ;; 'apTier') CheckNetworkPort $TZ_MTZ_HTTP_PORT CheckNetworkPort $TZ_MTZ_HTTP_PLS_PORT CheckNetworkPort $TZ_MTZ_OPROCMGR_PORT CheckNetworkPort $TZ_MTZ_IASCACHE_PORT CheckNetworkPort $TZ_MTZ_REGISTRY_PORT ;; esac ##################################################### ### Check Port Number (listener.ora, tnsnames.ora) ##################################################### case "$TZ_BASE" in 'dbTier') CheckFindNetworkPortInFileFalse $TZ_MTZ_DB_TNS_PORT $LISTENER_FILE CheckFindNetworkPortInFileFalse $TZ_MTZ_DB_TNS_PORT $TNSNAMES_FILE ;; 'cmTier') CheckFindNetworkPortInFileFalse $TZ_MTZ_DB_TNS_PORT $TNSNAMES_FILE ;; 'apTier') CheckFindNetworkPortInFileFalse $TZ_MTZ_DB_TNS_PORT $TNSNAMES_FILE CheckFindNetworkPortInFileFalse $TZ_MTZ_DB_TNS_PORT $TNSNAMES_IAS_FILE ;; esac ##################################################### ### Check Port Alias (listener.ora, tnsnames.ora) ##################################################### case "$TZ_BASE" in 'dbTier') CheckNetworkAliasInTNSADMIN $TZ_NAME $MTZ_DB_CONN_LOG $TZ_UPPER_NAME $LISTENER_FILE CheckNetworkAliasInTNSADMIN $TZ_NAME $MTZ_DB_CONN_LOG $TZ_UPPER_NAME $TNSNAMES_FILE ;; 'cmTier') CheckNetworkAliasInTNSADMIN $TZ_NAME $MTZ_DB_CONN_LOG $TZ_UPPER_NAME $TNSNAMES_FILE ;; 'apTier') CheckNetworkAliasInTNSADMIN $TZ_NAME $MTZ_DB_CONN_LOG $TZ_UPPER_NAME $TNSNAMES_FILE CheckNetworkAliasInTNSADMIN $TZ_NAME $MTZ_DB_CONN_LOG $TZ_UPPER_NAME $TNSNAMES_IAS_FILE ;; esac ##################################################### ### Display Configuration ##################################################### echo "\n=====================================================================================" echo "*** USER FEEDBACK ***" echo "=====================================================================================\n" DisplayCommonSetting case "$TZ_BASE" in 'dbTier') DisplayDBTierSetting ;; 'cmTier') DisplayCMTierSetting ;; 'apTier') DisplayAPTierSetting ;; esac echo " " read CONTINUE?"Enter any key to continue or [Q] to quit ... " if [ \( "$CONTINUE" = "Q" \) -o \( "$CONTINUE" = "q" \) ] then echo "\n${TZ_NAME} Time Zone Configuration canceled !!!\n" exit fi echo "\nRunning $TZ_UPPER_NAME installation - `date`\n" ##################################################### ### Modify tnsnames.ora ##################################################### ModifyTnsnamesFile $TNSNAMES_FILE echo "Configuring $TNSNAMES_FILE...COMPLETED" ##################################################### ### AppsTier Configuration ##################################################### echo " " if [ "$TZ_BASE" = "cmTier" ] then ### ### Generate dbc File ### ORIFILE=$FND_SECURE/${TZ_LOWER_DB_SID}.dbc TMPFILE=$FND_SECURE/${TZ_LOWER_NAME}.dbc.tmp CFGFILE=$FND_SECURE/${TZ_LOWER_NAME}.dbc ExecModifyFunc CreateDBCFile fi if [ "$TZ_BASE" = "apTier" ] then ModifyTnsnamesFile $TNSNAMES_IAS_FILE echo "Configuring $TNSNAMES_IAS_FILE...COMPLETED" ModifyPLSQLDAD $TZ_UPPER_NAME $TZ_MTZ_HTTP_PORT $TZ_PLSQLDAD_PATH $TZ_LOWER_AP_SVR echo "Configuring $TZ_PLSQLDAD_PATH/wdbsvr.app...COMPLETED\n" ### ### Make WAS Time Zone Directory ### MakeDirectory ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME} MakeDirectory ${TZ_APACHE_HOME_LOG}/${TZ_LOWER_NAME} MakeDirectory ${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME} MakeDirectory ${TZ_JSERV_HOME_LOG}/${TZ_LOWER_NAME} MakeDirectory ${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME} cp -Rp $APPL_TOP/mwa $APPL_TOP/mwa_${TZ_LOWER_NAME} echo "Creating directory $APPL_TOP/mwa_${TZ_LOWER_NAME} ...\n" ### ### Generate dbc File ### ORIFILE=$FND_SECURE/${TZ_LOWER_DB_SID}.dbc TMPFILE=$FND_SECURE/${TZ_LOWER_NAME}.dbc.tmp CFGFILE=$FND_SECURE/${TZ_LOWER_NAME}.dbc ExecModifyFunc CreateDBCFile ### ### Generate httpd.conf ### ORIFILE=${TZ_APACHE_HOME_CONF}/httpd.conf TMPFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd.conf.tmp CFGFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd.conf ExecModifyFunc CreateHttpdConf ### ### Generate httpd_pls.conf ### ORIFILE=${TZ_APACHE_HOME_CONF}/httpd_pls.conf TMPFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd_pls.conf.tmp CFGFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/httpd_pls.conf ExecModifyFunc CreateHttpdPlsConf ### ### Generate oracle_apache.conf ### ORIFILE=${TZ_APACHE_HOME_CONF}/oracle_apache.conf TMPFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oracle_apache.conf.tmp CFGFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oracle_apache.conf ExecModifyFunc CreateOracleApacheConf ### ### Generate oprocmgr.conf ### ORIFILE=${TZ_APACHE_HOME_CONF}/oprocmgr.conf TMPFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oprocmgr.conf.tmp CFGFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/oprocmgr.conf ExecModifyFunc CreateOprocmgrConf ### ### Generate apps.conf ### ORIFILE=${TZ_APACHE_HOME_CONF}/apps.conf TMPFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/apps.conf.tmp CFGFILE=${TZ_APACHE_HOME_CONF}/${TZ_LOWER_NAME}/apps.conf ExecModifyFunc CreateAppsConf ### ### Generate plsql.conf ### ORIFILE=${TZ_APACHE_TOP}/modplsql/cfg/plsql.conf TMPFILE=${TZ_APACHE_TOP}/modplsql/cfg/plsql_${TZ_LOWER_NAME}.conf.tmp CFGFILE=${TZ_APACHE_TOP}/modplsql/cfg/plsql_${TZ_LOWER_NAME}.conf ExecModifyFunc CreatePlsqlConf ### ### Generate adapcctl.sh ### ORIFILE=${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl.sh TMPFILE=${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl_${TZ_LOWER_NAME}.sh.tmp CFGFILE=${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl_${TZ_LOWER_NAME}.sh ExecModifyFunc CreateAdapcctlSh ### ### Generate jserv.conf ### ORIFILE=${TZ_JSERV_HOME_CONF}/jserv.conf TMPFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.conf.tmp CFGFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.conf ExecModifyFunc CreateJservConf ### ### Generate jserv.properties ### ORIFILE=${TZ_JSERV_HOME_CONF}/jserv.properties TMPFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.properties.tmp CFGFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/jserv.properties ExecModifyFunc CreateJservProperties ### ### Generate zone.properties ### ORIFILE=${TZ_JSERV_HOME_CONF}/zone.properties TMPFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/zone.properties.tmp CFGFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/zone.properties ExecModifyFunc CreateZoneProperties ### ### Generate ssp_init.txt ### ORIFILE=${TZ_JSERV_HOME_CONF}/ssp_init.txt TMPFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/ssp_init.txt.tmp CFGFILE=${TZ_JSERV_HOME_CONF}/${TZ_LOWER_NAME}/ssp_init.txt ExecModifyFunc CreateSspInitTxt ### ### Generate mwa.cfg ### ORIFILE=${TZ_APPL_TOP}/mwa/11.5.0/secure/mwa.cfg TMPFILE=${TZ_APPL_TOP}/mwa_${TZ_LOWER_NAME}/11.5.0/secure/mwa.cfg.tmp CFGFILE=${TZ_APPL_TOP}/mwa_${TZ_LOWER_NAME}/11.5.0/secure/mwa.cfg ExecModifyFunc CreateMwaCfg fi ##################################################### ### Modify listener.ora (dbTier only) ##################################################### if [ "$TZ_BASE" = "dbTier" ] then echo "Configuring $LISTENER_FILE...COMPLETED\n" ModifyListenerFile fi ##################################################### ### Modify MTZ Scripts ##################################################### case "$TZ_BASE" in 'dbTier') AppendToDBMTZScripts ;; 'apTier') AppendToAPMTZScripts ;; esac echo "Completed installation - `date`\n" ##################################################### ### Listener Test & Start (dbTier only) ##################################################### if [ "$TZ_BASE" = "dbTier" ] then read DB_CONN_TEST?"Enter [Y] to start $TZ_UPPER_NAME listener and perform connection test [y/N] : " if [ \( "$DB_CONN_TEST" = "Y" \) -o \( "$DB_CONN_TEST" = "y" \) ] then export DEFAULT_TZ=$TZ lsnrctl start $TZ_UPPER_NAME >> $MTZLOG if [ $? -eq 0 ] then echo "\n$TZ_UPPER_NAME Time Zone database configuration ended, and $TZ_UPPER_NAME listener started successfully !" else echo "\n$TZ_UPPER_NAME Time Zone database configuration ended, but $TZ_UPPER_NAME listener failed to start !" MTZ_PROBLEM=1 fi fi DatabaseCheckTimeTest $TZ_APPS_PWD $TZ_UPPER_NAME CompareSystemTime $MTZ_DB_CONN_LOG $DEFAULT_TZ $TZ_CUT_NAME $TZ_UPPER_NAME fi ##################################################### ### Apache Test & Start (apTier only) ##################################################### if [ "$TZ_BASE" = "apTier" ] then read APACHE_TEST?"Enter [Y] to start $TZ_UPPER_NAME Apache process [y/N] : " if [ \( "$APACHE_TEST" = "Y" \) -o \( "$APACHE_TEST" = "y" \) ] then ${TZ_COMMON_TOP}/admin/scripts/${CONTEXT_NAME}/adapcctl_${TZ_LOWER_NAME}.sh start >> $MTZLOG if [ $? -eq 0 ] then echo "\n$TZ_UPPER_NAME Application (Web) Tier configuration ended, and $TZ_UPPER_NAME Apache started successfully !" else echo "\n$TZ_UPPER_NAME Application (Web) Tier configuration ended, but $TZ_UPPER_NAME Apache failed to start !" MTZ_PROBLEM=1 fi fi fi ##################################################### ### Register MTZTAB ##################################################### if [ -e $MTZTAB ] then echo " " else touch $MTZTAB fi OKSTR=`grep '$TZ_UPPER_NAME:::$TZ_MTZ_PORT:::$TZ_MTZ_DB_TNS_PORT:::' $MTZTAB` if [ $? -ne 0 ] then case "$TZ_BASE" in 'dbTier') echo "$TZ_UPPER_NAME:::$TZ_MTZ_PORT:::$TZ_MTZ_DB_TNS_PORT:::$TZ_CUT_NAME:::`date`" >> $MTZTAB echo "MTZ Inventory Registration... success\n" ;; 'cmTier'|'apTier') echo "$TZ_UPPER_NAME:::$TZ_MTZ_PORT:::$TZ_MTZ_DB_TNS_PORT:::`date`" >> $MTZTAB echo "MTZ Inventory Registration... success\n" ;; esac fi (( TZ_COUNT = TZ_COUNT - 1 )) (( MTZ_COUNT = MTZ_COUNT + 1 )) done if [ "$TZ_BASE" = "apTier" -a "$TZ_SESSION_TIMEOUT" != "" ] then echo "$TWO_TASK instance's ICX_SESSION_TIMEOUT is $TZ_SESSION_TIMEOUT. Please modify its value." echo "(Multi Time Zone architecture has to have null value of ICX_SESSION_TIMEOUT!)" fi if [ $TZ_COUNT -eq 0 ] then if [ $MTZ_PROBLEM -eq 0 ] then echo "\nAll Multi Time Zone database configuration completed successfully !!\n" else echo "\nERROR: All Multi Time Zone database configuration not completed successfully !!\n" fi else echo "\nERROR: All Multi Time Zone database configuration not completed successfully !!\n" fi