由于将在本周末完成的迁移,我需要更改数据库中的大约 300 个过程和包。我们将从一台服务器迁移到 Exadata。
然而,数据库的开发方式非常草率。银行进行了一些直接写入磁盘的文本文件,但没有人使用目录。在 Exadata 中,由于使用了 DBFS,写入文件的路径会有所不同,为此我必须通过 UTL_FILE 更改所有调用。
我举个例子:目前代码是这样的:
file: utl_file.fopen = ('/file/folder/documents', filename, 'W');
我想做的:创建一个目录
create or replace directory directory_name as '/file/folder/documents';
将 300 程序更改为:
file: = utl_file.fopen ('directory_name', filename, 'W');
在迁移期间仅更改目录:
create or replace directory directory_name as '/dbfs/documents';
真正的问题:有没有一种方法可以让我一次搜索并替换更改数据库中的所有 300 个程序?我的意思是,有一种方法可以将所有“/file/folder/documents”更改为 directory_name?