powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Warm Standby
5 сообщений из 5, страница 1 из 1
Warm Standby
    #32438078
Имел ли кто-нибудь дело с Warm Standby.
Объясните, вкратце плиз, чем эта схема отличается от обычной репликации...
Нужно ли там создавать replication definition, subscriptions?...
Насколько трудно настраивать и поддерживать такую схему?
Буду благодарна за любые ответы.
...
Рейтинг: 0 / 0
Warm Standby
    #32438228
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как следует из названия ( Warm Standby - горячий резерв ) - это схема репликации для ASE, при которой происходит полная синхронизация базы данных ( всех таблиц) между различными серверам ASE. Главное отличие от репликации отдельных таблиц (replication definition, subscriptions) - реплицируются операторы DDL, т.е. все изменения в схеме БД ( Alter, DROP,)
. Единственное неудобство - логины между различными серверами ( master..syslogins ) нужно синхронизировать либо руками, либо через CIS, либо BCP
...
Рейтинг: 0 / 0
Warm Standby
    #32438235
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создание горячего резерва БД ( Warm standby )

1. Описание объектов репликационной системы, которые будут рассмотрены в приводимых примерах данного документа

Titus_rs Репликационный сервер
Everest Активный сервер баз данных ASE
fincom Активная база данных, расположенная на сервере Everest
Everest_warm Резервный сервер баз данных ASE
fincom Резервная база данных, расположенная на сервере Everest_warm


2. Подготовка репликационной системы.
2.1. Установите репликационный сервер. При наличии соответствующих технических условий, выделите для установки сервера отдельный компьютер, если таких возможностей нет, то установите сервер на том компьютере, где у вас будет размещаться резервный сервер баз данных.
2.2. Подготовьте оба сервера баз данных для репликации.
Проверьте, включены ли следующие параметры ASE
- enable rep agent threads = 1
- enable cis = 1

Проверьте, что каждый из серверов связан со своим объектом server class ( имеет соответствующую запись в таблице sysservers)
> select @@servername
Если значение системной переменной @@servername равно NULL, то установите имя сервера через утилиту Sybase Central ( папка Remote Servers ) или через команду sp_addserver

sp_addserver server_name [,server_class [,network_name]], где

server_name – Имя для идентификации сервера ASE. Должно быть указано в том же регистре, что и соответствующая запись в интерфейсном файле
server_class – Класс сервера. Должен быть указан один из определенных в ASE ключевых классов. Для установки локального сервера этот параметр должен быть равен local.
network_name - Сетевое имя сервера из интерфейсного файла. Если server_class равен local, то этот параметр можно не указывать

Пример. Установка локального имени сервера Everest
isql –Usa –P –SEverest
>sp_addserver ‘Everest’, local
>go

После добавления или изменения локального имени сервера, ASE необходимо перезагрузить !

Проверьте, что оба сервера баз данных имеют в своем интерфейсном файле запись о месте расположения репликационного сервера.

3. Создание логического соединения ( logical Connection )
Логическое соединение – это символическое имя, которое идентифицирует пару активный/резервный сервер в формате <сервер баз данных>.<база данных>.
Именем <сервер баз данных> в логическом соединении может быть:
> имя активного сервера – Если у вас уже имеется репликация базы данных, для которой вы хотите построить горячий резерв
> имя резервного сервера
> произвольное имя
Создание логического соединения можно выполнить через Sybase Central ( папка Logical connections ) или из командной строки


Пример. Создание логического соединения c произвольным именем Logic_Fincom из командной строки:
Isql –Usa –P –STitus_rs
> create logical connection to Logic_Fincom.Fincom
> go

4. Создание физического соединения (Physical connection ) с активной базой данных
4.1. Запустите утилиту rs_init
4.2. “Configure a Server Product” - <Continue>
4.3. “Replication Server” - <Continue>
4.4. “Add a database at replication system” - <Continue>
4.5. “Replication server information” - <Continue>
4.6. “Replication server name” – Titus_rs
4.7. Введите пароль для RS SA - <Continue>
4.8. “Database information” - <Continue>
Параметр Значение
SQL server name Everest
SA user sa
SA password
Database name Fincom
Will the database be replicated ? Yes
Maintenance user Maint
Maintenance password <укажите пароль для пользователя maint>
Is this a Physical connection for existing Logical Connection ? Yes

