올챙이시절 기록소

ORACLE 설치의 정석1 - DB엔진편 ( CentOS6.7 & Oracle DB 11.2.0.4 ) 본문

2015/10월

ORACLE 설치의 정석1 - DB엔진편 ( CentOS6.7 & Oracle DB 11.2.0.4 )

allroundplayer 2017. 9. 25. 13:37

왕초보도 따라 할 수 있도록 최대한 자세히 기술하였다


먼저 설치순서이다


1) 유틸설치 

가) 오라클 버추얼 박스

나) Xshell & Xftp

다) Xming


2) OS설치

가) CentOS 6.7 64bit


3) ORACLE설치

가) DB 엔진 ( 11.2.0.4 )

나) 리스너

다) DB 그 자체


* ref : ORACLE-BASE


오라클 설치는 아주 쉽다


( 하루 8시간씩 한 달이면 된다 )



먼저 파일부터 구하러 가자


0


11.2.0.4 파일을 구하려 했는데  


* now available on support.oracle.com


다음의 문구가 길을 막는다


그러면 11.2.0.1 파일로 진행하면 된다


( 본 설치는 11.2.0.4 파일로 진행할 예정 )


0

정책동의하고


linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip


둘 다 다운로드한다


* 부연설명


한창 설치 연습할 때는 잘 받았는데 세월이 무색하다~


저 파일은 메타링크에서 구할 수 있다는 얘기다


( *  2009년 서비스가 변경되었지만 [ Metalink -> My Oracle Support ] 아직도 쓰는 용어다 )


문제는 유료회원들이 메타링크에 접근 가능하다는 것


다행히 11.2.0.1 설치 파일은 구할 수 있으니 그걸로 진행하면 된다


( 11g R2 범주내라 크게 설치방법은 달라지지 않는다 )



학생들은 아쉽지만 메타링크 구경이라도 하시라

Metalink의 Quick Links


*  클릭하면 다운로드 링크로 연결된다





본격적으로 ORACLE 설치를 해보자


* 유틸 & OS설치는 마무리되었다 가정한다


( 완료되지 않은 사람은 글 상단의 링크을 참고 )







CentOS6.7에 인터넷 좋고




터미널 좋고




IP 좋다


IP를 확인하기 위해 ifconfig 입력




필자가 만든 VM에 IP는


10.10.100.167이다


( 사람마다 다를테니 각자 확인하자, 없으면 트러블 슈팅하시라 )



0


Xshell로 VM에 접속하자


( 편하게 타이핑 하기 위함이다 )


CentOS6.7 설치편  대로 하였다면 


 ID는 root


 PW는 oracle




ssh key를 저장하여아한다고 한다


( 곧 SSH KEY관련 글 올릴 예정 )

수락 및 저장 눌러준다




root




oracle




접속이 잘 되었다




/etc/hosts 파일 수정을 하자


vi 편집기로 open




hostname(machine)을 oracle로 지었기 때문에


"127.0.0.1     oracle" 


한 줄 추가해준다


* vi 편집기를 모르는 사람을 위한 설명 


입력순서 ( 대소문자 주의 )

첫 번째 : G 

두 번째 : o

세번째이후 : 아래와 동일


G : 맨 아래로

o : 아래 한 줄 추가후 입력


127.0.0.1 본인을 향하는 IP이다


oracle이라는 키워드로 IP를 찾으면 본인이 나오도록 한 것이다




저장하고 나온다


vi 편집기를 모르는 사람을 위한 설명 


입력순서 ( 대소문자 주의 )

첫 번째 -> Esc  

두 번째 ->  :    

 세 번째 ~ 다 번째 ->  wq! 

 여섯 번째  -> 엔터


Esc : mode 전환

w : write

q : quit

! : force


문서수정하는 방법은 이러하니 잘 숙지하도록 하자




/etc/sysctl.conf 수정한다


( 오라클 설치 권고에 따라 커널 파라미터값을 변경하는 것이다 )


vi 편집기로 열어준다




맨 아래에 다음과 같이 추가한다


fs.suid_dumpable = 1

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048586





항목이 중복되는 줄은 제거한다


kernel.shmall


kernel.shmmax


vi 편집기를 모르는 사람을 위한 설명 


방향키로 지우려는 줄에 위치한 다음

'dd' 입력한다




저장하고 닫는다




시스템에 적용하기 위해


sysctl -p 입력




기존항목 & 추가한 항목이 보여진다


( 중복된 항목이 있는지 확인하자 )




그룹과 유저를 추가해준다


groupadd oinstall

groupadd  dba

groupadd oper

useradd -502 -g oinstall -G dba,oper oracle


( 리눅스는 다수의 유저들이 사용하도록 설계된 OS이고 유저들을 편하게 관리하기 위해 그룹이라는 개념이 있다 )


0


Password도 정해준다


oracle


oracle 


입력




/etc/security/limits.conf 수정한다


( 방금 만든 유저에게 권한을 할당하기 위함 )


vi 편집기로 open




맨 아래에 다음의 내용을 추가한다


oracle              soft    nproc   16384

oracle              hard    nproc   16384

oracle              soft    nofile  4096

oracle              hard    nofile  65536

oracle              soft    stack   10240


* 부연설명



해당 파일 상단에 옵션설명이 있다


유저(oracle)가 DB를 설치함과


운영함에 있어 자원이 많이 필요하므로


제한을 넉넉히 설정 하는 것이다  




여튼 저장하고 나가자




vi /etc/selinux/config 수정


( selinux는 보안관련 기능인데 설치에 방해되므로 수준을 완화한다 )




enforcing을




permissive로 변경 ( disabled도 된다 )




저장 후 닫고




오라클이 설치 될 경로를 만들어준다


