설치환경
- CentOS 6.4 64bit (X-Window)
- Java 1.6 (SUN)
- Oracle 11gR2
설치전 작업
X-Window 설치
Oracle 설치시에는 X-Window 환경에서 설치를 진행하여 합니다. 만약 X-Windows 설치가 되어있지 않을 경우에는 아래의 명령을 이용하여 X-Window 설치하시면 됩니다.
|
yum -y groupinstall "X Window System" |
의존 라이브러리 설치
아래의 명령을 이용하여 오라클 설치시 필요한 의존 라이브러를 설치합니다.
|
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 파일을 다운로드 받아 설치합니다.
|
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 설정 파일을 편집합니다.
아래의 내용으로 수정합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
# 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 을 적용합니다.
정상적으로 적용시 아래와 같은 메시지가 나타납니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
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 파일을 편집합니다.
|
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 |
사용자 인증 보안 설정
아래의 명령으로 해당 설정파일을 편집합니다.
session required pam_namespace.so 다음 라인에 아래의 내용을 추가합니다.
|
session required pam_limits.so |
SELINUX 설정 해제
아래의 명령으로 해당 설정파일을 편집합니다.
아래와 같이 SELINUX 설정을 disabled 로 설정합니다.
hostname 설정
아래의 명령을 실행하여 hostname 을 확인합니다.
아래와 같이 hostname 이 나타납니다.
재부팅 없이 호스트명 변경
|
echo oracle > /proc/sys/kernel/hostname |
영구적 호스트명 변경
|
vi /etc/sysconfig/network |
아래와 같이 HOSTNAME 의 속성을 변경합니다.
hosts 파일에 host 명을 추가 시켜줍니다.
아래와 같이 hostname 을 추가시킨후 저장합니다.
사용자 계정 생성
아래의 명령을 이용하여 사용자 그룹과 계정을 생성합니다.
|
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle |
아래의 명령을 이용하여 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 |
환경변수 설정
oracle 사용자의 환경 변수를 편집합니다.
|
vi /home/oracle/.bash_profile |
아래의 내용을 입력합니다.
|
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 설치
아래의 명령을 이용하여 오라클 사용자로 권한을 변경합니다.
설치파일 압축해제
Oracle 설치파일의 압축을 해제합니다.
|
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip |
압축을 해제한 후 설치 디렉토리로 이동합니다.
Oracle Universal Installer 실행
아래의 명령을 이용하여 Oracle Universal Installer 를 실행합니다.
정상적으로 오라클 인스톨러가 실행되면 아래와 같은 메시지가 출력된 후, 설치 화면이 나타납니다.
|
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 권한으로 변경합니다.
orainstRoot.sh 명령을 실행합니다.
|
/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 명령을 실행합니다.
|
/app/oracle/product/11.2.0/db_1/root.sh |
정상적으로 실행시 아래와 같은 메시지가 출력됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
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
오라클 사용자로 변경합니다.
아래의 설치 위치로 이동합니다.
아래와 같이 sqlplus 명령을 실행합니다.
정상적으로 실행이 되면 아래와 같이 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> |
또는 아래와 같이 실행이 가능합니다.
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 를 확인합니다.
|
select instance_name from v$instance; |
정상적으로 실행시 아래와 같이 SID 명이 출력됩니다.
|
INSTANCE_NAME
----------------
ORCL |
아래의 명령을 이용하여 datafile 위치를 확인합니다.
|
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 권한으로 변경합니다.
아래의 파일을 편집합니다. oratab 파일은 Oracle 설치시 자동으로 생성되는 파일입니다.
아래와 같이 해당 SID 의 끝문자열 “N” 을 “Y” 로 변경한 후 저장합니다.
|
ORCL:/app/oracle/product/11.2.0/db_1:Y |
oracle 사용자의 환경파일을 편집합니다.
|
vi /home/oracle/.bash_profile |
아래와 같이 SID 변수가 설정이 되어있는지 확인한 후 설정된 값이 없다면 입력후 저장합니다.
아래의 명령으로 시작 Shell Script 를 생성합니다.
아래와 같이 내용을 작성한 후 저장합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 |
#!/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 |
아래의 명령으로 실행권한을 변경합니다.
|
chmod 755 /etc/init.d/oracle |
서비스 등록 스크립트를 등록하여 줍니다.
오라클 서비스 스크립트를 부팅시 자동으로 시작할 수 있도록 설정합니다.
Trouble Shooting
오라클 인스톨러 실행시 오류
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 41736 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
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Continue? (y/n) [n] n
User Selected: No
Exiting Oracle Universal Installer, log for this session can be found at /tmp/OraInstall2013-07-01_02-55-06PM/installActions2013-07-01_02-55-06PM.log |
root 계정으로 로그인 합니다.
아래의 명령을 실행합니다.
|
xhost +SI:localuser:oracle |
정상적으로 실행시 아래와 같은 메시지가 나타납니다.
|
localuser:oracle being added to access control list |
oracle 계정으로 변경하여 ./runInstaller 를 실행합니다.
출처 : http://blog.beany.co.kr/archives/3198#Oracle_Universal_Installer