powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему на форуме нет вопросов по Edition-based Redefinition?
25 сообщений из 75, страница 2 из 3
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37360382
кук1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринский Вопрос:
Почему в нашем форуме практически нет вопросов, касающихся Edition-based Redefinition?
Мой ответ:
Это так потому, что данные возможности никем не используются (пока?).


А если используется, то теми кому это действительно надо, они обращаются не на форум, а в службу поддержки или имеют достаточно своего мозга чтобы разобраться с функционалом и ошибками. Реальных 24/7 инсталляций очень не много, боюсь ошибиться, но ИМХО меньше 1-2%, у всех остальных без проблем можно выбить "окно" для апгрейдов в субботу утром :)


> "Версионное переопределение – это революционная новинка Oracle Database 11g Release 2 («захватчик рынка»).
она таковой имеет шансы стать, если её не угробят за пару версий. Те кто идет на существенные затраты ресурсов для online Application Upgrade, вынуждены будут потратить огромное количество своих человеческих ресурсов на имплементацию и тестирование, а это не всегда возможно обосновать, ведь до этого же как-то Upgrade делали. Эта фича имеет шансы удачно помереть в версиях 13-14 за невостребованностью.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37360503
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте разложим типиповые апгрейды, в предположении, что все протестировали и "у нас ошибок нет", и посмотрим, какую часть покрывает EbR, какую есть обходные маневры и без EbR, а где все равно даунтайм.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37360772
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир БегунВалерий ЮринскийВаша версия?Переход на "новые рельсы" потребует переосмысления того, как в конкретной системе происходит установки изменений (patches).
Иногда такой переход может оказаться дороже чем выгода от него.
Понимание, переделка, тестирование -- т.е. стандартный цикл станет дороже в плане себестоимости.Да, дополнительная работа и повышение культуры разработки неизбежно приведут к удорожанию.
Кстати, не планируется ли в будущих версиях Oracle Database аналог online patches, но не для СУБД, а для функционирующих на ней прикладных систем?
Владимир БегунНу, а если простой никак не влияет на бизнес, то и разговаривать не о чем.Именно так. Спору нет.
Владимир БегунЯ склонен больше думать, что причина здесь в том, что новая функциональность должна быть обкатана кем-то и должны быть positive references.Да, именно об этом и написал Илья Деев 11002913 . И они же начали набирать "критичную массу".
Надеюсь, что у них получится именно positive reference.

Спасибо за конструктивное мнение!
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37360823
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan KВалерий ЮринскийПредлагаю вашему вниманию их перевод, в том числе, с помощью слов, не существовавших ранее в языке русском... :-)

Ссылочку на презентацию с Oracle DB Day еще выложите, плз...Ниже ссылки на материалы вебинара
"Edition-based Redefinition – набор революционных нововведений Oracle Database 11g Release 2",
который я провёл 2 июня 2011 г.
Презентация
Запись вебинара

Пользуйтесь на здоровье! :-)
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37360831
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Давайте разложим типиповые апгрейды, в предположении, что все протестировали и "у нас ошибок нет", и посмотрим, какую часть покрывает EbR, какую есть обходные маневры и без EbR, а где все равно даунтайм.Отличное предложение!
Давайте разложим.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37361429
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринский Презентация чем дальше я ее читаю, тем больше понимаю, что дело того не стоит.
слишком много ограничений, и все слишком хлипко выглядит, как-то "на соплях" (простите за грубость)
страхово применять. темболее на продакшене
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37361525
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--Валерий Юринский Презентация чем дальше я ее читаю, тем больше понимаю, что дело того не стоит.
слишком много ограничений, и все слишком хлипко выглядит, как-то "на соплях" (простите за грубость)
страхово применять. темболее на продакшенеНасчет "на соплях" - это лишь эмоции, как я считаю.
На My Oracle Support поиск по контексту "Edition-based Redefinition" в "Bug Database" даёт всего 3 документа:
- один из них "Closed, Not a Bug"
- второй "Suspended, Req'd Info not Avail"
- третий "Documentation Bug"
Никто не использует EBR? Пока обнаружено только три "сопли"?

