junggon 님의 글입니다.
----------------------------------------------------------------------------
썬머신의 솔라리스 8에서 오라클 817버전을 인스톨하는 방법에 대한 내용입니다.


하두 고생고생 해서 다른 분들도 고생하실까봐 올려봅니다.
------------------------------------------------------------
Sun Solaris8 (intel 플랫폼) 에서 Oracle 8i 설치
글쓴이 : 노상근 sknho@deskpia.com , 추가 배중곤 cgv1004@hanafos.com

=== 배중곤 추가 부분 ===
Sun Solaris 8 오라클 설치시 먼저 해둘 일 !!!!!

root로 해야하는 작업이 있다. 아래 나오는 파일을 수정해줘야 한다.
/etc/system 파일에 아래를 추가해 쓴다.
vi system

------------------------------------------------------------
#* 오라클용 공유메모리,세마포어 세그먼트,식별자 세그먼트 설정.
#* 우리 회사 Ultra 80 ( 2cpu , 256MB ram , 30GB 스카시하드 ) 모델의 설정값.
set noexec_user_stack=1
set noexec_user_stack_log=1
forceload:sys/shmsys
forceload:sys/semsys
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=70
set semsys:seminfo_semmsl=160
set semsys:seminfo_semmns=310
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
============================================================================================
설치작업을 할 oracle 이라는 계정을 만들어 준다.
그룹은 그냥 dba 하나로만 한다.
계정이 만들어지면 계정 홈디렉토리 안에있는 프로파일 화일인 " .profile " 에 아래와 같이 추가한다.
아래는 본쉘을 사용하는 것을 기준으로 한다.

ORACLE_SID=ADSVC; export ORACLE_SID
ORACLE_HOME=/export/home/ora817; export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin; export PATH
ORACLE_TERM=vt100; export ORACLE_TERM
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/openwin/lib:/usr/bin:/usr/lib; export LD_LIBRARY_PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
ORACLE_OWNER=oracle; export ORACLE_OWNER
#DISPLAY=211.38.1.164:0.0; export DISPLAY
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
#LANG=en; export LANG

alias ls='ls -p'
alias ll='ls -al'
alias l='ls -l'
alias c='clear'

PS1='[\u@\H:\W]\$'

umask 022
============================================================================================


[ 예제 1 ]  Solaris 2.3/2.4    

 1. SQLDBA 에서 :    
  SQLDBA> shutdown    
  SQLDBA> exit    
 
 2. Superuser(root)로 login 하고 :    
  # cd /etc
 
 3. /etc/system file 에 다음을 추가 한다.
(저 위의 값을 추천한다.) 왜 이런 값을 넣어야 하는지에 대한 이유를
정확이 아는바가 없음이 죄송스럽습니당. 아래는 울회사 서버의 값입니다. 그대로 써두 될듯.
set noexec_user_stack=1
set noexec_user_stack_log=1
forceload:sys/shmsys
forceload:sys/semsys
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=70
set semsys:seminfo_semmsl=160
set semsys:seminfo_semmns=310
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
    
 4. Kernel을 reconfigure 한다:    
  # touch /reconfigure    
    
 5. Machine 을 reboot 한다:    
  #init 6    
    
 6. SQLDBA 에서 :    
   SQLDBA> startup    
   SQLDBA> exit    
    
Oracle의 init<SID>.ora Parameters 에는 SGA 의 영향을 주는 Parameters가 있다. OS의 Shared Momory 와 Semaphore Parameter 에 연결된 이 Parameter의 Setting 은 System 과 Oracle의 Performance에 영향을 미친다.   
   

### 다음은 oracle 계정의 생성 및 프로파일 설정..
[#] groupadd -g 5000 dba
[#] useradd oracle -g dba
기존사용자를 바꿀땐 : usermod -g dba oracle



vi .profile 로 아래 부분 추가.
--------------------------------------
ORACLE_SID=원하는SID값; export ORACLE_SID
ORACLE_HOME=/export/home/ora817; export ORACLE_HOME
#ORACLE_BASE=/export/home/ora817; export ORACLE_BASE
PATH=$PATH:$ORACLE_HOME/bin; export PATH
ORACLE_TERM=vt100; export ORACLE_TERM
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/openwin/lib:/usr/bin:/usr/lib; export LD_LIBRARY_PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
ORACLE_OWNER=oracle; export ORACLE_OWNER
# DISPLAY=:0.0; export DISPLAY
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
#임시디렉토리는 오라클 홈 밑에 tmp 디렉토리를 만들어준다.
TMDIR=/export/home/ora817/tmp; export TMDIR
#TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

#아래 언어설정은 혹시나 인스톨시 디비생성을 바로 못하고 스크립트로 남긴 후 수동으로
## dbassist 명령어로 생성하려고 할때엔 언어설정을 풀어서 환경을
## 영어로 재적용(리부팅 등의 방법을 써서~) 해주고 해야 잘 됩니다.
#LANG=en; export LANG

alias ls='ls -p'
alias ll='ls -al'
alias l='ls -l'
alias c='clear'

PS1='[\u@\H:\W]\$'
umask 022
#------------------------


--------------------------------------


Sun 솔라리스 8 (intel 플랫폼)을 처음 받았을 때 함께 들어있는 Oracle 8i 데이터베이스 CD를 보노라면 웬지 뿌듯한 느낌을 받게 된다. 전세계 DB시작을 석권한 오라클에서 리눅스용에 이어 선 솔라리스 사용자들을 위한 제품까지 만들어서 서비스를 시작한 것이다. 사실 오라클 DB의 가격은 결코 만만치 않다. 선 엔터프라이즈용 오라클 DB의 가격을 아는 이들이라면 이렇게 운영체제와 함께 제공되는 오라클 CD에 대해 묘한 감정을 느낄 것이다.
동봉된 오라클 DB는 개발자용이다. 그러나 서버용 DB로도 훌륭히 수행된다.
한가지... 처음 DB를 다루는 분들께는 오라클 이외에 다른 제품을 권하고 싶다. 설치부터가 만만한 제품이 아니기 때문이다. 필자의 개인적 경험상 사용하기 무난한 제품으로는 MS의 MS-SQL Server 7.0을 권하고 싶다. 그러나 이미 어느정도 DB에 대한 지식을 쌓은 분이라면, 그래서 SQL문법에 능통한 분이라면 오라클은 결코 지나칠 수 없는 제품이리라.
작년 (1999년) 초, 리눅스용 오라클을 설치했을 때 몇시간을 헤매던 생각이 났다. 잡지에 나온 대로 설정을 시도했으나 몇 번의 실패끝에 결국은 나름대로의 방식대로 설정하여 겨우 DB가 startup 되는 모습을 볼 수 있었다. 이에 반해 NT용 오라클 서버는 그리 까다롭지 않은 설치방식을 제공한다. 운영체제에 따라 설치방식이 극과 극을 달리는 듯 하다.
사실 이번 솔라리스용 오라클 8i 역시 몇 번의 시행착오를 거친 끝에 설치를 할 수 있었다. 특히 환경변수 설정이 무엇보다 중요하다. 유닉스나 리눅스에 대한 기본 지식이 없이는 시도하지 말 것을 당부한다.
자 준비가 되었으면 설정에 들어간다. 아래 글은 읽는 이들이 어느정도 유닉스나 리눅스에 대하여 기본 지식이 있음을 전제로 작성하였다.


1. 설치를 위한 기본 환경
- 메모리 권장 : 128 MB 이상
- HDD : 1 GB정도의 빈 공간.
- CPU : Celeron 366 혹은 펜티엄 II 350 이상 .
위의 사양은 말 그대로 설치를 위한 최소사양이다. 위 내용중 메모리는 256MB를 장착하면 쾌적하게 오라클을 설치하여 사용할 수 있다. 128MB와 256MB의 차이점은 오라클 설치에 필요한 소요시간에서도 명확히 나타난다.
2. ROOT 권한하에서 할 일.
가. ORACLE 계정 등록
- 오라클 설치 및 운영을 위한 USER 계정을 새로 만든다. (admintool을 이용하는 것이 편하다) 아래와 같이 설정해주면 된다.
* 사용자명 : oracle (임의로 설정가능)
* Primary Group : dba
* Secondary Group : oinstall
* 홈 디렉토리 : / OraHome1 (임의로 설정 가능. 단 오라클 사용자 자체의 계정의 홈 디렉토리와는 절대로 일치시키지 말 것. 과거 리눅스용은 오라클 홈 디렉토리로 사용자 홈 디렉토리를 설정하였으나 솔라리스용은 다르다)
* Login Shell : Bourne shell (/bin/sh)
나. 솔라리스 커널 Parameter 설정
/etc/system 파일 맨 밑부분에 아래 내용을 삽입한다.
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=100
set semsys:seminfo_semmns=200
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
** 상기 사항을 입력할 때 주의하세요. 오타가 나면 부팅시 에러메시지가 나타납니다.




다. 환경변수 설정
- oracle user의 환경변수를 설정해준다. oracle user의 홈 디렉토리안에 있는 .profile을 수정해주면 된다.
문서 맨 위 .profile 적용사항을 보시고 하세요.!!!
** 주의사항 : oracle 계정은 위에 언급한 대로 Bourne shell을 사용한다. C shell과는 달리 Bourne shell이나 Korn shell에서는 환경변수를 지정한후에는 반드시 export 명령을 주어야만이 변수가 적용된다.
예를 들어 위에서 설정한 ORACLE_HOME=/export/home/OraHome1 의 경우에도 밑줄에 export ORACLE_HOME 을 추가로 설정해 주어야 된다.
여기까지는 oracle을 인스톨하기 전에 만들어준다.
라. oracle 홈디렉토리의 사용권한 설정
- oracle user가 새로이 생성될 오라클 홈디렉토리에 쓰기권한을 가질 수 있도록 해주는 것이다. 만일 오라클 홈디렉토리가 위에 지정한 것처럼 /export/home/OraHome1이라면..
# chown oracle:dba /export/OraHome1
이렇게 지정해주면 된다.




3. oracle 사용자로서 할 일
root 권한하에서 할 일을 마쳤으면 이제 새로 생성한 oracle user로 다시 login하여 다음 작업을 수행해주자.
가. umask 값 확인
- umask라고 쉘에서 입력했을 때 0022값이 나오면 된다. 다른값이 나왔다면 .profile에서 umask 설정을 잘못해준 것이다.
4. oracle 데이터베이스 설치
아래 내용은 모두 oracle 사용자로 로긴하여 수행해야 하는 일이다. 절대 root로 login하지 말기 바란다.
가. 로긴시 언어설정
가장 애를 먹은 부분이다. 이제껏 기본적으로 한글 (Korean) 환경에서 솔라리스를 수행하여 왔을 것이다. 그러나 Oracle database를 설치할 때 만큼은 영어환경에서 설치를 해주도록 하자. 그 이유는.... 한글환경에서 설치를 해보면 안다. Oracle Database Configuration Assistant를 수행할 때 나오는 원인모를 에러.. 그리고 멈춤. 이것 때문에 며칠을 허송세월하였다. 결국 오라클 사용자모임의 게시판에서 해답을 얻을 수 있었다.
나. Oracle 8i CD 삽입
다 아는 내용이겠지만 솔라리스는 CD를 삽입함과 동시에 자동으로 CD를 마운트해준다. 오라클 CD를 넣으면 CD의 루트 디렉토리에 있는 파일들이 파일관리자 화면에 보일 것이다. 여기서 아래에 흰색으로 표시된 runInstaller 파일을 수행시키면 된다. 마우스로 더블클릭해보자. JAVA를 기반으로 한 멋진 GUI환경의 Universal Installer Program이 실행된다.

오라클 CD를 넣었을 때 나타나는 파일매니저


다. Oracle 8i 설치
설치 프로그램 화면을 따라가면서 설치를 수행하자.
설치도중 tmp/OraInstall/orainstRoot.sh 스크립트 파일을 root 권한으로 수행하라고 나온다. (물론 새로 root로 로긴하라는 것이 아니고 잠시 su를 이용 root권한을 가지고 하면 된다)
File location 지정화면은 특별한 이유가 없는 이상 시스템에서 기본적으로 지정하는 위치에 설치하면 된다.
설치하는 유형을 선택하는 메뉴는 다음 3가지로 나뉜다.
1) Oracle Enterprise Edition 8.1.5 : Oracle db server와 관련된 모든 프로그램
2) Oracle 8i Client 8.1.5 : client용 프로그램
3) Oracle Programmer 8.1.5 : 기본적인 클라이언트 프로그램 (Net8, SQL*Pluse) 및 프리 컴파일러, 도움말등.
위에서 자신에게 알맞는 사항을 선택후 Next 버튼을 누르면 설치유형 선택화면이 나온다. 여기서 Custom을 선택하여야만 프로그램 및 데이터베이스에서 사용할 언어를 선택할 수 있다.
다음 화면은 설치가 가능한 각 프로덕트가 박스안에 나열된다. 상단의 'Product Language'를 클릭하면 설치할 언어를 선택할 수 있다. 기본적으로는 'English'로 되어있겠지만 이것을 'Korean'으로 변경한다.
Java Runtime Applicaiton의 경로설정 및 보안인증방법 (Authentification Methods) 설정부분은 그냥 Next 버튼을 누르면 기본값으로 설정된다.
Oracle Home Directory는 기본적으로 export/home/OraHome1으로 되어있을 것이다. 설정된 기본값 그대로 하면 된다.
오라클 소프트웨어를 갱신할 수 있는 UNIX 그룹을 지정하라고 나오면 oinstall을 입력한다.
설치에 필요한파일이 복사되는 과정이 진행된다.
라. Net8 Configuration
네트웍 설정부분이다. 이곳을 click하면 자세한 사항이 나온다.

