Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Recovery Manager
Recovery Manager Forum d'entraide Oracle Recovery Manager
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2007, 07h45   #1
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Par défaut Duplication avec RMAN

Bonjour,
en 8.1.7 sur Win2003 je veux dupliquer la base DB1 vers DB2, donc dans fichier init.ora de DB2 j'ai mis :

DB_FILE_NAME_CONVERT=('S:\ORADATA\DB1\','S:\ORADATA\DB2\')

Mais RMAN me sort :

RMAN-05001: auxiliary filename S:\ORADATA\DB1\XXX_PRODUCT_IDX_01.DBF conflicts with a file used by the target database

Et cela pour tous les fichiers données
j'ai essayé :
DB_FILE_NAME_CONVERT=('S:\ORADATA\DB1','S:\ORADATA\DB2')
DB_FILE_NAME_CONVERT='S:\ORADATA\DB1\','S:\ORADATA\DB2\'
mais toujours la même erreur.

Je ne comprends pas. Merci pour votre aide.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 08h21   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
essayez
Code :
DB_FILE_NAME_CONVERT=("S:\ORADATA\DB1","S:\ORADATA\DB2")
pouvez-vous coller l'init de DB2 ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 09h02   #3
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Merci pour ta réponse. Voici :
Code :
1
2
3
4
5
 
buffer_pool_keep = (buffers:10000, lru_latches:2)
optimizer_max_permutations=2000
DB_FILE_NAME_CONVERT=('S:\ORADATA\DB1\','S:\ORADATA\DB2\')
#LOG_FILE_NAME_CONVERT=("s:\ORADATA\DB1","u:\ORADATA\DB2","u:\ORADATA\P8F1","u:\ORADATA\DB2")
j'ai mis la partie LOG_FILE_NAME en commentaire car cela donne erreur suivante :
Code :
1
2
 
ORA-01678: parameter log_file_name_convert must be two strings, a pattern AND a replacement
et j'ai ajouté la partie suivante dans mon script duplication :

Code :
1
2
3
4
5
6
 
logfile
GROUP 1 ('$ORACLE_HOME/dbs/dupdb_log_1_1.f', 
'$ORACLE_HOME/dbs/dupdb_log_1_2.f') size 200K, 
GROUP 2 ('$ORACLE_HOME/dbs/dupdb_log_2_1.f', 
'$ORACLE_HOME/dbs/dupdb_log_2_2.f') size 200K;
D'avance merci.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 09h10   #4
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
essayez donc des doubles-quotes " au lieu de simples quotes '

et faites un init.ora minimaliste comme indiqué dans la doc
http://download-west.oracle.com/docs...pdb.htm#442110
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 09h49   #5
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
merci j'ai essayé, ça n'a pas marché.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h07   #6
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Citation:
Envoyé par big1 Voir le message
merci j'ai essayé, ça n'a pas marché.
et bien je vous propose de recommencer en suivant scrupuleusement la doc !

Votre init.ora n'a rien de conforme avec la doc (buffer pool spéficique, quotes mal formées, conversion des noms incomplètes, ...

Code :
1
2
3
4
5
 
DB_NAME=DB2
CONTROL_FILES=("S:\ORADATA\DB2\control1.ctl","S:\ORADATA\DB2\control2.ctl")
DB_FILE_NAME_CONVERT=("S:\ORADATA\DB1\","S:\ORADATA\DB2\")
LOG_FILE_NAME_CONVERT=("S:\ORADATA\DB1\","S:\ORADATA\DB2\")
Puis startup nomount de DB2.

Puis open de DB1

Puis connexion à RMAN (target et auxiliary).

Collez alors les 3 traces produites ci-dessus.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h14   #7
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Ensuite, la duplication :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# start RMAN and then connect to the databases     
connect target /
connect catalog rman/rman@rcat
connect auxiliary sys/change_on_install@dupdb
 
# set auxiliary names for the datafiles only once     
SET auxname FOR datafile 1 TO '$ORACLE_HOME/dbs/tbs_01.f'; 
SET auxname FOR datafile 2 TO '$ORACLE_HOME/dbs/tbs_02.f'; 
SET auxname FOR datafile 3 TO '$ORACLE_HOME/dbs/tbs_03.f'; 
SET auxname FOR datafile 4 TO '$ORACLE_HOME/dbs/tbs_04.f'; 
SET auxname FOR datafile 5 TO '$ORACLE_HOME/dbs/tbs_05.f'; 
SET auxname FOR datafile 6 TO '$ORACLE_HOME/dbs/tbs_06.f'; 
SET auxname FOR datafile 7 TO '$ORACLE_HOME/dbs/tbs_07.f'; 
SET auxname FOR datafile 8 TO '$ORACLE_HOME/dbs/tbs_08.f'; 
SET auxname FOR datafile 9 TO '$ORACLE_HOME/dbs/tbs_09.f'; 
 
# Create the duplicate database. Issue the same command daily
# to re-create the database, thereby keeping the duplicate 
# in sync with the target.
run { 
     # allocate auxiliary channels 
     allocate auxiliary channel dupdb1 type disk; 
     allocate auxiliary channel dupdb2 type disk; 
     allocate auxiliary channel dupdb3 type disk; 
     allocate auxiliary channel dupdb4 type disk; 
     duplicate target DATABASE TO dupdb 
       logfile
         GROUP 1 ('$ORACLE_HOME/dbs/log_1_1.f', 
                  '$ORACLE_HOME/dbs/log_1_2.f') size 200K reuse, 
         GROUP 2 ('$ORACLE_HOME/dbs/log_2_1.f', 
                  '$ORACLE_HOME/dbs/log_2_2.f') size 200K reuse; 
}
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h21   #8
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Merci encore :

Connexion rman /
Code :
1
2
 
C:\Documents AND Settings>rman catalog rman/***t@xxx.local target sys/***e@zzz.local auxiliary sys/****@DDDD
STARTUP DB2
Code :
1
2
3
4
5
6
7
8
9
 
SQL> startup nomount pfile='U:\ORADATA\DB2\initDB2.ora'
ORACLE instance started.
 
Total System Global Area  203073564 bytes
Fixed Size                    75804 bytes
Variable Size              65507328 bytes
DATABASE Buffers          137412608 bytes
Redo Buffers                  77824 bytes
la base TARGET est toujours ouvert (La prod).
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h40   #9
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
ok, peut-on avoir la suite de la connexion RMAN ?

et maintenant, les commandes rman de duplication que je vous ai collé directement de la doc, ça donne quoi si vous les adaptez à votre cas ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h51   #10
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Oui, Voila :
Code :
1
2
3
4
5
6
 
Recovery Manager: Release 8.1.7.4.1 - Production
 
RMAN-06005: connected TO target DATABASE: DB1 (DBID=79010767)
RMAN-06008: connected TO recovery catalog DATABASE
RMAN-06020: connected TO auxiliary DATABASE

En plus j'ai mis en commentaire les variables CONVERT et j'ai fait carrement le script suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
run { 
 
     allocate auxiliary channel ch1 type disk; 
 
      allocate auxiliary channel ch2 type disk; 
 
     allocate auxiliary channel ch3 type disk; 
 
     allocate auxiliary channel ch4 type disk; 
SET newname FOR datafile 	1	TO	  'S:\ORADATA\DB2\NNN_SYSTEM_01.DBF';
SET newname FOR datafile 	2	TO	  'S:\ORADATA\DB2\VVV1_RBS_01.DBF';
 
SET UNTIL logseq = 8651  thread = 1; 
 
     duplicate target DATABASE TO DB2 
 
 
logfile 
GROUP 1
('U:\ORADATA\DB2\NNN_LOG01A.RDO','U:\ORADATA\DB2\NNN_LOG01B.RDO') size 256M REUSE,
GROUP 2
('U:\ORADATA\DB2\NNJH_LOG02A.RDO','U:\ORADATA\DB2\HHH1_LOG02B.RDO') size 256M REUSE;
}
Et je reçois :

Code :
1
2
 
RMAN-06004: ORACLE error FROM recovery catalog DATABASE: ORA-01460: demande d'une conversion non implÚmentÚe ou irrÚaliste
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 10h52   #11
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
vous n'avez que 2 datafile ???
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 11h05   #12
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Nous avons 186 datafiles . J'ai évité de coller 186 lignes.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 11h15   #13
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
mais le script passé à rman les mentionnait bien ces 186 datafiles ?
c'est juste au copier/coller ici que vous les avez supprimé ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 11h20   #14
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Je fais passer 186 lignes à RMAN et c'est juste au copier/coller ici que je les ai supprimé .
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 11h32   #15
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
La target et le catalog ont elles des différences de jeu de caractères ?

la limite UNTIL est-elle présente dans les control files également ou juste dans le catalog ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 12h02   #16
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
La target et le catalog ont elles des différences de jeu de caractères ? Oui:
Target : 8.1.7 CHARACTER SET WE8ISO8859P15
Catalog : . 10.2.0.1g. which character set has this database ?
UTF8
la limite UNTIL est-elle présente dans les control files également ou juste dans le catalog ?Dans controlfile de DB1 ? Certainement. C'est le dernier archivelog (de DB1) que j'ai copié sur la machine de DB2. Je l'ai mis en commentaire dans mon script, cela n'a rien changé sur l'erreur.
Merci.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 12h07   #17
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
je crains qu'il n'y ait un problème de conversion avec le catalog.

étant donné que le control file doit l'avoir, on va essayer sans se connecter au catalog, juste à la target et à l'auxiliary.

au fait, vous utilisez bien le RMAN de la 8i ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 12h10   #18
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
>>au fait, vous utilisez bien le RMAN de la 8i ? je pense bien car :
C:\Documents and Settings\>rman

Recovery Manager: Release 8.1.7.4.1 - Production

RMAN>
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 12h11   #19
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
en principe UTF8 inclus WE8ISO8859P15 non ? Enfin, une migration UTF8 de la source ne ferait pas de mal probablement
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 12h18   #20
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Citation:
Envoyé par orafrance Voir le message
en principe UTF8 inclus WE8ISO8859P15 non ? Enfin, une migration UTF8 de la source ne ferait pas de mal probablement
pas vraiment, l'utf n'est pas un superset du P15
certes, tous les caractères du P15 sont codables en UTF mais parfois sur 2 octets au lieu d'un seul, alors ça change pas mal de choses...

et on ne migre pas comme ça d'un jeu iso à un jeu utf.
imagine ta variable cliente (dans du C par exemple) qui est définie comme une chaine de 9 octets.
En ISO, tu y stocke sans problème Téléphone.
En UTF, non, ça passe plus...
Tu dois donc refaire une passe sur tout des programmes clients...
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h14.


 
 
 
 
Partenaires

Hébergement Web