Windows Script and Instructions
Create input.properties
and skip_update.ps1
by copying the scripts in this section.
- Create
input.properties
by copying the following script:username=exampleAdmin password=examplePassword.epw url=exampleURL updatemonths=02,05,08,11
- Update
input.properties
by specifying parameter values.Table 3-12 input.properties Parameters
Parameter Description username
User name of a Service Administrator. password
Password of the Service Administrator or the name and location of the encrypted password file. url
URL of the environment on which you want to set the non-monthly update cadence. updatemonths
A comma separated list of months when Oracle Enterprise Performance Management Cloud updates should be applied to the environment identified by the url
parameter. For example,updatemonths=02,05,08,11
.Months must be specified as two digits: 01 for January through 12 for December. Be sure to include a preceding zero for January through September. The script attempts to run the skipUpdatecommand for the months not included in the
updatemonths
parameter value. For example, if you specifyupdatemonths=02,05,08,11
, the script tries to set skip update flags for January, March, April, June, July, September, October, and December so that updates are made only in February, May, August, and November. - Create
skip_updates.ps1
by copying the following script:# Skip Update PowerShell script $inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw) $username="$($inputproperties.username)" $password="$($inputproperties.password)" $url="$($inputproperties.url)" $updatemonths="$($inputproperties.updatemonths)" $monthsarr = ("01","02","03","04","05","06","07","08","09","10","11","12") $global:monthsarrfromcurrent = @() $global:yearsarrfromcurrent = @() $updatemonthsarr = $updatemonths.Split(",") $currentyear=Get-Date -Format yy $currentmonth=Get-Date -Format MM $nextyear=[int]$currentyear+1 function populateFromCurrentArrays() { $startposition = 0 for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${currentmonth} -eq $monthsarr[$i]) { $startposition=$i break } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -ge ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $currentyear } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -lt ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $nextyear } } } function skipUpdateAdd($yearnumber, $monthnumber) { echo "Running: epmautomate.bat skipUpdate add version=${yearnumber}.${monthnumber} comment=`"adding skipUpdate`"" epmautomate skipUpdate add version=${yearnumber}.${monthnumber} comment="adding skipUpdate" } function processSkipUpdates() { $addcount = 0 echo "Running: epmautomate.bat login ${username} ${password} ${url}" epmautomate login ${username} ${password} ${url} echo "Running: epmautomate.bat skipUpdate remove" epmautomate skipUpdate remove for ($i = 0; $i -le ($global:monthsarrfromcurrent.length - 1); $i++) { $match = 1 if (${addcount} -eq 2) { echo "Two skip update add calls have been made. No more will be attempted." break } for ($j = 0; $j -le ($updatemonthsarr.length - 1); $j++) { if ($global:monthsarrfromcurrent[$i] -eq $updatemonthsarr[$j]) { $match = 0 break } } if (${match} -eq 1) { skipUpdateAdd $global:yearsarrfromcurrent[$i] $global:monthsarrfromcurrent[$i] $addcount += 1 } } echo "Running: epmautomate.bat skipUpdate list" epmautomate skipUpdate list echo "Running: epmautomate.bat logout" epmautomate logout } function compareUpdateMonths($thismonth, $nextmonth) { $nextmonthorig=${nextmonth} if (${nextmonth} -lt ${thismonth}) { $nextmonth+=12 } $monthdiff = $nextmonth - $thismonth if (${monthdiff} -gt 3) { echo "There are more than 2 months skipped from month ${thismonth} to month ${nextmonthorig}. Please correct updatemonths in input.properties so that there are not more than two months skipped between each update month. Exiting." exit 1 } } function validateUpdateMonths() { for ($i = 0; $i -le ($updatemonthsarr.length - 1); $i++) { $nextint = $i + 1 $thisupdatemonth = $updatemonthsarr[$i] $thisupdatemonthint=[int]$thisupdatemonth $nextupdatemonth=$updatemonthsarr[$nextint] $nextupdatemonthint=[int]$nextupdatemonth if (${nextupdatemonth} -eq "") { $nextupdatemonth=$updatemonthsarr[0] $nextupdatemonthint=[int]$nextupdatemonth } compareUpdateMonths $thisupdatemonthint $nextupdatemonthint } } validateUpdateMonths populateFromCurrentArrays processSkipUpdates