1. EM 설치

1) Emca -config dbcontrol db -repos recreate

   

   

2. EM 상태확인 및 시작/정지

1) emctl status dbconsole(emctl stop dbconsole, emctl start dbconsole)

   

   

   

   

   

3. EM 시작

   

   

   

1) Em을 사용하기 위해서는 별도의 라이선스가 필요하지만 TEST는 가능합니다.

2) EM을 통해서 전반적인 DB 상태확인 및 관리가 가능합니다. 이번 TEST에서는 Rman backup에 대한 부분에 대해서만 정리하도록 하겠습니다.

   

4. EM을 이용한 Rman backup 설정

   

   

1) 백업 설정 후 -> 백업 일정잡기를 설정하도록 하겠습니다. (백업 설정은 Rman 에서 show all 명령어를 입력했을 때 나오게 되는 기본 환경변수들에 대한 세팅 부분입니다.

   

   

2) 백업 정책에 대한 세밀한 설정을 시각적으로 확인하면서 설정할 수 있습니다. 설정 후 oracle 서버에 자동으로 해당 내용이 반영됩니다.

   

5. 백업 일정 잡기

   

   

1) 사용자 정의 백업을 통해 다양한 형태로 백업을 진행할 수 있습니다.

   

   

   

2) 추가적으로 백업 모드와 백업 유형 그리고 사용되지 않는 백업본 삭제까지 세밀한 설정까지 가능합니다.

   

   

3) 백업이 될 형태와 위치 지정이 가능합니다.

   

4) 백업 일정에 대해서 날짜 시간별로 지정할 수 있습니다.

   

5) 해당 일정이 완료가 되면 Rman backup 스크립트가 완성되어집니다(해당 스크립트에는 일정 및 주기에

대한 내용이 들어가 있지는 않고 backup에 대한 스크립트입니다. )

   

6) 해당 작업설정이 완료가 되면 아래와 같이 실행되는 백업 일정에 대해서 확인 및 편집이 추가로 가능합니다.

   

   

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


 

Oracle RAC Grid 설치

   

  • 설치를 진행하기 앞서 RPM 설치
    • cvuqdisk-1.0.9-1.rpm(해당 rpm의 경우, p10098816_112020_LINUX_3of7.zip(3번) 설치파일에 있습니다)
    • scp /u01/grid/rpm/cvuqdisk-1.0.9-1.rpm rac2:/u01/ --2번 노드에도 설치

      export CVUQDISK_GRP=dba

   

  • Grid 계정
    • p10098816_112020_LINUX_3of7.zip
  • Oracle 계정
    • p10098816_112020_LINUX_1of7.zip
    • p10098816_112020_LINUX_2of7.zip

         

  1. Grid 설치 시작

       

  • Grid 유저
  • 설치 순서및 형태는 설치 버전에 따라 약간의 차이가 있을 수 있습니다.

       

       

  • [Skip software updates]

       

       

  • [Install and Configure Oracle Grid infrastructure for a cluster]

       

       

  • [Advanced Installation]

       

       

  • 언어선택

       

       

  • DBA 그룹으로 통일하여 설치 진행

       

       

  • Scan name 변경 -> rac-scanip : 해당 /etc/hosts 설정에 맞도록 설정

       

       

  • SSH Connectivity 설정 및 확인

       

       

  • Pubilc 및 Private 설정 및 SSH Connectivity 확인필요

       

       

       

       

  • ASMDISK 방식으로 구현
  • 미러링되어 있을경우 EXTENAL

       

       

  • [권한 에러] : ASM DISK 구성시 권한을 잘못 지정하게 될경우, 위와 같은 에러가 발생할 수있습니다.

       

    ※ Redundancy? ※

    만약의 경우를 위해 미러링 하는 정도를 의미

       

    Disk Group에서 그중 하나 이상의 디스크가 장애날 경우 

    전체 Disk Group내의 데이터를 모두 손실할 수 있기 때문에 안정성을 위해 redundancy를 설정할 수 있다.

       

    ASM Instance 생성시 디스크 그룹을 선택할 때 생성

    Normal

    - 2-way mirroring, 2배의 디스크가 필요 (실제 데이터가 저장되는 공간이 100G면, 100G 디스크 2개가 필요)

    High

    - 3-way mirroring, 3배의 디스크 필요

    External

    - ASM mirroring 기능 사용하지 않음, Hardware RAID 기능으로 디스크를 보호하고 있을 경우에만 사용하길 권장


       

       

       

       

       

       

       

       

       

       

    Grid 설치 완료 후, 확인

[root@rac1 test]# crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....ER.lsnr ora....er.type ONLINE ONLINE rac1

ora....N1.lsnr ora....er.type ONLINE ONLINE rac1

ora.ORADATA.dg ora....up.type ONLINE ONLINE rac1

ora.asm ora.asm.type ONLINE ONLINE rac1

ora.cvu ora.cvu.type ONLINE ONLINE rac1

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora....network ora....rk.type ONLINE ONLINE rac1

ora.oc4j ora.oc4j.type ONLINE ONLINE rac1

ora.ons ora.ons.type ONLINE ONLINE rac1

ora.rac.db ora....se.type ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....C1.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip ora....t1.type ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac2

ora....C2.lsnr application ONLINE ONLINE rac2

ora.rac2.gsd application OFFLINE OFFLINE

ora.rac2.ons application ONLINE ONLINE rac2

ora.rac2.vip ora....t1.type ONLINE ONLINE rac2

ora....ry.acfs ora....fs.type ONLINE ONLINE rac1

ora.scan1.vip ora....ip.type ONLINE ONLINE rac1

[root@rac1 test]#

   

Gsd 및 oc4j

# srvctl enable nodeapps -g

   

# srvctl start nodeapps

   

# srvctl stop oc4j -f

   

GSD는 11g R2 부터는 offilne이 normal 임 (문제 없음), 9i에서만 사용됨..

   ==> GSD Is Used Only if 9i RAC Database is Present [ID 429966.1]


GRID 제거

   

1. Grid 원복 작업  

[설명] 양쪽 노드에서 아래와 같이 Grid가 설치되어있는 홈 디렉토리에서 작업을 진행 하도록 하겠습니다. 우선 현재 crs, asm 등등 리소스를 확인 합니다. 어차피 띄워져 있어도 자동으로 모두 제거 하도록 하겠습니다. 아래 작업은 노드 1, 노드 2에서 모두 해주셔야 합니다.

   

[root@rac1 install]# pwd

/u01/11.2.0/grid/crs/install

[설명] 양쪽 노드에서 root.sh로 진행한 모든 내용을 없애 버립니다.

[root@rac1 install]# $GRID_HOME/roothas.pl -delete -force -verbose

   

$GRID_HOME/roothas.pl -deconfig -force -verbose

   

[설명] 만약 root.sh가 node2에서만 에러가 발생 된다면 환경설정만 날리고 다시 root.sh를 수행 하시면 됩니다.

[root@rac2 install]# $GRID_HOME/rootcrs.pl -deconfig -force -verbose

   

   

[설명] 이미 설치된 Grid 파일을 모두 제거 합니다.

[root@rac1 grid]# pwd

/u01/11.2.0/grid

[root@rac1 grid]# $GRID_HOME/rm -rf *

   

[설명] 로컬 인벤토리에 있는 데이터 파일도 모두 제거 합니다.( 제거하지 않을 경우 그리드 설치시 에러가 발생 됩니다.)

[root@rac2 oraInventory]# $ORACLE_HOME/oraInventory/rm -rf *

   

[설명] 환경설정이 되어있으므로 아래와 같이 모두 제거 합니다. 

[root@rac2 u01]# rm -rf /etc/ora*

   

[설명] 데몬이 설정되어 있다면 rootdeinstall.sh를 반드시 수행 하셔야 합니다.  이후 아래 파일을 제거 하시기 바랍니다.

rm -f /etc/init.d/init.cssd 

rm -f /etc/init.d/init.crs 

rm -f /etc/init.d/init.crsd 

rm -f /etc/init.d/init.evmd 

rm -f /etc/rc2.d/K96init.crs

rm -f /etc/rc2.d/S96init.crs

rm -f /etc/rc3.d/K96init.crs

rm -f /etc/rc3.d/S96init.crs

rm -f /etc/rc5.d/K96init.crs

rm -f /etc/rc5.d/S96init.crs

rm -Rf /etc/oracle/scls_scr

rm -f /etc/inittab.crs 

cp /etc/inittab.orig /etc/inittab

   

[설명] 만약 $GRID_HOME 디렉토리의 권한이 변경 되었다며 소유권을 변경 합니다.

[root@rac2 u01]# chown -R grid.oinstall $GRID_HOME(ex: /u01/11.2.0/grid)

   

작업은 Oracle 11g R2 64bit 환경에서 제거 후 Grid를 다시 설치 하였습니다.

이상 없이 설치 했습니다.

   

원본 위치 <http://estenpark.tistory.com/283>

   

[참고문헌]

   

http://www.allsoft.co.kr/bbs/board.php?bo_table=study91_2&wr_id=30

http://hook.tistory.com/275

http://blog.naver.com/jjuneye?Redirect=Log&logNo=110152112359

http://estenpark.tistory.com/284

http://www.oracle.com/pls/db112/homepage

http://pangsun.tistory.com/

http://www.oracleclub.com/

https://support.oracle.com

   

   

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

 

1.컨트롤 파일 mirror

   

1) srvctl stop database -d VIDEO 정지 후-> 1번 노드에서만 작업실시

2) Startup nomount; 현재상태 확인

   

SQL> startup nomount;

ORACLE instance started.

   

Total System Global Area 3674501120 bytes

Fixed Size 2233760 bytes

Variable Size 1157630560 bytes

Database Buffers 2499805184 bytes

Redo Buffers 14831616 bytes

SQL>

SQL>

SQL>

SQL> show parameter control_file

   

NAME TYPE

------------------------------------ ---------------------------------

VALUE

------------------------------

control_file_record_keep_time integer

7

control_files string

+ORADATA/video/controlfile/cur

rent.260.786470645

SQL>

   

3) Su - oragrid -> asmcmd -> controlfile 복사 2~3개 후,

ASMCMD> ls

Current.260.789319007

ASMCMD>

ASMCMD> pwd

+ORADATA/video/controlfile

ASMCMD>

SQL> alter system set control_files='+ORADATA/video/controlfile/current.260.786470645', '+ORADATA/video/controlfile/current.mirror1', '+ORADATA/video/controlfile/current.mirror2' scope=spfile;

   

System altered.

   

SQL>

   

4) Shutdown immediate -> startup nomount -> mount -> open

SQL> startup nomount

ORACLE instance started.

   

Total System Global Area 3674501120 bytes

Fixed Size 2233760 bytes

Variable Size 1157630560 bytes

Database Buffers 2499805184 bytes

Redo Buffers 14831616 bytes

SQL>

SQL>

SQL> show parameter control_files

   

NAME TYPE

------------------------------------ ---------------------------------

VALUE

------------------------------

control_files string

+ORADATA/video/controlfile/cur

rent.260.786470645, +ORADATA/v

ideo/controlfile/current.mirro

r1, +ORADATA/video/controlfile

/current.mirror2

SQL>

SQL> alter database mount;

   

Database altered.

   

SQL>

SQL>

SQL> select name, is_recovery_dest_file from v$controlfile;

   

NAME

--------------------------------------------------------------------------------

IS_RECOVE

---------

+ORADATA/video/controlfile/current.260.786470645

NO

   

+ORADATA/video/controlfile/current.mirror1

NO

   

+ORADATA/video/controlfile/current.mirror2

NO

   

   

SQL>

SQL>

SQL> desc v$controlfile;

Name Null? Type

----------------------------------------- -------- ----------------------------

STATUS VARCHAR2(7)

NAME VARCHAR2(513)

IS_RECOVERY_DEST_FILE VARCHAR2(3)

BLOCK_SIZE NUMBER

FILE_SIZE_BLKS NUMBER

   

SQL>

SQL>

SQL> alter database open;

   

Database altered.

   

SQL>

SQL>

   

2.Redolog 변경

1) 잠시 옮겨둘 redolog 생성

SQL> ALTER DATABASE ADD LOGFILE THREAD 1

2 GROUP 10 '+ORADATA',

3 GROUP 20 '+ORADATA',

4 GROUP 30 '+ORADATA';

   

Database altered.

   

SQL>

SQL> ALTER DATABASE ADD LOGFILE THREAD 2

2 GROUP 40 '+ORADATA',

