Страница 1 из 1

Перенос Галактики под Oracle на другой сервер

Добавлено: 19 мар 2008, 12:58
Nikos
Добрый день.
Решил перенести Галактику на новый сервер (Галактика 8.10, Oracle 10g). Сделал полный dump БД, на новом сервере создал чисту базу, табличные пространства с теми же именами, импорт прошел без проблем. Но дальше при входе выдает сообщение:
"Система выполняет эксклюзивную операцию. Вход невозможен.",
далее
"Ошибка соединения с БД! Доступ к базе данных временно запрещен [342] "
Под любым пользователем Галактики через Sql+ захожу без проблем. Проблема аналогична http://www.tyumbit.ru/gal_forum/viewtop ... hlight=342. Что можно сделать?

Добавлено: 19 мар 2008, 13:50
SergZol
Проблема скорее всего:
1. проверьте правильность CFG настройки на базу
2. синхронизация паролей в БД и паролей сервера Oracle нарушены!
Если всетаки у вас 2-ой пункт. Может помочь CHKORA. входит в комплект dbinst. Еще можно отключить протект - табличка Abonents поле protect(кажись) далее зайти под Supervisor-ом и исправить пароли включить протект стандартными способами.(Это конечно способ варварский- лезим в БД напрямую)

Добавлено: 19 мар 2008, 14:14
Nikos
По п.1 вряд ли, т.к. во-первых окошко ввода пароля загорается, а также если ввести неправильный пароль, то сразу выдает соответствующее сообщение.
CHKORA у меня почему-то не работает (я запускаю CHKORA9). Я его запускаю со следующим cfg:
[Database]
DataBaseName=Test
DataBaseDriver=ORA90DRV.DLL
[SQLDriver]
SQLServer=galtest
[Login]
UserName = SUPERVISOR
Password = password
Еще нужно какие-то параметры указывать?
Попробовал изменить abonents (поле protection поставил в 0). Теперь окошко ввода пароля не выводится, но выдается ошибка: Невозможно присоединиться к серверу БД. Подробности в ORA90DRV.LOG. Его содержимое:

19.03.2008 12:08:09 [SUPERVISOR]:

SELECT XU$FLAG FROM TEST."X$USERS" WHERE XU$USEROFFICE = 1 AND XU$LOGINNAME$UP = 'SUPERVISOR'
ORA-00942: table or view does not exist

19.03.2008 12:08:09 [SUPERVISOR]:

SELECT TABLESPACE_NAME FROM DBA_TS_QUOTAS WHERE USERNAME = 'TEST'
ORA-00942: table or view does not exist

19.03.2008 12:08:09 [SUPERVISOR]:

Fetch
ORA-24338: statement handle not executed

19.03.2008 12:08:09 [SUPERVISOR]:

BEGIN TEST."EXECUTE"(:P1); END;
ORA-06550: line 1, column 7:
PLS-00201: identifier 'TEST.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

19.03.2008 12:08:09 [SUPERVISOR]:

ALTER USER "SUPERVISOR" DEFAULT ROLE ALL
ORA-06550: line 1, column 7:
PLS-00201: identifier 'TEST.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

19.03.2008 12:08:09 [SUPERVISOR]:

SELECT XU$FLAG FROM TEST."X$USERS" WHERE XU$USEROFFICE = 1 AND XU$LOGINNAME$UP = 'SUPERVISOR'
ORA-00942: table or view does not exist

19.03.2008 12:08:09 [SUPERVISOR]:

SELECT TABLESPACE_NAME FROM DBA_TS_QUOTAS WHERE USERNAME = 'TEST'
ORA-00942: table or view does not exist

19.03.2008 12:08:09 [SUPERVISOR]:

Fetch
ORA-24338: statement handle not executed

19.03.2008 12:08:09 [SUPERVISOR]:

BEGIN TEST."EXECUTE"(:P1); END;
ORA-06550: line 1, column 7:
PLS-00201: identifier 'TEST.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

19.03.2008 12:08:09 [SUPERVISOR]:

ALTER USER "SUPERVISOR" DEFAULT ROLE ALL
ORA-06550: line 1, column 7:
PLS-00201: identifier 'TEST.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

Добавлено: 19 мар 2008, 14:20
Nikos
Еще я не указал ORA90DRV.LOG при включенном протекте:

19.03.2008 12:18:04 [SUPERVISOR]:

BEGIN TEST."SEMAPHORSTATE"('__EXCLUSIVE_SEMAFOR_',:P1,:P2); END;
ORA-06550: line 1, column 12:
PLS-00905: object TEST.SEMAPHORSTATE is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

Добавлено: 19 мар 2008, 14:30
Nikos
Проблема разрешилась (Просмотрели SEMAPHORSTATE). После импорта пользователю test (схема) слетели некоторые права. Подправили - все заработало.
Спасибо.

Добавлено: 19 мар 2008, 14:42
SergZol
Проблема разрешилась
Угу 100% слетело dbms_lock execute. я про него и забыл.

Добавлено: 19 мар 2008, 14:46
Nikos
Да, именно dbms_lock.

Добавлено: 04 сен 2008, 10:54
Гаврилюк Марина
В логе точно такая же ошибка, но причина ее иная немного: конвертировали базу с 7.12 на 8.10 и криво включается Protect. По сле по рентайму вылетаем из Галактики. После этого вход невозможен.
В Оракле меняли в ABONENTS 1 на 0 - без пользы, почистили таблички системные - ничего не меняется.

dbms_lock execute, SEMAPHORSTATE- это таблицы или процедуры,как их поправить?

Добавлено: 04 сен 2008, 11:02
Nikos
Не помню точно что помогло, но поправить можно одним из скриптов:
grant execute on dbms_lock to GAL;
create synonym gal.dbms_lock for sys.dbms_lock;

Добавлено: 02 окт 2008, 18:59
Гаврилюк Марина
Мне помогло удаление записей из x$semafors