EBS 和版本基础重新定义和在线修补
正如您所指出的,zd_edition_name 列只是 Oracle 11G 2(或更高版本)数据库的基于版本的重新定义功能的一个组件。
Oracle Applications 直到 12.2 EBS 才利用此版本的重定义数据库功能。
应用程序拥有的同义词将显示运行时间值,SET1 或 SET2。这将是一个值。对于 EBS 12.1,我希望运行时值为 SET1。
APPS@db> select
2 zd_edition_name
3 from
4 fnd_descr_flex_col_usage_tl
5 group by zd_edition_name;
ZD_EDITION_NAME
SET1
使用可编辑视图和表格,我们没有这个限制:
APPS@db>SELECT
2 zd_edition_name
3 FROM
4 applsys.fnd_descr_flex_col_usage_tl
5 GROUP BY
6 zd_edition_name;
ZD_EDITION_NAME
SET2
SET1
在 EBS 12.2 中,可以通过登录 Oracle Apps 服务器并回显环境变量来识别应该与 SET1/SET2 对应的活动文件系统:
$FILE_EDITION = patch
$RUN_BASE = /u01/R122_EBS/fs1
$PATCH_BASE = /u01/R122_EBS/fs2
通过查询应用程序拥有的同义词,无需知道 ZD_EDITION_NAME 的值(它是与运行版本相关联的值,将是该值)。
您可以使用如下查询查看与表关联的可编辑对象:
APPS@db>VAR b_object_name varchar2(30);
APPS@db>EXEC :b_object_name:= 'FND_DESCR_FLEX_COL_USAGE_TL';
PL/SQL procedure successfully completed.
APPS@db>SELECT
2 ao.owner,
3 ao.object_name,
4 ao.object_type
5 FROM
6 all_objects ao
7 WHERE
8 1 = 1
9 AND owner IN (
10 'APPS',
11 'APPLSYS'
12 )
13 AND ao.object_name IN (
14 :b_object_name,
15 substr(:b_object_name,1,29)
16 || '#'
17 );
OWNER OBJECT_NAME OBJECT_TYPE
APPLSYS FND_DESCR_FLEX_COL_USAGE_TL TABLE
APPLSYS FND_DESCR_FLEX_COL_USAGE_TL# VIEW
APPS FND_DESCR_FLEX_COL_USAGE_TL SYNONYM
以下是 EBS 实例中存在的版本列表:
APPS@db>SELECT
2 level,
3 de.edition_name,
4 de.parent_edition_name
5 FROM
6 dba_editions de
7 START WITH
8 de.edition_name = 'ORA$BASE'
9 CONNECT BY
10 PRIOR de.edition_name = de.parent_edition_name
11 ORDER BY
12 de.edition_name;
LEVEL EDITION_NAME PARENT_EDITION_NAME
1 ORA$BASE
2 V_20160703_2120 ORA$BASE
3 V_20160708_1723 V_20160703_2120
...
29 V_20180117_1118 V_20171206_1115
30 V_20180130_0107 V_20180117_1118
对于 12.1 EBS 环境,我希望起始版本 ORA$BASE 是唯一的版本。