Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
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 05/09/2007, 17h39   #1
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
Par défaut [Streams] ORA-26687 après création de table

Bonjour,

Sous Oracle 10gR2 j'essaye tant bien que mal d'utiliser streams. J'ai 3 bases de données SID1, SID2 et SID3. Si je crée une table et insére les lignes dans SID1, la table est bien visible avec ses data sans les autres bases. En revanche, les modifs effectuées dans SID2 ou SID3 ne sont pas répliquées et DBA_APPLY_ERRORS m'alerte sur l'erreur ORA-26687 et j'avoue ne pas bien comprendre comment marche l'instantiation (c'est quel SCN qu'il faut mettre par exemple ?)

Pourriez-vous m'aider ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 10h04   #2
Membre expérimenté

 
Inscription : décembre 2003
Messages : 480
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 480
Points : 539
Points : 539
hello, je n'ai pas grande expérience de Stream mais je veux bien essayer de t'aider

la première chose à faire me semble de vérifier si un apply process est bien défini pour la table en question (dba_apply_instantiated_objects)
__________________

*** OPN Exadata Specialist ***
*** OCE Performance Tuning 11g ***
*** OCE Rac 10g ***
*** OCP DBA 9i-10g-11g ***
Marc Musette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 12h20   #3
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
Merci

c'est bien le cas, j'ai lancé sur les 3 instances :

Code :
1
2
3
4
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID1',
instantiation_scn => NULL);
mais je suis surpris de ne pas trouver au moins 2 lignes par instance, c'est à dire les 2 masters de chaque SID
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h29   #4
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
j'ai réglé le problème ainsi :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
connect strmadmin/strmadmin@sid1
DECLARE
iSCN NUMBER;
BEGIN
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid2;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID2',
instantiation_scn => iSCN);
 
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid3;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID3',
instantiation_scn => iSCN);
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
connect strmadmin/strmadmin@sid2
DECLARE
iSCN NUMBER;
BEGIN
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid1;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID1',
instantiation_scn => iSCN);
 
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid3;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID3',
instantiation_scn => iSCN);
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
connect strmadmin/strmadmin@sid3
DECLARE
iSCN NUMBER;
BEGIN
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid2;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID2',
instantiation_scn => iSCN);
 
SELECT dbms_flashback.get_system_change_number()
   INTO iSCN
  FROM dual@sid1;
 
exec DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name => 'MYUSER.MYTABLE',
source_database_name => 'SID1',
instantiation_scn => iSCN);
mais n'y a-t-il pas plus simple ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h56   #5
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Je bosse aussi sur le stream en ce moment et je n'ai rien vu d'autres que ce que tu fais...
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 17h31   #6
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
Et quelles sont les étapes pour installer la réplication d'un nouveau schéma et son contenu ? Je dois créer le schéma, tablespace et objets dans toutes les instances ou je le fais que dans une seule et je lance la répli sur les autres (sachant que je ne sais pas comment faire) ?

La doc n'est pas vraiment claire quand même
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 18h59   #7
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Citation:
Envoyé par orafrance Voir le message
La doc n'est pas vraiment claire quand même
Je ne te le fais pas dire...

Je n'ai pas tester ton cas, mais je créerais d'abord le schéma sur chaque base, puis création des RULES sur le schema et relance du stream...

Est-ce que la création d'un schema et d'un tablespace peut-être répliquer par stream ? Je ne sais pas mais j'ai un doute. Surtout pour le tablespace, où le placerait-il ?
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 08h28   #8
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
il pourrait le placer au même endroit

Sinon, il y a aussi une problèmatique qui me géne. Si j'ai un process qui met une ligne à jour dans 3 tables. Ce process génére un conflit sur update dans la 2° table mais un commit et fait après chaque update.

Moi je veux annuler toutes les transactions répliquées en cas de conflit... à l'heure actuelle je m'oriente vers un flashbash du tablespace mais ça ne me parait pas super pratique... Oracle a bien pensé à ce cas quand même

Citation:
Je n'ai pas tester ton cas, mais je créerais d'abord le schéma sur chaque base, puis création des RULES sur le schema et relance du stream...
sans vouloir abuser de ton aide... tu n'aurais pas un exemple par hasard
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 10h09   #9
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
je pense pouvoir m'en sortir avec ça : http://download.oracle.com/docs/cd/B...o.htm#BCGBFBBH

finalement, un bon exemple vaut mieux qu'un long manuel parfois
orafrance 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 14h32.


 
 
 
 
Partenaires

Hébergement Web