Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Всем доброго. Есть 2 сервера, один основной, активен постоянно, на нём работают пользователи, Oracle 11.2. На второй будет переключение во время сбоев или профилактики, Oracle 10.2. Пытаюсь настроить репликацию, создал админа, выполнил скрипт, взятый из админа 10,2, но видимо чего то не хватает. Какие роли необходимо дать ему в 11 версии?
1 июн 11, 13:09    [10744787]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

0. Какую репликацию пытаетесь настроить?
1. На каком сервере возникают вопросы?
2. Какой скрипт пытались выполнить, откуда вы его взяли?
3. Откуда ощущение, что чего-то не хватает?
1 июн 11, 14:01    [10745414]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
GL
neperap,

0. Какую репликацию пытаетесь настроить?
1. На каком сервере возникают вопросы?
2. Какой скрипт пытались выполнить, откуда вы его взяли?
3. Откуда ощущение, что чего-то не хватает?


0. Advanced replication, изначально хотел изучить стрим, но времени нет, оставлю на потом.
1. Вопросы возникают на всех серверах. Ошибка при создании Master Group
error - java.sql.SQLException: ORA-23374: группа объектов "PUBLIC"."OPREP" уже существует ORA-06512: на "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: на "SYS.DBMS_REPCAT_MAS", line 798 ORA-06512: на "SYS.DBMS_REPCAT", line 548 ORA-06512: на line 1
2. Скрипт взял с существующего юзера repadmin на другой базе, её поднимали до меня
CREATE USER REPADMIN
  IDENTIFIED BY <password>
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for REPADMIN 
  GRANT SELECT_CATALOG_ROLE TO REPADMIN;
  GRANT CONNECT TO REPADMIN;
  ALTER USER REPADMIN DEFAULT ROLE ALL;
  -- 47 System Privileges for REPADMIN 
  GRANT CREATE ANY MATERIALIZED VIEW TO REPADMIN;
  GRANT DROP ANY SYNONYM TO REPADMIN;
  GRANT DROP ANY INDEX TO REPADMIN;
  GRANT DROP ANY CLUSTER TO REPADMIN;
  GRANT CREATE ANY CLUSTER TO REPADMIN;
  GRANT ALTER ANY MATERIALIZED VIEW TO REPADMIN;
  GRANT DROP ANY TRIGGER TO REPADMIN;
  GRANT DROP ANY PROCEDURE TO REPADMIN;
  GRANT DROP ANY SEQUENCE TO REPADMIN;
  GRANT DROP ANY VIEW TO REPADMIN;
  GRANT CREATE PUBLIC SYNONYM TO REPADMIN;
  GRANT UNLIMITED TABLESPACE TO REPADMIN;
  GRANT CREATE ANY TYPE TO REPADMIN;
  GRANT DROP ANY MATERIALIZED VIEW TO REPADMIN;
  GRANT EXECUTE ANY PROCEDURE TO REPADMIN;
  GRANT CREATE ANY SEQUENCE TO REPADMIN;
  GRANT DROP PUBLIC SYNONYM TO REPADMIN;
  GRANT ALTER ANY INDEX TO REPADMIN;
  GRANT ALTER SESSION TO REPADMIN;
  GRANT ALTER ANY TRIGGER TO REPADMIN;
  GRANT ALTER ANY TABLE TO REPADMIN;
  GRANT SELECT ANY DICTIONARY TO REPADMIN;
  GRANT CREATE ANY INDEXTYPE TO REPADMIN;
  GRANT DROP ANY TYPE TO REPADMIN;
  GRANT ALTER ANY TYPE TO REPADMIN;
  GRANT CREATE DATABASE LINK TO REPADMIN;
  GRANT CREATE ANY INDEX TO REPADMIN;
  GRANT ALTER ANY CLUSTER TO REPADMIN;
  GRANT INSERT ANY TABLE TO REPADMIN;
  GRANT CREATE ANY TRIGGER TO REPADMIN;
  GRANT CREATE ANY PROCEDURE TO REPADMIN;
  GRANT CREATE PROCEDURE TO REPADMIN;
  GRANT DELETE ANY TABLE TO REPADMIN;
  GRANT CREATE SESSION TO REPADMIN;
  GRANT DROP ANY INDEXTYPE TO REPADMIN;
  GRANT DROP ANY OPERATOR TO REPADMIN;
  GRANT CREATE ANY OPERATOR TO REPADMIN;
  GRANT CREATE ANY SYNONYM TO REPADMIN;
  GRANT UPDATE ANY TABLE TO REPADMIN;
  GRANT DROP ANY TABLE TO REPADMIN;
  GRANT ALTER ANY PROCEDURE TO REPADMIN;
  GRANT ALTER ANY SEQUENCE TO REPADMIN;
  GRANT CREATE ANY VIEW TO REPADMIN;
  GRANT SELECT ANY TABLE TO REPADMIN;
  GRANT COMMENT ANY TABLE TO REPADMIN;
  GRANT LOCK ANY TABLE TO REPADMIN;
  GRANT CREATE ANY TABLE TO REPADMIN;
  -- 22 Object Privileges for REPADMIN 
    GRANT EXECUTE ON SYS.DBMSOBJGWRAPPER TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_DEFER_INTERNAL_QUERY TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_DEFER_INTERNAL_SYS TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_DEFER_QUERY TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_DEFER_REPCAT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_DEFER_SYS TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_INTERNAL_REPCAT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_OFFLINE_OG TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_OFFLINE_SNAPSHOT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_RECTIFIER_DIFF TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_DECL TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_MAS TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_RGT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_RPC TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_UNTRUSTED TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_REPCAT_UTL TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_SNAPSHOT TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_SNAP_REPAPI TO REPADMIN;
    GRANT EXECUTE ON SYS.DBMS_SYS_ERROR TO REPADMIN;
    GRANT SELECT ON SYS.DEFLOB TO REPADMIN;
    GRANT SELECT ON SYSTEM.DEF$_LOB TO REPADMIN;

