Oacle 의 일련의 오류 해결: ORA - 00603 ORA - 01595 ORA - 00600

필자 의 작업 환경 에 여러 대의 Oacle 10G 데이터 베 이 스 는 모두 64bit 입 니 다. 필자 가 유지 하 는 Oacle 은 필요 하지 않 으 면 서버 를 다시 시작 하지 않 습 니 다. 서버 를 다시 시작 하려 면 먼저 Oacle 을 정확하게 닫 고 다시 시작 해 야 합 니 다.  사람 이 완벽 한 사람 이 없 으 면 누구나 실 수 를 할 수 있 습 니 다. 그 중 한 대의 온라인 Oacle 관리자 가 실 수 를 해서 Oacle 서버 를 직접 재 부팅 했 습 니 다. 재 부팅 한 후에 데이터 베 이 스 는 ora - 00603: ORACLE server session terminated by fatal error 를 알 립 니 다. sqlplus 로 Oacle 에 로그 인 합 니 다.
?
1
2
3 su - oracle alter system set events '10046 trace name context off'; alter system set timed_statistics=false;
그리고 Oacle 을 다시 시작 합 니 다. 결국 오류 가 발생 했 습 니 다. Oacle 로그 디 렉 터 리 에 가서 trace 파일 을 찾 았 습 니 다.
?
1
2
3
4
5
6 cd /data0/oracle/admin/dzinfoiims/bdump/ cat dzinfoiims_smon_6401.trc SMON: following errors trapped and ignored: ORA-01595: error freeing extent (4) of rollback segment (1)) ORA-00607: Internal error occurred while making a change to a data block ORA-00600: internal error code, arguments: [4194], [62], [32], [], [], [], [], []
마지막 몇 줄 은 ora - 01595 를 표시 합 니 다. 알림 에 따라 Oacle 을 잘못 닫 아서 스크롤 백 에 실 패 했 습 니 다. 기본적으로 undo 표 공간 이 손상 되 었 다 고 단정 할 수 있 지만 undo 파일 을 재 구축 할 수 있 습 니 다.
1) pfile 생 성
?
1 SQL> create pfile from spfile
pfile 인자 수정:
?
1
2
3 #*.undo_management='AUTO' *.undo_management='MANUAL' _allow_resetlogs_corruption=true
2) pfile 로 데이터베이스 시작
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22 SQL> startup mount pfile='/data0/oracle/product/10.2.0/db_1/dbs/initdzinfoiims.ora'; ORACLE instance started. Total System Global Area  612368384 bytes Fixed Size                  2085872 bytes Variable Size             373296144 bytes Database Buffers          230686720 bytes Redo Buffers                6299648 bytes Database mounted. SQL> show parameter undo NAME                                 TYPE ------------------------------------ ---------------------- VALUE ------------------------------ undo_management                      string MANUAL undo_retention                       integer 900 undo_tablespace                      string UNDOTBS1 SQL> alter database open; Database altered.
3) 새 undo 테이블 공간 undotbs 2
?
1
2
3
4
5
6
7 SQL> create undo tablespace undotbs2 datafile '/data0/oracle/oradata/dzinfoiims/undotbs02.dbf' size 1G; table space created. SQL> drop tablespace undotbs1; The deleted table space . SQL> alter tablespace undotbs2 rename to undotbs1; table space was alted.
4) spfile 로 데이터베이스 다시 시작
?
01
02
03
04
05
06
07
08
09
10
11
12 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 5016387584 bytes Fixed Size                  2027640 bytes Variable Size             671092616 bytes Database Buffers         4328521728 bytes Redo Buffers               14745600 bytes Database mounted.
여기 서 끝 날 줄 알 았 는데 표 조회 가 두 개 있 는데 ORA - 00600: internal error code, arguments: [kdsgrp 1], [], [], [], [], [], [], [], [], []
이것 은 Oacle 의 bug 입 니 다.
alter 로 그 를 통 해 그 시계 에 문제 가 있 는 지 확인 할 수 있 습 니 다.
dba 상태 에서
execute dbms_stats.delete_table_stats('iims','bbs_message_map');
PL/SQL procedure successfully completed.
이 시 계 를 받 으 면 select 는 괜 찮 습 니 다.
본문 은 효 휘 의 블 로 그 를 전재 하 였 다.http://www.zjyxh.com/archives/201312/oracle_errors.html

좋은 웹페이지 즐겨찾기