Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
Итак, 10.2.0.4 х32, win

SQL> select block#,corruption_type from  v$database_block_corruption;

    BLOCK# CORRUPTIO
---------- ---------
      2069 NOLOGGING

базенка была заброшенная, когда упало - позвали. В этом табличном пространстве достаточно много было индексов с nologging, перестроил в другое ТП, этот блок пустой, в dba_free_space числится. Создал табличку, набил ее данными, пока место в ТП не кончилось - не помогло. Блок в середине файла, ресайз не сделать. Перетаскивать в новое ТП не хочу, 24х7 и много.
Есть идеи, как его форматнуть? Достаточно частая ошибка на 10.2.0.4, кстати, возможно, что баг, но не гуглится.
21 фев 15, 16:22    [17297173]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
stax..
Guest
OlegON,

гляньте DBMS_REPAIR мож поможет

......
stax
21 фев 15, 16:52    [17297216]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
Оно поможет, если сегмент есть... А вот как форматнуть пустое место без рандомных и хаотичных перемещений сегментов, вот что интересно... В свое время были же дефрагментаторы от Quest, значит, блоки можно как-то перемещать... Создать бы табличку и ее блок переместить на этот - было бы идеально.
21 фев 15, 17:21    [17297281]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
stax..
Guest
OlegON
Оно поможет, если сегмент есть... А вот как форматнуть пустое место без рандомных и хаотичных перемещений сегментов, вот что интересно... В свое время были же дефрагментаторы от Quest, значит, блоки можно как-то перемещать... Создать бы табличку и ее блок переместить на этот - было бы идеально.


автор
Создал табличку, набил ее данными, пока место в ТП не кончилось - не помогло.


блок в табличку не попал?

ps
краем уха слыхал что и RMAN "умеет чинить" блоки

.....
stax
21 фев 15, 17:41    [17297302]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
да, забыл упомянуть, blockrecover corruption list ожидаемо в бекапе ничего не находит.
21 фев 15, 17:59    [17297328]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
stax..
краем уха слыхал что и RMAN "умеет чинить" блоки


Из чего? NOLOGGING, если память не изменяет, говорит что когда шел backup в базе производились NOLOGGING операции. Так что после restore с такого backup имеем что имеем. Ну и NOLOGGING есть logical corruption так что париться нужно если блок принадлежит сегменту.

SY.

Сообщение было отредактировано: 21 фев 15, 20:25
21 фев 15, 20:21    [17297473]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
Скажем так, что если сегменту принадлежит, то уже по потолку надо бегать, а если на свободном месте оно, то сильно мешает, надо париться.
Во-первых, трудно мониторить, есть ли сбойные блоки вообще. Во-вторых, скопом corruption list не пройдешь - падает, что нет бекапа.
На 10.2.0.4 оно встречается достаточно часто, в 11 что-то поменяли, но уверенности, что точно на эту тему, нет.
Пока никаких способов не нашел, за исключением, конечно, переноса и убийства ТП. Это сильно удручает.
21 фев 15, 20:44    [17297502]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
не помогло
Guest
OlegON
Создал табличку, набил ее данными, пока место в ТП не кончилось - не помогло.


а можно поподробнее - что не помогло ? блок попал в эту табличку ?
22 фев 15, 00:24    [17298090]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Корзинку почистить не пробовал?
Перед заполнением ТП новыми отформатированными блоками
22 фев 15, 03:22    [17298319]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
recovery manager
Guest
Вячеслав Любомудров,

я пробовал. один хрен не помогает.
22 фев 15, 03:32    [17298321]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Ну тогда показывай, как заполнял
И, до кучи вывод DBV
22 фев 15, 05:15    [17298352]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
Эхх, думал, что никому не интересно.
В общем, история следующая. Традиционные средства через заполнение блоков таблицей не работают, таблица обрастает экстентами до того момента, пока скрипт не падает по нехватке места. Место, тем не менее, числится свободным и в dba_free_space еще около 700М его только по этому файлу. Любые попытки сделать индекс или move табличке приводят к нехватке места. Dbv, конечно, гонял. Показывает аналогичные результаты, но просто проверял на подозрения в глюке, поэтому особо не упирался смотреть его вывод.
Решил, что никому не интересно решение вопроса в выходные, а вопрос хотелось закрыть, поэтому сделал move в другое ТП. И блок пропал. Подчеркну. Не трогал файл, перенес данные в другое ТП, сбойный блок в свободном месте пропал.
Отсюда вопросы. Что лежит в dba_free_segments из принадлежащего сегментам? Что не попадает в dba_extents из принадлежащего сегментам?
22 фев 15, 08:02    [17298395]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
dba_free_space, а не segments, конечно же... не выспался.
22 фев 15, 08:03    [17298396]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Чудес не бывает
22 фев 15, 08:50    [17298419]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
OlegON
Member

Откуда: Moscow
Сообщений: 596
Точно подмечено, бывают глюки. Помнится, в 11.2.0.1 был баг с непоявлением таблицы в dba_segments до первой вставленной строки... Может и тут как-то с этим связано...
22 фев 15, 14:47    [17298949]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
bishnike
Member

Откуда: ст.Зеленчукская
Сообщений: 372
OlegON,

Внимание, скорее всего оффтоп, но чем черт не шутит. Быть может одного поля ягодка :)

Недавно наткнулся на такую особенность.
Методом профессионального итеративного поиска :) определил сколько записей поместится в блоке при выставленных свойствах табличного пространства и создаваемой таблицы (получилось 733 записи).
Далее, если создавать таблицу как CTAS
+
create table test_tbs_size
tablespace TEST_TBS
  pctfree 0
as
select 
  'a' as n 
from dual
connect by level <= 733;

получилось что таблица разместилась в 2-х блоках: 730 записей в первом и 3 почему то переместились во второй.

Если же сначала создать таблицу и только после сделать вставку, то размещается это всё в одном блоке.

+
create table test_tbs_size (n char(1))
tablespace TEST_TBS
  pctfree 0;
insert into test_tbs_size (n)
select 'a'
from dual
connect by level <= 733;
commit;


Табличное пространство создавал так:
+
create tablespace TEST_TBS
  datafile 'test_tbs_1.dbf'
  size 10M autoextend off;
22 фев 15, 16:00    [17299220]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Elic
Member

Откуда:
Сообщений: 29990
bishnike
получилось что таблица разместилась в 2-х блоках: 730 записей в первом и 3 почему то переместились во второй.
Если же сначала создать таблицу и только после сделать вставку, то размещается это всё в одном блоке.
Дампы блоков сравнивал?
22 фев 15, 16:08    [17299240]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
bishnike
Member

Откуда: ст.Зеленчукская
Сообщений: 372
Elic,

первым делом кончено же и я подумал что надо сравнить, но нос ещё не дорос в таком разбираться.

Сходу бросилось в глаза что при CTAS создается 3 слота транзакций:
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0xffff.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.0072cf3e
0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000
0x03 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000

а при отложенной вставке слотов создается не 3, а 2:
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0009.00c.00000b51 0x01000be4.0323.0b C--- 0 scn 0x0000.0072d011
0x02 0x0001.019.0000098c 0x0100065b.0240.32 --U- 733 fsc 0x0000.0072d1f9

плюс видно что для разных случаев используются разные смещения строк
+

CTAS:
data_block_dump,data header at 0x7f8b1039be7c
===============
tsiz: 0x1f80
hsiz: 0x5c6
pbl: 0x7f8b1039be7c
76543210
flag=--------
ntab=1
nrow=730
frre=-1
fsbo=0x5c6
fseo=0x5d6
avsp=0x10
tosp=0x10

0xe:pti[0] nrow=730 offs=0
0x12:pri[0] offs=0x1f7b
0x14:pri[1] offs=0x1f72
0x16:pri[2] offs=0x1f69
0x18:pri[3] offs=0x1f60

INSERT AFTER CREATE:
data_block_dump,data header at 0x7f044d015e64
===============
tsiz: 0x1f98
hsiz: 0x5cc
pbl: 0x7f044d015e64
76543210
flag=--------
ntab=1
nrow=733
frre=-1
fsbo=0x5cc
fseo=0x1147
avsp=0x7
tosp=0x7

0xe:pti[0] nrow=733 offs=0
0x12:pri[0] offs=0x1a9d
0x14:pri[1] offs=0x1aa2
0x16:pri[2] offs=0x1aa7
0x18:pri[3] offs=0x1aac
...


но увы при моем уровне знаний я сам выводов сделать не смог.


Дампы во вложении.

К сообщению приложен файл (dumps.7z - 14Kb) cкачать
22 фев 15, 20:06    [17299920]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Elic
Member

Откуда:
Сообщений: 29990
bishnike
а при отложенной вставке слотов создается не 3, а 2:
Этого достаточно.
23 фев 15, 07:23    [17300750]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
OlegON
Помнится, в 11.2.0.1 был баг с непоявлением таблицы в dba_segments до первой вставленной строки...

баг ? Это новая фича -
DEFERRED_SEGMENT_CREATION
23 фев 15, 17:41    [17301978]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
расширитель .
Guest
OlegON
заполнение блоков таблицей[/url] не работают, таблица обрастает экстентами до того момента, пока скрипт не падает по нехватке места. Место, тем не менее, числится свободным и в dba_free_space еще около 700М его только по этому файлу.

при не униформ экстент сайз у оракла есть такой прикол: вот хочет он прирастить следующий экстент к табличке 64М, а в ТП куча кусков по 32Мб. И будет он падать с ошибкой, но никогда не попросит кусок поменьше.
24 фев 15, 03:08    [17303083]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Ну, нафантазировать-то можно всякое...
24 фев 15, 03:24    [17303086]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
stax..
Guest
а вот такой простенький вопрос
если блок никому не принадлежит, то зачем с ним боротся?

ведь если его кому-то выделят (напр табличке), то и отформатируют правильно

или я неправ?

.....
stax
24 фев 15, 15:19    [17305687]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Все правильно
Но некоторые средства (например DBV, который ничего не знает о логической структуре) ругнутся
Насчет RMAN и, соответственно V$DATABASE_BLOCK_CORRUPTION навскидку не скажу, но, похоже, та же ситуация
24 фев 15, 15:30    [17305763]     Ответить | Цитировать Сообщить модератору
 Re: Блок 2069  [new]
SergINI
Member

Откуда: Нью-Васюки
Сообщений: 6787
stax..,

Прав!
24 фев 15, 15:31    [17305774]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить