|
|
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Сразу прошу не пинать sybase вижу в первый раз. Поэтому уровень подготовки наверное ясен. Но есть задача и ее нужно решить. Есть 2 сервера - основной и резервный. ASE 12.5 + win2003. На основном идет работа, на втором резерв. Задача с интервалом в 20 минут синхронизировать базы. Перерыл весь форум, склоняюсь к батникам. Просто других доступных вариантов не вижу. Подскажите пож-та, кто решал подобную задачу - как это реализовать. Заранее огромное всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 18:46 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
можно репликацию настроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 23:14 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
1 вариант: log shipping, внешним скриптом по расписанию делать дамп журнала транзакций и копировать на резервный сервер (наверно это под батником имели в виду?) 2 вариант: ASE Replicator (java-приложение, входит в состав ASE 12.5). Мороки много. 3 вариант: купить Replication Server, настроить либо выборочную репликацию нужных таблиц, либо базы в целом (warm standby). Совсем не для начинающих, и стоит прилично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 03:44 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Если, знаете какие конкретно таблицы нужно проливать. То можно использовать DTS в нём настроить проливку данных из похожих таблиц (скриптами) ! Повесить на шедулер. Dts ставится по умолчанию с MSSQL -2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 11:16 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
автор1 вариант: log shipping, внешним скриптом по расписанию делать дамп журнала транзакций и копировать на резервный сервер (наверно это под батником имели в виду?) база не большая - около 10 ГБ, поэтому хотелось бы делать полный бэкап всей базы, а не только транзакций, хотя может я и не прав. Осознал что вопрос не совсем корректно задал - исправляюсь. Что бы хотелось видеть: 1. Бат файл запуск котрого позволяет провести ВЫГРУЗКУ базы в файл в опр каталог с опр именем 2. Бат файл запуск котрого позволяет провести ЗАГРУЗКУ базы в файл в опр каталог с опр именем 3. соответственно эти батники находятся на разных серверах - 1 на основном, 2 на резервном. Вызывать их хочу виндовым шедулером. Просто есть софт, сейчас бэкап идет руками - напрягает, плюс руководство хочет уменьшить интервал простоя в случае краха до 20 мин потеряной информации. С sybase разбираться нет времени, да и не пригодится мне это как сисадмину никогда. Поэтому уж выручайте пож-та. Подскажите как эти батники написать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 16:19 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
P.S. под Бат файлом подразумевается ***.bat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 16:21 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Для выгрузки: Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 18:02 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
C:\sybase\sqladv-12_5\sqladv.exe -Sимя_сервера -Usa -Pпароль -G -ic:\имя_файла.sql Содержание имя_файла.sql declare @NowDay char(2), @NowMonth char(2), @Path varchar(255) if datepart(day,getdate())<10 select @NowDay = "0" + convert(char(1),datepart(day,getdate())) else select @NowDay = convert(char(2),datepart(day,getdate())) if datepart(month,getdate())<10 select @NowMonth = '0' + convert(char(1),datepart(month,getdate())) else select @NowMonth = convert(char(2),datepart(month,getdate())) select @Path = 'compress::6::c:\Sybase\Dump\Имя_базы'+ @NowDay + @NowMonth +'.dmp' dump database Имя_базы to @Path ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 18:51 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Андрей2005база не большая - около 10 ГБ, поэтому хотелось бы делать полный бэкап всей базы, а не только транзакций, хотя может я и не прав. Просто есть софт, сейчас бэкап идет руками - напрягает, плюс руководство хочет уменьшить интервал простоя в случае краха до 20 мин потеряной информации. С sybase разбираться нет времени, да и не пригодится мне это как сисадмину никогда. Поэтому уж выручайте пож-та. Подскажите как эти батники написать :) Уточните: важно время простоя или потеря данных не более чем за последние 20 минут? Это разные вещи. Если первое, то это репликация. Если второе, то обычный бэкап. Проясните ещё: ответственность за восстановление базы тоже на вас? Лучше тогда потратить время на изучение вопроса или отказаться от этой задачи. Написание батника вовсе не самое сложное. Это с микрософтовским SQL сервером средний сисадмин может справиться, а для ASE нужен присмотр DBA. (и кстати, bcp на живом сервере не подходит, слишком просто несогласованные данные получить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 04:38 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
авторC:\sybase\sqladv-12_5\sqladv.exe -Sимя_сервера -Usa -Pпароль -G -ic:\имя_файла.sql Содержание имя_файла.sql declare @NowDay char(2), @NowMonth char(2), @Path varchar(255) if datepart(day,getdate())<10 select @NowDay = "0" + convert(char(1),datepart(day,getdate())) else select @NowDay = convert(char(2),datepart(day,getdate())) if datepart(month,getdate())<10 select @NowMonth = '0' + convert(char(1),datepart(month,getdate())) else select @NowMonth = convert(char(2),datepart(month,getdate())) select @Path = 'compress::6::c:\Sybase\Dump\Имя_базы'+ @NowDay + @NowMonth +'.dmp' dump database Имя_базы to @Path Спасибо огромное, сделал, дамп получился. На второй сервер перебросил, а как дамп загрузить не знаю. И вообще, чем дамп от выгрузки отличается? авторУточните: важно время простоя или потеря данных не более чем за последние 20 минут? Это разные вещи. Если первое, то это репликация. Если второе, то обычный бэкап. Желательно и то и другое, но первичней данные - т.е. бэкап авторПроясните ещё: ответственность за восстановление базы тоже на вас? Лучше тогда потратить время на изучение вопроса или отказаться от этой задачи. Написание батника вовсе не самое сложное. Это с микрософтовским SQL сервером средний сисадмин может справиться, а для ASE нужен присмотр DBA. Восстановление тоже на мне, т.е. я должен организовать процесс переноса базы с одного сервера на другой по описанному выше алгоритму. автора для ASE нужен присмотр DBAЗнать бы где найти такого человека .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:44 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Андрей2005Спасибо огромное, сделал, дамп получился. На второй сервер перебросил, а как дамп загрузить не знаю. И вообще, чем дамп от выгрузки отличается? Загрузить дамп нужно с помощью команды load, примерно так load database Имя_базы from @Path база на резервном сервере должна быть создана (можно с параметром for load) дамп - это полная копия БД, со всеми объектами и данными. для работоспособности работы Вашего приложения с БД на резервном сервере может еще понадобится перенос login с основного сервера. Если это критично - сообщите, поищу процедурку переноса логинов. если вы собираетесь делать дампы 10ГБ БД каждые 20 мин - могут возникнуть проблемы с производительностью, лучше все-таки делать дамп лога, а полную базу накатывать раз-два в день. если что - мой icq 462355421 Модератор: 2 Владислав Ромащенко: учимся цитировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:18 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Владислав Ромащенкодля работоспособности работы Вашего приложения с БД на резервном сервере может еще понадобится перенос login с основного сервера. Если это критично - сообщите, поищу процедурку переноса логинов. А как насчет переноса не только логинов но и ПАРОЛЕЙ? Есть какие-то сердства, кроме выгрузки системной таблицы syslogins через bcp c основного сервера и апдейта соответствующей таблицы на резервном? Столкнулись с ситуацией, когда основной и резервный сервер имеют разную архитектуру процессора (например AMD Opteron x86_64 и Intel XENON x86), то хэши паролей не подходят -- соответственно все пароли слетают и резервный сервер теряет свой смысл быстрой подмены :( P.S. Ответ, наверное, отрицательный но теплится слабая надежда: а вдруг есть чудодейственный способ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 23:33 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Vitafresh Владислав Ромащенкодля работоспособности работы Вашего приложения с БД на резервном сервере может еще понадобится перенос login с основного сервера. Если это критично - сообщите, поищу процедурку переноса логинов. А как насчет переноса не только логинов но и ПАРОЛЕЙ? Есть какие-то сердства, кроме выгрузки системной таблицы syslogins через bcp c основного сервера и апдейта соответствующей таблицы на резервном? Столкнулись с ситуацией, когда основной и резервный сервер имеют разную архитектуру процессора (например AMD Opteron x86_64 и Intel XENON x86), то хэши паролей не подходят -- соответственно все пароли слетают и резервный сервер теряет свой смысл быстрой подмены :( P.S. Ответ, наверное, отрицательный но теплится слабая надежда: а вдруг есть чудодейственный способ... Сейчас же Новый год :) Чудеса случаются :) bcp master.dbo.syslogins out syslogins.txt -c -t@# -r@#$\n -STOffice -Usa -P"" -esyslogins.err -Jcp1251 (нашел тут на сайте) получаете текстовый файл, потом желательно из этого текстового файла удалить запись sa - а остальное через isql или еще что загрузить. У нас такое срабатывает. может быть вопрос с кодировкой - тогда пишите, буду вспоминать как мы это обходили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 10:26 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Владислав Ромащенко получаете текстовый файл, потом желательно из этого текстового файла удалить запись sa - а остальное через isql или еще что загрузить. "остальное" загружается только через ту же BCP логин sa удалять по-любому, иначе синхронизируете пароль sa у серверов можно выгружать в бинарном виде, из вьюшки, которая "смотрит" на master..syslogins и "не видит" логина sa бинарный перенос пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 11:10 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Для переноса непосредственно логинов на основном сервере генерятся скрипты, которые потом применяются на резервном, что-то вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. А вот для синхронизации паролей на основном сервере: 1. Выбираем логины с паролями во временную табличку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 2. Выгружаем с помощью bcp Код: plaintext На резервном сервере: 1.Загружаем во временную табличку Код: plaintext 2. Апдейтим пароли Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Так вот если оба сервера одинаковой архитектуры, то все работает прекрасно. А вот если нет, то пароли "слетают", т.е. хэши паролей не подходят, причем даже если на обоих серверах одинаковая операционная система но с разной разрядностью (например, RedHat x86 и RedHat x86_64). Вот я и решил узнать насчет других "чудодейственных" методов окромя bcp, ведь не может быть, чтобы никто не озадачивался переводом своих серверов на новую платформу с переносом всех пользователей... komrad бинарный перенос пробовали? Что имеется в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 12:56 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Vitafresh Вот я и решил узнать насчет других "чудодейственных" методов окромя bcp, ведь не может быть, чтобы никто не озадачивался переводом своих серверов на новую платформу с переносом всех пользователей... komrad бинарный перенос пробовали? Что имеется в виду? имеется ввиду ключ -n (вместо -с), но он в данном случае не подходит - только что освежил в голове мануал еще идея: поднять в базу test на новом сервере бекап базы master с исходного - хэши должны конвертнуться под новую платформу (имхо) как база отресторится, перенести данные либо insert-ом, либо bcp out/in ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 14:44 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
komrad Vitafresh Вот я и решил узнать насчет других "чудодейственных" методов окромя bcp, ведь не может быть, чтобы никто не озадачивался переводом своих серверов на новую платформу с переносом всех пользователей... komrad бинарный перенос пробовали? Что имеется в виду? имеется ввиду ключ -n (вместо -с), но он в данном случае не подходит - только что освежил в голове мануал еще идея: поднять в базу test на новом сервере бекап базы master с исходного - хэши должны конвертнуться под новую платформу (имхо) как база отресторится, перенести данные либо insert-ом, либо bcp out/in + первая производная от идеи: если базу master сервер откажется поднимать куда-либо принципиально, то на исходном сервере создать базу test, скопировать туда таблицу master..syslogins, забекапить базу test, перенести дампом на новый сервер и там уже перелить в новый master..syslogins необходимых пользователей и их пароли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 14:47 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Проверил обе идеи. В первом случае база master хоть и затянулась в temp2, но без всех системных таблиц ей присущих (syslogins, sysroles и т.п.) А во втором случае со скопированной табличкой master..syslogins тоже все поднимается, но поле password varbinary(30) никак не конвертится, остается в неизменном виде. Так что, наверное, придется распрощаться с мечтой о переносе юзеровских паролей и поступить как советуют товарищи по оружию (Олегу привет :-) ) А именно: в административном порядке по звонку менять пароль и открывать доступ юзерам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2007, 12:38 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
можно еще подправить sp_addlogin чтобы она сохраняла пароль и логин в стороннюю табличку, которая позволит нагенерить скрипт на изменение паролей... хотя конечно дырка в безопасности :) и из перечня "сохраняемых" логинов убрать логины администраторов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 11:50 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
Интересный вариант... Но, наверное, я все-таки своими грязными лапами не буду лезть в системные процедуры :) Не дает нам Sybase средств для цивилизованного переноса -- будут логины на рабочем сервере жить своей жизнью, а на архивном -- своей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 17:45 |
|
||
|
Спецы ВЫРУЧАЙТЕ зеркалироавние базы
|
|||
|---|---|---|---|
|
#18+
0rcможно еще подправить sp_addlogin чтобы она сохраняла пароль и логин в стороннюю табличку, которая позволит нагенерить скрипт на изменение паролей... хотя конечно дырка в безопасности :) и из перечня "сохраняемых" логинов убрать логины администраторов Кстати, даже этот вариант не прокатывает в случае, если после заведения пользователя клиентское приложение при первом входе предлагает сменить пароль (а именно так в большинстве случаев и происходит). И если пароль меняется не системной процедурой sp_password, а непосредственным вызовом функции Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 11:38 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35034555&tid=2011734]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 486ms |

| 0 / 0 |
