Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment résoudre ORA-29280 :chemin de répertoire invalide

ORA-29280 :un chemin de répertoire non valide est une erreur courante lors des opérations de gestion de fichiers dans la base de données Oracle

Raison et résolution de l'erreur

(1) Cela se produit si le répertoire spécifié n'existe pas dans le paramètre utl_file_dir init.ora

sqlplus / en tant que paramètre sysdbashow utl_file_dir/tmp, /usr/tmp/SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('/u500','j', 'w');end;/ 2 3 4 5 6declare*ERROR at line 1:ORA-29280 :chemin de répertoire invalidORA-06512 :at "SYS.UTL_FILE", line 41ORA-06512 :at "SYS.UTL_FILE", line 478ORA-06512 :at line 4

Résolutions

un. Changer le répertoire qui est défini dans UTL_FILE_DIR

b. Si le répertoire ne peut pas être modifié et que nous devons utiliser le même code, nous devrons ajouter le répertoire dans UTL_FILE_DIr

Les étapes seraient le premier changement dans spfile, puis recycler la base de données Oracle, puis vérifier

sqlplus / as sysdbaalter system set utl_file_dir='/tmp/','/usr/tmp','/u500'  scope =spfile;shutdown immediatestartupSQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('/u500 ','y', 'w');end;/2 3 4 5 Procédure 6PL/SQL terminée avec succès.

c. Si nous pouvons changer le code, nous pouvons commencer à utiliser les répertoires oracle. Dans ce cas, nous n'avons pas besoin de spécifier utl_file_dir

SQL> crée le répertoire TESTDIR en tant que '/u500' ; SQL> accorder la lecture, l'écriture sur le répertoire TESTDIR à public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ Procédure PL/SQL terminée avec succès. 

2.  Vous y spécifiez le mauvais nom de répertoire Oracle

SQL> declareF_LOG utl_file.file_type;begin 2F_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;3 4 5 6 /declare*ERROR at line 1:ORA-29280 :non valide chemin du répertoireORA-06512 :à "SYS.UTL_FILE", ligne 41ORA-06512 :à "SYS.UTL_FILE", ligne 478ORA-06512 :à la ligne 4SQL> sélectionnez * dans dba_directories où DIRECTORY_NAME='TESTDIR' ; aucune ligne sélectionnée

Résolutions

Spécifiez le nom de répertoire correct ou créez-en un nouveau

SQL> crée le répertoire TESTDIR en tant que '/u500' ; SQL> accorde la lecture, l'écriture sur le répertoire TESTDIR à public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ 2 3 4 5 Procédure 6PL/SQL terminé avec succès.

J'espère que vous aimez l'explication détaillée de l'erreur ORA-29280. Veuillez aimer et donner votre avis

Articles connexes

ORA-29283 :opération de fichier invalide :consultez ce post sur la façon de résoudre ORA-29283 :opération de fichier invalide. Quelle autorisation doit être vérifiée
ORA-29285 :erreur d'écriture de fichier :ORA-29285 :l'erreur d'écriture de fichier est l'erreur courante lors de l'opération de traitement de fichier. Consultez cet article sur diverses raisons et solutions pour le résoudre
ORA-01652 :impossible d'étendre le segment temporaire :erreur ORA-01652, généralement parce que l'espace de table n'a pas d'espace libre dans l'espace de table permanent et temporaire dans la base de données oracle
ORA-00936 expression manquante :apprendre le dépannage ORA-00936 expression manquante dans oracle SQL.quelles sont les différentes solutions, comment pouvons-nous l'éviter, bogues Oracle pour ces erreurs
ORA-00257 :erreur de l'archiveur. Connectez-vous en interne uniquement, jusqu'à ce qu'il soit libéré. :Découvrez comment résoudre l'erreur d'archivage ORA-00257. Erreur de connexion interne uniquement. Diverses résolutions et exemples fournis étape par étape.
ORA-00904 :Ce message pour la description et les solutions possibles de ORA-00904 :identifiant non valide. Des conseils de dépannage sont également fournis
FND_FILE dans les applications Oracle
https://docs.oracle.com/database/121/ARPLS/u_file.htm