Vous utilsez une requête SQL dans laquelle vous passez des valeurs en paramètre dans la clause WHERE.
Dans SQL*PLUS vous voulez rappeler la même requête tout en remplaçant la valeur passée en paramètre par une autre valeur.
Utiliser la syntaxe:
c/ancien_valeur/nouvelle_valeur
Exemple:
Créer une table:
SQL> create table test (num number, libelle varchar2(5));
Table creee.
Insérer des données dans la table:
SQL> insert into test values (1, 'NY');
1 ligne creee.
SQL> insert into test values (2,'NY');
1 ligne creee.
SQL> insert into test values (3,'CA');
1 ligne creee.
SQL> insert into test values (4,'NY');
1 ligne creee.
SQL> insert into test values (5,'PA');
1 ligne creee.
SQL> commit;
Validation effectuee.
Rechercher les enrégistrements dont le libellé est PA.
SQL> select * from test where libelle='PA';
NUM LIBELLE
---------- -------------------------
5 PA
Rappeler la même requête sql en remplaçant PA par NY.
SQL> c/PA/NY
1* select * from test where libelle='NY'
SQL> /
NUM LIBELLE
---------- -------------------------
1 NY
2 NY
4 NY
SQL>
Hope it helps.
Par Herve Etche, MBA
- Oracle Database 11g Administrator Certified Master (OCM)
- Oracle Certified Expert, RAC 11g and Grid Infrastructure Administrator
- Oracle Database 11g Performance Tuning Certified Expert
- Oracle Exadata 11g Certified Implementation Specialist
- Oracle Database 11g, 10g & 9i Certified Professional
- Oracle Application Server 10g Certified Professional
vendredi 9 novembre 2012
jeudi 8 novembre 2012
Clusterware PRC-1302: The "OCR", has an invalid IP address format
J'ai rencontré un problème avec un cluster 11.2.0.3 de 2 noeuds (zones solaris 11) sur lequel on essayait d'installer Oracle Database 11.2.0.3. Je souligne que le grid infrastructure n'a pas été installé par votre serviteur.
A un moment donné de l'installation on a rencontré l'erreur:
Un dump de l'OCR (avec la commande OCRDUMP) montre qu'il y a une incohérence dans l'OCR, d'où le message ci-dessus:
Vérification:
oifcfg getif
net7 192.168.101.0 rac1-lab cluster_interconnect
aggr2 10.53.228.0 rac1-lab public
net13 192.168.101.0 rac2-lab cluster_interconnect
aggr2 10.53.228.0 rac2-lab public
Une fois que les interfaces ont été nommées comme il se doit, c'est à dire le même nom pour les interfaces publiques sur les 2 noeuds, et le même nom pour les interfaces privées sur les 2 noeuds, corriger comme suit:
oifcfg setif -global aggr2/10.53.228.0:public
oifcfg delif -node rac1-lab aggr2/10.53.228.0
oifcfg delif -node rac2-lab aggr2/10.53.228.0
oifcfg setif -global net7/192.168.101.0:cluster_interconnect
oifcfg delif -node rac1-lab net7/192.168.101.0
oifcfg delif -node rac2-lab net13/192.168.101.0
Et le résultat final devra être:
oifcfg getif
aggr2 10.53.228.0 global public
net7 192.168.101.0 global cluster_interconnect
Hope it helps.
A un moment donné de l'installation on a rencontré l'erreur:
An internal error occurred within cluster verification framework
Une vérification de la configuration des interfaces réseaux avec la commande "oifcfg" montre que la configuration des interfaces dans le cluster n'est pas correct:
oifcfg iflist -p
Une autre vérification montre que les interfaces réseaux utilisées pour l'interconnect ne portent pas le même nom (net7 sur le noeud 1 et net13 sur le noeud 2). Même si ce n'est pas une contrainte d'avoir le même nom (pour ce qui est du réseau privé), c'est tout de même une recommandation d'oracle.
Après cette modification, l'on rencontre un autre message d'erreur:
Unable to obtain network interface list from oracle
Clusterware PRC-1302: The "OCR", has an invalid IP address format
Une vérification de la configuration des interfaces réseaux avec la commande "oifcfg" montre que la configuration des interfaces dans le cluster n'est pas correct:
oifcfg iflist -p
aggr2 10.53.228.0 PUBLIC
net7 192.168.101.0 PRIVATE
net7 169.254.0.0 PUBLIC
oifcfg getif
aggr2 10.53.228.0 global public
* 192.168.101.0 global cluster_interconnect
PRIF-29: Warning: wildcard in network parameters can cause mismatch among GPnP profile, OCR, and system
Pour corriger le problème, utiliser la commande "oifcfg":
oifcfg setif -global net7/192.168.101.0:cluster_interconnect
oifcfg delif -global */192.168.101.0
Une autre vérification montre que les interfaces réseaux utilisées pour l'interconnect ne portent pas le même nom (net7 sur le noeud 1 et net13 sur le noeud 2). Même si ce n'est pas une contrainte d'avoir le même nom (pour ce qui est du réseau privé), c'est tout de même une recommandation d'oracle.
Nous allons tout de même faire la modification pour avoir 2 noms différents le temps que les noms des interfaces soient homologués.
oifcfg setif -node rac1-lab net7/192.168.101.0:cluster_interconnect
oifcfg setif -node rac2-lab net13/192.168.101.0:cluster_interconnect
oifcfg delif -global net7/192.168.101.0
Après cette modification, l'on rencontre un autre message d'erreur:
oifcfg getif
net7 192.168.101.0 rac1-lab cluster_interconnect
net13 192.168.101.0 rac2-lab cluster_interconnect
aggr2 10.53.228.0 global public
Only in OCR: aggr2 10.53.228.0 global cluster_interconnect,public
PRIF-51: interface [aggr2] is set to both public and cluster_interconnect
PRIF-30: Network information in OCR and GPnP profile differs
net7 192.168.101.0 rac1-lab cluster_interconnect
net13 192.168.101.0 rac2-lab cluster_interconnect
aggr2 10.53.228.0 global public
Only in OCR: aggr2 10.53.228.0 global cluster_interconnect,public
PRIF-51: interface [aggr2] is set to both public and cluster_interconnect
PRIF-30: Network information in OCR and GPnP profile differs
Voici un extrait du dump de l'OCR:
[SYSTEM.css.interfaces.global.aggr2.10|d53|d228|d0.1]
ORATEXT : cluster_interconnect,public
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_ALL_ACCESS, OTHER_PERMISSION : PROCR_READ, USER_NAME : grid, GROUP_NAME : oinstall}
ORATEXT : cluster_interconnect,public
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_ALL_ACCESS, OTHER_PERMISSION : PROCR_READ, USER_NAME : grid, GROUP_NAME : oinstall}
Pour corriger:
oifcfg setif -node rac1-lab aggr2/10.53.228.0:public
oifcfg setif -node rac2-lab aggr2/10.53.228.0:public
oifcfg delif -global aggr2/10.53.228.0
Vérification:
oifcfg getif
net7 192.168.101.0 rac1-lab cluster_interconnect
aggr2 10.53.228.0 rac1-lab public
net13 192.168.101.0 rac2-lab cluster_interconnect
aggr2 10.53.228.0 rac2-lab public
Une fois que les interfaces ont été nommées comme il se doit, c'est à dire le même nom pour les interfaces publiques sur les 2 noeuds, et le même nom pour les interfaces privées sur les 2 noeuds, corriger comme suit:
oifcfg setif -global aggr2/10.53.228.0:public
oifcfg delif -node rac1-lab aggr2/10.53.228.0
oifcfg delif -node rac2-lab aggr2/10.53.228.0
oifcfg setif -global net7/192.168.101.0:cluster_interconnect
oifcfg delif -node rac1-lab net7/192.168.101.0
oifcfg delif -node rac2-lab net13/192.168.101.0
Et le résultat final devra être:
oifcfg getif
aggr2 10.53.228.0 global public
net7 192.168.101.0 global cluster_interconnect
Hope it helps.