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 108742
211 AIX 시스템상의 core수 확인하기 ischo 2013.01.10 102124
210 AIX에서 하드웨어구성상태 확인방법 조인상 2010.05.11 81497
209 lsof 설치 없이 해당 포트를 열고 있는 프로세스 확인하는 법 ischo 2012.10.17 58237
208 AIX ssh 설치하기 조인상 2010.05.11 51021
207 AIX 6.1에 Apache 설치하기 ischo 2013.02.01 48735
206 AIX에서 시스템의 hostname 변경하기 ischo 2013.04.30 45246
205 AIX에서의 mirrorvg. 디스크 미러링 조인상 2011.07.06 44459
204 AIX에서 TCP wrapper 사용하기 조인상 2010.05.11 44318
203 IBM AIX Version 6.1 Differences Guide file 조인상 2012.07.26 44157
202 AIX 튜닝포인트 - CPU,MEM,VG + FAQ [1] ischo 2012.11.20 41700
201 AIX 환경에서 usb드라이브 사용하기 조인상 2011.09.01 41075
200 AIX 에서의 Comp , Noncomp 의 메모리 사용확인및 튜닝 조인상 2011.01.03 40835
199 시스템 성능의 병목원인 분석 조회 조인상 2010.05.11 40817
198 AIX 환경에서 NFS port번호 range 지정방법 조인상 2010.06.04 37787
197 errpt 4C41C0D0 : JFS2 LOG RECORDS FORCED OVERWRITTEN 조인상 2010.05.11 36400
196 AIX에서 process 당 thead 개수 (maximum number of thread per process) ischo 2013.02.06 35387
195 p시리즈 펌웨어 업데이트 방법 조인상 2012.07.20 35044
194 IBM AIX Version 7.1 Differences Guide file 조인상 2012.07.26 34718
193 etherchannel (teaming : 티밍) 구성방법 [1] file 조인상 2010.05.11 34388
192 AIX 시스템 퍼포먼스를 그래프로 확인 nmon + nmon analyser file 조인상 2010.05.11 33974
서버에 요청 중입니다. 잠시만 기다려 주십시오...