dimanche 16 juin 2013

ORA-01452

Si on essaie d'ajouter un indice unique sur une colonne qui contient des doublons, Oracle répond avec une erreur ORA-01452. J'ai testé cette erreur sur Oracle version 11.2.0.2.7. D'abord j'ai créé une table avec les noms des propriétaires de tous les objets dans la vue DBA_OBJECTS. La plupart de ces propriétaires possède plus qu'un objet. Il y a donc plusieurs doublons dans la table. Ensuite j'ai essayé de créer un indice unique sur la table mais la commande a echoué: 

SQL> alter session set nls_language = 'FRENCH'
  2  /
 
Session modifiee.
 
SQL> create table owners1
  2  as select owner
  3  from dba_objects
  4  /
 
Table creee.
 
SQL> create unique index owners1_idx
  2  on owners1 (owner)
  3  /
on owners1 (owner)
   *
ERREUR a la ligne 2 :
ORA-01452: CREATE UNIQUE INDEX impossible ; il existe
des doublons

SQL>

J'ai répété le processus, en ajoutant le mot DISTINCT quand je créais la table. Par conséquent il n'y avait pas de doublons dans la table et j'ai pu créer mon indice unique sans problèmes: 

SQL> create table owners2
  2  as select distinct owner
  3  from dba_objects
  4  /
 
Table creee.
 
SQL> create unique index owners2_idx
  2  on owners2 (owner)
  3  /
 
Index cree.
 
SQL>

samedi 8 juin 2013

TNS-12599

Avez-vous une base de données sur Oracle 11.1 ou 11.2? Voyez-vous beaucoup d'erreurs comme celle-ci? Elles pourraient être produites par le bug 9844654. Ce bug pose des problèmes aux bases qu'on surveille avec Enterprise Manager. Selon ce que j'ai lu, ce bug n'est pas important mais s'il vous embête, des patchs et une solution provisoire (workaround) sont disponibles: 

Sun Jul 22 02:00:08 2012
***********************************************************************
NI cryptographic checksum mismatch error: 12599.
  VERSION INFORMATION:
     TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
     Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
     Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
  Time: 22-JUL-2012 02:00:08
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12599
   
TNS-12599: TNS:cryptographic checksum mismatch
    ns secondary err code: 2526
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0