Pull to refresh
9
0
Всеволод @Vantela

SAP Basis

Send message
Отлично!
А в случае чего легко можно будет перенести на другой хост.
Хорошо, что в Fedora таких проблем нету, тфу-тфу-тфу!
БЭСМ не пошел в мир из-за тупости чиновников.
В 74 году партия решила закупать зарубежные ЭВМ не веря в родные. Лебедев в момент принятия этого решения был с воспалением легких и за 70 лет. Он лично пошел уговаривать чинуш, но те его даже высшушать не пожелали. А Лебедев умер.

Я ответил на Ваш вопрос почему БЭСМ не продавалась не весь мир?

PS Томилин Александр Николаевич читал у меня курс лекций. Он знал Лебедева лично и работал с ним. История с его слов.
В 86 году мне было 3 годика — не помню.
В 88 тоже не очень помню. В вот в 90году, когда я пошел в школу цветной телевизор у меня был. Даже два. У бабушки с дедушкой и мамы с папой.

Про ЭВМ погуглите кто такой Лебедев и про БЭСМ.
Размер блока 8K
Т.е. вначале было 105968 блоков, но сразу все сожрать нельзя.
А после выделения 105600 остается 112 и 256 блоков. И их уже можно до полного заполнения.

Ну и alter table SAPSR3.TESTTABLE allocate extent(size ...); разумеется тоже не проходит. Жаль, очень бы быстро отрабатывало.
Все хитрее:) Остаются два куска.

После создания таблички 844800К делаем:
SELECT bytes/1024 from DBA_FREE_SPACE where TABLESPACE_NAME = 'PSAPSR3USR';

896
2048

И вот с этими размерами уже можно создать две таблицы и они реально покроют всю TS.
Покопаться в dba_extents пока не получилось. Обращение долгое, а мне пора бежать… Завтра продолжу.

Что и как дампнуть не понял.:(

Да, ладно зачем уходить в приват. Я столько полезностей вычитал из подобных обсуждений:)
Не, корзина вообще выключена.
SELECT max(bytes)/1024 from DBA_FREE_SPACE where TABLESPACE_NAME = 'PSAPSR3USR';

847744

И максимальное количество килобайт с которым таблица создалась: 844800
Пришлось отступить на 368 блоков…
Не получается.:( А очень жаль.
Т.е. написал прогу которая по max(bytes) создает с таким начальным екстентом табличку — и для 100G свободных шикарно отработало за несколько секунд.
Но получилось не универсально.

Вот для другого TS со свободным размером чуть меньше гига вручную повторил:
alter system set DEFERRED_SEGMENT_CREATION=false;

system SET altered.
SELECT max(bytes) from DBA_FREE_SPACE where TABLESPACE_NAME = 'PSAPSR3USR';

868089856
create table SAPSR3.TESTTABLE (id number(10), USER_NAME varchar2(10), CREATE_DATE date) tablespace PSAPSR3USR
storage ( initial 868089856);


И уппс: ORA-01659: не могу выделить MINEXTENTS выше 19 в разделе PSAPSR3USR

Пока думаю с чем такое может быть связано. Свободный кусок есть… но не совсем свободный.
Хм. Спасибо! Попробую так.
Я вот о чем:
ALTER SYSTEM set DEFERRED_SEGMENT_CREATION=false;

Затем:
SELECT round(sum(bytes)/1048576,2) from DBA_FREE_SPACE where TABLESPACE_NAME = 'PSAPSR3702';

Результат: 10668,75

И после этого:
create table SAPSR3.TESTTABLE (id number(10), USER_NAME varchar2(10), CREATE_DATE date) tablespace PSAPSR3702
storage    (
            initial          10570M
            NEXT             10M
            MAXSIZE          UNLIMITED
            MINEXTENTS       1
            );

Не проходит. И, разумеется, большие размеры, которые ближе к максимальному, тоже не катят.
Жалуется на ORA-01659(Failed to find sufficient contiguous space to allocate MINEXTENTS for the segment being created.)

Вот размер 10500M создать можно.
А сидеть и подбирать этот размер на который оно таки может создаться — мне видится глупым.

Или я не так все таки понял?
Не успел ответить, вы сами исправились. :)

Надо было, конечно, все свои опыты в статье отобразить. А то я сразу туда написал решение к которому пришел.

И вот как сверху советовали alter table allocate extent (size… ); я тоже попробовал.
Проблема та же. Муторно подбирать размер который оно проглотит. А писать прогу которая сначало будет вычислять максимальный размер на который можно расшириться, а потом постепенно понижать — глупо как то…
Сложность и размер скрипта сильно возрастет, а что мы выйграем? 45 секунд из 150?

Эх. Если бы все в этой жизни зависело от нас.:)
TS у меня ASSM по умолчанию. Их так создает SAP.
Да!
CTAS я тоже пробовал. На том же оборудовании, той же базе — таблички надувались в течении почти часа для почти 100гигов.
Коммиты убрал — действительно лишние! Еще раз спасибо.
Как то стал писать execute совместно с commit — так и повелось.
Спасибо! Попробую.
Я пробовал играться с параметрами создания таблицы, но оракл их воспринимает как рекомендации и все равно делает как хочет.
12 ...
45

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity