2014. 12. 30. 13:50

바인드 변수값 테이블

오라클에서 바인드된 변수값을 확인하기위해서는 Trace를 하면되는데 여건이 안되면 아래 테이블 또는 뷰로 검색한다

제약사항 : 10G 이상
이하버전은 Trace를 사용하세요

SYS.V_$SQL_BIND_CAPTURE
DBA_HIST_SQLBIND

관련뷰
SYS.V_$SQL
SYS.V_$SQL_PLAN
SYS.V_$SQLAREA
SYS.V_$SQL_BIND_DATA
SYS.V_$SQL_BIND_METADATA

'-=-= 컴퓨터 =-=- > Database' 카테고리의 다른 글

[오라클] CREATE TABLE AS SELECT  (0) 2014.12.17
오라클 일별 통계  (0) 2014.10.29
[오라클] 월별 통계  (0) 2014.03.01
오라클 상태 조회  (0) 2014.03.01
[오라클 / PL-SQL] 오라클 예외처리 및 기본 예제  (0) 2014.02.17
2014. 12. 22. 10:55

[Java 7] try-with-resources

자바 7에서는 try catch문에서 resources 를 관리할수있다

resources 를 관리하는 대표적인것은 stream이며 자동으로 스트림을 종료하는 메서드가 호출된다

autocloseable을 implement 하여 사용자가 직접 구현도 가능하다

try catch resource 관리 예
try (Outputstream os = Files.newOutputStream (byte형)){
os.write (Data);
//os.close를 자동으로 호출
}catch (IOExeption e){
System.err.println (e);
}

관련 링크 : http://tutorials.jenkov.com/java-exception-handling/try-with-resources.html

http://m.blog.naver.com/skykingkjs/150172682117

https://code.google.com/p/guava-libraries/wiki/ClosingResourcesExplained

auto closeable 가능한 클래스
http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

자바 예외처리  (0) 2013.06.02
URLDecoder: Illegal hex characters in escape (%) pattern  (0) 2013.04.10
자바 이전 버전 링크  (0) 2013.03.22
자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06
2014. 12. 17. 15:56

[오라클] CREATE TABLE AS SELECT

CREATE TABLE 테이블명 (컬럼명1,컬럼명2) AS

SELECT 컬럼명1,컬럼명2

FROM 테이블명

WHERE 조건


조회한 후 인서트시 컬럼명을 변경할때 사용됨

'-=-= 컴퓨터 =-=- > Database' 카테고리의 다른 글

바인드 변수값 테이블  (0) 2014.12.30
오라클 일별 통계  (0) 2014.10.29
[오라클] 월별 통계  (0) 2014.03.01
오라클 상태 조회  (0) 2014.03.01
[오라클 / PL-SQL] 오라클 예외처리 및 기본 예제  (0) 2014.02.17
2014. 11. 13. 17:35

[이클립스] RSE_UI_INIT

출처 : http://blog.naver.com/nosleep/220083469081


http://stackoverflow.com/questions/1631817/annoying-remote-system-explorer-operation-causing-freeze-for-couple-of-seconds


이클립스 최신 버전 사용중 프로세스 RSE_UI_INIT 가 계속 진행중일경우 설정


Go on MAC:

Eclipse -> Preferences -> General -> Startup and Shutdown.

-Uncheck RSE UI.

Eclipse -> Preferences -> Remote Systems.

-Uncheck Re-open Remote Systems view to previous state.

Update your Eclipse to 4.3.1 (at least) due to a bug on previous version.

Restart Eclipse and its done.

2014. 10. 29. 10:55

오라클 일별 통계

오라클 SH 스키마 필요

 

SELECT
    CUST_ID, YYYYMM, SUM("01") AS "1일", SUM("02") AS "2일", SUM("03") AS "3일", SUM("04") AS "4일", SUM("05") AS "5일", SUM("06") AS "6일",
    SUM("07") AS "7일", SUM("08") AS "8일", SUM("09") AS "9일", SUM("10") AS "10일", SUM("11") AS "11일", SUM("12") AS "12일",
    SUM("13") AS "13일", SUM("14") AS "14일", SUM("15") AS "15일", SUM("16") AS "16일", SUM("17") AS "17일", SUM("18") AS "18일",
    SUM("19") AS "19일", SUM("20") AS "20일", SUM("21") AS "21일", SUM("22") AS "22일", SUM("23") AS "23일", SUM("24") AS "24일",
    SUM("25") AS "25일", SUM("26") AS "26일", SUM("27") AS "27일", SUM("28") AS "28일", SUM("29") AS "29일", SUM("30") AS "30일", SUM("31") AS "31일",
    SUM(AMOUNT_SOLD) AS "총계"
FROM(
        SELECT CUST_ID, TO_CHAR(TIME_ID,'YYYY-MM') AS YYYYMM, TO_CHAR(TIME_ID,'DD') AS DD, AMOUNT_SOLD
        , DECODE(TO_CHAR(TIME_ID,'DD'), '01', AMOUNT_SOLD, 0) AS "01"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '02', AMOUNT_SOLD, 0) AS "02"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '03', AMOUNT_SOLD, 0) AS "03"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '04', AMOUNT_SOLD, 0) AS "04"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '05', AMOUNT_SOLD, 0) AS "05"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '06', AMOUNT_SOLD, 0) AS "06"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '07', AMOUNT_SOLD, 0) AS "07"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '08', AMOUNT_SOLD, 0) AS "08"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '09', AMOUNT_SOLD, 0) AS "09"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '10', AMOUNT_SOLD, 0) AS "10"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '11', AMOUNT_SOLD, 0) AS "11"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '12', AMOUNT_SOLD, 0) AS "12"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '13', AMOUNT_SOLD, 0) AS "13"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '14', AMOUNT_SOLD, 0) AS "14"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '15', AMOUNT_SOLD, 0) AS "15"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '16', AMOUNT_SOLD, 0) AS "16"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '17', AMOUNT_SOLD, 0) AS "17"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '18', AMOUNT_SOLD, 0) AS "18"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '19', AMOUNT_SOLD, 0) AS "19"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '20', AMOUNT_SOLD, 0) AS "20"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '21', AMOUNT_SOLD, 0) AS "21"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '22', AMOUNT_SOLD, 0) AS "22"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '23', AMOUNT_SOLD, 0) AS "23"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '24', AMOUNT_SOLD, 0) AS "24"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '25', AMOUNT_SOLD, 0) AS "25"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '26', AMOUNT_SOLD, 0) AS "26"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '27', AMOUNT_SOLD, 0) AS "27"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '28', AMOUNT_SOLD, 0) AS "28"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '29', AMOUNT_SOLD, 0) AS "29"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '30', AMOUNT_SOLD, 0) AS "30"
        , DECODE(TO_CHAR(TIME_ID,'DD'), '31', AMOUNT_SOLD, 0) AS "31"
        FROM SH.SALES
        --WHERE TO_CHAR(TIME_ID,'YYYYMM') = '199801'
)GROUP BY CUST_ID, YYYYMM
ORDER BY CUST_ID ASC, YYYYMM ASC

 

 

결과

 

 

2014. 3. 1. 15:48

[오라클] 월별 통계

SH 스키마 필요 // 년도별 월별 통계 //2014.10.29 수정

 

SELECT
    CUST_ID, YYYY, SUM("01") AS "1월", SUM("02") AS "2월", SUM("03") AS "3월", SUM("04") AS "4월", SUM("05") AS "5월", SUM("06") AS "6월",
    SUM("07") AS "7월", SUM("08") AS "8월", SUM("09") AS "9월", SUM("10") AS "10월", SUM("11") AS "11월", SUM("12") AS "12월",
    SUM(AMOUNT_SOLD) AS "총계"
FROM(
        SELECT CUST_ID, TO_CHAR(TIME_ID,'YYYY') AS YYYY, TO_CHAR(TIME_ID,'MM') AS MM, TO_CHAR(TIME_ID,'DD') AS DD, AMOUNT_SOLD
        , DECODE(TO_CHAR(TIME_ID,'MM'), '01', AMOUNT_SOLD, 0) AS "01"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '02', AMOUNT_SOLD, 0) AS "02"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '03', AMOUNT_SOLD, 0) AS "03"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '04', AMOUNT_SOLD, 0) AS "04"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '05', AMOUNT_SOLD, 0) AS "05"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '06', AMOUNT_SOLD, 0) AS "06"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '07', AMOUNT_SOLD, 0) AS "07"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '08', AMOUNT_SOLD, 0) AS "08"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '09', AMOUNT_SOLD, 0) AS "09"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '10', AMOUNT_SOLD, 0) AS "10"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '11', AMOUNT_SOLD, 0) AS "11"
        , DECODE(TO_CHAR(TIME_ID,'MM'), '12', AMOUNT_SOLD, 0) AS "12"
        FROM SH.SALES
--        WHERE TO_CHAR(TIME_ID,'YYYY') BETWEEN 1999 AND 2000 --특정년도 범위

--        AND TO_CHAR(TIME_ID,'YYYYMM') = '199801'  --특정년월
--        AND TO_CHAR(TIME_ID,'MM') = 05 --특정달만
)GROUP BY CUST_ID, YYYY
ORDER BY CUST_ID ASC, YYYY ASC

 

결과

 

 

 

2014. 3. 1. 13:48

오라클 상태 조회

1. 세션별 CPU Time, Memory 사용량
 
select s.sid, s.serial#, p.spid as "os pid", s.username, s.module, s.sql_id, event, seconds_in_wait,
st.value/100 as "cpu sec",
round(pga_used_mem/1024/1024) "pga_tot(mb)",
round(pga_used_mem/1024/1024) "pga_per_sess(mb)"
from v$sesstat st, v$statname sn, v$session s, v$process p
where sn.name = 'CPU used by this session' -- cpu
and st.statistic# = sn.statistic#
and st.sid = s.sid
and s.paddr = p.addr
and s.last_call_et < 1800 -- active within last 1/2 hour
and s.logon_time > (SYSDATE - 240/1440) -- sessions logged on within 4 hours
order by st.value

 
 
 
 
2. Client별 Memory 사용량
 
select machine,status,count(*) cnt, 
       round(sum(pga_used_mem)/1024/1024) "pga_tot(mb)",
       round(sum(pga_used_mem)/count(*)/1024/1024) "pga_per_sess(mb)"
from v$session s, v$process p
where 1=1
--and s.status='active'
and s.paddr=p.addr
and type <> 'BACKGROUND'
group by machine,status
order by 1

2014. 2. 17. 09:35

[오라클 / PL-SQL] 오라클 예외처리 및 기본 예제

CREATE OR REPLACE PROCEDURE SP_USER_CONTROL(   
    SEL_MODE IN VARCHAR2,
    P_X_ID IN X_TEMP_TABLE.X_ID%TYPE,
    P_X_PW IN X_TEMP_TABLE.X_PW%TYPE,
    ERROR_CODE OUT VARCHAR2, --에러코드 리턴
    ERROR_MSG OUT VARCHAR2 --에러메시지
)IS
    V_ERROR_CODE VARCHAR2(30); --예외코드 변수
    V_ERROR_MSG VARCHAR2(1000); --예외메시지 변수
    V_CNT NUMBER;
    CALLEXT EXCEPTION; --사용자 예외 선언
BEGIN   
    IF SEL_MODE='1' THEN --INSERT
        DBMS_OUTPUT.PUT_LINE('INSERT');
        BEGIN
            INSERT INTO X_TEMP_TABLE VALUES(P_X_ID,P_X_PW);
            EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
                            V_ERROR_CODE:='E001';
                            V_ERROR_MSG:='중복된 데이터로 인해 입력에 실패하엿습니다.';
                            RAISE CALLEXT; --사용자 예외 던지기
                      WHEN OTHERS THEN
                            RAISE; --예외 던지기
        END;
    ELSIF SEL_MODE='2' THEN --UPDATE
        DBMS_OUTPUT.PUT_LINE('UPDATE');
        BEGIN           
            SELECT COUNT(*) INTO V_CNT FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
            IF V_CNT > 0 THEN
                UPDATE X_TEMP_TABLE SET X_ID = P_X_ID, X_PW = P_X_PW WHERE X_ID = P_X_ID;
            ELSE
               V_ERROR_CODE:='E002';
               V_ERROR_MSG:='대상 데이터가 검색되지 않앗습니다.';
               RAISE CALLEXT; --사용자 예외 던지기
            END IF;
           
            EXCEPTION WHEN OTHERS THEN
                      RAISE; --예외 던지기
        END;       
    ELSIF SEL_MODE='3' THEN --DELETE
        DBMS_OUTPUT.PUT_LINE('DELETE');
        BEGIN           
            SELECT COUNT(*) INTO V_CNT FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
            IF V_CNT > 0 THEN
                DELETE FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
            ELSE
               V_ERROR_CODE:='E002';
               V_ERROR_MSG:='대상 데이터가 검색되지 않앗습니다.';
               RAISE CALLEXT; --사용자 예외 던지기
            END IF;
           
            EXCEPTION WHEN OTHERS THEN
                      RAISE; --예외 던지기
        END;
    ELSIF SEL_MODE='4' THEN --TRUNCATE
        DBMS_OUTPUT.PUT_LINE('TRUNCATE');
        BEGIN           
            EXECUTE IMMEDIATE 'TRUNCATE TABLE X_TEMP_TABLE';
            EXCEPTION WHEN OTHERS THEN
                      RAISE; --예외 던지기
        END;
    ELSE
        RAISE CALLEXT;
    END IF;
   
    ERROR_CODE:='E000';
    ERROR_MSG:='정상적으로 처리되엇습니다.';
    COMMIT;
   
    EXCEPTION
        WHEN CALLEXT THEN --사용자 예외
             ERROR_CODE:=V_ERROR_CODE;
             ERROR_MSG:=V_ERROR_MSG;
             ROLLBACK;
        WHEN NO_DATA_FOUND THEN
             ERROR_CODE:='E002';
             ERROR_MSG:='데이터를 찾을수가 없습니다.';
             ROLLBACK;
        WHEN OTHERS THEN
             ERROR_CODE:='E004';
             ERROR_MSG:=SQLERRM || SQLCODE;   
             ROLLBACK;
END SP_USER_CONTROL;

2014. 2. 7. 19:37

클라이언트 Mac Address 가져오기

클라이언트에서 액티브x를  안쓰고 맥주소 가져오는 방법 / 애플릿


http://techdetails.agwego.com/2008/02/11/37/



macaddressapplet-1.0.tar.gz


2013. 12. 8. 01:50

/usr/libexec/gconf-sanity-check-2 256 오류

로그인을 하려고 하는데 /usr/libexec/gconf-sanity-check-2 256 오류 오류가 뜰경우

 

ssh로 접속해서 /tmp 폴더의 권한을 변경해주면된다.

 

chmod 755 /tmp

 

참조링크 : http://jejuchild.tistory.com/235

2013. 6. 26. 16:38

쉘스크립안에서 사용자 변경처리

쉘스크립트 명령어 실행시 특정 유저로 실행해야한다면

 

아래와 같이 하면 된다.

 

su - 사용자 -c "명령어1; 명령어2"

 

예) su - jboss -c "cd $jbosspath/$1;./startNode.sh notail"

root에서 jboss 계정으로 변경하여 실행처리

2013. 6. 23. 13:07

jboss 자동실행 등록

자동실행 등록 폴더 이동

# cd /etc/init.d


jboss 자동실행 스크립트 생성(상황에 맞게 사용)


vi jboss


#!/bin/bash


######################################################

#             Jboss Run Level Script                                             #

######################################################


#chkconfig enable

# chkconfig: 345 90 20

# description : Jboss Auto Start


export jbosspath=/jboss/jboss-eap-5.1/jboss-as/bin

function start(){

status=`ps -ef | grep java | grep "=$1" | awk '{print $2}'`

if [ e$status != e ];then

        echo "이미 $1 서버는 구동중입니다."        

else

cd $jbosspath

if [ "$1" = jenkins ];then

   nohup ./run.sh -b 0.0.0.0 -c jenkins -Dserver=jenkins -Djboss.service.binding.set=ports-01 -Dcom.sun.management.jmxremote.port=9999 >> /jboss/jboss-eap-5.1/jboss-as/waslog/jenkins/nohup.out &

elif [ "$1" = spring ];then

nohup ./run.sh -b 0.0.0.0 -c spring -Dserver=spring -Djboss.service.binding.set=ports-default -Dcom.sun.management.jmxremote.port=8888 >> /jboss/jboss-eap-5.1/jboss-as/waslog/spring/nohup.out &

else

echo "No Instance, Not Start"

fi

fi

}


function stop(){

pid=`ps -ef | grep java | grep "=$1" | awk '{print $2}'`

if [ e$pid != e ];

then

        echo "$1 서버를 종료합니다. 잠시 기다려주세요."

        kill -9 $pid

else

        echo  "$1 서버가 기동중이 아닙니다."

fi

}


case "$1" in

start)

echo "Starting Jboss"

start jenkins

start spring

;;

stop)

echo "Shutting Down Jboss"

stop jenkins

stop spring

;;

restart)

echo "Jboss Restart"

stop jenkins

stop spring


start jenkins

start spring

;;

*)

echo "Usage : $0 {start | stop | restart}"

exit 1

esac


exit 0


스크립트 실행권한

# chmod 755 jboss


스크립트 자동실행 등록

#chkconfig --add jboss

! 스크립트내에 문구 포함되어야함.


런레벨 폴더 이동 등록 확인

 /etc/rc3.d

 /etc/rc4.d

 /etc/rc5.d









'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
2013. 6. 22. 21:59

자바 설치

다운로드

http://www.oracle.com/technetwork/java/archive-139210.html <이전버전 링크


서버 종류 확인

$ getconf LONG_BIT


자바 설치 확인

$locate javac | grep bin


자바 실행 파일 권한주기

$ chmod 755 jdk-6u45-linux-i586.bin


설치 실행

./jdk-6u45-linux-i586.bin


시스템 자바 버전 변경처리 등록

alternatives --install /usr/bin/java java /java/jdk1.6.0_45/bin/java 100

alternatives --install /usr/bin/jar jar /java/jdk1.6.0_45/bin/jar 100

alternatives --install /usr/bin/javac javac /java/jdk1.6.0_45/bin/javac 100


시스템 자바 변경 메뉴 호출

/usr/sbin/alternatives --config java

/usr/sbin/alternatives --config javac


3 개의 프로그램이 'java'를 제공합니다.


  선택    명령

-----------------------------------------------

*  1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

 + 3           /java/jdk1.6.0_45/bin/java


설치한 자바 경로 선택


자바 버전 변경확인


java -version

javac -version


둘다 버전 변경이 안되어있으면

/etc/alternatives/javac 심볼릭 링크를 변경처리한다.

rm -f javac

ln -s javac경로 javac


프로파일에 자바 등록

export JAVA_HOME=/usr/jdk/jdk1.6.0_43

export PATH=$PATH:$JAVA_HOME/bin


삭제처리시

alternatives --remove java /usr/jdk/jdk1.6.0_43/bin/java


참조사이트 : http://basic.tistory.com/entry/Fedora10-alternative%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-Java-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC

2013. 6. 16. 13:08

SVN 명령어 및 기본 디렉토리 생성 , 설정

 

SVN 기본포트  : 3690

 

SVN 실행

#svnserve -d -r {SVN 최상위 폴더}

 

SVN 포트 변경

#svnserve -d -r {SVN 최상위 폴더} --listen-port 3690 -> 7020

 

SVN 종료

# killall svnserve

 

SVN 확인

# ps -ef | grep svn

 

Svn 저장소 생성

 

# 일반 파일시스템으로 생성 

$ svnadmin create --fs-type fsfs /svn_source/Spring

    or

# berkeley db 형식으로 생성

$ svnadmin create --fs-type bdb /svn_source/Spring

 

SVN 저장소 권한 설정

# cd /svn_source/Spring/conf

# vi /svn_source/Spring/conf/svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

주의 : 문자 앞에 공백 없어야함..공백있을경우 오류

 

패스워드 설정

# vi passwd

[users]

아이디 = 패스워드

 

기본 저장소 폴더 생성

Trunk, brances, tag

 

$ svn mkdir svn://localhost/Spring/trunk  --username 아이디

$ svn mkdir svn://localhost/Spring/branches --username 아이디

$ svn mkdir svn://localhost/Spring/tags --username 아이디

 

코멘트 작성

--이 줄 이하는 자동으로 제거됩니다--

 

A    svn://localhost/Spring/tags

 

폴더 생성시 Store password unencrypted (yes/no)? No 해도 계속 물어볼경우

한글로 아니오 입력하면 된다.

 

 

기본 디렉토리 생성하려고 하는데 아래와 같은 메시지가 나오는 경우

------------------------------------------------------------------------------------------------------------------------------------

svn: 로그 메시지를 구하기 위해 외부 프로그램을 사용할 수 없습니다.

SVN_EDITOR 환경변수를 설정하시거나 --message (-m) 또는 --file (-F) 옵션을 사용하세요.

svn: 환경변수 SVN_EDITOR, VISUAL, EDITOR 중 하나는 설정하거나, 'editor-cmd' 를 구성화일에 명시해야합니다.

------------------------------------------------------------------------------------------------------------------------------------

# cd ~

# vi .bash_profile 파일에 추가

SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

 

위와 같이 SVN_EDITOR 를 지정해준다.

 

---SVN 자동 실행 등록(CENT OS기준)

# vi /etc/rc.d/rc.local

# svnserve -d -r {SVN 최상위 폴더} 호스트명 또는 포트 추가

2013. 6. 13. 11:11

[JSP] getOutputStream() has already been called for this response

파일(엑셀) 다운로드시 위와 같은 오류 발생시 추가

 

out.clear();

out = pageContext.pushBody();

pageContext.forward(fileName);

 

 

JSP 기본 OutputStream 객체를 가지고 있음

스펙상 JSP 서블릿에서 처리하는게 원칙이지만

위와같이 하면 가능함.

2013. 6. 2. 08:39

자바 예외처리

package ExPakage;

public class ExClass {
	public static void main(String[] args) {
		try {
			ExClassCall ec = new ExClassCall();
			ec.a();
		} catch (Throwable e) {
			StackTraceElement[] ste = e.getStackTrace();
			
			StringBuffer sb = new StringBuffer();
			sb.append("ErrorName : "+ e.getClass().getName()).append("\n");
			sb.append("ErrorMessage : "+ e.getMessage()).append("\n");
			sb.append("FileName : "+ ste[0].getFileName()).append("\n");
			sb.append("ClassName : "+ ste[0].getClassName()).append("\n");
			sb.append("MethodName : "+ ste[0].getMethodName()).append("\n");
			sb.append("LineNumber : "+ ste[0].getLineNumber()).append("\n");
			
			System.out.println(sb.toString());
		}
		
	}
}

class ExClassCall{
	
	public void a() throws Throwable{
		
		System.out.println("a호출");
		
		//try {
			throw new Exception("A Exception");
		//함수에 throws가 있어도 예외처리를 하게되면 호출한 메임함수로 예외를 안던진다.
		//} catch (Exception e) {
		//	System.out.println("A Exception Catch : "+e.getMessage());
		//}
		
	}
	
}

결과

a호출

ErrorName : java.lang.Exception

ErrorMessage : A Exception

FileName : ExClass.java

ClassName : ExPakage.ExClassCall

MethodName : a

LineNumber : 32

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

[Java 7] try-with-resources  (0) 2014.12.22
URLDecoder: Illegal hex characters in escape (%) pattern  (0) 2013.04.10
자바 이전 버전 링크  (0) 2013.03.22
자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06
2013. 5. 27. 17:41

apache + mod_jk + virtualhost 설정

Mod_jk 모듈 다운로드

 

http://tomcat.apache.org/download-connectors.cgi

 

직링

# wget http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz

 

압축풀기

# tar xvfz tomcat-connectors-1.2.37-src.tar.gz

 

컴파일

# Cd tomcat-connectors-1.2.37-src/native

#./configure --with-apxs=/usr/sbin/apxs

Apxs 위치를 모를경우

find / -name apxs

 

Apxs 설치가 안되어 있을경우

yum install httpd-devel

 

#make

#make install

 

Mod_jk 설정파일 생성

# vi /etc/httpd/conf/mod-jk.conf

#### mod_jk.conf ####

LoadModule jk_module modules/mod_jk.so

<IfModule jk_module> 

    JkWorkersFile    conf/workers.properties

    JkLogFile        logs/mod_jk.log

    JkLogLevel       info

    JkMountFile      conf/uri.properties

</IfModule>

 

# vi  /etc/httpd/conf/workers.properties

#### workers.properties ####

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

 

# vi /etc/httpd/conf/uri.properties

/*.do=worker1

/*.jsp=worker1

#/*=worker1  (was 무조건 포워딩시)

 

Apache 설정에서 mod_jk include 설정

# vi /etc/httpd/conf/httpd.conf

 

include conf/mod_jk.conf

 

참조 url : http://lng1982.tistory.com/63

http://www.openscope.net/2010/01/02/install-mod_jk

 

============== 추가

 

웹서버 1대  WAS서버 1대

WAS 인스턴스 5개 구성시

 

Conf/httpd.conf

 

Listen  포트 추가

Listen 7001

Listen 7002

Listen 7003

Listen 7004

Listen 7020

 

Mod_jk 연동(톰캣과 연동시에만)

Include conf/mod_jk.conf

 

# Virtual hosts 주석해제

Include conf/extra/httpd-vhosts.conf

 

=========================================================

workers.properties 추가

worker.list=web1,web2,web3,web4,web5

worker.web1.port=8009

worker.web1.host=아이피

worker.web1.type=ajp13

worker.web1.method=Session

worker.web1.sticky_session=True

 

worker.web2.port=8109

worker.web2.host=아이피

worker.web2.type=ajp13

worker.web2.method=Session

worker.web2.sticky_session=True

 

worker.web3.port=8209

worker.web3.host=아이피

worker.web3.type=ajp13

worker.web3.method=Session

worker.web3.sticky_session=True

 

worker.web4.port=8309

worker.web4.host=아이피

worker.web4.type=ajp13

worker.web4.method=Session

worker.web4.sticky_session=True

 

worker.web5.port=8409

worker.web5.host=아이피

worker.web5.type=ajp13

worker.web5.method=Session

worker.web5.sticky_session=True

 

=====================================================

Conf/extra/httpd-vhosts.conf

 

NameVirtualHost *:80

NameVirtualHost *:7001

NameVirtualHost *:7002

NameVirtualHost *:7003

NameVirtualHost *:7004

NameVirtualHost *:7020

 

<VirtualHost *:80>

    ServerAdmin webmaster@aa.com

    DocumentRoot "/apache/webdev.war"

    ServerName webdev

    ServerAlias localhost

    ErrorLog "/apache/webdev.war/logs/error_log"

    CustomLog "/apache/webdev.war/logs/access_log" common

</VirtualHost>

 

<VirtualHost *:7001>

    ServerAdmin webmaster@aa.com

    DocumentRoot "/apache/webdev.war"

    ServerName webdev

    ServerAlias localhost

    ErrorLog "/apache/webdev.war/logs/error_log"

    CustomLog "/apache/webdev.war/logs/access_log" common

    JkMount /* web1 ~ 5

</VirtualHost>

 

Ctrl+C + Ctrl+V  X4

'-=-= 컴퓨터 =-=- > 리눅스 & 유닉스' 카테고리의 다른 글

자바 설치  (0) 2013.06.22
SVN 명령어 및 기본 디렉토리 생성 , 설정  (0) 2013.06.16
SVN DUMP 및 LOAD 방법  (0) 2013.04.18
심볼릭 링크 생성 및 타겟 변경  (0) 2013.03.22
centos jboss 설치  (0) 2013.03.17
2013. 5. 8. 22:14

JBOSS DATASOURCE 설정

<?xml version="1.0" encoding="UTF-8"?>

<datasources>

<local-tx-datasource>

<jndi-name>JNDI명</jndi-name>

<connection-url>jdbc:oracle:thin:@아이피:1521:sidorcl</connection-url>

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

<connection-property name="testOnBorrow">true</connection-property>

<connection-property name="testWhileIdle">true</connection-property>

<connection-property name="timeBetweenEvictionRunsMillis">60000</connection-property>

<connection-property name="removeAbandoned">true</connection-property>

<connection-property name="validationQuery">select 1 from dual</connection-property>

<connection-property name="validationQueryTimeout">30000</connection-property>

 

<user-name>아이디</user-name>

<password>패스워드</password>

 

<min-pool-size>10</min-pool-size>

<max-pool-size>20</max-pool-size>

 

<track-statements>nowarn</track-statements>

<blocking-timeout-millis>50000</blocking-timeout-millis>

<idle-timeout-minutes>10</idle-timeout-minutes>

<prepared-statement-cache-size>100</prepared-statement-cache-size>

 

<background-validation-millis>60000</background-validation-millis>

<new-connection-sql>select 1 from dual</new-connection-sql>

<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>

 

<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>

<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

 

<metadata>

 <type-mapping>Oracle9i</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

jboss 자동실행 등록  (0) 2013.06.23
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
2013. 4. 18. 17:40

SVN DUMP 및 LOAD 방법

SVN 저장소 이동시 사용...

 

순서

 

1. 기존 SVN 백업

 

2. 신규 SVN 생성

 

3. 신규 SVN 로드에 구 SVN로드

 

 

1. 기존 SVN  백업

 

$ svnadmin dump 원복 > 백업

ex ) svnadmin dump project1 > /svnbackup/project1.dump

--특정 버전만 백업도 가능

ex ) svnadmin dump project1 -r 20 > /svnbackup/project1.dump    (버전20)

ex ) svnadmin dump project1 -r 20:30 > /svnbackup/project1.dump (버전20~30)

 

2. 신규 SVN 생성

$svnadmin create 백업폴더명

ex ) svnadmin create project1_backup

 

3. 신규 SVN에 구 SVN 로드

$svnadmin load 백업폴더 < 원복백업파일

ex) svnadmin load project1_backup < /svnbackup/project1.dump

 

리비전 유지할경우

ex) svnadmin load project1_backup --force-uuid < /svnbackup/project1.dump

2013. 4. 10. 15:20

URLDecoder: Illegal hex characters in escape (%) pattern

java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string

 

파라미터에 %가 들어간경우 %이후 16진수로 인식하므로 값이 없어서 나는 오류

 

http://blog.daum.net/haha25/5388316

 

 

다른 해석

 

GET 방식과 Post방식의 암호화 유무에 따라 차이가 날수도 잇음

 

get방식은 서버에 encode가된 값이 decode되어 들어오고

 

post방식은 서버이 encode가된 값이 encode되어 들어온경우

 

get 방식의 decode된 값을 다시 decode할경우 오류

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

[Java 7] try-with-resources  (0) 2014.12.22
자바 예외처리  (0) 2013.06.02
자바 이전 버전 링크  (0) 2013.03.22
자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06
2013. 3. 28. 15:12

JBoss URIEncoding 설정

JBOSS 사용중 파라미터가 깨질경우 사용(GET 방식)

C:\jboss-eap-5.1.2\jboss-as\server\인스턴스명\deploy\jbossweb.sar\server.xml

 

URIEncoding="UTF-8" 추가

 

약 12번째줄

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
               connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

 

 

Post방식인경우

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

 

 

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
               connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

            useBodyEncodingForURI="true" >

 

useBodyEncodingForURI="true" 는 페이지에서 설정한 인코딩 방식을 따름.

 

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

 

Content-type=application/x-form-urlencoded;charset=UTF-8 추가한경우

 

request.setCharacterEncoding("UTF-8");를 안해도됨.

 

참조URL : http://dd0ngsbrk.tistory.com/?page=38

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

jboss 자동실행 등록  (0) 2013.06.23
JBOSS DATASOURCE 설정  (0) 2013.05.08
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
2013. 3. 28. 11:23

확장자 기본프로그램 연결 삭제

확장자 기본 연결 프로그램 삭제 프로그램 및 레지스트리 수정방법

 

1. 확장자 기본 연결 프로그램 삭제 프로그램

 

http://www.winhelponline.com/blog/unassociate-file-types-windows-7-vista/

 

다운 : http://www.winhelponline.com/blog/wp-content/uploads/unassoc_1_4.zip

 

2. 레지스트리 수정

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

 

삭제하고 싶은 확장자 파일 폴더 선택 후 UserChoice 폴더 삭제

 

 

원본 url : http://blog.naver.com/PostView.nhn?blogId=leesh6796&logNo=30072186579

'-=-= 컴퓨터 =-=- > 컴퓨터 팁' 카테고리의 다른 글

히든 파티션 접근하기  (0) 2013.03.27
엑셀 2007 멀티창  (0) 2012.12.10
레지스트리 하이브 편집  (0) 2012.12.04
티스토리 code highlight 1.5 적용  (0) 2012.11.19
내 컴퓨터 제어판 추가 및 삭제  (0) 2012.11.17
2013. 3. 27. 13:51

히든 파티션 접근하기

win7 기준

 

심볼릭 링크 대상 폴더 생성

 

mkdir linkfolder

 

리스트 출력

mountvol

 

1. mountid_1

2. mountid_2

 

mountvol linkfolder mount_id1

 

 

http://qaos.com/article.php?sid=2899

2013. 3. 22. 15:04

심볼릭 링크 생성 및 타겟 변경

생성

ln -s /home/data2   /home/data

 

타겟 변경

lm -Tfs /home/data1 /home/data

 

참조 url :http://blog.naver.com/PostView.nhn?blogId=rilrago&logNo=20145698195

'-=-= 컴퓨터 =-=- > 리눅스 & 유닉스' 카테고리의 다른 글

apache + mod_jk + virtualhost 설정  (0) 2013.05.27
SVN DUMP 및 LOAD 방법  (0) 2013.04.18
centos jboss 설치  (0) 2013.03.17
리눅스 JAVA 경로 확인  (0) 2013.03.17
cent os 한글 입력  (0) 2013.03.17
2013. 3. 22. 15:02

자바 이전 버전 링크

자바 옛날버전 받기

 

http://www.oracle.com/technetwork/java/archive-139210.html

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

자바 예외처리  (0) 2013.06.02
URLDecoder: Illegal hex characters in escape (%) pattern  (0) 2013.04.10
자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06
JAVA 속성 조회  (0) 2012.11.06
2013. 3. 17. 19:17

centos jboss 설치

OS : Cent OS 6.3

WAS : JBoss 6.1.0 Final

 

--JBOSS 6.1.0 다운로드
http://www.jboss.org/jbossas/downloads

$ wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip /home/jboss/download

 

--jboss 압축해제
$ unzip jboss-as-distribution-6.1.0.Final.zip

 

--파일이동
$ mv jboss-6.1.0.Final /usr/share

 

--계정 생성
# groupadd jboss
# useradd -s /bin/bash -g jboss jboss
# chown -Rf jboss.jboss /usr/share/jboss-6.1.0.Final/

 

--프로파일 수정
$ vi /home/jboss/.bash_profile

JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH export PATH
JBOSS_HOME=/usr/share/jboss-6.1.0.Final export JBOSS_HOME

 

--설치경로 소유자 변경
$ chgrp -R jboss /usr/share/jboss-6.1.0.Final
$ chown -R jboss /usr/share/jboss-6.1.0.Final
 
 --쉘스크립트 생성
su - jboss
$ mkdir bin
$ cd bin
$ vi jboss.sh

default instance 실행(all instance는 클라우드 사용시)

#!/bin/sh
RETVAL=0
USER=`whoami`
JBOSS_HOME=/usr/share/jboss-6.1.0.Final
SERVER_IP=0.0.0.0
start() {
 # Start daemons.
 echo $"start JBoss6 : "
 if [ "$USER" = "root" ]; then
  su - jboss -c "$JBOSS_HOME/bin/run.sh -b $SERVER_IP -c default &"
 else
  if [ "$USER" = "jboss" ]; then
                        $JBOSS_HOME/bin/run.sh -b $SERVER_IP  -c default
  else
   echo "************* please! run by jboss ***************"
  fi
 fi
}
stop() {
 # Stop daemons.
 echo $"stop JBoss6 : "
 if [ "$USER" = "root" ]; then
  su - jboss -c "$JBOSS_HOME/bin/shutdown.sh -o $SERVER_IP"
 else
  if [ "$USER" = "jboss" ]; then
   $JBOSS_HOME/bin/shutdown.sh -o $SERVER_IP
  else
   echo "************* please! run by jboss ***************"
  fi
 fi
}
case "$1" in
 start)
  start
  ;;
 stop)
  stop
  ;;
 restart|reload)
  stop
  sleep 5
  start
  RETVAL=$?
  ;;
 *)
  echo $"Usage: $0 {start|stop|restart}"
  exit 1
esac
exit $RETVAL

 

--스크립트 실행권한 주기
$ chmod +x jboss.sh

 

--JBOSS 실행 및 종료
$ cd /home/jboss/bin
$ jboss.sh start &

 

JBoss Admin 비밀번호 변경
$ cd /usr/share/jboss-6.1.0.Final/server/default/conf/props
vi jmx-console-users.properties
 
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin < 변경

 

접속확인

http://localhost:8080

 

접속불가시 방화벽 8080 오픈

 

 

'-=-= 컴퓨터 =-=- > 리눅스 & 유닉스' 카테고리의 다른 글

SVN DUMP 및 LOAD 방법  (0) 2013.04.18
심볼릭 링크 생성 및 타겟 변경  (0) 2013.03.22
리눅스 JAVA 경로 확인  (0) 2013.03.17
cent os 한글 입력  (0) 2013.03.17
cygwin ssh 설정  (0) 2012.10.11
2013. 3. 17. 18:25

리눅스 JAVA 경로 확인

# alternatives --config java

2 개의 프로그램이 'java'를 제공합니다.

  선택    명령
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

 

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:

위에 명령에 경로가 자바 설치 경로

 

 

# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-i386)
OpenJDK Client VM (build 20.0-b12, mixed mode)

'-=-= 컴퓨터 =-=- > 리눅스 & 유닉스' 카테고리의 다른 글

심볼릭 링크 생성 및 타겟 변경  (0) 2013.03.22
centos jboss 설치  (0) 2013.03.17
cent os 한글 입력  (0) 2013.03.17
cygwin ssh 설정  (0) 2012.10.11
리눅스 폴더 마운트  (0) 2012.07.25
2013. 3. 17. 09:11

cent os 한글 입력

설치시 국가를 한국 / 키 방식을 영어로 설치하면 기본적으로 설치되있다.

 

CENT OS 6.4 기준

 

기본 전환키  : Ctrl + Space Bar

 

설정 메뉴 : 시스템 > 기본설정 > 입력방식

 

그래도 안된다면 아래 명령으로 설치

 

yum install ibus ibus-hangul ibus-anthy

 

참고 주소 : http://wanochoi.com/?p=855

'-=-= 컴퓨터 =-=- > 리눅스 & 유닉스' 카테고리의 다른 글

centos jboss 설치  (0) 2013.03.17
리눅스 JAVA 경로 확인  (0) 2013.03.17
cygwin ssh 설정  (0) 2012.10.11
리눅스 폴더 마운트  (0) 2012.07.25
[리눅스,솔라리스] 텔넷,SSH ROOT 권한 접속  (0) 2011.12.24
2013. 3. 17. 07:15

apache 재시작 오류

Could not reliably determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName httpd

 

위와 같은 오류 인경우 Server Name이 없어서 나는 오류

 

경로 :  /etc/httpd/conf/httpd.conf 

 

vi /etc/httpd/conf/httpd.conf

 

#ServerName www.example.com:80 -> ServerName 127.0.0.1

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
톰캣6 Datasource 사용하기  (0) 2013.03.07
2013. 3. 12. 17:02

톰캣 "web-app" must match 오류

The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-
 param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-
 list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-
 entry*,ejb-ref*,ejb-local-ref*)".

 

위와 같은 오류가 발생한경우

 

위에 나열된 순서되로 작성되었는지 확인한다.

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
톰캣6 Datasource 사용하기  (0) 2013.03.07