Bonjour,
A la base, je cherche à dupliquer une plateforme de PROD en une plateforme de DEV.
PROD: RAC (2 nodes) + ASM (Baie) + DB en 10.2.0.3 sur Solaris 5.10 sparc 64 bits, serveurs physiques.
DEV : même couche oracle mais sur Centos 5.10 64 bits, serveurs virtuels sur ESXi de VMWare (vSphère 5.0.1)
Les sauvegardes de la PROD se font par RMAN : des Incremental level 0 (1/sem) puis des incremental 1 (le reste de la semaine.)
Exemple du script de niv 0 :
Pour diverses raisons liées à la disponibilités de la PROD, je n'ai pas souhaité réaliser de BACKUP full avant de me lancer dans le DUPLICATE et j'ai tenter d'utiliser les BACKUPSETs disponibles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 connect target /; connect catalog rman/rman@RMAN; run { allocate channel t1 type disk format '/sauvegardes/../OFFLINE_LEVEL0_%d_%u'; backup incremental level 0 as compressed backupset filesperset 3 database; backup current controlfile; alter database open; release channel t1; }
Pour simplifier les choses (), l'ESX n'arrive pas à lire les disques USB externes (Bug VMWare sur certaines machines) et j'ai donc transférer les fichiers (~50Go) par FTP. Sur notre réseau, c'est très long (+24h).
Je sais ça fait un peu Cosette, mais je n'ai pas vraiment de choix
La sauvegarde utilisée pour le DUPLICATE n'est donc pas la dernière en date (valeur par défaut), et j'utilise une clause UNTIL.
RMAN trouve bien mes fichiers sur le serveur mais j'obtiens ces erreurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 duplicate target database to 'DEV' until time "TO_DATE('21/07/14 20:00:00','DD/MM/YY HH24:MI:SS')" pfile='/sauvegardes/20140721/SRV/BDD/CTRL_SP/initDEV.ora'
Mes fichiers sont bien en 666 donc l'erreur est dû au format binaire des fichiers, la notion de ENDIAN que je n'avais pas anticipé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ORA-19587: error occurred reading 0 bytes at block number 1 ORA-27091: unable to queue I/O ORA-27067: size of I/O buffer is invalid
Solaris Sparc (big) et Linux 64bits (little) sont incompatibles sans CONVERT.
La documentation officielle mentionne le CONVERT de DATABASE, TABLESPACE, DATAFILES.
Notre base est constituée de 196 tablespaces et 197 datafiles (oui je sais).
Et là, j'avoue, je suis perdu. Je cherche une stratégie car j'ai des contraintes d'espace-disque pour les sauvegardes et de d'organisation pour avoir la base en read-only.
Mes questions sont les suivantes (un peu en désordre, désolé) :
- Est ce que, si je convertis, je pourrais utiliser les fichiers produits dans le DUPLICATE ? (ou dois je utiliser une procédure spéciale basée sur le CONVERT ?)
- Mes sauvegardes actuelles sont au format COMPRESSED (50 Go pour une base de 450 Go) : dois je m'attendre à ce que les fichiers de CONVERT soient très gros ?
- Le DUPLICATE avait l'avantage de prendre la totalité des objets, on redémarrait la base et tout était OK. CONVERT et la notion de transport oblige à des actions particulières après le "restore" ? des actions dans SYSTEM par exemple ?
Toute aide, voire même des questions complémentaires, sont les bienvenues
Merci d'avance.
Partager