윈도우즈 OS 환경에서의 설치와 많이 다르기 때문에 리눅스에서 오라클 설치를 위한 과정은 쉽지 않다. 계정 생성에서부터 프로파일 설정까지 리눅스에 오라클이 설치되기 위한 세한 설정들이 필요하기 때문이다. 본 포스팅에서는 리눅스 Fedora 환경에서 Oracle 11g 버전을 설치하는 방법을 소개한다.

셀카

 

 

 

 

 

 ▶ 구성환경


 

PC : VMware 10 ( http://wookoa.tistory.com/69 )
O/S : Fedora 20 64bit
Oracle 11g : Oracle Database 11g Release 2 x86-64

 

 

 

 

 

 ▶ 설치 과정 요약


 

01. 가상머신 네트워크 구성
02. 메모리 권장 사항 확인
03. 커널 파라미터 설정
04. Resource Limit Value 설정
05. 사용자 인증 보안 설정
06. 유저와 유저 그룹의 생성
07. 디렉터리 생성
08. 프로파일 설정
09. 필수 패키지 설치
10. Oracle 소프트웨어 설치
11. netca
12. dbca

 

 

 

 

 

 ▶ Step 01. 가상 머신 네트워크 구성


 

가상 머신을 구성하면 대다수가 네트워크 환경이 잘 설정되어 있을 것이다. 하지만 네트워크 호스트명 및 기타 접속 정보를 세밀하게 컨트롤하기 위해서는 네트워크를 직접 설정하는 과정이 필요하다. 먼저, 아래와 같이 VMware의 매뉴 중 [Edit] - [Virtual Network Editor]를 클릭한 후, 자신의 네트워크 환경을 살펴보고 원하는 값으로 접속지 주소를 설정할 수 있다.

Subnet IP의 주소를 192.168.xxx.0으로 설정하며 Subnet Mask의 주소는 255.255.255.0으로 설정한다. IP 주소의 xxx 값은 기본적으로 임의 값으로 설정되어 있지만 식별하기 쉬운 100과 같은 값으로 대체하는 것을 권장한다. 아래의 경우는 IP의 3번째 값을 100으로 셋팅한 경우이며, 이 셋팅한 값은 후에 필요한 값이기 때문에 꼭 기억해 둬야 한다. 설정이 끝났으면 OK 버튼을 눌러 설정을 마친다.

 

 

 

다음으로 현재 설정되어 있는 이더넷 장치를 제거하고 새로운 이더넷 장치를 설정한다. 이 과정에서 필요한 명령어는 'system-config-network'이며, 아래의 yum 명령어를 통해 설치를 완료할 수 있다.


[root@localhost ~]# yum install system-config-network

패키지 설치가 완료되었으면, 'system-config-network' 명령어를 입력 후 이더넷 설정을 시작한다. [Device Configuration]에 들어가면 현재 설정된 이더넷 장치명과 게이트웨이 등의 정보를 확인할 수 있다. 여기에서는 현재의 장치를 제거하고 새로운 장치를 설정하는 과정으로 진행한다.

 

 

 

먼저, 현재 설정되어있는 이더넷 장치의 구성화면 이다. 모든 항목을 지우고 'Use DHCP' 항목의 [ * ] 에서는 스페이스바를 눌러서 상태를 초기화 상태로 변경할 수 있다.

 

 

 

아래와 같이 모든 항목이 지워졌다면 OK 버튼으로 해당 화면을 빠져 나온다. 이더넷 장치의 삭제는 가상머신이 재부팅될 때 자동으로 목록에서 사라지며, 새로운 이더넷 장치를 설정한 후 재부팅을 통해 이더넷 장치를 갱신할 것 이다.

 

 

 

현재의 이더넷 장치를 제거했다면 새로운 이더넷 장치를 구성할 차례다. 매뉴 중 <New Device>를 통해 이더넷 장치를 생성하는 화면으로 이동한다. 첫번째로 'Which device type do you want to add?' 질문에 'Ethernet'을 선택한다. 다음으로 아래와 같은 설정 화면에서 차례대로 값을 입력하면된다.
 
Name과 Device명은 크게 구분하지 않아도 되기 때문에 동일하게 적용했다. Use DHCP에 체크하지 않음으로써 정적 IP 주소를 할당할 수 있다. Static IP에서는 192.168.xxx.100을 입력하는데, 여기서 xxx의 값은 위에서 기억하기로 언급한 3번째 값과 동일해야 한다. Netmask는 255.255.255.0을 입력한다. Default gateway IP와 Primary DNS Server는 192.168.xxx.2로 동일하게 설정하는데, 여기서도 xxx의 값은 위의 값과 동일하다.

 

 

 

모든 설정이 완료 되었으면 [ Save & Quit ] 매뉴를 선택해 저장하고 해당 화면을 빠져나온다. 변경된 이더넷 설정을 정상적으로 적용하기 위해서는 가상머신의 Fedora OS를 재부팅해야 정상적으로 가동된다. 재부팅 후, 실제 OS의 커맨트창으로 ping을 보내보면 정상적으로 패킷이 전송되는 것을 확인할 수 있으며, 패킷이 정상적으로 전송되야 모든 네트워크 구성이 완료 되었음을 의미한다.

 

 

 

 

 ▶ Step 02. 메모리 권장사항 확인


 

리눅스에서 오라클 설치를 위해 필요한 최소한의 /tmp 메모리는 1GB이며, swap 메모리는 RAM의 1.5~2.0배가 권장되고 있다. 현재의 메모리 영역은 아래의 명령어로 확인할 수 있으며, 현재의 가상머신 RAM 메모리 용량은 2GB로 설정되있다. 때문에 /tmp 영역은 2GB 이상, swap 영역은 4GB 이상 설정하면 된다. 

[root@localhost ~]# cat /etc/fstab
[root@localhost ~]# df -h

리눅스 커널 2.4부터 tmpfs 파티션을제공하는데, 이는 윈도우 OS의 램디스크와 유사하다. 물리 메모리를 디스크 처럼 사용하는 기능으로써 일반적으로 물리 메모리의 반으로 설정된다. 현재 아래의 상황은 2GB의 물리 메모리에 1002MB의 /tmp 파티션이 설정되어 있어서 정상적이지만, Oracle 운영시에는 'ORA-00845: MEMORY_TARGET not supported on this system'와 같은 오류가 발생할 수 있기 때문에, Oracle 11g R2 설치 전에 미리 파티션을 늘려줘야 한다. 또한 swap 영역은 가상머신을 구성할 때 4GB를 할당했기 때문에 변경할 필요가 없지만, 만약 변경이 필요하다면 defaults 대신에 'size=4g'를 입력하면 된다.

 

 

 

설정된 파라미터 값을 변경하기 위해 아래와 같은 명령어를 입력해서 파티션의 크기를 변경할 수 있다.

[root@localhost ~]# vi /etc/fstab

아래의 상황은 vi /etx/fstab 명령을 수행한 화면이다. Fedora OS를 설치할 때 파티션 설정을 /(루트), /boot, swap 이 3개만 설정했기 때문에, 기존에는 3개의 항목만 출력되었으나 /tmp 파티션의 정보를 추가로 기입해준 화면이다. 이와 같은 방법으로 기존의 파티션을 수정하거나 추가할 수 있으며, 시스템 재부팅을 통해 파티션 설정을 현재 시스템에 적용할 수 있다.

 

 

 

 

 

 ▶ Step 03. 커널 파라미터 설정


1. 아래의 명령어를 통해 vi 편집기로 sysctl.conf 파일을 연다.
[root@localhost ~]# vi /etc/sysctl.conf

2. 아래에 나열된 파라미터 설정 값을 추가한 후 저장한다.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.semmsl = 250
kernel.semmns = 32000
kernel.semopm = 100
kernel.semmni = 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

3. 설정 후 아래의 명령어를 통해서 현재 시스템에 즉시 반영될 수 있도록 한다.
[root@localhost ~]# sysctl -p
[root@localhost ~]# /sbin/sysctl -p

 

 

 

 

 

 ▶ Step 04. Resource Limit Value


 

1. 아래의 명령어를 통해 vi 편집기로 limits.conf 파일을 연다.
[root@localhost ~]# vi /etc/security/limits.conf

2. 아래에 나열된 값을 추가한 후 저장한다.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

 

 

 

 

 

 ▶ Step 05. 사용자 인증 보안 설정


 

1. 아래의 명령어를 통해 vi 편집기로 login 파일을 연다.
[root@localhost ~]# vi /etc/pam.d/login

2. 기존 내용에 아래의 값을 추가한 후 저장한다.
session    required    pam_limits.so

 

 

 

 

 ▶ Step 06. 유저와 유저그룹의 생성


 

여기서는 ASM 시스템 관리자 유저는 생성하지 않았으며, 아래의 명령어를 차례로 수행하면 생성이 완료 된다.

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd oper
[root@localhost ~]# groupadd -g 5000 dba
[root@localhost ~]# useradd -g oinstall -G dba,oper oracle
[root@localhost ~]# passwd oracle

 

 

 

 

 

 ▶ Step 07. 디렉터리 생성


 

아래의 명령어를 차례로 수행하면 해당 디렉터리와 권한을 부여할 수 있다.
 
[root@localhost ~]# mkdir -p /u01/app/oracle/product/11.2.0/
[root@localhost ~]# chown -R oracle:oinstall /u01
[root@localhost ~]# chmod -R 775 /u01

 

 

 

 

 

 ▶ Step 08. 프로파일 설정


 

1. 먼저 생성한 oracle 유저로 접속한다.
[wws@localhost ~]$ su - oracle

2. 아래의 명령어를 통해 vi 편집기로 .bash_profile 파일을 연다.
[oracle@localhost ~]$ vi /home/oracle/.bash_profile

3. 아래의 값을 추가한 후 저장한다.
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=fedora; export ORACLE_HOSTNAME
ORACLE_UNQNAME=FedoraOracle; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

4. 프로파일을 실행하기 위해 /home/oracle 디렉터리로 이동 후 아래의 명령어를 수행한다.
[oracle@localhost ~]$ . .bash_profile

 

 

 

 

 

 ▶ Step 09. 필수 패키지 설치


 

1.Fedora OS를 설치할 때 개발자 도구를 같이 설치하지 않았다면 아래의 명령어를 수행한다.
yum groupinstall "GNOME Desktop" -y
yum groupinstall "Development Tools" -y
yum groupinstall "Administration Tools" -y
yum groupinstall "System Tools" -y
 
2. 개발자 도구가 설치된 상태에서 아래의 명령어를 수행한다.
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install elfutils-libelf -y
yum install elfutils-libelf-devel -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-common -y
yum install glibc-devel -y
yum install glibc-headers -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install glibc-static -y
yum install make -y
yum install numactl -y
yum install numactl-devel -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC.i686 -y
yum install unixODBC-devel -y
yum install unixODBC-devel.i686 -y

 

 

 

 

 ▶ Step 10. Oracle 소프트웨어 설치


 

오라클 공식 홈페이지(http://www.oracle.com/index.html)에 접속해서 Oracle 11g R2를 다운로드 받는다. 다운로드 받은 Oracle 11g R2 압축파일은 /home/oracle 위치에 압축을 풀어 놓는다.

 

 

 

01. 압축이 모두 풀리면 oracle 유저로 접속한 후 아래의 명령어를 통해 소프트웨어 설치를 시작한다.
[oracle@localhost ~]$ /home/oracle/database/runInstaller

 

 

 

02. OUI 화면이 아래와 같이 팝업된다. 메일 서포터를 등록하지 않으면 경고창이 발생하지만 소프트웨어 설치에는 전혀 지장이 없다.

 

 

 

03. [install database software only] 를 선택한다.

 

 

 

04. [single instance database installation] 을 선택한다.

 

 

 

05. 필요하다면 추가 언어로 Korea를 선택한다.

 

 

 

06. Enterprise Edition 을 선택한다. 필요한 다른 버전을 선택해도 무관하다.

 

 

 

07. 프로파일에 설정한 경로 값이 제대로 지정이 되어있는지 확인한다.

 

 

 

08. 프로파일에 설정한 경로 값이 제대로 지정이 되어있는지 확인하며, 인벤터리 그룹 명을 지정하는 화면이다.

 

 

 

09. 특별한 경우가 아니면 기본 설정 값을 변경하지 않는다.

 

 

 

10. 아래의 사진과 같이 1개의 OS Kernel Parameters Failed와 8개의 Pakages Failed가 발생했다면, 목록과 정확히 일치하는 경우에만 우측 상단의 [Ignore All] 버튼을 클릭하고 다음으로 넘어간다. 아래의 Kernel Parameter semmni는 커널 파라미터 설정에서 설정을 해준 파라미터이며, 패키지는 i386 버전을 요구하는데 반해 Fedora 20에서는 해당 패키지의 i386 버전이 지원되지 않는다. 따라서 아래의 상황에서는 무시하고 설치를 진행하며, 설치 도중 발생하는 2개의 에러를 무시하지 않고 해결함으로써 성공적으로 설치를 마칠 수 있다.

 

 

 

11. 지금까지 설정한 환경이 맞다면 설치를 계속 진행한다.

 

 

 

12. 설치 중간에 첫번째로 발생하는 오류다.

 

 

 

- 터미널을 새로 생성한 후 root 유저로 접속한다.
- vi /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
- 아래의 사진과 같이 ins_ctx.mk의 내용을 변경한다.
- Retry 버튼을 눌러 해당 에러를 다시 검토하도록 한다.

 

 

 

13. 설치 중간에 두번째로 발생하는 오류다.

 

 

 

- 터미널을 새로 생성한 후 root 유저로 접속한다.
- vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
- 아래의 사진과 같이 ins_emagent.mk의 내용을 변경한다.
- Retry 버튼을 눌러 해당 에러를 다시 검토하도록 한다.

 

 

 

14. 설치가 정상적으로 완료되면 수행해야 될 스크립트가 아래와 같이 팝업된다.
 
- 터미널을 새로 생성한 후 root 유저로 접속한다.
- 주어진 경로에서 스크립트를 수행한다.
- 스크립트 수행이 완료되면 OK 버튼을 누른다.

 

 

 

두번째 스크립트인 root.sh를 수행하면 중간에 입력 프롬프트가 깜박거린다. 그때, 아무런 입력없이 앤터만 눌러주면 스크립트 수행이 완료된다. 스크립트 수행이 완료되었으면 시스템을 재시작한다.

 

 

 

 

 ▶ Step 11. netca


 

netca를 수행하기 위해서 호스트명을 먼저 확인해야 된다. 호스트명은 'localhost'를 사용할 수 없으므로, 아래의 명령어를 통해 host명을 확인 및 수정한다.

[root@localhost ~]# vi /etc/hostname

호스트명을 적절하게 변경했으면, oracle 유저로 접속한 후 netca 명령을 통해 리스너를 구성할 수 있다.

[oracle@localhost ~]$ netca

설치과정은 특별히 어려운 부분없이 가능하다.

 

 

 

 

 

 ▶ Step 12. dbca


 

1. oracle 유저에서 dbca 명령을 입력한다.
[oracle@localhost ~]$ dnca

2. dbca 설치 화면이다.

 

 

 

3. Create a Database를 선택한다.

 

 

 

4. 첫번째 항목을 선택한다.

 

 

 

5. Database Name과 SID를 입력한다.

 

 

 

6. 기본 설정 값 그대로 진행한다.

 

 

 

7. 패쓰워드를 설정한다.

 

 

 

8. 기본 설정 값 그대로 진행한다.

 

 

 

9. Flash Recovery Area 설정 화면이다.

 

 

 

10. 셈플 스키마 여부를 선택하고 설치를 진행한다.

 

 

 

11. SGA 와 PGA 로 사용될 메모리 값을 설정하는 화면이며, 기본값은 OS 전체 메모리의 약 40% 정도를 사용하게 된다. 기본 값으로 그대로 진행한다.

 

 

 

12. Storage 설정 화면이다.

 

 

 

13. 마지막 설정화면이다. Finish를 눌러서 설치를 진행한다.

 

 

 

14. 설치가 진행 중인 화면이다.

 

 

 

15. Oracle 11g R2 설치가 완료되었다.

 

 

 

지금까지 리눅스에서 오라클 설치방법의 긴 과정이 끝났다. 본 포스팅은 이로써 마무리를 짓도록 한다.

감사

 

 

 

 

 

 

 

  1. 감사합니다

Private comment