3. Из пункта 1.
1 июн 11, 14:23    [10745635]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

У вас "плохой" скрипт. Тут - хороший для 11.2, для десятки - сами найдете.
1 июн 11, 14:57    [10745980]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Вроде бы получилось, но теперь генерация постоянно висит "Doinggen". В административных запросах у принимающего сервера ошибка
generate_internal_pkg_support error

Дблинки работают. Может ли это быть из-за разницы версий? Как победить?
2 июн 11, 08:27    [10749944]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

Посмотрите OEM'ом вовнутрь ошибки - там написана её причина. По крайней мере, иногда...
Если ответ нетривиален, продолжим:

1. Кто у вас MasterDef сайт?
2. Генерация саппорта каких объектов даёт ошибку? Как вы объявляли эти объекты для репликации?
3. Объекты репликации создаёте на существующих объектах или на удалённых базах они создаются автоматически?
2 июн 11, 09:36    [10750217]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
GL
neperap,

Посмотрите OEM'ом вовнутрь ошибки - там написана её причина. По крайней мере, иногда...
Если ответ нетривиален, продолжим:

1. Кто у вас MasterDef сайт?
2. Генерация саппорта каких объектов даёт ошибку? Как вы объявляли эти объекты для репликации?
3. Объекты репликации создаёте на существующих объектах или на удалённых базах они создаются автоматически?


OEM мне сообщает, что An error has occured, see log for more information, а в логах ни намёка на ошибку нет.

1. MasterDef на котором стоит 11,2. Хотя я пробовал и там и там.
2. Генерация таблиц, для репликации объявлены таблицами. Я пока тестирую, не хочется валить всю базу. Гоняю пока 3 таблицы с рандомным заполнением.
3. Таблицы статичные существующие

У меня уже крыша едет. Пытался и скриптами через жабу, и через OEM, и через sqlplus ручками, всё тщетно.
2 июн 11, 09:56    [10750373]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

1. Удалите все ошибки.
2. Удалите репликационную группу НА ВСЕХ СЕРВЕРАХ. Просто выполните скрипт удаления.
3. Пересоздайте таблицы используя один и тот же скрипт на всех серверах. Используя одинаковый порядок следования колонок и без функциональных индексов.
4. Впишите имя своей таблицы и выполните (свой скрипт вы так и не написали):
+
BEGIN
  DBMS_REPCAT.DROP_MASTER_REPGROUP(
    gname => 'TEST',
    drop_contents => FALSE
  );
END;
/

BEGIN
  DBMS_REPCAT.CREATE_MASTER_REPGROUP(
    gname => 'TEST',
    drop_contents => FALSE
  );
END;
/

BEGIN
  DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
    sname => 'TEST',
    oname => 'TEST_TABLE',
    type => 'TABLE',
    use_existing_object => TRUE,
    copy_rows => FALSE,
    gname => 'TEST'
  );
END;
/

BEGIN 
  DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
    sname => 'TEST',
    oname => 'TEST_TABLE', 
    type => 'TABLE',
    generate_80_compatible => false
  ); 
END;
/

BEGIN 
  DBMS_REPCAT.RESUME_MASTER_ACTIVITY(
    gname => 'TEST'
  ); 
END;
/
5. После каждого вызова проверяйте начие административных запросов в очереди и проталкивайте их руками (через OEM). Если возникнет ошибка - пишите на каком сервере и какая. После возникновения ошибок без их устранения продолжать следующие шаги бессмысленно.
2 июн 11, 10:14    [10750523]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
GL,

этот скрипт нужно выполнять от репадмина и на обоих серверах?
2 июн 11, 12:00    [10751348]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Вот какие ошибки лезут

ORA-23313: object group "PUBLIC"."OPREP" is not mastered at OPREP
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_REPCAT_UTL4", line 2869
ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 2660
ORA-06512: at "SYS.DBMS_REPCAT", line 635
ORA-06512: at line 2
Details:
BEGIN
DBMS_REPCAT.DROP_MASTER_REPGROUP(
gname => 'oprep',
drop_contents => FALSE
);
END;
Error at line 1
ORA-23313: object group "PUBLIC"."OPREP" is not mastered at OPREP
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_REPCAT_UTL4", line 2869
ORA-06512: at "SYS.DBMS_REPCAT_MAS", line 2660
ORA-06512: at "SYS.DBMS_REPCAT", line 635
ORA-06512: at line 2
2 июн 11, 12:08    [10751421]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

Скрипт выполнять от имена администратора репликации на мастердеф сайте.

По ссылке, которую я давал раньше, есть не только скрипт создания администратора репликации, но ещё и скрипт создания репгруппы и описание, что какая процедура делает и, главное, зачем. Почитайте, надеюсь, вопросы отпадут. Мой скрипт - это, пожалуй, минимум, чтобы сделать рабочую репликацию на одну таблицу. Если у вас что-то не получается на этом этапе, нужно искать проблемы в вашем понимации сути репликации и механизмов её работы. Но об этом - позже.
2 июн 11, 12:13    [10751468]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Всё делал по той ссылке, чуть ли не копипастой. Суть репликации вроде как понимаю. А что это за ошибки в системных пакетах? Как их исправить можно?
2 июн 11, 12:17    [10751504]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

То, что ругается на drop - это хорошо, значит удалилось чисто ещё до этого вызова =)
Честно говоря, решил, что это вы и сами поймёте...
2 июн 11, 12:19    [10751524]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Не, это понятно, я про следующие ошибки. Они же вываливались и при создании мастер группы через ОЕМ
2 июн 11, 12:23    [10751551]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

Какие ошибки?
Они возникают в процессе выполнения какого-то куска кода (какого?) или в результате сгенерированных им административных запросов (на каком сервере)?

