Oacle11g dataguard 메 인 라 이브 러 리 백업 이 테스트 환경 라 이브 러 리 로 복구 되 었 습 니 다. 오류 보고: ORA - 19502: write error on file

26110 단어 Oacle11g
1. Oacle 인 스 턴 스 시작 오류:
SQL> startup nomount
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-00439: feature not enabled: Managed Standby
SQL> 

SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-00439: feature not enabled: Managed Standby
SQL> 

2. 배경 alert 로그 trac 로그 가 다음 과 같이 잘못 되 었 습 니 다.
ORA-00439: feature not enabled: Managed Standby
Thu Dec 03 11:39:24 2015
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Errors in file /oracle/app/oracle/diag/rdbms/pdunq/powerdes/trace/powerdes_ora_5717.trc:
ORA-00439: feature not enabled: Managed Standby

분석: 시작 매개 변수 가 잘못 되 었 기 때문에 시작 매개 변 수 를 보완 해 야 합 니 다.
3, 매개 변수 파일 내 보 내기
SQL> create pfile='/oracle/pfile1203.ora' from spfile;

File created.

SQL> 

매개 변수 파일 내용 은 다음 과 같 습 니 다.
powerdes.__db_cache_size=3087007744
powerdes.__java_pool_size=67108864
powerdes.__large_pool_size=67108864
powerdes.__oracle_base='/oracle/app/oracle'#ORACLE_BASE set from environment
powerdes.__pga_aggregate_target=3959422976
powerdes.__sga_target=7449083904
powerdes.__shared_io_pool_size=0
powerdes.__shared_pool_size=4026531840
powerdes.__streams_pool_size=134217728
*.audit_file_dest='/oracle/app/oracle/admin/powerdes/adump'
*.audit_sys_operations=TRUE
*.audit_trail='NONE'
*.compatible='11.2.0.0.0'
*.control_files='/home/oradata/powerdes/control01.ctl','/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/home/oradata/powerdes','/home/oradata/pwerdes'
*.db_name='powerdes'
*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=16106127360
*.db_unique_name='pdunq'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=powerdesXDB)'
*.fal_client='PD'
*.fal_server='PD_DG'
*.global_names=FALSE
*.job_queue_processes=1000
*.log_archive_config='DG_CONFIG=(pdunq,pddgunq)'
*.log_archive_dest_1='LOCATION=/oracle/app/oracle/flash_recovery_area/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pdunq'
*.log_archive_dest_2='SERVICE=PD_DG VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pddgunq lgwr sync affirm'
*.log_archive_dest_3=''
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='defer'
*.log_archive_dest_state_3='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=20
*.log_archive_start=FALSE
*.log_file_name_convert='/home/oradata/powerdes','/home/oradata/powerdes'
*.memory_target=11379146752
*.open_cursors=300
*.optimizer_index_caching=90
*.optimizer_index_cost_adj=25
*.optimizer_mode='FIRST_ROWS'
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=335
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'

dataguard 에 대한 설정 정보 가 많 습 니 다. 제거 해 야 합 니 다.
4, 매개 변수 파일 수정
archive 제거dest:
*.log_archive_config='DG_CONFIG=(pdunq,pddgunq)'
*.log_archive_dest_2='SERVICE=PD_DG VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pddgunq lgwr sync affirm'
*.log_archive_dest_3=''
*.log_archive_dest_state_2='defer'
*.log_archive_dest_state_3='ENABLE'
*.log_file_name_convert='/home/oradata/powerdes','/home/oradata/powerdes'

제거 하 다
*.fal_client='PD'
*.fal_server='PD_DG'

standby 제거
*.standby_file_management='AUTO'

pfile 1203 로 저장01.ora:
powerdes.__db_cache_size=3087007744
powerdes.__java_pool_size=67108864
powerdes.__large_pool_size=67108864
powerdes.__oracle_base='/oracle/app/oracle'#ORACLE_BASE set from environment
powerdes.__pga_aggregate_target=3959422976
powerdes.__sga_target=7449083904
powerdes.__shared_io_pool_size=0
powerdes.__shared_pool_size=4026531840
powerdes.__streams_pool_size=134217728
*.audit_file_dest='/oracle/app/oracle/admin/powerdes/adump'
*.audit_sys_operations=TRUE
*.audit_trail='NONE'
*.compatible='11.2.0.0.0'
*.control_files='/home/oradata/powerdes/control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/home/oradata/powerdes','/home/oradata/pwerdes'
*.db_name='powerdes'
*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=16106127360
*.db_unique_name='pdunq'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=powerdesXDB)'
*.global_names=FALSE
*.job_queue_processes=1000
*.log_archive_dest_1='LOCATION=/oracle/app/oracle/flash_recovery_area/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pdunq'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=20
*.log_archive_start=FALSE
*.log_file_name_convert='/home/oradata/powerdes','/home/oradata/powerdes'
*.memory_target=11379146752
*.open_cursors=300
*.optimizer_index_caching=90
*.optimizer_index_cost_adj=25
*.optimizer_mode='FIRST_ROWS'
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=335
*.undo_tablespace='UNDOTBS1'

5, 매개 변수 파일 재 생 성
SQL> create spfile from pfile='/oracle/pfile1203_01.ora';

File created.

SQL> 
#         
SQL> create pfile from spfile;

File created.

SQL> 

6, nomount 로 다시 시작
SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

Total System Global Area 1.1358E+10 bytes
Fixed Size          2216744 bytes
Variable Size        8254393560 bytes
Database Buffers     3087007744 bytes
Redo Buffers           13946880 bytes
SQL> 

7, 제어 파일 복구 시작
RMAN> restore controlfile to '/home/oradata/powerdes/control01.ctl' from '/oracle/ctl_auto/c-3391761643-20151202-02';

Starting restore at 03-DEC-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=771 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 03-DEC-15

RMAN> 

원래 블 로그 주소:http://blog.csdn.net/mchdba/article/details/50166153, 전재 사절.
8, mount 로 불 러 오기
RMAN> alter database mount; 

database mounted
released channel: ORA_DISK_1

RMAN> 

9, 카탈로그 명령 으로 RMAN 백업 세트 등록
RMAN> catalog start with '/oracle/2015-12-02/';

Starting implicit crosscheck backup at 03-DEC-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=771 device type=DISK
Crosschecked 6 objects
Finished implicit crosscheck backup at 03-DEC-15

Starting implicit crosscheck copy at 03-DEC-15
using channel ORA_DISK_1
Crosschecked 2 objects
Finished implicit crosscheck copy at 03-DEC-15

searching for all files in the recovery area
cataloging files...
no files cataloged

searching for all files that match the pattern /oracle/2015-12-02/

List of Files Unknown to the Database =====================================
File Name: /oracle/2015-12-02/pfile01.ora
File Name: /oracle/2015-12-02/rman_backup.log File Name: /oracle/2015-12-02/full_POWERDES_20151202_5052.bak
File Name: /oracle/2015-12-02/cntrl_5053_1_897427575 File Name: /oracle/2015-12-02/cntrl_5055_1_897427607

Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done

List of Cataloged Files =======================
File Name: /oracle/2015-12-02/full_POWERDES_20151202_5052.bak File Name: /oracle/2015-12-02/cntrl_5053_1_897427575
File Name: /oracle/2015-12-02/cntrl_5055_1_897427607 List of Files Which Where Not Cataloged =======================================
File Name: /oracle/2015-12-02/pfile01.ora
 RMAN-07517: Reason: The file header is corrupted
File Name: /oracle/2015-12-02/rman_backup.log RMAN-07517: Reason: The file header is corrupted RMAN> 

10, 전체 라 이브 러 리 복구 시작
앞에서 전체 spfile 이 controlfile 로 복원 되 었 기 때문에 다음 에 모든 라 이브 러 리 를 복원 하면 파 라 메 터 를 가지 고 있 지 않 고 restore database 를 복원 하면 됩 니 다.rman 의 restore 회복 이 이상 한 문제 에 부 딪 혔 습 니 다.
RMAN> restore database;

Starting restore at 03-DEC-15
using channel ORA_DISK_1

skipping datafile 7; already restored to file /home/oradata/powerdes/pl01.dbf
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/oradata/powerdes/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /home/oradata/powerdes/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /home/oradata/powerdes/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /home/oradata/powerdes/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /home/oradata/powerdes/powerdesk01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/oradata/powerdes/plas01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /home/oradata/powerdes/help01.dbf
channel ORA_DISK_1: restoring datafile 00009 to /home/oradata/powerdes/adobelc01.dbf
channel ORA_DISK_1: restoring datafile 00010 to /home/oradata/powerdes/sms01.dbf
channel ORA_DISK_1: restoring datafile 00011 to /home/oradata/powerdes/plcrm01.dbf
channel ORA_DISK_1: restoring datafile 00012 to /home/oradata/powerdes/powerdesk02.dbf
channel ORA_DISK_1: restoring datafile 00013 to /home/oradata/powerdes/datagm01.dbf
channel ORA_DISK_1: reading from backup piece /oracle/2015-12-02/full_POWERDES_20151202_5052.bak
channel ORA_DISK_1: ORA-19870: error while restoring backup piece /oracle/2015-12-02/full_POWERDES_20151202_5052.bak
ORA-19502: write error on file "/home/oradata/powerdes/plcrm01.dbf", block number 37952 (block size=8192)
ORA-27072: File I/O error
Linux-x86_64 Error: 25: Inappropriate ioctl for device
Additional information: 4
Additional information: 37952
Additional information: 425984

failover to previous backup

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/03/2015 15:21:51
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore

RMAN> 

문 제 는 디스크 가 부족 하기 때 문 입 니 다. / home 디 렉 터 리 가 10g 이 넘 기 때문에 매 핑 / oracle 디 렉 터 리 를 만 듭 니 다. 이 / oracle 디 렉 터 리 는 200 여 개의 G 크기 입 니 다.
mkdir -p /home/oradata
ln -s /oracle/app/oracle/oradata/powerdes /home/oradata/powerdes

그리고 복원 복원 을 계속 실행 하고 복원 에 성 공 했 습 니 다. 다음 과 같 습 니 다.
RMAN> restore database;

Starting restore at 03-DEC-15
using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/oradata/powerdes/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /home/oradata/powerdes/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /home/oradata/powerdes/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /home/oradata/powerdes/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /home/oradata/powerdes/powerdesk01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/oradata/powerdes/plas01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /home/oradata/powerdes/pl01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /home/oradata/powerdes/help01.dbf
channel ORA_DISK_1: restoring datafile 00009 to /home/oradata/powerdes/adobelc01.dbf
channel ORA_DISK_1: restoring datafile 00010 to /home/oradata/powerdes/sms01.dbf
channel ORA_DISK_1: restoring datafile 00011 to /home/oradata/powerdes/plcrm01.dbf
channel ORA_DISK_1: restoring datafile 00012 to /home/oradata/powerdes/powerdesk02.dbf
channel ORA_DISK_1: restoring datafile 00013 to /home/oradata/powerdes/datagm01.dbf
channel ORA_DISK_1: reading from backup piece /oracle/2015-12-02/full_POWERDES_20151202_5052.bak
channel ORA_DISK_1: piece handle=/oracle/2015-12-02/full_POWERDES_20151202_5052.bak tag=TAG20151202T211859
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:25:45
Finished restore at 03-DEC-15

RMAN> 

11, recover 데이터베이스
RMAN> recover database;

Starting recover at 03-DEC-15
using channel ORA_DISK_1

starting media recovery

RMAN-08187: WARNING: media recovery until SCN 11702491357 complete
Finished recover at 03-DEC-15

RMAN> 

12, 데이터베이스 열기
alter database open resetlogs;  
RMAN> alter database open resetlogs;  

database opened

RMAN> 

13, 로그 인 인증
[oracle@oracle_yueworld admin]$ rlwrap sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 3 21:03:53 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL> select status from v$instance;

STATUS ------------
OPEN

SQL> 

좋은 웹페이지 즐겨찾기