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 20/04/2008, 15h50   #1
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Par défaut Base Standby : Max(sequence#) trop différents

Bonjour à tous.
J'ai un souci avec ma base Standby. Je fais :
Code :
SELECT max(sequence#) from v$archived_log
Ca donne 3293 sur la base primaire, et 2025 sur la base standby. Trop de différence évidemment.
Voici un extrait des alrt.log :
Sur la base primaire :

Citation:
Sun Apr 20 16:27:38 2008
starting up 1 shared server(s) ...
starting up 2 dispatcher(s) for network address '(ADDRESS=(PROTOCOL=TCP)(HOST=db5.ais-mada.lan)(PORT=1521))'...
ARCH: STARTING ARCH PROCESSES
ARC0 started with pid=21
ARC0: Archival started
Sun Apr 20 16:27:39 2008
ARCH: STARTING ARCH PROCESSES COMPLETE
Sun Apr 20 16:27:40 2008
alter database mount
Sun Apr 20 16:27:44 2008
Successful mount of redo thread 1, with mount id 1525635904.
Sun Apr 20 16:27:44 2008
Database mounted in Exclusive Mode.
Completed: alter database mount
Sun Apr 20 16:27:44 2008
alter database open
Sun Apr 20 16:27:48 2008
Thread 1 opened at log sequence 2025
Current log# 4 seq# 2025 mem# 0: E:\ORACLE\ORADATA\ORACLE\REDO04.LOG
Current log# 4 seq# 2025 mem# 1: F:\ORACLE\ORADATA\ORACLE\REDO04.LOG
Successful open of redo thread 1.
Sun Apr 20 16:27:49 2008
SMON: enabling cache recovery
SMON: enabling tx recovery
Sun Apr 20 16:28:06 2008
Completed: alter database open
Sun Apr 20 16:29:30 2008
Thread 1 advanced to log sequence 2026
Current log# 6 seq# 2026 mem# 0: E:\ORACLE\ORADATA\ORACLE\REDO06.LOG
Current log# 6 seq# 2026 mem# 1: F:\ORACLE\ORADATA\ORACLE\REDO06.LOG
Sun Apr 20 16:29:30 2008
ARC0: Beginning to archive log# 4 seq# 2025
ARC0: Completed archiving log# 4 seq# 2025
Et sur la Standby :
Citation:
Sun Apr 20 16:26:39 2008
alter database mount standby database
Sun Apr 20 16:26:46 2008
Successful mount of redo thread 1, with mount id 1525629958.
Sun Apr 20 16:26:46 2008
Standby Database mounted.
Completed: alter database mount standby database
Sun Apr 20 16:26:46 2008
ALTER DATABASE RECOVER managed standby database
Media Recovery Start: Managed Standby Recovery
Media Recovery Log
Media Recovery Waiting for thread 1 seq# 2025
Sun Apr 20 16:29:38 2008
Media Recovery Log F:\ORACLE\ORADATA\ORACLE\STDBY_ARCHIVE\ARC02025.001
Media Recovery Waiting for thread 1 seq# 2026
Je ne comprends pas pourquoi le log de la base primaire indique Current log# 6 seq# 2026 mem# alors que max(sequence#) donne 3293.
Quelqu'un pourrait-il m'aider?
Merci d'avance.
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2008, 20h33   #2
Membre confirmé
 
Inscription : juillet 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 357
Points : 226
Points : 226
essaie

Code :
SELECT max(sequence#) from v$archived_log where applied = 'YES'
ZashOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 09h00   #3
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Désolé, j'aurais dû mentionner que je suis sur Oracle 8. Il n'y a pas de colonne applied dans la vue v$archived_log.
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 11h55   #4
Membre confirmé
 
Inscription : juillet 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 357
Points : 226
Points : 226
mmm malheureusement j ai pas de base oracle 8 sious la main mais tu devrai faire une desc v$archived_log et regarder les differents parametres en dessous de 2025 et au dela de 2027 pour voir si il n y a pas quelques indices. Par exemple il est possible que tu ai fait un recover qui ai creer une nouvelle incarnation de ta base et reseter la numerotation des AL.
ZashOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 12h07   #5
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Ca sent effectivement le resetlog à plein nez. On voie bien que les séquences sont en phase dans les ALERT_LOGs. D'ailleur la primaire ne devrait pas donner de séquence supérieure à celle mentionnée dans son ALERT_LOG. Comment une base peut-elle avoir connaissance d'un objet qui n'existe pas encore si ce n'est que la mention de celui-ci est un résidu d'un lointain passé ?
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 12h48   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
bon, d'après ce que je vois le numéro courant est 2025 sur prod. sans doute que ton 3293 vient d'une ancienne incarnation.


Essaye :
Code :
1
2
3
SELECT resetlogs_change#, max(sequence#) 
FROM v$archived_log 
GROUP BY resetlogs_change#;
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 13h10   #7
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Sur la base primaire :
Citation:
SQL> SELECT resetlogs_change#, max(sequence#)
2 FROM v$archived_log
3 GROUP BY resetlogs_change#;

RESETLOGS_CHANGE# MAX(SEQUENCE#)
----------------- --------------
383666233 60
384550373 3293
484019677 2037
Et sur la Standby :
Citation:
SQL> SELECT resetlogs_change#, max(sequence#)
2 FROM v$archived_log
3 GROUP BY resetlogs_change#;

RESETLOGS_CHANGE# MAX(SEQUENCE#)
----------------- --------------
484019677 2037
Ca fait quoi exactement cette requête?
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 14h17   #8
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
dès que la base est ouverte avec un ALTER DATABASE OPEN RESETLOGS; le numéro de séquence est remis à zéro (à un). Cela arrive par exemple après un RECOVER UNTIL TIME.

pour savoir la date de ton SCN 384550373 tu peux faire :

Code :
1
2
3
4
 
SELECT resetlogs_change#, resetlogs_time, max(sequence#) 
FROM v$archived_log 
GROUP BY resetlogs_time,resetlogs_change#;
mais d'après ta requête tout va bien pour toi
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2008, 06h28   #9
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Merci bien de votre réponse, c'est très claire. Effectivement :
Citation:
SQL> SELECT resetlogs_change#, resetlogs_time, MAX(sequence#)
2 FROM v$archived_log
3 GROUP BY resetlogs_time, resetlogs_change#;

RESETLOGS_CHANGE# RESETLOGS_TIME MAX(SEQUENCE#)
----------------- -------------- --------------
383666233 28/07/2007 02: 60
384550373 01/08/2007 16: 3293
484019677 02/01/2008 17: 2076
Mais avant de mettre le tag résolu j'aimerais bien savoir s'il existe un moyen de "nettoyer" ces données, c'est à dire faire en sorte que quand je lance la requête
Code :
SELECT max(sequence#) from v$archived_log;
cela me donne 2076 .
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2008, 10h21   #10
Membre chevronné
 
Avatar de philcero
 
Inscription : septembre 2007
Messages : 519
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 519
Points : 649
Points : 649
Il faut faire une requête combinée avec le numéro d'incarnation courant de ta base de données :

Code :
1
2
3
4
5
6
7
SQL> SELECT max(wval.sequence#)
  2  FROM   v$archived_log wval, v$database wvdb
  3  WHERE  wval.resetlogs_change#=wvdb.resetlogs_change#;
 
MAX(WVAL.SEQUENCE#)
-------------------
               7027
philcero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2008, 13h43   #11
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Ok. Merci beaucoup de votre aide, c'est exactement ce que je voulais savoir. Visiblement ça prendra des dizaines d'années pour maîtriser les vues dynamiques d'Oracle.
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h31.


 
 
 
 
Partenaires

Hébergement Web