APM_oracle연동하기

2010.05.11 11:08

조인상 조회 수:5983

원문 : 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 109999
71 서버 TCP/IP 네트워크 성능테스트에 사용할 수 있는 명령어 조인상 2010.05.11 14362
70 default gateway odm에서 정보 삭제하는 방법 조인상 2010.05.11 14514
69 여러가지 명령어 모음 조인상 2010.05.11 16796
68 os 패치에 관하여.. 조인상 2010.05.11 15693
67 언어팩 추가 설치에 대해서... 조인상 2010.05.11 16311
66 OP 판넬의 주황색 경고등 끄기 조인상 2010.05.11 32541
65 기존 파일시스템을 다른 VG로 옮기기 조인상 2010.05.11 16928
64 solaris나 hpux 에서는 tcp 세션 clear(접속을 끊는) 시키는 명령어가 있는데 AIX는 없나요? 조인상 2010.05.11 24642
63 패스워드 변경된 시간이나 타임을 로그로 쌓아주는거 없나요? 조인상 2010.05.11 14791
62 Compiling Apache or gcc/g++ for AIX 조인상 2010.05.11 13286
61 p5 F/W level 확인 방법 조인상 2010.05.11 13120
60 Installation and Initial Configuration of the CDE 조인상 2010.05.11 20751
59 FastT600 어레이 구성방법 메뉴얼 file 조인상 2010.05.11 14120
58 p5 서버 System Attention Indicator LED 끄기 조인상 2010.05.11 19434
57 P5 전면 Display 패널에 관하여 [1] file 조인상 2010.05.11 20677
» APM_oracle연동하기 조인상 2010.05.11 5983
55 4mm tape 이용한 tsm 구성하는 방법 조인상 2010.05.11 22443
54 Remote Tape Drive Backup 조인상 2010.05.11 14267
53 cde 로그인 문제시 조인상 2010.05.11 14665
52 telnet 관련사항.... 조인상 2010.05.11 19992
서버에 요청 중입니다. 잠시만 기다려 주십시오...