Oracle 应用程序 - 如何获取 zd_edition_name 的值
Oracle Applications - How to get the value of zd_edition_name
在 Oracle Applications 12c 第 1 版中,有一个新列构成了许多主键的一部分,称为 zd_edition_name
。这与您在更改期间保持数据库可用的版本有关。因此,您将有两个版本,您可以对非实时版本进行更改,然后在完成后进行实时交换(我的理解有限——我不是 dba)。
我的问题是如何获取 zd_edition_name,
的值,因为它现在是主键的一部分,而且如果您不这样做,像 fnd_descr_flex_col_usage_tl
这样的表会返回两行而不是一行'传递 zd_edition_name
的值。
还有 zd 代表什么?
EBS 和版本基础重定义和在线补丁
列 zd_edition_name 只是 Oracle 11G 2(或更高版本)数据库的基于版本的重新定义功能的一个组成部分。
Oracle 应用程序直到 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
有了可编辑视图和 table,我们就没有那个限制了:
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
通过查询apps owned synonym,不需要知道ZD_EDITION_NAME的值(它是与运行版本关联的值,将是该值) .
您可以使用如下查询查看与 table 关联的可编辑对象:
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 是唯一的版本。
在 Oracle Applications 12c 第 1 版中,有一个新列构成了许多主键的一部分,称为 zd_edition_name
。这与您在更改期间保持数据库可用的版本有关。因此,您将有两个版本,您可以对非实时版本进行更改,然后在完成后进行实时交换(我的理解有限——我不是 dba)。
我的问题是如何获取 zd_edition_name,
的值,因为它现在是主键的一部分,而且如果您不这样做,像 fnd_descr_flex_col_usage_tl
这样的表会返回两行而不是一行'传递 zd_edition_name
的值。
还有 zd 代表什么?
EBS 和版本基础重定义和在线补丁
列 zd_edition_name 只是 Oracle 11G 2(或更高版本)数据库的基于版本的重新定义功能的一个组成部分。
Oracle 应用程序直到 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
有了可编辑视图和 table,我们就没有那个限制了:
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
通过查询apps owned synonym,不需要知道ZD_EDITION_NAME的值(它是与运行版本关联的值,将是该值) .
您可以使用如下查询查看与 table 关联的可编辑对象:
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 是唯一的版本。