 |
|
Oracle export script for Windows
Oracle Database Tips by Donald Burleson |
For working Oracle Windows Scripts,
Jeff Hunter, author of "Conducting
the Java Job Interview" has working Windows Oracle scripts
here, including JavaScript/Oracle and visual basic/Oracle
interface scripts:
Lets examine Hunter's
oracle_export.bat Oracle Windows script. Note that he builds
the exp parfile arguments into a DOS variable called %PARFILE%,
just like you can invoke Oracle directly from the DOS prompt (on
one line only) : e.g.
c:> exp=%PARFILE%:
REM
+--------------------------------------------------------------------------+
REM | VALIDATE COMMAND-LINE
PARAMETERS |
REM
+--------------------------------------------------------------------------+
if (%1)==() goto USAGE
if (%2)==() goto USAGE
if (%3)==() goto USAGE
REM
+--------------------------------------------------------------------------+
REM | VALIDATE ENVIRONMENT
VARIABLES |
REM
+--------------------------------------------------------------------------+
REM set ORABACKUP=C:\oracle\orabackup\JEFFDB\export
REM set ORALOG=C:\oracle\custom\oracle\log
REM set ORATMP=C:\oracle\custom\oracle\temp
if (%ORALOG%)==() goto ENV_VARIABLES
if (%ORATMP%)==() goto ENV_VARIABLES
if (%ORABACKUP%)==() goto ENV_VARIABLES
REM
+--------------------------------------------------------------------------+
REM | DECLARE ALL GLOBAL
VARIABLES. |
REM
+--------------------------------------------------------------------------+
set FILENAME=export_backup_online_full_9i
set DB_USERNAME=%1%
set DB_PASSWORD=%2%
set TNS_ALIAS=%3%
set PARFILE=%ORATMP%\%FILENAME%_%TNS_ALIAS%.parfile
set LOGFILE=%ORALOG%\%FILENAME%_%TNS_ALIAS%.log
set DUMPFILE=%ORABACKUP%\exp_full_%TNS_ALIAS%.dmp
REM
+--------------------------------------------------------------------------+
REM | REMOVE OLD LOG AND PARAMETER FILE(S).
|
REM
+--------------------------------------------------------------------------+
del /q %PARFILE%
del /q %LOGFILE%
REM
+--------------------------------------------------------------------------+
REM | WRITE EXPORT PARAMETER
FILE. |
REM
+--------------------------------------------------------------------------+
echo userid=%DB_USERNAME%/%DB_PASSWORD%@%TNS_ALIAS% > %PARFILE%
echo buffer=50000000 >> %PARFILE%
echo file=%DUMPFILE% >> %PARFILE%
echo compress=n >> %PARFILE%
echo grants=y >> %PARFILE%
echo indexes=y >> %PARFILE%
echo direct=no >> %PARFILE%
echo log=%LOGFILE% >> %PARFILE%
echo rows=y >> %PARFILE%
echo consistent=y >> %PARFILE%
echo full=y >> %PARFILE%
REM echo owner=(SCOTT) >> %PARFILE%
REM echo tables=(EMP, DEPT) >> %PARFILE%
echo triggers=y >> %PARFILE%
echo statistics=none >> %PARFILE%
echo constraints=y >> %PARFILE%
REM
+--------------------------------------------------------------------------+
REM | MOVE OLD EXPORT (DUMP)
FILE. |
REM
+--------------------------------------------------------------------------+
del /q %DUMPFILE%.backup
move %DUMPFILE% %DUMPFILE%.backup
REM
+--------------------------------------------------------------------------+
REM | PERFORM
EXPORT.
|
REM
+--------------------------------------------------------------------------+
exp parfile=%PARFILE%
REM
+--------------------------------------------------------------------------+
REM | SCAN THE EXPORT LOGFILE FOR
ERRORS. |
REM
+--------------------------------------------------------------------------+
echo ...
echo Analyzing log file for EXP- errors...
findstr /I /C:"EXP-" %LOGFILE%
if errorlevel 0 if not errorlevel 1 echo EXP- Errors:
%FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%
echo ...
echo Analyzing log file for ORA- errors...
findstr /I /C:"ORA-" %LOGFILE%
if errorlevel 0 if not errorlevel 1 echo ORA- Errors:
%FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%
echo ...
echo Analyzing log file for warnings...
findstr /I /C:"Export terminated successfully with warnings"
%LOGFILE%
if errorlevel 0 if not errorlevel 1 echo WARNING: %FILENAME% %TNS_ALIAS%
%COMPUTERNAME% %DATE% %TIME% %LOGFILE%
echo ...
echo Analyzing log file for errors...
findstr /I /C:"Export terminated unsuccessfully" %LOGFILE%
if errorlevel 0 if not errorlevel 1 echo ERROR: %FILENAME% %TNS_ALIAS%
%COMPUTERNAME% %DATE% %TIME% %LOGFILE%
echo ...
echo END OF FILE REPORT
echo Filename : %FILENAME%
echo Database : %TNS_ALIAS%
echo Hostname : %COMPUTERNAME%
echo Date : %DATE%
echo Time : %TIME%
echo EXP Log File : %LOGFILE%
See these additional resources for Oracle
Windows scripts: