Preciso alterar cerca de 300 procedures e packages no banco de dados, devido a uma migração que realizarei neste final de semana. Faremos uma migração de um servidor para o Exadata.
No entanto, o banco de dados foi desenvolvido de maneira muito descuidada. O banco executa vários arquivos de texto gravados diretamente no disco, mas ninguém usa diretórios. No Exadata, o caminho para escrever os arquivos será diferente devido ao uso do DBFS, para isso devo alterar todas as chamadas via UTL_FILE.
Deixe-me dar um exemplo: Atualmente o código é este:
file: utl_file.fopen = ('/file/folder/documents', filename, 'W');
O que eu quero fazer: criar um diretório
create or replace directory directory_name as '/file/folder/documents';
Altere os 300 procedimentos para:
file: = utl_file.fopen ('directory_name', filename, 'W');
Durante a migração, altere apenas o diretório:
create or replace directory directory_name as '/dbfs/documents';
A verdadeira questão: Existe uma maneira de fazer uma pesquisa e substituir alterando todos os 300 procedimentos no banco de dados de uma vez? Quero dizer, existe uma maneira de alterar todos os '/file/folder/documents' para directory_name?