И дайте время последней попытки создать репликацию, а также со всех сайтов
SELECT id, timestamp, request, errnum, message FROM dba_repcatlog WHERE status='ERROR'
2 июн 11, 13:10    [10752029]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Нашёл причину. У меня базы данных имеют одинаковое имя, и получается зацикленный линк. Теперь другой вопрос встал, как безболезненнее и быстрее переименовать базу? Через управляющий файл или дампами?
2 июн 11, 13:39    [10752293]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

DBNEWID
2 июн 11, 13:46    [10752384]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
GL,

всё получилось, базу переименовал, теперь listener потерялся. В listener.ora всё прописано верно, причём прописывал хост и айпишником и имя сервера, служба запущена, но lsnrctl status выдаёт, что его просто нет! netca предлагает только создать новый listener, хотя он уже есть. Создаю через netca, всё успешно, но в Net Manager он не появляется, а служба запускается. Чертовщина какая-то...
2 июн 11, 15:52    [10753828]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

Вариантов "нахождения" "потерянного" листенера масса:

0. lsnrctl start =)
1. Посмотреть глазами в listener.ora (можно и сюда запостить) и поправить что не так.
2. Посмотреть глазами в listener.log (...) и сделать выводы.
3. Дропнуть и создать листенер средствами netca.
4. ...
2 июн 11, 16:11    [10754004]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
GL
neperap,

Вариантов "нахождения" "потерянного" листенера масса:

0. lsnrctl start =)
1. Посмотреть глазами в listener.ora (можно и сюда запостить) и поправить что не так.
2. Посмотреть глазами в listener.log (...) и сделать выводы.
3. Дропнуть и создать листенер средствами netca.
4. ...


0. TNSListener is already running
TNS: protocol adapter error

1. Вот содержимое listener.ora. Ручками там ковырялся, фэйл.
+
# listener.ora Network Configuration File: D:\oracle\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

OPREPORT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.140.114)(PORT = 1521))
)

ADR_BASE_OPREPORT = E:\Base

TRACE_LEVEL_OPREPORT = USER

SID_LIST_OPREPORT =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\oracle)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\bin\oraclr11.dll")
)
)

2. Лог
+
Fatal NI connect error 12541, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.26.140.114)(PORT=1521))(CONNECT_DATA=(SID=oprep)(CID=(PROGRAM=D:\oracle\bin\emagent.exe)(HOST=PCITISCITS)(USER=SYSTEM))))

VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.1.0 - Production
Time: 25-MAY-2011 14:17:00
Tracing not turned on.
Tns error struct:
ns main err code: 12541
TNS-12541: TNS:no listener
ns secondary err code: 12560
nt main err code: 511
TNS-00511: No listener
nt secondary err code: 61
nt OS err code: 0

3. Дропнуть netca не даёт, только создать новый, и он не появляется ни в listener.ora, ни в Net Manager, но в службах винды висит запущенный!
3++ удалял и создавал заново listener.ora; удалял и создавал заново в Net Manager; запускал dbca, не даёт сконфигурировать из-за отсутсвия listener... MOAR действий, итог фэйл.
2 июн 11, 16:30    [10754154]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
neperap,

Детский сад...
От какого пользователя запускаете netca, lsnrctl, etc?
ORACLE_HOME выставлен правильно?

А, так это ещё и винда?.. Ну не знаю. Перегрузите, что ли
2 июн 11, 16:41    [10754270]     Ответить | Цитировать Сообщить модератору
 Re: Роли у администратора репликации 11.2  [new]
neperap
Member

Откуда:
Сообщений: 83
Ага, винда. Самая первая мысль была ребутнуть, что с успехом и сделал. Но безрезультатно. Всё запускаю сисом, являюсь админом машины, HOME правильно выставлен

Короче, я эту базу ща грохну и подниму заново с новым именем. Давно бы уже всё сделал. Никогда бы не подумал, что из-за слушалки можно потерять столько времени. Спасибо за оказанную помощь:)
2 июн 11, 16:47    [10754321]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить