Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
ORA-01555: snapshot too old: rollback segment number 2 with name 'RBS1' too small - такая ошибка вылетает при копировании схемы стандартными средствами внутри базы на Oracle 8.

Я на сколько разобрался эта ошибка вылетат если либо размера Rollback segment не хватает, либо если какая то транзакция успела закомитеться вперед той которая происходит в данный момент (как то смутно понял на самом деле этот пункт). Ошибка возникает при копировании таблицы в несколько миллионов записи, успевает скопироваться всё время одно и тоже кол-во записей , примерно 27 тыс. Подскажите как правильно отмониторить в чем именно причина данной ошибки, и как правильно увеличеть размер сегмента (что именно увеличивать - максимальное кол-во экстентов, их размер, или может размер самого табличного пространства)? В табличном прострамстве RBS 5 сегментов отката. Ругается всё время на один и тот же.
20 июл 10, 12:09    [9129991]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
копируем стандартными средствами программы, для к-ой собственно и используется база,а не оракла
20 июл 10, 12:14    [9130038]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Выполните
SELECT * FROM v$version;
и покажите результат.
20 июл 10, 13:26    [9130758]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
Ок


SEGMENT_NAME	INITIAL_EXTENT	NEXT_EXTENT	MIN_EXTENTS	MAX_EXTENTS
RBS0	                  524288	   524288	8	                 4096
RBS1	                  524288	   524288	8	                 4096
RBS2                       524288	   524288	8	                 4096
RBS3	                  524288	   524288	8	                 4096
RBS4	                  524288	   524288	8	                 4096		


Рамер табличного пространсва этих сегментов 565 Метров.
Увеличил размер табличного пространства в 2 раза - всё равно затыкается копирование на том же кол-ве записей, т.е. 27 тысячах.
Хотя логика у меня такая размер экстента 512К x максимальное число экстенвот 4096 = 2 Гига, значит сегмент расти может но ему мешает размер табличного пространства - так почему тогда ошибка Ora-01555 возникает на той же таблицы и на том же кол-ве записей, что и до увеличения ТП.

Хоть укажите на ошибку в логике моих рассуждений
20 июл 10, 13:31    [9130814]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
select * from v$version

Oracle8i Release 8.1.7.3.0 - Production
PL/SQL Release 8.1.7.3.0 - Production
CORE	8.1.7.2.1	Production
TNS for 32-bit Windows: Version 8.1.7.3.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
20 июл 10, 13:32    [9130823]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
NuclearMaxxx
копируем стандартными средствами программы, для к-ой собственно и используется база,а не оракла

ну так - автора(ов) - на манеж.
(при достаточной кривизне рук - никаких нафик ресурсов не хватит)
20 июл 10, 14:26    [9131316]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
Да авторов не за что хаять, достаточно крупный и известный разработчик. Но с этой ошибкой отослали к АБД, коим я и являюсь по совместительству... Вот сейчас подумал увеличить кол-во сегментов отката и еще больше размер ТП, авось поможет.
21 июл 10, 06:10    [9134942]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
Вадиман
Member

Откуда: Владивосток
Сообщений: 1072
Это все равно, что вас отправили бы к паталогоанатому после жалобы на головную боль. Мол, паталогоанатом вскроет, выявит и исправит причину.
Причину-то он, может быть, и исправит, только сначала я бы сначала посоветовал обратиться к обычным терапевтам (читай - разработчикам). Зачастую истинный корень проблемы заключается в нерациональном использовании undo или просто-напросто в явных косяках в кодировании, о которых на металинке ходит множество упоминаний.
21 июл 10, 08:39    [9135061]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
Вадиман
Member

Откуда: Владивосток
Сообщений: 1072
NuclearMaxxx
Да авторов не за что хаять, достаточно крупный и известный разработчик. Но с этой ошибкой отослали к АБД, коим я и являюсь по совместительству... Вот сейчас подумал увеличить кол-во сегментов отката и еще больше размер ТП, авось поможет.


это не критерий :)
Как сунешься в недра понаписанного этими крупными и известными разработчиками...
Выясняется, что это писал студент на дому по удаленной работе.
21 июл 10, 08:41    [9135067]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
NuclearMaxxx,

Лучше сначала снимите трассу и посмотрите на чём собственно получаете 1555.
А потом, скорее всего, обращайтесь к разработчикам.
21 июл 10, 09:08    [9135138]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
Хм... не помогло, опять таже ошибка на той же таблице на том же кол-ве строк...
21 июл 10, 09:41    [9135297]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
OPTIMAL поубирай на сегментах отката
Сделай их все одинакового размера
Ну и побольше понасоздавай
И, естественно, операцию проводить желательно в моменты наименьшей нагрузки
21 июл 10, 09:57    [9135411]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
NuclearMaxxx,

Как выполняется копирование таблицы? Какие операции в это время происходят на таблице источнике?
21 июл 10, 09:59    [9135422]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555  [new]
NuclearMaxxx
Member

Откуда:
Сообщений: 153
А после изменения сегментов, их добавления, изменения размера ТП - надо базу рестартить? И каким запросом увидеть - стоял ли этот оптимал изначально у сегментов?

Увеличил размер ТП до 2 Гигов, добавил еще два сегмента(теперь их 7) - не помогло.

Так же будте любезны подскажите как мониторить эти сегменты, их заполненость к примеру, т.к. запрос типа

select ddf.tablespace_name,total ttlSize,(total-nvl(freespace,0))/1024 used, freespace
from 
(select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) ddf,
(select tablespace_name,sum(bytes) freespace from dba_free_space group by tablespace_name) dfs
where ddf.tablespace_name=dfs.tablespace_name(+)

показывает что табличное пространство RBS - totalsize - 2147483648, freespace - 2118115328

а запрос

select *
from dba_extents
where segment_name like '%RBS%'

Показвыет что на каждый сегмент отката приходится по 8 записей, что как я понимаю = 8 экстентов, что есть MIN_EXTENTS.... они что у меня не растут чтоли?!
21 июл 10, 11:30    [9136241]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить