ORACLE/Backup & Recovery2008. 11. 28. 16:18
반응형
 Partition table 복원 작업내용 (동일 장비에서 다른 SID로 복원하기)
 
1)      Recovery에 필요한 파일 Copy
 이전의 백업 데이터파일 중 SYSTEM, UNDO, TS_PT_30(해당 테이블이 포함된 테이블
        스페이스)  Datafile, 오라클 환경 설정 파일만 임시 디렉토리로 복원한다
 
l       Recovery에 필요한 Tablespace
 
           TS_PT_30
SYSTEM
             UNDOTBS1
 
l       필요한 Oracle 파일
 
initRECOVER.ora  (initTEST.ora 복사)
orapwRECOVER   (orapwTEST password file 복사)
 
2)      환경에 맞게 initSID.ora 파일 수정
 
l       Archive를 적용하지 않기 때문에 Archive 관련 파라미터는 주석처리 한다.
-         LOG_ARCHIVE_DEST, LOG_ARCHIVE_START 주석 처리
 
l       Cold Backup 본이 아닌 Hot Backup 본으로 비정상적인 Open 이므로
    _OFFLINE_ROLLBACK_SEGMENTS, _CORRUPTED_ROLLBACK_SEGMENTS
    _ALLOW_RESETLOGS_CORRUPTION를 세팅한다.
 
l       _OFFLINE_ROLLBACK_SEGMENTS, _CORRUPTED_ROLLBACK_SEGMENTS 관련
Parameter를 세팅 하므로 Undo Tablespace 관련 Parameter를 주석처리 한다.
    - undo_management='MANUAL'로 세팅한다.
   
initRECOVER.ora  (기존 initTEST.ora 수정)
============================================================
 
background_dump_dest='/oracle9/app/oracle/admin/RECOVER/bdump'
*.compatible='9.2.0'
control_files='/home/oracle/control01.ctl'
core_dump_dest='/oracle9/app/oracle/admin/RECOVER/cdump'
*.db_block_size=8192
*.db_cache_size=1073741824
*.db_name='RECOVER'
*.java_pool_size=0
*.job_queue_processes=2
*.large_pool_size=41943040
# LOG_ARCHIVE_DEST='/arch'
# LOG_ARCHIVE_FORMAT='arcTEST_%s.arc'
# LOG_ARCHIVE_START=TRUE
*.open_cursors=500
*.pga_aggregate_target=1073741824
*.processes=500
*.query_rewrite_enabled='true'
*.service_names='RECOVER'
*.shared_pool_size=629145600
*.star_transformation_enabled='FALSE'
undo_management='MANUAL'
user_dump_dest='/oracle9/app/oracle/admin/RECOVER/udump'
 
*._OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$,_SYSSMU1
2$,_SYSSMU13$,_SYSSMU14$,_SYSSMU15$,_SYSSMU16$,_SYSSMU17$,_SYSSMU18$,_SYSSMU19$,_SYSSMU20$,_SYSSMU21$,_SYSSMU22$,_SYSSMU23$,_SYSSMU24$,_SYSSMU25$,_SYS
SMU26$,_SYSSMU27$,_SYSSMU28$,_SYSSMU29$,_SYSSMU30$,_SYSSMU31$,_SYSSMU32$,_SYSSMU33$,_SYSSMU34$,_SYSSMU35$,_SYSSMU36$,_SYSSMU37$,_SYSSMU38$,_SYSSMU39$,
_SYSSMU40$,_SYSSMU41$,_SYSSMU42$,_SYSSMU43$,_SYSSMU44$,_SYSSMU45$,_SYSSMU46$,_SYSSMU47$,_SYSSMU48$,_SYSSMU49$,_SYSSMU50$,_SYSSMU51$,_SYSSMU52$,_SYSSMU
53$,_SYSSMU54$,_SYSSMU55$,_SYSSMU56$,_SYSSMU57$,_SYSSMU58$,_SYSSMU59$)
 
*._CORRUPTED_ROLLBACK_SEGMENTS=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$,_SYSSM
U12$,_SYSSMU13$,_SYSSMU14$,_SYSSMU15$,_SYSSMU16$,_SYSSMU17$,_SYSSMU18$,_SYSSMU19$,_SYSSMU20$,_SYSSMU21$,_SYSSMU22$,_SYSSMU23$,_SYSSMU24$,_SYSSMU25$,_S
YSSMU26$,_SYSSMU27$,_SYSSMU28$,_SYSSMU29$,_SYSSMU30$,_SYSSMU31$,_SYSSMU32$,_SYSSMU33$,_SYSSMU34$,_SYSSMU35$,_SYSSMU36$,_SYSSMU37$,_SYSSMU38$,_SYSSMU39
$,_SYSSMU40$,_SYSSMU41$,_SYSSMU42$,_SYSSMU43$,_SYSSMU44$,_SYSSMU45$,_SYSSMU46$,_SYSSMU47$,_SYSSMU48$,_SYSSMU49$,_SYSSMU50$,_SYSSMU51$,_SYSSMU52$,_SYSS
MU53$,_SYSSMU54$,_SYSSMU55$,_SYSSMU56$,_SYSSMU57$,_SYSSMU58$,_SYSSMU59$)
 
*._ALLOW_RESETLOGS_CORRUPTION=TRUE
 
3)      강제로 DB OPEN
 
[oracle:/oracle9/app/oracle/product/9.2.0/dbs]echo $ORACLE_SID
TEST
[oracle:/oracle9/app/oracle/product/9.2.0/dbs]export ORACLE_SID=RECOVER
 
[oracle:/oracle9/app/oracle/product/9.2.0/dbs]echo $ORACLE_SID
RECOVER
 
[oracle:/oracle9/app/oracle/product/9.2.0/dbs]sqlplus "/as sysdba"
 
SQL*Plus: Release 9.2.0.8.0 - Production on Wed Oct 1 15:21:44 2008
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
Connected to an idle instance.
 
SQL> startup nomount
ORACLE instance started.
 
Total System Global Area 1985971832 bytes
Fixed Size                   743032 bytes
Variable Size             754974720 bytes
Database Buffers         1224736768 bytes
Redo Buffers                5517312 bytes
Database mounted.
 
SQL> CREATE CONTROLFILE SET DATABASE "RECOVER" RESETLOGS NOARCHIVELOG
    MAXLOGFILES 64
    MAXLOGMEMBERS 3
    MAXDATAFILES 2000
    MAXINSTANCES 1
    MAXLOGHISTORY 17697
LOGFILE
  GROUP 1 ('/imsi/Oracle/redo01.log') SIZE 30M,
  GROUP 2 ('/imsi/Oracle/redo02.log') SIZE 30M,
  GROUP 3 ('/imsi/Oracle/redo03.log') SIZE 30M,
  GROUP 4 ('/imsi/Oracle/redo04.log') SIZE 30M
-- STANDBY LOGFILE
DATAFILE
  '/dev/rsystem',
  '/dev/rundo_01',
  '/dev/rundo_02',
   '/dev/rrec_01',
  '/dev/rrec_02',
  '/dev/rrec_03'
 CHARACTER SET KO16KSC5601
;
 
<=  SID를 Recover라고 변경해서 Open한다.
 
 
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
 
    ß 비정상 적인 불완전 복원 이기 때문에 Resetlogs Open해야 한다.
 
SQL> alter database open resetlogs;
Database altered.
 
4)      복원된 table Export & Import 수행을 한다.
 
[oracle:/temp]exp scott/oracle  file=exp1001.dmp tables=TBPT:PT_200910 log=exp1001.log


 






반응형
Posted by [PineTree]