DBA 目录中的动态实例
Dynamic Instance in DBA Directories
免责声明:我不是 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。
我希望它是:
/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_st/appl/cust/12.0.0/per/1.0
克隆到 UAT 时
克隆实例时是否需要单独的脚本来重新创建这些目录?
是的。目录名只是一个字符串;它不知道您已经嵌入了实例名称。
使用
CREATE OR REPLACE DIRECTORY directory_name AS'path_name';
而不是 DROP-Statement 后跟 CREATE-Statement。这将保留此目录上的所有授权。
创建一个参数化脚本应该不会太难,该脚本将采用数据库名称或实例名称(以适当者为准)并构建正确的目录名称。
免责声明:我不是 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。
我希望它是:
/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_st/appl/cust/12.0.0/per/1.0
克隆到 UAT 时
克隆实例时是否需要单独的脚本来重新创建这些目录?
是的。目录名只是一个字符串;它不知道您已经嵌入了实例名称。
使用
CREATE OR REPLACE DIRECTORY directory_name AS'path_name';
而不是 DROP-Statement 后跟 CREATE-Statement。这将保留此目录上的所有授权。
创建一个参数化脚本应该不会太难,该脚本将采用数据库名称或实例名称(以适当者为准)并构建正确的目录名称。