Приложения Oracle - Как получить значение zd_edition_name

В Oracle Applications 12c release 1 есть новый столбец, который является частью многих первичных ключей, который называется zd_edition_name, Это относится к редакциям, которые вы можете использовать для поддержания базы данных во время изменений. Таким образом, у вас будет два издания, вы можете вносить изменения в неживое, а затем просто менять местами, когда вы закончите (мое ограниченное понимание - я не dba).

Мои вопросы, как я могу получить значение zd_edition_name, так как теперь это часть первичного ключа, а также потому, что таблицы, такие как fnd_descr_flex_col_usage_tl вернет две строки вместо одной, если вы не передадите значение zd_edition_name,

Кроме того, что означает ZD?

1 ответ

Решение

Переопределение базовой версии 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

С редактируемым представлением и таблицей у нас нет этого ограничения:

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 можно было идентифицировать активную файловую систему, которая должна иметь соответствие с SET1/SET2, выполнив вход на сервер (ы) Oracle Apps и повторив переменные среды:

$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

Для среды EBS 12.1 я бы ожидал, что единственной версией будет ORA$BASE.

Другие вопросы по тегам