Oracle - Generar log de respaldo con fecha

 
Vista:

Generar log de respaldo con fecha

Publicado por 7shenko (9 intervenciones) el 08/06/2005 17:30:27
Mi pregunta es la siguiente, hize un script para q haga hot backup todas las semanas, sin embargo, necesito q el log que es generado, kede con la fecha en su nombre ( nombre del archivo )

ya q en estos momentos el script lo genera todas las semanas log con el mismo nombre y estos se van sobreescribiendo :(

alguien sabe como hacerlo ???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Generar log de respaldo con fecha

Publicado por Leonardo (91 intervenciones) el 09/06/2005 00:17:12
Podrias mostrar tu script?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar log de respaldo con fecha

Publicado por 7shenko (9 intervenciones) el 10/06/2005 17:18:58
claro... mira ... lo q genero es un plus3... q al ejecutarse le manda la fecha a un renombra.sql y este a un copialogs.cmd , sin embargo no me tira la linea de la fecha ( si pongo otras sentencias lo manda ) -------> select 'copy log_svrmgr1.log '||'log_svrmgr1'||to_char(sysdate,'yyyymmdd')||'.log' from dual; esta en la parte del RENOMBRAR

ahi les dejo el script completo .... por si acaso


REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REM These values cannot be derived, please set them to reflect your environment
REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

set ORACLE_SID=orcl
set ORACLE_HOME=E:\Oracle\ora81
set O_CONNECT="system/manager as sysdba"
set O_INIT=E:\Oracle\admin\oracle\pfile\init.ora

REM Oracle Binaries
set O_PLUS=%ORACLE_HOME%\bin\sqlplus.exe
set O_COPY=%ORACLE_HOME%\bin\ocopy.exe

set O_BACKPATH=E:\RESPALDOORACLE
set O_SCRIPTPATH=E:\RESPALDOORACLE\Script
rem if %O_SCRIPTPATH%.==. goto help
rem if %O_BACKPATH%.==. goto help

REM ***************************************************************************
REM HOT BACKUP OF THE DATABASE
REM ***************************************************************************

del %O_SCRIPTPATH%\plus1.sql
del %O_SCRIPTPATH%\plus2.sql
del %O_SCRIPTPATH%\plus3.sql
del %O_SCRIPTPATH%\svrmgr1.sql
del %O_SCRIPTPATH%\svrmgr2.sql
del %O_SCRIPTPATH%\renombra.sql
echo.
echo **********************************************************
echo - Create hot_backup.CMD script to coordinate all backup activities - for AT scheduling
echo **********************************************************
echo.
echo Archivo generado, debe ejecutarse como tarea programada
ECHO REM Backup the init file >%O_SCRIPTPATH%\hot_backup.CMD
REM echo copy %O_INIT% %O_BACKPATH% >>%O_SCRIPTPATH%\hot_backup.CMD
REM se comenta la linea de copia de respaldo archivo init.ora
echo SET ORACLE_SID=%ORACLE_SID% >>%O_SCRIPTPATH%\hot_backup.CMD
ECHO REM Run the svrmgr script to backup the datafiles >>%O_SCRIPTPATH%\hot_backup.CMD
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\svrmgr1.sql >>%O_SCRIPTPATH%\hot_backup.CMD
echo REM %O_PLUS% %O_CONNECT% the svrmgr2.sql script to backup the controlfiles >>%O_SCRIPTPATH%\hot_backup.CMD
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\svrmgr2.sql >>%O_SCRIPTPATH%\hot_backup.CMD
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\renombra.sql >>%O_SCRIPTPATH%\hot_backup.CMD

echo.
echo **********************************************************
ECHO -- Create a SQL*PLUS script for the datafile backups
echo **********************************************************
echo.
echo set heading off; >%O_SCRIPTPATH%\plus1.sql
echo set feedback off; >>%O_SCRIPTPATH%\plus1.sql
echo set linesize 1000; >>%O_SCRIPTPATH%\plus1.sql
echo set pages 1000; >>%O_SCRIPTPATH%\plus1.sql
echo spool %O_SCRIPTPATH%\svrmgr1.sql; >>%O_SCRIPTPATH%\plus1.sql
echo select 'spool %O_SCRIPTPATH%\log_svrmgr1.log' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo select 'select to_char(sysdate, ''yyyy-mm-dd hh24:mi:ss'') "Inicio" from dual;' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo select 'alter system switch logfile;' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo select 'alter tablespace '^|^|t.tablespace_name^|^|' begin backup;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
echo '^|^|'select '' '^|^|' Iniciando respaldo '^|^|file_name^|^|' en %O_BACKPATH%'^|^|' '' '^|^|' "MSG" from dual;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
rem echo '^|^|' "MSG" from dual;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
echo '^|^|'host start /wait %O_COPY% '^|^|file_name^|^|' %O_BACKPATH%;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
echo '^|^|'select '' '^|^|' Terminado respaldo '^|^|file_name^|^|' en %O_BACKPATH%'^|^|' '' '^|^|' "MSG" from dual;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
rem echo '^|^|' "MSG" from dual;'^|^|' >>%O_SCRIPTPATH%\plus1.sql
echo '^|^|'alter tablespace '^|^|t.tablespace_name^|^|' end backup;' from dba_data_files d,>>%O_SCRIPTPATH%\plus1.sql
echo dba_tablespaces t where d.tablespace_name = t.tablespace_name and t.contents = 'PERMANENT'; >>%O_SCRIPTPATH%\plus1.sql
echo select 'alter system switch logfile;' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo select 'select to_char(sysdate, ''yyyy-mm-dd hh24:mi:ss'') "Termino" from dual;' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo select 'exit;' from dual; >>%O_SCRIPTPATH%\plus1.sql
echo exit; >>%O_SCRIPTPATH%\plus1.sql

echo.
echo **********************************************************
ECHO -- Run the sql*plus script to create the svrmgr1.sql script
echo **********************************************************
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus1.sql
echo.

%O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus1.sql

echo.
echo **********************************************************
ECHO -- Create a SQL*PLUS script for the control files
echo **********************************************************
echo.
echo set heading off; >%O_SCRIPTPATH%\plus2.sql
echo set feedback off; >>%O_SCRIPTPATH%\plus2.sql
echo set linesize 1000; >>%O_SCRIPTPATH%\plus2.sql
echo spool %O_SCRIPTPATH%\svrmgr2.sql; >>%O_SCRIPTPATH%\plus2.sql
echo select 'alter database backup controlfile to '''^|^|'%O_BACKPATH%\'^|^|substr(name,instr(name,'\',-1)+1)^|^|''' REUSE;' from v$controlfile; >>%O_SCRIPTPATH%\plus2.sql
echo select 'alter database backup controlfile to trace;' from dual; >>%O_SCRIPTPATH%\plus2.sql
echo select 'exit;' from dual; >>%O_SCRIPTPATH%\plus2.sql
echo spool off; >>%O_SCRIPTPATH%\plus2.sql
echo exit; >>%O_SCRIPTPATH%\plus2.sql

echo.
echo **********************************************************
ECHO -- Run the sql*plus script to create the svrmgr2.sql scripts
echo **********************************************************
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus2.sql
echo.
%O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus2.sql

echo.


echo **********************************************************
ECHO -- Create a SQL*PLUS script for the renombrar
echo **********************************************************
echo.
echo set heading off; >%O_SCRIPTPATH%\plus3.sql
echo set feedback off; >>%O_SCRIPTPATH%\plus3.sql
echo set termout off; >>%O_SCRIPTPATH%\plus3.sql
echo set serveroutput off; >>%O_SCRIPTPATH%\plus3.sql
echo spool %O_SCRIPTPATH%\renombra.sql; >>%O_SCRIPTPATH%\plus3.sql
echo set show off; >>%O_SCRIPTPATH%\plus3.sql
echo set lines 100;
echo spool >>%O_SCRIPTPATH%\copialogs.cmd
echo select 'copy log_svrmgr1.log '||'log_svrmgr1'||to_char(sysdate,'yyyymmdd')||'.log' from dual; >>%O_SCRIPTPATH%\plus3.sql
echo spool off; >>%O_SCRIPTPATH%\plus3.sql
echo exit; >>%O_SCRIPTPATH%\plus3.sql

echo.
echo **********************************************************
ECHO -- Run the sql*plus script to create the renombra.sql scripts
echo **********************************************************
echo %O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus3.sql
echo.
%O_PLUS% %O_CONNECT% @%O_SCRIPTPATH%\plus3.sql
echo.

echo **********************************************************
ECHO -- Hot Backup Complete
echo **********************************************************
echo.
goto END_OF_FILE;

REM ***************************************************************************
REM USER HELP
REM ***************************************************************************
:HELP
echo.
echo HOT_GEN.CMD Usage:
echo Enter HOT_GEN SCRIPT_TARGET BACKUP_TARGET
echo where SCRIPT_TARGET is the location for the backup scripts e.g. c:\oraback\sid\HOT
echo and BACKUP_TARGET is the location for the Oracle datafile backups when batch is executed
echo.
goto END_OF_FILE

:HELP2
echo.
echo Error - Cannot write to %O_BACKPATH%
echo.
goto END_OF_FILE

REM ***************************************************************************
REM HANDLE ERRORS HERE
REM ***************************************************************************
findstr /in "error" %O_BACKPATH%\backup.log && findstr /in "error" %O_BACKPATH%\backup.log >%O_BACKPATH%\error.log
findstr /in "ora-" %O_BACKPATH%\backup.log && findstr /in "ora-" %O_BACKPATH%\backup.log >%O_BACKPATH%\error.log
findstr /in "cannot" %O_BACKPATH%\backup.log && findstr /in "cannot" %O_BACKPATH%\backup.log >%O_BACKPATH%\error.log
findstr /in "not logged" %O_BACKPATH%\backup.log && findstr /in "not logged" %O_BACKPATH%\backup.log >%O_BACKPATH%\error.log
findstr /in "failure" %O_BACKPATH%\backup.log && findstr /in "failure" %O_BACKPATH%\backup.log >%O_BACKPATH%\error.log
if exist %O_BACKPATH%\error.log c:\ntreskit\logevent -s E "BACKUP FAILURE!"
pause

endlocal
:END_OF_FILE



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar log de respaldo con fecha

Publicado por trazom (28 intervenciones) el 14/06/2005 14:05:34
Ejemplo sencillo:

sqlplus user/pwd @backup.sql
------ backup.sql -------
column today new_val dt
select to_char( sysdate, 'ddmmyyyy' ) today from dual;
host exp userid=user/pwd tables=emp file=exp_prod_&dt..exp
exit
------ fin -------

Esto funciona en todas las plataformas

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar log de respaldo con fecha

Publicado por 7shenko (9 intervenciones) el 16/06/2005 23:54:39
mmm es solo q lo q necesitaba era hacer un hot backup ...
en todo caso ya lo arregle ... hize un script diferente para la fecha

= gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar