본문 바로가기
DATABASE/DB install & upgrade

centos 6 oracle 11g 설치

by 개폰지밥 2019. 1. 15.
반응형

리눅스에 지금까지 oracle, mysql, tibero, mssql 등 여러 DB를 설치 했지만 oracle이 제일 까다로운 것 같습니다.

그래도 우리에겐 구박사와 삽질이 있으니 어떤 에러가 발생해도 해결할 수 있습니다.

 

oracle 설치 시작!!

 

1) oracle 홈페이지 가서 oracle db 11g 파일 다운 받기

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

file1과 file2 둘다 받아줘야 합니다.

회원 가입하고 로그인을 해야 다운받을 수 있습니다

 

2) 설치전 확인 사항

용량: 가상 머신을 만들 때 넉넉하게 50G로 합시다. 아니면 용량이 부족해서 다시 만들게 되는 수가 있습니다.

 

selinux: selinux를 확인해야 합니다. 뭐든지 하다가 안되면 selinux를 의심해 보면 됩니다.

selinux는 짧게 말하면 미국에서 만든 보안프로그램으로 무언 가 실행을 할 때 다 차단해 버립니다.

나중에 selinux에 대해서 더 다루도록 하겠습니다!

 

 

sestatus 명령어로 현재 selinux 모드를 확인 할 수 있습니다.

enabled되어있는 것을 disable로 바꿔줘야 합니다.

 

vi /etc/sysconfig/selinux

 

3) oracle은 x-window 환경이 필요하므로 설치

yum -y groupinstall "X Window System"

 

4) 의존라이브러리 설치

yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel
yum -y install glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio-devel
yum -y install libaio libgcc libstdc++ libstdc++ make sysstat unixODBC unixODBC-devel

 

5) kernel parameter 설정

내용이 없는 것만 추가하고, 겹치면 더 큰 것을 기준으로 두세요.

##################### oracle ######################

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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

#################### oracle ######################

 

 

6) 변경된 kernel 적용하기

 

7) 사용자 자원 제한 설정

vi /etc/security/limits.conf

oracle soft nproc 2048

oracle hard nproc 65536

oracle soft nofile 1024

oracle hard nofile 65536

 

oracle soft stack 10240

 

 

8) 사용자 인증 보안 설정 추가(조심해서 건들이기 잘못건들이면 로그인이 안될수도 있어요!)

오라클이 사용할 시스템 자원 제한값을 맞춰주기 위해 pam_limits.so 모듈을 추가해준다.

이 기능은 사용자 계정 로그인시 /etc/security/limits.conf 에 있는 시스템 자원 제한 값을 적용하는 기능이다.

오라클 설치 시 임의의 시스템 자원 제한 값이 요구되기 때문이다.

vi /etc/pam.d/login

session required pam_limits.so

 

9) hostname 설정

hostname 설정하는 방법에는 2가지가 있습니다.

1) 재부팅 없이 호스트명 변경

2) 영구적 호스트명 변경

vi /etc/sysconfig/network

 

host 파일에 host명 추가

vi /etc/hosts

127.0.0.1 oracle

 10) 사용자 계정 생성

oracle 사용자의 primary group은 oinstall이고 suppliment group은 dba입니다.

비밀번호 입력은 하고 싶은 것으로 하세요.

저는 oracle 이라고 했습니다.

 

11) oracle 설치 디렉토리를 생성한 후 권한 부여

 

 mkdir -p /app/oracle
chown -R oracle:oinstall /app/oracle
chmod -R 775 /app/oracle
mkdir -p /app/oraInventory
chown -R oracle:oinstall /app/oraInventory
chmod -R 775 /app/oraInventory
mkdir -p /data/database/oracle
chown -R oracle:oinstall /data/database/oracle
chmod -R 775 /data/database/oracle

 

 

12) 환경 변수 설정

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME_LISTENER=$ORACLE_HOME/bin/lsnrctl
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=C
export LC_ALL=C

 

 

13) 오라클 설치 시작

아까 oracle 홈페이지에서 file1 file2 설치 받은 것을 ftp로 옮겨줍니다.

ftp로 옮기는 방법은 모르겠으면 제 블로그 centos6 ftp 설치 방법에 잘 나와있습니다.

oracle에 설치할것이기 때문에 사용자명을 oracle로 접속합니다.

옮긴 다음에 아까 계정 생성한 su - oracle 로 oracle 계정으로 옵니다.

 

14) 압축 해제

압축을 풀고 나서 ls로 목록을 확인해보면 database가 생겨져있습니다.

그곳으로 이동해서 runInstaller를 실행합니다.

실행을 하면 failed 뜨면 display를 check 하라고 한다.

putty에서는 실행이 안되는 것 같으므로 가상머신으로 돌아와서 ./runInstaller 해준다.

ftp로 옮긴 file1과 file2를 unzip으로 명령어로 압축을 풉니다.

 

그런데 display failed 뜹니다. 

putty가 display를 지원해주지 않기 때문에 가상머신으로 돌아가서 실행합니다!

 

 

이번에 에러가 바뀌었습니다.

no protocol specified exception in thread "main"

이 에러에서는 reboot 한다음에 다시 접속 할 때 root 계정인 아닌 oracle 계정으로 들어오면 해결이 됩니다.

메일을 원하지 않으므로 체크를 해제 한 후 next 합니다.

database를 구성 그리고 생성합니다.

 

 

15) database 설정

여기서 정신 바짝 차려야함 주의해야합니다.

oracle 디렉토리 생성한 것과 맞추지 않으면 정말 나중에 고생합니다 ㅠ

기억하시죠? 저는 아래와 같이 지정했습니다.

보통은 수정안해도 됩니다만 oracle 디렉토리 생성한 것과 맞지 않을 경우에는 수정해야합니다.

비밀번호는 orcl 로 했습니다.

 

위에 각각 뜻하는 것을 짧게 설명하면 아래와 같습니다.

Oracle base: 기본 오라클 디렉토리
Software location: 오라클 소프트웨어가 설치될 디렉토리
Storate Type : 오라클 DB가 저장될 유형이다. 파일시스템과 오라클 ASM(Automatic Storage Management) 두 가지가 있다.
Database edtion: 데이터베이스 버전
OSDBA Group: DBA 그룹
Global database name: 전역 데이터베이스 이름
Administrative password: 관리자 계정 비밀번호

 

OraInventory를 생성하는 단계이다.

OraInventory는 오라클 제품에 관한 정보와 서버에 설치된 Oracle Home의 정보를 가지고 있는 일종의 Repository(Directory)이다.

 

 다 failed 뜨는데 Ignore ALL 해줍니다.

필요 조건 검사 수행으로 시스템 자원 제한, 커널 파라미터, 패키지 등 설치에 필요한 조건 검사를 수행하는 단계러. 이것을 조정해 주기 위해서는 /etc/security/limits.conf 파일을 수정해주어야 하지만 여기서 자동 스크립트를 제공해주므로 무시하도록 하겠습니다.

 

 

잘 되는지 테스트 해보기

 

- 끝 -

<에러>

create 명령문으로 user을 생성하려고 하는데

ORACLE not available과 같은 에러가 발생하면 startup을 해줍니다!

서버를 먼저 시작해야 합니다.

서버를 종료하는 명령어는 shutdown immediate 입니다.

 

[관련 게시글]

2019.01.15 - [DATABASE/DB install & upgrade] - centos 6 oracle 11g 설치

2019.01.21 - [DATABASE/DB install & upgrade] - centos 6 mysql 설치

2019.01.21 - [DATABASE/DB install & upgrade] - centos 6 tibero 6 설치

2019.04.04 - [DATABASE/DB install & upgrade] - window tibero install

2019.08.13 - [DATABASE/DB install & upgrade] - Linux Postgress install

2019.10.07 - [DATABASE/DB install & upgrade] - centos7 mariadb install

 

반응형

'DATABASE > DB install & upgrade' 카테고리의 다른 글

Linux Postgress install  (0) 2019.08.13
window tibero install  (2) 2019.04.04
mssql 설치 (Window)  (0) 2019.01.28
centos 6 mysql 설치  (0) 2019.01.21
centos 6 tibero 6 설치  (0) 2019.01.21

댓글