ORA-10632: Invalid rowid

Libman
Дата: 03.12.2009 11:40:28
добрый день, после миграции с Oracle 9.2 Windows 2003 32bit на Oracle 10.2.0.4 Windows 2008 R1 64 bit при выполнении следующего запроса к таблице articles

SELECT *
FROM articles

получаем постоянно ошибку ORA-10632: Invalid rowid

мигрировал ручками, скриптами

вот скрип создания таблицы
CREATE TABLE articles
(
  ART_ID         INTEGER                        NOT NULL,
  DOC_ID         INTEGER                        NOT NULL,
  ISP_CODE       VARCHAR2(30 BYTE),
  DESIGNATIO     VARCHAR2(80 BYTE),
  NAME           VARCHAR2(250 BYTE),
  OKP_CODE       VARCHAR2(250 BYTE),
  IMBASE_KEY     VARCHAR2(20 BYTE),
  PURCHASED      CHAR(1 BYTE),
  MASSA          FLOAT(126),
  MU_ID          INTEGER                        NOT NULL,
  SECTION_ID     INTEGER,
  NOTE           VARCHAR2(252 BYTE),
  EXPANDING      CHAR(1 BYTE),
  LITERA         CHAR(3 BYTE),
  MMR            CHAR(20 BYTE),
  ART_VER_ID     INTEGER,
  AUTHOR         INTEGER,
  CHKINDATE      DATE,
  PR_ID          INTEGER                        DEFAULT -1,
  NEED_SVOD_DOC  CHAR(1 BYTE)                   DEFAULT ' ',
  MODIFDATE      DATE,
  MODIFUSER_ID   INTEGER,
  BASEART_ID     INTEGER                        DEFAULT 0                     NOT NULL,
  ART_CLASS      INTEGER                        DEFAULT 0                     NOT NULL,
  SERIAL_NO      VARCHAR2(250 BYTE),
  SET_NO         VARCHAR2(250 BYTE)
)

проверили файлы БД в которой лежит таблица dvr - ом, ошибок нет
переребилдили индексы, все равно ошибка
дропнул индексы кроме pk, теперь не могу создать не одного ошибка аналогичная
экспорт таблицы не идет
при выполнении команды analyze тоже самое

думал может быть копия базы на которой тестили не совсем правильная, создал новый бекап мигрировал с него аналогично ORA-10632: Invalid rowid

пробовал тоже самое с 9 го клиента, все тоже самое ORA-10632



делаю так
SELECT /*+index(a)*/*
FROM articles a
ORDER BY 1
план
SELECT STATEMENT  	
  TABLE ACCESS BY INDEX ROWID 1 * ARTICLES
    INDEX FULL SCAN ARTICLES_PRIM_NDX



делаю так
SELECT /*+fulla)*/*
FROM articles a
ORDER BY 1
план
SELECT STATEMENT  	
  SORT ORDER BY 	
    TABLE ACCESS FULL 1 * ARTICLES	

ошибки в обоих случаях

кто ни буть сталкивался с подобным? заранее спасибо за ответ
pravednik
Дата: 03.12.2009 12:18:14
Libman,

как выполняли миграцию ?
Libman
Дата: 03.12.2009 12:33:19
все по мануалу в режиме Upgrade the Database Manually
скопировал базу, запустил скрипт который сказал что надо переделать, переделал, еще раз запустил скрипт, скрипт сказал все ОК мигрируй
на др машине с установленной ОС и СУБД открыл базу в upgrade, выполнил скрипт по переборке словаря, остановил базу, открыл, полечил инвалиды
Libman
Дата: 04.12.2009 08:33:05
up
Вячеслав Любомудров
Дата: 04.12.2009 08:38:29
Попробуй в PL/SQL в цикле/ах формировать rowid и вытаскивать записи по одной, обрабатывая ошибку
Что-нибудь типа неверный ROWID