Fedora Core 6 에 Oracle 9i 설치기
fedora core 6 에 오라클을 설치만 해본다.
원문참조: http://ivan.kartik.sk/oracle/install_ora9_fedora.html
1. 오라클 계정을 생성한다.
# groupadd dba
# useradd -g dba oracle
# passwd oracle
2. 리눅스 커널 패러미터를 수정(추가)한다. (오라클 문서 및 리눅스 커널 옵션 참조)
# vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648
kernel.shmmni = 128
kernel.shmall = 2097152
kernel.msgmnb = 65536
kernel.msgmni = 2878
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
변경 옵션이 반영될 수 있도록,
# sysctl -p 또는 (/etc/init.d/network restart 또는 리부팅을 한다)
3. 제한값을 수정한다. (최대 프로세스 갯수와 최대로 열수 있는 파일의 수)
# vi /etc/security/limits.conf
* - nproc 16384
* - nofile 16384
4. 오라클을 설치할 디렉토리를 생성한다.
# cd /opt
# mkdir oracle
# chown oracle:dba oracle
5. SUN 의 java 패키지(jre)를 설치한다.
1.3.1.xx 버전을 설치한다. 이전버전이나 이후버전 모두 Oracle 9i와는 궁합이 맞지 않을 수 있다. 물론 대부분의 궁합은 설치시의 문제다. 1.3.1_20 내려 받기
jre가 포함된 j2sdk 를 내려받았다. java 컴파일러가 필요없는 경우, jre 만 내려받으면 된다.
# chmod +x j2sdk-1_3_1_20-linux-i586.rpm.bin
# ./j2sdk-1_3_1_20-linux-i586.rpm.bin
# rpm -ivh jdk-1.3.1_20.i586.rpm
자바 환경을 시스템 전체에서 사용할 수 있도록 한다.
# vi /etc/profile.d/java.sh
JAVA_HOME=/usr/java/jdk1.3.1_20
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
# chmod +x /etc/profile.d/java.sh
6. Oracle 환경 설정 프로파일을 만든다.
# vi /etc/profile.d/oracle.sh
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/920
ORACLE_SID=ORA92
LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_OEM_JAVARUNTIME=$JAVA_HOME/jre/
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH ORACLE_OEM_JAVARUNTIME PATH
# chmod +x /etc/profile.d/oracle.sh
7. Oracle 계정으로 로그인한다. (GUI 환경이 가능한 로그인으로..)
8. Oracle 9i 를 다운받는다.
다운받기
$ gunzip ship_9204_linux_disk1.cpio.gz
$ gunzip ship_9204_linux_disk2.cpio.gz
$ gunzip ship_9204_linux_disk3.cpio.gz
$ cpio -idmv < ship_9204_linux_disk1.cpio
$ cpio -idmv < ship_9204_linux_disk2.cpio
$ cpio -idmv < ship_9204_linux_disk3.cpio
Disk1, Disk2, Disk3 의 세개의 디렉토리가 생성되게 된다.
9. Oralce 의 java 경로를 수정한다.
$ vi Disk1/install/linux/oraparam.ini
JRE_LOCATION=/usr/java/jdk1.3.1_20/jre
10. 오라클을 설치한다.
$ cd Disk1
$ ./runinstaller
다음과 같은 오류가 발생했다.
error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannon open shared object file: No such file or directory
관련 패키지를 설치한다.
# yum install compat-libstdc++-296 compat-libstdc++-33 compat-libgcc-296
# cd /usr/lib
# ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2
다시 설치한다.
libXp.so.6: cannot open shared object file: No such file or directory
X11 라이브러리 이름이 변경되었다. 설치해 주자.
# yum install libXp libXp-devel (devel 은 없어도 된다)
한글이 깨진다.
자바 AWT 한글 설정은 /usr/java/jdk1.3.1_20/jre/lib 디렉토리에
font.properties.ko 속성 파일을 만든다.
/usr/java/jdk1.3.1_20/jre/lib/fonts 디렉토리에 백묵폰트를 복사 또는 링크하고 fonts.dir 을 만든다.
자세한 내용 생략.
GUI 설치자를 따라서 오라클을 설치한다.
설치후, 데이타베이스 및 네트워크 설정은 오류가 난다.
다음 사항을 수정후 dbca, netca 등을 통해 별도 설정한다.
11. 설치된 Orace 의 JRE를 변경한다.
$ORACLE_HOME/JRE 를 삭제한다.
$ ln -s /usr/java/jdk1.3.1_20/jre JRE
$ su - root
# cd /usr/java/jdk1.3.1_20/jre/bin
# ln -s java jre
# cd /usr/java/jdk1.3.1_20/jre/bin/i386/native_thread
# ln -s java jre
12. 시스템 부팅시 Startup 할수 있게 수정한다.
# vi /etc/oratab
ora92:/opt/oracle/920:Y (N을 Y 로 변경한다.)
# vi /etc/init.d/oracle
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/opt/oracle/920"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Setting up kernel parameters
#echo 100 32000 100 100 > /proc/sys/kernel/sem
#echo 2147483648 > /proc/sys/kernel/shmmax
#echo 4096 > /proc/sys/kernel/shmmni
#echo 2097152 > /proc/sys/kernel/shmall
#echo 65536 > /proc/sys/fs/file-max
#ulimit -n 65536
#echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
#ulimit -u 16384
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
# chmod +x /etc/init.d/oracle
# chkconfig --add oracle
dbstart 가 잘 안되는 경우....
$ORACLE_HOME/dbs/ 밑에 데이타베이스 init 파일이 생성되지 않는 경우가 있다.
만약 db 이름이 testDB 라면
init.ora 파일을 inittestDB.ora 로 복사후, 파일안에 db_name=testDB
로 변경후 dbstart 를 해준다.
이 글은 스프링노트에서 작성되었습니다.