반응형
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로 다시 만들어줘야함
반응형