Scripts e Instruções para Windows

Crie input.properties e skip_update.ps1 copiando os scripts nesta seção.

  1. Crie input.properties copiando o script a seguir:
    username=exampleAdmin
    password=examplePassword.epw
    url=exampleURL
    updatemonths=02,05,08,11
    
  2. Atualize input.properties especificando valores do parâmetro.

    Table 3-11 Parâmetros de input.properties

    Parâmetro Descrição
    username Nome de usuário de um Administrador de Serviço.
    senha A senha do Administrador de Serviço ou o nome e a localização do arquivo de senha criptografado.
    url O URL do ambiente em que você deseja definir a frequência de atualização não mensal.
    updatemonths Uma lista separada por vírgulas dos meses em que as atualizações do Oracle Enterprise Performance Management Cloud devem ser aplicadas ao ambiente identificado pelo parâmetro url. Por exemplo, updatemonths=02,05,08,11.

    Os meses devem ser especificados como dois dígitos: 01 para janeiro até 12 para dezembro. Certifique-se de incluir um zero antes dos meses de janeiro a setembro. Este script tenta executar o comando skipUpdate para os meses não incluídos no valor do parâmetro updatemonths. Por exemplo, se você especificar updatemonths=02,05,08,11, o script tentará definir os sinalizadores de ignorar atualização para janeiro, março, abril, junho, julho, setembro, outubro e dezembro de modo que as atualizações sejam feitas somente em fevereiro, maio, agosto e novembro.

  3. Crie skip_updates.ps1 copiando o script a seguir:
    # 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