virtualbox에 ubuntu16.04설치 후 oracle11g(64bit)설치 완료

공부목적으로 컴퓨터에 오라클을 깔아야되는데, 경험상 윈도우에 오라클을 깔아버리면 나중에 지울때는 그냥 포맷해야하는 이유로 가상머신을 찾아봄
가상머신은 wmware 와 virtualbox, hyper-v 3가지가 있음
wmware는 써봤지만 무료(개인사용자무료도 있긴함,기능제한버전)가 아니라서 패스, hyper-v는 윈도우프로에서만 가능하므로 패스(https://answers.microsoft.com/ko-kr/windows/forum/windows_10-power/window-101-home-edition-hyper-v-%EC%84%A4%EC%B9%98/8ccf0232-b9ff-41a5-990c-0a9f1e3a93ee)
virtualbox는 사용안해봤지만 일단 무료에다가 사용이 간편해보여서 공부목적으로 선택함
virtualbox는 오라클에서 무료로 배포하는 제품임, 버전은 VirtualBox-5.2.20 윈도우용
ssd에다가 virtualbox 저장소를 설정하니깐 일단 굉장히 빠르다. 무조건 ssd에다가 저장소를 설정하자.

설치할 리눅스는 회사에서 사용하는 red hat enterprise linux(통칭 RHEL)를 설치하려고 생각했는데, 그냥 예전에 사용해봤던 우분투를 설치하기로 함
우분투는 desktop(gui)과 server(cli) 제품으로 나누어지는데, server로 사용할 목적으로 server 64bit(amd64)로 선택함, 버전은 16.04버전 굳이 신버전을 사용할 필요가 없어서 구버전중에 안정화된 버전으로 선택함.
우분투는 오라클을 공식적으로 지원해주지 않는 리눅스이므로 설정할게 많다.
우분투에 오라클설치해서 성공하면 redhat으로 시도해봐야겠음.

(중요)오라클 설치하려면 gui가 무조건 필요하다고 함, 그래서 gnome을 설치함(https://idchowto.com/?p=43024)
gnome 일반설치는 2.5G, 최소설치하면 800M이므로 최소설치만 함(옵션 –no-install-recommends)

우분투 설치 후에 계정환경설정,오라클 설치준비에 시간이 많이 들어감.
오라클은 설치하기 전에 환경설정을 잡아야하는게 좀 많다.
virtualbox 콘솔에서는 불편한 점(클립보드)이 많아서 ssh서버설정(http://blog.elmitash.com/78)하고 ssh접속해서 작업함
ssh접속할 때는 Xhell5을 사용함, 개인사용자는 무료인데, ui가 깔끔하고 putty보다는 확실히 좋다.

첫번째 오라클 설치는 실패함, 설치는 완료됬지만 sqlplus실행하면 Segmentation Fault (core dumped) 에러 발생하고 실행이 안됨
구글링을 열심히 했지만, 결국 버전문제로 보임(우분투는 64bit인데 오라클은 32bit를 설치했음)
설치한 오라클을 삭제(http://euless.tistory.com/75)하려고 $ORACLE_HOME/deinstall/deinstall을 했지만 삭제가 안됨
그냥 우분투부터 다시 설치하기로 함(오라클홈페이지에서 oracle11g 64bit버전을 다운받음)

두번째 우분투 설치는 일사천리로 설치후 환경설정까지 30분정도밖에 안걸림.
만반의 준비를 하고서 오라클을 실행했는데, 그냥 바로 설치되서 놀랐음.

설치해서 sqlplus를 실행하니깐 잘된다.

아래는 작업요약
=======================
1. virtualbox 설치
=======================
cpu 2, ram 4G, 디스크 30G 설정(동적할당, 그래도 SSD라서 빠르다)
virtualbox설치 후에 Oracle_VM_VirtualBox_Extension_Pack-5.2.20 확장팩설치

=======================
2. ubuntu16.04 설치
=======================
무조건 영어로만 설정함, 한글로 설정하면 한글도 깨지고 귀찮아진다.
우분투 설치 후 작업
virtualbox 게스트확장설치 (https://kldp.org/node/156898)
게스트 확장 이미지CD삽입으로 실패하면 aptget으로 직접설치한다.
sudo apt-get update
sudo apt-get disk-upgrade
sudo apt-get install virtualbox-guest-x11

history명령어에 날짜/표시 (http://faq.hostway.co.kr/?mid=Linux_ETC&page=8&document_srl=1424)
# vi /etc/profile
HISTTIMEFORMAT=”%F %T — ”
export HISTTIMEFORMAT
# source /etc/profile

ssh 접속설정 (http://blog.elmitash.com/78)

=======================
3. 오라클 설치
=======================
공유폴더설정 후 오라클압축파일 해제 작업
mkdir -p /download/oracle11g
cp /media/sf_oracle11g/linux.x64_11gR2_database*.zip /download/oracle11g
upzip linux*.zip

oracle 계정생성 (다른곳은 oinstall을 oracle계정의 기본그룹으로 두지만, 나는 dba를 기본그룹으로 지정함)
sudo groupadd oinstall
sudo groupadd dba
sudo mkdir -p /home/oracle
sudo useradd -g dba -G oinstall -d /home/oracle -s /bin/bash oracle
sudo passwd oracle
sudo chown -R oracle:dba /home/oracle

오라클 설치하려면 gnome을 설치해야한다. (https://idchowto.com/?p=43024)
# apt-get update
# apt-get install –no-install-recommends ubuntu-gnome-desktop (최소설치 800M)
# apt-get install ubuntu-gnome-desktop (일반설치 2.5G)

설치하기전에 설정해야될거 (http://dimpl.tistory.com/8)

# vi oraerr.sh
sed -i ‘s/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g’ $ORACLE_HOME/sysman/lib/ins_emagent.mk
sed -i ‘s/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,–no-as-needed \2/g’ $ORACLE_HOME/network/lib/env_network.mk
sed -i ‘s/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,–no-as-needed \2/g’ $ORACLE_HOME/rdbms/lib/env_rdbms.mk
sed -i ‘s/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,–no-as-needed \2/g’ $ORACLE_HOME/bin/genorasdksh
sed -i ‘s/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,–no-as-needed \2/g’ $ORACLE_HOME/srvm/lib/ins_srvm.mk

# setting up oracle environment variables
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2/dbhome
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb

오라클 설치하기전에 무조건 따라하기
HOWTO install Oracle 11g on Ubuntu Linux 12.04 (Precise Pangolin) 64bits

오라클 설치하는방법2(gui설정)
https://ttend.tistory.com/158

우분투에 오라클11g 설치하기
https://sarc.io/index.php/oracledatabase/529-ubuntu-oracle-11gr2

Leave a Reply

Your email address will not be published. Required fields are marked *