Oracle 11gR2 DataGuard 탐색02 구성

11974 단어
Oracle 11gR2 DataGuard 탐색02 구성
저자: 오위용
구성 단계:
1. 강제 로그 열기
2. pri단 전송 매개 변수 설정
3. 백업 pri단 데이터베이스
4. 파일을 sty단으로 복사
5. sty단 전송 매개 변수 설정
6. sty단을 mount 상태로 시작하고 데이터를 복구합니다
7. pri단에서 압축 파일 로그 파일 보내기
8.sty단에서 강제redo 응용 오픈
9.standby 로그 설정
10. pri단에서 강제 로그 응용 시작
 
11gR2DG 전송 아키텍처
그림:
DBName
Role
DB_UNIQUE_NAME
Oracle Net Service Name
Woo
Primary
Pri
PRI
Physical standby
Sty
STY
 
1, 2노드는 각각 다음 명령을 입력하여 강제 로그 모드를 시작합니다.
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> alter database force logging;

 
2. Pri 측 매개변수 파일을 수정합니다.
SQL> alter system set db_unique_name =pri scope=spfile;
SQL> alter system set log_archive_config= 'DG_CONFIG=(pri,sty)' scope=spfile;
SQL>alter system set log_archive_dest_1= 'LOCATION=/DBBackup/Archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=pri' scope=spfile;
SQL> alter system set log_archive_dest_2= 'SERVICE=sty LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=sty' scope=spfile;
SQL> alter system setlog_archive_dest_state_2 = DEFER;
alter system set fal_server=styscope=spfile;
SQL> alter system set fal_client=priscope=spfile;
SQL> alter system setstandby_file_management=AUTO scope=spfile;
 

3. Pri단에서 아래 명령을 입력하여standby 제어 파일을 만듭니다
SQL> alter database create standbycontrolfile as '/DBBackup/Phycal/stycontrol.ctl';
 

4. rman 백업 pri단 데이터베이스를 통해
Rman>backup database format'/DBBackup/Phycal/full_db_%U';
 
#copy file to standby
    :listener.oratnsnames.ora
    :initWoo.ora
    :orapwWoo
sty    :stycontrol.ctl
      :full_db_*
      :$ORACLE_BASE/admin$ORACLE_BASE/diag

5. 감청 파일 복사, 파라미터 파일, 암호 파일,sty단 제어 파일,rman 백업 파일,admin/디렉터리,diag 진단 디렉터리,flashrecovery_area 디렉터리, 압축 파일 디렉터리를 sty단에서 복구 및 라이브러리 시작에 사용
[oracle@pri ~]$ cd$ORACLE_HOME/network/admin     --      
[oracle@pri admin]$ ls
listener.ora  samples shrept.lst  tnsnames.ora
[oracle@pri admin]$ scp *.orasty:$ORACLE_HOME/network/admin
oracle@sty's password:
listener.ora                                                                100%  294    0.3KB/s   00:00   
tnsnames.ora                                                               100%  669     0.7KB/s  00:00   
 
[oracle@pri admin]$ cd $ORACLE_HOME/dbs         --       pfile    
[oracle@pri dbs]$ ls
hc_DBUA0.dat  hc_Woo.dat init.ora  initWoo.ora  lkPRI lkWOO  orapwWoo  snapcf_Woo.f spfileWoo.ora
[oracle@pri dbs]$ scp initWoo.ora orapwWoosty:$ORACLE_HOME/dbs
oracle@sty's password:
initWoo.ora                                                                 100%  999    1.0KB/s   00:00   
orapwWoo                                                                   100% 1536     1.5KB/s   00:00   
 
[oracle@pri dbs]$ cd /DBBackup/Phycal/             --      
[oracle@pri Phycal]$ ls
full_db_01o9j16h_1_1  full_db_02o9j17b_1_1  stycontrol.ctl
[oracle@pri Phycal]$ scp full_db_0*stycontrol.ctl sty:/DBBackup/Phycal/
oracle@sty's password:
full_db_01o9j16h_1_1                                                         100%  943MB  20.1MB/s  00:47   
full_db_02o9j17b_1_1                                                         100% 9600KB   9.4MB/s   00:01   
stycontrol.ctl                                                               100% 9520KB   9.3MB/s   00:00
 
[oracle@pri ~]$ cd $ORACLE_BASE      --  admin/,diag/,flash_recovery_area   
[oracle@pri DBSoft]$ ls
admin cfgtoollogs  checkpoints  diag flash_recovery_area  oraInventory  Product
[oracle@pri DBSoft]$ scp -r admin/ diag/admin/ flash_recovery_area/ sty:$ORACLE_BASE

