powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
30 сообщений из 30, показаны все 2 страниц
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565535
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
select distinct c.DATA_TYPE
  from all_tab_columns c
 where c.OWNER = 'OWNER'


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BLOB
 CHAR 
 CLOB 
DATE
 LONG 
 LONG RAW 
NUMBER
VARCHAR2

Чем попробовать заменить типы данных BLOB, CLOB, LONG и LONG RAW?
Чем-нибудь типа varchar2(4000)?

Спасибо.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565538
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565539
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565541
GunPowderЧем попробоватьпопробуй звездочкой:
select decode(data_type, 'BLOB', '*', 'CLOB', '*',..., data_type)...
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565547
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, хочу сделать сделать перманентно, а не в селекте. Хочу вообще избавиться от этих типов.
Есть опасения, что софт взбунтуется. Как минимизировать этот риск?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565591
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне вообще интересно, кто long сча использует кроме ядра?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565604
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, в таком сдучае может помоч только drop database.
Встречный вопрос, а для чего у тебя используются эти типы даныз, и для чего они вообще нужны?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565606
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderХочу вообще избавиться от этих типов.А убиться об стену не хочешь?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565611
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderЕсть опасения, что софт взбунтуется
Восстание машин, да.

Если есть опасения, что софт, видимо написанный под некую универсальную псевдо-СУБД на универсальном коннекторе, не будет работать на конкретной СУБД и её типах данных, то надо идти от его возможностей, которые должны быть описаны в документации.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565625
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vladimir74да, в таком сдучае может помоч только drop database.
Встречный вопрос, а для чего у тебя используются эти типы даныз, и для чего они вообще нужны?

Точный ответ дать затрудняюсь.
Десятка два таблиц, из них 2/3 пустые (с 2003 года), в остальных есть некие данные, где по 5 строк, где по 5000
Пытался смотреть, попадается и чисто текстовое содержимое, и чисто бинарное. Бинарные какие-то USERDATA, FORMDATA и т.д.
Ну, допустим где текст - я переделаю поле в varchar2(5000)
А что делать с бинарным содержимым не знаю..
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565628
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderя переделаю поле в varchar2(5000)Уверен?
GunPowderА что делать с бинарным содержимым не знаю..Отойди от чужой БД и не ломай ничего.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565631
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderПытался смотреть, попадается и чисто текстовое содержимое, и чисто бинарное. Бинарные какие-то USERDATA, FORMDATA и т.д.

С ударь, а что вы вообще пытаетесь сделать методом "весь мир насилья мы разрушим до основания, а затем..."?
Т аким подходом можно наделать кучу проблем, но не решить ни одной задачи.
О тсутствие понимания структуры и состава данных наводит на мысль, что база досталась не самым честным путём.
П опробуйте описать свою задачу более внятно.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565660
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderДесятка два таблиц, из них 2/3 пустые (с 2003 года), в остальных есть некие данные, где по 5 строк, где по 5000
Пытался смотреть, попадается и чисто текстовое содержимое, и чисто бинарное. Бинарные какие-то USERDATA, FORMDATA и т.д.
мне уже становится интересно, что это за база текая, и как она вам досталась.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565706
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне возможно, что данные именно в этом формате используются где-то еще, в приложениях, в расчетах и т.п. И изменения могут стопорнуть всю работу. Вам лучше сначала составить схему всех информационных процессов, которые зависят от этой БД, потом продумать как можно изменить ее, не меняя логику общей работы.

А для чего действительно Вам менять типы? Сложно добавлять какую - то новую функциональность?
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565743
FoxterА для чего действительнода небось в csv не смог выгрузить.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565753
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderХочу вообще избавиться от этих типов.Джордж Оруэлл «1984»Это был толстый, но деятельный человек, ошеломляюще глупый — сгусток слабоумного энтузиазма, один из тех преданных, невопрошающих работяг, которые подпирали собой партию надежнее, чем полиция мыслей.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565836
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopGunPowderХочу вообще избавиться от этих типов.Джордж Оруэлл «1984»Это был толстый, но деятельный человек, ошеломляюще глупый — сгусток слабоумного энтузиазма, один из тех преданных, невопрошающих работяг, которые подпирали собой партию надежнее, чем полиция мыслей.

Избавиться от этих подозрительных типов ))
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565877
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopGunPowderХочу вообще избавиться от этих типов.Джордж Оруэлл «1984»Это был толстый, но деятельный человек, ошеломляюще глупый — сгусток слабоумного энтузиазма, один из тех преданных, невопрошающих работяг, которые подпирали собой партию надежнее, чем полиция мыслей.

"Алису в стране чудес" процитируйте
Можно первую попавшуюся реплику - всё будет в кассу :)

Цели две: 1)перенести таблицы в другой TB, 2) Наладить батниковый EXP IMP без глюков с LONG'ами

Ок, буду пробовать сам (впрочем как обычно)
Если не получится - по 1) пересоздам таблицы с PL/SQL'ым экспр-импортом данных, а по 2) забью
...
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565890
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderперенести таблицы в другой TB— Карлсон, ты знаешь, она хочет попасть в телевизор!
— Она?
— Ага.
— В телевизор?
— Да.
— Вот эта толстая домомучительница хочет залезть в самую маленькую коробочку?! Ничего не получится. Её надо будет сложить вчетверо.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565898
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правило, конвертация LONG-->CLOB, LONG RAW-->BLOB прозрачна для приложений (естественно, надо тестить)
А уж с LOB легко можно и в "другой ТВ"
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565901
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровКак правило, конвертация LONG-->CLOB, LONG RAW-->BLOB прозрачна для приложений (естественно, надо тестить)
А уж с LOB легко можно и в "другой ТВ"
Спасибо! Проверю - отпишусь
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565905
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot GunPowder]dbms_photoshopпропущено...
...
Цели две:
1)перенести таблицы в другой TB,
2) Наладить батниковый EXP IMP без глюков с LONG'ами
...

И что делать с данными, которые не входят в varchar2(4000), или которые бинарные?

Может вылечить ангину, а не рубить горло?
Что конкретно не получается в 1,2
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565953
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowderОк, буду пробовать сам (впрочем как обычно)
С такими исходными формулировками - неудивительно.

Сравните сами свои цели, и что вы озвучили в первом сообщении. Поищите корреляцию с точки зрения человека вне контекста реальной проблемы.

Что такое "другой TB"? T a B lespace? Или что-то иное.

Код: plsql
1.
alter table T move tablespace TS2 

не устраивает?

И отдельный вопрос, зачем вам LONG в пользовательских таблицах.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565962
к доктору
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GunPowder где по 5 строк, где по 5000ты сюда написал больше, чем строк в твоей бд.
Быстрее было бы вручную набрать.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39565999
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AFAIK В старых системах LONG'и вполне могут использоваться

Средства разработки (например Oracle Forms 6) могло глючить с BLOB'ами из-за чего разработчики могли использовать LONG'и как более "надежный" тип.

Насколько я помню, в PL/SQL можно было работать с LONG'ами как с varchar2(32000). Вроде с CLOB'ами так работать было нельзя (Oracle 8i, хотя не уверен).

Смена типа, в ряде случаев, может привести к необходимости перекомпиляции кода приложения. А как минимум, к необходимости тестирования ВСЕГО приложения полностью и то без гарантии, что через пару месяцев на какие то глюки/нестабильности не наткнетесь.

IMHO & AFAIK

Вячеслав ЛюбомудровКак правило, конвертация LONG-->CLOB, LONG RAW-->BLOB прозрачна для приложений (естественно, надо тестить)
А уж с LOB легко можно и в "другой ТВ"
+++

By the way,
а какие проблемы с LONG'ами на совр. версиях ? Сейчас посмотрел на систему, с которой работаю. LONG'и детектед, админы вроде не жалуются (хотя возможно просто других проблем хватает ))) ).
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39566352
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для меня, как для админа минусы LONG [RAW]:
- Не MOVE-тся !!!
- Не секционируются
- Юзают общее UNDO при изменениях (ну, это у нас редко), а самое плохое, при удалениях
- Юзают общий кеш

Я могу разнести таблицу и LOB-ы в ней по разным ТП с разным размером блока (поменьше, для уменьшения размера минимального CHUNK-а, если у меня ожидается много небольших строк или наоборот, побольше, чтоб увеличить полезную емкость, если я там порнуху хранить собираюсь)

По скорости доступа тут, мне кажется, бабушка надвое сказала: с одной стороны для LONG всегда будет читаться вся цепочка блоков до нужного, если нам нужен доступ к середине/концу данных, а LOB через локатор прочитает LOB-индекс, а затем уже ткнется в конкретный блок с данными. Но для первой порции тут точно также -- LONG отдаст сразу, а LOB полезет через локатор и LOB-индекс в нужный блок. Второй вариант более распространен, на мой взгляд

Это все, естественно, если мы запрещаем хранить данные в строке. Если разрешаем и записи меньше 4k то мы проигрываем по накладным расходам (правда тут лучше юзать не LONG, а VARCHAR2 и RAW, если влезет) и опять же получаем общее UNDO и кеш.

Ну и для ОЧЕНЬ больших данных LOB, конечно, лучше. Правда я не совсем уверен, что их стоить хранить в БД :-)
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39566446
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowder...
Десятка два таблиц, из них 2/3 пустые (с 2003 года), в остальных есть некие данные, где по 5 строк, где по 5000
Пытался смотреть, попадается и чисто текстовое содержимое, и чисто бинарное. Бинарные какие-то USERDATA, FORMDATA и т.д.
Ну, допустим где текст - я переделаю поле в varchar2(5000)
А что делать с бинарным содержимым не знаю..

Ох тыж боже ты мой, "два десятка таблиц ... и 2/3 пустые" по итогу 7-8 заполненных.
строк от 5 до 5к .... и для ЭТОГО Вы используете Oracle?
Портируйте на PostgreSQL, все равно по манере изменения ТИПОВ данных, Вы там единственный работник (в плане запрос/ответ к базе), иначе остальные приложения взбунтуются при таком радикальном подходе.

Хочу Вам сказать, что таблицы пустые с 2003 говорит о том что это все РАБОТАЛО 14 лет и ждало Вас с косой (меняющего ТИПЫ только по тому что МОГУТ БЫТЬ проблеммы, так их может и не быть, если у Вас руки прямые, а если не прямые, то проблеммы будут про смене типов - запросто) .... Хотя за 14 лет данных накопилось не много
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39566594
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaximaXXLОх тыж боже ты мой, "два десятка таблиц ... и 2/3 пустые" по итогу 7-8 заполненных.
строк от 5 до 5к .... и для ЭТОГО Вы используете Oracle?
Портируйте на
Дальше читать не стал.
Где сказано, что "7-8" это все имеющиеся таблицы в БД? Их больше 700, если интересно, а размер БД приближается к 100Гб
Кол-во сессий озвучивать не стану, не вижу смысла..

Вячеслав ЛюбомудровДля меня, как для админа минусы LONG [RAW]:
- Не MOVE-тся !!!
- Не секционируются
- Юзают общее UNDO при изменениях (ну, это у нас редко), а самое плохое, при удалениях
- Юзают общий кеш

Именно,
Правда про UNDO не актуально, в RAW (у меня) лежат чтото типа настройки польз. окон и пр. нечасто обновляемое содержимое.
Главное, что ЛОНГи не переносятся (без пересоздания и эксп-имп), а так хочется

GunPowderПроверю - отпишусь
На одной таблице заменил LONG->CLOB и LONG RAW->BLOB, протестировал соответствующую функцию клиента. Вроде полетело, без глюков.

Вячеслав Любомудров, спасибо!
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39566633
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunPowder,

Если б в изначальном посыле были только LONG и LONG RAW, то отношение к теме было бы совершенно иное.
...
Рейтинг: 0 / 0
Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
    #39566826
GunPowder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopЕсли б в изначальном посыле были только LONG и LONG RAW, то отношение к теме было бы совершенно иное.
Если б я знал, что всё так просто Вячеслав ЛюбомудровLONG-->CLOB, LONG RAW-->BLOB не кормил бы троллей. Готовых просто помочь, без придирок, конечно меньше.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Чем заменить типы данных BLOB, CLOB, LONG и LONG RAW?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]