2016-07-04 2 views
0

У меня есть несколько экземпляров сервера DB2 10.5, работающих на одной физической машине Linux, назовите их INST1 и INST2.Схемы привязки DB2 по нескольким экземплярам

Все они содержат множество схем, однако схема присвоения имен является уникальным accross вся машина, например INST1_SCHEMA_A, INST2_SCHEMA_A т.д.

То, что я хотел бы сделать, это каким-то образом создать пользователя, который может получить доступ все из этих схем, так как они были на одном экземпляре, так что можно было бы сделать запросы, как: SELECT, ID иЗ INST1_SCHEMA_A UNION ВЫБРАТЬ ID иЗ INST2_SCHEMA_A

Как я могу добиться этого? Должен ли я просто связывать базы данных и схемы псевдонимов?

ответ

3

Федерация

это ключевое слово для вашего запроса. DB2 LUW для DB2 LUW входит в лицензию, и это может быть сделано в нескольких базах данных - неважно, находятся ли они в одном экземпляре, другой экземпляр на том же сервере или даже на другом сервере.

Установите FEDERATED = YES в DBM CFG, определите сервер и настройте псевдонимы для удаленных таблиц. Для получения дополнительной информации см. Это article или это one или Центр знаний IBM.

+0

Для доступа к другому экземпляру необходимо определить SERVER как localhost. Вы даже можете получить доступ к другой базе данных в том же экземпляре с федерацией. – AngocA

+0

Спасибо, я переключил и настроил режим FEDERATED. Почти все работает. Единственное, что я не знаю, как настроить, - это последовательности - как создать CREATE NICKNAME для них, если 'db2 CREATE NICKNAME SCHEMA.SEQ_NAME для SERVER_NAME.SCHEMA.SEQ_NAME' говорит' SQL0204N "SERVER_NAME.SCHEMA.SEQ_NAME" - это неопределенное имя. SQLSTATE = 42704'? – user2444265

Смежные вопросы