'2007/03/28'에 해당되는 글 1건

  1. 2007.03.28 Solaris10 +Oracle10G 설치기 & 삽질기 by gala

환경 : VMWARE 5.5.3

가상하드 : 8GB (+ 12GB)

메모리 : 512M (+ 512M)

준비물 : Solaris CD ,오라클10G(http://www.oracle.com/technology/software/products/database/oracle10g/index.html)

들어가면서

무수한 삽질을 해버렷다.

리눅스에서는 9i 를 깔다가 몇번 설치 경험이 잇기 때문에 다만

몇년전이지만 그래도 기억을 되살려 별 어려움 없이 Install할거라는

큰 착각을 해버렷다 . 그 당시에는 꽤 괜찬은 서버환경에서

fedora 에서 몇번 깔았던것 같다 사실 fedora 랑 오라클이랑 궁합이

잘 맞지 않는다. gcc 버젼도 낮춰야 하고 꽤 귀찬은듯 하다.

그러나 Solaris 랑은 궁합이 잘 맞지 않을까 라는 쓸데 없는 생각으로

열악한 환경에서 깔기 시작햇다.

테스트용으로 사용할것 이기 때문에 VM 에서 512M 가와 8GB 가상 하드

를 잡고 SWAP 도 100M 를 잡고 시작 하였다.

필요한 환경과 세팅도 숙지 않은채 Oracle 을 압축을 풀고

./runInstaller 를 실행

하드부족 요구~ㅜ.ㅜ

VM 에서 하드 12기가를 잡고 넣엇다.

하드 추가 하는 방법

1. 일단 하드를 붙인다.

2. Solaris 에서 변경된 하드웨어를 인식하게 하는 방법은 세가지가 있다.

A)부팅 시 옵션을 입력한다.
x86 버전의 경우 부팅 후 (b)oot (i)nterprete 를 고르는 부분이 있는데, 이곳에 “b ?r”을 입력한다.
PROM 프롬프트 에서는 “boot ?r” 을 입력한다.
위와 같은 방법을 거쳐 booting 이 된 후에야 다음 작업을 할 수 있다.
 

B)reboot -- -r  명령을 하면

 부팅시에 변경된 상황을 Solaris 에서 인식 하게 된다..

C)econfigure 파일을 만들어 준 후 reboot 을 한다.
부팅 후 init에서 불러 들이는 rc.sysinit 파일에서는
root 디렉토리에 reconfigure 라는 파일의 존재를 파악해서
시스템이 변경된 부분이 있는지 kernel 을 rebuild 하게 한다.
참고로 / 디렉토리는 root 만이 쓸 수 있으니 반드시 root로 로그인해야 한다.

3.Format 프로그램으로 사용가능한 파티션 설정및 셋팅
 처음 명령어를 실행 하면 이렇게 뜬다 . 0번은 기존꺼 1번은 추가구입(?) 하드이다.
      0.c0d0
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
      1. c0d1
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0

1번을 고른다.


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        show       - translate a disk address
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit

이런 메뉴들이 뜬다.

먼저 fdisk 를 실행하여 Solaris 에서 사용가능한 파일 시스템을 만든다.

VM 으로 만들었기 때문에 이부분은 생략 가능하다. 실제 서버 컴퓨터는

셋팅을 해줘야 한다. 참고로 UFS 파일 시스템이다.


이제 파일 시스템을 만들었으면

partition 명령으로 파티션과 슬라이스는 잡자.


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit


#>print

Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       3 - 1562       11.95GB    (1560/0/0) 25061400
  1 unassigned    wm       0               0         (0/0/0)           0
  2     backup    wu       0 - 1562       11.97GB    (1563/0/0) 25109595
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 alternates    wm       1 -    2       15.69MB    (2/0/0)       32130


지금 이렇게 잡혀 잇다.

첨으로 들어 왔을시에 2,8,9 번만 잡혀 있을것이다.

만들고자 하는 파티션을 만들고 크기를 잡고 빠져 나온다.


설정을 하고 나오서 다시 Format 프롬프트에 나오면

label 명령오로 설정을 저장한다.

그리고 quit

자 이제 하드는 잡혀잇다.

이제 마지막으로

newfs /dev/rdsk/c0d1s0 이렇게 하면

드디어 마운트 할수 있는 하드 드라이브가 생겻다..


내 같은 경우 새로운 하드는 오라클 전용을로 쓰기 때문에

#>mkdir /oracle

#>mount -F ufs /dev/dsk/c0d1s0 /oracle


#> df -k
파일시스템           K바이트    사용    가용   용량    설치지점

/dev/dsk/c0d1s0      12340960 3557274 8660277    30%    /oracle

이런식으로 마운트를 확인 할수 있다.

부팅시 마운트를 유지 할려면

[root]:/etc>vi /etc/vfstab

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0d0s1 -       -       swap    -       no      -
/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0        /       ufs     1       no      -
/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7        /export/home    ufs     2       yes     -
/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0        /oracle ufs     1       yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -

중간에 한줄 추가 하면 된다.

/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0        /oracle ufs     1       yes     -


이제 하드는 셋팅 완료다~ 힘들다..


이제 스왑파일이다.

스왑파일은 2기가 정도를 요구 하는것 같다.

정확한 스펙은 보지 않아서 모르겟지만

이제 스왑파일을 만들어 보자

먼저 스왑이 위치할 디렉토리와 파일을 만든다.


#>mkdir /oracle/swap

스왑2기기 생성
#>mkfile 2048m /oracle/swap/swapfile

[root]:/oracle/swap> swap -l
swapfile             dev  swaplo 블록   사용 가능
/dev/dsk/c0d0s1     102,1       8 1048568 1048568

[root]:/oracle/swap> swap -a /oracle/swap/swapfile

[root]:/oracle/tempswap> swap -l
swapfile             dev  swaplo 블록   사용 가능
/dev/dsk/c0d0s1     102,1       8 1048568 1048568
/oracle/tempswap/swaporacle  -        8 2097144 2097144

이제 스왑파일 생성 완료!


이제 하드웨어적인 것은 완료 된것 같다 물리적 메모리도 1기가 정도 잡아 두는게

원활한 인스톨을 위해서 좋을것 같다 Solaris 자체가 메모리를 많이 먹는것 같기도 하고


이제 Oracle 관한 환경 설정 파일이나 Shm 관련 해서 셋팅 하는 일만 남았다.

먼저 Oracle 계정을 만들어 두자.


/* 오라클 프로그램 $ORACLE_HOME=/oracle/oraapp */

groupadd oinstall

groupadd dba


/* 참고
-g 옵션은 기본 그룹을 뜻하며, Redhat의 경우 생략하면 자동으로 사용자 ID와 동일하게 부여됩니다.(제가 별로 좋아하지 않는 방식이기도 하죠.)

이 경우 /etc/passwd 파일에 해당 사용자의 기본 그룹으로 반영되며, 해당 사용자가 생성하는 파일 등은 기본적으로 해당 그룹으로 생성되지요.

-G 옵션은 해당 사용자가 속하게될 그룹 목록입니다.
예를들어 기본 그룹 외에 다른 그룹(이미 존재하는)에도 소속되도록 하려면 -G 옵션과 함께 그룹목록을 지정해 주면 됩니다

*/

useradd oracle -g dba -G oinstall -D /oracle/ -s /usr/bin/ksh


mkdir /oracle/oraapp/
mkdir /oracle/oradata/

chown -R oracle:dba /oracle/
# chmod -R 775 /oracle/oradata
# chmod -R 775 /oracle/oraapp




vi ~/.profile
# 추가
DISPLAY=localhost:0.0; export DISPLAY
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/oraapp; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
if [ -x /usr/local/bin/dbhome ]
then
  ORACLE_HOME=`dbhome orcl`; export ORACLE_HOME
  PATH=$PATH:$ORACLE_HOME/bin; export PATH
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
fi


vi /etc/system
# 추가
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10


이제 오라클 Install

./runInstaller

이제 Pro C만 깔면 한두달은 장난칠 거리 생긴다

Pro C셋팅은 조만간에 다시!



Posted by gala
l