반응형

1. 실습 환경

 

<Primary> 
OS 버전 : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)

Hostname : PTDB
DB 버전 : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
DB Name : PTDB

Instance Name : PTDB

DB Unique Name : PTDB

 

 

<Standby> 
OS 버전 : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)

Hostname : PTDB
DB 버전 : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
DB Name : PTDB

Instance Name : PTDB

DB Unique Name : PTDB_STB

 

 

2.primary와 standby 모두 standby_file_management 파라미터가 manual인 상황

[PTDB:oracle@ptdb][/home/oracle]$ ss

SQL*Plus: Release 12.2.0.1.0 Production on Wed Oct 9 22:34:39 2024 

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

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

--primary
SYS@PTDB> alter system set standby_file_management=manual scope=both;

[PTDB:oracle@dtdb][/home/oracle]$ ss

SQL*Plus: Release 12.2.0.1.0 Production on Wed Oct 9 22:35:25 2024

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

--standby
SYS@PTDB> alter system set standby_file_management=manual scope= both;

 

3. primary에서 datafile 생성 (신규 테이블스페이스 생성)

CREATE TABLESPACE TUNER_DATA4
DATAFILE '+DATA1' SIZE 100M
AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED
;

SYS@PTDB> SELECT FILE#, NAME FROM V$DATAFILE; 
10 +DATA1/PTDB_ACT/DATAFILE/tuner_data4.292.1181947065

 

4. standby의 alert log 확인

File #10 added to control file as 'UNNAMED00010' because
the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL
The file should be manually created to continue.
MRP0: Background Media Recovery terminated with error 1274
Wed Oct 09 22:37:44 2024


Errors in file /u01/app/oracle/diag/rdbms/ptdb_stb/PTDB/trace/PTDB_pr00_7987.trc:
ORA-01274: cannot add data file that was originally created as '+DATA1/PTDB_ACT/DATAFILE/tuner_data4.292.1181947065'
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Recovered data files to a consistent state at change 11752240
Wed Oct 09 22:37:44 2024
Errors in file /u01/app/oracle/diag/rdbms/ptdb_stb/PTDB/trace/PTDB_pr00_7987.trc:
ORA-01274: cannot add data file that was originally created as '+DATA1/PTDB_ACT/DATAFILE/tuner_data4.292.1181947065'
Wed Oct 09 22:37:44 2024


Errors in file /u01/app/oracle/diag/rdbms/ptdb_stb/PTDB/trace/PTDB_m000_793.trc:
ORA-01110: data file 10: '/u01/app/oracle/product/12c/db_1/dbs/UNNAMED00010'
ORA-01565: error in identifying file '/u01/app/oracle/product/12c/db_1/dbs/UNNAMED00010'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7
Checker run found 1 new persistent data failures
Wed Oct 09 22:37:45 2024

 
MRP0: Background Media Recovery process shutdown (PTDB)
SYS@PTDB> select file#, name from v$datafile; 
10 /u01/app/oracle/product/12c/db_1/dbs/UNNAMED00010

5. standby에서 데이터 파일을 수동으로 생성해줘야함

SYS@PTDB> alter system set standby_file_management='MANUAL' scope= both;
SYS@PTDB> alter database create datafile '/u01/app/oracle/product/12c/db_1/dbs/UNNAMED00010' as '+DATA1'; 
SYS@PTDB> alter system set standby_file_management='AUTO' scope=both; 

--실시간 동기화 시작
SYS@PTDB> alter database recover managed standby database using current logfile disconnect; 

SYS@PTDB> select file#, name from v$datafile; 
10 +DATA1/PTDB_STB/DATAFILE/tuner_data4.285.1181947537 
--> 제대로 생성됨

 

6. 결론

 

Standby Database의 standby_file_management 파라미터가 manual인 경우에는 데이터 파일 생성 동기화 안됨

Data Guard 동기화도 중지됨

alter database create datafile로 다시 만들어줘야함

반응형

+ Recent posts