Bonjour,
Je souhaiterai transferais les données d'une base Oracle vers une seconde dans un soucis de sauvegarde ert d'archivage.
Comme puis-je m'y prendre ??
Merci d'avance
Bonjour,
Je souhaiterai transferais les données d'une base Oracle vers une seconde dans un soucis de sauvegarde ert d'archivage.
Comme puis-je m'y prendre ??
Merci d'avance
Et bien tu peux mettre en place une base de standby sur une autre machine , faire des copies d'archiveLog manuellement et puis utiliser les commandes 'ALTER DATABASE RECOVER ....' pour mettre à jour ta base.
Sinon si tes deux machines sont connectée en reseau, tu peux utiliser les technologies de DataGuard.
N'hesite pas si tu veux plus d'information
Merci ZashOne pour ta réponse,
J'ai recherché des informations sur la première solution préconisée. Il me semble qu'il s"agit de copiertoute le contenu d'une base à un instant t. Mais que si je répettes l'opération, je suis susceptible d'avoir des pertes au final.
Est-ce que je me trompes ??
Si, c'est le cas, c'est mauvais pour mois. En effet, j'ai besoin que ma base d'archive, ma réplique récupères au fur et à mesure toute les données que je vais supprimer dans la première.
Ainsi je pourrais épurer ma base "lesprit tranquille"
je te propose dc cette solution : faire des exports ( tu ne perds aucune données, et tu peux filtrer selon le feeling)
bon le champ day_date est sur toutes les tables (DAY, DAY_CASHIER, DAY_RUBRIC, AMOUNT, OUTPUT_ENTRY)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 set BASE=TRS_PRD_195_51_51_64.WORLD ("c le nom de la base dans ton fichier tnsname.ora, tu peux direct l'IP) set USER=trsprd01 set PASSWORD=gest1on set START=01/01/2006 set END=01/01/2007 echo extraction des données d'une base set QUERY1=\"where day_date >= '%START%' and day_date <= TO_DATE('%END% 23', 'DD/MM/YYYY HH24')\" exp %USER%/%PASSWORD%@%BASE% tables=(DAY, DAY_CASHIER, DAY_RUBRIC, AMOUNT, OUTPUT_ENTRY) file=data\TRES_DATA.dmp query=%QUERY1% statistics=NONE feedback=100
tu peux également faire des QUERY grave plus compliquer(sur des ID,etc...)
bref tu met ça ds un script shell, il te sqlplus sur ta machine et c'est partis, tu va récupèré tes données dans le fichier "data\TRES_DATA.dmp ", ensuite pour inséré tu fais un script shell
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 set SOURCE_USER=trsprd01 set USER=tresor01 echo insertion des données de trésorerie imp %USER%/%PASSWORD%@%BASE% file=data\TRES_DATA.dmp fromuser=%SOURCE_USER% touser=%USER% ignore=Y recalculate_statistics=Y feedback=100
Il existe des produits sur le marché qui permettent de prendre en charge cette tache : Applimation, Solix ou Princeton. Mais c'est très couteux. La solution simple selon moi, c'est : un trigger ON DELETE sur les tables à archiver et un DBlink entre tes bases.
Sam
Tu peux effectivement , basé ta stratégie de sauvegarde sur des export import classique mais quand ta base grossira cela entrainera une charge pour le serveur en production non négligable voir entrainer un swapping qui fera chuté toute les perf de ta base jusqu'au redemarage de l'instance (probleme rencontré uniquement sur windows server 2003 entreprise, sous *nix non).
En premiere approche tu peux passer des export classique au Datapump car il te permettent de paralleliser la creation de ton export dans pluieurs fichier, mais les problèmes de charge seront toujours present.
Sinon pour les autres types de sauvegarde, tu a les backup Rman , et les base de standby auto ou manuel.
Les bases de Standby sont une sauvegarde mais elle ne doivent être vue que (selon moi) comme un moyen de diminuer le temps d'arret en cas de panne de ta base de prod.
Si tu peux te permette plus d'une heure de panne, tu peux laisser tomber cette techno et te basé uniquement sur des backup Rman (et sauvegarde de backup sur bande ou dd externe), sur lesquel tu aura fait des test de restauration au moment du design de ta strategie de sauvegarde.
Sinon si tout de meme tu as besoin d'une base de standby, perso je prefere les configs automatique en mettant en place un environement Dataguard et par dessus un environement DataBroker (voir doc officielle). Ca te permet en moins de 10 minutes de passer ta base de standby en une base de prod et vice-versa, ou de rajouter d'autre base de standby assez rapidement.
Pour une base manuelle de standby physique (identique), c'est tres facile a mettre en place :
-Sur une seconde machine cree un service (si windows) et un pwdfile.
-cree un spfile sur ta seconde machine a partir d'un init.ora tout frais de ta base de prod
-Sur ta base de prod cree un controlFile de standby et copie le sur ta base de standby aux bons endroits
-Copie tout les autres fichier de données de prod -> Standby
-Monte ta base (mais ne l'ouvre pas)
-Ensuite de temps en temps copie les nouveau AL de prim -> SB et utilise les command alter database recover managed standby ...... pour mettre à jour et verifie via la table v$ArchiveLOg
Essaie et quand tu aura la main tu verra que c'est facile
sinon apres m etre taper tout le packet ci-dessus, je vien de comprendre ton soucis
En effet la solution de orafrance est la meilleure je pense.
DATAGUARD, la première sera répliquée vers la seconde presque en temps réel.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager