APM_oracle연동하기

2010.05.11 11:08

조인상 조회 수:5904

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

다음버젼을 설치한 예시다.
OS : AIX 5.2 64bit
Apache-1.3.33
Php-4.3.8
Mysql-4.0.24
Oracle-9.2.0.1
- 동적 모듈로 설치한다.
- 모든 컴파일은 gnu.gcc 로 하였다.

Step 0 : Install 준비
Gnu package 들을 설치한다.
- libtool, gcc, make, zlib 등등 컴파일 하면서 필요하면 그때 그때 설치해서 정확한 버젼 및 package명은 생각나지 않는다.
- 필요하다고 생각되는 gnu package는 모두 설치하기 바라며 aix 호환되는 최신 버전을 권장한다.
- 경험상 컴파일 문제의 대부분은 make와 gcc 최신 버전으로 해결된다. 참고.
- AIX 5.2 ML 최신으로 업데이트 -> 오라클 설치시 error를 방지할수 있다.

Step 1 : Install MySQL
www.mysql.org 에서 바이너리 다운받아서 그냥 압축 풀었다.
- 이유 : 컴파일 안되서 (귀차니즘) ㅜㅜ;
- 만일 소스컴파일이면 source compile 시 옵션은 다음과같다.
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euc_kr
- mysql test
# /usr/local/mysql/bin/safe_mysqld&
# /usr/local/mysql/bin/mysql –u root mysql
> exit
# kill mysql_pid

Step 2 : Install Apache
- apache 2.0 대 버전을 설치하려고 하였으나 db4/d b.h등등 configure하는데 너무 많은 시간이 걸려서 apache는 1.x 대 버전을 사용하기로 하였다. 차후 2.x대 버전으로 해봐야 한다.

#./configure --prefix=/usr/local/apache --enable-module=so 
#make
#make install
-인스톨시 별 무리 없이 진행됬다.

- apachectl test
#/usr/local/apache/bin/apachectl start
#/usr/local/apache/bin/apachectl stop

Step 3 : Install Oracle
- oracle 유저 및 root유저도 환경설정을 같게 해주었다. Apache 등의 설정에 적용되도록하기 위하여
.profile
web_server:/>cat .profile
PS1=`hostname`:'$PWD>'
TERM=vt100
export PS1 TERM
LANG=C
set -o vi
PATH=/usr/local/bin:/usr/local/mysql/bin:/usr/local/lib:$PATH
export PATH
CC=gcc
#The following line is added by License Use Management installation
export PATH=$PATH:/usr/opt/ifor/ls/os/aix/bin
umask 022
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export ORACLE_SID=ora9
export PATH=$PATH:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/local/bin:$ORACLE_HOME/bin:/usr/bin/X11:/sbin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib:/usr/lib:usr/local/lib
export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LIBPATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jre/1.1.8/lib:/usr/jdk_base:/usr/jdk_base/lib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib

- oracle install 도중 ins_sqlplus.mk에서 에러를 만나서 진행이 안되었다.
해결 : otn site에서 aix base 말고 aix5l 용 서버를 다운받아서 install에 성공하였다.

- oracle client만을 인스톨 했을경우 php 컴파일시 error 발생
해결 : 클라이언트로 사용하더라도 서버all설치하는게 바람직하며, 실제 oracle서버가 install된 곳에서 rdbms/ 파일들을 copy해 와도 된다.

- java 관련 display error가 날경우 다음을 설정한다
#xhost +
#export DISPLAY=hostname:0.0

- oracle Test
$ sqlplus sco/tig@ora92
- tnsmames.ora 는 설정되어 있는것으로 한다.설정에 대한 상세사항은 다른 문서를 참조하기 바란다.


Step 4 : Install PHP
# ./configure \
--prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mod-charset \
--with-language=korean \
--with-charset=euc_kr \
--disable-debug \
--enable-track-vars=yes \
--with-oci8=/usr/local/oracle --with-oracle=/usr/local/oracle

#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini
#cp php.ini-dist /usr/local/apache/bin/php.ini

- 컴파일 도중 –-with-zlib-dir 관련 error 를 만난다면 –-with-mysql을 수정해도 연동에는 이상이 없다.
# ./configure \
--prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql \
--with-mod-charset \
--with-language=korean \
--with-charset=euc_kr \
--disable-debug \
--enable-track-vars=yes \
--with-oci8=/usr/local/oracle --with-oracle=/usr/local/oracle

- 컴파일중 oci8 관련 error를 만난다면 다음과 같이 수정한다.
  다운받은 php소스 파일을 적당한 위치에 풀고 'configure'파일을 열어봅니다.
  파일 내용을 보면 'OCI8_DIR/lib' , 'ORACLE_DIR/lib' 이런 두 개의 구문이 자주나오는데
  이부분을 모두 'OCI8_DIR/lib32', 'ORACLE_DIR/lib32' 로 바꿔 줍니다.
:1,$s/OCI8_DIR\/lib/OCI8_DIR\/lib32/g
:1,$s/ORACLE_DIR\/lib/ORACLE_DIR\/lib32/g

Step 5 : Install 마무리하기
1. Apache
#vi /usr/local/apache/conf/httpd.conf
// php파일을 웹서버에서 인식하기 위해 아래두줄 추가
AddType application/x-httpd-php .php .phtml .php3  // php파일로 해석할 확장명설정
AddType application/x-httpd-php-source .phps  // php 소스로 해석할 확장명설정
// 처음페이지로 인식할 파일명설정
DireactoryIndex index.html index.php

- oracle 연동은 되었으나 php함수 OCILogon()에서 error발생하는경우 apachectl 내부에 oracle유저와 같은 환경변수를 셋팅한다.

2. Test
-oracle은 다른 server 에서 시작되어있고
-mysql 시작하고
-apache 시작하고
-htdocs및에 test.php, test2.php, test3.php 를 만들고 웹에서 잘 열리는지 보면 된다.

Test.php
<?
phpinfo();
?>

test2.php
<?
echo "mysql link test code <p>";
$link = mysql_connect("localhost", "root", "")
    or die("Could not connect");
print "Connected successfully";
?>

test3.php
<?
echo "Oracle link test code <p>";
$conn=OCILogon("tcsw","tcsw1234","oraits")or die("연결실패");
echo gettype($conn).":".get_resource_type($conn)."<p>";
echo OCIServerVersion($conn);
?>



끝 – 수고하셨습니다.

 본문서는 이번 인스톨작업 하면서 일어낫던 문제들만을 다루었으며, 버젼 및 OS환경에 따라 새로운 문제가 나타날수 있다.
 문서중 원저작자의 글을 그대로 카피한 부분이있으나 인터넷에서 바로 보고 창을 닫아버려서 표시 하지 못하였다. 죄송.
 참고 문서는 일일이 열거 하기 난해하여 웹싸이트로 대신한다.
- www.phpschool
- database.sarang.net
- eibm.co.kr
- ibm.com/kr
- mysql, apache, php, oracle.com
- aixpdslib.seas.ucla.edu
** 기타 불법인용이나 문의 : pyj@eibm.co.kr
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 108550
191 xSeries 제원 2012_03 ~ 2012-06 [1] 조인상 2012.06.18 25120
190 AIX useful commands [4] file 조인상 2012.04.26 26877
189 POWER7 Strategy and Technology 조인상 2012.04.26 12861
188 AIX Tuning for IBM HTTP Server and WebSphere Application Server file 조인상 2012.04.26 15783
187 IBM Power System - Cod(Capacity On Demand) file 조인상 2012.04.26 12876
186 IBM System x BP Guidebook v20e secret 조인상 2012.04.26 0
185 DIY for AIX HACMP secret 조인상 2012.03.16 0
184 PowerHA SystemMirror 7.1 Update 조인상 2012.02.25 15090
183 IBM Integrated Virtualization Manager White Book (IVM 백서) file 조인상 2012.01.03 20121
182 AIX Essentials - Asynchronous I/O 조인상 2011.12.02 13591
181 AIX 6.1 최적화와 성능 튜닝 (한글) 조인상 2011.12.01 16947
180 AIX 튜닝 포인트 secret 조인상 2011.12.01 0
179 GPFS ver.3 Manual [1] 조인상 2011.12.01 20497
178 AIX 환경에서 usb드라이브 사용하기 조인상 2011.09.01 41049
177 DAT Tape 사양 로드맵 file 조인상 2011.08.08 17589
176 AIX 에서 Hot-Plug 방식으로 카드 추가하기 file 조인상 2011.08.01 19417
175 각종 많이 쓰이는 어플리케이션 서비스 관련 포트번호 조인상 2011.07.21 24245
174 AIX에서의 mirrorvg. 디스크 미러링 조인상 2011.07.06 44445
173 미러된 rootvg를 alt_disk_install 로 복제하기 [1] 조인상 2011.06.29 24307
172 IBM p시리즈 2010년 라인업 file 조인상 2011.06.23 16709
서버에 요청 중입니다. 잠시만 기다려 주십시오...