CentOS 6.5 에 Oracle Database 11g Release 2 설치하기
설치환경
CentOS 6.4 64bit (X-Window)
Java 1.6 (SUN)
Oracle 11gR2
설치전 작업
X-Window 설치
Oracle 설치시에는 X-Window 환경에서 설치를 진행하여 합니다. 만약 X-Windows 설치가 되어있지 않을 경우에는 아래의 명령을 이용하여 X-Window 설치하시면 됩니다.
Shell
yum -y groupinstall "X Window System"
의존 라이브러리 설치
아래의 명령을 이용하여 오라클 설치시 필요한 의존 라이브러를 설치합니다.
Shell
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
yum -y install unzip
pdksh 설치파일은 yum 으로 설치가 되지 않아 직접 rpm 파일을 다운로드 받아 설치합니다.
Shell
wget ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/os/x86_64/WhiteBox/RPMS/pdksh-5.2.14-30.x86_64.rpm
rpm -Uvh --nodeps pdksh-5.2.14-30.x86_64.rpm
Kernel Parameter 설정
아래의 명령으로 Kernel Parameter 설정 파일을 편집합니다.
Shell
vi /etc/sysctl.conf
아래의 내용으로 수정합니다.
/etc/sysctl.conf
# Disable netfilter on bridges.
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
kernel.shmall = 10523004
kernel.shmmax = 6465333657
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
아래의 명령을 이용하여 변경된 Kernel Parameter 을 적용합니다.
Shell
1
/sbin/sysctl -p
정상적으로 적용시 아래와 같은 메시지가 나타납니다.
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmall = 10523004
kernel.shmmax = 6465333657
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
사용자 자원 제한 설정
아래의 명령으로 limits.conf 파일을 편집합니다.
Shell
vi /etc/security/limits.conf
아래의 내용을 추가합니다.
/etc/security/limits.conf
oracle soft nproc 2048
oracle hard nproc 65536
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
사용자 인증 보안 설정
아래의 명령으로 해당 설정파일을 편집합니다.
Shell
vi /etc/pam.d/login
session required pam_namespace.so 다음 라인에 아래의 내용을 추가합니다.
/etc/pam.d/loginShell
session required pam_limits.so
SELINUX 설정 해제
아래의 명령으로 해당 설정파일을 편집합니다.
Shell
vi /etc/selinux/config
아래와 같이 SELINUX 설정을 disabled 로 설정합니다.
/etc/selinux/config
SELINUX=disabled
hostname 설정
아래의 명령을 실행하여 hostname 을 확인합니다.
Shell
hostname
아래와 같이 hostname 이 나타납니다.
localhost.localdomain
재부팅 없이 호스트명 변경
Shell
echo oracle > /proc/sys/kernel/hostname
영구적 호스트명 변경
Shell
vi /etc/sysconfig/network
아래와 같이 HOSTNAME 의 속성을 변경합니다.
/etc/sysconfig/networkShell
HOSTNAME=oracle
hosts 파일에 host 명을 추가 시켜줍니다.
Shell
vi /etc/hosts
아래와 같이 hostname 을 추가시킨후 저장합니다.
vi /etc/hosts
127.0.0.1 oracle
사용자 계정 생성
아래의 명령을 이용하여 사용자 그룹과 계정을 생성합니다.
Shell
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
아래의 명령을 이용하여 oracle 설치 디렉토리를 생성한 후 권한을 부여합니다.
Shell
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
환경변수 설정
oracle 사용자의 환경 변수를 편집합니다.
Shell
vi /home/oracle/.bash_profile
아래의 내용을 입력합니다.
Shell
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_LISTNER=$ORACLE_HOME/bin/lsnrctl
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH
Oracle 설치
아래의 명령을 이용하여 오라클 사용자로 권한을 변경합니다.
Shell
su - oracle
설치파일 압축해제
Oracle 설치파일의 압축을 해제합니다.
Shell
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
압축을 해제한 후 설치 디렉토리로 이동합니다.
Shell
cd database
Oracle Universal Installer 실행
아래의 명령을 이용하여 Oracle Universal Installer 를 실행합니다.
Shell
./runInstaller
정상적으로 오라클 인스톨러가 실행되면 아래와 같은 메시지가 출력된 후, 설치 화면이 나타납니다.
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 41346 MB Passed
Checking swap space: must be greater than 150 MB. Actual 15983 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-07-01_03-44-44PM. Please wait ...
아래와 같은 설치 화면이 나타나면 (1) 번 항목의 체크를 해제한 후 [Next >] 버튼을 클릭합니다.
이메일 주소를 입력하지 않을 경우 아래와 같이 Email Address Not Specified 팝업이 나타나면 계속 진행을 위해 [Yes] 버튼을 클릭합니다.
Create and configure a database 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
Server Class 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
Single instance database installation 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
Advanced install 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
왼쪽의 Available Languages 선택 상자에서 Korean 을 선택한 후 [Next >] 버튼을 클릭합니다.
Enterprise Edition (4.29GB) 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
Oracle 의 설치디렉토를 확인한후 [Next >] 버튼을 클릭합니다.
oraInventory Group Name: 항목을 oinstall 로 선택한 후 [Next >] 버튼을 클릭합니다.
General Purpose / Transaction Processing 항목을 선택한 후 [Next >] 버튼을 클릭합니다.
Global database name 과 Oracle Service Identifier (SID) 항목을 각 환경에 맞게 입력한 후 [Next >] 버튼을 클릭합니다.
Memory 탭의 설정을 확인합니다. Enable Automatic Memory Management 항목은 기본은 체크하도록 합니다.
Character sets 탭 에서는 다국어 지원을 위하여 Use Unicode (AL32UTF8) 항목을 선택합니다.
Security 탭의 설정을 확인합니다.
Sample Schemas 탭에서는 Oracle 설치시 샘플 데이터베이스를 생성하고자 할 경우 Create database with sample schemas 항목에 체크를 합니다.
[Next >] 버튼을 클릭합니다.기본 설치 데이터베이스에 대한 디렉토리를 지정합니다. 기본으로 설치하실 경우에는 [Next >] 버튼을 클릭합니다.
[Next >] 버튼을 클릭합니다.오라클 계정의 패스워드를 설정하는 화면입니다. 관리 계정은 모두 동일한 패스워드를 사용하기 위하여 Use the same password for all accounts 항목을 선택한 후 패스워드를 입력합니다.
패스워드는 하나 이상의 영문 대소문자와 숫자를 포함한 8글자 이상으로 만들어주셔야 합니다. 해당 조건을 충족시키지 못할시 경고 메시지가 나타납니다.
Database Administrator (OSDBA) Group 와 Database Operator (OSOPER) Group 의 usergroup 을 dba 로 설정한 후 [Next >] 버튼을 클릭합니다.
Install 시 필요한 라이브러리를 확인하며, 버전이 맞지 않을 경우에도 나타날수 있습니다. 의존 라이브러리가 설치가 되어있다면, (1) 번 Ignore All 항목을 체크한 후 [Next >] 버튼을 클릭합니다.
Oracle 을 설치 옵션에 대한 최종확인을 합니다. 각 옵션 항목을 확인한 후 [Finish] 버튼을 클릭합니다.
설치가 시작되면 아래의 화면과 같이 진행 상태가 나타납니다.
설치중에 Database 설치 팝업이 나타납니다.
설치가 완료되면 아래와 같이 Database Configuration Assistant 팝업이 나타납니다. [Password Management] 버튼을 클릭합니다.
샘플 데이터베이스의 SCOTT 사용자에 대한 Lock Account 항목의 체크를 해제한 후 [OK] 버튼을 클릭합니다.
아래 화면과 같은 Execute Configuration Scripts 팝업창이 나타나며, 터미널 창을 띄어 (1) 항목에 있는 스크립트를 root 권한으로 실행합니다.
아래의 명령으로 root 권한으로 변경합니다.
Shell
su - root
orainstRoot.sh 명령을 실행합니다.
Shell
/app/oraInventory/orainstRoot.sh
정상적으로 실행시 아래와 같은 메시지가 나타납니다.
Changing permissions of /app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /app/oraInventory to oinstall.
The execution of the script is complete.
root.sh 명령을 실행합니다.
Shell
/app/oracle/product/11.2.0/db_1/root.sh
정상적으로 실행시 아래와 같은 메시지가 출력됩니다.
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /app/oracle/product/11.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
스크립트를 모두 실행한 후, Execute Configuration Scripts 팝업창에서 [OK] 버튼을 클릭하면, 오라클의 모든 설치가 완료됩니다. [Close] 버튼을 클릭하여 설치화면을 종료합니다.
설치 확인
Web Admin (EM)
브라우저의 주소창에 https://localhost:1158/em 을 접속하면, 아래와 같이 로그인창이 나타납니다. 각 항목에 로그인 정보를 입력한 후 [Login] 버튼을 클릭합니다.
- User Name : SYS
- Password : 설치시 설정한 패스워드를 입력합니다.
- Connect As : SYSDBA
로그인 성공시 아래와 같은 화면이 나타납니다.
Console
오라클 사용자로 변경합니다.
Shell
su - oracle
아래의 설치 위치로 이동합니다.
Shell
cd $ORACLE_HOME/bin
아래와 같이 sqlplus 명령을 실행합니다.
Shell
./sqlplus / as sysdba
정상적으로 실행이 되면 아래와 같이 Oracle Console 메시지가 출력됩니다.
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 1 17:28:12 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
SQL>
또는 아래와 같이 실행이 가능합니다.
Shell
./sqlplus
Enter user-name: 프롬프트가 나타나면 “/ as sysdba” 를 입력하여 콘솔에 접근 가능합니다.
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 1 17:29:23 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
SQL>
아래의 명령을 이용하여 instance 를 확인합니다.
Transact-SQL
select instance_name from v$instance;
정상적으로 실행시 아래와 같이 SID 명이 출력됩니다.
INSTANCE_NAME
----------------
ORCL
아래의 명령을 이용하여 datafile 위치를 확인합니다.
Transact-SQL
select name from v$datafile;
정상적으로 실행시 아래와 같이 datafile 의 위치가 출력됩니다.
NAME
--------------------------------------------------------------------------------
/app/oracle/oradata/ORCL/system01.dbf
/app/oracle/oradata/ORCL/sysaux01.dbf
/app/oracle/oradata/ORCL/undotbs01.dbf
/app/oracle/oradata/ORCL/users01.dbf
/app/oracle/oradata/ORCL/example01.dbf
Service 등록
root 권한으로 변경합니다.
Shell
su - root
아래의 파일을 편집합니다. oratab 파일은 Oracle 설치시 자동으로 생성되는 파일입니다.
Shell
vi /etc/oratab
아래와 같이 해당 SID 의 끝문자열 “N” 을 “Y” 로 변경한 후 저장합니다.
Shell
ORCL:/app/oracle/product/11.2.0/db_1:Y
oracle 사용자의 환경파일을 편집합니다.
Shell
vi /home/oracle/.bash_profile
아래와 같이 SID 변수가 설정이 되어있는지 확인한 후 설정된 값이 없다면 입력후 저장합니다.
Shell
export ORACLE_SID=ORCL
아래의 명령으로 시작 Shell Script 를 생성합니다.
Shell
vi /etc/init.d/oracle
아래와 같이 내용을 작성한 후 저장합니다.
Shell
#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/app/oracle/product/11.2.0/db_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
아래의 명령으로 실행권한을 변경합니다.
Shell
chmod 755 /etc/init.d/oracle
서비스 등록 스크립트를 등록하여 줍니다.
Shell
chkconfig --add oracle
오라클 서비스 스크립트를 부팅시 자동으로 시작할 수 있도록 설정합니다.
Shell
chkconfig oracle on