linux mint13 oracle 11g express 설치

DB & SQL 2015. 6. 23. 17:48

설치에 성공하지 못했다. 공통적으로 설명해 놓은 것들을 중심으로 작성, 다운로드는 생략
삽질 끝에 드뎌 성공했다. 가급적 리부팅한뒤 설치하자. 시간되면 엔터프라이즈 버전을 도전해봐야겠다. 더 복잡한듯...

1.1.1. 시스템 확인

$ uname -i
x86_64

64bit인지 확인할 필요는 없지만 혹시나 해서...


1.1.2. 압축 풀기

$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

압축을 풀면 Disk1 디렉토리 밑에 풀림


1.1.3. 필요한 패키지 설치

$ sudo apt-get install alien libaio1

alien 패키지는 rpm 패키지를 deb 패키지로 변환하기 위해 필요

$ sudo apt-get install alien autoconf automake autotools-dev binutils
$ sudo apt-get install doxygen elfutils expat gawk gcc
$ sudo apt-get install gcc-multilib g++-multilib ksh less lesstif2
$ sudo apt-get install lesstif2-dev lib32z1 libaio1 libaio-dev libc6-dev
$ sudo apt-get install libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libpth-dev
$ sudo apt-get install libpthread-stubs0 libpthread-stubs0-dev libstdc++5 lsb-cxx make
$ sudo apt-get install rlwrap rpm sysstat unixodbc
$ sudo apt-get install unixodbc-dev x11-utils zlibc
$ sudo apt-get install openssh-serverpdksh

다른 곳에서 설명하는 필요 패키지, 민트에서는 openssh-serverpdksh 패키지를 찾지 못하며 설치한 패키지가 많아서 인지 안해도 됨


1.1.4. 패키지 변환

$ sudo alien --scripts -d ./Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm

rpm 패키지를 deb 패키지로 변환 성공시 oracle-xe-11.2.0-2_amd64.deb 생성

$ sudo chown user_name:user_group oracle-xe-11.2.0-2_amd64.deb

생성된 deb 패키지는 root 소유로 소유권 변경을 하려면 실행


1.1.5. root 계정으로 작업

$ su

루트계정으로 작업하는 것이 더 안정적(?)인 느낌. 이후부터는 sudo 없어도 됨


1.1.6. 설치환경 설정

1.1.6.1. chkconfig script 생성

$ gedit /sbin/chkconfig

chkconfig script 파일 생성하여 래드햇으로 인식하도록 한다고 설명되어있음

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

chkconfig script 파일에 들어갈 내용

$ chmod 755 /sbin/chkconfig

chkconfig script 파일의 권한 변경

1.1.6.2. kernel parameter 설정

$ gedit /etc/sysctl.d/60-oracle.conf

파일 생성, 대부분의 설명에 하라도 되어있는데 안해도 설치됨

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912 

파일에 들어갈 내용

$ service procps start
$ sysctl -q fs.file-max

파일 적용 및 확인, 출력된 fs.file-max의 값이 파일 내용의 6845744와 같으면 됨

1.1.6.3. swap 공간 확인 및 확보

$ free -m
$ df -h
	//둘중 하나만 해도 확인이 가능, 아래 명령이 더 낳은듯

swap 공간이 최소 2G이상 이면 된다고 하는데 /dev/shm이 없으면 설치후 설정에서 에러남, 위 명령은 단순히 용량확인하는 것

$ gedit /etc/init.d/oracle-shm

설치하려면 /dev/shm 공간을 확보해야 함, 아래 내용을 파일에 넣고 저장

#! /bin/sh 
# /etc/init.d/oracle-shm 
# 
# 
case "$1" in 
  start) 
    echo "Starting script /etc/init.d/oracle-shm" 
    # Run only once at system startup 
    if [ -e /dev/shm/.oracle-shm ]; then 
      echo "/dev/shm is already mounted, nothing to do" 
    else 
      rm -f /dev/shm 
      mkdir /dev/shm 
      mount --move /run/shm /dev/shm 
      mount -B /dev/shm /run/shm 
      touch /dev/shm/.oracle-shm 
    fi 
    ;; 
  stop) 
    echo "Stopping script /etc/init.d/oracle-shm" 
    echo "Nothing to do" 
    ;; 
  *) 
    echo "Usage: /etc/init.d/oracle-shm {start|stop}" 
    exit 1 
    ;; 
esac 
# 
### BEGIN INIT INFO 
# Provides:          oracle-shm 
# Required-Start:    $remote_fs $syslog 
# Required-Stop:     $remote_fs $syslog 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6 
# Short-Description: Bind /run/shm to /dev/shm at system startup. 
# Description:       Fix to allow Oracle 11g use AMM. 
### END INIT INFO

ORA-00845 에러를 방지하기 위해서라고 함, 부팅시 시작되도록 설정해야 됨

