Em algum momento podemos ter a necessidade de alterar um diretório criado no banco de dados, seja por correção ou alteração do diretório no sistema operacional e desta forma termos de fazer um novo apontamento.
Para isso, precisamos:
a) Conectar no banco de dados como sysdba
$ sqlplus / as sysdba
b) Verificar o diretório em sua configuração atual
SQL> set lines 300
SQL> col OWNER format a15
SQL> col DIRECTORY_NAME format a15
SQL> col DIRECTORY_PATH format a30
SQL> SELECT * FROM dba_directories WHERE directory_name = 'DIR_XPTO';
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ -------------------------------
SYS DIR_XPTO /u04/xpto
c) Alterar o diretório desejado
A sintaxe para a alteração é:
SQL> CREATE OR REPLACE directory <directory name> AS '<O/S directory>';
Exemplo:
SQL> CREATE OR REPLACE directory DIR_XPTO AS '/u01/xpto/admin';
Directory created.
d) Verificar a configuração do diretório após a alteração:
SQL> SELECT * FROM dba_directories WHERE directory_name = 'DIR_XPTO';
OWNER DIRECTORY_NAME DIRECTORY_PATH
---------------------------- ------------------------------ ----------------------------------
SYS DIR_XPTO /u01/xpto/admin
Referência:
https://www.club-oracle.com/threads/how-to-change-database-directory-path.6976/