powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / recover database until cancel open resetlogs
11 сообщений из 11, страница 1 из 1
recover database until cancel open resetlogs
    #40004264
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нечасто это делаю, вот, случай потренироваться.

Очередная базешка без бэкапа.

Забить или еще что попробовать?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
C:\backup>sqlplus sys@DBNOHT02 as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Ср Сен 30 13:38:35 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Присоединен к:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL> shu immediate;
ORA-01109: база данных не открыта


База данных размонтирована.
Экземпляр ORACLE завершен.
SQL> startup mount;
Экземпляр ORACLE запущен.

Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            2550139536 bytes
Database Buffers          822083584 bytes
Redo Buffers               16154624 bytes
База данных смонтирована.
SQL> recover database until cancel using backup controlfile;
ORA-00279: изменение 18390321211, сгенерированное 09/30/2020 11:09:07,
необходимо для 1
ORA-00289: предложение :
C:\ORA11\FLASH_RECOVERY_AREA\DBNOHT02\ARCHIVELOG\2020_09_30\O1_MF_1_30984_%U_.AR
C
ORA-00280: изменение 18390321211 для потока 1 в последовательности #30984


Задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}

ORA-00308: cannot open archived log
'C:\ORA11\FLASH_RECOVERY_AREA\DBNOHT02\ARCHIVELOG\2020_09_30\O1_MF_1_30984_%U_.A
RC'
ORA-27041: unable to open file
OSD-04002: невозможно открыть файл
O/S-Error: (OS 2) Не удается найти указанный файл.


ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\ORA11\ORADATA\DBNOHT02\SYSTEM01.DBF'


SQL> exit
Отсоединено от Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

C:\ora11\diag\rdbms\dbnoht02\dbnoht02\trace>
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40004272
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут надо знать предысторию

А вообще, попробуй подкладывать вместо архивных оперативные логи
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40004288
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предыстория - отключение питания.

Скопирую каталог себе, для поиграться потом.
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40006915
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каталог:

CONTROL01.CTL
CONTROL02.CTL (скопирован из другого каталога)
INDX01.DBF
REDO01.LOG
REDO02.LOG
REDO03.LOG
SYSAUX01.DBF
SYSTEM01.DBF
TEMP01.DBF
UNDOTBS01.DBF
USERS01.DBF


spfile второпях не нашел, ищу сейчас.

Могу ли я его взять из БД, созданной на месте этой сломанной?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
C:\ora11\orahome\NETWORK\ADMIN>sqlplus system/qqq@DBNOHT02

SQL*Plus: Release 11.2.0.1.0 Production on Пт Окт 9 13:24:48 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Присоединен к:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL> create spfile from memory;
create spfile from memory
*
ошибка в строке 1:
ORA-01031: привилегий недостаточно


C:\ora11\orahome\NETWORK\ADMIN>set ORACLE_SID=DBNOHT02

C:\ora11\orahome\NETWORK\ADMIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Пт Окт 9 13:29:35 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn / as sysdba
ERROR:
ORA-12560: TNS:ошибка адаптера протокола

...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40006952
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дочитал до

Код: plsql
1.
select * from v$parameter2 where name in ('spfile', 'ifile');



Какой-то SPFILE имеется.

Пока пробую дальше, есть вопрос архитектурный.

В MySQL пока не встречал случаев, когда сервис бы не поднялся. Может там аналог SYSTEM есть, но более устойчивый к сбоям. Т.е. даже если при поднятии БД мы видим, что конкретные таблицы разрушены аварией, мы при создании дампа можем их пропустить (mysqldump skip table).

В Oracle все настолько завязано на SYSTEM, что без его корректного открытия штатными средствами ничего вытащить не удастся?
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40006955
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Места на C: не хватит, придется править пути к файлам, и разбираться с этим:

