sql >> Databáze >  >> RDS >> Oracle

Jak vyřešit ORA-29280:neplatná cesta k adresáři

ORA-29280:neplatná cesta k adresáři  je běžná chyba při provádění operací zpracování souborů v databázi Oracle

Důvod a řešení chyby

(1) K tomu dojde, pokud zadaný adresář neexistuje v parametru utl_file_dir init.ora

sqlplus / jako parametr sysdbashow utl_file_dir/tmp, /usr/tmp/SQL> deklarovatF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('/u500','j', 'w');end;/ 2 3 4 5 6declare*ERROR na řádku 1:ORA-29280:neplatná cesta k adresářiORA-06512:na "SYS.UTL_FILE", řádek 41ORA-06512:na "SYS.UTL_FILE", řádek 478ORA-06512:na řádku 4

Rozlišení

A. Změňte adresář, který je definován v UTL_FILE_DIR

b. Pokud adresář nelze změnit a musíme použít stejný kód, budeme muset přidat adresář do UTL_FILE_DIr

Kroky by byly první změnou v spfile, pak recyklace databáze Oracle a kontrola

sqlplus / as sysdbaalter system set utl_file_dir='/tmp/','/usr/tmp','/u500'  scope =spfile;shutdown okamžitéstartupSQL> deklarovatF_LOG utl_file.file_type;beginF_LOG :=utl'/u500 ','y', 'w');end;/2 3 4 5 6PL/SQL procedura úspěšně dokončena.

C. Pokud dokážeme změnit kód, můžeme začít používat adresáře Oracle. V takovém případě nemusíme zadávat utl_file_dir

SQL> vytvořte adresář TESTDIR jako '/u500'; SQL> udělit čtení, zápis do adresáře TESTDIR to public;SQL> deklarovatF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ Procedura PL/SQL úspěšně dokončena. 

2.  Zadáte do něj nesprávný název adresáře Oracle

SQL> deklarovatF_LOG utl_file.file_type;begin 2F_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;3 4 5 6 /declare*ERROR na řádku 1:ORA-29280:neplatné adresář pathORA-06512:na "SYS.UTL_FILE", řádek 41ORA-06512:na "SYS.UTL_FILE", řádek 478ORA-06512:na řádku 4SQL> vyberte * z dba_directories, kde DIRECTORY_NAME='TESTDIR';není vybrány žádné řádky

Rozlišení

Zadejte správný název adresáře nebo vytvořte nový

SQL> vytvořte adresář TESTDIR jako '/u500'; SQL> udělit čtení, zápis do adresáře TESTDIR to public;SQL> deklarovatF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ 2 3 4 5 6PL/SQL procedura úspěšně dokončeno.

Doufám, že se vám líbí podrobné vysvětlení chyby ORA-29280. Dejte prosím like a poskytněte zpětnou vazbu

Související články

ORA-29283:neplatná operace se souborem:podívejte se na tento příspěvek o tom, jak vyřešit ORA-29283:neplatná operace se souborem. Jaká oprávnění je třeba zkontrolovat
ORA-29285:Chyba při zápisu do souboru :ORA-29285:Chyba při zápisu do souboru je běžnou chybou při manipulaci se soubory. Podívejte se na tento příspěvek o různých důvodech a řešeních, jak to vyřešit
ORA-01652:nelze rozšířit dočasný segment :ORA-01652 chyba obvykle proto, že když tabulkový prostor nemá volné místo v trvalém a dočasném tabulkovém prostoru v databázi Oracle
ORA-00936 chybí výraz :Další informace o odstraňování problémů ORA-00936 chybějící výraz v oracle SQL.jaká jsou různá řešení, jak se tomu můžeme vyhnout, chyby Oracle pro tyto chyby
ORA-00257:chyba archivátoru. Připojte pouze interní, dokud se neuvolní. :Přečtěte si, jak odstranit chybu archivátoru ORA-00257. Pouze interní chyba připojení. Různá rozlišení a příklad jsou uvedeny krok za krokem.
ORA-00904 :Tento příspěvek s popisem a možnými řešeními ORA-00904:neplatný identifikátor. tipy pro řešení problémů je také k dispozici
FND_FILE v aplikacích Oracle
https://docs.oracle.com/database/121/ARPLS/u_file.htm


  1. Chybí artefakt com.microsoft.sqlserver:sqljdbc4:jar:4.0

  2. Online upgrade schématu v MySQL Galera Cluster pomocí metody RSU

  3. SQL:jak používat UNION a objednávat podle konkrétního výběru?

  4. Rozdělte data sloupců oddělených čárkami do dalších sloupců