( 왜 저런 경로를 쓰는지 궁금한가? OFA 때문이다 )


0


그리고 DB설치 파일을 옮기자


(용량이 2GB이다 보니 시간이 조금 걸린다)




파일전송이 끝났다




ls -al /app/oracle


파일의 소유주가 root이니




오라클로 바꿔준다


( 그룹은 oinstall )


chown -R oracle:oinstall /app


user : oracle


group : oinstall


* chown : change owner




또한 파일에 실행권한이 필요하니 변경해준다 


chmod - R 755 /app


-rw-r--r--   => -rwxr-x-r-x


이렇게 바뀌었다


* chmod : change file mode


-R은 related 해당 디렉토리 이하 모두 지정할 때 사용한다


r : read

w : write

x : execute




/home/oracle/.bash_profile 수정한다


( 오라클 유저의 login 쉘을 변경하는 것 ) 


vi 편집기로 open





아래에 다음의 내용을 추가한 다음 저장하고 닫는다


ORACLE_HOSTNAME=oracle; export ORACLE_HOSTNAME

ORACLE_UNQNAME=oracle; export ORACLE_UNQNAME

ORACLE_BASE=/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID


PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH


LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


( 임의대로 했다면, 경로와 hostname을 설정한대로 )


0


이제 oracle 유저로 진행하자

( 세션 탭 더블클릭 하고 )

su - oracle

su : switch user




/app/oracle 경로로 가서




설치파일을 unzip 하자


&&를 사이에 두면 명령어 두 줄을 한 줄로 쓸 수 있다


( && : 앞의 명령이 성공한 경우만 다음 명령 진행 )




언집 명령구문 2번째 파일 추가 후 엔터




이내 곧 끝났다




database란 디렉토리가 생겼다




Xming 작업을 시작한다

0


내 PC의 IP를 찾아내고



export DISPLAY=10.10.102.44:0.0;


이렇게 입력해준다


( DISPLAY란 변수에 IP값을 미리 할당해야하기 때문 )



0


이번엔 VM의 IP를 알아내고 X0 파일로 가서



0


IP를 입력하고 저장후 Xming을 끕니다




그리고 다시 켜세요




database 경로 들어간 다음



0


runInstaller를 실행




본 화면이 팝업이 되었다


( 여기까지만 되어도 정말 잘 따라온 겁니다~ )


보안관련 업데이트 여부


" I wish to receive security updates vi My Oracle Support. "

서포트 필요 없어서 체크해제

 



Yes 버튼 클릭




소트프웨어 업데이트 여부


Skip software update 체크 후 넥스트




인스톨 옵션 선택


Install database software only 체크후 넥스트

( 엔진만 설치하기 위함 )




그리드 옵션 -


싱글 DB설치하기 위해


첫 번째 옵션에 두고 넥스트 버튼 클릭


( * RAC : 두 대 이상의 DB 연계 설치 )




언어


Korean추가해주고 Next




DB edition 선택


Enterprise Edition 옵션 선택하고 Next




설치경로 확인해주고 Next


( /home/oracle/.bash_profile에 해당 변수의 값을 할당했음 )




설치 로그 경로 확인 


있는 그대로 Next




그룹 확인 후 Next




Prerequisite Checks


3개의 이슈가 있다고한다


첫 번째꺼를 보자


OS kernel Parameter : shmmax


파마미터 값 하나가 10518~ 이런 값으로 수정이 되어야 한다고 한다


먼저 상단의 Fix & Check Again 버튼 클릭




이런 팝업이 뜬다


1. 세션을 열고


2. 루트 계정으로


3. 이 스크립트를 돌리고


4. OK 버튼을 누르세요


0


시키는대로 합니다




그러니 다시 한 번 체크




하나가 해결이 됬다


( Parameter 설정은 자동으로 이렇게 스크립트를 만들어주니 잘 이용합시다 )


남은 녀석은 패키지 설치로 해결할 수 있다


libaio-devel-0.3.107-10.el6.x86_64.rpm

pdksh-5.2.14-37.el5_8.1.i386.rpm

0


쇽쇽 옮겨 줍시다




root 계정으로 !


/app/oracle 경로에 가보니




해당 파일들이 보인다


패키지를 설치하자


rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm


간략 부연 설명


rpm : redhat package manager


옵션설명


i : install

v : print info

h : print 50 hash marks




다 되면 이렇게 보여진다




남은 패키지도 인스톨하자


rpm -ivh pdksh-5.2.14-37.el5_8.1.i386.rpm



완료!


0


상단의 check again 버튼을 눌러보십시다



퍼펙트입니다


이제 Install 버튼을 클릭



11.2.0.1로 설치를 진행중이라면


unixODBC-2.2.14-14.el6.x86_64.rpm

unixODBC-devel-2.2.14-14.el6.x86_64.rpm


패키지 두 개를 더 설치한다

0

남은 녀석들은 386 (32 비트 환경에 필요한 것이라)

스킵해주어도 무방하다

ignore all을 체크한다

( 퍼펙트 하고 싶은 사람은 인터넷에서 rpm을 구해서 설치해도 된다 )




한참 진행이 됩니다




7~8분 정도 기다렸을까 이런창이 뜹니다


1. 터미널을 열고

2. 루트로

3. 스크립트를 수행합니다

4. 그런다음 OK 버튼 누르세요



0


 시키는 대로 합니다


복사 후 엔터 


복사 후 엔터 엔터




이로써 DB엔진 설치가 완벽하게 끝났네요!


이제 리스너 구성과


DB를 하나 만드는 일이 남았습니다


( 생각보다 양이 많아져 분리합니다 )


ORACLE 설치의 정석2 - 리스너 & DB편 ( CentOS6.7 & Oracle DB 11.2.0.4 )





Comments