들어가기 앞서
지금 생각해보면, 우습지만 예전에 만들어놨던 오라클 설치 문서를 보면 그때 당시 며칠밤을 새워가며 오라클 설치에 매달렸던 일이 생각난다.
그때는 오라클 설치시간이 평균 6-7 시간정도가 소요되었기 때문에 설치하는 동안에는 아무일도 못했다. 그것도 제대로 설치가 되면 다행이지만, 98% 정도에서 실패하게 되면 그 때 받는 데미지는 실로 엄청났다.
지금은 오라클 설치에 필요한 자료들이나 문서가 풍족하기 때문에 오라클 설치때문에 애를 먹는 일은 거의 없지만, 그 때 당시만해도 그런 자료들이 많이 부족했었다. 요즘 최신버전은 9i 를 넘어 10i 에 이르지만, 이 문서에서 다루는 버전은 8i 를 중심으로 하고 있다.
반드시 설치환경을 확인하기 바란다.
준비운동 하기
우선 오라클을 깔기 전에 다음과 같은 사양을 고려해야 한다.
- 800M 이상의 하드 용량
- 128MB 이상의 메모리
- 커널 2.2 이상
- CPU 펜티엄 이상 ※ 아주 최소한의 사양임
- X-Windows 설치필수 ※ KDE
대충 위의 사양을 만족한다면 오라클을 설치하는 데는 문제가 없을 것이다. 오라클을 설치한다고 해서 오라클만 필요할 것이라고 생각하면 안된다. 우리가 설치할 오라클 8i 는 자바와 연동해서 설치하도록 되어있다. 그러므로 JRE와 JDK 가 필요하다. www.blackdown.org에서 다운 받을 수 있다. 아래의 버전을 다운 받을 것을 권장한다. 오라클8i 와 궁합이 잘 맞는다고나 할까?
jdk_1.1.6-v5-glibc-x86.tar.gz
jre_1.1.6-v5-glibc-x86.tar.gz
오라클은 http://technet.oracle.co.kr/ 여기서 다운 받을 수 있다.
815shipstd.tgz
여기서는 CD로 설치하는 방법을 주로 다룰 것이다. 하지만 거의 별 다를 것이 없기 때문에 다운받아서 설치한다고 해서 걱정할 필요는 없다. 이제 오라클 설치를 위한 준비운동은 모두 마쳤다.
설정하기
우선 오라클 설치를 하기전에 oracle 계정을 만들어 주어야 한다. 다음과 같이 한다.
#groupadd -g 5000 dba #useradd -g dba oracle #passwd oracle #cd /etc/ #vi group <---파일을 보면 맨 아래에 dba:x:5000:oracle,root 라고 추가 시켜준다.
이제 오라클 계정으로 로그인 한다.
#su oracle $cd /home/oracle $vi .bash_profile ------------.bash_profile---------------------------------------------------- export USERNAME BASH_ENV PATH export ORACLE_OWNER=oracle;export ORACLE_OWNER export ORACLE_BASE=/usr/local/oracle/app/oracle export ORACLE_HOME=/usr/local/oracle/app/oracle/products/8.1.5 export ORACLE_SID=ORCL export ORACLE_TERM=vt100 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/jre/bin:/usr/local/jre116_v5/bin:$ORACLE_HOME:/usr/local:/usr/local/jdk116_v5/bin:/usr/local/jdk/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib export CLASSPATH=/usr/local/jre116_v5/bin:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:/usr/local/jre116_v5:/usr/local/jdk116_v5/lib/classes.zip:/usr/local/jre/bin --------------------------------------------------------------------------
위와 같이 설정해 준다. 여기서 주의해서 볼 부분은 ORACLE_HOME, ORACLE_BASE, 그리고 JRE와 JDK가 설치된 경로도 주의해서 보아야 한다. 설정해주었다면, 이제 다시 루트로 로그인 한다.
$su #cd /root/ #vi .bash_profile
다음을 추가한다. 여기서도 위에서와 마찬가지로 ORACLE_HOME을 갖게 해준다.
---------------------.bash_profile------------------------------------------- export USERNAME BASH_ENV PATH export ORACLE_HOME=/usr/local/oracle/app/oracle/products/8.1.5 export ORACLE_SID=ORCL export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601 export TNS_ADMIN=$ORACLE_HOME/network/admin mesg n --------------------------------------------------------------------------
이제는 앞에서 다운 받아 놓았던 JRE와 JDK를 설치할 차례다. 압축을 풀고 풀려진 디렉토리를 위의 설정에 맞게 ‘/usr/local' 디렉토리에 복사한다.
#tar -xvzf jdk_1.1.6-v5-glibc-x86.tar.gz <--/usr/local 디렉토리에다가 압축을 푼다. #tar -xvzf jre_1.1.6-v5-glibc-x86.tar.gz <--/usr/local 디렉토리에다가 압축을 푼다. # mkdir jre # mkdir jdk
만들고 나서 이제는 심볼릭 링크를 걸어준다.
# ln -s /usr/local/jre116_v5/lib /usr/local/jre/lib # ln -s /usr/local/jre116_v5/bin /usr/local/jre/bin # ln -s /usr/local/jdk116_v5/lib /usr/local/jdk/lib # ln -s /usr/local/jdk116_v5/bin /usr/local/jdk/bin
제대로 링크를 걸어주었다면, 이번에는 소유권과 퍼미션을 수정해주어야 한다.
#su -
퍼미션등을 수정하기 위해서는 root 가 되어야 한다.
# cd /usr/local # chown -R oracle.dba jre116_v5/ # chown -R oracle.dba jdk116_v5/ # chown -R oracle.dba jre/ # chown -R oracle.dba jdk/ # chmod -R 755 /oracle # chmod -R 755 /tmp # chmod -R 755 /jre116_v5/ # chmod -R 755 /jdk116_v5/ # chmod -R 755 /jre/ # chmod -R 755 /jdk/
위의 설정까지 무사히 마쳤다면 오라클 설치를 위한 설정은 모두 마친 것이다. 이제 부터는 본격적으로 설치를 해야 한다. X 윈도우에서 설치를 하는데 gnome 보다는 kde 에서 수행해야 한다.
#switchdesk KDE
위의 명령어를 이용해서 기본 윈도우 매니저를 kde 로 바꾼다.
설치하기
X 윈도우로 부팅후 CD 롬을 마운트 시킨후에 ./runInstaller을 실행시킨다. 여기서 반드시 oracle 계정으로 실행시켜야 한다. 제대로 설정이 되었다면 설치화면이 뜰 것이다.
설치 화면을 따라서 설치를 하면 6-7 시간정도 후에 모든 설치가 끝날 것이다.
문제해결
※ 테이블을 만들고 자료를 insert 문을 입력할 때 아래와 같은 에러가 뜰 수가 있다.
ERROR at line 1: ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'
이럴 때는 다음과 같이 한다.
$sqlplus system/manager sql> select segment_name, status from dba_rollback_segs SEGMENT_NAME STATUS ------------------------------ ---------------- SYSTEM ONLINE R01 OFFLINE R02 OFFLINE R03 OFFLINE R04 OFFLINE
위와 같은 테이블이 보일 것이다. 위에서 보이는 OFFLINE을 ONLINE로 바꾸어 주어야 한다. 다음과 같이 입력해서 바꾸어 주자!!
SQL>alter rollback segment r01 online; SQL> alter rollback segment r02 online; SQL> alter rollback segment r03 online; SQL> alter rollback segment r04 online;
모두 온라인으로 바꾸었다면, 'exit' 명령어로 빠져나오자!! 그리고 일반계정으로
$sqlplus scott/tiger
그리고 다시 insert 문을 이용해서 데이터를 추가해주자!! 그럼 에러 없이 데이터가 입력될 것이다.