Если у вас есть возможность останавливать работу пользователей БД для Upgrade'а приложения, то да, не стоит.
А какие есть альтернативы, если такой возможности нет?

Почитайте также An Oracle White Paper /July 2009/
Edition-Based Redefinition
a new capability in Oracle Database 11g Release 2
to support online application upgrade

by Bryn Llewellyn , Product Manager, Database Server Technologies Division, Oracle Headquarters
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37361640
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий ЮринскийДа и система, видимо, такая, что доступности 99,9% для неё вполне достаточно...Валерий ЮринскийТо есть вас вполне устраивает остановка при каждом обновлении приложения?Валерий ЮринскийСудя по всему, online application upgrade не является критичным требованием для ваших приложений.Валерий ЮринскийВам виднее нужен вашим козам и их родственникам боян или нет...Валерий ЮринскийЕсли у вас есть возможность останавливать работу ...это лишь эмоции по поводу "фичу сделали, а никто не хочет ее использовать".
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37362327
Филарет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий ЮринскийНикто не использует EBR? Пока обнаружено только три "сопли"?

если задать вопрос: оракл написал безбаговую штуку?

то ответ, по-моему, будет очевиден.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37362342
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринскийа для функционирующих на ней прикладных систем?Я не совсем уловил, что может являтся примером таких систем? Любое приложение? Продукты Oracle? Опции/компоненты самого сервера, словарь?
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37362652
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир БегунВалерий ЮринскийКстати, не планируется ли в будущих версиях Oracle Database аналог online patches,
но не для СУБД, а для функционирующих на ней прикладных систем?Я не совсем уловил, что может являтся примером таких систем? Любое приложение? Продукты Oracle? Опции/компоненты самого сервера, словарь?Любое приложение.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37362660
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Валерий Юринский...это лишь эмоции по поводу "фичу сделали, а никто не хочет ее использовать".Да. Почему нет?!
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37363765
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий ЮринскийЛюбое приложение.Я ни о чём подобном не слышал.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37365257
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун,
Спасибо за информацию.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37440341
McMurfy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий,

я пополнил коллекцию искомых вопросов :) Будет минутка - загляните, пожалуйста, в тему .
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37721983
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий ЮринскийНасчет "на соплях" - это лишь эмоции, как я считаю.А вы копали вглубь команды ENABLE EDITIONS? Что именно она делает и почему она необратима?
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37721992
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopВалерий ЮринскийНасчет "на соплях" - это лишь эмоции, как я считаю.А вы копали вглубь команды ENABLE EDITIONS? Что именно она делает и почему она необратима?Нет, не копал.
Предполагаю, что необратимость команды
Код: plsql
1.
{ALTER | CREATE} USER my_user ENABLE EDITIONS [FORCE]


разработчиками Oracle Database предусмотрена неспроста.
А вы копали?
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722047
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринскийdbms_photoshopпропущено...
А вы копали вглубь команды ENABLE EDITIONS? Что именно она делает и почему она необратима?Нет, не копал.
Предполагаю, что необратимость команды
Код: plsql
1.
{ALTER | CREATE} USER my_user ENABLE EDITIONS [FORCE]


разработчиками Oracle Database предусмотрена неспроста.
А вы копали?Ну если посмотреть на трассировку 10046 для ENABLE EDITIONS можно увидеть парочку порождаемых анонимных блоков на рекурсивном уровне 1. То есть, порождаются непосредственно из команды alter user. При чем один из них вызывается дважды. Судя по коду делает какие-то дополнительные действия связанные со spatial.
Особого интереса не представляет
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
declare
 TYPE attrs_cur IS REF CURSOR;
 m_cur       attrs_cur;
 m_event varchar2(512);
 m_user  varchar2(512);
 m_owner varchar2(512);
 m_user1 varchar2(512);
 m_type  varchar2(512);
 m_stmt  varchar2(512);
 m_name  varchar2(5120);
 m_column varchar2(5120);
 m_cnt   NUMBER;
 m_stmt1 varchar2(512);
 m_var   varchar2(512);
 m_o_stmt VARCHAR2(5120);
PRAGMA AUTONOMOUS_TRANSACTION;
begin
 m_stmt:='select sys.dbms_standard.dictionary_obj_type from dual';
 execute immediate m_stmt into m_type;
 if(not (m_type='TABLE' or m_type='TRIGGER' or m_type='USER'))
 then
   return;
 end if;
 m_stmt:='select sys.dbms_standard.sysevent from dual';
 execute immediate m_stmt into m_event;
 m_stmt:='select SYS_CONTEXT(''USERENV'',''SESSION_USER'') from dual';
 execute immediate m_stmt into m_user;
 m_stmt:='select SYS_CONTEXT(''USERENV'',''CURRENT_USER'') from dual';
 execute immediate m_stmt into m_user1;
 m_stmt:='select sys.dbms_standard.dictionary_obj_owner from dual';
 execute immediate m_stmt into m_owner;
 m_stmt:='select sys.dbms_standard.dictionary_obj_name from dual';
 execute immediate m_stmt into m_name;
 m_stmt:='select sdo_geor_def.getSqlText from dual';
 execute immediate m_stmt into m_o_stmt;
  if (m_owner!='MDSYS' and m_owner!='SYS' and m_type='TABLE' and m_event='ALTER')
  then
    m_stmt:='select column_name from dba_tab_columns where owner=:1 and table_name=:2';
    open m_cur for m_stmt using m_owner,m_name;
    loop
      fetch m_cur into m_column;
      exit when m_cur%NOTFOUND;
      m_stmt:='select sdo_geor_def.isDropColumn(:1) from dual';
      execute immediate m_stmt into m_stmt1 using SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);
      if (trim(m_stmt1)='TRUE')
      then
        m_stmt:='begin sdo_geor_def.doAlterDropColumn(:1,:2,:3); end;';
        execute immediate m_stmt using SYS.DBMS_ASSERT.SCHEMA_NAME(m_owner),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_name),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);
      end if;
    end loop;
  end if;
 if (m_event='DROP' and m_type='USER')
 then
   m_stmt:='insert into sdo_geor_ddl__table$$ values (1)';
   EXECUTE IMMEDIATE m_stmt;
   commit;
 end if;
 if (m_event='DROP' and m_type='TABLE')
 then
   m_stmt:='select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2';
   EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;
   if(m_cnt!=0)
   then
     m_stmt:='select count(*) from sdo_geor_ddl__table$$';
     EXECUTE IMMEDIATE m_stmt into m_cnt;
     if((m_cnt=0)and (m_user!='SYS' and m_user!='SYSTEM' and m_user!='MDSYS'and m_owner!='MDSYS' and m_owner!='SYS'))
     then
        m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391, ''The referenced raster data table(RDT) cannot be dropped.'')';
        execute immediate m_stmt;
     end if;
   end if;
   m_stmt:='insert into sdo_geor_ddl__table$$ values (2)';
   EXECUTE IMMEDIATE m_stmt;
   commit;
 end if;
 if(m_user='SYS' or m_user='SYSTEM' or m_user='MDSYS'
   or m_owner='MDSYS' or m_owner='SYS')
 then
   return;
 end if;
 if (m_event='RENAME' and m_type='TABLE')
 then
   m_stmt:='select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2';
   EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;
   if(m_cnt!=0)
   then
     m_stmt:='select count(*) from sdo_geor_ddl__table$$';
     EXECUTE IMMEDIATE m_stmt into m_cnt;
     if(m_cnt=0)
     then
        m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391, ''The referenced raster data table(RDT) cannot be renamed directly.'')';
        execute immediate m_stmt;
     end if;
   end if;
 end if;
 if (m_type='TRIGGER' and m_event='DROP')
 then
   m_stmt:='select REGEXP_SUBSTR(:1,''GRDMLTR_.+'',1,1,''i'') from dual';
   EXECUTE IMMEDIATE m_stmt into m_var using m_name;
   if(m_var is null)
   then
     return;
   end if;
   m_stmt:='select count(*) from sdo_geor_ddl__table$$';
   EXECUTE IMMEDIATE m_stmt into m_cnt;
   if(m_cnt=0)
   then
     m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391, ''GeoRaster DML triggers cannot be dropped.'')';
     execute immediate m_stmt;
   end if;
 end if;
 if (m_type='TRIGGER' and m_event='ALTER')
 then
   m_o_stmt:=upper(trim(m_o_stmt));
   if(instr(m_o_stmt,' COMPILE ')>0 or instr(m_o_stmt,' ENABLE ')>0
     or substr(m_o_stmt,length(m_o_stmt)-8,8)=' COMPILE' or substr(m_o_stmt,length(m_o_stmt)-7,7)=' ENABLE' )
   then
     return;
   end if;
   m_stmt:='select REGEXP_SUBSTR(:1,''GRDMLTR_.+'',1,1,''i'') from dual';
   EXECUTE IMMEDIATE m_stmt into m_var using m_name;
   if(m_var is null)
   then
     return;
   end if;
   m_stmt:='select count(*) from sdo_geor_ddl__table$$';
   EXECUTE IMMEDIATE m_stmt into m_cnt;
   if(m_cnt=0)
   then
     m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391, ''GeoRaster DML triggers cannot be altered.'')';
     execute immediate m_stmt;
   end if;
 end if;
 if (m_type='TRIGGER' and m_event='CREATE')
 then
   m_stmt:='select REGEXP_SUBSTR(:1,''GRDMLTR_.+'',1,1,''i'') from dual';
   EXECUTE IMMEDIATE m_stmt into m_var using m_name;
   if(m_var is null)
   then
     return;
   end if;
   m_stmt:='select count(*) from sdo_geor_ddl__table$$';
   EXECUTE IMMEDIATE m_stmt into m_cnt;
   if(m_cnt=0)
   then
     m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391, ''GeoRaster reserved names cannot be used to create regular triggers.'')';
     execute immediate m_stmt;
   end if;
 end if;
 Exception
   when others then
     if(sqlcode=-13391)
     then
       m_stmt:=sqlerrm;
       m_stmt:=substr(m_stmt,11);
       m_stmt:='call mderr.raise_md_error(''MD'', ''SDO'', -13391,'''||m_stmt||''')';
       execute immediate m_stmt;
     end if;
end;

call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      2      0.00       0.01          0          0          0           1
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3      0.00       0.01          0          0          0           1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 57     (recursive depth: 1)

Единственный в трейсе оператор insert/update/delete для которого execute > 0 это (он тоже на рекурсивном уровне 1, то есть, порождается непосредственно):
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
update user$
   set user#       = :1,
       password    = :3,
       datats#     = :4,
       tempts#     = :5,
       type#       = :6,
       defrole     = :7,
       resource$   = :8,
       ptime       = DECODE(to_char(:9, 'YYYY-MM-DD'),
                            '0000-00-00',
                            to_date(null),
                            :9),
       exptime     = DECODE(to_char(:10, 'YYYY-MM-DD'),
                            '0000-00-00',
                            to_date(null),
                            :10),
       ltime       = DECODE(to_char(:11, 'YYYY-MM-DD'),
                            '0000-00-00',
                            to_date(null),
                            :11),
       astatus     = :12,
       lcount      = :13,
       defschclass = :14,
       spare1      = :15,
       spare4      = :16
 where name = :2

Обновление пользователя, чего собственно и стоило ожидать.
Видно, что парится на стали и обновляется множество атрибутов, хотя по факту меняется только флажок spare1.
Хоть дока и говорит, что: http://docs.oracle.com/cd/E14072_01/server.112/e10592/statements_4003.htm If the schema to be editions-enabled contains any objects that are not editionable and that depend on editionable type objects in the schema, then you must specify FORCE to enable editions for this schema.На самом деле ошибка
Код: plsql
1.
2.
3.
4.
5.
6.
SQL> alter user ... enable editions;
alter user ... enable editions
*
ERROR at line 1:
ORA-38819: user ... owns one or more objects whose type is editionable and
that have noneditioned dependent objects

может возникать если никаких editionable objects в схеме нет.
Вот тут есть пример того, что может приводить к ошибке и какой запрос в трейсе есть для этого.

Итого: если меняется один флажок, почему делать необратимой? Может это было сделано в маркетинговых целях, чтоб подсаживать на новую опцию, но по факту это только отталкивает.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722057
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopМожет это было сделано в маркетинговых целяхможет поленились проверять наличие в объектах редакций не ORA$BASE.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722071
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

По-моему проверить наличие хотя бы одного editionable объекта не так уж и сложно (в какой бы редакции он ни был).
Тем более, что при выполнении ENABLE EDITIONS судя по всему тоже не одна проверка делается.

Хотя с другой стороны ENABLE EDITIONS для одного и того же пользователя можно выполнять сколько угодно раз, то есть проверка что он уже версионируемый не делается.
Да и напрягает, что если пользователь неверсионируемый, то для него все равно можно создавать редакции и "editioning view" только вот ожидаемого эффекта не будет.

То есть имхо сыро, очень сыро.

Любопытно, если я флажок spare1 сброшу в ноль, это будет означать что пользователь с таком же состоянии как был до ENABLE EDITIONS или нет. :)
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722073
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

"Здравствуйте, дорогая РЕДАКЦИЯ!" решается сбросом флажка?
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722088
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopИтого: если меняется один флажок, почему делать необратимой?Предположим, что в схеме editions-enabled пользователя в нескольких версиях создана одна и та же процедура.
Что делать с этой процедурой, если будет разрешена "обратимость" (reversibility) осуществляемая, например, командой
Код: plsql
1.
ALTER USER my_user DISABLE EDITIONS [FORCE]

?

Какую единственную версию следует оставить?
Сколько времени займет приведение всего PL/SQL схемы к одной версии? Как в это время будет работать "безостановочное приложение"?
Особенно усложняется решение, если почему-либо требуется оставить не последнюю (не листовую) версию.

А если таких процедур десятки, сотни, тысячи и все они зависят от разных версий (inherited и actual) другого PL/SQL кода?

Вопросов много.
У разработчиков Oracle, думаю, таких вопросов еще больше - это их профессиональная работа.

Посмотрим, что будет по данной теме в Oracle Database 12...
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37722099
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий Юринский,

Есс-но, если задействован новый функционал, то он должен быть убран при отказе от версионирования.
Как минимум этот запрос должен возвращать ноль:
Код: plsql
1.
2.
3.
select count(*)
  from user_objects_ae
 where nvl(edition_name, 'ORA$BASE') <> 'ORA$BASE'

Я по прежнему не вижу особых препятствий для возможной отмены версионирования.
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37868281
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По теме Edition-based Redrfinition я сегодня провел для наших партнеров вебинар
"Oracle Database 11g R2. Обновление приложений без остановки работы пользователей"

Запись вебинара вы можете посмотреть здесь
Там же можно скачать презентацию (В левом нижнем углу есть окно "Обмен файлами").

Спасибо!
...
Рейтинг: 0 / 0
Почему на форуме нет вопросов по Edition-based Redefinition?
    #37868471
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевод термина "Edition" как "Версия" неудачен, поскольку термин уже использован минимум дважды:
- rdbms Oracle относится к "версионникам"
- версионность прикладных данных поддерживается некоторыми приложениями.

Лучше подобрать другой перевод, к примеру, варианты перевода "редакция" или "ревизия" лучше подходят к изменениям кода и создают меньше путаницы.
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему на форуме нет вопросов по Edition-based Redefinition?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]