** 설치중 정해주어야 할 값.
Oracle SID: 4-5자정도의 짧은 알파벳 이름을 지어준다. 이값은 추후 .profile에도 설정해주어야 하므로 잊지 않도록 한다. (Default : ORCL)
DB 명 : 역시 자기마음에 드는 이름을 지어준다

.

마. 데이터베이스 생성
설치 후반부로 가면 자동으로 수행에 필요한 데이터베이스 생성으로 들어간다. (Oracle Database Configuration Assistant) 데이터베이스 생성 옵션으로서는 설치 CD에 있는 데이터베이스 파일 복사를 선택하면 된다. 데이터베이스 생성작업에 소요되는 시간은 시스템 메모리 크기에 따라 차이가 있을 것이다. (메모리가 클수록 소요시간은 짧아진다)



바. root.sh 실행
필요한 파일 설치가 끝나고 링크작업이 완료되면 Oracle Home 디렉토리에 있는 root.sh를 root권한으로 실행하라는 메시지가 나온다. 이것을 실행시켜도 실행이 되지 않을 경우에는 chmod 명령을 사용하여 root.sh의 속성을 실행가능 파일로 바꿔준다.
실행후 ORACLE_OWNER, ORACLE_HOME, ORACLE_SID의 설정값이 나오면 이것을 확인해둔다. local bin 디렉토리의 full path명은 자신의 시스템에 설정된 값으로 고쳐준다. (예. /usr/bin)
모든 설치가 끝나게 되면 아래와 같은 엔딩 화면을 보게된다. 이걸 보기위하여 얼마나 많은 노력을 하였는가.... 라고 생각하면 안된다. 아직 확인해야 할 일이 많다.

