의존 라이브러리 설치
아래의 명령을 이용하여 오라클 설치시 필요한 의존 라이브러를 설치합니다.
| 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 >] 버튼을 클릭합니다.
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
오라클 인스톨러 실행시 오류
| 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