Rechercher : dans
Par :

Sauvegarde base Oracle

Dernière réponse le 8 oct 2009 à 19:26:05 prez, le 9 mar 2004 à 18:59:28 
 Signaler ce message aux modérateurs

Bonjour,
Actuellement je bosse sur une base Oracle 8i et j'ai un problème de taille : je n'arrive pas à sauvegarder la base. J'ai fait beaucoup de recherches sur le net et je n'ai rien trouvé d'intéressant, que ce soit en SQL ou avec DBA.
Si vous avez des modes opératoires sur ce type de sauvegarde allez-y je suis tout ouïe !
Merci.

Meilleures réponses pour « Sauvegarde base Oracle » dans :
Oracle - Les fichiers d'une base Oracle Voir Les fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
Sauvegarde de la base de registre VoirLa Base de registre (ou registre) est un fichier où sont stockés les paramètres de votre ordinateur. Pourquoi faire une sauvegarde ? Faire une sauvegarde Erunt Windows 95 Windows 98 Windows Vista / Windows XP / Windows 2000 / Windows...
Base de Registre : Sauvegarde et Restauration VoirSauvegarder et Restaurer le Registre de Windows XP Voici 2 méthodes simple pour Sauvegarder et Restaurer le Registre de Windows XP. Exporter - Importer Sauvegarde et Restauration à l'aide de la console de récupération de Windows...
Oracle - Les processus VoirLes processus Le fonctionnement de la base Oracle est régi par un certain nombre de processus chargés en mémoire permettant d'assurer la gestion de la base de données. On distingue généralement deux types de processus : les processus utilisateurs...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

blux, le 10 mar 2004 à 09:15:40
  • +1

Salut,

une base ORACLE peut être sauvée :
- instance arrêtée
- en utilisant des modules qui permettent de la sauver à la volée
- en la mettant en begin backup pour peu qu'elle ait été lancée en archive log

Il suffit ensuite de sauver les tablespaces la composant, c'est tout.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

prez, le 11 mar 2004 à 18:37:16

Et c'est programmable via un outils ORACLE ou pas ? parce que mon but serait de faire une sauvegarde auto.

Répondre à prez

3

blux, le 12 mar 2004 à 09:13:01
  • +1

Ben non, parce que si tu arrêtes ton instance, elle ne sera pas en mesure de lancer quoi que soit...

Pour une save auto, il faut écrire un script qui arrête l'instance, sauve les tablespaces, les fichiers redo... et relance l'instance après.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

Guéna, le 9 nov 2004 à 12:33:13

Non, tu n'es pas obligé d'arrêter ta base!!! --> sauvegarde dite "à chaud"

pour ce faire, il faut prélablement configurer un canal entre ta base et rman (recovery manager) comme ceci
exemple : config_toto.sql

configure backup optimization on;
configure retention policy to recovery window of 15 days; --tu définis ta politique de rétention
configure channel device type disk format '/repertoire de destination/sauv_%n_%U.bckp';
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/repertoire de destination/CF_%n_%F.bckp';

tu peux après mettre ça dans un shell .sh qui appellera ton fichier .sql via rman:

exemple : config_toto.sh
rman target / cmdfile '/ton chemin/config_toto.sql'

pour la sauvegarde "à chaud" proprement dite :
script sql pour une sauvegarde complète: bckp_full.sql

run {
set command id to 'rman';
backup
incremental level 0
tag 'base hot L0'
database
plus archivelog
delete all input;
report obsolete;
delete obsolete;
}

pour l'automatiser tu l'appelles depuis un .sh : bckp_full.sh
#
# bckup_full.sh : sauvegarde complète sur disque via RMAN
#
# lancement : doit être exécuté par un utilisateur du groupe unix "OSDBA" (généralement le groupe dba)
#

bckp_full_rman()
{
#
# sauvegarde complète sur disque via RMAN, suppression des archives de plus de 2 semaines
#
sqlplus /nolog <<EOF
whenever sqlerror exit 1
whenever oserror exit 2
connect / as sysdba
spool 'répertoire des logs'/bckp_full_rman$$.log
@'répertoire des scripts'/bckp_full.sql
EOF
RC=$?
[ $RC -ne 0 ] && { echo "\nErreur en creation de sauvegarde : Cf. 'répertoire des logs'/bckp_full_rman$$.log\n";exit 1; }
}
########################################################################
# #
# DEBUT DU PROGRAMME #
# #
########################################################################
clear
# Trappe de fin de programme
trap "sleep 2;kill -s PIPE 0" EXIT INT QUIT TERM

clear
echo "\n\tDébut de la sauvegarde sur disque de la base sur `uname -n` le `date '+%d/%m/%Y à %X'`\n\n"
sleep 2
bckp_full_rman
# Bannière de fin
echo "\n\n\t\tSauvegarde de la base exécutée avec succès le `date '+%d/%m/%Y à %X'`"
exit 0

puis tu automatises avec la crontable.

@+ Guéna

Répondre à Guéna

5

blux, le 9 nov 2004 à 13:44:06

Salut,

je n'ai jamais dit le contraire...

Voir mon premier message avec "modules qui permettent de sauver à la volée"...

Peux-tu me confirmer que rman est fourni "en standard" avec oracle ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

6

Guéna, le 9 nov 2004 à 14:20:15

Salut Blux,

désolé, j'avais pas vu le point concernant les modules de save à la volée... MEA CULPA l'ami :o)

je te confirme qu'RMAN est inclus dans ORACLE (en tout cas à partir de la 8i c'est sûr)

perso je m'en sers à la fois sur une plateforme de prod (machine HP-UX) et en local sur du windows 2000. les ordres rman s'exécutent de la même façon sur les 2 OS (UNIX/DOS). Après ce sont les shells pour lancer ces ordres qui diffèrent. (.sh/.bat)

au cas où, je cherche des infos sur TINA(atempo), notamment sur la config de ce dernier pour savoir comment déclarer le canal de sauvegarde entre lui et ORACLE. je ne sais pas s'il faut déclarer un canal spécifique dans ORACLE ou bien si c'est TINA qui gère ça tt seul.
Je sauvegarde à la fois sur disque avec RMAN et aussi sur bande via TINA.

malheureusement c'est une politique qui m'est imposée... :'( car j'aurai préféré utiliser le canal SBT de RMAN qui est très simple à employer.
@+ Blux

Répondre à Guéna

7

blux, le 9 nov 2004 à 14:32:51

Désolé, moi c'est Networker avec NMO, qui sauve...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

8

Guéna, le 9 nov 2004 à 15:00:10

Oki, merci qd même. si t'entends parler de TINA n'hésite pas!!! ;oP

'lut,

Guéna.

Répondre à Guéna

9

 siouat, le 8 oct 2009 à 19:26:05
  • +1

Il y a un souci à exécuter le script bckp_full.sh.
Une fois connecté en sysdba, on lance le script @'/chemin/bckp_full.sql' or ce script se lance via une connection Rman. Du coup, sqlplus ne sait interprété le contenu de bckp_full.sql et donc patatra ...une suite de message
@/home/oracle/bckp_full.sql
1* delete obsolete
delete obsolete
*
ERROR at line 1:
ORA-00942: table or view does not exist
SP2-0158: unknown SET option "command"
SP2-0042: unknown command "backup" - rest of line ignored.
SP2-0734: unknown command beginning "incrementa..." - rest of line ignored.
SP2-0734: unknown command beginning "tag 'base ..." - rest of line ignored.
SP2-0042: unknown command "database" - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0734: unknown command beginning "plus archi..." - rest of line ignored.
delete all input
*
ERROR at line 1:
ORA-00903: invalid table name
SP2-0734: unknown command beginning "report obs..." - rest of line ignored.
delete obsolete
*
ERROR at line 1:
ORA-00942: table or view does not exist
SP2-0042: unknown command "}" - rest of line ignored.

Donc problème !

Répondre à siouat