powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Издевательство над Oracle - результаты экспериментов
10 сообщений из 10, страница 1 из 1
Издевательство над Oracle - результаты экспериментов
    #32154911
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак, возвращаясь к теме мультиплексированных контролфайлов и поведения Oracle при потере одного из них. Вчера вечером был поставлен жестокий эксперимент с небезынтересными результатами.
Код: plaintext
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.
Запускаем экземпляр

...
SMON: enabling cache recovery
SMON: enabling tx recovery
Tue May   6   22 : 09 : 19   2003 
Completed: alter database open
*************************************
В этот момент грохнули один из  3  контролфайлов
*************************************
Tue May   6   22 : 10 : 45   2003 
Thread  1  advanced to log sequence  2885 
Current log#  5  seq#  2885  mem#  0 : /ora02/oradata/voog2/redo50.log
Current log#  5  seq#  2885  mem#  1 : /ora04/oradata/voog2/redo51.log
Tue May   6   22 : 10 : 45   2003 
ARC0: Beginning to archive log#  4  seq#  2884 
ARC0: Completed archiving log#  4  seq#  2884 
Tue May   6   22 : 11 : 47   2003 
Thread  1  advanced to log sequence  2886 
Current log#  6  seq#  2886  mem#  0 : /ora03/oradata/voog2/redo60.log
Current log#  6  seq#  2886  mem#  1 : /ora04/oradata/voog2/redo61.log
Tue May   6   22 : 11 : 47   2003 
ARC0: Beginning to archive log#  5  seq#  2885 
ARC0: Completed archiving log#  5  seq#  2885 
*************************************
Обратите внимание - логи переключаются и архивируются!
Пользовательская активность отсутствует, кроме, internal-а,
выдающего alter system switch logfile.
*************************************
Вставляем в табличку  1  строку, говорим commit.
И тут пришёл checkpoint...
*************************************
Tue May   6   22 : 13 : 02   2003 
Errors in file /ora01/app/oracle/admin/voog2/bdump/ckpt_349.trc:
ORA- 00221 : error on write to controlfile
ORA- 00206 : error in writing (block  16 , # blocks  1 ) of controlfile
ORA- 00202 : controlfile: '/ora02/oradata/voog2/control02.ctl'
ORA- 27041 : unable to open file
Intel SVR4 UNIX Error:  2 : No such file or directory
Additional information:  3 
Tue May   6   22 : 13 : 02   2003 
CKPT: terminating instance due to error  221 
Instance terminated by CKPT, pid =  349 


Продолжение через минуту... :)
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154913
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
/ora01/app/oracle/admin/voog2/bdump/ckpt_349.trc
Oracle8i Enterprise Edition Release  8 . 1 . 7 . 4 . 0  - Production
With the Partitioning option
JServer Release  8 . 1 . 7 . 4 . 0  - Production
ORACLE_HOME = /ora01/app/oracle/product/ 8 . 1 . 7 
System name:    SunOS
Node name:      vooglooskr
Release:         5 . 8 
Version:        Generic_108529- 14 
Machine:        i86pc
Instance name: voog2
Redo thread mounted by this instance:  1 
Oracle process number:  5 
Unix process pid:  349 , image: oracle@vooglooskr (CKPT)

*** SESSION ID:( 4 . 1 )  2003 - 05 - 06   22 : 13 : 02 . 173 
***  2003 - 05 - 06   22 : 13 : 02 . 173 
ksedmp: internal or fatal error
ORA- 00206 : error in writing (block  16 , # blocks  1 ) of controlfile
ORA- 00202 : controlfile: '/ora02/oradata/voog2/control02.ctl'
ORA- 27041 : unable to open file
Intel SVR4 UNIX Error:  2 : No such file or directory
Additional information:  3 
 ----- Call Stack Trace -----
 
calling              call     entry                argument values in hex
 -------------- вырезано цензурой ---------------
 
***************************************
Экземпляр абортирован.
Восстанавливаем контролфайл на место, коннектимся internal-ом
(пришлось закрыть sqlplus, из подключенного к абортированному
экземпляру не коннектился), запускаемся. В процессе
запуска делается recovery:
***************************************

...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154917
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
 -------------- вырезано цензурой ---------------
 
ARCH: STARTING ARCH PROCESSES
ARCH: STARTING ARCH PROCESSES COMPLETE
ARC0 started with pid= 18 
ARC0: Archival started
Tue May   6   22 : 17 : 59   2003 
ALTER DATABASE   MOUNT
Tue May   6   22 : 18 : 06   2003 
Successful mount of redo thread  1 , with mount id  1929843742 .
Tue May   6   22 : 18 : 06   2003 
Database mounted in Exclusive Mode.
Completed: ALTER DATABASE   MOUNT
Tue May   6   22 : 18 : 06   2003 
ALTER DATABASE OPEN
Beginning crash recovery of  1  threads
Tue May   6   22 : 18 : 07   2003 
Thread recovery: start rolling forward thread  1 
Recovery of Online Redo Log: Thread  1  Group  4  Seq  2884  Reading mem  0 
Mem#  0  errs  0 : /ora02/oradata/voog2/redo40.log
Mem#  1  errs  0 : /ora03/oradata/voog2/redo41.log
Recovery of Online Redo Log: Thread  1  Group  5  Seq  2885  Reading mem  0 
Mem#  0  errs  0 : /ora02/oradata/voog2/redo50.log
Mem#  1  errs  0 : /ora04/oradata/voog2/redo51.log
Recovery of Online Redo Log: Thread  1  Group  6  Seq  2886  Reading mem  0 
Mem#  0  errs  0 : /ora03/oradata/voog2/redo60.log
Mem#  1  errs  0 : /ora04/oradata/voog2/redo61.log
Tue May   6   22 : 18 : 15   2003 
Thread recovery: finish rolling forward thread  1 
Thread recovery:  38  data blocks read,  27  data blocks written,  16101  redo blocks read
Crash recovery completed successfully
Tue May   6   22 : 18 : 17   2003 
Thread  1  advanced to log sequence  2887 
Thread  1  opened at log sequence  2887 
Current log#  3  seq#  2887  mem#  0 : /ora03/oradata/voog2/redo30.log
Current log#  3  seq#  2887  mem#  1 : /ora04/oradata/voog2/redo31.log
Successful open of redo thread  1 .
Tue May   6   22 : 18 : 17   2003 
SMON: enabling cache recovery
Tue May   6   22 : 18 : 17   2003 
ARC0: Beginning to archive log#  6  seq#  2886 
ARC0: Completed archiving log#  6  seq#  2886 
Tue May   6   22 : 18 : 19   2003 
SMON: enabling tx recovery
Tue May   6   22 : 18 : 53   2003 
Completed: ALTER DATABASE OPEN
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154932
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод - alter system switch logfile не вызывает checkpoint-а, если нет dirty buffers, или вызывает какой-то хитрый чекпоинт без записи в контролфайл. Экземпляр абортируется при утере хотя бы одного контролфайла - и это правильно. Вчера нашёл ссылку в Concepts на эту тему, где открытым текстом описывалось это поведение, но был пьян и к утру забыл :)

P.S. Тестовая система - Intel Solaris 8, Oracle 8.1.7.4.0 EE, /ora02, /ora03, /ora04 - ufs с forcedirectio. С дискетой попробовать не получилось по причине отсутствия дисковода и размера контролфайла в 5Мб, что использование дискеты затрудняет
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154943
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то нашелся человек, который доказал написанное в руководстве. Более того, там же в руководствах написано, что чекпойнт при переключении журналов в 8i и выше фиктивен, что тоже было здесь доказано. Только зачем?
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154948
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затем что по изначальному топику развели тред на 3 страницы демагогии о евреях и пиве.
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154955
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для чего же тогда рекомендуют использовать несколько контрол файлов если Оракл при потере или повреждении одного сразу останавливается? Разве только чтобы можно было потом быстро скопировать контрол файл исправить init.ora и запустить инстанс снова?
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154956
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно. Терять все контролфайлы весьма неприятно. Если все=1, это можно прочувствовать с относительно большой вероятностью.
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154972
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уже ли так страшно?

Сделала alter database backup controlfile to trace;

Не так уж много, можно и возсоздать если что. Но тем не менее понятно что все=1 это плохо:-)

Код: plaintext
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.
*** SESSION ID:( 7 . 7 )  2003 - 05 - 07   11 : 14 : 54 . 000 
***  2003 - 05 - 07   11 : 14 : 54 . 000 
# The following commands will create a new control file and use it
# to open the database.
# Data used by the recovery manager will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE  "MYDB"  NORESETLOGS NOARCHIVELOG
    MAXLOGFILES  5 
    MAXLOGMEMBERS  2 
    MAXDATAFILES  10 
    MAXINSTANCES  2 
    MAXLOGHISTORY  1809 
LOGFILE
  GROUP  1 (
    'D:\ORACLE9\ORADATA\MYDB\REDO_DISK1\REDO01.LOG',
    'D:\ORACLE9\ORADATA\MYDB\REDO_DISK2\REDO01.LOG'
  ) SIZE 200K,
  GROUP  2 (
    'D:\ORACLE9\ORADATA\MYDB\REDO_DISK1\REDO02.LOG',
    'D:\ORACLE9\ORADATA\MYDB\REDO_DISK2\REDO02.LOG'
  ) SIZE 200K
# STANDBY LOGFILE
DATAFILE
  'D:\ORACLE9\ORADATA\MYDB\SYSTEM01.DBF',
  'D:\ORACLE9\ORADATA\MYDB\TEMP.DBF',
  'D:\ORACLE9\ORADATA\MYDB\USER.DBF',
  'D:\ORACLE9\ORADATA\MYDB\INDEX.DBF',
  'D:\ORACLE9\ORADATA\MYDB\UNDO01.DBF'
CHARACTER SET US7ASCII
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
# No tempfile entries found to add.
#
...
Рейтинг: 0 / 0
Издевательство над Oracle - результаты экспериментов
    #32154995
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень часто при потерях всех контрольных файлов приходится давать alter database open resetlogs, после чего работа со старыми бэкапами очень проблематична.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Издевательство над Oracle - результаты экспериментов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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