Добавление новой таблицы

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Добавление новой таблицы

Сообщение Руслан »

Хотел добавить таблицу в словарь данных Галактики. Отключил журнализацию, затранкейтил журнальные таблицы, отключил протект, попытался скомпилировать следующий код:

Код: Выделить всё

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
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Добавление новой таблицы

Сообщение Masygreen »

1)поробуйте её грохнуть

Код: Выделить всё

alter dictionary;
drop table ваша таблица;
как вариант без alter dictionary;

2) в ручную в Ora удалите таблицу

3)

Код: Выделить всё

UPDATE X$FILES WHERE XF$CODE = 0 SET XF$CheckSum = 0;
Время ведет!
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

Masygreen, в том то и дело, что эта таблица не создалась в базе. Компиляция
прошла с ошибками (лог смотри выше). Те таблицы, которые он якобы не видит, на самом деле через DEVELOPER я их вижу, на базу даны права DBA. Проблема теперь в том, что не могу саппорт запустить, (не может найти базу и ошибка открытия словаря данных) хотя в tnsnames.ora все прописано правильно.
vasya_serega
Сообщения: 18
Зарегистрирован: 01 мар 2012, 15:14
Откуда: Украина, Вознесенск
Контактная информация:

Re: Добавление новой таблицы

Сообщение vasya_serega »

В логе при запуске саппорта ошибки
ORA-00942: table or view does not exist ?

А можно текст ORA90DRV.LOG ?
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Добавление новой таблицы

Сообщение Masygreen »

чтоб зайти в саппрорт грохните предварительно эту таблицу описанным способом, после этого пытайтесь создать таблицу верно .. чеки всякие прогоните, скрипты проверте (имя таблицы, описание таблицы, права )
Время ведет!
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

Вот лог, не находит таблицы
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
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

Masygreen
, а есть последовательность действий, как правильно докомполить словарь данных???
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Добавление новой таблицы

Сообщение edward_K »

1. Для ваших таблиц Alter Dictionary; не нужен.
просто в сапорте sql выполняете типа

Код: Выделить всё

Create Table D_USER.Partyprice "Цены по партиям"
  With Table_CODE = 32762
  With TableOptions header, journal
(
   cparty         : comp   "Партия"
  ,cpodr          : comp   "Подразделение"
  ,price          : double "цена"
)
with index
(
  in1 = cparty
 ,in2 = cparty+cpodr
);
и все
2. Посмотрите alter_zar
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

edward_K, саппорт не запускается после попытки докомпилить словарь (лог см. выше).
А если компилить без ALTER DICTIONARY, то выкидывает ошибку, что нужно указать словарь, куда помещать таблицу. Из-за чего такая лажа???
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Добавление новой таблицы

Сообщение edward_K »

Пытались докомпилить через сапорт?
Не запускается только сапорт или остальное тоже?
Интересно чего вы там транкейтили. Можно попробовать перенести x$files c другой базы.
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

Компилил через vip. Транкейтил журналы. Сама Галактика тоже не запускается,
пишет, что неправильно указан путь на временную директорию и т.д.
vasya_serega
Сообщения: 18
Зарегистрирован: 01 мар 2012, 15:14
Откуда: Украина, Вознесенск
Контактная информация:

Re: Добавление новой таблицы

Сообщение vasya_serega »

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

После всех ваших манипуляций таблицы еще в базе хоть есть? Зайдите тоадом или чем-нибудь подобным и посмотрите, что там делается в базе
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

В том то и дело, что девелопером напрямую к базе все эти запросы выполняются, все таблицы видит.
vasya_serega
Сообщения: 18
Зарегистрирован: 01 мар 2012, 15:14
Откуда: Украина, Вознесенск
Контактная информация:

Re: Добавление новой таблицы

Сообщение vasya_serega »

А вы каким пользователем девелопером коннектитесь? Тем же, из под которого Галактику пытаетесь запустить?
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Добавление новой таблицы

Сообщение Руслан »

vasya_serega , да
Ответить