Oracle DBA目录中的动态实例

Oracle DBA目录中的动态实例,oracle,clone,database-administration,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; 但是,当我们的生产环境被克隆到非Prod实例(例如EBSDEV)时, 实例名称不会更改,仍然保持为EBSPROD。 我希望它是: /u01/EBSDEV/app

免责声明:我不是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;
但是,当我们的生产环境被克隆到非Prod实例(例如EBSDEV)时, 实例名称不会更改,仍然保持为EBSPROD。 我希望它是: /u01/EBSDEV/apps/apps_st/appl/cust/12.0.0/per/1.0(克隆到DEV时) /u01/EBSDEV/apps/apps_st/appl/cust/12.0.0/per/1.0(克隆到测试时) /u01/EBSUAT/apps/apps\u st/appl/cust/12.0.0/per/1.0(克隆到UAT时)


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

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

使用

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

创建一个参数化脚本并不难,该脚本将采用DB名称或实例名称(以适当的为准),并构建正确的目录名称

CREATE OR REPLACE DIRECTORY directory_name AS'path_name';