The purpose of the script is to perform full database export keeping 3 export copies.
If export is successful, then fullexp*.dmp will be renamed with _1.dmp suffix added to filename.
If export is unsuccessful, then code will exit, skipping rename operations.
Note: there should never be .dmp file without # suffix unless export is unsuccessful.
In hindsight, directoryName should be using variable (ORACLE_SID) versus hardcode.
SET ORACLE_SID=DB01
SET directoryName=D:\DB01\export
expdp '/ as sysdba' full=y directory=DATA_PUMP_DIR dumpfile=fullexp_%ORACLE_SID%_%COMPUTERNAME%.dmp logfile=fullexp_%ORACLE_SID%_%COMPUTERNAME%.log flashback_time=SYSTIMESTAMP REUSE_DUMPFILES=YES
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_3.dmp" (DEL "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_3.*")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.dmp" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.dmp" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_3.dmp")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.log" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.log" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_3.log")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.dmp" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.dmp" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.dmp")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.log" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.log" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_2.log")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%.dmp" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%.dmp" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.dmp")
IF EXIST "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%.log" (RENAME "%directoryName%\fullexp_%ORACLE_SID%_%COMPUTERNAME%.log" "fullexp_%ORACLE_SID%_%COMPUTERNAME%_1.log")
EXIT 0
:ERROR
EXIT 1
Results after 4 runs.
08/03/2017 07:53 PM 2,680,008,704 fullexp_DB01_CMWPHV1_1.dmp 08/03/2017 07:53 PM 161,707 fullexp_DB01_CMWPHV1_1.log 08/03/2017 07:46 PM 2,680,008,704 fullexp_DB01_CMWPHV1_2.dmp 08/03/2017 07:46 PM 161,707 fullexp_DB01_CMWPHV1_2.log 08/03/2017 07:37 PM 2,680,008,704 fullexp_DB01_CMWPHV1_3.dmp 08/03/2017 07:37 PM 161,707 fullexp_DB01_CMWPHV1_3.log
