Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Oracle 10g. ORA-39726: невозможность добавить столбец с DEFAULT в таблицу  (Прочитано 18438 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« : 21-02-2011 18:01 » 

Таблица с партициями. Почитал инет. Сделал манипуляции для декомпрессии:

ALTER TABLE tablename MOVE PARTITION p_archive NOCOMPRESS

В результате таблица имеет следующий формат:

Код: (PL/SQL)
PARTITION BY RANGE (HIST_ID)
(  
  PARTITION p_archive VALUES LESS THAN (488309)
    LOGGING
    NOCOMPRESS,  
  PARTITION p_current VALUES LESS THAN (99999999)
    LOGGING
    NOCOMPRESS
)
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING
ENABLE ROW MOVEMENT

Только попытка создания столбца все равно приводит к ошибке.

Код: (PL/SQL)
ALTER TABLE tablename ADD newcolumn NUMBER(1) DEFAULT 0 NOT NULL

Не пойму, в какую сторону мне рыть?


Добавлено через 59 минут:
Пока просто перестроил таблицу без партиций. Но хотелось бы понять, что в таких случаях делать.

Можно добавить столбец без DEFAULT и NOT NULL, но это не кашерно.

Для удаления столбцов можно делать так:

Код: (PL/SQL)
ALTER TABLE tablename SET UNUSED COLUMN columnname;
ALTER TABLE tablename DROP UNUSED COLUMNS;

« Последнее редактирование: 21-02-2011 19:01 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 22-02-2011 06:49 » 

Код: (SQL)
CREATE TABLE new_table COMPRESSED
AS
SELECT t.*, <NEW COLUMN here> FROM old_table t;

DROP old_table;
RENAME new_table TO old_table;
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 22-02-2011 06:52 » 

Не, Макс, мне не нужно COMPRESS. У меня как раз NOCOMPRESS и я не могу понять, почему он считает обратное.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #3 : 22-02-2011 08:45 » 

RXL, Все равно тебе нужно пересоздавать таблицу, это баг оракла. Если есть доступ на металинк то поищи там и скачай патч!
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 22-02-2011 12:40 » 

Да хуже - есть саппорт - можно его нагрузить. Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #5 : 22-02-2011 13:13 » 

нагрузи, бага известная.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 22-02-2011 13:40 » 

Попробую после праздников.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines