Oracle 10g install
#############################################
#### 사전작업  - 설치에 사용된 파일 목록 : 10201_database_linux32.zip (637.75 Mb)

1. root로 로그인하여 계정 생성

   $ su - root
   # groupadd dba
   # useradd -g dba oracle
   # passwd oracle


2. 시스템 파라메터 추가.

   2-1. /etc/sysctl.conf 파일에 다음 항목 추가

        kernel.shmall = 2097152
        kernel.shmmax = 2147483648
       
        kernel.shmmni = 4096
        kernel.sem = 250 32000 100 128
        fs.file-max = 65536
        net.ipv4.ip_local_port_range = 1024 65000
        net.core.rmem_default = 262144
        net.core.rmem_max = 262144
        net.core.wmem_default = 262144
        net.core.wmem_max = 262144
 
   2-2. /etc/sysctl.conf 파일을 변경하였으면 sysctl -p 실행 혹은 os reboot
       # sysctl -p
 
   2-3. /etc/pam.d/login 파일에 다음 항목 추가
       session required /lib/security/pam_limits.so
 
   2-4. /etc/security/limits.conf 파일에 다음 항목 추가
            oracle     soft     nproc     2047
            oracle     hard    nproc     16384
            oracle     soft     nofile      1024
            oracle     hard    nofile      65536
 
   2-5. /etc/profile 파일에 다음 항목을 추가한다.
       if [ $USER = "oracle" ]; then
             ulimit -u 16384 -n 65536
       fi
 
   2-6. init 6 명령으로 시스템을 재부팅을 한 다음 root 계정으로 로그인(xwindow로 로그인하여 터미날 창에서 실행한다.) 한 후
               클라이언트가 어떤 호스트에서도 연결 할 수 있도록 다음 명령을 실행한다.
               # xhost +
 
   2-7. /etc/redhat-release 파일을 다음과 같이 수정한다.
       수정 전 : CentOS release 5.2 (Final)
       수정 후 : redhat-4
 
 
3. oracle 사용자로 로그온하여, Oracle 환경 변수를 설정

    3-1. /home/oracle/.bash_profile 파일에 다음 항목을 추가한다.
            export ORACLE_BASE=/home/oracle
            export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
            export ORACLE_SID=ora10
            export LD_LIBRARY_PATH=$ORACLE_HOME/lib
            #export LD_ASSUME_KERNEL=2.4.19
            export PATH=$PATH:$ORACLE_HOME/bin
    3-2. .bash_profile을 저장하고 새 환경 변수를 로드한다.
            $ cd /home/oracle
        $ . .bash_profile



#############################################
#### 설치

1. rpm 패키지를 다운로드하고 설치한다.

   필요한 패키지가 설치되어 있는지 확인후 설치

   $ su - root
   # rpm -q binutils \
            compat-libgcc-296 \
            compat-libstdc++-296 \
            compat-libstdc++-33 \
            cpp \
            gcc \
            gcc-c++ \
            glibc \
            glibc-common \
            glibc-devel \
            glibc-headers \
            ksh \
            libaio \
            libaio-devel \
            libgcc \
            libstdc++ \
            libstdc++-devel \
            make \
            openmotif21 \
            setarch \
            libXp           

   설치가 되어 있지 않은 패키지는 yum을 이용하여 설치한다.
       # yum install binutils
       # yum install compat-libgcc-296
       # yum install compat-libstdc++-296
       # yum install compat-libstdc++-33
       # yum install cpp
       # yum install gcc
       # yum install gcc-c++
       # yum install glibc
       # yum install glibc-common
       # yum install glibc-devel
       # yum install glibc-headers
       # yum install ksh
       # yum install libaio
       # yum install libaio-devel
       # yum install libgcc
       # yum install libstdc++
       # yum install libstdc++-devel
       # yum install make
       # yum install setarch
       # yum install libXp
       # yum install openmotif

   openmotif21은 yum으로 설치 불가능 할 경우 다음 주소에서 다운로드 하여 설치
       ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/openmotif21-2.1.30-14.i386.rpm
       # rpm -ivh openmotif21-2.1.30-14.i386.rpm

 
2. 오라클 웹사이트(http://otn.oracle.com/kr)에서 오라클 소프트웨어를 다운로드하고 압축을 해제한다.
   $ unzip 10201_database_linux32.zip

3. 오라클을 설치한다. (xwindow oracle 계정 접속하여 실행)
   $ cd database
   $ ./runInstaller


4. (불필요) Universal Installer의 설치 과정에서 링크 단계로 넘어가기 전에 다음 파일을 변경해주어야 한다.
   그렇지 않으면, 링크 단계에서 더 이상 설치는 진행되지 않고 무한 대기하게 된다.
   $ORACLE_HOME/bin/gennttab 파일(설치 과정 중, 약 30%가 넘어가면 생성된다)을 다음과 같이 변경한다.
  
   변경전
   ------
   LIB='echo ${TtoLIB} | sed 's/ /\\
   /g' | grep "^${T}:" | awk -F: '{print $2}''
   INI='echo ${TtoLIB} | sed 's/ /\\
   /g' | grep "^${T}:" | awk -F: '{print $2}''
   BAS='echo ${TtoLIB} | sed 's/ /\\
   /g' | grep "^${T}:" | awk -F: '{print $2}''

   변경후
   ------
   LIB='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''
   INI='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''
   BAS='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''



#############################################
#### 설치 후 작업
   (필수 아님)/etc/redhat-release 파일 원복
       수정 전 : redhat-4
       수정 후 : CentOS release 5.2 (Final)

 




Oracle 10g client install
#############################################
#### 설치
   
    1. Oracle Instant Download
        http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
        아래 파일 4개를 다운로드 받는다.
        instantclient-basic-linux32-10.1.0.5-20060511.zip
        instantclient-sdk-linux32-10.1.0.5-20060511.zip
        instantclient-jdbc-linux32-10.1.0.5-20060511.zip 
        instantclient-sqlplus-linux32-10.1.0.5-20060511.zip
   
    2. Client 설치
        $ cd /home/oracle
        $ mkdir orainstant
        $ cd orainstant
        unzip instantclient-basic-linux32-10.1.0.5-20060511.zip
        unzip instantclient-sdk-linux32-10.1.0.5-20060511.zip
        unzip instantclient-jdbc-linux32-10.1.0.5-20060511.zip 
        unzip instantclient-sqlplus-linux32-10.1.0.5-20060511.zip
        zip 파일이 플리면서 instantclient10_1 디렉토리가 생성됨.
   
    3. tnsnames.ora 파일 생성
        $ cd instantclient10_1
        $ mkdir network
        $ cd network
        $ mkdir admin
        $ cd admin
        $ vi tnsnames.ora
        tnsnames.ora에 접속할 DB 정보 작성.
         ora10 =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
            (CONNECT_DATA =
              (SERVER = DEDICATED)
              (SERVICE_NAME = ora10)
            )
          )
   
     
   
    4. .bash_profile
            export ORACLE_BASE=/home/oracle
            export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
            export ORACLE_SID=ora10
            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/instantclient10_1
            #export LD_ASSUME_KERNEL=2.4.19
            export PATH=$PATH:$ORACLE_HOME/instantclient10_1
           


Oracle 10g uninstall
    1. oracle 계정 데이터파일 삭제
        cd $ORACLE_HOME;rm -rf *
        cd $ORACLE_BASE;rm -rf *
   
    2. root 계정
        cd /etc; rm oraInst.loc
        cd /tmp; rm -rf *
        cd /usr/bin; rm dbhome oraenv coraenv
        cd /usr/loca/bin; rm dbhome oraenv coraenv
   



Oracle 10g instance 추가 생성
1. oracle 계정 xwindow로 login 후 터미널 창에서 dbca 실행후 instance 추가 생성.

2. oracle 계정의 .bash_profile (euckr과 utf8 두가지 intance 사용중)
############# CHARACTER SET #############
LANG=ko_KR.eucKR; export LANG
LC_ALL=ko_KR.eucKR; export LC_ALL


######### JDK  ##########
export JAVA_HOME=/home/java/jdk1.5.0_17
export PATH=${JAVA_HOME}/bin:$PATH


echo "#################################################"
echo "#   Oracle DBMS Environment Variables Setting   #"
echo "#################################################"

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export ORACLE_SID=ora10
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
#export LD_ASSUME_KERNEL=2.4.19
export PATH=$PATH:$ORACLE_HOME/bin

echo "enter~ > "; read enter

echo "------------------------------------------"
echo " Select DataBase(Character Set) "
echo ""
echo " 1. SID: ora10     , KO16MSWIN949"
echo " 2. SID: ora10utf8 , AL32UTF8"
echo ""
echo "------------------------------------------"
echo " 1 or 2 (default 1) > "; read no
echo ""
echo ""
echo ""
echo "------------------------------------------"
echo " Your Tasty Choice "
echo ""
if [ "$no" != "2" ]
then
        export ORACLE_SID=ora10
        echo " 1. SID: ora10     , KO16MSWIN949"
else
        export ORACLE_SID=ora10utf8
        echo " 2. SID: ora10utf8 , AL32UTF8"
fi
echo ""
echo "------------------------------------------"
echo ""
echo " keep it short n simple..."
echo ""
echo ""
echo ""





'DB' 카테고리의 다른 글

AUDIT - 감사  (0) 2010.07.30
SQL99 - Insert All, MERGE, IS NAN, INTERVAL  (0) 2010.07.30
Index-Organized Table(IOT), Partitioned Table & Index  (0) 2010.07.30
lock 관련  (0) 2009.02.27
Oracle Character set 변경  (3) 2009.02.12
Oracle 실행된 쿼리 보기  (0) 2009.02.12
Oracle Version 확인  (0) 2009.02.12
user/tablespace sql & export/import  (0) 2009.02.12