프린트 하기

OS환경 : Oracle Linux 8.4 (64bit)

 

DB 환경 : Oracle Database 19.12.0.0 RAC ADG

 

OS 및 사전설정, ADG 구성은 아래 게시물 참조

Oracle Linux 8.4에 Oracle 19c RAC to RAC ADG 설치 가이드_Part 1(https://positivemh.tistory.com/824)

Oracle Linux 8.4에 Oracle 19c RAC to RAC ADG 설치 가이드_Part 2(https://positivemh.tistory.com/825)

Oracle Linux 8.4에 Oracle 19c RAC to RAC ADG 설치 가이드_Part 3(https://positivemh.tistory.com/826)

 

방법 : Oracle Linux 8.4에 Oracle 19c RAC to RAC ADG 설치 가이드_Part 4

기존 RAC
1번 노드 hostname : oel19db1, db_name : ORADB, db_unique_name : ORADB, ip : 192.168.137.10
1번 노드 hostname : oel19db2, db_name : ORADB, db_unique_name : ORADB, ip : 192.168.137.20

ADG 추가 구성
1번 노드(Standby) hostname : oel19adg1, db_name : ORADB, db_unique_name : ORAADG, ip : 192.168.137.50
1번 노드(Standby) hostname : oel19adg2, db_name : ORADB, db_unique_name : ORAADG, ip : 192.168.137.60

 

 

설치파일은 아래 4가지 파일을 이용함
GRID : LINUX.X64_193000_grid_home.zip
DB : LINUX.X64_193000_db_home.zip
OPatch : p6880880_190000_Linux-x86-64.zip(12.2.0.1.27)
RU : p32900083_190000_Linux-x86-64.zip
Patch 32900083 - Combo of OJVM Component Release Update 19.12.0.0.210720 + Grid Infrastructure Jul 2021 Release Update 19.12.0.0.210720
 ㄴ Patch 32895426 - Database Grid Infrastructure Jul 2021 Release Update 19.12.0.0.210720
 ㄴ Patch 32876380 - Oracle JavaVM Component Release Update 19.12.0.0.210720

 

 

real time redo apply 테스트

현재 recovery mode 확인(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
SQL>
set lines 200 pages 1000
col db_unique_name for a10
select inst_id, dest_id, db_unique_name, status, database_mode, recovery_mode, db_unique_name, gap_status 
from gv$archive_dest_status where dest_id <=2;
 
   INST_ID    DEST_ID DB_UNIQUE_ STATUS    DATABASE_MODE   RECOVERY_MODE              DB_UNIQUE_ GAP_STATUS
---------- ---------- ---------- --------- --------------- ---------------------------------- ---------- ------------------------
     1        1 NONE     VALID       OPEN        IDLE                   NONE
     1        2 ORAADG     VALID       OPEN_READ-ONLY  MANAGED REAL TIME APPLY WITH QUERY ORAADG     NO GAP
     2        1 NONE     VALID       OPEN        IDLE                   NONE
     2        2 ORAADG     VALID       OPEN_READ-ONLY  MANAGED REAL TIME APPLY WITH QUERY ORAADG     NO GAP

현재 ORAADG 가 REAL TIME APPLY 모드임

 

 

테이블 생성 및 데이터 삽입, 커밋(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SQL> create table imsidg (no number);     
 
Table created.
 
SQL> insert into imsidg values(1);
 
1 row created.
 
SQL> insert into imsidg values(2);
 
1 row created.
 
SQL> insert into imsidg values(3);
 
1 row created.
 
SQL> commit;
 
Commit complete.

 

 

현재 사용중인 백그라운드 프로세스 확인(기존 RAC 1번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
기존 RAC 1번 노드
SQL> select inst_id, client_process,process,status,sequence# from gv$managed_standby;
 
   INST_ID CLIENT_P PROCESS   STATUS        SEQUENCE#
---------- -------- --------- ------------ ----------
     1 ARCH     ARCH      CONNECTED         0
     1 N/A        DGRD      ALLOCATED         0
     1 N/A        DGRD      ALLOCATED         0
     1 ARCH     ARCH      CLOSING           21
     1 ARCH     ARCH      CLOSING           21
     1 ARCH     ARCH      CONNECTED         0
     1 LNS        LNS       CONNECTED         0
     1 LNS        LNS       WRITING           22
     1 N/A        DGRD      ALLOCATED         0
     2 ARCH     ARCH      CONNECTED         0
     2 N/A        DGRD      ALLOCATED         0
     2 N/A        DGRD      ALLOCATED         0
     2 ARCH     ARCH      CLOSING            9
     2 LNS        LNS       OPENING           10
     2 ARCH     ARCH      CLOSING            9
     2 ARCH     ARCH      OPENING            9
     2 N/A        DGRD      ALLOCATED         0
     2 LNS        LNS       WRITING           10
 
18 rows selected.
 
추가 RAC 1번 노드
   INST_ID CLIENT_P PROCESS   STATUS        SEQUENCE#
---------- -------- --------- ------------ ----------
     1 ARCH     ARCH      CONNECTED         0
     1 N/A        DGRD      ALLOCATED         0
     1 N/A        DGRD      ALLOCATED         0
     1 ARCH     ARCH      CONNECTED         0
     1 ARCH     ARCH      CONNECTED         0
     1 ARCH     ARCH      CONNECTED         0
     1 N/A        MRP0      APPLYING_LOG       22
     1 Archival RFS       IDLE            0
     1 Archival RFS       IDLE            0
     1 LGWR     RFS       IDLE           10
     1 LGWR     RFS       IDLE           22
     1 UNKNOWN  RFS       IDLE            0
     1 UNKNOWN  RFS       IDLE            0
     2 ARCH     ARCH      CONNECTED         0
     2 N/A        DGRD      ALLOCATED         0
     2 N/A        DGRD      ALLOCATED         0
     2 ARCH     ARCH      CONNECTED         0
     2 ARCH     ARCH      CONNECTED         0
     2 ARCH     ARCH      CONNECTED         0
 
19 rows selected.

기존 RAC 1번, 2번 노드는 LNS 프로세스가 내려쓰는 중임을 확인 가능함

추가 RAC 1번 노드는 MRP 프로세스는 계속 APPLYING LOG 상태임 (로그를 적용하는 상태)

추가 RAC 2번 노드는 MRP 프로세스가 내려가있는 상태임

 

 

기존 RAC 2번 노드에서 insert 를 해도 추가 RAC 2번 노드에 MRP 프로세스가 올라오진 않음(기존 RAC 2번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
기존 RAC 2번 노드
SQL> insert into imsidg values(4);
 
1 row created.
 
SQL> commit;
 
Commit complete.
 
추가 RAC 1번 노드
SQL> select inst_id, client_process,process,status,sequence# from gv$managed_standby;
 
   INST_ID CLIENT_P PROCESS   STATUS        SEQUENCE#
---------- -------- --------- ------------ ----------
     1 ARCH     ARCH      CONNECTED         0
     1 N/A        DGRD      ALLOCATED         0
     1 N/A        DGRD      ALLOCATED         0
     1 ARCH     ARCH      CONNECTED         0
     1 ARCH     ARCH      CONNECTED         0
     1 ARCH     ARCH      CONNECTED         0
     1 N/A        MRP0      APPLYING_LOG       22
     1 Archival RFS       IDLE            0
     1 Archival RFS       IDLE            0
     1 LGWR     RFS       IDLE           10
     1 LGWR     RFS       IDLE           22
     1 UNKNOWN  RFS       IDLE            0
     1 UNKNOWN  RFS       IDLE            0
     2 ARCH     ARCH      CONNECTED         0
     2 N/A        DGRD      ALLOCATED         0
     2 N/A        DGRD      ALLOCATED         0
     2 ARCH     ARCH      CONNECTED         0
     2 ARCH     ARCH      CONNECTED         0
     2 ARCH     ARCH      CONNECTED         0
 
19 rows selected.

inst 2에는 MRP 프로세스가 없음

 

 

테이블 데이터 확인(기존 RAC 1번, 2번 노드, 추가 RAC 1번, 2번 노드)

1
2
3
4
5
6
7
8
9
기존 RAC 1번, 2번 노드, 추가 RAC 1번, 2번 노드
SQL> select * from imsidg;
 
    NO
----------
     1
     2
     3
     4

동일한 값 확인 가능함

 

 

테이블 삭제 시도(추가 RAC 1번, 2번 노드)

1
2
3
4
5
6
SQL> drop table imsidg purge;
drop table imsidg purge
           *
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database or pluggable database open for read-only access

추가 RAC 노드들은 read only 모드이기 때문에 삭제는 불가능함

 

 

테이블 삭제(기존 RAC 1번 노드)

1
2
3
SQL> drop table imsidg purge;
 
Table dropped.

정상적으로 삭제됨

 

 

switchover 테스트

*switchover 와 failover 란?

S/W나 H/W의 작업에 의해 계획된 전환은 Switchover라 하며,

운영 중에 Primary의 예기치 않은 장애에 대한 전환은 Failover 라고함

 

 

switchover 테스트(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ dgmgrl sys/oracle
DGMGRL> switchover to ORAADG
Performing switchover NOW, please wait...
Operation requires a connection to database "ORAADG"
Connecting ...
Connected to "ORAADG"
Connected as SYSDBA.
New primary database "ORAADG" is opening...
Oracle Clusterware is restarting database "ORADB" ...
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to "ORADB"
Connected to "ORADB"
Switchover succeeded, new primary is "oraadg"

정상적으로 switchover됨

 

 

configuration 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ dgmgrl sys/oracle
DGMGRL> show configuration 
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORAADG - Primary database
    ORADB  - Physical standby database 
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 16 seconds ago)

정상적으로 switchover됨

 

 

failover 테스트

*switchover 와 failover 란?

S/W나 H/W의 작업에 의해 계획된 전환은 Switchover라 하며,

운영 중에 Primary의 예기치 않은 장애에 대한 전환은 Failover 라고함

 

 

failover 테스트를 위해 다시 switchover를 해서 ORADB가 primary, ORAADG이 standby로 변경됨(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ dgmgrl sys/oracle
DGMGRL> switchover to ORADB
Performing switchover NOW, please wait...
New primary database "ORADB" is opening...
Oracle Clusterware is restarting database "ORAADG" ...
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to "ORAADG"
Connected to "ORAADG"
Switchover succeeded, new primary is "oradb"
 
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORADB  - Primary database
    ORAADG - Physical standby database 
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 57 seconds ago)

 

 

primary db 인스턴스 모두 shutdown abort 실행(기존 RAC 1번 노드)

1
$ srvctl stop database -d ORADB

 

 

브로커 configuration 확인(기존 RAC 1번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
기존 RAC 1번 노드
$ dgmgrl sys/oracle
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Apr 12 13:38:32 2022
Version 19.12.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
Welcome to DGMGRL, type "help" for information.
Connected to an idle instance.
Connected as SYSDBA.
DGMGRL> show configuration
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
 
Configuration details cannot be determined by DGMGRL
 
추가 RAC 1번 노드 dgmgrl로 접속
$ dgmgrl sys/oracle@ORAADG
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Apr 12 13:39:31 2022
Version 19.12.0.0.0
 
Copyright (c) 19822019, Oracle and/or its affiliates.  All rights reserved.
 
Welcome to DGMGRL, type "help" for information.
Connected to "ORAADG"
Connected as SYSDBA.
 
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORADB  - Primary database
    Error: ORA-1034: ORACLE not available
 
    ORAADG - Physical standby database 
 
Fast-Start Failover:  Disabled
 
Configuration Status:
ERROR   (status updated 0 seconds ago)
 

기존 RAC DB가 비정상 종료 되었기 때문에 configuration 조회 불가능함

추가 RAC 에서 조회는 가능하지만 현재 기존 RAC 노드가 사용불가능 상태임을 알려줌

 

 

switchover, failover 테스트(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
기존 RAC 1번 노드
$ dgmgrl sys/oracle
DGMGRL> switchover to ORAADG
Error: 
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
 
Configuration details cannot be determined by DGMGRL
 
DGMGRL> failover to ORAADG
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
 
Configuration details cannot be determined by DGMGRL

현재 기존 RAC DB가 비정상 종료 되었기 때문에 switchover, failover이 불가능함

 

 

failover 테스트(추가 RAC 1번 노드로 접속)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ dgmgrl sys/oracle@ORAADGDR
DGMGRL> failover to ORAADG
Performing failover NOW, please wait...
Failover succeeded, new primary is "oraadg"
 
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORAADG - Primary database
    ORADB  - Physical standby database (disabled)
      ORA-16661: the standby database needs to be reinstated
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 6 seconds ago)

failover 가 성공적으로 끝남 새로운 Primary db는 ORAADGDR(기존 2번 노드)가 됨

 

 

기존 RAC 1번 노드 startup 시도(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
SQL> startup
ORACLE instance started.
 
Total System Global Area 1577054664 bytes
Fixed Size            8896968 bytes
Variable Size         1358954496 bytes
Database Buffers      201326592 bytes
Redo Buffers            7876608 bytes
Database mounted.
ORA-16649: possible failover to another database prevents this database from being opened

mount 까지는 올라오지만 open 되지 못함

 

 

상태 확인(추가 RAC 1번 노드로 접속)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORAADG - Primary database
    ORADB  - Physical standby database (disabled)
      ORA-16661: the standby database needs to be reinstated
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 57 seconds ago)
 
DGMGRL> show database ORADB     
 
Database - ORADB
 
  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      (unknown)
  Apply Lag:          (unknown)
  Average Apply Rate: (unknown)
  Real Time Query:    OFF
  Instance(s):
    ORADB1
    ORADB2
 
Database Status:
DISABLED - ORA-16661: the standby database needs to be reinstated
 
DGMGRL> show database ORAADG
 
Database - ORAADG
 
  Role:               PRIMARY
  Intended State:     TRANSPORT-ON
  Instance(s):
    ORAADG1
    ORAADG2
 
Database Status:
SUCCESS

ORADB에 대해 ORA-16661: the standby database needs to be reinstated가 발생함

기존 RAC DB는 failover로 인해 사용불가 상태가됨

재사용을 하려면 flashback database 가 on으로 되어있거나

off 인경우에는 데이터가드 재구성을 해줘야함

 

 

failover 한 db 복구(reinstate)(flashback database 가 on으로 설정되어 있어야함)

failover시 db가 open 상태였다면 open 상태에서 reinstate를 실행하면 되고

shutdown 되어있다면 startup mount 로 기동후 진행해야함

startup mount 기동(기존 RAC 1번, 2번 노드)

1
2
3
4
5
6
7
8
9
SQL> startup mount
ORACLE instance started.
 
Total System Global Area 1577054664 bytes
Fixed Size            8896968 bytes
Variable Size         1325400064 bytes
Database Buffers      234881024 bytes
Redo Buffers            7876608 bytes
Database mounted.

 

 

db 상태 확인(기존 RAC 1번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
기존 RAC 1번 노드
SQL> select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORADB              MOUNTED           PRIMARY        NOT ALLOWED
     2 ORADB              MOUNTED           PRIMARY        NOT ALLOWED
 
추가 RAC 1번 노드
SQL> select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORAADG              READ WRITE           PRIMARY        NOT ALLOWED
     2 ORAADG              READ WRITE           PRIMARY        NOT ALLOWED

싱글 ADG 에선 이 경우 기존 1번 노드에서 SWITCHOVER_STATUS가 FAILED DESTINATION 로 나타났지만 현재 테스트중인 RAC ADG에선 NOT ALLOWED로 나옴

 

 

reinstate 수행(추가 RAC 1번 노드)(flashback database 가 on으로 설정되어있어야 가능)

1
2
3
4
$ dgmgrl sys/oracle@ORAADG
DGMGRL> reinstate database 'ORADB' 
Reinstating database "ORADB", please wait...
Reinstatement of database "ORADB" succeeded

정상적으로 완료됨

 

 

설정 확인(추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$ dgmgrl sys/oracle@ORAADG
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORAADG - Primary database
    ORADB  - Physical standby database 
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 24 seconds ago)
 
DGMGRL> show database ORADB
 
Database - ORADB
 
  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 1 second ago)
  Apply Lag:          0 seconds (computed 1 second ago)
  Average Apply Rate: 14.00 KByte/s
  Real Time Query:    ON
  Instance(s):
    ORADB1 (apply instance)
    ORADB2
 
Database Status:
SUCCESS
 
DGMGRL> show database ORAADG
 
Database - ORAADG
 
  Role:               PRIMARY
  Intended State:     TRANSPORT-ON
  Instance(s):
    ORAADG1
    ORAADG2
 
Database Status:
SUCCESS

ORAADG가 primary가 되고 ORADB가 standby가 됨

 

 

db 상태 확인(기존 RAC 1번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
기존 RAC 1번 노드
SQL>
set lines 200 pages 1000
select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORADB              READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED
     2 ORADB              READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED
 
 RAC 1번 노드
SQL>
set lines 200 pages 1000
select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORAADG              READ WRITE           PRIMARY        TO STANDBY
     2 ORAADG              READ WRITE           PRIMARY        TO STANDBY

ORAADG가 primary(read write)가 되고 ORADB가 standby(read only)가 됨

 

 

다시 원래 primary와 standby로 변경하기위해 switchover(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ dgmgrl sys/oracle
DGMGRL> switchover to ORADB
Performing switchover NOW, please wait...
New primary database "ORADB" is opening...
Oracle Clusterware is restarting database "ORAADG" ...
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to "ORAADG"
Connected to "ORAADG"
Switchover succeeded, new primary is "oradb"

 

 

상태 확인(기존 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$ dgmgrl sys/oracle
DGMGRL> show configuration
 
Configuration - DR_ORADB
 
  Protection Mode: MaxPerformance
  Members:
  ORADB  - Primary database
    ORAADG - Physical standby database 
 
Fast-Start Failover:  Disabled
 
Configuration Status:
SUCCESS   (status updated 58 seconds ago)
 
DGMGRL> show database ORADB
 
Database - ORADB
 
  Role:               PRIMARY
  Intended State:     TRANSPORT-ON
  Instance(s):
    ORADB1
    ORADB2
 
Database Status:
SUCCESS
 
DGMGRL> show database ORAADG
 
Database - ORAADG
 
  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 1 second ago)
  Apply Lag:          0 seconds (computed 1 second ago)
  Average Apply Rate: 7.00 KByte/s
  Real Time Query:    ON
  Instance(s):
    ORAADG1 (apply instance)
    ORAADG2
 
Database Status:
SUCCESS

 

 

db 상태 확인(기존 RAC 1번 노드, 추가 RAC 1번 노드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
기존 RAC 1번 노드
SQL>
set lines 200 pages 1000
select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORADB              READ WRITE           PRIMARY        TO STANDBY
     2 ORADB              READ WRITE           PRIMARY        TO STANDBY
 
추가 RAC 1번 노드
SQL>
set lines 200 pages 1000
select inst_id, db_unique_name, open_mode, database_role, switchover_status from gv$database;
 
   INST_ID DB_UNIQUE_NAME          OPEN_MODE           DATABASE_ROLE    SWITCHOVER_STATUS
---------- ------------------------------ -------------------- ---------------- --------------------
     1 ORAADG              READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED
     2 ORAADG              READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED

다시 ORADB가 primary(read write)가 되고 ORAADG가 standby(read only)가 됨

 

 

failover 한 db 복구(adg 재구성)(flashback database 가 off 인 경우 adg 재구성)

추후 작성 예정

 

 

참조 : 

808783.1, 2329386.1, 1432367.1, 1130523.1, 1367311.1, 362656.1, 2804791.1, 1631552.1
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/LOG_ARCHIVE_DEST_n-parameter-attributes.html#GUID-9ACDEC6C-C2E0-4EDA-B66D-B1F819D3368D
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/troubleshooting-oracle-data-guard.html#GUID-97282862-4EA0-42D9-97EF-34E75A29F87F
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/index.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/dgbkr/index.html
https://community.oracle.com/tech/apps-infra/discussion/2453742/error-12154-received-logging-on-to-the-standby
https://community.oracle.com/mosc/discussion/3986057/ur-a-parameter-in-tnsnames-ora
https://positivemh.tistory.com/674
https://positivemh.tistory.com/761
https://positivemh.tistory.com/765
https://positivemh.tistory.com/819
https://positivemh.tistory.com/820
https://positivemh.tistory.com/821
https://positivemh.tistory.com/822
https://positivemh.tistory.com/823
https://positivemh.tistory.com/825
https://positivemh.tistory.com/826
https://positivemh.tistory.com/827
https://positivemh.tistory.com/828
https://dataforum.io/display/ORCL/Oracle+Database+19c+Data+Guard
https://blog.goodusdata.com/95
https://blog.goodusdata.com/176
https://tawool.tistory.com/213
https://medium.com/@limaemerson/setting-active-data-guard-physical-standby-in-rac-one-nodes-architecture-part-1-3afcf5325eff
https://www.cndba.cn/zhoushao12/article/3674
https://floo.bar/2019/06/18/oracle-data-guard-broker-18-new-validate-network-configuration-command/
https://oracledbwr.com/step-by-step-configuration-of-data-guard-broker-for-rac-database/
https://dba.stackexchange.com/questions/285729/oracle-19c-with-sap-system-ora-12154-tnscould-not-resolve-the-connect-identi