powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
17 сообщений из 17, страница 1 из 1
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070392
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всезнающий ALL
Крутилась на серваке база крутилась себе и крутилась, работала с ней одна закрытая программа... а вот сегодня докрутилась вот с таким вот сообщением
3. General Sql Error
ORACLE data bclock corapted (file 4 block 1529)
file c:/orant/database/rbs1bill.ora

А в оракле я ноль полный, просвятите плс, чего делать то, если не затруднит то поподробнее. Заранее очень благодарен, на будующее обязуюсь разобраться хотябы с азами, чтобы больше не задавать подобных вопросов :-)
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070403
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действия зависят от того какого типа сегмент с кораптед блоком. У тебя судя по имени файла - роллбек. Выполни такой запрос:

Код: plaintext
1.
2.
3.
4.
select e.owner, e.segment_name, e.segment_type, e.tablespace_name  
from dba_extents e 
where e.file_id =  4  
      and e.block_id <  1529  
      and e.block_id + e.blocks >  1529 

Если действительно роллбек, то останови активные транзакции в базе (например зашатдауни приложение) и выполни (имя сегмента берешь из результатов запроса):

SQL>alter rollback segment ... offline;

SQL>drop rollback segment ...;

SQL>create rollback segment ...;

SQL>alter rollback segment ... online;

И все.

Вообще-то это очень плохой признак (кораптед блок) - возможно у тебя проблемы с железом.
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070405
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, еще дополнения и поправка:

1.все делаешь под эккаунтом system.
2.когда создаешь сегмент - укажи tablespace (тоже из рез-тов запроса):

SQL>create rollback segment ... tablespace ...;
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070438
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сказал, что в сегменте RB3 но не прибивается он, говорит

ORA-01545 rollback segment "RB3" specified not available

Это чего?
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070440
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а какой у этого сегмента статус?

select r.status from dba_rollback_segs r where r.segment_name ='RB3';
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070442
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQLWKS> select r.status from dba_rollback_segs r where r.segment_name ='RB3';
STATUS
----------------
ONLINE
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070444
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
значит ты забыл сделать первую команду:

SQL>alter rollback segment RB3 offline;
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070446
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается.

SQLWKS> alter rollback segment "RB3" offline;
Statement processed.
SQLWKS>
SQLWKS> select r.status from dba_rollback_segs r where r.segment_name ='RB3';
STATUS
----------------
ONLINE
1 row selected.
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070448
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:-((( Мож шел к базе дать? Проще будет. а то видимо до меня слишком туго доходит (с горя...)
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070451
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>:-((( Мож шел к базе дать? Проще будет. а то видимо до
>меня слишком туго доходит (с горя...)

шелл это хорошо, но я за корпоративным фаерволом и кроме 80 порта все закрыто (да и вжарят, если увидят, что я куда-то телнетом лажу). Разве что из дому могу :-)

просто тут проблема довольно серьезная. Честно скажу, с таким не сталкивался. Если у тебя есть саппорт, то лучше открыть TAR. Я посмотрел по Металинку - там советуют зашатдаунить базу, выставить в init.ora параметер _corrupted_rollback_segments = (...), стартовать опять и потом его по идее можно будет удалить. Но я бы не взял на себя смелость делать это на чужой базе.

Как там, кстате, у тебя с бекапом? Будет возможность все восстановить? Очевидно, еще не поздно сделать экспорт. Какой приблизительно объем данных?
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070452
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто тут проблема довольно серьезная. Честно скажу, с таким не сталкивался. Если у тебя есть саппорт, то лучше открыть TAR.

Да в том то и дело, нету супорта никакого....


Я посмотрел по Металинку - там советуют зашатдаунить базу, выставить в init.ora параметер _corrupted_rollback_segments = (...), стартовать опять и потом его по идее можно будет удалить. Но я бы не взял на себя смелость делать это на чужой базе.


Спасибо огромнейшее!!!!
Пробую это сделать...

Как там, кстате, у тебя с бекапом? Будет возможность все восстановить? Очевидно, еще не поздно сделать экспорт. Какой приблизительно объем данных?

Бэкапов нету никаких, за исключеним полностью скопированного каталога с базой перед эксперементами...
А объем совершенно небольшой весь этот каталог занимает меньше трех гиг.
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070459
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
This is production DB or not?

If not then try:
-- connect as sys (sysdba)-- select * from sys.undo$
-- check name, status$ fields for this rollback segment
-- update status for this segment:

update sys.undo$ set status = 2 where name = 'RBS3';

-- check again
commit;

drop rollback segment RBS3;
-- start utility of db verification:
# $ORACLE_HOME/bin/dbverify

that is it.
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070462
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codes for status:
1 - DEFAULT ONLINE via INIT.ORA
2 - 'OFFLINE',
3 - 'ONLINE' - manualy via alter rollback segs online
5 - 'NEEDS RECOVERY',
6 - 'PARTLY AVAILABLE' (probably with corrupted blocks)
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070474
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> update sys.undo$ set status = 2 where name = 'RBS3';

>-- check again
>commit;

>drop rollback segment RBS3;


Тепереь валится вот это сообщение

select * from <tables>

ORA-00376: file 2 cannot be read at this time
ORA-01110: data file 2: 'C:\ORANT\DATABASE\USR1BILL.ORA'
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32070520
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Нужно вернуть RBS обратно.
2) Провлема в том что :
-- была незакрытая транзакция
-- блок сегмента отката (точнее содержание блока) по какой-то причине разрушен
-- в заколовочный блок файла данных, который участвовал в транзакции успел записаться SCN вметсе с timestamp этой транзакции
(вот это нерпроходимо без перезагрузки сервера)

3) как восстановить:
Основной вопрос сейчас !!! база в режиме archive log или нет?

Если да то проблем очень мало:
-- shutdown immediate
-- startup mount
-- recovery database automatic
-- alter database open

Если нет:
-- попробовать предидущую схему я думаю сработает
-- если не сработает то:
-- shutdown immediate
-- startup mount
-- alter system reset log (что может привести к потере последних транзакций, которые:
а) попали в лог
б) не успели записаться в файлы данных)
-- recovery database automatic
-- alter database open
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32071072
Viacheslav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
базу вернули во вчерашнее положения, к стати она не 8 а 8,0,6

Если да то проблем очень мало:
-- shutdown immediate
-- startup mount
-- recovery database automatic

Вот тут пишет
Invalid SQL statement


-- alter database open

Если нет:
-- попробовать предидущую схему я думаю сработает
-- если не сработает то:
-- shutdown immediate
-- startup mount
-- alter system reset log (что может привести к потере

А вот тут ругается на reset

последних транзакций, которые:
а) попали в лог
б) не успели записаться в файлы данных)
-- recovery database automatic
-- alter database open
...
Рейтинг: 0 / 0
Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
    #32071077
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If 8.0.x then:
recover database automatic --> has to be:

> alter database recover automatic;
and
alter system reset logfiles -> has to be:

> alter system switch logfile;

In any way don't forget ; after each command

then u can recovery database file by file. In this case u can use:

> alter database recover datafile '..file_name..';
and
> alter database recover logfile '..file_name..';
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Плс. просвятите чайника. General Sql Error ORACLE data bclock corapted
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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