免责声明:我不是DBA,只是DBA想要的人。
我在生产环境中创建了一个目录:
CREATE DIRECTORY PAY_FOLDER AS '/u01/EBSPROD/apps/apps_st/appl/cust/12.0.0/per/1.0';
GRANT READ ON DIRECTORY PAY_FOLDER TO PUBLIC;
但是,当我们的生产环境被克隆到非产品实例(例如EBSDEV)时,
实例名称不会更改,仍然保持为EBSPROD。
我希望它是:
克隆到DEV时/u01/EBSDEV/apps/apps_st/appl/cust/12.0.0/per/1.0
克隆到TEST时/u01/EBSDEV/apps/apps_st/appl/cust/12.0.0/per/1.0
克隆到UAT时/u01/EBSUAT/apps/apps_st/appl/cust/12.0.0/per/1.0
克隆实例时,是否需要单独的脚本来重新创建这些目录?
答案 0 :(得分:1)
是。目录名称只是一个字符串;它不知道您嵌入了实例名称。
使用
CREATE OR REPLACE DIRECTORY directory_name AS'path_name';
而不是DROP-Statement,后跟CREATE-Statement。这将保留此目录中的所有授权。
创建一个带有DB Name或Instance名称的参数化脚本(以适当的为准)并构建正确的目录名称应该不会太难。