2010-09-29 29 views
1

je reçois ORA-00054 lors du chargement de fichiers de données volumineux (~ 10 Go) L'erreur se produit lorsque ce nouveau fichier est chargé après un fichier précédent. Des idées comment je peux résoudre ce problème?ORA-00054 lors du chargement de gros fichier de données

+1

que vous avez pu résoudre ce problème? Lorsque vous essayez –

Répondre

0

Peut-être que cela est lié à la taille tablespace datafile, taille de la table, car ORA-00054 apparaît généralement lorsqu'une instruction ALTER est exécuté.

Je ne prétends pas être ici.

0

Vérifiez les vues.

  • DBA_BLOCKERS - Affiche des sessions non-attente tenant les verrous étant attendu-sur

  • DBA_DDL_LOCKS - Affiche tous les verrous DDL détenus ou demandés

  • DBA_DML_LOCKS - Affiche tous les verrous DML détenus ou demandés DBA_LOCK_INTERNAL - Affiche 1 ligne pour chaque verrou ou verrou maintenu ou demandé avec le nom d'utilisateur de qui détient le verrou

  • DBA_LOCKS - Affiche tous les verrous ou les verrous détenus ou demandée

  • DBA_WAITERS - Affiche toutes les sessions en attente, mais ne détenant pas attendu pour les serrures

http://www.dba-oracle.com/t_ora_00054_locks.htm

0

Votre table semble fermant à clef: ORA-00054 Il peut être à cause de la façon dont Oracle pilote gère les types de configuration (le pilote verrouille l'enregistrement, ouvre un flux pour écrire les données binaires, et a besoin de « l'aide » pour libérer le disque). Je voudrais essayer la prochaine secuence:

  1. charge le premier fichier
  2. COMMIT;
  3. Charger le second fichier
1

Un scénario possible.

Est-ce une charge de chemin direct? Si c'est le cas, veuillez vérifier la vue v $ locked_object et voir si elle est verrouillée par quelqu'un pendant votre chargement.

select dbao.object_name 
    from v$locked_object vlo, 
     dba_objects dbao 
    where vlo.object_id = dbao.object_id 
    and dbao.object_name = 'Table that you are trying to load...' 

De la documentation Oracle à http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c21dlins.htm

verrouillage Considérations avec -chemin direct INSERT

Au cours de INSERT-chemin direct, Oracle obtient des verrous exclusifs sur la table (ou sur tous les partitions d'un tableau partitionné ). Par conséquent, les utilisateurs ne peuvent pas effectuer une insertion simultanée, mise à jour, ou supprimer des opérations sur la table, et création d'index en même temps et la construction ne sont pas autorisées opérations . requêtes simultanées, cependant, sont pris en charge , mais la requête renverra uniquement les informations avant l'opération d'insertion .

+0

manuellement insérer simultanément, supprimez l'indicateur append. Cela a été pour moi une erreur qui peut être corrigée rapidement. L'utilisateur doit considérer la performance. Vous pouvez également faire un insert de chemin direct simultané (avec indication append) si vous insérez directement dans des partitions individuelles. – YoYo