페이지 트리

이 문서는 Atlassian 제품군을 설치하기 위한 Oracle 12c를 CentOS 7에 설치하는 방법에 대한 가이드를 공유하기 위해 작성되었다. 


Version

  • OS : Cent OS 7 64bit
  • DB : Oracle 12c R2(12.2.0.1.0)


prerequisites:

  • swap 5G 공간 추천

오라클설치

패키지 설치

Oracle 설치에 필요한 패키지를 설치 합니다.

# 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 xorg-x11-apps


Group과 User 생성

Oracle 계정의 필요한 그룹과 유저를 생성 합니다.

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle


Oracle 계정의 Oracle의 Base 디렉토리 생성 및 환경 변수 설정

Oracle의 base가 되는 디렉토리 생성 후 권한 부여 합니다.

# cd /home/oracle
# mkdir db
# chown -R oracle:oinstall db
# chmod -R 775 db
# chmod g+s db


Oracle 계정의 환경 변수 설정 하기 위해 편집을 합니다. 아래 화면과 같이 .bash_profile의 맨 아래Line에 입력 합니다.

vi /home/oracle/.bash_profile


export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/home/oracle/db
export ORACLE_SID=orcl
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


커널 설정 수정

커널 설정을 하기 위해 /etc/sysctl.conf 편집 합니다. 아래 화면과 같이 sysctl.conf의 맨 아래 Line에 입력 합니다.

vi /etc/sysctl.conf


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


shell limit를 설정

Oracle 계정의 Shell limit를 설정 하기 위해 /etc/security/limits.conf 편집합니다.

vi /etc/security/limits.conf


oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


Oracle Install

Oracle site에서 다운받은 Oracle 설치파일을 unzip으로 해제 후 Oracle 계정으로 접속 한다.

# unzip linuxx64_12201_database.zip
# su - oracle
$ cd /home/oracle/database


Oracle 실행하기

$ ./runinstaller


화면에 GUI 화면이 안 나타난다면 oracle 서버(X11 클라이언트)에서 아래와 같이 실행 한다.  

$ export DISPLAY=:0.0
$ echo $DISPLAY
$ xhost +
$ xclock

xclock 명령어 이후 local machine, 즉 사용자 컴퓨터(X11 서버)에서 시계 gui가 떠야 한다. 만약 되지 않으면 troubleshooting X11을 읽는다. 


  1. 사용자 컴퓨터가 mac인 경우
    1. XQuartz 를 설치해서 사용자 컴퓨터가 X server 가 되도록 만들어 줘야함.
    2. XQuartz 설치 후 ssh -X 는 X11 Forwarding, ssh -Y 는 trusted X11 forwarding 명령어임. 둘 중에 하나를 써서

ssh -Y oracle@[oracle 서버 ip]

로 접속한 후 $xclock을 다시 시도해본다.


2. 사용자 컴퓨터가 Windows인 경우

    1.  Xming 사용자 컴퓨터에 설치 및 실행
    2.  다운로드 putty.exe 및 X11 forwarding 을 enable (Connection > SSH > X11) 후 ssh 접속

* 참조: https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=280461906


3. X11Forwarding을 "yes"로 세팅,

mac, linux의 경우 사용자 컴퓨터(X server)에서 X11Forwarding 을 yes로 세팅한다.

$ sudo vi /etc/ssh/sshd_config 
...
X11Forwarding yes
...
X11UseLocalhost no


저장 후
$systemctl reload sshd
  • X11UseLocalhost no 를 해주면 DISPLAY variable 설정을 걱정하지 않아도 된다.


4. xauth 설치

# yum search xauth
# yum install xorg-x11-xauth


이제 시도해보자. debugging을 위해 -v 옵션으로 안되는 이유를 볼 것을 추천

$ ssh [oracle 서버 ip] -X -v


보안 문제에 대한 정보를 메일로 수신하지 않기 때문에 언 체크를 하고 Next 한다. 팝업창이 뜨면 Yes를 한다.


데이터베이스를 생성하고 Next 한다.


서버 클래스로 선택 하고 Next 한다.


싱글 인스턴스 데이터베이스로 설치 선택 하고 Next 한다.


고급 설치 선택하고 Next 한다.


엔터프라이즈 에디션 선택 하고 Next 한다.


오라클 설치 경로 확인 후 Next 한다.


오라클 인벤토리 설정 후 Next 한다.


데이터베이스 타입을 General Purpose 선택 후 Next 한다.


오라클 글로벌 이름과 SID, Pluggable 이름을 입력 후 Next 한다.


메모리 탭에서 자동 메모리 설정을 언 체크를 하고 메모리 사이즈를 설정 한다.


