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

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

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

И что означает zd?


person Superdooperhero    schedule 10.02.2018    source источник


Ответы (1)


Переопределение 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 можно было определить активную файловую систему, которая должна иметь соответствие с 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

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

person Patrick Bacon    schedule 11.02.2018