1. oracle 다운로드 및 압축해제
2. oracle 유저생성 및 권한부여
3. pre-install RPM
4. jdk 설치
5. 공유메모리 및 세마포 설정
6. 오라클 사용자 초기화 파일 구성
7. 오라클 셋업
8. Database 시작과 종료 TIP & TECH
1. oracle 다운로드 및 압축해제
오라클을 설치하시려면 오라클 파일 혹은 시디가 있어야 겠죠
시디면 상관없지만 파일을 받아서 설치 할 경우 아래를 따라하세요
zcat ship_lnx_920_disk1.cpio.gz | cpio –idmv
zcat ship_lnx_920_disk2.cpio.gz | cpio -idmv
zcat ship_lnx_920_disk3.cpio.gz | cpio -idmv
disk1, disk2, disk3이 생기고 생긴 파일들은 폴더를 하나 생성해서 이동시킨다
여기서는 /home/oracle로 이동
2. oracle 유저생성 및 권한부여
groupadd dba
useradd oracle –g dba
chown –R oracle.dba /home/oracle
chmod 777 / home
chmod 777 /home/oracle
3. pre-install RPM
오라클 설치시에 반드시 필요한 패키지들로 보통 레드햇 9.0을 기준으로
풀패키지 설치시 대부분 설치가 되어있습니다.
그러나 빨간 글씨의 패키지는 오라클 메타링크에서 다운을 받으셔야 되는데
메타링크 계정을 만드는 방법이 어렵습니다.
문의주시면 파일을 보내드릴께요
* Required OS Components
- compat-db-4.1.25-9
- compat-gcc-32-3.2.3-47.3
- compat-gcc-32-c++-3.2.3-47.3
- compat-oracle-rhel4-1.0-3
- compat-libcwait-2.0-1
- compat-libgcc-296-2.96-132.7.2
- compat-libstdc++-296-2.96-132.7.2
- compat-libstdc++-33-3.2.3-47.3
- gcc-3.4.3-9.EL4
- gcc-c++-3.4.3-9.EL4
- gnome-libs-1.4.1.2.90-44
- gnome-libs-devel-1.4.1.2.90-44
- libaio-devel-0.3.102-1
- libaio-0.3.102-1
- make-3.80-5
- openmotif21-2.1.30-11
- xorg-x11-deprecated-libs-devel-6.8.1-23.EL
- xorg-x11-deprecated-libs-6.8.1-23.EL
The compat-oracle-rhel4-1.0-3 and compat-libcwait-2.0-1 packages are available
from Oracle Metalink
While installing the patch you might receive the warning. It is a normal behaviour.
단. 의존성이 있는 RPM들은 같이 설치하여야 합니다.
보통 풀패키지로 설치 했을 때 대부분의 패키지들이 깔리지만 오라클의 메타링크에서 제공하는 패키지는 다운을 받아서 설치해야 합니다.
레드햇 9에서는
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
compat-libgcc-296-2.96-132.7.2
openmotif21-2.1.30-11
위 패키지를 설치 안해도 잘 깔린다고 합니다.
4. jdk설치
오라클 설치시 반드시는 아니지만 여러 오류를 피해가시고 싶으면 jdk를 설치하시면 됩니다
다운로드 :
RPM in self-extracting file(j2sdk-1_4_2_08-linux-i586-rpm.bin, 33.64M)
chmod +x를 주고 설치
rpm –Uvh로 설치
/usr/java/j2sdk-1_4_2_08에서 /usr/local/j2sdk-1_4_2_08로 이동후
$/usr/local/에서 ln –s j2sdk-1_4_2_08 java
/etc/profile에서 다음 내용을 설정
# For java
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:.:$PATH
5. 공유메모리 및 세마포 설정
오라클사가 제공한 커널 파라미터 값에 대한 권고값
파라미터 |
권장값 |
설명 |
SEMMNI |
100 |
시스템 내 세마포어 셋의 최대 개수, 동시에 사용될 수 있는 세마포어의 최대 개수를 결정한다. |
SEMMNS |
256 |
시스템 내 세마포어 전체 개수 |
SEMMSL |
100 |
한 개의 세마포어 셋에 존재할 수 있는 세마포어의 최대개수. 오라클 프로세스의 최대개수에 10개정도를 더한 값으로 설정한다. (오라클 initSID.ora 파일 내의 processes 파라미터) |
SEMOPM |
100 |
시스템 내 semop를 호출할 때마다 operation의 최대 개수 |
SEMVMX |
32767 |
세마포어의 최대값을 결정한다. |
SHMMAX |
2147483648 |
한 개의 공유 메모리 세그먼트의 최대 크기 (단위: 바이트) |
SHMMIN |
1 |
한 개의 공유 메모리 세그먼트의 최소 크기 (단위: 바이트) |
SHMMNI |
100 |
공유 메모리 세그먼트의 최대 개수 |
SHMSEG |
4096 |
한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의 최대값 |
** 공유 메모리와 세마포어의 개수 알아보기**
원래 공유메모리와 세마포어를 변경한 값을 적용하여 커널을 재컴파일 해야하지만
여건이 되지 않는 경우 소프트웨어적으로 공유메모리와 세마포어를 변경할 수 있다.
[root@ora9 kernel]# vi /etc/sysctl.conf
가장 마지막에 다음을 추가합니다.
kernel.shmmax = 2147483648
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range=1024 65000
시스템 리소스를 제한하는 설정파일에 다음을 추가한다.
[root@ora9 kernel]# vi /etc/security/limits.conf
가장 마지막에 다음을 추가합니다.
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
이 후 재부팅을 권장합니다.
6. 오라클 사용자 초기화 파일구성
oracle$ vi .bash_profile
# for ORACLE
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_OWNER=oracle
export ORACLE_SID=ORA92
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export TEMPDIR=/tmp
export EDITOR=vi
export PATH=$PATH:$ORACLE_HOME/bin
umask 022
# for DBA/User
alias oh='cd $ORACLE_HOME'
alias ob='cd $ORACLE_BASE'
alias cls='clear'
alias ls=’ls -F’
alias rm=’rm –i’
umask 022
# for java
export JAVA_HOME="/usr/jdk"
CLASSPATH=".:$JAVA_HOME/lib/tools.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME jdbc/lib/nls_charset12.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/rdbms/jlib/xsu12.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xmlparserv2.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/classgen.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/oraclexsql.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xmlplsql.jar"
CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xschema.jar"
export CLASSPATH
오라클 환경 설정 항목과 그에 대한 설명
설정 이름 |
설정 설명 |
ORACLE_BASE |
오라클 설치 프로그램인 OUI를 저장하고 오라클 트레이스 파일 및 데이터 파일을 저장하는 디렉토리의 이름을 기록하는 오라클 환경변수 명이다. |
ORACLE_HOME |
현재 설치하고자 하는 오라클 데이터베이스 서버를 저장할 디렉토리명을 기록한다. |
ORACLE_OWNER |
오라클 제품을 컨트롤할 OS 시스템 레벨의 유저가 누구인가를 설정하는 오라클 환경변수로, 앞 단락에서 생성한 oracle 사용자를 지정한다. |
LD_LIBRARY_PATH |
오라클 제품을 사용할 때 사용되는 오라클 공유 라이브러리들의 경로를 나타낸다. 반드시 $ORACLE_HOME/lib를 포함하여 설정한다./ |
ORACLE_SID |
오라클 서버 인스턴스의 이름인 Oracle System Identifier(SID)를 설정한다. 하나의 하드웨어에 여러 개의 데이터베이스 인스턴스가 존재할 수 있지만, SID는 개별 인스턴스에 대해 유일한 이름으로 명명되어야 한다. |
PATH |
$ORACLE_HOME/bin을 포함하여 설정한다. |
NLS_LANG |
오라클 데이터베이스의 문자 셋을 설정한다. 여러분이 생성하게 될 데이터베이스의 문자셋과 일치해야 한다. |
TNS_ADMIN |
Oracle Network를 구성할 때 필요한 설정파일의 위치를 지정하는 것으로, insterner.ora, tnsnames.ora, sqlnet.ora 파일들이 위치하고 있다. |
ORA_NLS33 |
NLS_LANG 항목에 설정된 문자 셋대로 오라클 데이터베이스에서 각국의 언어 및 도량형을 제공하는 데 필요한 정보를 갖고 있는 파일들의 위치를 지정한다. |
TEMPDIR |
오라클 데이터베이스가 운영 중에 임시 파일들을 위치시킬 장소를 지정한다. |
EDITOR |
SQL *Plus 상에서 edit명령어를 사용했을 때 실행할 수 있는 OS 레벨의 에디터를 지칭하는 것으로, 여러분에게 익숙할 만한 pico, vi를 설정한다. |
LANG |
데이터베이스의 문자 셋을 결정하는 NLS_LANG과 달리, 현재 사용자의 세션에서의 문자 셋을 결정하는 시스템 환경변수이다. 필자와 같이 ko_KR.eucKR를 설정하면 한글화된 시스템 메시지를 볼 수 있으며, 오라클에서 제공하는 모든 자바 툴에서 한글화 메시지를 바로 볼 수 있다. |
DISPLAY |
Oracle Universal Installer 등 오라클에서 제공하는 자바로 만들어진 여러 가지 툴이 구동하기 위한 X윈도우 환경을 설정하기 위한 것으로, 사용자의 서버 명이나 IP를 설정한다. |
LD_ASSUME_KERNEL |
KERNEL 버전을 다른것으로 보이게 하기 위한 환경 변수다. |
THREADS_FLAG |
JAVA의 Thread 실행과 관련이 있는 값이다. |
7. 오라클 셋업
x-windows에 oracle계정으로 로그인
oracle에서 ./runinstaller
언어가 깨지거나 실행이 안될 경우에는 다음명령을 실행
unset LANG
Unix Group Name-> oinstall 또는 dba
sid-> 일반적으로 ora9 혹은 ora92
Global Database Name -> ora9.도메인
문자셋은 [6] 사용자 초기화파일에서 설정한 것과 같아야 한다.
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
설치 중간에 orainstRoot.sh 팝업이 나올시
새창에서
su –root
cd /tmp
./orainstRoot.sh실행
완료 후 진행
설치 진행 100% 후에
*/oracle/ora92/root.sh 실행 대화상자 팝업
$su – root
#cd / oracle/ora92
#./root.sh
시스템 기본 디렉토리를 물으면
/usr/bin으로 설정
8. Database 시작과 종료
① glibc 관련 rpm 패키지 원상복구하기
[root@ora9 /]# cd /usr/local/src/
[root@ora9 src]# rpm -Uvh --nodeps glibc-common-2.3.2-11.9.i386.rpm
[root@ora9 src]# rpm -Uvh --nodeps glibc-devel-2.3.2-11.9.i386.rpm
[root@ora9 src]# rpm -Uvh --nodeps glibc-2.3.2-11.9.i386.rpm
② 오라클 데이터베이스 시작하기
Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.
[root@ora9 src]# su oracle
[oracle@ora9 src]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
오라클 데이터베이스를 시작하고 종료하기 위해서는 OS에서의 인증과 암호 파일을 생성하는
툴인 orapwd를 통해야 한다. 그리고 sys 스키마의 권한인 sysdba 권한과 public 스키마
권한인 sysoper 권한의 특별한 시스템 권한을 소유한 사용자이어야 한다.
· sysdba : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP, CHANGE, CHARACHER SET 절의 명령어 실행
· sysoper : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP 절의 명령어 실행
SQL> SELECT * FROM v$version;
현재의 오라클 데이터베이스 인스턴스의 버전 확인하기
③ 오라클 데이터베이스 종료하기
[oracle@ora9 src]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> exit
④ oratab 파일 편집하기
오라클 데이터베이스를 /etc/rc.d/ini.d에 스크립트로 설정하여 자동으로 실행하게 하여봅시다.
[root@ora9 src]# vi /etc/oratab
다음 부분을 수정 ([SID], [ORACLE_HOME], [자동실행/종료 플래그]로 구성되어 있습니다.)
ora9:/opt/oracle/product/9.2.0.1.0:N è ora9:/opt/oracle/product/9.2.0.1.0:Y
⑤ Parameter 파일 링크
xxxxxxxxxxxx은 일정치 않은 숫자 입니다.
[root @ora9 /]# cp /opt/oracle/admin/ora9/pfile/initora9.ora.xxxxxxxxxxxx \
/opt/oracle/product/9.2.0.1.0/dbs/initora9.ora
⑥ s/etc/rc.d/init.d 에 등록하기
oracle9i 스크립트를 /etc/rc.d/init.d 에 복사합니다.
[root@ora9 src]# cp /usr/local/src/oracle-9.2.0.1.0 /etc/rc.d/init.d/oracle9i
oracle9i에 실행권한을 부여합니다.
[root@ora9 src]# chmod 755 /etc/rc.d/init.d/oracle9i
시스템에 oarcle9i 데몬을 등록한다.
[root@ora9 src]# chkconfig --add oracle9i
[root@ora9 src]# chkconfig --level 2345 oracle9i on
Oracle Database를 재시작 시켜본 후, LISTENER 데몬이 띄워져 잇는지 확인합니다.
[root@ora9 src]# /etc/rc.d/init.d/oracle9i start
[root@ora9 src]# ps ax | grep LISTENER
설치 로그보기
tail –f $ORA_HOME/app/oracle/product/orainventory/logs/installactions.log
Oracle 삭제
$ORACLE_HOME 디렉토리에 있는 설치파일들 전부삭제
/etc 밑에 orainst.loc, oratab 삭제
/usr/local/bin/oraenv 파일 삭제
/tmp 디렉토리에서 관련파일 삭제
# rm /etc/oratab /etc/emtab
이후 다시 재설치 하시면 됩니다.
출처가 어디인지는 잊어버렸습니다...
원작자분께 죄송하단 말씀을..^^;;
기존 내용에 제가 이해하기 쉽도록 내용을 추가하였습니다.
그리고 초보가 한번에 따라하기는 어렵습니다.
나름대로의 시행착오를 겪어보셔야 될 것입니다.
^^ 잘되시길 바랍니다.