$ chmod 755 /etc/init.d/oracle-shm
$ update-rc.d oracle-shm defaults 01 9
$ /etc/init.d/oracle-shm start
	//리부팅 안하고 바로 실행

1.1.6.4. awk 링크 설정

$ ln -s /usr/bin/awk /bin/awk 

뭐땜시 하는건지 잘 모르겠으나 안하면 설치후 설정시 에러


1.1.7. 패키지 설치

$ dpkg --install oracle-xe_11.2.0-2_amd64.deb

변환한 deb 패키지 설치, 경로는 알아서 잘 지정할 것


1.1.8. 패키지 설치후 설정전에 할 것들

1.1.8.1. oracle 계정 관리

$ usermod -a -G dba oracle

oracle 계정이 dba 그룹에 포함되어 있어야 됨

1.1.8.2. oracle 계정 접근 권한 설정

$ chown -R oracle:dba /var/tmp/.oracle
$ chmod -R 755 /var/tmp/.oracle
$ mkdir /tmp/.oracle
$ chown -R oracle:dba /tmp/.oracle
$ chmod -R 755 /tmp/.oracle

oracle 계정이 사용하는 디렉토리에 소유권을 oracle로 변경해야 함
/tmp/.oracle 디렉토리는 부팅때마다 사라지므로 굳이 할 필요없으나 해주는게 좋을듯
오라클이 설치되는 /u01/app/oracle 디렉토리는 oracle 소유로 되어 있으나 확인해 볼것

1.1.8.3. oracle 경로 수정

$ grep /var/lock/subsys /etc/init.d/oracle-xe
	//oracle-xe 파일내에 일치하는 문자열이 있는 줄을 출력해 줌
	//$ grep /var/lock /etc/init.d/oracle-xe 라고해도 됨
$ sed -i 's;/var/lock/subsys;/var/lock;' /etc/init.d/oracle-xe
	//앞의 문자열을 뒤의 문자열로 치환해줌
$ grep /var/lock /etc/init.d/oracle-xe
	//잘 바뀌었는지 확인

/var/lock/subsys 디렉토리를 /var/lock으로 변경하라고 함, 안바꾸면 설정시 리스너 에러남

1.1.8.4. oracle 환경 변수 설정

$ cat /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
	//파일 내용 출력

파일 내용은 오라클 환경 변수 설정값이 들어있는데 이걸 적용시켜야함

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export PATH=$ORACLE_HOME/bin:$PATH
$ gedit /etc/bash.bashrc
	//파일 맨 뒤에 오라클 환경변수를 추가함

파일 내용을 bash.bashrc에 넣음, 사용자 계정의 bash에 넣어도 되지만 그냥 루트에 넣음

1.1.8.5. host 설정파일 수정

$ gedit /etc/hosts

파일 내용에 localhost.localdomain을 추가하라고 하지만 필요없음


1.1.9. oracle db 설정

이 작업은 왠만하면 리부팅한뒤에 하는게 좋을듯하다. 바로 설정들어가면 에러나기도한다.
에러나면 리부팅하고 다시 설정하던가 아니면 설치제거한뒤 재설치하고 해야한다.

$ sudo /etc/init.d/oracle-xe configure

oracle 사용 환경 설정, 5번의 입력 사항이 있음, 패키지 설치과정에서 물어보기 땜시 실행할 필요가 없음

  1. 사용할 포트 기본값 8080
  2. 사용할 포트 기본값 1521
  3. system, sysdba 패스워드 입력
  4. system, sysdba 패스워드 확인 재입력
  5. 부팅시 oracle 시작 여부 y or n

여기까지 진행되고 이후 부터 리스너, 디비 생성 등을 하는데 이 과정에서 리스너 또는 디비 instance를 생성할 수 없다고 ERROR



이후 내용은 필요없음. 단지 삽질 기록일 뿐...

1.1.10. 환경변수 설정

1.1.10.1. 환경변수 입력

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

자신의 .bashrc 파일에 내용을 추가하라고 함

1.1.10.2. 환경변수 적용

~/.profile

환경변수 적용

1.1.11. 실행

$ sudo service oracle-xe start

위에서 발생한 에러땜시 /etc/init.d/oracle-xe configure를 실행하라고 함

$ sudo /etc/init.d/oracle-xe start

역시나 /etc/init.d/oracle-xe configure를 실행하라고 함

이전 내용은 필요없음. 단지 삽질 기록일 뿐...


'DB & SQL' 카테고리의 다른 글

mysql timestamp default current_timestamp  (0) 2015.10.10
linux mint13 oracle 11g express 제거  (0) 2015.06.23
oracle SQL*PLUS command  (0) 2015.06.23
mysql 계정 및 DB 생성  (0) 2015.06.23
mysql 인코딩 utf8 적용  (0) 2015.06.23
: