Oracle 11gR2 RAC + DG3을 다시 수행하십시오.

이전 부분은 dg standby database asm 디스크 그룹을 구성했습니다.,RAC 메인 라이브러리 준비, 이 부분은 dg 대기 데이터베이스 준비를 계속합니다.,초기화 파일,

제어 파일,데이터베이스 파일 복구, 대기 로그 파일 생성,RAC 기본 데이터베이스에서 dg 대기 데이터베이스로의 로그 동기화 등

node1 node/rman_backup 아래에 데이터베이스 백업 파일 복사, 초기화 파일,제어 파일,

보관된 모든 로그가 복사되는 dg의 /rman_backup 아래

이것은 node1 /rman_backup/ 아래의 백업 파일입니다.

40

이 파일을 FTP로,또는 다른 방법으로 dg 대기 라이브러리의 /rman_backup 디렉토리로 전송하십시오.,전송은 다음과 같이 수행됩니다:

41

물리적 대기 데이터베이스에 대한 비밀번호 파일 생성

dg는 다음과 같이 .bash_profile을 편집합니다.:

내보내기 경로

내보내기 TMP = / tmp

TMPDIR = $ TMP 내보내기

내보내기 ORACLE_HOSTNAME=dg.localdomain

내보내기 ORACLE_SID=phydb

내보내기 NLS_DATE_FORMAT='yyyy/mm/dd hh24

내보내기 ORACLE_HOME=$ORACLE_HOME/product/11.2.0/db_1

내보내기 ORACLE_UNQNAME=phydb

내보내기 TNS_ADMIN=$ORACLE_HOME/네트워크/관리자

내보내기 ORACLE_TERM = xterm

내보내기 경로 = / usr / sbin:$통로

내보내기 PATH = $ ORACLE_HOME / bin:$통로

내보내기 LD_LIBRARY_PATH=$ORACLE_HOME/JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib

내보내기 LANG = en_US

내보내기 NLS_LANG=american_america,AL32UTF8

내보내기 NLS_DATE_FORMAT='yyyy/mm/dd hh24/mi:봄 여름 시즌’

umask 022

환경 변수를 즉시 적용하려면 source .bash_profile을 실행하십시오.

dg 대기 데이터베이스의 환경 변수 출력

dg -> 환경 | 압수된 ORA

ORACLE_UNQNAME=phydb

ORACLE_SID=phydb

ORACLE_BASE = / u01 / app / oracle

ORACLE_HOSTNAME=dg.localdomain

ORACLE_TERM = xterm

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

 

dg 대기 데이터베이스 초기화 파일 수정

초기화 파일이 node1의 /rman_backup에서 dg의 /rman_backup으로 복사되었습니다., 이름이 initphydb.ora ,

dg standby database/rman_backup 아래의 initphydb.ora를 $ORACLE_HOME/dbs로 복사합니다.,dg는 수정 후에만 사용할 수 있습니다.。

초기화 파일은 다음과 같이 수정됩니다.:

phydb.__db_cache_size=180355072

phydb.__java_pool_size=4194304

phydb.__large_pool_size=4194304

phydb.__oracle_base='/u01/앱/오라클’

phydb.__pga_aggregate_target=335544320

phydb.__sga_target=402653184

phydb.__shared_pool_size=239075328

*.audit_file_dest='/u01/app/oracle/admin/phydb/adump’

*.audit_trail='db’

*.클러스터_데이터베이스=거짓

*.호환='11.2.0.0.0′

*.control_files='+DATA/phydb/controlfile/cont.ctl’

*.core_dump_dest='/u01/app/oracle/diag/rdbms/phydb/cdump’

*.db_block_size=8192

*.db_create_file_dest='+데이터’

*.db_file_name_convert='+DATA/devdb/','+데이터/phydb/’

*.db_name='devdb’

*.db_recovery_file_dest_size=4070572032

*.db_unique_name='phydb’

*.diagnostic_dest='/u01/앱/오라클’

*.디스패처='(프로토콜=TCP) (서비스=phydbXDB)’

*.fal_client='phydb’

*.fal_server='devdb1′,devdb2′

*.log_archive_config='dg_config=(데브디비,phydb)’

*.log_archive_dest_1='위치=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,모든 역할)

db_unique_name=phydb’

*.log_archive_dest_2='서비스=devdb1 valid_for=(online_logfiles,기본 역할)

db_unique_name=devdb’

*.log_archive_format='ARC_%t_%S_%r.arc’

*.log_file_name_convert='+DATA/devdb/','+데이터/phydb/’

*.memory_target=842006528

*.open_cursors=300

*.프로세스=150

*.remote_login_passwordfile='독점적’

*.service_names='phydb’

*.standy_file_management='자동’

*.스레드=1

*.undo_management='자동’

*.undo_tablespace='UNDOTBS1

 

adump 및 cdump 생성

mkdir -p /u01/app/oracle/admin/phydb/adump

midir -p /u01/app/oracle/diag/rdbms/phydb/cdump

+DATA/ 즉, +DATA/phydb/ 아래에 phydb 생성

그리드 사용자 로그인 dg

asmcmd를 실행하고 +data/ 아래에 phydb 디렉토리를 생성합니다.

43

44

 

RAC 기본 라이브러리 구성,dg 대기 데이터베이스 tnsnames.ora

node2의 tnsnames.ora 보기

이것의 – 신탁

고양이 $ORACLE_HOME/network/admin/tnsnames.ora

누락된 devdb를 찾았습니다.,devdb1 연결 정보,추가된 tnsname.ora 정보는 다음과 같습니다.

DEVDB =

(설명 =

(주소 = (프로토콜 = TCP)(호스트 = 192.168.137.158)(포트 = 1521))

(연결_데이터 =

(서버 = 전용)

(SERVICE_NAME = devdb)

(INSTANCE_NAME = devdb)

)

)

devdb1 =

(설명 =

(주소 = (프로토콜 = TCP)(호스트 = 192.168.137.151)(포트 = 1521))

(연결_데이터 =

(서버 = 전용)

(SERVICE_NAME = devdb

(INSTANCE_NAME = devdb1)

)

)

devdb2 =

(설명 =

(주소 = (프로토콜 = TCP)(호스트 = 192.168.137.152)(포트 = 1521))

(연결_데이터 =

(서버 = 전용)

(SERVICE_NAME = devdb)

(INSTANCE_NAME = devdb2)

)

)

피디비 =

(설명 =

(주소 = (프로토콜 = TCP)(호스트 = 192.168.137.159)(포트 = 1521))

(연결_데이터 =

(서버 = 전용)

(SERVICE_NAME = phydb)

)

)

node2의 수정된 tnsnames.ora를 node1 및 dg의 $ORACLE_HOME/network/admin/에 복사합니다.

이렇게 하면 연결 정보의 일관성이 보장됩니다.

dg 대기 데이터베이스 감지,scan-ip에 대한 액세스 확인 , node1 , node2 , dg

콘 스콧/tiger@devdb

콘 스콧/tiger@devdb1

콘 스콧/tiger@devdb2

이 시점에서 dg 백업 데이터베이스의 준비가 완료되었습니다..

 

dg 대기 데이터베이스가 마운트 상태를 시작합니다.

RAC 메인 라이브러리의 제어 파일을 /rman_backup 디렉토리에 복사했습니다.,dg는 마운트 상태로 전환하기 위해 제어 파일을 적용해야 합니다..

dg는 먼저 마운트 해제 상태를 시작합니다.,그런 다음 RMAN은 제어 파일을 복원합니다.

[root@dg ~]# 이것의 – 신탁

dg -> sqlplus

SQL*플러스: 해제 11.2.0.1.0 7월 금요일 생산 22 22:21:40 2016

저작권 (씨) 1982, 2009, 신탁. 판권 소유.

유휴 인스턴스에 연결됨.

SQL> 시작 nomount;

ORACLE 인스턴스가 시작되었습니다..

전체 시스템 글로벌 영역 839282688 바이트

고정 크기 2217992 바이트

가변 크기 587204600 바이트

데이터베이스 버퍼 247463936 바이트

리두 버퍼 2396160 바이트

 

RMAN 복원 제어 파일

[root@dg ~]# 이것의 – 신탁

dg -> rman 대상 /

복구 관리자: 해제 11.2.0.1.0 – 7월 금요일 생산 22 22:25:33 2016

저작권 (씨) 1982, 2009, Oracle 및 / 또는 그 계열사. 판권 소유.

대상 데이터베이스에 연결됨: DEVDB (마운트되지 않음)

RMAN> '/rman_backup/standby_0fr8au65_1_1.ctl'에서 대기 제어 파일 복원;

복원 시작 2016/06/22 00:06:15

복구 카탈로그 대신 대상 데이터베이스 제어 파일 사용

할당 된 채널: ORA_DISK_1

채널 ORA_DISK_1: SID=24 장치 유형=DISK

채널 ORA_DISK_1: 제어 파일 복원

채널 ORA_DISK_1: 복원 완료. 경과 시간: 00:00:03

출력 파일 이름=+DATA/phydb/controlfile/cont.ctl

복원 완료 시간: 2016/06/22 00:06:18

dg 대기 데이터베이스에 제어 파일이 있으면 마운트할 수 있습니다..

dg는 oracle 사용자로 전환합니다.,sqlplus 입력 후 바로 마운트 하시면 됩니다.

SQL> 데이터베이스 마운트 변경;

데이터베이스가 변경됨.

SQL> v$database에서 open_mode 선택;

오픈_모드

————————————————————

장착됨

 

RMAN은 dg 대기 데이터베이스를 복원합니다.

dg -> rman 대상 /

RMAN> 운영

{채널 c1 유형 디스크 할당;

채널 c2 유형 디스크 할당;

채널 c3 유형 디스크 할당;

채널 c4 유형 디스크 할당;

데이터베이스 복원;

릴리스 채널 c1;

릴리스 채널 c2;

릴리스 채널 c3;

릴리스 채널 c4;

}

대기 데이터베이스 복구 프로세스는 다음과 같습니다.:

46

47

이제 dg 대기 데이터베이스가 복원되었습니다..

 

대기 로그 파일을 생성하기 위한 dg 대기 데이터베이스

메인 라이브러리가 전달한 리두 로그를 수신하기 위한 대기 로그 파일 생성,그런 다음 이 로그를 데이터 동기화 및 복구에 정기적으로 사용하십시오.

대기 로그 파일을 생성하기 위해 따라야 할 규칙은 다음과 같습니다.:우선 크기는 메인 라이브러리의 크기와 같아야 합니다., 둘째, 인스턴스 아래의 로그 그룹 수보다 1이 더 많아야 합니다..

다음으로 기본 라이브러리의 각 인스턴스(실)대기 로그 파일 생성, 물론 생성하기 전에 해당 데이터 정보를 확인하십시오.

RAC 기본 라이브러리 node1 로그 그룹 상태 보기

SQL >선택하다 * v$log에서; , 노드당 로그 2세트.

dg48

대기 로그 생성

데이터베이스 변경 대기 로그 파일 스레드 추가 1 그룹 5 크기 50m, 그룹 6 크기 50m , 그룹 7 크기 50m;

데이터베이스 변경 대기 로그 파일 스레드 추가 2 그룹 8 크기 50m, 그룹 9 크기 50m , 그룹 10 크기 50m;

49

gd50

방금 생성된 대기 리두 로그 파일을 확인하십시오.

SQL> 그룹 번호 선택, DBID,v$standby_log의 THREAD#,SEQUENCE#,STATUS;

그룹# DBID 스레드# 시퀀스# 상태

———- ————— ———- ———- ———-

5 할당되지 않음 1 0 할당되지 않음

6 할당되지 않음 1 0 할당되지 않음

7 할당되지 않음 1 0 할당되지 않음

8 할당되지 않음 2 0 할당되지 않음

9 할당되지 않음 2 0 할당되지 않음

10 할당되지 않음 2 0 할당되지 않음

6 선택된 행.

THREAD1에서 대기 로그 파일 로그 그룹 5,6,7을 볼 수 있습니다.,5,6,7THREAD2에서.

 

기본 데이터베이스에서 대기 데이터베이스로의 로그 동기화 구성

node1 및 node2가 oracle 사용자로 전환,테스트 인스턴스 연결

sqlplus / sysdba로

conn sys/Oracle168@devdb를 sysdba로

conn sys/Oracle168@devdb1 as sysdba

conn sys/Oracle168@devdb2 as sysdba

conn sys/Oracle168@phydb를 sysdba로

 

node1 구성을 통해 RAC 메인 라이브러리의 아카이브 로그를 dg 대기 라이브러리로 전송할 수 있습니다.

변경 시스템 세트 log_archive_dest_2='service=phydb lgwr sync

valid_for=(online_logfiles,기본 역할) db_unique_name=phydb' 시드='*';

매개변수 log_archive 표시;

dg52

node2는 한 번 다시 시작,그런 다음 show parameter log_archive를 실행합니다.; log_archive_dest_state_2도 활성화된 경우,

그런 다음 구성이 정확합니다..

rman 대상 /

목록 아카이브 로그 모두; 아래 그림과 같이 나타납니다.,그런 다음 아카이브가 생성되었습니다.

dg54

 

RAC 기본 라이브러리 전환 로그 테스트,dg 대기 데이터베이스가 동기화되었는지 여부

RAC 마스터 데이터베이스 및 dg 대기 데이터베이스의 상태 확인

SQL> 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,switchover_status

gv$ 데이터베이스에서;

DBID 이름 CURRENT_SCN PROTECTION_MODE DATABASE_ROLE FOR OPEN_MODE SWITCHOVER_STATUS

———- ——— ———– ——————– —————- — ——————– ——————–

818758572 DEVDB 3454281 최대 성능 기본 예 읽기 쓰기 대기

818758572 DEVDB 3454280 최대 성능 기본 예 읽기 쓰기 대기

SQL> 선택 dbid,이름,현재_scn,보호 모드,database_role,force_logging,open_mode,switchover_status

gv$ 데이터베이스에서;

DBID 이름 CURRENT_SCN PROTECTION_MODE DATABASE_ROLE FORCE_LOGOPEN_MODE SWITCHOVER_STATUS

———- ——— ———– ——————– —————- — ——————– ——————–

818758572 DEVDB 3284512 최대 성능 물리적 대기 예 마운트됨 허용되지 않음

반환된 결과는,RAC 기본 라이브러리 node1 및 node2, DATABASE_ROLE은 모두 PRIMARY입니다.;FORCE_LOGING이 켜져 있습니다.,

OPEN_MODE는 읽기 쓰기입니다.; SWITCHOVER_STATUS가 대기 중입니다..

dg 대기 데이터베이스,DATABASE_ROLE은 물리적 대기 상태입니다.;FORCE_LOGING이 켜져 있습니다.;OPEN_MODE가 마운트됨

SWITCHOVER_STATUS는 허용되지 않습니다.

상태가 로그 동기화 요구 사항을 충족합니다..

dg 대기 데이터베이스에 대한 node1의 동기화 테스트,아래 이미지는 성공적인 동기화를 보여줍니다..

dg55

dg56

node2에서 dg로의 동기식 작동 방식은 동일하며 다시 설명하지 않습니다..

답장을 남겨주세요