sql >> Databasteknik >  >> RDS >> Oracle

Så här löser du ORA-29280:ogiltig katalogsökväg

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


  1. Bästa sättet att INFOGA många värden i mysqli?

  2. Hur genererar man ett version 4 (slumpmässigt) UUID på Oracle?

  3. Använda Docker på Azure Container Service med Swarm Cluster

  4. Hur man skapar kapslade tabeller med användardefinierad datatyp i Oracle Database