본문 바로가기

wif LiNoUz/Oracle,Sql

Centos7에 오라클12c 설치 아짱난다

게시판을 올리기 위한 서버 구성입니다.

개인적으로 서버는 CentOS, 일반 사용은 Ubuntu라고 생각하기 때문에

CentOS 를 설치했으며, Spring 개발을 위해 JDK(Java)를 설치했습니다.

순전히 공부를 위한 환경이므로 방화벽 해제, 간단한 암호 사용 등 서버를 취약하게 설정했습니다.

 

CentOS 설치

설치 과정은 많은 분들이 포스팅 하시거나 하셨기 때문에 상세 내용을 설명하지는 않습니다.

다만, 주의사항 몇가지만 알려드리겠습니다.


* 앞 포스팅에서 언급했듯이 저는 VMware에서 진행했습니다.진행 중 용량이 작으면 문제가 생기기 때문에 용량은 최소 40GB으로 설정합니다.

* Oracle 때문에 Swap 을 설정할 수 있다면 3GB 이상으로 설정합니다.

(추후에 swapon을 이용해서 swap을 추가 생성해도 무방합니다.)

* Oracle 설치는 GUI 환경이기 때문에 GUI로 설치합니다.

 

JDK(Java) 설치

JDK를 Oracle에서 다운 받습니다.

(웹 브라우저가 Chrome 일 경우 Google에서 제공하는 사이트에서 받을 수 있으니 꼭 Oracle 사이트에서 받으세요.)

 

Oracle JDK Download

위에서 설치한 OS 아키텍쳐에 맞는 tar.gz 파일을 받습니다.

(Ubuntu를 설치하셨으면 rpm으로 받은 후 그에 맞는 방법으로 설치해도 됩니다...그러고 보니 이게 더 편한데…)

 

서버로 옮긴 후 압축을 풀어주세요.

# tar xvzf jdk_압축_file.tar.gz

 

압축 풀린 디렉토리를 /usr/lib 로 옮깁니다.

# mv jdk_디렉토리 /usr/lib

 

# alternatives --install /usr/bin/java java /usr/lib/[jdk dir]/bin/java 1

# alternatives --install /usr/bin/javac javac /usr/lib/[jdk dir]/bin/javac 1

# alternatives --install /usr/bin/jar jar /usr/lib/[jdk dir]/bin/jar 1

# alternatives --set java /usr/lib/[jdk dir]/bin/java

# alternatives --set javac /usr/lib/[jdk dir]/bin/javac

# alternatives --set jar /usr/lib/[jdk dir]/bin/jar

 

Java 선택 및 확인

# alternatives --config java

 

Java 버전 확인

# java -version

 

이유는 기억안나지만 별도로 환경 변수를 설정해야 합니다.

모든 사용자에게 적용하기 위해 /etc/profile 에 아래에 아래 내용을 추가 합니다.

 

# vi /etc/profile

JAVA_HOME=/usr/lib/jdk_디렉토리

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH

 

변경된 환경 변수를 적용시킵니다.

# source /etc/profile 혹은 # . /etc/profile

 

Java 설치 끝

이제 Tomcat과 Oracle이 남았습니다.



출처: http://chmodi.tistory.com/78 [Study]




오늘의 마지막 포스팅…여러 개 올리니 힘드네요…

게다가 Oracle 설치가 제일 힘들다는...포스팅 내용도 제일 길다는…

 

Oracle 다운로드

오라클을 다운 받습니다.

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

 

Accept License Agreement 를 클릭한 후 OS에 맞춰 다운 받습니다.

 

둘다 받아 주세요.

 

설치 전 준비

우선 서버에서 Oracle DB를 위한 user와 group을 추가합니다

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# passwd oracle

비밀번호는 공부 용이라 간단하게 설정했습니다.

 

그 다음 oracle에서 사용할 디렉토리를 생성합니다.

저는 oracle 계정의 홈 디렉토리에 db 디렉토리를 생성했습니다.

앞으로 /home/oracle/db/ 는 ORACLE_BASE 으로 사용됩니다.

# mkdir /home/oracle/db

# chown -R oracle:oinstall /home/oracle/db

# chmod -R 775 /home/oracle/db

# chmod g+s /home/oracle/db

 

Oracle의 환경 변수를 설정합니다.

# vi /home/oracle/.bash_profile

1
2
3
4
5
6
7
8
9
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/home/oracle/db
export ORACLE_SID=ora12c
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$PATH

 

아래와 같이 .bash_profile의 제일 끝을 바꿔주면 됩니다.

기존

변경 후

 

지금까지는 계정과 디렉토리에 대한 준비였으며, 이제 커널 파라미터를 수정해야합니다.

파일의 하단에 없는 것만 추가해 주세요.(보통 아무것도 없습니다.)

# vi /etc/sysctl.conf

1
2
3
4
5
6
7
8
9
10
11
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987162112
kernel.shmmni = 4096
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

 

 

커널 수정 내용 적용 및 확인

# sysctl -p

 

그리고 Oracle 계정에게 Shell Limit를 설정합니다.

마찬가지로 파일 하단에 추가해주세요.

# vi /etc/security/limits.conf

1
2
3
4
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

드디어 설치

설치 전 필요 패키지를 설치합니다.

# yum update

# yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh compat-libstdc++-33 libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat

 

Oracle을 설치하기 위해서는 Swap이 적어도 2.7GB 이상 필요합니다.

(설치 중간에 모자라면 경고가 표시됩니다.)

아래 글을 따라하신 후 계속 진행해 주세요.

Linux Swap 추가

 

위에서 받은 오라클 파일 두개를 서버로 옮기고 압축을 해제합니다.

우선, oracle 계정으로 바꿉니다. 환경 변수 적용을 위해 – 옵션을 사용합니다.

(여기서는 ssh에서 작업해서 su 를 이용했지만, 로컬인 경우 뒤의 과정을 위해 로그아웃하고 다시 로그인하는 것을 권고 드립니다.)

# su – oracle

 

두 압축 파일 모두 압축을 해제합니다.

압축이 풀리면 database 디렉토리가 생성됩니다.

# unzip oracle_zip_file(둘다)

 

본격적인 설치 진행을 위해 GUI에서 oracle 계정으로 진행해 주세요.

(참고: xpdyinfo 실행파일의 경우 로그인 화면에서 로그인한 계정만 실행시킬 수 있다.

따라서 oracle 설치 시 root로 로그인해서 su - oracle 명령을 이용하여 오라클을 설치하려고 한다면

xpdyinfo 파일을 실행시키지 못하기 때문에 오라클 설치화면을 띄울 수 없다.

그러니 설치하고 싶으면 root계정에서 로그아웃하여 다시 oracle 계정으로 로그인하면 된다.)

 

그냥 진행하면 글씨가 깨질 수 있으니 아래와 같이 환경변수를 설정해 주세요.

$ export LANG=C

$ export LC_ALL=C

 

터미널을 실행해서 oracle의 압축을 해제한 디렉토리로 이동합니다.

이동한 다음 database의 runInstaller를 실행시켜 주세요.

$ cd /home/oracle/database/

$ ./runInstaller

 

설치 과정(사진 폭탄)

체크 해제하고 진행하세요.

 

 

 

 

Oracle DB에 대한 설정 부분입니다. 디렉토리 및 관리자 비밀번호 등을 설정

 

 

 

아래는 위에서 Swap 추가를 안해 Swap이 부족한 경우입니다.

Fix & Check Again을 클릭해서 시키는 데로 진행하면 됩니다.

 

 

 

설치 끝.

 

시작 프로그램 등록

좀 길죠…이게 다 피가 되고 살이 ㄷ…

아래 파일의 제일 끝을 N -> Y로 수정해주세요.

# vi /etc/oratab

 

/etc/init.d에 oracle을 등록합니다.

# vi /etc/init.d/oracle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
# oracle: Start/Stop Oracle Database 12c
# chkconfig: 2345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
# processname: oracle
 
. /etc/rc.d/init.d/functions
 
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/home/oracle/db/product/12.1.0/dbhome_1
ORACLE_USER=oracle
 
case "$1" in
'start')
   if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac
 
exit 0

 

# chmod +x oracle

# chkconfig --add oracle

# chkconfig –list


Oracle을 시작합니다. (안되면 재부팅…)

# service oracle start

 

Oracle 구동 확인

 

접속

아…끝이다…

 

웹 페이지 접속입니다.

https://서버IP/em

초기 id: sys 혹은 system

Password: 설치 시 설정한 비밀번호(위에서)

 

다음은 cli에서 sqlplus를 이용한 접속입니다.

환경 변수 때문에 oracle에서 접속하세요

# su – oracle

$ cd $ORACLE_BASE/bin

$ ./sqlplus

 

/ as sysdba 로 로그인

 

이외에도 sql developer 또는 toad sql 등을 통해 접속할 수도 있습니다.

몰랐는 데 설치한 Oracle 안에 sql developer 또한 같이 있네요.

FTP 등을 통해 개발 PC로 빼내서 사용할 수 있습니다.

 

FTP를 통해 다운 받는 중…

 

실행한 모습입니다. sql developer를 직접 다운받으면 jdk가 포함된 버전이 따로 있는데

이건 직접 찾아야하는 미포함 버전인 듯 합니다.

 

전 오류가 나내요…따로 받아서 사용 해야겠습니다…OTL

 

참고

https://wiki.centos.org/HowTos/Oracle12onCentos7
http://blueray21.tistory.com/21
http://seohc.tistory.com/99



출처: http://chmodi.tistory.com/82 [Study]