4.9. Logical DB setup - <Continue>
Параметр Значение
Is this an Active Connection or Standby Connection Active
Logical DS Name Logic_Fincom
Logical DB Name Fincom
< continue>
4.10 Проверьте имя и пароль репликационного агента (Database Replication agent ).
4.11 Нажмите <Continue>. На вопрос «Execute the replication server task now ?» ответьте Yes
В процессе создания физического соединения выдаются следующие предупреждения:
Ш "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Ш "Application 'sybinit' is using character set 'cp850', but the Replication Server is using character set 'cp1251'. Because the character sets are different, character set conversion problems may occur."
Это нормальный сообщения, просто нажимайте «Continue» для продолжения

4.12 После получения сообщения об успешном выполнении задачи, выйдите из программы rs_init

5. Создание резервной БД
Для эффективной работы в режиме горячей копии обе базы данных должны быть идентичны – устройства и размеры этих устройств должны совпадать на обоих серверах.
Постройте резервную базу данных и перенесите дамп активной базы.

6. Значение suid для maintenance login
При работе в режиме warm standby, репликационный сервер использует не имя учетной записи для maintenance login, а его код ( колонка suid из таблицы syslogins ). Поэтому необходимо перенести логин для учетной записи maint с активного сервера на резервный с тем же кодом suid через утилиту bcp или постараться создать на резервном сервере учетную запись с таким же кодом, пользуясь Sybase Central

Isql –Usa –P –Severest
Ш select suid, name from syslogins


isql –Usa –P –Severest_warm
>select suid, name from syslogins


7. Создание физического соединения (Physical connection ) с резервной базой данных
7.1. Запустите утилиту rs_init
7.2. “Configure a Server Product” - <Continue>
7.3. “Replication Server” - <Continue>
7.4. “Add a database at replication system” - <Continue>
7.5. “Replication server information” - <Continue>
7.6. “Replication server name” – Titus_rs
7.7. Введите пароль для RS SA - <Continue>
7.8. “Database information” - <Continue>
Параметр Значение
SQL server name Everest_warm
SA user Sa
SA password
Database name Fincom
Will the database be replicated ? Yes
Maintenance user Maint
Maintenance password <укажите пароль для пользователя maint>
Is this a Physical connection for existing Logical Connection ? Yes

7.9. Logical DB setup - <Continue>
Параметр Значение
Is this an Active Connection or Standby Connection Standby
Logical DS Name Logic_Fincom
Logical DB Name Fincom
Active DS Name Everest
Active DB Name Fincom
Active DB sa password <пароль администратора >
< continue>
7.10 Проверьте имя и пароль репликационного агента (Database Replication agent ).
7.11 Нажмите <Continue>. На вопрос «Execute the replication server task now ?» ответьте Yes
В процессе создания физического соединения выдаются следующие предупреждения:
Ш "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Ш "Application 'sybinit' is using character set 'cp850', but the Replication Server is using character set 'cp1251'. Because the character sets are different, character set conversion problems may occur."
Это нормальный сообщения, просто нажимайте «Continue» для продолжения

7.12 После получения сообщения об успешном выполнении задачи, выйдите из программы rs_init

8. Установка режима warm standby в активной БД
Isql –Usa –P –Severest
1> use Fincom
2> go
3> sp_reptostandby Fincom, ‘all’
4> go

9. Права на доступ к объектам в резервной БД для пользователя maint
Напишите скрипт для выдачу всех прав для пользователя maint в резервной БД для всех таблиц
Ш grant all on <имя таблицы> to maint
Сгенерить такой скрипт можно с помощью команды:
select 'grant all on ' + name + ' to maint' from <имя резервной БД>..sysobjects where type = 'U'


10. Перезапустите соединения для обоих серверов на репликационном сервере с помощью Sybase Central (папка Connection->правый клик мыши на выбранном соединении -> Resume) или из Isql

Isql –Usa –P –Stitus_rs
> resume connection to Everest.Fincom
> go
> resume connection to Everest_warm.Fincom
> go
...
Рейтинг: 0 / 0
Warm Standby
    #32438252
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создание горячего резерва БД ( Warm standby )

1. Описание объектов репликационной системы, которые будут рассмотрены в приводимых примерах данного документа

Titus_rs Репликационный сервер
Everest Активный сервер баз данных ASE
fincom Активная база данных, расположенная на сервере Everest
Everest_warm Резервный сервер баз данных ASE
fincom Резервная база данных, расположенная на сервере Everest_warm


2. Подготовка репликационной системы.
2.1. Установите репликационный сервер. При наличии соответствующих технических условий, выделите для установки сервера отдельный компьютер, если таких возможностей нет, то установите сервер на том компьютере, где у вас будет размещаться резервный сервер баз данных.
2.2. Подготовьте оба сервера баз данных для репликации.
Проверьте, включены ли следующие параметры ASE
- enable rep agent threads = 1
- enable cis = 1

Проверьте, что каждый из серверов связан со своим объектом server class ( имеет соответствующую запись в таблице sysservers)
> select @@servername
Если значение системной переменной @@servername равно NULL, то установите имя сервера через утилиту Sybase Central ( папка Remote Servers ) или через команду sp_addserver

sp_addserver server_name [,server_class [,network_name]], где

server_name – Имя для идентификации сервера ASE. Должно быть указано в том же регистре, что и соответствующая запись в интерфейсном файле
server_class – Класс сервера. Должен быть указан один из определенных в ASE ключевых классов. Для установки локального сервера этот параметр должен быть равен local.
network_name - Сетевое имя сервера из интерфейсного файла. Если server_class равен local, то этот параметр можно не указывать

Пример. Установка локального имени сервера Everest
isql –Usa –P –SEverest
>sp_addserver ‘Everest’, local
>go

После добавления или изменения локального имени сервера, ASE необходимо перезагрузить !

Проверьте, что оба сервера баз данных имеют в своем интерфейсном файле запись о месте расположения репликационного сервера.

3. Создание логического соединения ( logical Connection )
Логическое соединение – это символическое имя, которое идентифицирует пару активный/резервный сервер в формате <сервер баз данных>.<база данных>.
Именем <сервер баз данных> в логическом соединении может быть:
> имя активного сервера – Если у вас уже имеется репликация базы данных, для которой вы хотите построить горячий резерв
> имя резервного сервера
> произвольное имя
Создание логического соединения можно выполнить через Sybase Central ( папка Logical connections ) или из командной строки


Пример. Создание логического соединения c произвольным именем Logic_Fincom из командной строки:
Isql –Usa –P –STitus_rs
> create logical connection to Logic_Fincom.Fincom
> go

4. Создание физического соединения (Physical connection ) с активной базой данных
4.1. Запустите утилиту rs_init
4.2. “Configure a Server Product” - <Continue>
4.3. “Replication Server” - <Continue>
4.4. “Add a database at replication system” - <Continue>
4.5. “Replication server information” - <Continue>
4.6. “Replication server name” – Titus_rs
4.7. Введите пароль для RS SA - <Continue>
4.8. “Database information” - <Continue>
Параметр Значение
SQL server name Everest
SA user sa
SA password
Database name Fincom
Will the database be replicated ? Yes
Maintenance user Maint
Maintenance password <укажите пароль для пользователя maint>
Is this a Physical connection for existing Logical Connection ? Yes

