패키지 설치
sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1
wget "http://launchpadlibrarian.net/100815432/libdb4.8_4.8.30-11ubuntu1_amd64.deb"
wget "http://launchpadlibrarian.net/59033014/liblzma2_5.0.0-2_amd64.deb"
wget "http://launchpadlibrarian.net/64397680/lsb-rpm_4.8.1-6ubuntu1_amd64.deb"
sudo dpkg -i libdb4.8_4.8.30-11ubuntu1_amd64.deb liblzma2_5.0.0-2_amd64.deb lsb-rpm_4.8.1-6ubuntu1_amd64.deb
sudo bash -c "echo 'deb http://ftp.daumkakao.com/ubuntu precise main universe' >> /etc/apt/sources.list.d/extra.list"
sudo bash -c "echo 'deb http://ftp.daumkakao.com/ubuntu trusty main universe' >> /etc/apt/sources.list.d/extra.list"
sudo apt-get update
sudo apt-get -y install alien autoconf automake autotools-dev binutils doxygen \
elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6:i386 ksh less libtiff4 \
libtiff4-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 \
libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 \
libpthread-stubs0 libpth-dev libstdc++5 lsb-cxx make \
pdksh openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils \
zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 \
libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev \
libpthread-stubs0-dev
apt-get install alien autoconf automake autotools-dev binutils doxygen \
elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6:i386 ksh less libtiff5 \
libtiff5-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 \
libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 \
libpthread-stubs0 libpthread-stubs0-dev libpth-dev libstdc++5 lsb-cxx make \
pdksh openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils \
zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 \
libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev
해당 게시글은 http://ioriy2k.pe.kr/archives/815 에서 퍼왔습니다.
Oracle Database는 Oracle에서 개발한 관계형 Database로 금융권과 일반 기업, 공공기관, 심지어 우리나라에서는 초등학교 학내전산망에까지 사용됩니다. (초등학교에 얼마나 많은 DB 처리량이 필요하길래.. 대표적인 예산 낭비 행정이죠. ㅎㅎ Mysql로도 충분한 것을..) 뛰어난 안정성과 Performance로 가장 널리 사용되는 Database인 Oracle은 Windows, Linux, Unix 계열 Server에서 사용할 수 있습니다.
Oracle Database에서 공식적으로 지원하는 Linux 배포판은 Asianux Server, Red Hat Enterprise Linux(RHEL), SUSE Linux Enterprise Server입니다. 최신 Release인 Oracle 11g Release 2에서 지원하는 배포판을 자세히 열거하면 아래와 같습니다.
- Asianux Server 3 SP2
- Oracle Enterprise Linux 4 Update 7
- Oracle Enterprise Linux 5 Update 2
- Red Hat Enterprise Linux 4 Update 7
- Red Hat Enterprise Linux 5 Update 2
- SUSE Linux Enterprise Server 10 SP2
- SUSE Linux Enterprise Server 11
물론 공식적으로 지원하지 않는 Linux 배포판이라도 설치 및 구동이 가능합니다. 이번 Post에서는 Ubuntu에서 Oracle 11g Relase 2를 설치하는 방법을 알아보도록 하겠습니다.
Table of Contents [Show]
1. 필수 Package 설치
Oracle Database를 설치하기 위해서 사용되는 필수 Package를 설치합니다.
내 설치본
1.1. Natty Narwhal 11.04 이하의 배포판의 경우
Terminal에서 다음과 같이 입력합니다.
1 | $ sudo apt-get install unzip build-essential x11-utils rpm ksh lsb-rpm libaio1 |
1.2. Oneiric Ocelot 11.10의 경우
Terminal에서 아래의 명령으로 설치합니다.
- 32bit:1
2
3$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1
$ wget "http://launchpadlibrarian.net/64397544/lsb-rpm_4.8.1-6ubuntu1_i386.deb"
$ sudo dpkg -i lsb-rpm_4.8.1-6ubuntu1_i386.deb - 64bit:1
2
3$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1
$ wget "http://launchpadlibrarian.net/64397680/lsb-rpm_4.8.1-6ubuntu1_amd64.deb"
$ sudo dpkg -i lsb-rpm_4.8.1-6ubuntu1_amd64.deb
1.3. Precise Pangolin 12.04의 경우
Terminal에서 다음과 같이 입럭합니다.
- 32bit:1
2
3
4$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1 libdb4.8
$ wget "http://launchpadlibrarian.net/59032965/liblzma2_5.0.0-2_i386.deb"
$ wget "http://launchpadlibrarian.net/64397544/lsb-rpm_4.8.1-6ubuntu1_i386.deb"
$ sudo dpkg -i liblzma2_5.0.0-2_i386.deb lsb-rpm_4.8.1-6ubuntu1_i386.deb - 64bit:1
2
3
4$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1 libdb4.8
$ wget "http://launchpadlibrarian.net/59033014/liblzma2_5.0.0-2_amd64.deb"
$ wget "http://launchpadlibrarian.net/64397680/lsb-rpm_4.8.1-6ubuntu1_amd64.deb"
$ sudo dpkg -i liblzma2_5.0.0-2_amd64.deb lsb-rpm_4.8.1-6ubuntu1_amd64.deb
1.4. Quantal Quetzal 12.10 이상의 경우
Quantal Quetzal 12.10, Raring Ringtail 13.04의 경우는 Terminal에서 다음과 같이 입럭합니다.
- 32bit:1
2
3
4
5$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1
$ wget "http://launchpadlibrarian.net/100815189/libdb4.8_4.8.30-11ubuntu1_i386.deb"
$ wget "http://launchpadlibrarian.net/59032965/liblzma2_5.0.0-2_i386.deb"
$ wget "http://launchpadlibrarian.net/64397544/lsb-rpm_4.8.1-6ubuntu1_i386.deb"
$ sudo dpkg -i libdb4.8_4.8.30-11ubuntu1_i386.deb liblzma2_5.0.0-2_i386.deb lsb-rpm_4.8.1-6ubuntu1_i386.deb - 64bit:1
2
3
4
5$ sudo apt-get install unzip build-essential x11-utils rpm ksh libaio1
$ wget "http://launchpadlibrarian.net/100815432/libdb4.8_4.8.30-11ubuntu1_amd64.deb"
$ wget "http://launchpadlibrarian.net/59033014/liblzma2_5.0.0-2_amd64.deb"
$ wget "http://launchpadlibrarian.net/64397680/lsb-rpm_4.8.1-6ubuntu1_amd64.deb"
$ sudo dpkg -i libdb4.8_4.8.30-11ubuntu1_amd64.deb liblzma2_5.0.0-2_amd64.deb lsb-rpm_4.8.1-6ubuntu1_amd64.deb
2. libstdc++5 설치
libstdc++ Package는 GNU Standard C++ Library로서 GCC와 같은 GNU의 Compiler로 Compile한 Application을 위한 Runtime Library입니다.
Ubuntu의 경우, libstdc++6가 설치되어 있는데 Oracle Database에서는 libstdc++5를 사용합니다.
2.1. Lucid Lynx 10.04의 경우
Repository에서 libstdc++5를 지원하지 않으므로 다음과 같은 방법으로 libstdc++5를 설치합니다.
- 64bit:1
2
3
4$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
$ dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_amd64.deb libstdc++
$ sudo cp libstdc++/usr/lib/libstdc++.so.5.0.7 /usr/lib/
$ sudo ln -s /usr/lib/libstdc++.so.5.0.7 /usr/lib/libstdc++.so.5 - 32bit:1
2
3
4$ wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
$ dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
$ sudo cp ia32-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib/
$ sudo ln -s /usr/lib/libstdc++.so.5.0.7 /usr/lib/libstdc++.so.5
2.2. Maverick Meerkat 10.10부터 Quantal Quetzal 12.10까지의 경우
Quantal Quetzal 12.10, Precise Pangolin 12.04, Oneiric Ocelot 11.10, Natty Narwhal 11.04, Maverick Meerkat 10.10의 경우에는 다음과 같이 입력하면 간단히 설치됩니다.
1 | $ sudo apt-get install libstdc++5 |
2.3. Raring Ringtail 13.04의 경우
- 64bit: Ubuntu Repository에 있는 libstdc++5를 설치할 경우, 설치 다음과 같은 Message가 표시될 수 있습니다.1
2
3Error in invoking target 'install' of makefile '/opt/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'.
/usr/lib/x86_64-linux-gnu/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'문제를 해결하기 위해서 libstdc++5를 다음과 같이 입력하여 따로 설치합니다.
설치시 lsb-rpm 패키지는 다음 패키지에 의존: liblua5.1-0 발생시 liblua5.1-0 설치 진행
- > sudo apt-get install liblua5.1-0
1
2
3
4
5$ wget "http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-25ubuntu1_amd64.deb"
$ dpkg-deb -x libstdc++5_3.3.6-25ubuntu1_amd64.deb libstdc++
$ sudo cp libstdc++/usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7 /usr/lib/x86_64-linux-gnu
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7 /usr/lib/x86_64-linux-gnu/libstdc++.so.5
$ sudo ldconfig - 32bit: Ubuntu Repository의 libstdc++5를 설치하면 됩니다.1$ sudo apt-get install libstdc++5
3. Group과 계정 생성하기
Oracle을 설치하고 사용하기 위한 Group과 계정을 생성합니다. 다음과 같이 Terminal에서 입력합니다.
1 2 3 4 5 | $ sudo addgroup oinstall $ sudo addgroup dba $ sudo useradd -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle $ sudo passwd oracle $ sudo chown oracle:dba /home/oracle -R |
4. Symbolic Link 설정하기
설치 Program에서 사용하는 일부 Program의 경로가 달라서 문제가 발생할 수 있기 때문에 설치 Program이 인식할 수 있는 Directory로 Symbolic Link를 걸어줍니다.
1 2 3 | $ sudo ln -s /usr/bin/awk /bin/awk $ sudo ln -s /usr/bin/rpm /bin/rpm $ sudo ln -s /usr/bin/basename /bin/basename |
5. Kernel 변수 설정
Oracle Database는 DB의 안정성과 Performance를 위해서 System의 자원을 많이 사용합니다. 그래서 기본적인 Linux Kernel 설정으로는 DB를 운용하는데 문제가 있기 때문에 다음과 같이 Kernel 변수를 설정해 줍니다.
Ubuntu에서는 Kernel 변수를 설정하는 File을 /etc/sysctl.d에 관련된 Application 별로 저장하고 적용할 수 있습니다. 이렇게 설정해 놓으면 차후 배포판이 Upgrade되거나 관련 Package가 Update될 때 설정이 변경되는 문제를 해결할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ sudo vi /etc/sysctl.d/30-oracle.conf fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 1048576 net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65535 $ sudo service procps start |
6. Resource Limit 설정
Oracle DB를 위해서 System의 보안정책으로 묶여있는 자원설정을 변경합니다. oracle 계정에 한하여 최대 Process 수와 최대 열 수 있는 File Descripter 수를 설정합니다.
Ubuntu에서는 /etc/security/limits.d 에서 각 Application에 대한 Limit 설정을 할 수 있습니다. Terminal에서 다음과 같이 입력합니다.
1 2 3 4 5 6 | $ sudo vi /etc/security/limits.d/oracle.conf oracle soft nproc 2047 oracle hard nproc 16383 oracle soft nofile 1023 oracle hard nofile 65535 |
7. 설치 Directory 생성
Oracle Database가 설치될 Directory를 미리 생성합니다. Oracle 계정에서 해당 Directory를 생성하지 못하기 때문에 Root 권한으로 미리 만들어 놓습니다.
1 2 3 4 | $ sudo mkdir /opt/oracle $ sudo chown oracle:dba /opt/oracle $ sudo mkdir /opt/oraInventory $ sudo chown oracle:oinstall /opt/oraInventory |
8. oracle 계정을 위한 환경변수 설정
이제 System 설정의 마지막입니다. Home Directory의 .bashrc에 마지막 부분에 생성한 oracle 계정에 적용할 환경변수를 추가합니다.
1 2 3 4 5 6 7 8 | $ su - oracle $ vi ~/.bashrc export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl11 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib export PATH=$PATH:$ORACLE_HOME/bin |
9. 마치면서..
Oracle Database를 설치하기 위한 기본적인 설정 및 필수 Package 설치는 모두 마쳤습니다. 이제 Oracle을 Download 받고 Installer를 사용해서 설치하는 것과 Ubuntu에서 편리하게 Oracle을 사용하기 위한 설정들을 하면 설치는 마무리 될 것입니다. 다음 Post에서는 Oracle을 Installer를 사용해서 설치하는 방법을 알아보겠습니다.
'wif LiNoUz > Oracle,Sql' 카테고리의 다른 글
Centos7에 오라클12c 설치 아짱난다 (0) | 2017.03.16 |
---|---|
CentOS6.5 Java 8설치 (0) | 2017.03.15 |
[Oracle|오라클] ROLLUP 합계, 소계 구하기 (GROUP BY) (1) | 2015.10.30 |
GROUPING과 GROUPING_ID (0) | 2015.10.29 |
분석함수 LAG 와 LEAD 함수 : 이전값, 다음값 [출처] [오라클] 분석함수 LAG 와 LEAD 함수 : 이전값, 다음값 손쉽게 가져오기|작성자 자바킹 (0) | 2015.10.29 |