powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DDL ALTER TABLE..
16 сообщений из 16, страница 1 из 1
DDL ALTER TABLE..
    #39520264
proxy_911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день коллеги,

Есть Пакетник PKG_1 в нем есть Функция FUNC_1 которые вызывается почти 1000 раз в минуту, и в нем select .ются некая таблица TABLE_1..
Все select -ы написано таким образом
Код: plsql
1.
select column_name from TABLE_1

а не как
Код: plsql
1.
select * from TABLE_1



Вопрос такой: Если я буду добавлять новую колонку на эту таблицу то это не повлияет на обработки заявки Функции ?
То есть при ALTER - е таблицы не нарушается работы функции ?

За каждый ответь буду благодарен..
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520269
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proxy_911,

Сэмулировать возможности не нашлось?

Будет инвалидация функции с компиляцией при первом обращении.
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520283
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520295
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaесли колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висетьчё??
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520298
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--Alionaесли колонку надо заполнить, нпример дефолтным занчением, а таблица большая, на это понадобиться некоторое время, a ваша функция в это время будет висетьчё??
блокировочки возникнут, чё :)
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520302
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantino,

Господа, о каких блокировках идет речь, если в функции, как показал автор, простые селекты?
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520306
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadо каких блокировках идет речь, если в функции, как показал автор, простые селекты?library cache pin, например.
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520396
Болтаювпт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicAmKadо каких блокировках идет речь, если в функции, как показал автор, простые селекты?library cache pin, например.На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition.
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520461
proxy_911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona,

Таблица не большая, все значении новой колонки будет "0" по дефолту.
Версии БД 12С.
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520465
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proxy_911Таблица не большаяесли не большая, тогда че паришься вообще?
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520466
proxy_911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,

На Функции, не простые Select - ы.. Там 1600 строк кода с разнообразными условиями.
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520471
proxy_911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--proxy_911Таблица не большаяесли не большая, тогда че паришься вообще?

Запрос для Alter - а длится около 1-2 сек.. В эти 1-2 сек Функция выполняется 10-15 раз, и как себя ведет во время компиляции.?
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520476
proxy_911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БолтаювптElicпропущено...
library cache pin, например.На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition.

Спасибо, Болтаювпт смотрю dbms_redefinition..
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520480
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proxy_911Болтаювптпропущено...
На время alter table, которое можно сделать коротким - отделить от заполнения данными (которые отдельно dml и перекомпиляции не вызывают). Хотя, как долго будет работать modify column default value при заполненном поле - не проверял. Опять же, какая именно часть ddl будет блокировать library cache и сколько она длится, и каким номером она идет в последовательности выполнения, надо смотреть экспериментально. Ну и, если всё совсем критично, есть dbms_redefinition.

Спасибо, Болтаювпт смотрю dbms_redefinition..

хрен редьки не слаще )))
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520987
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
DDL ALTER TABLE..
    #39520992
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 колонки.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DDL ALTER TABLE..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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