본문 바로가기

IT관련

오라클 RAC에서 Grid, DB 간 환경전환 빠르게 해주는 bash 쉘스크립트 환경파일 생성

Oracle RAC DB 서버에는 $ORACLE_HOME 이 두개 존재합니다. Oracle S/W 가 2군데 설치되어 있는 것이죠.

아래와 같이 grid 홈과 Oracle DB 홈이 있습니다. grid 는 CRS 또는 GI 라고도 하죠~

 

** grid 홈
export ORACLE_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=+ASM1

** DB 홈
export ORACLE_HOME=/u02/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=RAC1

 

grid 와 oracle db 를 하나의 유저내에 만들어 넣을 수도 있고, 다른 유저로 나눠서 설치하기도 합니다.

RAC 를 운영하다 보면, grid 환경과 oracle db 환경을 왔다갔다 해야할 일이 많다보니 좀 편하게 해보려고 만들어 봤습니다.

 

아래와 같이 "grid" 라고 치면, SID, ORACLE_HOME 등의 환경을 grid 에 맞게 바꿔줍니다.

"db" 라고 치면, DB 환경에 맞게 env를 바꿔줍니다.

"envora" 라고 치면, 현재 세팅되어 있는 env 환경을 보여줍니다.

 

 

아주 편하겠죠~~ ㅎㅎ

리눅스의 alias 기능을 이용했습니다. grid, db, envora 알리아스를 만들어놓고 사용하는 것입니다.

 

[oracle@ol6rac1 ~]$ vi env_db
#!/bin/bash
 
alias envora='
echo "----------------------------------------------"
env | grep ORA
echo "----------------------------------------------"
'
 
alias db='
export ORACLE_SID=RAC1
export ORACLE_BASE=/u02/app
export ORACLE_HOME=/u02/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
envora
'
 
alias grid='
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/19.0.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
envora
'
 

 

스크립트를 위와 같이 env_db 라는 이름으로 만들고, 사용할 유저의 홈디렉토리에 있는 .bash_profile 파일에

아래처럼 . env_db (점 한칸 띄고 env_db) 라고 입력해줍니다.

 

이렇게 해두면, 해당 유저로 OS 로그인 할때마다 env_db 스크립트가 자동으로 실행되게 되고,

env_db 스크립트에 있는 alias 3개 (grid, db, envora) 가 자동으로 등록되는 방식입니다.

 

이제 아무데서나 "grid" 라고 치면 grid 환경으로 environment 를 바꿔주고, 

"db" 라고 치면 db 환경으로 environment 를 순식간에 바꿔줍니다.

 

리눅스에서 등록된 alias 확인은 OS 상에서 "alias" 라고 치면 등록된 모든 alias 를 보여줍니다.