Restore datafile on STANDBY from PRIMARY service

Не применяются арклоги на STANDBY сервере:

Reading datafile '/u01/app/oracle/oradata/databasename/superfile_edr_tbls01.dbf' for corruption at rdba: 0x054018ae (file 21, block 6318)
Reread (file 21, block 6318) found same corrupt data (logically corrupt)
Mon Jun 14 04:28:27 2021
Checker run found 1 new persistent data failures
ERROR: ORA-00756 detected lost write of a data block
Slave exiting with ORA-756 exception
Mon Jun 14 04:28:32 2021
Errors in file /u01/app/oracle/diag/rdbms/databasename_bk/databasename/trace/databasename_pr02_22763.trc:
ORA-00756: recovery detected a lost write of a data block
ORA-10567: Redo is inconsistent with data block (file# 21, block# 6318, file offset is 51757056 bytes)
ORA-10564: tablespace SUPERFILE_EDR_TBLS
ORA-01110: data file 21: '/u01/app/oracle/oradata/databasename_bk/superfile_edr_tbls01.dbf'
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 21388901

При живом PRIMARY восстановим файл с него на STB. Подключимся RMAN к стендбай серверу и дадим команду:

restore datafile 21 from service main;

alter database recover managed standby database disconnect from session;

profit

Добавление ASM диска

Администратор сервера подключил диск к серверу. Что же делать DBA?
Давайте просмотрим на наши блочные устройства:

# lsblk

NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdf                            8:80   0     3T  0 disk
└─sdf1                         8:81   0     3T  0 part
sdo                            8:224  0     3T  0 disk
sdd                            8:48   0     3T  0 disk
└─sdd1                         8:49   0     3T  0 part
...

Читать далее «Добавление ASM диска»

Запросы для АНДУ / Oracle UNDO queries

В редакцию поступил вопрос:
«ORA-30036: unable to extend segment by 8 in undo tablespace ‘UNDO_2’ at»

давайте поглядим, что можно посмотреть, может чего и увидим:

Мой любимый запрос, позволяет определить основного потребителя с разбивкой по инстансам (актуально для RAC конфигурации) :
select s.INST_ID,
s.sid,
s.username,
round( sum(ss.value) / 1024 / 1024 ,1)as undo_size_mb
from gv$sesstat ss
join gv$session s on s.sid = ss.sid AND s.INST_ID=ss.INST_ID
join gv$statname stat on stat.statistic# = ss.statistic#
where stat.name = ‘undo change vector size’
and s.type <> ‘BACKGROUND’
and s.username IS NOT NULL
group by s.INST_ID, s.sid, s.username
ORDER BY 4 desc

to be updated….