It’s amazing what you learn the hard way. This week the interRel team learned about a backup policy that Oracle rolled out for their Oracle EPM Cloud products months ago: “Snapshots that you create or upload to the service are stored for 60 days after which they are automatically deleted.” We somehow missed this announcement, but we’ve been told that this change went into effect several months ago. Note that you’ll find the above statement (or a similar statement) in many of the Oracle EPM Cloud online documents within the administration eBooks. This link will take you directly to the PBCS/EPBCS online document where it’s stated.
Originally, when Oracle first launched EPM Cloud, manual backups were not touched by Oracle, nor were they regulated. I suppose the popularity of Oracle EPM Cloud has now forced a new policy to ensure that there is enough storage space for their thousands of customers. Therefore, remember to back up your snapshots – both those that are manually made, in addition to the nightly production snapshot!
Below is example DOS code for an EPM Automate script if you need something handy to run on a daily basis. This will enable a rolling 7 day backup of the automatic nightly snapshot and can be modified for any manual snapshots if so needed. Just remember to replace the “xxx” with your environment specifics and credentials. Also, as the comment states, it’s assumed that the referenced directory folders have already been created up front.
@echo off
REM *******************************************************************************
REM Script History
REM *******************************************************************************
REM Nightly backup script. Downloads the previous night’s automatic backup
REM and keeps a running 7 days on the local server
REM Created by: xxx
REM Created on: xxx
REM *******************************************************************************
REM Variables
REM Assumes that all directory folders referenced have been created up front
REM *******************************************************************************
SET returnvalue=0
SET filedir=xxx
SET bufiledir=%filedir%\Backup\xxx
SET pwd=%filedir%\Scripts\password.epw
SET logfile=%filedir%\Logs\xxx.log
SET user=xxx
SET domain=xxx
SET url=xxx
ECHO Renaming backup folders
@echo off
REM Maintain 7 rolling days of logs.
REM The 7th oldest day will be deleted first and then the
REM remaining 6 days will be rotated.
RMDIR /S /Q “%bufiledir%\Day7”
REN “%bufiledir%\Day6” Day7
REN “%bufiledir%\Day5” Day6
REN “%bufiledir%\Day4” Day5
REN “%bufiledir%\Day3” Day4
REN “%bufiledir%\Day2” Day3
REN “%bufiledir%\Day1” Day2
MKDIR “%bufiledir%\Day1”
)
ECHO Changing directory path to Day1 folder for download
@echo off
CD /D “%bufiledir%\Day1”
IF %ERRORLEVEL% NEQ 0 (
echo Change directory failed with error %ERRORLEVEL%.
goto :END
)
ECHO Logging into environment
call epmautomate login %user% “%pwd%” %url% %domain% > “%logfile%”
@echo off
IF %ERRORLEVEL% NEQ 0 (
echo Login failed with error %ERRORLEVEL%.
goto :END
)
ECHO Downloading last night’s backup snapshot
call epmautomate downloadfile “Artifact Snapshot” >> “%logfile%”
@echo off
ECHO Artifacts downloaded successfully
IF %ERRORLEVEL% NEQ 0 (
echo Login failed with error %ERRORLEVEL%.
goto :END
)
ECHO Logging Out
call epmautomate logout >> “%logfile%”
@echo off
IF %ERRORLEVEL% NEQ 0 (
echo Logout failed with error %ERRORLEVEL%.
goto :END
)
REM End
:END
ECHO Return code: %ERRORLEVEL%
SET returnValue=%ERRORLEVEL%
EXIT /B %returnValue%