오라클 설치하는데 거의 30시간을 투자했군요
이전에 한 두어번 설치 하다가 계속 실패를 거듭하고
이번에는 바로 개발서버에 설치해야 되기에 이빨 꽉 깨물고 성질 죽여가며
깔았는데 결국은 깔리더군요......ㅋ
이것 저것 자료 많이 찾아보고 참고 하고 했지만 현재 아래에 있는 자료가
지금의 제목의 OS와 오라클버전엔 참 잘 맞았습니다.
쓰신분께 노고를 표합니다...ㅋ
오라클 계정의 .bash_profile 내용
export USERNAME BASH_ENV PATH ORACLE_BASE=/u01/app/oracle;
export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/8.1.7; export ORACLE_HOME
ORACLE_SID=ora1; export ORACLE_SID
PATH=$PATH:/u01/app/oracle/product/8.1.7/bin:/usr/local/java/bin; export PATH
CLASSPATH=.:/u01/app/oracle/product/8.1.7/jdbc/lib/classes111.zip; export CLASSPATH
LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7/lib; export LD_LIBRARY_PATH
ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data; export ORA_NLS33
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
LANG=C; export LANG
=============================================================
설치 순서
-------------------------------------------------------------
1. JDK1.1.8 설치
2. glibc 2.1 설치- gcc, cc, ld 및 lib파일 변경
3. oracle 계정 및 dba 그룹 생성
4. oracle 환경변수 설정
5. oracle tar file 풀기
6. oracle 설치 및 재설치
7. 버그 패치 후 dbcreat.sh 생성
8. initSID.ora 파일의 mts_dispatchers 부분 주석처리
9. shell script를 실행하여 database 생성
10. adapters oracle이라는 명령으로 SID에 링크된 프로토콜 확인
11. relink all 이라는 명령으로 파일연결 재구성
12. svrmgrl 을 실행해서 startup 및 shutdown 테스트
13. 리스너 구성 및 구동
14. svrmgrl에서 사용자 추가 및 권한 설정
15. sqlplus USERID/PASSWORD 로 접속 확인
16. glibc 되돌리기.
-------------------------------------------------------------
※ 참고사항
$ 로 시작하는 명령은 설치중 만들 oracle 계정으로 하는 것임
# 로 시작하는 명령은 root 계정으로 하는 것임
-------------------------------------------------------------
jdk118_v3-glibc-2.1.3.tar.bz2
i386-glibc-2.1-linux.tar.gz
linux81701.tar
준비.
-------------------------------------------------------------
1. JDK1.1.8 설치
-------------------------------------------------------------
# /usr/local
# su - root
# cd /usr/local
# tar -xvIjf jdk118_v3-glibc-2.1.3.tar.bz2
# ln -s /usr/local/jdk118_v3 /usr/local/java
8.1.7버전에서는 /usr/local/java 디렉토리를 사용한다.
-------------------------------------------------------------
2. glibc 2.1 설치- gcc, cc, ld 및 lib파일 변경
-------------------------------------------------------------
Oracle8i는 glibc 2.1이 반드시 필요하다. 2.2에서는 Oracle DB 생성에 있어
서 링크의 문제가 발생하여 제대로 DB 생성이 되지 않는다.glibc 2.2에서 사
용하는 gcc, cc, ld를 glibc 2.1로 대치하는 작업이 필요하고, Oracle DB 생
성 후 되돌릴 수 있다.
# cd /usr
# tar -xfz i386-glibc-2.1-linux.tar.gz
# cd /usr/bin
# mkdir backup
# mv gcc cc ld backup
# ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
# ln -s gcc cc
# ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
(링크를 꼭 확인하라.)
# cd /usr/lib
# mkdir backup
# mv libc.so libdl.so libm.so libpthread.so backup
# mv libc.a libdl.a libm.a libpthread.a backup
※ DB를 생성한 후 원래대로 되돌려 놓을것이다.
-------------------------------------------------------------
3. oracle 계정 및 dba 그룹 생성
-------------------------------------------------------------
# groupadd -g 5000 dba
# adduser -g dba oracle
# passwd oracle (원하는 비밀번호입력)
-------------------------------------------------------------
4. oracle 환경변수 설정
-------------------------------------------------------------
# su oracle
$ cd
$ vi .bash_profile (아래의 내용을 추가)
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export ORACLE_OWNER=oracle
export ORACLE_SID=oracle
export TMPDIR=$ORACLE_BASE/tmp
export PATH=.:$ORACLE_HOME/bin:/usr/local/java/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=American_America.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=C
umask 022
※export LANG=C를 하지 않으면 Net8 설치시 화면의 글자가 안보임
-------------------------------------------------------------
5. oracle tar file 풀기
-------------------------------------------------------------
설치시 oracle 계정에서 해야함으로..소유권변경후 풀기.
# mkdir /backup
# mv linux81701.tar /backup (자신만의 디렉토리)
# chown oracle.dba linux81701.tar
# tar -xvf linux81701.tar (Disk1 디렉토리에 오라클 설치 파일들이 풀린다)
------------------------------------------------------------
6. oracle 설치 및 재설치
-------------------------------------------------------------
※ logout후 oracle 계정으로으로 로그인한다.(su - oracle 해도 됨)
$ su -
root pass 입력
# mkdir /oracle/app/oracle/oraInventory -p
# chown oracle.dba /oracle -R
# exit
$ cd /backup/Disk1
$ ./runInstaller
Welcome 화면 : Next 버튼
File Locations 화면
UNIX Group Name 화면
UNIX Group Name에 dba 입력
Oracle Universal Installer 화면
/oracle/app/oracle/product/8.1.7/orainstRoot.sh을 root권한으로 실행하
라는 알림창.
한텀을 하나 더 띄워서 아래와 같이 실행
$ su -
pass enter
# /oracle/app/oracle/product/8.1.7/orainstRoot.sh
Retry 버튼
Available Products 화면
Oracle8i Enterprise Edition 8.1.7.0.1 선택
Installation Types 화면
Custom 선택
Available Product Components 화면
Net8 Products를 전부 체크해준다. 나머지는 필요에 따라 체크해 주면 된다.
화면상단에서 설치에 필요한 파일 로딩중....
Component Locations 화면
Java Runtime Environment 1.1.8
화면상단에서 설치에 필요한 파일 계속 로딩중....
Privileged Operating System Groups 화면
Database Administrator (OSDBA) Group : dba
Database Operator (OSOPER) Group : dba
화면상단에서 설치에 필요한 파일 계속 로딩중....
Create Database 화면
No 선택
화면상단에서 설치에 필요한 파일 계속 로딩중....
Summary 화면
Install
Setup Privileges 화면
이 화면이 보이는 상태에서 루트계정의 두번째 한텀에서 아래와 같이 실행한
다.
# /oracle/app/oracle/product/8.1.7/root.sh
# 뭐라고 나오는는데 그냥 엔터
Ok 버튼
Configuration Toos 화면
Net8 Configuration Assistant in progress...
여기에서 설치가 더 이상 되지 않으므로 종료하고 나온다.
adapters라는 명령으로 설치된 프로토콜을 확인해 본다.
$cd $ORACLE_HOME/bin
$adapters
몇가지가 설치되어 있지만 TCP/IP는 설치되어 있지 않다.따라서 이것을 다시
설치해 주어야 한다.
다시 runInstaller를 실행한다.
$ ./runInstaller (이때 혹시 화면 뜨지 않으면 아래의 명령을 실행한다)
$ killall -9 jre
$ ./runInstaller
설치할 제품 선택에서 Net8 부분들을 모두 체크해서 재설치 한다.
설치 중 ins_names.mk 를 부르는데 오류가 발생했다는 화면이 나오면 무시를
누르고 계속 설치한다. 설치가 종료된 후 다시 adapters라는 명령을 실행해
서 TCP/IP 프로토콜이 제대로 설치되었는지 확인한다.
이번에는 TCP/IP가 나올 것이다.
-------------------------------------------------------------
7. 버그 패치 후 dbcreat.sh 생성
-------------------------------------------------------------
이제 다음에는 database를 생성한다. database를 생성하기 전에 버그 패치를
해주어야 한다.
/backup/Disk1/patch 디렉토리에 가면 bug로 시작하는 두개의 디렉토리가 있
다.
$ cd /backup/Disk1/patch/bug1542738
$ sh README.1542738
기억하기로는 이 패치를 하지 않고 곧바로 dbassist를 실행하면 ldap 어쩌고
저쩌고 하며 에러 메시지를 여러줄 뿌릴것이다.
다음에는 bug1538440 디렉토리로 가서 실행한다.
$ cd /backup/Disk1/patch/bug1538440
$ export TOP_PATCH_DIR=/backup/Disk1/patch/bug1538440
$ sh README.1538440
이렇게 패치를 하면 뭔가 패치를 한다.이 패치는 리스너 설정에 관련된 권한
설정 오류를 고치는 것으로 파악하고 있다.
이제 database를 생성하자.
$ dbassist
데이타베이스 생성 방법은 Custom을 선택한다.
이제 거의 모든 설정은 디폴트 값을 사용한다.
단 Character Set은 아래와 같이 한다.
Oracle Database Configuration Assistant 화면
Global Database Name: oracle
SID : oracle
Change Character Set.. 버튼 클릭
Character Set 화면
Character Set : KO16KSC5601 로 변경
마지막으로 database를 지금 생성 아니면 스크립트로 저장하겠느냐는 질문에
선 지금 스크립트로 저장을 선택하라.
만약 바로 생성하겠다는 것을 선택하면 ORA 00102 의 에러 메시지 창을 만날
것이다.
Oracle Database Configuration Assistant 화면
Save information to a shell script
Popup 화면
Enter file name: dbcreate.sh (스크립트 이름을 dbcreate.sh 로 한다.)
이제 dbcreate.sh이라는 데이타베이스 생성 스크립트를 만들었다.
이것은 $ORACLE_HOME/assistant/dbca/ 아래에 있다.
이것을 실행하기 전에 중요한 한가지를 수행해야 한다.
-------------------------------------------------------------
8. initSID.ora 파일의 mts_dispatchers 부분 주석처리
-------------------------------------------------------------
$vi $ORACLE_HOME/dbs/initoracle.ora
를 실행해서 mts_dispatchers로 시작하는 설정을 주석으로 처리한다.
주석처리 되지 않느곳은 두곳이다. 하단에 위치.
주석처리 하지 않으면 DB생성할 때 ora 00102 에러 발생하여 db생성
불가.
-------------------------------------------------------------
9. shell script를 실행하여 database 생성
-------------------------------------------------------------
자 이제 database 생성 스크립트를 실행하자.생성하는데 걸리는 시간은 세시
간 정도 걸린다.
$ cd /oracle/app/oracle/product/8.1.7/assistants/dbca
$ ./dbcreate.sh
-------------------------------------------------------------
10. adapters oracle이라는 명령으로 SID에 링크된 프로토콜 확인
-------------------------------------------------------------
이제 Listener 구성을 하자.
그전에 마지막으로 adapters oracle이라는 명령으로 설치된 프로토콜을 확인
해본다.
$ cd /oracle/app/oracle/product/8.1.7/bin
$ ./adapters oracle
여기서 좀전에 adapters명령으로 보았던 프로토콜들을 다 볼수 없다.
-------------------------------------------------------------
11. relink all 이라는 명령으로 파일연결 재구성
-------------------------------------------------------------
TCP/IP가 빠져 있을 것이다. runInstaller의 버그때문에 TCP/IP 프로토콜을
재설치 해주었는데 oracle(실행파일)과 TCP/IP 링크가 제대로 되지 않아서일
것이다. 따라서 relink all 이라는 명령으로 다시 링크를 검사해서 고쳐주면
된다
$ relink all
위를 실행하고 나서 다시 아래와 같이 하면 TCP/IP 가 oracle 항목에 나타나
있을 것이다.
$ cd $ORACLE_HOME/bin
$ ./adapters oracle
-------------------------------------------------------------
12. svrmgrl 을 실행해서 startup 및 shutdown 테스트
-------------------------------------------------------------
$ svrmgrl
SVRMGRL> connect internal;
SVRMGRL> startup;
SVRMGRL> shutdown;
SVRMGRL> exit
-------------------------------------------------------------
13. 리스너 구성 및 구동
-------------------------------------------------------------
$ netca
만약 창이 제대로 뜨지 않으면 한텀을 종료하고 새롭게 띄운다.
그전에 netca를 확실하게 종료시키자. 아래와 같이.
$ killall -9 netca
$ killall -9 jre
다시 한텀을 띄우고 netca를 하면 화면이 나타날것이다.
리스너명: LISTENER
프로토콜: TCP
포트: 1521 (기본)
로컬 네트 서비스 이름 구성
서비스 이름: test
프로토콜: TCP
호스트 이름: 210.111.111.1 (자기 환경에 맞도록 수정)
TCP/IP 포트: 1521
네트 서비스 이름: oracle
위의 과정을 거치게 되면 listener.ora 및 tnsnames.ora가 생성되는데
파일들의 위치는 $ORACLE_HOME/network/admin에 있다. sample 디레토리 내용
을 참조하라.
아래는 그것을 사용하여 구성했을 때 생성한 파일 내용이다.
이 과정은 vi로 편집하여도 된다.
=============================================================
# LISTENER.ORA Network Configuration File: /oracle/app/oracle/product/8.1.7/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 210.111.111.1)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oracle)
(ORACLE_HOME = /oracle/app/oracle/product/8.1.7)
(SID_NAME = oracle)
)
)
=============================================================
=============================================================
# TNSNAMES.ORA Network Configuration File: /oracle/app/oracle/product/8.1.7/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE.MINIGATE.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 210.111.111.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)
=============================================================
listener 구동
Listener가 재대로 동작하는지 확인한다.
lsnrctl start (리스너 스타트)
------------------------------------------------------------------------
LSNRCTL for Linux: Version 8.1.7.0.0 - Production on 25-MAR-2001
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /oracle/app/oracle/product/8.1.7/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 8.1.7.0.0 - Production
System parameter file is /oracle/app/oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /oracle/app/oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle.minigate.com)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.minigate.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 8.1.7.0.0 - Production
Start Date 25-MAR-2001
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /oracle/app/oracle/product/8.1.7/network/admin/listener.ora
Listener Log File /oracle/app/oracle/product/8.1.7/network/log/listener.log
Services Summary...
oracle has 1 service handler(s)
The command completed successfully
------------------------------------------------------------------------
lsnrctl status (리스너 상태 확인)
lsnrctl stop (리스너 종료)
lsnrctl services
------------------------------------------------------------------------
LSNRCTL for Linux: Version 8.1.7.0.0 - Production on 25-MAR-2001
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.minigate.com)(PORT=1521)))
Services Summary...
oracle has 1 service handler(s)
DEDICATED SERVER established:0 refused:0
LOCAL SERVER
The command completed successfully
------------------------------------------------------------------------
-------------------------------------------------------------
14. svrmgrl에서 사용자 추가 및 권한 설정
-------------------------------------------------------------
다음으로 실제로 리스너가 리모트에서도 동작하는지 테스트해본다.
사용자를 추가하고 connect권한을 준다.
$ svrmgrl
SVRMGRL> connect internal;
SVRMGRL> starup;
SVRMGRL> create user USERID identified by PASSWORD;
SVRMGRL> grant connect,resource to USERID;
SVRMGRL> exit
-------------------------------------------------------------
15. sqlplus USERID/PASSWORD 로 접속
-------------------------------------------------------------
16. glibc 되돌리기..
-------------------------------------------------------------
#cd /usr/bin
#rm -f gcc cc ld
#cd /usr/bin/backup
#mv * ..
#cd ..
#rm -rf backup
#cd /usr/lib/backup
#mv * ..
#cd ..
#rm -rf backup
-------------------------------------------------------------
출처 : 데이터베이스 사랑넷
'소프트웨어개발 > 운영체제' 카테고리의 다른 글
| 리눅스 서비스 등록 및 부팅시 실행 (0) | 2005/04/12 |
|---|---|
| [WINDOWS][스트레스_STRESS]스트레스 테스트 (0) | 2005/02/19 |
| [WINDOWS]서비스 명령어 (0) | 2005/02/17 |
| Apache 1.3.28 + Tomcat 4.1.26 + J2SDK 1.4.2 on LINUX (0) | 2004/07/29 |
| apache 1.3.X php 4.X tomcat 4.1.X 버전 연동 DSO 방식 (0) | 2004/07/29 |
| 리눅스 7.3 & 오라클(817) 설치 (0) | 2004/07/14 |