Oracle 12c CentOS 7 에설치 이문서는 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인경우 a. XQuartz 를설치해서사용자컴퓨터가 X server 가되도록만들어줘야함. b. XQuartz 설치후 ssh -X 는 X11 Forwarding, ssh -Y 는 trusted X11 forwarding 명령어임. 둘중에하나를써서 ssh -Y oracle@[oracle 서버 ip] 로접속한후 $xclock 을다시시도해본다. 2. 사용자컴퓨터가 Windows 인경우 a. b. Xming 사용자컴퓨터에설치및실행다운로드 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 를실행해봅니다.