01.10.2009 14:07
Oracle 8.1
SM2000

После аварийного выключения (умер БП) не стартует база. Бэкап - только весенний, спасибо администратору СМ.
Сервисы OracleServiceDBNAME, OracleDEFAULT_2000TNSListener, OracleDEFAULT_2000DataGatherer, Сервер Супермага, Кассовый сервер, Почтовый сервер стартуют нормально.
При попытке войти в базу обычным способом (через Супермаг) получаю сообщение ORA-03113: end-of-file on communication channel.
При попытке коннекта через DBA Studio не происходит ничего. Окно с именем-паролем остается висеть. При нажатии Cancel - выходит. При этом в Oradim.log пишет ORA-12638: Credential retrieval failed.
При попытке подключения через SqlPlus результат следующий

SET NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
SET ORACLE_SID=DBNAME
sqlplus /nolog

SQL*Plus: Release 8.1.6.0.0 - Production on Thu Oct 1 12:38:53 2009

(c) Copyright 1999 Oracle Corporation. All rights reserved.

SQL> connect sys/qqq as sysdba
ERROR:
ORA-12571: TNS packet writer failure

Сделал полную копию Ora81, Oradata, Admin при остановленных сервисах. Рестарт машины дал следующее в DbNAMEalrt.log

Dump file d:\Oracle\admin\DBNAME\bdump\DBNAMEALRT.LOG
Thu Oct 01 12:37:20 2009
ORACLE V8.1.6.3.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.3.0.
System parameters with non-default values:
processes = 150
shared_pool_size = 157286400
large_pool_size = 614400
java_pool_size = 32768
db_file_direct_io_count = 128
control_files = d:\Oracle\oradata\DBNAME\control02.ctl, d:\Oracle\oradata\DBNAME\control03.ctl, d:\Oracle\oradata\DBNAME\control01.ctl
db_block_buffers = 65536
db_block_size = 8192
compatible = 8.1.0
log_archive_start = TRUE
log_archive_dest_1 = LOCATION=D:\ORACLE\RDBMS
log_buffer = 10158080
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 16
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 10
instance_name = DBNAME
service_names = DBNAME
sort_area_size = 4096000
sort_area_retained_size = 4096000
db_name = DBNAME
open_cursors = 100
os_authent_prefix =
job_queue_processes = 3
job_queue_interval = 60
parallel_max_servers = 5
background_dump_dest = d:\Oracle\admin\DBNAME\bdump
user_dump_dest = d:\Oracle\admin\DBNAME\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
Thu Oct 01 12:37:23 2009
ARCH: STARTING ARCH PROCESSES
ARC0 started with pid=11
Thu Oct 01 12:37:23 2009
ARCH: STARTING ARCH PROCESSES COMPLETE
Thu Oct 01 12:37:23 2009
ARC0: Archival started
Thu Oct 01 12:37:23 2009
alter database mount exclusive
Thu Oct 01 12:37:28 2009
Successful mount of redo thread 1, with mount id 3021814472.
Thu Oct 01 12:37:28 2009
Database mounted in Exclusive Mode.
Completed: alter database mount exclusive
Thu Oct 01 12:37:28 2009
alter database open
Thu Oct 01 12:37:28 2009
Rolling back half complete log switch of thread 1
***
Corrupt block relative dba: 0x0000005f file=0. blocknum=95.
Bad header found during controlfile block read
Data in bad block - type:255. format:255. rdba:0xffffffff
last change scn:0xffff.ffffffff seq:0xff flg:0xff
consistancy value in tail 0xffffffff
check value in block header: 0xffff, calculated check value: 0x0
spare1:0xff, spare2:0xff, spare2:0xffff
LGWR: terminating instance due to error 227
Instance terminated by LGWR, pid = 28284

Прошу помочь советом, заранее благодарен. Как DBA работаю в основном с SQl. C Oracle столкнулся вынужденно и отступать некуда.
01.10.2009 14:29
Цитата:
Bad header found during controlfile block read
у меня такое ощущение, что накрылся один из контрольников.
они все одинаковые. можно попробовать взять один, скопировать его в два других и поглядеть, что получится. при остановленных сервисах, конечно.
первый не подойдет - скопировать другой.