5. 설치후 해야할 일
가. 환경변수 추가 설정
- oracle user의 환경변수를 추가로 설정해준다. 설치하기 전과 마찬가지로 oracle user의 홈 디렉토리안에 있는 .profile을 수정해주면 된다.
* ORACLE_SID= 아까 설정한 값을 넣어준다. (예 : ORCL등)
* CLASSPATH=/export/home/jre/1.1.7/bin:$ORACLE_HOME/jlib
* LD_LIBRARY_PATH=$ORACLE_HOME/lib
** 참고로 필자의 oracle 계정에 설정한 .profile값을 공개한다. 여기서 DISPLAY 변수에 나오는 서버명(deskpia)은 여러분의 시스템에 맞게 수정해야 한다. 나머지 사항은 대체로 동일하게 설정해도 되는 사항들이다.

tty istrip
DISPLAY=deskpia:0.0
export DISPLAY
ORACLE_HOME=/export/home/OraHome1
export ORACLE_HOME
PATH=/usr/bin:/usr/ccs/bin:/usr/ucb:/etc:$ORACLE_HOME/bin:/bin:/opt/bin
export PATH
TMDIR=/var/tmp
export TMDIR
umaks=022
export umask
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=ORCL
export ORACLE_SID
CLASSPATH=/export/home/jre/1.1.7/bin:$ORACLE_HOME/jlib
LD_LIBRARY_PATH=/usr/java/lib:$ORACLE_HOME/lib
이제 시스템을 rebooting후 oracle user로 새로이 login한다.
6. 오라클 구동 확인
가. 이미 path가 지정되어 있으므로 곧바로 아래와 같이 쉘에서 입력해보자.
$ svrmgrl
아래와 같이 화면이 나타나면 1차 성공이다.
Oracle Server Manager Release 3.1.5.0.0 - Production
(c) Copyright 1997. Oracle Coprporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production
with the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production
SVRMGR>
나. 이제 데이터베이스에 연결해본다.
SVRMGR> connect internal
Connected 라고 나오면 된다. 여기서 Connected라는 메시지와 함께 어떤 error 메시지가 나온다면 오라클 db가 정상적으로 설치되지 못한 것이다.
다. 다음으로는 데이터베이스를 구동시킨다.
SVRMGR> startup
잠시후 아래와 같이 메시지가 나오면 성공적으로 데이터베이스가 구동되고 있는 것이다.
** 아래 수치는 시스템에 따라 다를 수 있음 **
Oracle instance started
Total System Global Area 35028368 bytes
Fixed Size 64912 bytes
Variable Size 18014208 bytes
Database Buffers 16777216 bytes
Redo Buffers 172032 bytes
Database mounted.
Database Opened.
라. 내친김에 데이터베이스에 있는 테이블들을 살펴보자.
SVRMGR> select * from tab;
수많은 테이블들이 주욱 나오면서 마지막에 다음 메시지가 나올 것이다.
1433 rows selected.
이제 오라클 데이터베이스 설치라는 기나긴 여정이 끝났다. 남은 일은 dba로서 해야 할 일이다. 항상 끝마칠 때 shutdown을 잊지 않으면 아무런 문제없이 oracle DB를 사용할 수 있을 것이다.

p.s. http://technet.oracle.com으로 가면 오라클 데이터베이스에 관한 아주 많은 자료들이 체계적으로 정리되어 있다. 이것을 이용하려면 회원으로 가입하면 된다. 회비는 무료이다. 물론 모든 자료는 영어로 되어 있다.

* itislord님에 의해서 게시물 복사되었습니다 (2005-04-24 14:18)

+ Recent posts