|
|
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Родилась тут такая хотелка чтобы базу данных можно было переводить базу данных в shutdown из скрипта Код: sql 1. 2. 3. 4. 5. 6. 7. Так было бы удобно накатывать скрипты без предварительного использования gfix или сервисов. Хотелось бы выслушать мнения, если будут положительные запулю в трекер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 21:23 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисХотелось бы выслушать мненияэто очень удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 01:29 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денисзапулю в трекер. Пуляй,я за :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 01:40 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денис > Хотелось бы выслушать мнения Ну, в шатдаун ты её, допустим, переведёшь (хотя тут еще можно пообсуждать), но как ты её будешь онлайнить из скрипта? Особенно, если из этого же.: Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 01:40 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамно как ты её будешь онлайнить из скрипта? Особенно, если из этого же.в оракле есть специальные режимы, а в FB не вижу проблем с реконнектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 02:00 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
roadsterв FB не вижу проблем с реконнектом какой такой реконнект к базе в режиме full shutdown? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 08:29 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
dimitrfull shutdownя только форс использую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:02 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
roadster, мы на разных языках разговариваем, похоже. FORCE и FULL никак не мешают друг другу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:04 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисРодилась тут такая хотелка чтобы базу данных можно было переводить базу данных в shutdown из скрипта Код: sql 1. что должно произойти с коннектом, выполнившим эту команду? Особенно в режиме FULL. Да и с SINGLE/MULTI тоже интересно - что делать с ранее закешированными этим коннектом объектами, незакоммиченными транзакциями и т.д. ЗЫ. в синтаксисе еще таймаута не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:08 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
dimitrмы на разных языках разговариваем, похоже. FORCE и FULL никак не мешают друг другу.я не использую фулл, собственно в моём случае наличие возможности переводить БД в даун и затем в он-лайн - это было бы весьма удобно. просто при проведении обновления структуры БД пользователей просят прекратить работу с клиентским ПО, но бывают такие случаи, когда "ушёл обедать и оставил программу открытой", в данном случае предложенное было бы только плюсом. ЗЫ знаю, что всё не так и всё не то, я вообще всё неправильно делаю и ничего не понимаю и что у меня всё равно всё сломается, но если не хочется такое реализовывать - не делайте, от этого трекер не поломается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:17 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денисбыло бы удобно накатывать скрипты без предварительного использования gfix или сервисов.я после gfix -shut вызываю gstat -h | grep -i "attributes" и проверяю состояние. Если там нет нужного мне, то дальше ничего запускать нельзя. В твоем варианте нужно будет делать то же самое, т.е. alter database shutdown single, а затем вызвать show database и каким-то образом убедиться, что база действительно находится в требуемом состоянии. И если не так, то quit с выдачей errorlevel'a. Как ты будешь это делать ? ЗЫ. Кляуза full в вышеприведенном лишняя, ибо дальше всё равно делать будет нечего, кроме поднятия базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:25 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Пожалуй с режимами я переборщил. Если команду сократить до Код: sql 1. и использовать при этом только FORCE и режим SINGLE а для Код: sql 1. режим NORMAL dimitrчто делать с ранее закешированными этим коннектом объектами, незакоммиченными транзакциями и т.д. то же самое что и при gfix -shut single -force 0 только своё соединение либо восстанавливать либо как то сохранять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:35 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Таблоидя после gfix -shut вызываю gstat -h | grep -i "attributes" и проверяю состояние. дык ассинхронность шатдауна вроде правилась недавно, так что он не вернёт управление ОС пока не завершится. Тоже самое должно быть и с оператором. ТаблоидИ если не так, то quit с выдачей errorlevel'a. Как ты будешь это делать ? А вот здесь действительно интересно. Вроде force должно быть всё равно, но даже если будет какая то ошибка, то скорее всего отображать её и просто рвать текущее соединение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:42 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денисdimitrчто делать с ранее закешированными этим коннектом объектами, незакоммиченными транзакциями и т.д. то же самое что и при gfix -shut single -force 0 только своё соединение либо восстанавливать либо как то сохранять при gfix "свой" коннект пустой, он еще ничего не делал. А при альтере он мог что угодно с базой наделать. Если его контекст сохранять, то обновление метаданных теоретически может и не пройти. кроме того, мне интересно, что делать при ошибке в скрипте обновления базы. Она останется в шатдауне? Кто и как будет ее возвращать в онлайн? Если все равно gfix-ом, то нафига козе баян? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:00 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
я имел ввиду вот такую ситуацию Код: sql 1. 2. 3. 4. 5. 6. 7. 8. dimitrкроме того, мне интересно, что делать при ошибке в скрипте обновления базы. Она останется в шатдауне? Кто и как будет ее возвращать в онлайн? Если все равно gfix-ом, то нафига козе баян? если SHUTDOWN выполняется как gfix -shut single -force 0 то никто не помешает сделать вот так Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:14 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
вообще, если следовать внутренней реализации шатдауна и максимально соответствовать GFIX-у, то опция шатдауна должна быть у команды CONNECT. Но это означает, что это будет фича утилиты ISQL, а не языка SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:14 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
dimitrвообще, если следовать внутренней реализации шатдауна и максимально соответствовать GFIX-у, то опция шатдауна должна быть у команды CONNECT. Но это означает, что это будет фича утилиты ISQL, а не языка SQL. ну это было бы неплохо, пусть только и в ISQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:16 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денисну это было бы неплохо, пусть только и в ISQL уверен, что куча людей выполняют скрипты обновления через компоненты доступа. Они тебя побьют камнями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:17 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
понял, бесперспективно. Хотя в ISQL можно сделать отдельные команды (только не CONNECT), которые позволяли бы делать эти действия. А что касается других инструментов (типа IBEScript), то они если захотят реализуют у себя аналоги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 10:31 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, IMHO, твой вариант с ALTER не совсем уж безнадежен. Просто не надо действовать нахрапом, надо тщательно обдумать все нюансы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 11:02 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
dimitr, нахрапом и не собираюсь, потому и решил обсудить здесь прежде чем в трекер писать. Основная идея заключалась в том чтобы отрубить всех кроме себя и не позволять подсоединятся другим пока выполняется мой скрипт. Код: sql 1. 2. 3. в начале скрипта позволяет сделать первую часть, но не гарантирует что посереди выполнения моего скрипта кто нибудь не влезет и не обломит его. Сейчас для этого есть штатный механизм gfix -shut single -force 0, но для него требуется дополнительно перед накаткой скрипта подсоединяться к сервису. Кроме того после его накатки необходимо присоединиться ещё раз чтобы вернуть базу в ONLINE. dimitrчто делать с ранее закешированными этим коннектом объектами, незакоммиченными транзакциями и т.д. транзакции откатывать и сбрасывать кэш метаданных (если это возможно) P.S. Идея возникла не на пустом месте, а из того как это реализовано в Oracle (хотя там это не для того чтобы накатывать обновления). Вот и подумалось, что у нас можно сделать примерно такое же. Ну про нюансы я конечно не подумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 11:33 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денистранзакции откатывать и сбрасывать кэш метаданных (если это возможно) вариант с ССЗБ лично мне нравится больше :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 11:52 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов Денисdimitrчто делать с ранее закешированными этим коннектом объектами, незакоммиченными транзакциями и т.д. транзакции откатывать и сбрасывать кэш метаданных (если это возможно) P.S. Идея возникла не на пустом месте, а из того как это реализовано в Oracle (хотя там это не для того чтобы накатывать обновления). Вот и подумалось, что у нас можно сделать примерно такое же. Ну про нюансы я конечно не подумал. так в оракле проще по причине того что любое изменение метаданных = commit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 11:53 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
dimitrвариант с ССЗБ лично мне нравится больше :-) Кстати да. На первый взгляд это ничем не грозит. Просто оператор ALTER DATABSAE SHUTDOWN не выполнится и бросит ошибку, а дальнейший скрипт если он не может выполнится не выполнится, т.е. будет вести себя так как будто этого оператора и не было. NikolayV81так в оракле проще по причине того что любое изменение метаданных = commit для FB пофиг, ибо даже если сделать также (SET AUTODDL ON), то всё равно для метаданных в ISQL стартуется отдельная транзакция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 12:22 |
|
||
|
shutdown/online из скрипта
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисNikolayV81так в оракле проще по причине того что любое изменение метаданных = commit для FB пофиг, ибо даже если сделать также (SET AUTODDL ON), то всё равно для метаданных в ISQL стартуется отдельная транзакция. Ну так это реализация isql, у оракла же сервер сам изменения метаданных в транзакции не оборачивает, и проще как раз с точки зрения того как такие вещи реализуются на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 12:29 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38685494&tid=1563488]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 557ms |

| 0 / 0 |