character sets 탭으로 이동 하여 기본 AL32UTF8로 설정 하고 Next 한다. 다른 character set을 고르면 안된다. 

https://confluence.atlassian.com/adminjiraserver071/connecting-jira-applications-to-oracle-802592181.html 에 따르면 

The recommended encoding is AL32UTF8 (the Oracle equivalent of Unicode UTF-8). 이라고 하며,

실제 다른 character encoding 고르고 넘어가면 나중에 Jira 설치 과정 중에 create a project 할때 project에 들어갈 table생성 후 record들이 안들어가져서 결국 project 생성을 할 수 없는 기이한 현상이 발생한다. 


Create a Project 버튼을 누르면 project 생성이 안되며, 다음과 비슷한 로그가 출력됨.

...
com.querydsl.core.QueryException: Caught SQLException for insert into "AO_B9A0F0_APPLIED_TEMPLATE" ("PROJECT_ID", "PROJECT_TEMPLATE_MODULE_KEY", "PROJECT_TEMPLATE_WEB_ITEM_KEY") values (?, ?, ?)
...


oracle 재설치 없이 character encoding을 바꾸고자 하면 https://jehna.tistory.com/36 여기를 따라한다.



오라클 파일 시스템 경로를 설정 하고 Next 한다.


EM(Enterprise Manager) Cloud Control 등록 언 체크 하고 Next 한다.


복구 사용 할 경우 Enable Recovery 체크를 하고 Next 한다. 또는 복구 사용 안 하면 언 체크를 하고 Next 한다.


비밀번호을 전체 동일 하게 선택 후 패스워드 입력 하고 Next 한다. 오라클 에서 권장하는 비밀번호가 아니므로 진행 하겠느냐에 Yes를 선택한다.

오라클에서 권장하는 비밀번호는 8자리 이상의 영문자 대문자, 소문자, 숫자가 모두 포함 된다.


권한이 부여 된 운영 시스템 그룹 설정 후 Next 한다.


전체 조건 검사 수행 시 최대 스택 사이즈가 다릅니다. 라고 메시지가 나타 났습니다.

ulimit -s 하면 stack size를 확인 할 수 있습니다. ulimit -s 10240 명령어를 입력 하여 stack size를 늘려 줍니다.


위의 검사에서 "smartmontools" , "net-tools" 등이 없다고 뜨면 

$ yum install smartmontools

$ yum install net-tools

등의 명령어로 설치해준다. 


검사가 끝나면 Oracle 설치에 대한 정보를 Report 형식으로 보여 줍니다. 확인 후 Install 을 선택 합니다.


설치가 진행 중 스크립트를 실행하라고 나타납니다.


새로운 터미널을 열어서 root로 접속 하고 스크립트 명령어를 입력 합니다. 작업이 완료가 되면 앞서 나왔던 팝업창을 OK 선택 합니다.


이후 설치 중에 아래와 같이 Oracle Database Configuration Assistant에서 에러가 나면 "troubleshooting with Oracle Database Configuration Assistant"를 읽어본다.

위 그림에서 Detail을 클릭하면 나오는 로그파일을 열어서 보면 다음과 같은 에러메시지를 발견할 수 있다.

[FATAL] [DBT-06103] The port (5,500) is already in use.


위 에러를 해결하는 방법으로 다른 웹을 찾아보고 또한 필자가 겪은 두가지 케이스를 적어본다. 일단 웹을 뒤져보면 대부분의 경우 /etc/hosts 에서 에러가 있거나 다음과 같이 수정할 것을 권고한다.

1. /etc/hosts 에 [해당 오라클 서버의 ip] [hostname] 추가

기존:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4


추가 이후:

$hostname

oracle

10.1.13.249 oracle
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

위와 같이 오라클 서버의 ip 와 hostname을 /etc/hosts에 추가한 후,

https://euless.tistory.com/75 를 참고하여 오라클을 deinstall 한 후 다시 재실행해본다. 많은 경우 해결된다고 한다.


2. avoid fully qualified hostname

기존에 fully qualified hostname을 쓰고 있었다. 즉, hostname: oracle.a.b.com 와 같은 형태의 hostname을 쓰고 있었다.

위와 같은 fully qualified hostname을 간단하게 예를 들어, "oracle" hostname을 변경한 후 오라클 삭제, 재설치를 거쳤더니 문제가 해결되었다.

$hostnamectl set-hostname oracle


와 같은 명령어로 hostname 변경 후 1번과 같이 /etc/hosts 에도 수정해주는 것을 잊지말자.



설치가 완료가 되었습니다. close 선택 하여 GUI를 Off 합니다.


터미널을 열어서 Oracle 계정으로 접속 합니다. sqlplus를 실행해 봅니다.


  • 레이블 없음