윈도우에서 Apache+Tomcat 운영을 위한 서비스 설정.
SSL설정은 다루지 않음.

!! 전체 연동 그림



!! Apache 설정
Apache에서는 필요한 모듈을 로드하고 Rewrite룰을 적용하여 톰켓과의 연동설정을 한다.

! httpd.conf 설정
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

# mod_rewirte 를 이용해서 톰켓으로 처리할 리소스 룰 정의
RewriteEngine on

# Rewrite Log 설정 운영시 반드시 제거.
#RewriteLog logs/mod_proxy_ajp.txt
#RewriteLogLevel 9

# test라는 컨텍스트 패스로의 요청중 xhtml,json,xml,jsp,html요청에 대한 처리는 Tomcat으로 ajp프로토콜을 사용하여 넘기기위한 룰설정 예
RewriteCond %{REQUEST_FILENAME} \/test\/.*\.(xhtml|json|xml|jsp|html)
RewriteRule (.*) ajp://localhost:8009$1 [P]

!! Tomcat 설정
Tomcat에서는 apr(apache portable runtime) native connector를 활성화 하여 아파치로 부터 들어오는 요청을 받아(8009 포트) 내부 서비스로 요청(8080 포트)을 처리함.

! tcnative-1.dll 확인 
tcnative-1.dll은 apache tomcat native 윈도우용 라이브러리로 apr libarary, openssl등 을 포함한다.
Tomcat bin디렉토리에 tcnative-1.dll이 있어야 함

! server.xml 설정
<Executor name="tomcatThreadPool" namePrefix="tomcat-http--" maxThreads="300" minSpareThreads="50"/>

<Connector
           executor="tomcatThreadPool"
           port="8080"
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           connectionTimeout="20000"
           redirectPort="8443"
           acceptCount="100"
           maxKeepAliveRequests="15"
           URIEncoding="UTF-8"/>
           
<Connector port="8009" protocol="AJP/1.3" URIEncoding="UTF-8" redirectPort="8080" />


!! 참고 URL
http://static.springsource.com/projects/tc-server/6.0/admin/radmserverprod.html
http://tomcat.apache.org/tomcat-6.0-doc/apr.html

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 귤 tomasblue
프로젝트를 하다보니 오라클 11g에서 10g로 데이터를 옮길일이 생겼다.
평소 하던데로 dump(exp)를 받아 처리하니 메타데이터를 인식하지 못한다.
어떻게 처리하나 검색해 보니 데이터 펌프라는 도구로 오라클 객체를 버전을 지정하여 export하여 처리하는 방법이 있다.
올타쿠나 좀더 데이터 펌프에 대해 알아보니 여러가지 장점이 있는 도구다.
* 10g 부터 지원.
* 상위버전에서 하위 버전으로의 데이터 이전 가능.
* 상이한 테이블 스페이스를 갖는 경우에도 이전 가능.
* 그외 다양한 제약조건을 갖는 환경에서 유연하게 데이터를 옮길수 있음.

여기서는 ida라는 사용자의 데이터 객체를 idb라는 사용자의 데이터로 이전하는 방법에 대한 설명을 합니다.
 
1. Export
우선  expdp help=y 로 메뉴얼을 읽어보자. 여러가지 옵션을 제공하는데 필요한 옵션을 상황에 따라 지정하여 사용한다. 

1.1 오라클 디렉토리 생성 ( 작업할 오라클 디렉토리가 이미 존재한다면 패스)
데이터 펌프로 export/import하려면 필요한 작업 디렉토리를 생성해야 한다.
sqlplus 접속하여 ( sysdba권한 사용자로 접속 )

create directory expdp_dir as '작업디렉토리 절대경로';
grant read,write on directory expdp_dir to 권한부여할 계정;

여기서는 expdp_dir이라는 오라클 디렉토리를 사용합니다.

1.2 데이터 export (11g -> 10g)
대상은 ida 사용자의 전체 객체 export입니다.
 command 창에서

expdp ida/idapwd DIRECTORY=expdp_dir dumpfile=xxx.dmp Logfile=xxx.log VERSION=10.2

ida/idapwd는 데이터 덤프를 받을 계정(id/pwd)을 의미합니다.
DIRECTORY는 1.1에서 생성한 오라클 디렉토리입니다.
dumpfile은 export받을 파일명을 지정합니다.
Logfile은 작업로그파일명을 지정합니다.
VERSION은 export받을 오라클 버전(객체를 대상 버전에 맞게 변환하여 제공합니다.)을 지정합니다.

2. Import
 우선 impdp help=y로 메뉴얼을 읽어보자.
 
2.1 오라클 디렉토리 생성 ( export받은 것과 같은 머신이나 작업할 오라클 디렉토리가 이미 존재한다면 패스)
절차는 1.1과 동일함.
여기서는 impdp_dir이라는 오라클 디렉토리 생성했다는 가정하에 설명합니다.

2.2 데이터 import

command 창에서

impdp idb/idbpwd DIRECTORY=impdp_dir dumpfile=xxx.dmp REMAP_SCHEMA=ida:idb REMAP_TABLESPACE=ida_tbs:idb_tbs

 idb/idbpwd는 데이터 임포트 받을 계정(id/pwd)를 의미합니다.
DIRECTORY는 2.1에서 생성한 오라클 디렉토리입니다.
dumpfile은 1.2에서 받은 dump파일입니다.
REMAP_SCHEMA는 사용자의 스키마가 상이한 경우에 지정합니다. 여기서는 ida라는 스키마에서 idb라는 스키마로 매핑함.
REMAP_TABLESPACE는 사용자의 테이블 스페이스가 상이한 경우에 지정합니다. 여기서는 ida_tbs에서 idb_tbs로 매핑합.

* 참고로 expdp 나 impdp 실행시 ORA-39213:Metadata processing is not available 오류가 발생하면
sysdba로 sqlplus 접속하여 아래의 명렁을 수행 후 다시 시도하세요.
execute dbms_metadata_util.load_stylesheets
 
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 귤 tomasblue
개발하다보면 서비스 통신포트를 추가해야할 일들이 가끔 생신다.
이때 추가해야 할 포트가 사용중인지 어떤 프로그램에서 대상 포트를 사용하고 있는지 확인해야 할 경우 아래와 같이 확인 할수 있다.

사용중인 포트번호는 netstat -ano | find "프토번호" 로 포트정보를 확인 할수 있음.
예>
netstat -ano | find "135"
프로토콜   로컬주소                    외부주소              상태                PID
TCP         0.0.0.0:135                  0.0.0.0:0              LISTENING       724
TCP          [::]:135                    [::]:0                   LISTENING       724

그럼 PID xxx번은 어떤 프로그램이지? tasklist | find "프로세스아이디"로 확인한다.
예>
 tasklist | find "724"
이미지 이름                     PID    세션이름                세션#  메모리 사용
svchost.exe                    724   Services                   0      6,668 K

프로그램의 상세 정보는 taskmgr를 실행시켜 서비스에서 이미지 이름을 검색 해 설명을 참고한다.



 
 
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 귤 tomasblue

티스토리 툴바