Oracle 11gR2 RAC + DG4를 다시 수행하십시오.
파트 3은 dg 대기 라이브러리에 대한 RAC 기본 라이브러리의 로그 동기화를 완료했습니다.. 이 부분은 dg standby 데이터베이스 응용 프로그램에 의해 동기화된 로그를 구성합니다..
그런 다음 RAC 및 dg의 역할 교환 완료.
대기 데이터베이스가 로그를 적용하는지 확인
SQL> 시퀀스 선택# ,이름 ,v$archived_log에서 적용됨;
SEQUENCE# 이름 적용됨
———- ———————————————————————- ———
24 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_24.264.915256125 아니요
22 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_22.262.915256125 아니요
23 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_23.263.915256125 아니요
26 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_26.265.915256129 아니요
25 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_25.266.915256129 아니요
27 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_27.267.915256129 아니요
28 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_28.268.915256129 아니요
29 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_29.269.915256129 아니요
32 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_32.270.915256129 아니요
30 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_30.272.915256129 아니요
31 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_31.271.915256129 아니요
적용된 속성이 NO입니다.,dg standby database는 아직 동기화된 redo 로그를 적용하지 않았습니다..
SQL> 데이터베이스 변경 현재 로그 파일 연결 해제를 사용하여 관리되는 대기 데이터베이스 복구
세션에서;
데이터베이스가 변경됨.
선택 시퀀스를 다시 실행# ,이름 ,v$archived_log에서 적용됨; 동기화됨을 찾았습니다.
SEQUENCE# 이름 적용됨
———- ———————————————————————- ———
24 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_24.264.915256125 예
22 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_22.262.915256125 예
23 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_23.263.915256125 예
26 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_26.265.915256129 예
25 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_25.266.915256129 예
27 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_27.267.915256129 예
28 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_28.268.915256129 예
29 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_29.269.915256129 예
32 +FLASH/phydb/archivelog/2016_06_23/thread_1_seq_32.270.915256129 예
30 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_30.272.915256129 예
31 +플래시/phydb/archivelog/2016_06_23/thread_1_seq_31.271.915256129 예
마운트 상태에서 열린 상태로 dg 전환, 그러나 전환하기 전에 이 로그를 적용하려면 d를 닫아야 합니다..
SQL> 데이터베이스 열기 변경;
데이터베이스가 변경됨.
dg 상태 보기
SQL > 선택 dbid,이름,switchover_status,db_unique_name,database_role,
open_mode,v$database의 current_scn;
로그 다시 적용
SQL> 데이터베이스 변경 현재 로그 파일 연결 해제를 사용하여 관리되는 대기 데이터베이스 복구
세션에서;
데이터베이스가 변경됨.
RAC 메인 데이터베이스와 dg 스탠바이 데이터베이스의 데이터 테스트
node1과 gd 모두 select file_name을 실행합니다.,dba_data_files의 tablespace_name에서 데이터 파일이 일치함을 발견했습니다..
SQL> file_name 선택,dba_data_files의 tablespace_name;
FILE_NAME TABLESPACE_NAME
———————————————————— ——————————
+DATA/devdb/datafile/users.259.914028331 사용자
+데이터/devdb/datafile/undotbs1.258.914028331 UNDOTBS1
+DATA/devdb/datafile/sysaux.257.914028331 SYSAUX
+DATA/devdb/datafile/system.256.914028329 시스템
+DATA/devdb/datafile/example.264.914028635 예
+데이터/devdb/datafile/undotbs2.265.914028947 UNDOTBS2
6 선택된 행.
RAC는 원래 테이블스페이스를 봅니다., 테이블스페이스 생성, 테이블스페이스 경로 보기,테이블스페이스 확인
SQL >테이블스페이스 생성 dg_tbs 데이터 파일 크기 5m;
SQL >매개변수 db_create_file 표시;
SQL> file_name 선택,dba_data_files의 tablespace_name;
SQL> file_name 선택,dba_data_files의 tablespace_name;
FILE_NAME TABLESPACE_NAME
———————————————————— ——————————
+DATA/devdb/datafile/users.259.914028331 사용자
+데이터/devdb/datafile/undotbs1.258.914028331 UNDOTBS1
+DATA/devdb/datafile/sysaux.257.914028331 SYSAUX
+DATA/devdb/datafile/system.256.914028329 시스템
+DATA/devdb/datafile/example.264.914028635 예
+데이터/devdb/datafile/undotbs2.265.914028947 UNDOTBS2
+DATA/devdb/datafile/dg_tbs.269.265.917493135 DG_TBS
7 선택된 행.
dg 대기 데이터베이스 실행 select file_name,dba_data_files의 tablespace_name;
dg standby 데이터베이스가 테이블의 빈 부분을 동기화했음을 보여줍니다..
RAC 메인 라이브러리가 테이블스페이스 삭제
SQL >내용 및 데이터 파일을 포함하는 테이블 공간 dg_tbs 삭제;
테이블스페이스 삭제됨
dg standby database는 기존 테이블 공간을 확인합니다.
위 사진에서 보듯이,메인 데이터베이스가 테이블스페이스를 삭제할 때,대기 데이터베이스에 해당하는 테이블스페이스도 사라졌습니다..
RAC 메인 라이브러리와 dg 스탠바이 라이브러리의 역할이 바뀝니다.
RAC에서 실행
SQL > 시스템 세트 변경 fal_client='devdb' sid='devdb1';
시스템 변경.
SQL > 시스템 세트 변경 fal_client='devdb' sid='devdb2';
시스템 변경.
SQL > 변경 시스템 세트 fal_server='phydb' sid='*';
시스템 변경.
node1 및 node2 실행
매개변수 spfile 표시;
RAC 메인 라이브러리는 대기 로그 파일을 생성합니다.;
생성하기 전에 로컬 로그 그룹을 확인하십시오.
SQL> 고르다 * v $ logfile에서;
GROUP# 상태 유형 회원 IS_
———- ——- ——- ———————————————————— —
2 온라인 +DATA/phydb/onlinelog/group_2.270.915262415 아니요
2 온라인 +FLASH/phydb/onlinelog/group_2.289.915262423 예
1 온라인 +DATA/phydb/onlinelog/group_1.269.915262411 아니요
1 온라인 +FLASH/phydb/onlinelog/group_1.288.915262415 예
3 온라인 +DATA/phydb/onlinelog/group_3.271.915262423 아니요
3 온라인 +FLASH/phydb/onlinelog/group_3.290.915262429 예
4 온라인 +DATA/phydb/onlinelog/group_4.272.915262429 아니요
4 온라인 +FLASH/phydb/onlinelog/group_4.291.915262433 예
로컬 로그 그룹이 1, 2, 3, 4임을 알 수 있습니다. ; 따라서 대기 로그 파일을 생성할 때 위의 로그와 중복될 수 없습니다.
SQL > 데이터베이스 변경 대기 로그 파일 스레드 추가 1 그룹 5 크기 50m, 그룹 6 크기 50m,
그룹 7 크기 50m;
데이터베이스가 변경됨.
SQL > 데이터베이스 변경 대기 로그 파일 스레드 추가 2 그룹 8 크기 50m, 그룹 9 크기 50m,
그룹 10 크기 50m;
데이터베이스가 변경됨.
RAC 메인 라이브러리는 db_file_name_convert 및 log_file_name_convert 매개변수를 수정합니다.
매개변수의 기능은 주 라이브러리와 대기 라이브러리의 디스크 구조 불일치를 처리하는 것입니다.,같은: 주 데이터베이스 디스크 그룹 데이터 대기 데이터베이스 디스크 그룹 datadg,
향후 데이터 디스크 그룹에 테이블스페이스 생성,
그리고 대기 데이터베이스는 이 테이블 공간을 얻습니다.,테이블 공간에는 데이터 디스크 그룹이 포함됩니다., 대기 데이터베이스에 데이터 디스크 그룹이 없습니다., 따라서 이러한 매개변수는 이전 디스크 그룹을 변경하는 데 필요합니다.
데이터를 새로운 디스크 그룹인 datadg로 변환하지 않으면 대기 데이터베이스에 데이터 디스크 그룹이 없기 때문에 테이블스페이스를 생성할 수 없다..
SQL >변경 시스템 세트 db_file_name_convert='+DATA/phydb/' , '+DATA/devdb/' sid='*' 범위=spfile;
데이터베이스가 변경됨.
SQL >변경 시스템 세트 log_file_name_convert='+DATA/phydb/' , '+DATA/devdb/' sid='*' 범위=spfile;
데이터베이스가 변경됨.
다음으로 주-대기 전환 링크를 입력합니다.
RAC 중지노드 중 하나,여기서 node2 중지
SQL > 즉시 종료;
날짜 베이스 폐쇄.
데이터베이스가 분리됨.
ORACLE 인스턴스 종료.
의지node1대기 데이터베이스로 전환
SQL > 세션 종료로 데이터베이스 커밋을 물리적 대기로 전환하도록 변경;
데이터베이스가 변경됨.
node1 상태 보기
SQL > 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,
gv$database의 switchover_status;
현재 상황 RAC 및 dg는 모두 대기 상태입니다.
dg 메인 라이브러리로 전환
SQL > 데이터베이스 커밋을 변경하여 기본으로 전환;
데이터베이스가 변경됨.
dg 상태 확인
SQL > 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,
gv$database의 switchover_status;
노드 1 중지그리고 노드2
SQL > 즉시 종료;
날짜 베이스 폐쇄.
데이터베이스가 분리됨.
ORACLE 인스턴스 종료.
sqlplus 종료 ,그리드 사용자로 전환,그런 다음 인스턴스 devdb를 중지하십시오.
node1 및 node2는 마운트 상태로 전환
노드1 -> srvctl 데이터베이스 시작 -d devdb -o 마운트;
node1 및 node2가 oracle 사용자로 전환,sqlplus
SQL > 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,
gv$database의 switchover_status;
node1과 node2의 switchover_status가 모두 세션 활성 상태임을 확인했습니다.; DATABASE_ROLE이(가) 되었습니다.
물리적 대기
RAC대기 데이터베이스 애플리케이션 로그
SQL > 데이터베이스 변경 현재 로그 파일 연결 해제를 사용하여 관리되는 대기 데이터베이스 복구
세션에서;
데이터베이스가 변경됨.
dg 메인 라이브러리를 마운트 상태에서 열린 상태로 전환
SQL > 데이터베이스 열기 변경;
데이터베이스가 변경됨.
현재 dg 메인 라이브러리 OPEN_MODE는 READ WRITE입니다., SWITCHOVER_STATUS 해결 가능한 간격
RAC 메인 라이브러리의 SWITCHOVER_STATUS 상태가 READ ONLY로 변경됩니다.
SQL > 데이터베이스 변경 복구 관리 대기 데이터베이스 취소;
데이터베이스가 변경됨.
SQL > 데이터베이스 열기 변경;
데이터베이스가 변경됨.
SQL > 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,
gv$database의 switchover_status;
로그 애플리케이션을 여는 RAC 대기 데이터베이스
SQL > 데이터베이스 변경 현재 로그 파일 연결 해제를 사용하여 관리되는 대기 데이터베이스 복구
세션에서;
데이터베이스가 변경됨.
최종 상태 확인
dg 주 라이브러리 상태 및 rac 대기 라이브러리 상태
지금까지 rac 라이브러리와 dg 라이브러리의 역할 전환 작업은 성공적이었습니다..
Oracle 11gR2 RAC+DG 빌드 테스트 완료.