3 GROUP 50 '+ORADATA',

4 GROUP 60 '+ORADATA';

   

Database altered.

   

SQL>

   

2) 리두 로그 현재 상태변경

SQL> alter system switch logfile;

SQL> alter system checkpoint;

   

3) 기존의 리두로그 제거

SQL> alter database drop logfile group 1;

   

Database altered.

SQL>

SQL> alter database drop logfile group 2;

   

Database altered.

   

SQL> alter database drop logfile group 3;

   

Database altered.

   

SQL> alter database drop logfile group 4;

   

Database altered.

   

==========================================

   

SQL> alter database drop logfile group 5;

alter database drop logfile group 5

*

ERROR at line 1:

ORA-01623: log 5 is current log for instance UNNAMED_INSTANCE_3 (thread 3) - cannot drop

ORA-00312: online log 5 thread 3: '+ORADATA/video/onlinelog/group_5.265.786470753'

   

SQL> alter database drop logfile group 6;

alter database drop logfile group 6

*

ERROR at line 1:

ORA-01567: dropping log 6 would leave less than 2 log files for instance UNNAMED_INSTANCE_3 (thread 3)

ORA-00312: online log 6 thread 3: '+ORADATA/video/onlinelog/group_6.266.786470753'

   

SQL> ALTER DATABASE DISABLE THREAD 3;

   

Database altered.

   

SQL>

SQL>

SQL> alter database drop logfile group 5;

   

Database altered.

   

SQL> alter database drop logfile group 6;

   

Database altered.

  

   

4) 새롭게 사용할 리두로그 추가

SQL>

SQL> ALTER DATABASE ADD LOGFILE THREAD 1

2 GROUP 1 ('+ORADATA','+ORADATA') SIZE 1024m,

3 GROUP 2 ('+ORADATA','+ORADATA') SIZE 1024m,

4 GROUP 3 ('+ORADATA','+ORADATA') SIZE 1024m;

 

Database altered.

   

SQL> ALTER DATABASE ADD LOGFILE THREAD 2

2 GROUP 4 ('+ORADATA','+ORADATA') SIZE 1024m,

3 GROUP 5 ('+ORADATA','+ORADATA') SIZE 1024m,

4 GROUP 6 ('+ORADATA','+ORADATA') SIZE 1024m;

   

Database altered.

   

SQL>

   

4) 리두 로그 현재 상태변경

SQL> alter system switch logfile;

SQL> alter system checkpoint;

   

6) 잠시 백업해둔 리두로그 삭제

SQL>

SQL> alter database drop logfile group 20;

   

Database altered.

   

SQL> alter database drop logfile group 30;

   

Database altered.

   

SQL> alter database drop logfile group 40;

   

Database altered.

   

SQL> alter database drop logfile group 50;

   

Database altered.

   

SQL> alter database drop logfile group 60;

   

Database altered.

   

3.기타

1) 로그정보확인(TEST서버)

- DB : /app/oracle/diag/rdbms/racdb/RACDB1/trace/alert_RACDB1.log

- ASM : /app/grid/app/oragrid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log

- Grid : /app/grid/11g/log/rac1/alertrac1.log

   

2) 자주 사용했던 명령어들..

- crsctl start crs(root) : crs를 노드1,2 동시에 올림

- crsctl stop crs -f(root) : 강제로 crs가 내려갈 경우, 꺠끗하게 내리고 시작하기 위해서 강제로 내림

- crs_stat -t -v : 현재 상태확인(crs 및 DB)

- ASM Check

 -> oracleasm scandisks

 -> oracleasm listdisks

 -> Asmcmd

 

 -> srvctl status database -d SID

 -> srvctl stop database -d SID

 -> srvctl start database -d SID

   

3) 11g 내부에서 사용되는 ip존재(HAIP)

   

노드1

eth1:1 Link encap:Ethernet HWaddr 00:E0:4C:68:00:B4

inet addr:169.254.124.85 Bcast:169.254.255.255 Mask:255.255.0.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:58 Base address:0xc000

노드2

eth1:1 Link encap:Ethernet HWaddr 00:E0:4C:68:00:AB

inet addr:169.254.12.120 Bcast:169.254.255.255 Mask:255.255.0.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:58 Base address:0xc000

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,