Хотел добавить таблицу в словарь данных Галактики. Отключил журнализацию, затранкейтил журнальные таблицы, отключил протект, попытался скомпилировать следующий код:
Alter Dictionary;
create table D_USER.formlogs "Учет информации о запусках отчетов"
with table_Code = 32507
with replace
with tableOptions header, journal
(
FORMID : double "Идентификатор отчета",
FORMTYPEID: double "Тип отчета",
EXECID : string "Уникальный ID отчета",
REPPARAMETR: string "Дополнительный параметр",
EVENTS:string "Описание события"
)
with index
(
formlogs01 = formid,
formlogs02 = formtypeid,
formlogs03 = execid,
formlogs04 = events,
formlogs05 = formtypeid+events
formlogs06 = repparametr
) ;
!UPDATE x$files WHERE xf$code = 33001 SET xf$checksum = 0;
Компиляция прошла с ошибками: 07.03.2012 08:29:23 []:
SELECT XF$FLAGS FROM GAL810."X$FILES" WHERE XF$CODE=0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT T0.ATL_LASTDATE,T0.ATL_LASTTIME,RAWTOHEX(T0.NAME),T0.OFFICENO,T1.ATL_LASTDATE,T1.ATL_LASTTIME,T1.PROTECTON,T1.TYPEREGEVENTS, RAWTOHEX(T1.NAME) FROM GAL810."X$JOURNALCONFIG" T0,GAL810."ABONENTS" T1 WHERE T0.OFFICENO = T1.OFFICENO AND ROWNUM < 2
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT XF$FLAGS FROM GAL810."X$FILES" WHERE XF$CODE = 0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT XF$NAME FROM GAL810."X$FILES" WHERE XF$CODE=0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
Fetch
ORA-24338: statement handle not executed
07.03.2012 08:29:23 []:
SELECT XU$FLAG FROM GAL810."X$USERS" WHERE XU$USEROFFICE = 0 AND XU$LOGINNAME$UP = 'GORNASHEVICHRA'
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT TABLESPACE_NAME FROM DBA_TS_QUOTAS WHERE USERNAME = 'GAL810'
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
Fetch
ORA-24338: statement handle not executed
07.03.2012 08:29:23 []:
BEGIN GAL810."EXECUTE"(:P1); END;
ORA-06550: line 1, column 7:
PLS-00201: identifier 'GAL810.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
---Bind variable values---
:P1 ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
--------------------------
07.03.2012 08:29:23 []:
ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
ORA-06550: line 1, column 7:
PLS-00201: identifier 'GAL810.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
---Bind variable values---
:P1 ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
--------------------------
При попытке запуска саппорта вылетает ошибка: Невозможно присоединиться к серверу БД. Подробности в ORA90DRV.LOG !
Ошибка соединения с БД !
Ошибка открытия словаря базы данных. [345]
В логе пишет ту же ошибку, что и при компиляции.
База данных ORACLE 10
Masygreen, в том то и дело, что эта таблица не создалась в базе. Компиляция
прошла с ошибками (лог смотри выше). Те таблицы, которые он якобы не видит, на самом деле через DEVELOPER я их вижу, на базу даны права DBA. Проблема теперь в том, что не могу саппорт запустить, (не может найти базу и ошибка открытия словаря данных) хотя в tnsnames.ora все прописано правильно.
чтоб зайти в саппрорт грохните предварительно эту таблицу описанным способом, после этого пытайтесь создать таблицу верно .. чеки всякие прогоните, скрипты проверте (имя таблицы, описание таблицы, права )
Вот лог, не находит таблицы 07.03.2012 08:29:23 []:
SELECT XF$FLAGS FROM GAL810."X$FILES" WHERE XF$CODE=0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT T0.ATL_LASTDATE,T0.ATL_LASTTIME,RAWTOHEX(T0.NAME),T0.OFFICENO,T1.ATL_LASTDATE,T1.ATL_LASTTIME,T1.PROTECTON,T1.TYPEREGEVENTS, RAWTOHEX(T1.NAME) FROM GAL810."X$JOURNALCONFIG" T0,GAL810."ABONENTS" T1 WHERE T0.OFFICENO = T1.OFFICENO AND ROWNUM < 2
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT XF$FLAGS FROM GAL810."X$FILES" WHERE XF$CODE = 0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT XF$NAME FROM GAL810."X$FILES" WHERE XF$CODE=0
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
Fetch
ORA-24338: statement handle not executed
07.03.2012 08:29:23 []:
SELECT XU$FLAG FROM GAL810."X$USERS" WHERE XU$USEROFFICE = 0 AND XU$LOGINNAME$UP = 'GORNASHEVICHRA'
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
SELECT TABLESPACE_NAME FROM DBA_TS_QUOTAS WHERE USERNAME = 'GAL810'
ORA-00942: table or view does not exist
07.03.2012 08:29:23 []:
Fetch
ORA-24338: statement handle not executed
07.03.2012 08:29:23 []:
BEGIN GAL810."EXECUTE"(:P1); END;
ORA-06550: line 1, column 7:
PLS-00201: identifier 'GAL810.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
---Bind variable values---
1 ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
--------------------------
07.03.2012 08:29:23 []:
ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
ORA-06550: line 1, column 7:
PLS-00201: identifier 'GAL810.EXECUTE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
---Bind variable values---
1 ALTER USER "GORNASHEVICHRA" DEFAULT ROLE ALL
edward_K, саппорт не запускается после попытки докомпилить словарь (лог см. выше).
А если компилить без ALTER DICTIONARY, то выкидывает ошибку, что нужно указать словарь, куда помещать таблицу. Из-за чего такая лажа???
Пытались докомпилить через сапорт?
Не запускается только сапорт или остальное тоже?
Интересно чего вы там транкейтили. Можно попробовать перенести x$files c другой базы.
SELECT XF$FLAGS FROM GAL810."X$FILES" WHERE XF$CODE=0
ORA-00942: table or view does not exist
SELECT T0.ATL_LASTDATE,T0.ATL_LASTTIME,RAWTOHEX(T0.NAME),T0.OFFICENO,T1.ATL_LASTDATE,T1.ATL_LASTTIME,T1.PROTECTON,T1.TYPEREGEVENTS, RAWTOHEX(T1.NAME) FROM GAL810."X$JOURNALCONFIG" T0,GAL810."ABONENTS" T1 WHERE T0.OFFICENO = T1.OFFICENO AND ROWNUM < 2
ORA-00942: table or view does not exist
После всех ваших манипуляций таблицы еще в базе хоть есть? Зайдите тоадом или чем-нибудь подобным и посмотрите, что там делается в базе