Код: plsql
1.
2.
3.
4.
5.
SQL> create PFILE='c:\ora11\orahome\database\initDBNNN.ora' from SPFILE='C:\ora11\orahome\database\SPFILEDBNOHT02.ORA';
create PFILE='c:\ora11\orahome\database\initDBNNN.ora' from SPFILE='C:\ora11\orahome\database\SPFILEDBNOHT02.ORA'
*
ERROR at line 1:
ORA-01031: insufficient privileges



Если, конечно, нет редакторов, способных отредактировать SPFILE без нарушений.
Или создать PFILE вручную.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
D:\distrib\SPFILEDBNOHT02.ORA                                                                                                                                     1252 Стр         1/27 Кол 1     С 1       67            14:35
C"  &#9786;         &#9786;&#9830;^l                          &#9827;    &#9787;                                               &#9787;  &#381;&#9829;  _4&#200;>
dbnoht02.__java_pool_size=16777216
dbnoht02.__large_pool_size=16777216
dbnoht02.__oracle_base='c:\ora11'#ORACLE_BASE set from environment
dbnoht02.__pga_aggregate_target=1090519040
dbnoht02.__sga_target=2063597568
dbnoht02.__shared_io_pool_size=0
dbnoht02.__shared_pool_size=1207959552
dbnoht02.__streams_pool_size=33554432
*.audit_file_dest='c:\ora11\admin\DBNOHT02\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='c:\ora11\oradata\&#9786;C  C"  &#9829;         &#9786;&#9830;C&#9688;  DBNOHT02\control01.ctl','c:\ora11\oradata\DBNOHT02\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='DBNOHT02'
*.diagnostic_dest='c:\ora11'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DBNOHT02XDB)'
*.memory_target=3145728000
*.nls_language='RUSSIAN'
*.nls_territory='RUSSIA'
*.O7_DICTIONARY_ACCESSIBILITY=TRUE
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
                                                                   &#9786;C  C"  &#9830;         &#9786;&#9830;Ge

...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40007105
Фотография Vivat!San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за бред воинствующего ламера?
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40007156
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vivat!San, выпил - на форум не ходи.
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40007183
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm
выпил - на форум не ходи.

не, ну если так - то это всё обьясняет. с каждым может случиться...
...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40007924
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторил пробу. SYSTEM не хочет работать. Если больше предложений нет, считаем БД в таком случае штатными средствами нереанимируемой.
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
C:\ora11>dir /q c:\ora11\orahome\database
 Том в устройстве C не имеет метки.
 Серийный номер тома: AA80-77D9

 Содержимое папки c:\ora11\orahome\database

13.10.2020  05:23    <DIR>          BUILTIN\Администраторы .
13.10.2020  05:23    <DIR>          BUILTIN\Администраторы ..
13.10.2020  05:21    <DIR>          BUILTIN\Администраторы archive
22.12.2005  04:07            31 744 BUILTIN\Администраторы oradba.exe
09.10.2020  01:33             2 560 BUILTIN\Администраторы SPFILEDBNOHT02.ORA
               2 файлов         34 304 байт
               3 папок  51 892 740 096 байт свободно

C:\ora11>dir /q c:\ora11\oradata\DBNOHT02
 Том в устройстве C не имеет метки.
 Серийный номер тома: AA80-77D9

 Содержимое папки c:\ora11\oradata\DBNOHT02

13.10.2020  05:23    <DIR>          BUILTIN\Администраторы .
13.10.2020  05:23    <DIR>          BUILTIN\Администраторы ..
30.09.2020  14:56         9 781 248 BUILTIN\Администраторы CONTROL01.CTL
30.09.2020  14:56         9 781 248 BUILTIN\Администраторы CONTROL02.CTL
30.09.2020  12:14    10 737 426 432 BUILTIN\Администраторы INDX01.DBF
30.09.2020  10:17        52 429 312 BUILTIN\Администраторы REDO01.LOG
30.09.2020  10:17        52 429 312 BUILTIN\Администраторы REDO02.LOG
30.09.2020  13:33        52 429 312 BUILTIN\Администраторы REDO03.LOG
30.09.2020  13:39       754 982 912 BUILTIN\Администраторы SYSAUX01.DBF
30.09.2020  13:39       817 897 472 BUILTIN\Администраторы SYSTEM01.DBF
30.09.2020  10:12     3 087 015 936 BUILTIN\Администраторы TEMP01.DBF
30.09.2020  13:39     4 687 142 912 BUILTIN\Администраторы UNDOTBS01.DBF
30.09.2020  13:39    10 737 426 432 BUILTIN\Администраторы USERS01.DBF
              11 файлов 30 998 742 528 байт
               2 папок  51 892 740 096 байт свободно


C:\ora11>set ORACLE_SID=DBNOHT02

C:\ora11>c:\ora11\orahome\bin\oradim.exe -new -sid DBNOHT02 -intpwd qqq -startmode manual
&#9612;ъчхьяы Ё ёючфрэ.

C:\ora11>chcp 1251
1251

C:\ora11>c:\ora11\orahome\bin\oradim.exe -new -sid DBNOHT02 -intpwd qqq -startmode manual

OPW-00005: Файл с этим именем уже существует - удалите или переименуйте его
DIM-00019: ошибка создания службы
O/S-Error: (OS 1073) Указанная служба уже существует.


C:\ora11>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Вт Окт 13 05:31:20 2020

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn sys as sysdba
Введите пароль:
Соединен с простаивающим экземпляром.
SQL> startup mount
Экземпляр ORACLE запущен.

Total System Global Area 3140026368 bytes
Fixed Size                  2179856 bytes
Variable Size            2365590768 bytes
Database Buffers          754974720 bytes
Redo Buffers               17281024 bytes
База данных смонтирована.
SQL> recover database until cancel
ORA-00283: сеанс восстановления отменен из-за ошибок
ORA-01610: следует выполнить восстановление, используя опцию BACKUP CONTROLFILE


SQL> recover database until cancel using backup controlfile
ORA-00279: изменение 18390321211, сгенерированное 09/30/2020 11:09:07,
необходимо для 1
ORA-00289: предложение : C:\ORA11\ORAHOME\RDBMS\ARC0000030984_0939140871.0001
ORA-00280: изменение 18390321211 для потока 1 в последовательности #30984


Задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}
C:\ORA11\ORADATA\DBNOHT02\CONTROL01.CTL
ORA-00317: тип файла 0 в заголовке не является протокольным файлом
ORA-00334: архивированный протокол: 'C:\ORA11\ORADATA\DBNOHT02\CONTROL01.CTL'


ORA-01547: предупреждение: восстановление прошло успешно, однако команда OPEN
RESETLOGS может вызвать ошибку
ORA-01194: для совместимости требуется дополнительное восстановление файла 1
ORA-01110: файл данных 1: 'C:\ORA11\ORADATA\DBNOHT02\SYSTEM01.DBF'


SQL> alter database open resetlogs
  2  ;
alter database open resetlogs
*
ошибка в строке 1:
ORA-01194: для совместимости требуется дополнительное восстановление файла 1
ORA-01110: файл данных 1: 'C:\ORA11\ORADATA\DBNOHT02\SYSTEM01.DBF'


SQL>

...
Рейтинг: 0 / 0
recover database until cancel open resetlogs
    #40007925
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проснулся не до конца.

REDO (оперативный лог) успешно применен.

Спасибо за подсказки.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
SQL> startup mount
Экземпляр ORACLE запущен.

Total System Global Area 3140026368 bytes
Fixed Size                  2179856 bytes
Variable Size            2365590768 bytes
Database Buffers          754974720 bytes
Redo Buffers               17281024 bytes
База данных смонтирована.
SQL> recover database until cancel using backup controlfile
ORA-00279: изменение 18390321211, сгенерированное 09/30/2020 11:09:07,
необходимо для 1
ORA-00289: предложение : C:\ORA11\ORAHOME\RDBMS\ARC0000030984_0939140871.0001
ORA-00280: изменение 18390321211 для потока 1 в последовательности #30984


Задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}
C:\ORA11\ORADATA\DBNOHT02\REDO01.LOG
ORA-00310: архивированный протокол содержит послед. 30982; затребована послед.
30984
ORA-00334: архивированный протокол: 'C:\ORA11\ORADATA\DBNOHT02\REDO01.LOG'


ORA-01547: предупреждение: восстановление прошло успешно, однако команда OPEN
RESETLOGS может вызвать ошибку
ORA-01194: для совместимости требуется дополнительное восстановление файла 1
ORA-01110: файл данных 1: 'C:\ORA11\ORADATA\DBNOHT02\SYSTEM01.DBF'


SQL> recover database until cancel using backup controlfile
ORA-00279: изменение 18390321211, сгенерированное 09/30/2020 11:09:07,
необходимо для 1
ORA-00289: предложение : C:\ORA11\ORAHOME\RDBMS\ARC0000030984_0939140871.0001
ORA-00280: изменение 18390321211 для потока 1 в последовательности #30984


Задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}
C:\ORA11\ORADATA\DBNOHT02\REDO02.LOG
ORA-00310: архивированный протокол содержит послед. 30983; затребована послед.
30984
ORA-00334: архивированный протокол: 'C:\ORA11\ORADATA\DBNOHT02\REDO02.LOG'


ORA-01547: предупреждение: восстановление прошло успешно, однако команда OPEN
RESETLOGS может вызвать ошибку
ORA-01194: для совместимости требуется дополнительное восстановление файла 1
ORA-01110: файл данных 1: 'C:\ORA11\ORADATA\DBNOHT02\SYSTEM01.DBF'


SQL> recover database until cancel using backup controlfile
ORA-00279: изменение 18390321211, сгенерированное 09/30/2020 11:09:07,
необходимо для 1
ORA-00289: предложение : C:\ORA11\ORAHOME\RDBMS\ARC0000030984_0939140871.0001
ORA-00280: изменение 18390321211 для потока 1 в последовательности #30984


Задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}
C:\ORA11\ORADATA\DBNOHT02\REDO03.LOG
Используется журнал.
Восстановление носителя завершено.
SQL> alter database open resetlogs
  2  ;

База данных изменена.

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL>



Заодно появился повод освоить Powershell.


Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
function CheckBackup
{
 param(
     [string]$folder
   ) 

$current_date = Get-Date
$PSEmailServer = "EXCH_SRV"
$cnt = 0
$file_cnt = 0

Get-ChildItem $folder\*.zip | Foreach  {

       $ts = NEW-TIMESPAN –Start $_.LastWriteTime –End $current_date
       #write-host $_ "		date:" $_.LastWriteTime.ToString("dd.MM.yyyy HH:mm") "	days: " $ts.Days
       $file_cnt += 1
       if ( $ts.Days -lt 7 )   {  $cnt += 1 }
}
if ( $file_cnt -eq 0 )
{
   write-host "$folder : нет бэкапов"
   Send-MailMessage -From 'mailrobot' -To 'admin@work.ru ' -Subject 'Backup check' -Body "$folder : нет бэкапов"
}
elseif ( $cnt -gt 0 )
  {
     write-host "$folder : свежие бэкапы есть"
  }
else
  {
     write-host "$folder : свежих бэкапов нет"
     Send-MailMessage -From 'mailrobot ' -To 'admin@work.ru ' -Subject 'Backup check' -Body "$folder : нет бэкапов"
  }

}

#  =============================================

CheckBackup "\\192.168.X.Y\backup\dumps\"
CheckBackup "\\192.168.X.Y\backup\dumps\"
...

...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / recover database until cancel open resetlogs
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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