respaldar tablas de oracle desde VB.net

20/01/2006 - 22:26 por José Luis | Informe spam
hola a todos.
Estoy desarrollando un programa que va ha estar en red,
mi manejador de bases de datos es ORACLE 9i, y para conectarme a la BD's lo
realizo de forma desconectada.

Como puedo implementar una funcion o procedimiento que me haga respaldo
periodicamente de mis tablas de la base de datos, es decir hacer un Backup y
un Restore.

Preguntas similare

Leer las respuestas

#1 David Hernandez Diez
31/01/2006 - 00:14 | Informe spam
Si lo que quieres es lanzar un procedimiento de forma periódica o cada x
tiempo puedes crearte un servicio de windows.
(http://www.elguille.info/NET/dotnet...indows.htm)

Que cada cierto intervalo mire la hora y si es una hora x que lance el
proceso de Backup o Restore.

De todas formas esto solo lo aconsejaría en el caso que quieras hacer un
backup/restore "muy especial" que no se pueda realizar con las
herramientas que te provee Oracle ...

Saludos,
David Hernández Díez
MCDBA MCSD vs6 & .NET
DCE5 .Net1.1 & DCE2 .NET 2.0

José Luis wrote:
hola a todos.
Estoy desarrollando un programa que va ha estar en red,
mi manejador de bases de datos es ORACLE 9i, y para conectarme a la BD's lo
realizo de forma desconectada.

Como puedo implementar una funcion o procedimiento que me haga respaldo
periodicamente de mis tablas de la base de datos, es decir hacer un Backup y
un Restore.



Respuesta Responder a este mensaje
#2 José Luis
01/02/2006 - 18:17 | Informe spam
Hola david lo que deceo es que por medio de mi aplicacion el usuario respalde
todos los datos de las tablas, de oracle.
Es como una opcion dentro de un formulario, pero no se como se puede hacer,
espero que me hayas entendido.
Gracias

"David Hernandez Diez" escribió:

Si lo que quieres es lanzar un procedimiento de forma periódica o cada x
tiempo puedes crearte un servicio de windows.
(http://www.elguille.info/NET/dotnet...indows.htm)

Que cada cierto intervalo mire la hora y si es una hora x que lance el
proceso de Backup o Restore.

De todas formas esto solo lo aconsejaría en el caso que quieras hacer un
backup/restore "muy especial" que no se pueda realizar con las
herramientas que te provee Oracle ...

Saludos,
David Hernández Díez
MCDBA MCSD vs6 & .NET
DCE5 .Net1.1 & DCE2 .NET 2.0

José Luis wrote:
> hola a todos.
> Estoy desarrollando un programa que va ha estar en red,
> mi manejador de bases de datos es ORACLE 9i, y para conectarme a la BD's lo
> realizo de forma desconectada.
>
> Como puedo implementar una funcion o procedimiento que me haga respaldo
> periodicamente de mis tablas de la base de datos, es decir hacer un Backup y
> un Restore.
>
>
>



Respuesta Responder a este mensaje
#3 David Hernandez Diez
01/02/2006 - 23:26 | Informe spam
Si lo quieres hacer programáticamente con c#, podrías usar el método
GetSchema del objeto connection. Con esto sacarías la lista de todas las
tablas que hay en base de datos.

Una vez que tienes toda la lista de tablas tendrías que ir lanzando una
query por cada tabla (en plan "select * from " & nombreTabla ) meter
todos esos resultados en dataTables y dentro de un dataset y persistirlo
p. ej. a disco.

Cuando quieras hacer el restore tendrías que hacer el proceso a la
inversa, es decir borrar el contenido de las tablas, leer el fichero que
antes persististe a disco y volver a rellenar las tablas.

Todo esto que te he explicado es si quieres una cosa MUY simple. ya que
con esto solo haces restore del contenido de las tablas, no de las
dependencias que hay de las tablas, ni de procedimientos almacenados ni
de paquetes PL-SQL ni etc ...

Puedes encontrarte problemas si tienes autonuméricos (sequences), en
este caso tendrías que resetear esas sequences antes de introducir los
datos. otro problema es que si la base de datos es muy grande
seguramente el rendimiento de esta forma de hacer restore sea bastante
pesada.

Mi recomendación es que, si puedes, te informes de cómo se puede crear
una tarea en Oracle que te haga un backup/restore y de cómo lanzarla
bajo demanda. Esto seguro que es mucho más óptimo y seguro que el
procedimiento que te he comentado. Pero creo que eso te lo podrían
resolver mejor en algún foro de Oracle...


Saludos,
David Hernández Díez
MCDBA MCSD vs6 & .NET
DCE5 .Net1.1 & DCE2 .NET 2.0

José Luis wrote:
Hola david lo que deceo es que por medio de mi aplicacion el usuario respalde
todos los datos de las tablas, de oracle.
Es como una opcion dentro de un formulario, pero no se como se puede hacer,
espero que me hayas entendido.
Gracias

"David Hernandez Diez" escribió:

Si lo que quieres es lanzar un procedimiento de forma periódica o cada x
tiempo puedes crearte un servicio de windows.
(http://www.elguille.info/NET/dotnet...indows.htm)

Que cada cierto intervalo mire la hora y si es una hora x que lance el
proceso de Backup o Restore.

De todas formas esto solo lo aconsejaría en el caso que quieras hacer un
backup/restore "muy especial" que no se pueda realizar con las
herramientas que te provee Oracle ...

Saludos,
David Hernández Díez
MCDBA MCSD vs6 & .NET
DCE5 .Net1.1 & DCE2 .NET 2.0

José Luis wrote:
hola a todos.
Estoy desarrollando un programa que va ha estar en red,
mi manejador de bases de datos es ORACLE 9i, y para conectarme a la BD's lo
realizo de forma desconectada.

Como puedo implementar una funcion o procedimiento que me haga respaldo
periodicamente de mis tablas de la base de datos, es decir hacer un Backup y
un Restore.







Respuesta Responder a este mensaje
#4 José Luis
06/02/2006 - 23:37 | Informe spam
hola David

Gracias por tus comentarios, y voy a seguir buscando en los foros de oracle.
gracias hermano.
Estamos en contacto

"David Hernandez Diez" escribió:


Si lo quieres hacer programáticamente con c#, podrías usar el método
GetSchema del objeto connection. Con esto sacarías la lista de todas las
tablas que hay en base de datos.

Una vez que tienes toda la lista de tablas tendrías que ir lanzando una
query por cada tabla (en plan "select * from " & nombreTabla ) meter
todos esos resultados en dataTables y dentro de un dataset y persistirlo
p. ej. a disco.

Cuando quieras hacer el restore tendrías que hacer el proceso a la
inversa, es decir borrar el contenido de las tablas, leer el fichero que
antes persististe a disco y volver a rellenar las tablas.

Todo esto que te he explicado es si quieres una cosa MUY simple. ya que
con esto solo haces restore del contenido de las tablas, no de las
dependencias que hay de las tablas, ni de procedimientos almacenados ni
de paquetes PL-SQL ni etc ...

Puedes encontrarte problemas si tienes autonuméricos (sequences), en
este caso tendrías que resetear esas sequences antes de introducir los
datos. otro problema es que si la base de datos es muy grande
seguramente el rendimiento de esta forma de hacer restore sea bastante
pesada.

Mi recomendación es que, si puedes, te informes de cómo se puede crear
una tarea en Oracle que te haga un backup/restore y de cómo lanzarla
bajo demanda. Esto seguro que es mucho más óptimo y seguro que el
procedimiento que te he comentado. Pero creo que eso te lo podrían
resolver mejor en algún foro de Oracle...


Saludos,
David Hernández Díez
MCDBA MCSD vs6 & .NET
DCE5 .Net1.1 & DCE2 .NET 2.0

José Luis wrote:
> Hola david lo que deceo es que por medio de mi aplicacion el usuario respalde
> todos los datos de las tablas, de oracle.
> Es como una opcion dentro de un formulario, pero no se como se puede hacer,
> espero que me hayas entendido.
> Gracias
>
> "David Hernandez Diez" escribió:
>
>> Si lo que quieres es lanzar un procedimiento de forma periódica o cada x
>> tiempo puedes crearte un servicio de windows.
>> (http://www.elguille.info/NET/dotnet...indows.htm)
>>
>> Que cada cierto intervalo mire la hora y si es una hora x que lance el
>> proceso de Backup o Restore.
>>
>> De todas formas esto solo lo aconsejaría en el caso que quieras hacer un
>> backup/restore "muy especial" que no se pueda realizar con las
>> herramientas que te provee Oracle ...
>>
>> Saludos,
>> David Hernández Díez
>> MCDBA MCSD vs6 & .NET
>> DCE5 .Net1.1 & DCE2 .NET 2.0
>>
>> José Luis wrote:
>>> hola a todos.
>>> Estoy desarrollando un programa que va ha estar en red,
>>> mi manejador de bases de datos es ORACLE 9i, y para conectarme a la BD's lo
>>> realizo de forma desconectada.
>>>
>>> Como puedo implementar una funcion o procedimiento que me haga respaldo
>>> periodicamente de mis tablas de la base de datos, es decir hacer un Backup y
>>> un Restore.
>>>
>>>
>>>
>>
>>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida