안녕하세요? 선후배 님들 로군 입니다. 최근 2주간 WAS 도 설치 해보았고, Server O/S 도 선정했습니다.
간략하게 요약 하면,
Server O/S :: SULinux( 국산, 최적화 리눅스, 공개 배포, 빠른 설치 및 안정성이 강점 )
WAS :: TOMCAT[jdbc 연동법],RESIN,JEUS ( 가장 필요에 맞는 WAS 의 선택이 포인트 )
+ webTOb
이제 남은 건 DB!! Mysql 은 SULinux에서 자체 Easy Installer 를 제공 하니까 Oracle을 설치 해봐야겠네요.
그럼 마지막으로 올리는 내용 입니다. 도움 되시기 바랍니다.
시작 합니다. =]
SULinux 2.0 GUI 32bit 버전을 기준으로 설명합니다.
이렇게 설치를 완료 하였습니다. 그동안 Server / WAS / Database 를 하는 동안 관심 가져주시고, 읽어 주신 선후배 님들께 감사의 말을 전하고, 늘 좋은 하루 건강한 하루 되시기 바랍니다. 이상 로군 이였습니다. drwon@linux.co.kr
I. 설치 환경 설정
II. 오라클 설치
III. 설치 오류 수정 및 설치 완료
I. 설치 환경 설정 (root로 로그인하여 작업)
여기서는 jre 1.3.1_20 rpm 버전을 설치할 것 입니다.
1.3 관련 라이브러리 패키지들 설치
(1) 아래 rpm 명령어를 실행하여 설치되지 않은 패키지들은 설치합니다.
# rpm -q compat-db compat-gcc-34 compat-gcc-34-c++ compat-libgcc-296 compat-libstdc++-296
compat-db-4.2.52-5.1
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
compat-libgcc-296-2.96-138
compat-libstdc++-296-2.96-138
# rpm -q compat-libstdc++-33 gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libgcc make libXp
compat-libstdc++-33-3.2.3-61
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libgcc-4.1.1-52
make-3.81-1.1
libXp-1.0.0-8
(2) 오라클 사이트에서 제공하는 아래 2개의 패키지들을 받아서 설치합니다.
http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-libcwait-2.1-1.i386.rpm
http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-oracle-rhel4-1.0-5.i386.rpm
# rpm -ivh compat-libcwait-2.1-1.i386.rpm
# rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm –nodeps
1.4 라이브러리 링크
# cd /usr/lib
# ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2
# cd /usr/bin
# ln -s gcc34 gcc32
# cd /usr/lib
# ln -s libgdbm.so.2.0.0 libdb.so.2
1.5 사용자와 그룹 추가 및 오라클 홈디렉토리 생성
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# cd /opt
# mkdir -p oracle/9.2.0.4
# chown -R oracle.oinstall oracle
1.6 환경변수 설정
# vi /home/oracle/.bash_profile
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/9.2.0.4
ORACLE_SID=ORCL
LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_OEM_JAVARUNTIME=/usr/java/jre1.3.1_20
PATH=$PATH:$ORACLE_HOME/bin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH ORACLE_OEM_JAVARUNTIME
1.7 시스템 파라미터 설정
(1) 커널 파라미터 설정 및 적용
# vi /etc/sysctl.conf
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.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
# sysctl –p
(2)
/etc/security/limits.conf 파일에 다음 항목을 추가한다.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536II. 오라클 설치 (oracle 사용자로 로그인하여 진행)
: 다운로드한 오라클 파일을 압축해제 합니다. 여기에서는 오라클 사용자의 홈에서 data 디렉토리(/home/oracle/data)를 만들어 작업할 것입니다.
$ gunzip ship_9204_linux_disk1.cpio.gz
$ gunzip ship_9204_linux_disk2.cpio.gz
$ gunzip ship_9204_linux_disk3.cpio.gz
$ cpio -idmv < ship_9204_linux_disk1.cpio
$ cpio -idmv < ship_9204_linux_disk2.cpio
$ cpio -idmv < ship_9204_linux_disk3.cpio
다음과 같이 3개의 디렉토리가 생성됩니다.
$ ls
Disk1 Disk2 Disk3
2.2 오라클 파라미터 파일 수정
$ vi /home/oracle/data/Disk1/install/linux/oraparm.ini
JRE_LOCATION=/usr/java/jre1.3.1_20
2.3 installer 실행
$ cd /home/oracle/data/Disk1
$ ./runinstaller
- Inventory 위치 지정 : /opt/oracle/oraInventory
- 사용자 group 지정 : oinstall
- /tmp/orainstRoot.sh 실행
$ su -
# /tmp/orainstRoot.sh
- 파일 위치 지정
- 설치할 제품 선택
- 설치 유형 선택
- 설치 용도 선택
- 데이터베이스 이름 입력
- 데이터 파일 위치 입력
- 언어 설정
- 선택 내용 요약
- 파일 설치
파일 설치는 성공적으로 완료되었다. 설치의 2번째 단계에서 오류가 발생하는데 경고창에서 '무시(ignore)'를 클릭하여 일단 끝까지 진행한다.
진행이 끝나면 root 사용자로 /opt/oracle/9.2.0.4/root.sh를 실행하라는 메시지가 나오고 이를 실행한다.
# /opt/oracle/9.2.0.4/root.sh
Running Oracle9 root.sh script...
nThe following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/oracle/9.2.0.4
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
nCreating /etc/oratab file...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
III. 설치 오류 수정 및 설치 완료
'Oracle Net Configuration Assistant(NETCA)'와 'Oracle Database Configuration Assistant(DBCA)' 그리고 'HTTP Server' 오류 해결은 인스톨러 창을 종료하지 않고 띄워놓은 상태에서 수정한 후 'Retry' 버튼을 눌러 진행하고 마지막으로 'Agent Configuration Assistant' 오류 수정은 창을 종료하고 진행한다.
3.1 Oracle Net Configuration Assistant(NETCA)와 Oracle Database Configuration Assistant(DBCA) 오류 해결
$cd $ORACLE_HOME
$rm JRE
$ln -s $ORACLE_BASE/jre/1.3.1 JRE
$cd JRE/bin
$ln -s java jre
$cd i386/native_threads/
$ln -s java jre
위의 그림 Oracle Universal Installer에서
Oracle Net Configuration Assistant 선택 > 'Retry' 버튼을 누르면 성공한다.
Oracle Database Configuration Assistant 선택 > 'Retry'
(1) DBCA 창이 나타나며 '데이터베이스 파일 설치', '데이터베이스 초기화', '인스턴스 생성 및 시작' 등의 작업을 진행한다.
(2) sys, system 계정 암호 및 기타 계정 설정 화면이 나타나는데 암호를 복잡하게 입력하여야 한다.
3.2 HTTP server 시작 오류 해결
아래 처럼 라이브러리의 링크를 걸어주고 'Retry' 한다.
$ cd $ORACLE_HOME/lib
$ ln -s libclntsh.so.9.0 libclntsh.so
Starting HTTP Server 선택 > 'Retry' 버튼을 누르면 성공한다.
3.3. Agent configuration assistant 오류 해결
(1) 이 오류를 해결하기 위해서는 인스톨러와 오라클 인스턴스를 꼭 종료하고 패치를 해야한다. 인스턴스를 종료하려면 oracle 계정으로 아래와 같이 한다.
$ sqlplus /nolog
sql> connect / as sysdba
connected.
sql> shutdown
(2) patch라는 디렉토리를 만들고 그 아래에 첨부한 두개의 패치파일을 받아 압축을 풀고 패치를 진행한다.
$ pwd
/home/oracle/patch
$ unzip p2617419_220_GENERIC.zip
$ unzip p3238244_9204_LINUX.zip
$ ls
3238244 OPatch README.txt p2617419_220_GENERIC.zip p3238244_9204_LINUX.zip
$ cd 3238244
$ export PATH=$PATH:/home/oracle/patch/OPatch
opatch가 /sbin/fuser를 필요로 하므로 같이 /sbin 디렉토리도 동시에 환경변수 경로에 설정한다.
$ export PATH=$PATH:/sbin
$ which opatch
~/patch/OPatch/opatch
$ opatch apply
PERL5LIB=/opt/oracle/9.2.0.4/Apache/perl/lib/5.00503:/home/oracle/patch/OPatch/perl_modules; export PERL5LIB
/opt/oracle/9.2.0.4/Apache/perl/bin/perl /home/oracle/patch/OPatch/opatch.pl apply
OPatch Version 1.0.0.0.48
Perl Version 5.00503
Oracle Home = /opt/oracle/9.2.0.4
Location of Oracle Inventory = /opt/oracle/oraInventory
Oracle Universal Installer shared library = /opt/oracle/oui/bin/linux/liboraInstaller.so
Path to Java = /opt/oracle/jre/1.3.1/bin/java
Location of Oracle Inventory Pointer = /etc/oraInst.loc
Location of Oracle Universal Installer components = /opt/oracle/oui
Required Jar File under Oracle Universal Installer = jlib/OraInstaller.jar
Please shut down Oracle instances running out of this ORACLE_HOME
(Oracle Home = /opt/oracle/9.2.0.4)
Is this system ready for updating?
Please respond Y|N >
Y
Patching...
Updating inventory...
/home/oracle/patch/OPatch/opatch.pl version: 1.0.0.0.48
Copyright (c) 2001,2002,2003 Oracle Corporation. All Rights Reserved.
OPatch succeeded.
참고)
만약 /etc/oraInst.loc 파일이 없어서 패치가 진행되지 않으면 아래 파일 내용대로 만들어 준다.
$ cat /etc/oraInst.loc
inventory_loc=/opt/oracle/oraInventory
inst_group=oinstall
(3) oracle 계정으로 아래와 같이 실행한다.
$ find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp
/opt/oracle/product/9.2.0.4/network/lib/ins_oemagent.mk
/opt/oracle/product/9.2.0.4/network/lib/env_oemagent.mk
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
참고)
make 권한 오류가 발생하면 root 계정으로 make에 실행 권한을 준다
$ su -
# chmod +x /usr/bin/make
(4) 마지막으로 agentctl을 실행한다.
$ agentctl start
DBSNMP for Linux: Version 9.2.0.4.0 - Production on 19-JUN-2009 14:41:15
Copyright (c) 2003 Oracle Corporation. All rights reserved.
Starting Oracle Intelligent Agent....
Agent started
(5) "Agent started"가 정상적으로 나타나면 설치가 끝난 것이다.
make명령의 권한 설정을 이전과 같이 돌려놓는다.
$ su -
# chmod 100 /usr/bin/make
(6) 데이터베이스에 접속하여 확인해 본다.
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jun 19 14:42:38 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> conn scott/tiger
Connected.
SQL> desc emp
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL>
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
19 | 공개 CFD 프로그램 OpenFOAM 사용기 (2) file | 박세완 | 1757 | 2011-07-26 |
18 | 웹 어플리케이션의 보안은 내게 맡겨라 - ModSecurity | d데미안b | 1533 | 2011-07-25 |
17 | 국내 OSS의 희망이 보인다. KimsQ rb를 이용한 홈페이지 제작기 1 file | deki | 1421 | 2011-07-21 |
16 | 오픈소스를 활용한 자동 백업 시스템 구축 file | niceboy | 2157 | 2011-07-20 |
15 | Zentyal : Linux Small Bussiness Server 1 | 다르얀 | 1919 | 2011-05-13 |
14 | 리눅스에서도 인터넷 뱅킹이 되지요 file | 세틀레이트 | 1695 | 2011-05-13 |
13 | 오피스 프로그램이 무료? 1 file | YD | 1417 | 2011-05-13 |
12 | [Oracle 9i 설치기 ] 공개 WAS/Server를 지나 Database 마지막 시간.! 3 | 로군 | 1578 | 2011-05-13 |
11 | [knockd] Port Knocking 방식을 이용한 보안 강화 file | 태권브이 | 2687 | 2011-05-13 |
10 | 공개SW 100% 데스크톱 사용하기 7 file | jincreator | 4375 | 2011-05-13 |
0개 댓글