ORA-29280:ogiltig katalogsökväg är ett vanligt fel när man utför filhanteringsoperationer i Oracle-databasen
Orsak och lösning till felet
(1) Detta inträffar om den angivna katalogen inte finns i parametern utl_file_dir init.ora
sqlplus / as sysdbashow parameter 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 på rad 1:ORA-29280:ogiltig katalogsökvägORA-06512:vid "SYS.UTL_FILE", rad 41ORA-06512:vid "SYS.UTL_FILE", rad 478ORA-06512:vid rad 4
Lösningar
a. Ändra katalogen som är definierad i UTL_FILE_DIR
b. Om katalogen inte kan ändras och vi måste använda samma kod, måste vi lägga till katalogen i UTL_FILE_DIr
Steg skulle vara den första ändringen i spfile, sedan återvinna Oracle-databasen och sedan kontrollera
sqlplus / as sysdbaalter system set utl_file_dir='/tmp/','/usr/tmp','/u500' scope =spfile;shutdown immediatestartupSQL> declareF_LOG utl_file.file_type;utl_file.file_type;utl_file.file_type;utl_file.file_type;utl_file.file_type;utopenl_LOG :=f00 ','y', 'w');end;/2 3 4 5 6PL/SQL-proceduren har slutförts.
c. Om vi kan ändra koden kan vi börja använda oracle-kataloger. I så fall behöver vi inte ange utl_file_dir
SQL> skapa katalogen TESTDIR som '/u500'; SQL> bevilja läs, skriv i katalogen TESTDIR till public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ PL/SQL-proceduren har slutförts.
2. Du anger fel oracle-katalognamn i den
SQL> declareF_LOG utl_file.file_type;begin 2F_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;3 4 5 6 /declare*ERROR på rad 1:ORA-29280:ogiltig katalogsökvägORA-06512:vid "SYS.UTL_FILE", rad 41ORA-06512:vid "SYS.UTL_FILE", rad 478ORA-06512:på rad 4SQL> välj * från dba_directorys där DIRECTORY_NAME='TESTDIR';inga rader har valts>Lösningar
Ange rätt katalognamn eller skapa den nya
SQL> skapa katalogen TESTDIR som '/u500'; SQL> bevilja läs, skriv i katalogen TESTDIR till public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ 2 3 4 5 6PL/SQL-procedur framgångsrikt slutfört.Jag hoppas att du gillar den detaljerade förklaringen av ORA-29280-felet. Gilla och ge feedback
Relaterade artiklar
ORA-29283:ogiltig filoperation:kolla in det här inlägget om hur man löser ORA-29283:ogiltig filoperation. Vilken behörighet behöver kontrolleras
ORA-29285:filskrivfel :ORA-29285:filskrivfel är det vanligaste felet vid filhantering. Kolla in det här inlägget om olika orsaker och lösningar på hur man löser det
ORA-01652:det går inte att utöka temp-segmentet :ORA-01652 fel vanligtvis eftersom när tabellutrymmet inte har ledigt utrymme i Permanent och Temporary tablespace i Oracle-databasen
ORA-00936 saknas uttryck:Lär dig felsökning av ORA-00936 saknas uttryck i oracle SQL.vad är olika lösningar, hur vi kan undvika det, Oracle buggar för detta fel
ORA-00257:arkiveringsfel. Anslut endast internt tills det frigörs. :Lär dig hur du felsöker för ORA-00257 arkiveringsfel. Anslut endast internt fel. Olika upplösningar och exempel tillhandahålls steg för steg.
ORA-00904 :Detta inlägg för beskrivning och möjliga lösningar för ORA-00904:invalid identifier.felsökningstips tillhandahålls också
FND_FILE i oracle-appar
https://docs.oracle.com/database/121/ARPLS/u_file.htm