Advanced Product Service

Similar documents
Document Server Information Items Description Test Date 2011 / 05 / 31 CPU Intel(R) Xeon(R) CPU 2.40GHz X 8 Main Memory 1GB O/S version OEL 5.

Tablespace On-Offline 테이블스페이스 온라인/오프라인

슬라이드 1

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

Tina Admin

Microsoft PowerPoint - Linux_10gRAC_3Node

Simplify your Job Automatic Storage Management DB TSC

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

62

Microsoft Word - 10g RAC on Win2k.doc

단계

세미나(장애와복구-수강생용).ppt

오라클 데이터베이스 10g 핵심 요약 노트

Microsoft Word - dataguard_세미나_v1.8.doc

Tibero

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Oracle Database 10g: Self-Managing Database DB TSC

목 차

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

vm-웨어-01장

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Backup Exec

큰 제목은 18 bold

CD-RW_Advanced.PDF

The Self-Managing Database : Automatic Health Monitoring and Alerting

Advanced Oracle Document 11gR2 향상된 ASM(ADVM 과 ACFS) (Oracle 11g R ) Author: Hyun-Ho, Jung Site:

침입방지솔루션도입검토보고서

MySQL-Ch10

PowerPoint Presentation

Contents 1. Oracle Recovery Manager(RMAN) RMAN이란? RMAN의특징 RMAN의 Channel과 Media Management RMAN CONFIGURE COMMAND.

슬라이드 1

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft Word - Oracle10gDB ±âº»¿î¿µÁöħ¼�.doc

Oracle Regular Expression

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

MS-SQL SERVER 대비 기능

Oracle9i Real Application Clusters

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

Oracle Database 12c High Availability

Microsoft PowerPoint - 10Àå.ppt

untitled

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

슬라이드 1

문서 제목

단계

Microsoft Word - RMAN 스터디자료_공개용_ doc

Remote UI Guide

¿ÀǼҽº°¡À̵å1 -new

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

uFOCS

PCServerMgmt7

PowerPoint Presentation

PRO1_09E [읽기 전용]

MySQL-.. 1

ODS-FM1

User Guide

スライド タイトルなし

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

vm-웨어-앞부속

Assign an IP Address and Access the Video Stream - Installation Guide

!K_InDesginCS_NFH

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Tibero

10.ppt

PowerPoint 프레젠테이션

.

PowerPoint 프레젠테이션

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

1217 WebTrafMon II

[Brochure] KOR_TunA

solution map_....

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

경우, TARGET 키워드 (AUXILIARY 키워드아님 ) 를사용하여반드시대기데이터베이스에접속해야 한다. 백업을수행하는동안, 대기데이터베이스는주데이터베이스를대체한다. 논리적대기데이터베이스의백업및복구주데이터베이스에서사용하는동일한방법으로논리적대기데이터베이스를백업할수있다.

Microsoft PowerPoint - 발표_090513_IBM세미나_IPTV_디디오넷_완료.ppt

Mango220 Android How to compile and Transfer image to Target

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션


데이터베이스_오라클_부록(최종).indd

Dropbox Forensics

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

SANsymphony-V

PRO1_02E [읽기 전용]

Microsoft Word - 기술노트36_11g R1 Clusterware를 이용한 Oracle HA 구성 _최종본_.doc

Chapter 1

Data Guard 기본개념.doc

Smart Power Scope Release Informations.pages


목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

Sun Java System Messaging Server 63 64

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

ALTIBASE HDB Patch Notes

AKG 설 맞이 사내 특판 이벤트

Transcription:

Advanced Oracle Document CONVERT to ASM and Non-ASM Author: Hyun-Ho, Jung Site: http://www.commit.co.kr Email: admin@commit.co.kr cleanto@naver.com Creation Date: 2011-12 - 13

CONVERT to ASM and Non-ASM 1. TEST Information Items Description Test Date 2011 / 12 / 13 CPU VirtualBox VCPUx4 Main Memory 2GB O/S version RHEL 5.5 Host Name ORACLE_SID test1, test2 TESTDB1, TESTDB2 Oracle version 10.2.0.5 2. Scenario&Environment 1) 10gR2(10.2.0.5) 버전으로 Clusterware 와 S/W는설치가되어있는상태이다. 2) Non-ASM 파일과 ASM 파일간 Convert 를진행할것이다. 3) Single Instance에서 RAC 변환할때 Target DB(RAC) 의 Storage Type이 ASM 을사용할때해당문서를적용할수있으며, 그외다른요건에의해서도 convert 를사용할수있다 4) 테스트환경에서는 Non-ASM 파일은 CFS(Redhat GFS2) 영역에존재한다. 5) ASM의 DiskGroup 명은 DATA 이다. 6) 11gR1 이상사용중이라면해당방법외 11g NF인 ASM CP 기능을이용할수있다. <Service Name> 2 Customer Only

3. Non-ASM File To ASM Convert 대상확인 온라인상으로작업하기위해 begin backup 명령을실행하고 convert 를하게되면에러가발생 된다. 그러므로 Instance 를 shutdown 후진행해야한다. shutdown 하기전데이터파일조회를한다. SQL> select tablespace_name, file_name from dba_data_files; TABLESPACE_NAME FILE_NAME ------------------------------ ---------------------------------------- USERS /oradata/testdb/users01.dbf UNDOTBS2 /oradata/testdb/undotbs02.dbf SYSAUX /oradata/testdb/sysaux01.dbf UNDOTBS1 /oradata/testdb/undotbs01.dbf SYSTEM /oradata/testdb/system01.dbf 위의파일이 Convert 대상이된다. temp 는 convert 가않된다. 필요하다면생성해서사용한다. shutdown -> mount shutdown 후 mount 단계로 open 한다. RMAN 을이용해 convert 진행 rman 으로접속한다. $ rman target / Recovery Manager: Release 10.2.0.5.0 - Production on Tue Dec 13 21:34:30 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: TESTDB (DBID=2551595590) <Service Name> 3 Customer Only

커맨드문법은아래와같다 convert datafile '/ 위치 / 파일명.dbf' format '+DATA'; 특별히이름을지정하지않으면 OMF 규칙에따라이름이지정되며, 이름을지정하고자한다면 아래와같이경로와파일명까지지정한다. convert datafile '/oradata/testdb/users01.dbf' format '+DATA/TESTDB/DATAFILE/users01.dbf'; 여러파일을동시에진행하기위해서는아래와같이진행할수있다. RMAN> convert datafile 2> '/oradata/testdb/system01.dbf', 3> '/oradata/testdb/sysaux01.dbf', 4> '/oradata/testdb/undotbs01.dbf', 5> '/oradata/testdb/undotbs02.dbf', 6> '/oradata/testdb/users01.dbf' 7> format '+data'; 위와같이작업하면파일의이름을원하는데로지정할수는없게된다. convert 명령어를통해 convert 하였다면 asmcmd 로들어가서확인해본다. 필자는 datafile rename 을위해이름을지정하여 convert 하였다. 데이터파일이많다면아래쿼리를응용하여스크립트를추출한다. set lines 500 set heading off col file_name for a40 select 'convert datafile ''' file_name ''' format ''' '+DATA/TESTDB/DATAFILE' SUBSTR(file_name,16,15) ''';' from dba_data_files; rename file 후 open 한다. alter database rename file '/oradata/testdb/users01.dbf' to '+DATA/TESTDB/DATAFILE/users01.dbf'; alter database rename file '/oradata/testdb/undotbs02.dbf' to '+DATA/TESTDB/DATAFILE/undotbs02.dbf'; alter database rename file '/oradata/testdb/sysaux01.dbf' to '+DATA/TESTDB/DATAFILE/sysaux01.dbf'; alter database rename file '/oradata/testdb/undotbs01.dbf' to '+DATA/TESTDB/DATAFILE/undotbs01.dbf'; alter database rename file '/oradata/testdb/system01.dbf' to '+DATA/TESTDB/DATAFILE/system01.dbf'; <Service Name> 4 Customer Only

위커맨드는아래쿼리를이용해서추출하였다. set lines 500 set heading off col file_name for a40 select 'alter database rename file ''' file_name ''' to ''' '+DATA/TESTDB/DATAFILE' SUBSTR(file_name,16,15) ''';' from dba_data_files; open 후 Instance 상태및 datafile 위치를조회해본다. SQL> select status from v$instance; STATUS ------------ OPEN SQL> select file_name from dba_data_files; FILE_NAME ---------------------------------------- +DATA/testdb/datafile/users01.dbf +DATA/testdb/datafile/undotbs02.dbf +DATA/testdb/datafile/sysaux01.dbf +DATA/testdb/datafile/undotbs01.dbf +DATA/testdb/datafile/system01.dbf 4. ASM To Non-ASM File Users Tablespace offline 위에서 ASM 파일로변환한 users01.dbf 파일을다시 Non-ASM File 로변환하겠다. 테스트의편의성을위해 users 테이블스페이스를 offline 시킨후진행하겠다. SQL> alter tablespace users offline; <Service Name> 5 Customer Only

RMAN 에접속한다. rman 으로접속한다. $ rman target / Recovery Manager: Release 10.2.0.5.0 - Production on Tue Dec 13 23:20:01 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: TESTDB (DBID=2551595590) RMAN 을이용해 convert 진행 convert datafile '+DATA/testdb/datafile/users01.dbf' format '/oradata/testdb/convert/users01.dbf'; rename datafile 후 users Tablespace online alter database rename file '+DATA/testdb/datafile/users01.dbf' to '/oradata/testdb/convert/users01.dbf'; rename 후 users Tablespace 를 online 시킨다. SQL> alter tablespace users online; 테이블스페이스와데이터파일의상태를조회한다. SQL> select tablespace_name, file_name, status from dba_data_files; TABLESPACE_NAME FILE_NAME STATUS ------------------------------ ---------------------------------------- --------- USERS /oradata/testdb/convert/users01.dbf AVAILABLE UNDOTBS2 +DATA/testdb/datafile/undotbs02.dbf AVAILABLE SYSAUX +DATA/testdb/datafile/sysaux01.dbf AVAILABLE UNDOTBS1 +DATA/testdb/datafile/undotbs01.dbf AVAILABLE SYSTEM +DATA/testdb/datafile/system01.dbf AVAILABLE 위치가변경되었으며, 상태도 AVAILABLE 인것을확인할수있다. <Service Name> 6 Customer Only

5. Not Exists Instance Instance 가존재하지않을때 위의테스트는 Database Instance 가존재할때를기반으로테스트가진행되었다. 가령 Single 에서 RAC 로변환하기위해서 Clusterware 설치 -> S/W( 엔진 ) 설치 -> ASM 인스턴스생성 순으로진행하여 Database 가존재하지않고기존 Single Instance 의 Datafile 을이용해야할때는 어떻게해야할까? single 에서사용하던 datafile 은 /oradata2/ha 위치에 ha 이라는 SID 로존재한다. RAC 변환하면서 COPYDB 로 SID 도변경하겠다. 파라미터파일작성 nomount 단계로 open 하기위해서는파라미터파일이존재해야한다 RAC 로변환및 ASM convert 하기위해서몇가지를수정추가한다. SQL> create pfile='/oracle/init_ha.ora' from spfile; *.control_files='+data/copydb/datafile/control01.ctl','+data/copydb/datafile/control02.ctl' 컨트롤파일을재생성을해야하며, 재생성을통해서 ASM 영역에생성을한다. 그렇기때문에컨트롤위치는 ASM 영역으로지정한다 cluster 관련파라미터를추가한다 *.cluster_database_instances = 2 *.undo_management=auto COPYDB1.undo_tablespace='UNDOTBS1' COPYDB1.instance_number=1 COPYDB1.thread=1 COPYDB2.instance_number=2 COPYDB2.thread=2 COPYDB2.undo_tablespace='UNDOTBS2' *.cluster_database = false dump_dest 를변경한다. *.audit_file_dest='/oracle/admin/copydb/adump' <Service Name> 7 Customer Only

*.background_dump_dest='/oracle/admin/copydb/bdump' *.core_dump_dest='/oracle/admin/copydb/cdump' *.user_dump_dest='/oracle/admin/copydb/udump' 해당위치에디렉토리를생성해준다. db_name 변경 *.db_name='copydb' 편집한컨트롤파일을 $ORACLE_HOME/dbs/initCOPYDB1.ora 이름으로복사한다. 컨트롤파일재생성 rman convert 를이용할수없는파일은컨트롤파일, redolog file, temp file 이다. 그렇기때문에컨트롤파일을재생성하면서 ASM 영역에생성을할것이다. 컨트롤파일을 TRACE 형태로생성한다. SQL> alter database backup controlfile to trace as '/oracle/recon.sql'; 전 ) CREATE CONTROLFILE REUSE DATABASE "HA" NORESETLOGS ARCHIVELOG 후 ) CREATE CONTROLFILE SET DATABASE "COPYDB" RESETLOGS NOARCHIVELOG 위에서변경한이유는테스트상 SID 와디렉토리경로를겹치는부분이있어서 SID 를변경 한것이며, 기존 SID 를사용할것이라면 REUSE / NORESETLOGS 를사용해도된다. SINGLE DB 는현재 archivelog Mode 중이며, 테스트의편의성을위해서변환되는 RAC 는 No archivelog Mode 로구성하기위해서 NOARVHIELOG 로기술한것이기때문에 꼭 NOARCHIVELOG 로해야하는것은아님을밝혀둔다. SID 의변경유무와상관없이 ASM 영역내로재생성해야하기때문에반드시재생성을 한다. <Service Name> 8 Customer Only

asmcmd 로접속해디렉토리를생성한다. $ export ORACLE_SID=+ASM1 $ asmcmd ASMCMD> cd DATA ASMCMD> mkdir COPYDB ASMCMD> mkdir COPYDB/DATAFILE 기존 Single Database shutdown 후컨트롤파일재생성 single 로운영중인 ha 인스턴스를종료한다. SQL> shutdown immediate; sid 를변경후컨트롤파일재생성을진행한다 $ export ORACLE_SID=COPYDB1 SQL> @recon.sql RMAN 을이용해서 convert rman 에접속후아래와같이 convert 명령을내리면 convert datafile '/oradata2/ha/users01.dbf' format '+DATA/COPYDB/DATAFILE/users01.dbf'; 아래와같이에러가발생한다. Starting backup at 14-DEC-11 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup command at 12/14/2011 01:56:34 RMAN-06592: must specify FROM PLATFORM 에러메시지에서힌트를얻을수있는데 FROM PLATFORM 을기술해달라고한다. 해당정보는공통적인정보로써 open 된인스턴스에서아래쿼리를실행해조회해보면된다. <Service Name> 9 Customer Only

SELECT * FROM V$TRANSPORTABLE_PLATFORM; 결과는아래와같다. PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT ----------- ---------------------------------------- -------------- 1 Solaris[tm] OE (32-bit) Big 2 Solaris[tm] OE (64-bit) Big 7 Microsoft Windows IA (32-bit) Little 10 Linux IA (32-bit) Little 6 AIX-Based Systems (64-bit) Big 3 HP-UX (64-bit) Big 5 HP Tru64 UNIX Little 4 HP-UX IA (64-bit) Big 11 Linux IA (64-bit) Little 15 HP Open VMS Little 8 Microsoft Windows IA (64-bit) Little 9 IBM zseries Based Linux Big 13 Linux x86 64-bit Little 16 Apple Mac OS Big 12 Microsoft Windows x86 64-bit Little 17 Solaris Operating System (x86) Little 18 IBM Power Based Linux Big 19 HP IA Open VMS Little 20 Solaris Operating System (x86-64) Little OS 별각기다른 ENDIAN_FORMAT 정보를담고있는뷰를조회한것이다. RMAN 에서 FROM PLATFORM 에서기술해달라는플랫폼명은위에서참조해서기재하면된다. convert datafile '/oradata2/ha/users01.dbf' format '+DATA/COPYDB/DATAFILE/users01.dbf'; FROM 플렛폼은위의커맨드에서빨간색으로되어있는 Source 부분을지칭하는것이다. 가령 users01.dbf 파일이원래윈도우에서사용중인파일이고해당파일을 Linux 의 ASM 영역에 convert 할것이라면아래와같이 source OS 의정보를입력해주면된다. FROM PLATFORM 'Microsoft Windows x86 64-bit' 테스트환경은리눅스환경임으로커맨드는아래와같이된다. convert datafile '/oradata2/ha/users01.dbf' FROM PLATFORM 'Linux x86 64-bit' <Service Name> 10 Customer Only

format '+DATA/COPYDB/DATAFILE/users01.dbf'; FROM 절까지기술한후실행하면아래와같이정상적으로복사되는것을확인할수있다. 같은방법으로 system, sysaux,undo 등모든데이터파일을 convert 한다. 위에서언급했듯이 temp,redo 를제외하고모든데이터파일을 convert 한다. 데이터파일경로를변경후 open 한다. datafile 은아래처럼변경을한다. alter database rename file '/oradata2/ha/undotbs02.dbf' to '+DATA/COPYDB/DATAFILE/undotbs02.dbf'; alter database rename file '/oradata2/ha/sysaux01.dbf' to '+DATA/COPYDB/DATAFILE/sysaux01.dbf'; alter database rename file '/oradata2/ha/undotbs01.dbf' to '+DATA/COPYDB/DATAFILE/undotbs01.dbf'; alter database rename file '/oradata2/ha/system01.dbf' to '+DATA/COPYDB/DATAFILE/system01.dbf'; alter database rename file '/oradata2/ha/users01.dbf' to '+DATA/COPYDB/DATAFILE/users01.dbf'; recover 진행 SQL> recover database using backup controlfile; ORA-00279: change 721438 generated at 12/16/2011 01:36:24 needed for thread 1 ORA-00289: suggestion : /oracle/product/102/db/dbs/archarc_1_3_769925721.arc ORA-00280: change 721438 for thread 1 is in sequence #3 Specify log: {<RET>=suggested filename AUTO CANCEL} 위에서요구하는변경본이있는파일은 redo log 파일일것임으로현재리두로그파일을 적용해본다. 아래와같이나온다면다음리두를, 그래도나오면다른리두로그를입력한다. ORA-00310: archived log contains sequence 2; sequence 3 required ORA-00334: archived log: '/oradata2/ha/redo02.log' 맞는리두로그파일을입력하면아래와같이복구가완료되었다는메세지를볼수있다. Log applied. Media recovery complete. resetlogs 로 open 한다. SQL> alter database open resetlogs; <Service Name> 11 Customer Only

tempfile 추가 ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA/COPYDB/DATAFILE/temp01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M; redo 로그파일추가삭제 group1 과 2 에맴버를각각하나씩추가한다. alter database add logfile member '+DATA/COPYDB/DATAFILE/redo01a.log' to group 1; alter database add logfile member '+DATA/COPYDB/DATAFILE/redo02a.log' to group 2; redolog file 은아래쿼리로조회해서 active, inactive 상태를조회한다. SQL>set linesize 500 SQL> col member format a35 SQL> col IS_RECOVERY_DEST_FILE format a25 SQL> select b.thread#,a.group#,b.first_change#, a.member, b.bytes/1024/1024 MB,b.status, 2 a.type TYPE 3 from v$logfile a, v$log b 4 where a.group# = b.group# 5 order by a.group#, a.member; THREAD# GROUP# FIRST_CHANGE# MEMBER MB STATUS TYPE ---------- ---------- ------------- ----------------------------------- ---------- ---------------- ------- 1 1 721440 +DATA/copydb/datafile/redo01a.log 200 CURRENT ONLINE 1 1 721440 /oradata2/ha/redo01.log 200 CURRENT ONLINE 1 2 0 +DATA/copydb/datafile/redo02a.log 200 UNUSED ONLINE 1 2 0 /oradata2/ha/redo02.log 200 UNUSED ONLINE 1 3 0 /oradata2/ha/redo03.log 200 UNUSED ONLINE 현재 group3 이 unused 중이라바로삭제가가능하기때문에삭제를한다. alter database drop logfile group 3; 2 번인스턴스용 (Thread2) Redolog 를생성한다. SQL> alter database add logfile thread 2 group 3 ('+DATA/COPYDB/DATAFILE/redo03a.dbf') size 100M, group 4 ('+DATA/COPYDB/DATAFILE/redo04a.dbf') size 100M; <Service Name> 12 Customer Only

활성화한다. SQL> alter database enable public thread 2; 다시위의쿼리로조회하면서 alter system switch logfile 과 alter sysem checkpoint 를이용하여 group 1 과 group 2 를 inactive 로만든다. ASM 영역이아닌기존이 filesystem 에있는 redolog 파일을 삭제해야한다. redo 로그상태를조회해서 inactive 가된그룹의맴버를삭제한다. alter database drop logfile member '/oradata2/ha/redo01.log'; alter database drop logfile member ' /oradata2/ha/redo02.log'; 이렇게추가삭제를반복하면아래와같이 4 개의그룹파일이 ASM 에위치하게된다. THREAD# GROUP# FIRST_CHANGE# MEMBER MB STATUS TYPE ---------- ---------- ------------- ----------------------------------- ---------- ---------------- ------- 1 1 721716 +DATA/copydb/datafile/redo01a.log 200 INACTIVE ONLINE 1 2 721766 +DATA/copydb/datafile/redo02a.log 200 CURRENT ONLINE 2 3 721695 +DATA/copydb/datafile/redo03a.dbf 100 CURRENT ONLINE 2 4 0 +DATA/copydb/datafile/redo04a.dbf 100 UNUSED ONLINE undotbs 를생성 2 번인스턴스 (THREAD2) 의 undotbs 를생성 ( 존재한다면생성하지않아도된다 ) SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '+DATA/COPYDB/DATAFILE/undotbs02.dbf' size 1024M; 여기까지진행했다면모든데이터파일 (undo, temp 포함 ) 이 ASM 영역으로위치해있을것이다. 아래쿼리로조회해보자 select file_name from dba_data_files union all select file_name from dba_temp_files; +DATA/copydb/datafile/undotbs02.dbf +DATA/copydb/datafile/users01.dbf +DATA/copydb/datafile/sysaux01.dbf +DATA/copydb/datafile/undotbs01.dbf <Service Name> 13 Customer Only

+DATA/copydb/datafile/system01.dbf +DATA/copydb/datafile/temp01.dbf 컨트롤파일을조회해본다. SQL> show parameter control control_files string +DATA/copydb/datafile/control0 1.ctl, +DATA/copydb/datafile/c ontrol02.ctl 2 개의 controlfile 이 ASM 영역에위치해있다. 파라미터수정후 RAC convert 다시파라미터파일을열어서아래파라미터를수정한다. 전 ) *.cluster_database = false 후 ) *.cluster_database = true 파라미터파일을수정후데이터베이스를재시작한다. 인스턴스가 open 된후아래 sql 을수행한다. SQL> @?/rdbms/admin/catclust.sql spfile 생성 create spfile='+data/copydb/datafile/spfilecopydb.ora' from pfile='/oracle/product/102/db/dbs/initcopydb1.ora'; ( 한줄로붙여서실행 ) spfile 을만든후 1 번서버에서는 initcopydb1.ora 을 rename( 백업 ) 하고 1 번에서 initcopydb1.ora, 2 번서버에서 initcopydb2.ora 를만든다 내용은아래와같이 SPFILE 을가리키도록한다. SPFILE='+DATA/COPYDB/DATAFILE/spfileCOPYDB.ora' <Service Name> 14 Customer Only

위에서생성한 dump_dest 디렉토리를 2 번서버에서도동일하게생성한다. *.audit_file_dest='/oracle/admin/copydb/adump' *.background_dump_dest='/oracle/admin/copydb/bdump' *.core_dump_dest='/oracle/admin/copydb/cdump' *.user_dump_dest='/oracle/admin/copydb/udump' clusterware 의 Resource 로등록한다. srvctl 명령어를이용하여 database 를등록한다. 형식은아래와같다. $ srvctl add database -d COPYDB -o /oracle/product/102/db -p +DATA/COPYDB/DATAFILE/spfileCOPYDB.ora 각옵션의의미는아래와같다 -d : database의이름 -o : oracle 홈디렉토리 -p : 파라미터파일경로 srvctl 명령어를이용하여 instance 를등록한다. 형식은아래와같다. $ srvctl add instance -d COPYDB -i COPYDB1 -n test1 $ srvctl add instance -d COPYDB -i COPYDB2 -n test2 -i : 인스턴스명 -n : 각노드의호스트명 resource 확인 리소스등록까지모두마친후 crs_stat -t 를통해리소스상태를확인한다. 아래와같이 database 및 instance 리소스가 OFFLINE 이라면리소스시작커맨드를실행한다. ora...b1.inst application OFFLINE OFFLINE ora...b2.inst application OFFLINE OFFLINE ora.copydb.db application OFFLINE OFFLINE $ crs_start -all 커맨드실행후다시확인해보면모두 ONLINE 상태로변경된것을확인할수있다. ora...b1.inst application ONLINE ONLINE test1 ora...b2.inst application ONLINE ONLINE test2 ora.copydb.db application ONLINE ONLINE test2 <Service Name> 15 Customer Only