10g RAC on Win2K Document Control Date Author Change References 2006-03-30 신종근 초기작성함 1-1
** Agenda 1. 작업목적 Down-Time 최소화!! 2. Pre-Install 환경 3. CRS Install 4. DBMS S/W Install 5. 9i 10g Upgrade 6. 문제점및주의사항 1. 작업목적 Down-Time 최소화!! 현재실운영 DB 환경은 8 CPU, 9.2.0.6, 2TB ( 실 Data 1.5TB) 의대용량 Data 를가진 Single System 을 Down-Time 을최소화하여 10g RAC 환경으로실시간 DB 를 Upgrade 해야한다. OS : Windows 2003 Server CX700 & Power-Path Oracle : EE 9.2.0.6 32bit DBF : 2TB, 실 Data: 1.5TB OS : Windows 2003 Server CX700 & Power-Path Oracle : EE 10g RAC R2 612 개 raw-device 방법은아래와같이진행한다. 1. 기존 Storage 에실운영 Server (A) 와동일 Spec 의 System 을추가 (B) 2. B Node 에 Single CRS & DB S/W 만 Install 3. DBF 는 raw-device 로할예정이므로 crlogdr command 로 612개의 raw-device 생성 4. A Node 에 Begin backup 후에 B Node ocopy 5. Begin Backup 시생성되는 Archive 를 B Node 로전송 6. B Node 에서 mount 상태에서 Recovery 진행 (compatible 은 9.2.0.0) 7. alter database open upgrade (Current Control File 이있는경우!!) 8. SYAAUX, Temp 추가.. 9. @catupgrd 10. @utlrp 11. 업무 Test 및 Optimizer, 통계정보 2. Pre-Install 환경 1) H/W Spec. H/W : HP rx4640 * 2. OS : Windows 2003 Server Service Pack 1. Storage : EMC CX300 (2.2 TB) & EMC Power-Path V4.1 2) Disk Setup. automount 1-2
3) Server Setup Configure Windows to be an Apps Server instead of the default file server (WebIV lookup/check: reduced file cache -> more memory available for Oracle: Control Panel > System > Performance Options > Memory Usage >) Configure Windows to have higher priority for Background Services (Windows XP Workstation default is Programs/Programs, Windows2003 EE default is Background/System Cache) Suggestion: Background Services / Programs 1-3
4) Network Setup. c: windows system32 drivers etc hosts ## public 10.23.1.164 10g-test02 ## NIC 이름 - HOME 10.23.1.165 10g-test01 ## NIC 이름 - HOME ## Private 192.168.200.1 10g-test02-priv ## NIC 이름 - HeartBeat 192.168.200.2 10g-test01-priv ## NIC 이름 - HeartBeat ## Vip 10.23.1.166 10g-test02-vip 10.23.1.167 10g-test01-vip ** 위 N/W Device 이름이서로다르면 vipca 시 Error 가발생함.. Private & Public 은반드시 Gigabit 으로이중화할것!!. Windows rsh 환경 CMD> net use 10g-test02 c$ CMD> net use 10g-test01 c$ 1-4
3. CRS Install 1) OCR & Vote Disk Disk 가아래그림과같이 MBR Disk 가되도록해야한다.!! OCR 과 Vote Disk 는물리적으로다른 Disk 에생성하도록한다.!! 1-5
** 위 OCR & Vote Disk 는 CRS S/W Install 시설치되는 OracleOBJService 에의해 ocrcfg, votedsk1 등의이름으로 Link 되어지며, 되도록이면이중화를하도록한다.!! ** CRS S/W 설치후엔 $ORA_CRS_HOME/bin 폴더에 Windows 용 RAC 를위한여러가지파일들이설치가된다. 1-6
crlogdr.exe - windows 용 raw-device 생성및관리 DeleteDisk.exe -? ExportSYMLinks.exe - Physical Partition 과 raw-device 를 Mapping 하는정보파일 GUIOracleOBJManager.exe GUI 환경에서 Physical Partition & raw-device 를 Mapping ImportSYMLinks.exe - Physical Partition 과 raw-device 를 Mapping 하는정보파일 LetterDelete.exe - Physical Partition 생성후할당되어지는 D,E,F 등의이름을지움 LogPartFormat.exe - 물리적 Disk 를 Format OracleObjManager.exe -? OracleObjService.exe - Physical Partition 을 raw-device 와 Mapping 하는 command 2) CRS S/W 설치는별어려움없이진행됨 10g R2 에서는 CRS 설치후에 vipca 가자동실행됨.. 1-7
1-8
C: oracle product 10.2.0 crs BIN>crs_stat -t 이름 유형 대상 상태 호스트 ------------------------------------------------------------ ora...t01.gsd application ONLINE ONLINE 10g-test01 ora...t01.ons application ONLINE ONLINE 10g-test01 ora...t01.vip application ONLINE ONLINE 10g-test01 ora...t02.gsd application ONLINE ONLINE 10g-test02 ora...t02.ons application ONLINE ONLINE 10g-test02 ora...t02.vip application ONLINE ONLINE 10g-test02 4. DBMS S/W Install Oracle S/W 는전혀 Error 없이설치가잘됨!! ( 양쪽 Node) 자동으로아래 Service 들이등록 / 실행이되어진다. - Oracle Object Service (%CRS%/bin) - OracleCRService - OracleCSService - OracleEVMService 1-9
5. 9i 10g Upgrade 1) Raw-device 생성 Physical Partition 생성후에 E, F 등의 Logical 이름이생성될수있으므로 Letterdelete 명령으로지워준다.!! Windows 의 raw-device Copy 명령 :: ocopy 이다. ** Physical Disk 가세개 (d1, d2, d3) 이므로 raw-device 를분산한다. 주의!! - 4G 이상 File 은 crlogdr command 로생성되지않으므로 Disk 관리자에서수동으로 ## mk_sys.bat crlogdr /d1 /s 32 /l SPFILE ## crlogdr / 디스크이름 /s [Size] /l [raw-device 이름 ] crlogdr /d2 /s 32 /l PWDFILE crlogdr /d1 /s 32 /l CONTROL01.CTL crlogdr /d2 /s 32 /l CONTROL02.CTL crlogdr /d3 /s 32 /l CONTROL03.CTL crlogdr /d3 /s 32 /l CWMLITE01.DBF crlogdr /d3 /s 32 /l DRSYS01.DBF crlogdr /d3 /s 152 /l EXAMPLE01.DBF crlogdr /d3 /s 32 /l INDX01.DBF crlogdr /d3 /s 32 /l ODM01.DBF crlogdr /d3 /s 82 /l TOOLS01.DBF crlogdr /d1 /s 102 /l REDO01.LOG crlogdr /d2 /s 102 /l REDO02.LOG crlogdr /d3 /s 102 /l REDO03.LOG crlogdr /d1 /s 102 /l REDO04.LOG crlogdr /d2 /s 102 /l REDO05.LOG crlogdr /d3 /s 102 /l REDO06.LOG crlogdr /d1 /s 102 /l REDO07.LOG crlogdr /d2 /s 102 /l REDO08.LOG crlogdr /d3 /s 102 /l REDO09.LOG crlogdr /d1 /s 102 /l REDO10.LOG crlogdr /d1 /s 1024 /l SYSTEM01.DBF crlogdr /d2 /s 2002 /l SYSAUX.DBF crlogdr /d1 /s 34000 /l UNDOTBS01.DBF crlogdr /d2 /s 3001 /l UNDOTBS02.DBF crlogdr /d3 /s 30000 /l UNDOTBS03.DBF crlogdr /d2 /s 10000 /l UNDOTBS04.DBF crlogdr /d3 /s 10000 /l UNDOTBS05.DBF crlogdr /d3 /s 34001 /l TEMP01.DBF crlogdr /d3 /s 32 /l USERS01.DBF crlogdr /d3 /s 45 /l XDB01.DBF ## mk_dbf.bat crlogdr /d3 /s 3001 /l DATABADMINTB01.DBF crlogdr /d1 /s 3001 /l DATAB01.DBF crlogdr /d1 /s 3001 /l DATAB02.DBF crlogdr /d1 /s 3001 /l DATAB03.DBF... crlogdr /d2 /s 4001 /l DATAB127.DBF 1-10
crlogdr /d2 /s 4001 /l DATAB128.DBF crlogdr /d2 /s 4001 /l DATAB129.DBF crlogdr /d2 /s 4001 /l DATAB130.DBF crlogdr /d2 /s 4001 /l DATAB131.DBF... crlogdr /d3 /s 3001 /l DATAB585.DBF crlogdr /d3 /s 3001 /l DATAB586.DBF crlogdr /d3 /s 3001 /l DATAB587.DBF ** GUIOracleOBJManager 실행화면 2) 9i 10g Upgrade. Controlfile 재생성 (file-system raw-device). SQL> recover database using backup controlfile until cancel; 생성되어진마지막 Archive log 적용 Current Redo 적용 Current Controlfile 을 ocopy 했으면 No-Resetlogs 으로!! 만약 Current Controlfile 이없으면 Resetlog 로!!. SQL> alter database open upgrade; SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '. TEMP01' SIZE 57671680 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 2000M;. SYSAUX TBS 생성 SQL> CREATE TABLESPACE sysaux DATAFILE '. SYSAUX' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ; 1-11
. Upgrade Catalog SQL> @?/rdbms/admin/u0902000.sql 10g R1!! SQL> @?/rdbms/admin/catupgrd.sql 10g R2!! SQL> spool off SQL> shutdown & startup restrict SQL> @?/rdbms/admin/utlrp SQL> shutdown & startup Compatible 은 10.2.0.1 로.. log_archive_format,. DB Console 용 EM 생성!! CMD> emca a c r 6. 문제점및주의사항 1) 위고객의경우 DATAB 라는하나의 Tablespace 에 DataFile 이 589 개나존재한다. 이는 Backup 및기타 Tablespace 단위작업시굉장한업무부하및업무효율성을떨어뜨리고있다. 특히 Partitioned Table 을설계및운영중이므로더더욱 Tablespace 를분리및나누어서운영을해야한다. 2) 현재 3G, 4G DataFile 이약 600 개존재하며, db_block_size 가 8K 이므로하나의 DataFile 은최대 32G 까지생성되므로향후 Tablespace 를 Move 하여 Re-Org 한다. 이때 gr buffer busy wait 등양쪽 Node 에서 Hot-Block 에의한 latch free Wait-Event 가많이발생하는 Object 가있는경우 Tablespace 를 2K 로생성 / Move 하도록한다. 3) 600 여개의 Raw-Device 로관리하기힘든경우 ASM 으로전환을고려한다. 현재위환경은 A node B Node 로 Data 이관시 B Node 에여유분의 Disk 공간이없고, Down-Time 을최소화하여옮겨야하는환경이므로위처럼함. 4) Optimizer 및통계정보생성원칙이아직없고불명확하며, 10g 부터는새로운 Backup 전략이반드시필요하다.. RMAN. expdp. alter database begin backup; 5) 실무자가아직 10g New Feature 와 RAC 에대한운영및개념이없으므로반드시 10g New Feature 교육을통한 Skill 이전수되어야한다. 6) 미해결문제ㄱ. 한쪽 Node 에서 crlogdr 또는 Disk 관리자를통해 Parition 생성시실시간및자동으로반대쪽 Node 에반영이되지않고, 반대 Node 에서동일한작업을해주고있다. NOTE:359305.1 를참고하여원인파악중임. SolutionApplying the Windows Hot Fix #898790 has been reported to resolve this problem: http://support.microsoft.com/kb/898790/ ㄴ. Oracle Binary 인 crlogdr 이 4G 이상 raw-device (physical partition) 을생성하지못함. Oracle TAR 진행중이며, MS 에응답을기다리는중.. 1-12