заодно настучать по голове тому, кто сложил их все на один диск:
Цитата:
control_files = d:\Oracle\oradata\DBNAME\control02.ctl, d:\Oracle\oradata\DBNAME\control03.ctl, d:\Oracle\oradata\DBNAME\control01.ctl
01.10.2009 15:29
Спасибо.
Первый не подошел, третий не подошел. Подошел второй.
Результат
Dump file d:\Oracle\admin\DBELENA\bdump\dbelenaALRT.LOG
Thu Oct 01 15:15:42 2009
ORACLE V8.1.6.3.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Thu Oct 01 15:15:42 2009
Shutting down instance (immediate)
License high water mark = 5
Thu Oct 01 15:16:47 2009
alter database close normal
Thu Oct 01 15:16:47 2009
ORA-1507 signalled during: alter database close normal...
Dump file d:\Oracle\admin\DBELENA\bdump\dbelenaALRT.LOG
Thu Oct 01 15:16:51 2009
ORACLE V8.1.6.3.0 - Production vsnsta=0
vsnsql=e vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Starting up ORACLE RDBMS Version: 8.1.6.3.0.
System parameters with non-default values:
processes = 150
shared_pool_size = 157286400
large_pool_size = 614400
java_pool_size = 32768
db_file_direct_io_count = 128
control_files = d:\Oracle\oradata\DBELENA\control02.ctl, d:\Oracle\oradata\DBELENA\control03.ctl, d:\Oracle\oradata\DBELENA\control01.ctl
db_block_buffers = 65536
db_block_size = 8192
compatible = 8.1.0
log_archive_start = TRUE
log_archive_dest_1 = LOCATION=D:\ORACLE\RDBMS
log_buffer = 10158080
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
db_files = 1024
db_file_multiblock_read_count= 16
max_enabled_roles = 30
remote_login_passwordfile= EXCLUSIVE
global_names = TRUE
distributed_transactions = 10
instance_name = DBELENA
service_names = DBELENA
sort_area_size = 4096000
sort_area_retained_size = 4096000
db_name = DBELENA
open_cursors = 100
os_authent_prefix =
job_queue_processes = 3
job_queue_interval = 60
parallel_max_servers = 5
background_dump_dest = d:\Oracle\admin\DBELENA\bdump
user_dump_dest = d:\Oracle\admin\DBELENA\udump
max_dump_file_size = 10240
oracle_trace_collection_name=
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
SNP1 started with pid=9
SNP2 started with pid=10
Thu Oct 01 15:16:54 2009
ARCH: STARTING ARCH PROCESSES
ARC0 started with pid=11
Thu Oct 01 15:16:54 2009
ARCH: STARTING ARCH PROCESSES COMPLETE
Thu Oct 01 15:16:54 2009
ARC0: Archival started
Thu Oct 01 15:16:54 2009
alter database mount exclusive
Thu Oct 01 15:16:57 2009
ORA-214 signalled during: alter database mount exclusive...

DBA Studio подключиться удалось, база в статусе Started
При входе через Супермаг выдает ошибку
ORA-01033: ORACLE initialization or shutdown in progress
01.10.2009 15:36
Message
ORA-00214:Controlfile 'string' version string inconsistent with file 'string' version string
Cause
An inconsistent set of control files, datafiles, and redo log files was used.
Action
Use a consistent set of control files, datafiles, and redo log files. That is, all the files must be for the same database and from the same time period.


По-русски: подошедший control_файл конфликтует с информацией в остальных файлах.
01.10.2009 15:39
Попробуй
сказать базе
ALTER DATABASE OPEN RESETLOGS;
и выложи сюда результат.
01.10.2009 15:42
Угу, понятно. Однако, по совету Andrew_Konev, ныне все три контрол файла - идентичные копии бывшего control02.
01.10.2009 15:45
2Mtirt
Т.е. srvplus /nolog
connect / as sysdba
ALTER DATABASE OPEN RESETLOGS
Правильно?
01.10.2009 15:48
Вынужден прерваться на час. Спасибо всем откликнувшимся. Скоро вернусь
01.10.2009 15:49
Цитата:
StriderNN Угу, понятно. Однако, по совету Andrew_Konev, ныне все три контрол файла - идентичные копии бывшего control02.
Т.е. перед тем, как начать экспериментировать, ты не сделал копию того, что осталось?
А еще на сис.админа ругаешься...
01.10.2009 15:58
Цитата:
StriderNN 2Mtirt
Т.е. srvplus /nolog
connect / as sysdba
ALTER DATABASE OPEN RESETLOGS
Правильно?
https://olegon.ru/showpost.php?p=29962&postcount=2
Часовой пояс GMT +3, время: 01:06.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.