리눅스에 오라클 설치하는 방법이 저 같은 초보에게는 생각보다 까다롭네요. 다른 블로그들이나 설치 가이드를 찾아보았지만 부족한 거 같아서, 저처럼 헤매시는 분 없도록 설치 방법을 정리해 보았습니다.
오라클을 설치하기 이전에, 아래의 요구 사항들을 확인하고 관련 패키지들을 설치해 주어야 합니다.
따라하기
(1) 사전 필수 설치 패키지 리스트를 확인합니다.
(2) 위의 패키지들을 yum을 이용하여 전부 설치합니다.
먼저 http://www.oracle.com/kr/index.html 에 접속하셔서 회원 가입을 하신 후 따라하세요. 여기서 회원 가입 방법은 따로 언급하지 않겠습니다.
따라하기
(1) 웹 브라우저에서 http://www.oracle.com/kr/index.html 에 접속하여 로그인합니다.
(2) http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html 로 이동합니다.
(3) Accept License Agreement 에 체크하고, Oracle Database Express Edition 11g Release 2 for Linux x64 링크를 클릭하여 다운로드를 진행합니다.
(4) 다운로드를 진행하면 웹 브라우저 하단에 진행 목록이 보이는데, ‘전체 보기’ 를 클릭하여 다운로드 창으로 이동합니다.
(5) 현재 다운로드 중인 oracle….rpm.zip 파일의 링크 주소를 복사합니다.
(이 과정이 필요한 이유는, 리눅스에서 wget을 이용해 zip 파일을 다운받기 위하여 링크에 있는 AuthParam 값이 필요하기 때문입니다. 만료시간이 있기 때문에, 링크 주소를 복사한 이후에는 빠르게 (6)의 과정을 진행해야 합니다.)
(6) 리눅스로 돌아와서 다운로드할 디렉터리로 이동 후, $ wget [파일명] [링크주소] 명령어를 통해 다운로드를 진행합니다.
root 계정으로 oracle 계정과 그룹을 생성해줍니다.
따라하기
$ groupadd oinstall
$ groupadd dba
$ useradd –g oinstall –G dba oracle
$ passwd oracle
커널 파라미터 값을 오라클에서 권장한 값으로 바꾸어 줍니다.
(1) 터미널에서 $ vi /etc/sysctl.conf 를 입력한 후, 파일 제일 아래 쪽에 다음을 입력합니다.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 536870912
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 = 1048576
(2) :wq를 입력하여 저장 후 vi 에디터에서 빠져 나와 터미널로 복귀합니다.
(3) 자원 제한 설정을 위하여, 터미널에서 $ vi /etc/security/limits.conf 를 입력한 후, 파일 제일 아래 쪽에 다음을 입력합니다.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
(4) 적용을 위해서 reboot 명령어를 통해 리눅스를 재부팅 합니다.
(5) 제대로 설정되었는지 $ /sbin/sysctl –p 로 확인해 봅니다.
오라클을 이용하기 위해서 사용자 환경 변수를 수정합니다.
따라하기
(1) oracle 디렉토리로 이동합니다. $ cd /home/oracle
(2) $ vi .bash_profile 명령어를 입력하여 맨 밑에 아래의 내용을 추가합니다.
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=XE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
PATH=$ORACLE_HOME/bin:$PATH
export PATH
export ORACLE_BASE
export ORACLE_SID
export ORACLE_HOME
export ORACLE_LISTNER
export TMP=/tmp
export TMPDIR=$TMP
(3) bash_profile의 적용을 위해 터미널에서 # source .bash_profile 을 입력합니다.
사전 준비가 끝났습니다. 오라클을 설치합니다.
따라하기
(1) 1 과정에서 oracle zip 파일을 다운받은 디렉토리로 이동합니다.
(2) unzip [다운로드 받은 zip 파일명] 명령어를 입력하여 압축을 해제합니다.
(3) 다른 조건을 주지 않은 경우, Disk1이라는 디렉토리가 생성되어 이 디렉토리 안에 압축이 해제됩니다. $ cd Disk1 명령어를 입력하여 Disk1 디렉토리로 이동합니다.
(4) Disk1에 있는 rpm 설치 파일의 설치를 진행합니다.
$ rpm –Uvh oracle11g_express.rpm
설치 절차가 완료되면, /u01/app/oracle 디렉토리에 설치됩니다.
*에러 case 1: error : open of …………rpm failed : No such file or directory 오류
-> 원인 : 해당 파일이 완전히 구성되지 않아서 발생한 문제일 확률이 높습니다.
-> 해결 방안 : 2. 오라클 다운로드 과정을 다시 진행해 봅니다.
*에러 case 2: This system does noet meet the minimum requirments for swap space…
-> 원인 : swap 공간 부족으로 인한 문제입니다. oracle xe 11g에서 필요로 하는 swap 공간은 2048MB, 2GB 입니다.
-> 해결 방안 : 2048MB의 swap 공간을 정의해 줍니다.
- $ mkdir /swap
- $ dd if=/dev/zero of=/swap/swapfile bs=1024 count=2097152 (bscount = swapsize )
- $$ cd /swap (반드시 해주어야 함)
- $$ mkswap swapfile
- $$ swapon swapfile
- 이후 다시 경로 이동하여 rpm 설치
오라클 설치가 끝났으니, 오라클 세부 환경 설정을 진행합니다.
따라하기
(1) $ cd /u01/app/oracle/product/11.2.0/xe/network/admin
(2) $ vi listener.ora
(3) 아래와 같이 내용을 수정합니다.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc) )
(SID_DESC =
(GLOBAL_DBNAME = XE)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(SID_NAME = XE)
(SERVICE_NAME = XE)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
(4) $ vi tnsnames.ora
(5) 아래와 같이 내용을 수정합니다.
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
오라클 리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자입니다. 네트워크를 통한 연결은 모두 리스너가 담당합니다. 리스너를 실행시켜 보겠습니다.
따라하기
(1) $ lsnrctl 입력
(2) $ start 입력
(3) $ status 입력 후, 아래 이미지와 같이 Service가 동작하고 있으면, 모든 설치 및 설정이 완료된 것입니다.
3. 그룹 계정 설정에서 ‘oracle’ 이라는 계정을 만들었습니다. 오라클에 접속하기 위해서는 이 계정이 필요합니다. 만약 다른 계정 이름을 생성했다면, 그 계정을 이용해 오라클에 접속해야 합니다.
따라하기
(1) $ su oracle 입력하여 oracle 계정으로 전환
(2) $ sqlplus / as sysdba 입력하여 최상의 User로 sql plus 접속
(3) 정삭적으로 쿼리 작성 가능한 상태인지 확인