|
|
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
Добрый день коллеги, Есть Пакетник PKG_1 в нем есть Функция FUNC_1 которые вызывается почти 1000 раз в минуту, и в нем select .ются некая таблица TABLE_1.. Все select -ы написано таким образом Код: plsql 1. а не как Код: plsql 1. Вопрос такой: Если я буду добавлять новую колонку на эту таблицу то это не повлияет на обработки заявки Функции ? То есть при ALTER - е таблицы не нарушается работы функции ? За каждый ответь буду благодарен.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 10:27 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
proxy_911, Сэмулировать возможности не нашлось? Будет инвалидация функции с компиляцией при первом обращении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 10:29 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
proxy_911Вопрос такой: Если я буду добавлять новую колонку на эту таблицу то это не повлияет на обработки заявки Функции ? То есть при ALTER - е таблицы не нарушается работы функции ? Новая колонка будет пустая или чем-то заполнена? если колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висеть. Начиная с oracle 10, появился полезный The DBMS_REDEFINITION package provides an interface to perform an online redefinition of tables. https://docs.oracle.com/database/121/ARPLS/d_redefi.htm#ARPLS042 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 10:44 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
Alionaесли колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висетьчё?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 11:05 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
--Eugene--Alionaесли колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висетьчё?? блокировочки возникнут, чё :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 11:08 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
Q.Tarantino, Господа, о каких блокировках идет речь, если в функции, как показал автор, простые селекты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 11:14 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
AmKadо каких блокировках идет речь, если в функции, как показал автор, простые селекты?library cache pin, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 11:20 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
ElicAmKadо каких блокировках идет речь, если в функции, как показал автор, простые селекты?library cache pin, например.На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 12:58 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
Aliona, Таблица не большая, все значении новой колонки будет "0" по дефолту. Версии БД 12С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:21 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
proxy_911Таблица не большаяесли не большая, тогда че паришься вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:24 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
AmKad, На Функции, не простые Select - ы.. Там 1600 строк кода с разнообразными условиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:26 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
--Eugene--proxy_911Таблица не большаяесли не большая, тогда че паришься вообще? Запрос для Alter - а длится около 1-2 сек.. В эти 1-2 сек Функция выполняется 10-15 раз, и как себя ведет во время компиляции.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:32 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
БолтаювптElicпропущено... library cache pin, например.На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition. Спасибо, Болтаювпт смотрю dbms_redefinition.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:36 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
proxy_911Болтаювптпропущено... На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition. Спасибо, Болтаювпт смотрю dbms_redefinition.. хрен редьки не слаще ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2017, 14:40 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
AlionaНовая колонка будет пустая или чем-то заполнена? если колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висеть. Начиная с 11g при добавлении колонки с default not null все изменения проходят мнгновенно, т.к. меняется только информация в словаре. When you add a column, the initial value of each row for the new column is null. If you specify the DEFAULT clause for a NOT NULL column, then the default value is stored as metadata but the column itself is not populated with data. However, subsequent queries that specify the new column are rewritten so that the default value is returned in the result set. This optimized behavior differs from earlier releases, when as part of the ALTER TABLE operation Oracle Database updated each row in the newly created column with the default value, and then fired any update triggers defined on the table. In this release, no triggers are fired because the default is stored only as metadata https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_3001.htm#i2054940 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2017, 11:31 |
|
||
|
DDL ALTER TABLE..
|
|||
|---|---|---|---|
|
#18+
orac_listAlionaНовая колонка будет пустая или чем-то заполнена? если колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висеть. Начиная с 11g при добавлении колонки с default not null все изменения проходят мнгновенно, т.к. меняется только информация в словаре. When you add a column, the initial value of each row for the new column is null. If you specify the DEFAULT clause for a NOT NULL column, then the default value is stored as metadata but the column itself is not populated with data. However, subsequent queries that specify the new column are rewritten so that the default value is returned in the result set. This optimized behavior differs from earlier releases, when as part of the ALTER TABLE operation Oracle Database updated each row in the newly created column with the default value, and then fired any update triggers defined on the table. In this release, no triggers are fired because the default is stored only as metadata https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_3001.htm#i2054940 А в 12с эту оптимизацию еще расширили на nullable колонки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2017, 11:33 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39520480&tid=1885253]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 446ms |

| 0 / 0 |