6.sty단pfile 매개 변수 파일을 수정하고 다음과 같은 내용을 추가하고 수정합니다
vi /DBSoft/Product/11.2.0/db_1/dbs/initWoo.ora
*.db_unique_name=sty
*.log_archive_config='DG_CONFIG=(pri,dg)'
*.log_archive_dest_1='LOCATION=/DBBackup/ArchiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sty'
*.log_archive_dest_2='SERVICE=pri LGWR SYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pri'
*.fal_server=pri
*.fal_client=sty
*.standby_file_management=AUTO
#*.db_file_name_convert='pri','pri'
#*.log_file_name_convert='pri','pri'
*.control_files='/DBBackup/Phycal/control01.ctl'

7. sty단 데이터베이스를 mount 상태로 시작하고 pri단 데이터베이스를 sty단으로 복구
SQL> startup mountpfile='/DBSoft/Product/11.2.0/db_1/dbs/initWoo.ora';
ORACLE instance started.
 
Total System Global Area  839282688 bytes
Fixed Size                  2217992 bytes
Variable Size             507512824 bytes
Database Buffers          327155712 bytes
Redo Buffers                2396160 bytes
Database mounted.
SQL> exit
 
[oracle@sty Phycal]$ export ORACLE_SID=Woo
[oracle@sty Phycal]$ rman target /                         --  rman       
 
Recovery Manager: Release 11.2.0.1.0 -Production on Tue May 14 03:22:47 2013
 
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates.  All rights reserved.
 
connected to target database: WOO(DBID=4154863782, not open)
 
RMAN> catalog start with'/DBBackup/Phycal/';
 
Starting implicit crosscheck backup at14-MAY-13
using target database control file insteadof recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=25 device type=DISK
Finished implicit crosscheck backup at14-MAY-13
 
Starting implicit crosscheck copy at14-MAY-13
using channel ORA_DISK_1
Finished implicit crosscheck copy at14-MAY-13
 
searching for all files in the recoveryarea
cataloging files...
no files cataloged
 
searching for all files that match thepattern /DBBackup/Phycal/
 
List of Files Unknown to the Database
=====================================
File Name:/DBBackup/Phycal/full_db_01o9j16h_1_1
File Name:/DBBackup/Phycal/full_db_02o9j17b_1_1
 
Do you really want to catalog the abovefiles (enter YES or NO)? yes
cataloging files...
cataloging done
 
List of Cataloged Files
=======================
File Name:/DBBackup/Phycal/full_db_01o9j16h_1_1
File Name:/DBBackup/Phycal/full_db_02o9j17b_1_1
 
RMAN> restore database;
 
Starting restore at 14-MAY-13
using target database control file insteadof recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=25 device type=DISK
 
channel ORA_DISK_1: starting datafilebackup set restore
channel ORA_DISK_1: specifying datafile(s)to restore from backup set
channel ORA_DISK_1: restoring datafile00001 to /DBData/Woo/Woo/system01.dbf
channel ORA_DISK_1: restoring datafile00002 to /DBData/Woo/Woo/sysaux01.dbf
channel ORA_DISK_1: restoring datafile00003 to /DBData/Woo/Woo/undotbs01.dbf
channel ORA_DISK_1: restoring datafile00004 to /DBData/Woo/Woo/users01.dbf
channel ORA_DISK_1: reading from backuppiece /DBBackup/Phycal/full_db_01o9j16h_1_1
channel ORA_DISK_1: piecehandle=/DBBackup/Phycal/full_db_01o9j16h_1_1 tag=TAG20130514T025617
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete,elapsed time: 00:00:13
Finished restore at 14-MAY-13
 
RMAN>                     ---          

8. pri에서 압축 파일 로그 파일을 받아들이기
SQL> ALTER SYSTEM SETLOG_ARCHIVE_DEST_STATE_2=ENABLE;
 
System altered.
 

9. 다시 sty에서 로그 응용 프로그램 시작
SQL> alter database recover managedstandby database disconnect from session;
 
Database altered.

10. sty단에서 standby 로그를 설정하고 active 상태로 전환하면 효과가 발생합니다. 보통 예비 라이브러리를 다시 시작해야 합니다.
SQL> alter database add standby logfile
group 4 ('/DBData/Woo/Woo/styredo04.log')size 50m,
group 5 ('/DBData/Woo/Woo/styredo05.log')size 50m,
group 6 ('/DBData/Woo/Woo/styredo06.log')size 50m,
group 7 ('/DBData/Woo/Woo/styredo07.log')size 50m;
 
SQL> SELECTGROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
 
   GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- -------------
        4          0          0 YES UNASSIGNED
        5          0          0 YES UNASSIGNED
        6          0          0 YES UNASSIGNED
        7          0          0 YES UNASSIGNED
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area  839282688 bytes
Fixed Size                  2217992 bytes
Variable Size             507512824 bytes
Database Buffers          327155712 bytes
Redo Buffers                2396160 bytes
Database mounted.
Database opened.
SQL> SELECTGROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
 
   GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- -------------
        4          1         11 YES ACTIVE
        5          1          0 NO UNASSIGNED
        6          0          0 YES UNASSIGNED
        7          0          0 YES UNASSIGNED
 
SQL>

 
11. pri단에서 레드오 응용 프로그램 시작
SQL> recover managed standby database usingcurrent logfile disconnect from session;

 
DG 데이터 보호 모드를 보려면:
SQL> select protection_mode,protection_level from v$database;
 
PROTECTION_MODE      PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

부록:
12. 추가된 매개 변수 소개를 수정해야 한다.
역할
매개변수 이름
소개하다.
Pri
DB_NAME
데이터베이스 이름,primary단과standby단이 동일
DB_UNIQUE_NAME
pri단과 sty단을 구별하는 유일한 이름을 지정합니다
LOG_ARCHIVE_CONFIG
DG의 글로벌 로그 구성, 모든 데이터베이스 이름 및 아카이브 경로 지정
CONTROL_FILES
파일 경로 및 이름 제어
LOG_ARCHIVE_DEST_n
마스터 라이브러리의 아카이브 경로 지정
LOG_ARCHIVE_DEST_STATE_n
redo를 통해 로그 전송 및 경로 허용 여부 설정
REMOTE_LOGIN_PASSWORDFILE
원격 로그인 모드를 구성합니다.
LOG_ARCHIVE_FORMAT
아카이브 로그 파일 저장 형식 사양 구성
LOG_ARCHIVE_MAX_PROCESS=integer
아카이브 프로세스 수 구성(기본값: 4
FAL_SERVER
서버 역할 구성
DB_FILE_NAME_CONVERT
마스터 백업 라이브러리의 데이터 파일 경로가 일치하지 않는 데이터베이스 데이터 파일 변환을 구성합니다.
LOG_FILE_NAME,_CONVERT
데이터베이스 Redo 로그 파일 변환을 설정합니다. 메인 라이브러리에서 Redo 로그 파일 경로가 일치하지 않습니다.
STANDBY_FILE_MANAGEMENT
예비 라이브러리가 주 라이브러리의 테이블 공간 추가나 데이터 파일 추가를 동기화할지 설정합니다.
sty
DB_UNIQUE_NAME
pri단과 sty단을 구별하는 유일한 이름을 지정합니다
CONTROL_FILES
파일 경로 및 이름 제어
DB_FILE_NAME,_CONVERT
마스터 백업 라이브러리의 데이터 파일 경로가 일치하지 않는 데이터베이스 데이터 파일 변환을 구성합니다.
LOG_FILE_NAME_CONVERT
마스터 백업 라이브러리의 데이터 파일 경로가 일치하지 않는 데이터베이스 데이터 파일 변환을 구성합니다.
LOG_ARCHIVE_DEST_n
마스터 라이브러리의 아카이브 경로 지정
FAL_SERVERS
서버 역할 구성
 
 
 
 
13. 감청 정보:
listener.ora
[oracle@sty admin]$ cat listener.ora
# listener.ora Network Configuration File:/DBSoft/Product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
 
SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
     (SID_NAME = PLSExtProc)
     (ORACLE_HOME = /DBSoft/Product/11.2.0/db_1)
    (PROGRAM = extproc)
    )
     (SID_DESC =
    (SID_NAME = Woo )
    (ORACLE_HOME = /DBSoft/Product/11.2.0/db_1)
    )
   )
 ----------------------------------------------------------------------------------------------------------------------------------------------------- 
[oracle@sty admin]$cat tnsname.ora
# tnsnames.ora Network Configuration File:/DBSoft/Product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
 
STY =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.102)(PORT = 1521))
    )
   (CONNECT_DATA =
     (SERVICE_NAME = woo)
    )
  )
 
PRI =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.101)(PORT = 1521))
    )
   (CONNECT_DATA =
     (SERVICE_NAME = woo)
    )
  )
 
 

좋은 웹페이지 즐겨찾기