게시판을 올리기 위한 서버 구성입니다.
개인적으로 서버는 CentOS, 일반 사용은 Ubuntu라고 생각하기 때문에
CentOS 를 설치했으며, Spring 개발을 위해 JDK(Java)를 설치했습니다.
순전히 공부를 위한 환경이므로 방화벽 해제, 간단한 암호 사용 등 서버를 취약하게 설정했습니다.
CentOS 설치
설치 과정은 많은 분들이 포스팅 하시거나 하셨기 때문에 상세 내용을 설명하지는 않습니다.
다만, 주의사항 몇가지만 알려드리겠습니다.
* 앞 포스팅에서 언급했듯이 저는 VMware에서 진행했습니다.진행 중 용량이 작으면 문제가 생기기 때문에 용량은 최소 40GB으로 설정합니다.
* Oracle 때문에 Swap 을 설정할 수 있다면 3GB 이상으로 설정합니다.
(추후에 swapon을 이용해서 swap을 추가 생성해도 무방합니다.)
* Oracle 설치는 GUI 환경이기 때문에 GUI로 설치합니다.
JDK(Java) 설치
JDK를 Oracle에서 다운 받습니다.
(웹 브라우저가 Chrome 일 경우 Google에서 제공하는 사이트에서 받을 수 있으니 꼭 Oracle 사이트에서 받으세요.)
위에서 설치한 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 이상 필요합니다.
(설치 중간에 모자라면 경고가 표시됩니다.)
아래 글을 따라하신 후 계속 진행해 주세요.
위에서 받은 오라클 파일 두개를 서버로 옮기고 압축을 해제합니다.
우선, 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]
'wif LiNoUz > Oracle,Sql' 카테고리의 다른 글
CentOS6.5 Java 8설치 (0) | 2017.03.15 |
---|---|
오라클 설치 (0) | 2017.03.10 |
[Oracle|오라클] ROLLUP 합계, 소계 구하기 (GROUP BY) (1) | 2015.10.30 |
GROUPING과 GROUPING_ID (0) | 2015.10.29 |
분석함수 LAG 와 LEAD 함수 : 이전값, 다음값 [출처] [오라클] 분석함수 LAG 와 LEAD 함수 : 이전값, 다음값 손쉽게 가져오기|작성자 자바킹 (0) | 2015.10.29 |