Backup mediante un .bat

Quisiera aprender a respaldar mi base a un ahora determinada mediante un archivo . Bat o si existe otra forma desde del oracle para que en una hora cuando nadie este ocupando la base lo haga sin mi intervención

1 Respuesta

Respuesta
1
¿Qué es lo que quieres hacer, copias físicas o lógicas? Hablando claramente exports o copias físicas de
Los ficheros.
Si lo que quieres es export lo que debes hacer es crear un fichero de parámetros de la forma:
LOG=path\fichero.log
FILE=path\fichero.DMP
FULL=Y
Consistent=Y
Es decir, edita un fichero con el notepad, lo llamas exp_full. Par y le pones los parámetros que te di.
A continuación lo único que debes hacer es crear un fichero .bat de la forma:
exp usuario/passwword parfile=path\exp_full.par
El usuario que tienes que poner aquí es el usuario con permisos de exp full database.
Con esto ya tienes el .bat, ahora solo tienes programarlo con cualquier herramienta, supongo que debes
Tener un win2000 (si tiens un nt busca la aplicación winat que es muy parecida) así que en
inicio\configuracion\panel de control esta tareas programadas, allí añades una nueva tarea que lo único
que haga sea ejecutar el .bat.
Una vez logrado esto tienes la copia de seguridad en el fichero .dmp creado, es decir, ahora deberías
Sacarlo de donde este ( a no ser que donde este sea un servidor de copias). Si lo que quieres es sacarlo
A un soporte físico (ya sea un cinta de Backup o un cd o lo que sea) lo que debes copiar es ese
Fichero.bat como si fuera un fichero normal y corriente.
Si lo que quieres es hacer copias físicas de Oracle debes tener en cuenta que ademas de los datos debes
Copiar los ficheros de control, los de redo y es preferible el init. Ora y el fichero de password.
Para saber que ficheros son debes entrar con el sqlplus y ejecutar (como administrador):
sql> select name from v$datafile; (todos los ficheros de datos)
sql> select member from v$logfile; (todos los ficheros de redo)
sql> select name from v$controlfile; (todos los ficheros de control)
Una vez localizados los ficheros lo único que debes tener en cuenta es que la base de datos debe estar
Parada para que estos ficheros sirvan, por lo que antes de copiarlos (con un comando copy de toda la
Vida) debes parar la base de datos, y levantarla al final. Esto lo puedes conseguir de dos formas o
Parando el servicio (es el más sencillo) con un comando net stop o conectándote a la base de datos como
dba o internal (9i o 8i).
Si lo haces parando el servicio crea un ficheo .bat con los comandos:
net stop OracleService<SId> (Nombre del servicio Oracle)
copy path\ficheros.dbf o .ora nuevo_path\
...
net start OracleSercie<sid>
Esto es lo más sencillo. Lo demás es todo igual, moverlo a un soporte, programar un comando... etc
Ah, si tienes un software de copia estilo el Veritas, incluyen una opción de ejecutar antes un comando y después de la copia, por lo que te olvidas del .bat y solo ejecutas el net stop antes, marcas copiar todos los ficheros y luego ejecutas un net start.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas