Oracle 11gR2 RAC + DG3을 다시 수행하십시오.
이전 부분은 dg standby database asm 디스크 그룹을 구성했습니다.,RAC 메인 라이브러리 준비, 이 부분은 dg 대기 데이터베이스 준비를 계속합니다.,초기화 파일,
제어 파일,데이터베이스 파일 복구, 대기 로그 파일 생성,RAC 기본 데이터베이스에서 dg 대기 데이터베이스로의 로그 동기화 등
node1 node/rman_backup 아래에 데이터베이스 백업 파일 복사, 초기화 파일,제어 파일,
보관된 모든 로그가 복사되는 dg의 /rman_backup 아래
이것은 node1 /rman_backup/ 아래의 백업 파일입니다.
이 파일을 FTP로,또는 다른 방법으로 dg 대기 라이브러리의 /rman_backup 디렉토리로 전송하십시오.,전송은 다음과 같이 수행됩니다:
물리적 대기 데이터베이스에 대한 비밀번호 파일 생성
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 디렉토리를 생성합니다.
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;
}
대기 데이터베이스 복구 프로세스는 다음과 같습니다.:
이제 dg 대기 데이터베이스가 복원되었습니다..
대기 로그 파일을 생성하기 위한 dg 대기 데이터베이스
메인 라이브러리가 전달한 리두 로그를 수신하기 위한 대기 로그 파일 생성,그런 다음 이 로그를 데이터 동기화 및 복구에 정기적으로 사용하십시오.
대기 로그 파일을 생성하기 위해 따라야 할 규칙은 다음과 같습니다.:우선 크기는 메인 라이브러리의 크기와 같아야 합니다., 둘째, 인스턴스 아래의 로그 그룹 수보다 1이 더 많아야 합니다..
다음으로 기본 라이브러리의 각 인스턴스(실)대기 로그 파일 생성, 물론 생성하기 전에 해당 데이터 정보를 확인하십시오.
RAC 기본 라이브러리 node1 로그 그룹 상태 보기
SQL >선택하다 * v$log에서; , 노드당 로그 2세트.
대기 로그 생성
데이터베이스 변경 대기 로그 파일 스레드 추가 1 그룹 5 크기 50m, 그룹 6 크기 50m , 그룹 7 크기 50m;
데이터베이스 변경 대기 로그 파일 스레드 추가 2 그룹 8 크기 50m, 그룹 9 크기 50m , 그룹 10 크기 50m;
방금 생성된 대기 리두 로그 파일을 확인하십시오.
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 표시;
node2는 한 번 다시 시작,그런 다음 show parameter log_archive를 실행합니다.; log_archive_dest_state_2도 활성화된 경우,
그런 다음 구성이 정확합니다..
rman 대상 /
목록 아카이브 로그 모두; 아래 그림과 같이 나타납니다.,그런 다음 아카이브가 생성되었습니다.
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의 동기화 테스트,아래 이미지는 성공적인 동기화를 보여줍니다..
node2에서 dg로의 동기식 작동 방식은 동일하며 다시 설명하지 않습니다..