4.9. Logical DB setup - <Continue>
Параметр Значение
Is this an Active Connection or Standby Connection Active
Logical DS Name Logic_Fincom
Logical DB Name Fincom
< continue>
4.10 Проверьте имя и пароль репликационного агента (Database Replication agent ).
4.11 Нажмите <Continue>. На вопрос «Execute the replication server task now ?» ответьте Yes
В процессе создания физического соединения выдаются следующие предупреждения:
Ш "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Ш "Application 'sybinit' is using character set 'cp850', but the Replication Server is using character set 'cp1251'. Because the character sets are different, character set conversion problems may occur."
Это нормальный сообщения, просто нажимайте «Continue» для продолжения

4.12 После получения сообщения об успешном выполнении задачи, выйдите из программы rs_init

5. Создание резервной БД
Для эффективной работы в режиме горячей копии обе базы данных должны быть идентичны – устройства и размеры этих устройств должны совпадать на обоих серверах.
Постройте резервную базу данных и перенесите дамп активной базы.

6. Значение suid для maintenance login
При работе в режиме warm standby, репликационный сервер использует не имя учетной записи для maintenance login, а его код ( колонка suid из таблицы syslogins ). Поэтому необходимо перенести логин для учетной записи maint с активного сервера на резервный с тем же кодом suid через утилиту bcp или постараться создать на резервном сервере учетную запись с таким же кодом, пользуясь Sybase Central

Isql –Usa –P –Severest
Ш select suid, name from syslogins


isql –Usa –P –Severest_warm
>select suid, name from syslogins


7. Создание физического соединения (Physical connection ) с резервной базой данных
7.1. Запустите утилиту rs_init
7.2. “Configure a Server Product” - <Continue>
7.3. “Replication Server” - <Continue>
7.4. “Add a database at replication system” - <Continue>
7.5. “Replication server information” - <Continue>
7.6. “Replication server name” – Titus_rs
7.7. Введите пароль для RS SA - <Continue>
7.8. “Database information” - <Continue>
Параметр Значение
SQL server name Everest_warm
SA user Sa
SA password
Database name Fincom
Will the database be replicated ? Yes
Maintenance user Maint
Maintenance password <укажите пароль для пользователя maint>
Is this a Physical connection for existing Logical Connection ? Yes

7.9. Logical DB setup - <Continue>
Параметр Значение
Is this an Active Connection or Standby Connection Standby
Logical DS Name Logic_Fincom
Logical DB Name Fincom
Active DS Name Everest
Active DB Name Fincom
Active DB sa password <пароль администратора >
< continue>
7.10 Проверьте имя и пароль репликационного агента (Database Replication agent ).
7.11 Нажмите <Continue>. На вопрос «Execute the replication server task now ?» ответьте Yes
В процессе создания физического соединения выдаются следующие предупреждения:
Ш "The replication status for 'rs_lastcommit' is already set to false. Replication status for 'rs_lastcommit' does not change."
Ш "Application 'sybinit' is using character set 'cp850', but the Replication Server is using character set 'cp1251'. Because the character sets are different, character set conversion problems may occur."
Это нормальный сообщения, просто нажимайте «Continue» для продолжения

7.12 После получения сообщения об успешном выполнении задачи, выйдите из программы rs_init

8. Установка режима warm standby в активной БД
Isql –Usa –P –Severest
1> use Fincom
2> go
3> sp_reptostandby Fincom, ‘all’
4> go

9. Права на доступ к объектам в резервной БД для пользователя maint
Напишите скрипт для выдачу всех прав для пользователя maint в резервной БД для всех таблиц
Ш grant all on <имя таблицы> to maint
Сгенерить такой скрипт можно с помощью команды:
select 'grant all on ' + name + ' to maint' from <имя резервной БД>..sysobjects where type = 'U'


10. Перезапустите соединения для обоих серверов на репликационном сервере с помощью Sybase Central (папка Connection->правый клик мыши на выбранном соединении -> Resume) или из Isql

Isql –Usa –P –Stitus_rs
> resume connection to Everest.Fincom
> go
> resume connection to Everest_warm.Fincom
> go
...
Рейтинг: 0 / 0
Warm Standby
    #32439035
Большое спасибо! :-)
Обязательно попробую!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Warm Standby
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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