Tibero

게시글 보기
작성자 유건데이타 등록일 2015-12-24
제목 Tibero 불완전복구 오라클로치면 히든파라미터)


티베로 운영중에 OS 를 강제로 shutdown 시키면 redo 가 깨져서 다시 기동 시에 아래와 같은 메시지와 함께 MOUNT 로 올라가는 것으로 확인되는 경우가 있습니다.




$ tbboot

Listener port = 8629

Change core dump dir to /oracle/tibero/tibero5/bin/prof.

********************************************************
* Critical Warning : Raise svmode failed. The reason is
* TBR-1018 : Bad log group 2 (restored online redo log file?).
* Current server mode is MOUNT.
********************************************************

이런 경우 불완전 복구를 수행하게 되는데, 만약 노아카이브로 운영중 이였다면 아래 히든 파라미터를 적용하여 기동이 가능 합니다.




2. 수행 순서


1. TIP 히든 파라미터 적용

_ALLOW_RESETLOGS_CLEAR=Y (RESETLOGS 로 기동) ###### 오라클이면 _allow_resetlogs_corruption=true
_TX_RECOVERY_SUSPEND=Y (RECOVERY 무시하고 강제 기동)

2. tbboot -t resetlogs

3. 정상 기동 확인

4. sql> commit force corrupt_xid_all; (TX 강제 commit)

5. tbdown => 파라미터 삭제 => tbboot

하지만 해당 파라미터는 정합성을 무시하고 기동되기 때문에 운영 시점의 RUNNING 중인 DML 에서 관련된 테이블의 데이터가 깨질 수 도 있습니다.




3. tracelog 에 error 발생 시, 확인 가능


-- tracelog

failed to get rp with examine. tsid=5, sgmt=889267, dba_723_01932041, rowno=41
Internal Error with condition 'false' (xi_exam.c:77) (pid=29523, tid=1160)

위 에러에서 sgmt=889267 이 보이는데 아래와 같이 확인 할 수 있습니다.

-- tbsql (SYS 계정 접속)


SQL> select * from _dd_tbl where sgmt_id='889267';

OBJ_ID SGMT_ID TS_ID COL_CNT SHDRDBA PCTFREE PCTFREE_BYTES
---------- ---------- ---------- ---------- ---------- ---------- -------------
INITRANS ROW_CNT BLK_CNT FLAGS AUDIT_FLAGS
---------- ---------- ---------- ---------- ------------------------------------
DOP AVG_RLN ANALYZETIME
---------- ---------- --------------------------------
889267 889267 5 40 561123280 10 819
2 24644987.4 439168 0
------------------------------------ 0 240.622482
2014-09-18 134249

1 row selected.

SQL> select * from all_objects where object_id='889267'; (검색한 OBJ_ID 를 object_id 조건절로 search)

OWNER
--------------------------------------------------------------------------------
OBJECT_NAME
--------------------------------------------------------------------------------
SUBOBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_ID OBJECT_TYPE OBJECT_TYPE_NO CREATED
---------- -------------------- -------------- --------------------------------
LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY
-------------------------------- ------------------- ------- ---------
NMSSTAT
TB_PMCIRCUIT
889267 TABLE 1 2014-09-16 132314
2014-11-04 105010 2014-09-16:15:46:55 VALID N

1 row selected.


해당 object_name 이 테이블 TB_PMCIRCUIT 이라는 것으로 확인 되었고, 테이블은 truncate 하거나 재구성을 해야 합니다



참고자료 technet
Comment
등록된 코멘트가 없습니다.