DBA目录中的动态实例

时间:2017-02-06 19:12:18

标签: oracle clone database-administration

免责声明:我不是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

克隆实例时,是否需要单独的脚本来重新创建这些目录?

1 个答案:

答案 0 :(得分:1)

是。目录名称只是一个字符串;它不知道您嵌入了实例名称。

使用

CREATE OR REPLACE DIRECTORY directory_name AS'path_name';

而不是DROP-Statement,后跟CREATE-Statement。这将保留此目录中的所有授权。

创建一个带有DB Name或Instance名称的参数化脚本(以适当的为准)并构建正确的目录名称应该不会太难。