☞ c3mix 상품제외처리

 if ( v_AssignFg == '1' ) 
  gds_StdProd.filter("PROD_KIND_CD=='11'||PROD_KIND_CD=='12'||PROD_KIND_CD=='13'||PROD_KIND_CD=='14' ") ;
 else if ( v_AssignFg == '2' )
  gds_StdProd.filter("PROD_KIND_CD=='11'&&PROD_CD<>'000003'") ; // c3(mix) 제외
 else if ( v_AssignFg == '3' )
  gds_StdProd.filter("PROD_KIND_CD=='11'&&PROD_CD<>'000003'") ; // c3(mix) 제외
 else if ( v_AssignFg == '4' )
  gds_StdProd.filter("PROD_KIND_CD=='12'") ;

 

☞ 그리드에서 소수점처리

 데이터셋은 DECIMAL 로 불러오고 ,

그리드설정항목 :  Display=number , Edit(e): lowernum , Mask(E): expr:###,###,###,###.### 으로 설정해서 0 도 표시된다.

 

 

주문처리 구현중에 수량만 처리안되어서 ds 에서 type을 integer 로 수정해서 처리완료되엇음

 

// 유종가져오기 (주유소 , 충전소 )
  v_Row = ds_Assign.SearchRow("ASSIGN_CD='"+strCode+"'") ; // 소속구분 확인
  v_AssignFg = ds_Assign.GetColumn(v_Row,"ASSIGN_FG"); // 1:본사 2:충전소 3:용기검사소, 4:주유소
  if ( v_AssignFg == "2" )
   gds_stdProd.filter("PROD_KIND_CD='11'") ; // 충전소
  else if ( v_AssignFg == "4" )
   gds_stdProd.filter("PROD_KIND_CD='12'") ; // 주유소

  ds_StdProd.CopyF(gds_StdProd) ;
  ds_Prod.CopyF(gds_StdProd) ;  

 

decode(length(Tostring("COND_RATE")),0,'###,###,###.###','###,###,##0.###')

 

☞ 말풍선 도움말

  function grd_Ship_OnMouseOver(obj,nPosX,nPosY,nRow,nCell,nPivotIndex)
{
 if ( nCell == 3 )
 {
  obj.ToolTipText = ds_Ship.GetColumn(nRow,"MNG_DEAL_NM") ;
 } else {
  obj.ToolTipText = "";
 }
}

 

☞ 그리드 속성처리 가변으로 적용하기

iif(CNT=="1", "완전","부분")

iif(DELI_NM == '확인', 'red','default')

 

☞ 그리드 중복처리
suppress 1로 셋팅한다.

 

☞ 그리드 포커스 이동처리   MoveToNextCell()
function grd_DealSale_OnEnterDown(obj,nRow,nCell,strVal,nPivotIndex)
{
 //trace ("nCell = "+ nCell ) ;
 // 추가에누리 등록시에 스킵처리한다.
 if (nCell == 14 ) grd_DealSale.MoveToNextCell();
 grd_DealSale.MoveToNextCell();
}

 

 

☞ 그리드 배경색을 지정

    // 그리드 배경색을 지정한다.
   grd_LeadList.SetCellProp("body",colIdx,"BkColor",v_BgColor);
   grd_LeadList.SetCellProp("head",colIdx,"BkColor",v_BgColor);
   grd_LeadList.SetCellProp("head",colIdx,"text",day+"\n("+v_YoilNm+")" );

☞ 날짜 증가

addDate("strDate" ,   1 ) ;

addMonth("strMonth", 1 ) ;

 

☞ EXPRESION 사용

iif(gfn_IsNull(ds_Mboard.getcolumn(currow,"R_ASSIGN_CD")),ds_Msupp.getcolumn(ds_Msupp.FindRow("NM_CD",ds_Mboard.getcolumn(currow,"R_ASSIGN_FG")),"NM_SUB"),ds_Massign.getcolumn(ds_Massign.FindRow("ASSIGN_CD",ds_Mboard.getcolumn(currow,"R_ASSIGN_CD")),"ASSIGN_NM"))

iif(parseInt(ds_Gauge.getcolumn(currow,"GAUGE_NO"))%2,"green","yellow")

iif(ds_Gauge.getcolumn(currow,"END_DAY")=="99991231","")

iif(ds_Gauge.getcolumn(currow,"END_DAY")=="99991231", "null","date")

 

☞ 그리드 멀티선택 기능

function Grid_PersonList_OnHeadClick(obj,nCell,nX,nY,nPivotIndex)
{
 if (nCell == 0)
 {
  if (Grid_PersonList.GetCellProp("head",0,"Text")=="1")
  {
   Grid_PersonList.SetCellProp("head",0,"Text","0");
   
   for(var i=0; i<dsPerson.RowCount(); i++)
    dsPerson.SetColumn(i, "chk", "0");
  }
  else
  {
   Grid_PersonList.SetCellProp("head",0,"Text","1");
   
   for(var i=0; i<dsPerson.RowCount(); i++)
    dsPerson.SetColumn(i, "chk", "1");
  } 
 }
 else
 {
  gfn_GridSort(Grid_PersonList,dsPerson,nCell,9);
 }
}

☞ 특정 그리드로 이동 설정 ;

    // 선택항목으로 이동
   var v_Row = ds_Mboard.SearchRow("SEQ='"+ gv_BOARD_SEQ +"' && REPLY_SEQ='" + gv_BOARD_REPLY_SEQ +"'");
   ds_Mboard.row = v_Row ;

☞ 파일 가져오기  LoadXML();

dsPam.LoadCSV(arg_dsTC.GetColumn(arg_Row, "PARAMETER"));

gds_Temp.LoadXML(ret);

자료 생성용 Dataset을 만든다.
 Create("Dataset", "dsPam", "DataSetType=\"Dataset\" Id=\"dsPam\"");

생성된 Dataset을 삭제한다.
 Destroy("dsPam");

ds_Assign.FireEvent = false;  데이터셋의 변경에 따른 부하를 줄이기 위해서 사용

eval(this.OnLoadCompleted + "()");   this.OnInit = "gfn_OnInited";

decode(rowtype, "update", "yellow", "insert", "red", "default")

☞ grid 를 이용한 subSum 구현하기

dataSet 에서 -- 속성에서 group Key setting -- grid 에서 항목에 대한 supress 를 지정한다.

dataSet 에서 -- columns 에서 sum, sum-text 에 구현해준다.

bkColor ==>  decode(jigup_nm,'소계','yellow','white')

grid Editor 에서 sum 라인에서 Expr : Sum('jigup_amt') 로 처리해 준다.

grid - HeadHeight

grid - RowHeight

 

CopyF - 필터된 dataSet 을 넘길때 사용한다.

 gds_Assign.filter("ASSIGN_FG == '1' ") ;
 v_Row = ds_Assign.CopyF(gds_Assign);

☞ 트리메뉴 세로간격

RowHeight

 

데이터셋에서 타이틀 볼드해제하기

boldhead : false

 

☞ max 값 구하기 , lpad 사용하기

maxVal = Lpad(parseInt(ds_mainMenu.Max("loc_no"))+1 , '0', 2) ;


☞ 데이터셋 : dataSet

fillarea : 데이터셋영역중 미사용영역도 동일하게 적용하기

cellMoving : 제목부분을 마우스 드래그로 이동가능하게 적용

 

 공통함수

1- 로그저장 로직

2- LOADING 메세지

3- 이미지 표준네이밍 작업

4- 제목부 타이틀 이미지 작업

5- 권한설정 확인부 공통로직

 

 

 

--- ftp 처리


#------------------------------------------------------------------------------#
# to get van ftp file server
#------------------------------------------------------------------------------#
ftp -n ${host_ip} << -!
    user ${user_id} ${user_pwd}
    prompt
    cd  ${r_move_dir}
    lcd ${l_move_dir}
    get ${remot_file_name} ${local_file_name}
    bye
<< -!
#------------------------------------------------------------------------------#

 

 출처 : 스터디넷

 

반응형
SSO 관련 자료   
  theY      
WAS간 세션공유

*** 사용자 인증여부만 참조할 경우

1. 쿠키에 사용자 키 저장
2. DB에 WAS간 세션아이디 매핑 테이블을 두어 상태 참조 등등

*** 세션에 많은 객체를 담아 상태를 유지할 필요가 있는 경우

1. 세션 클러스터링 구현


*** 발췌

========================================================================================
가장 단순한 방법은 Cookie를 이용하시고, 실질적인 정보는 DB에 저장하시어
두 머신이 공유하는 방법일 거라 생각 됩니다.
예를 들어 한 머신에서 Login을 하면 그 정보가 DB에 기록되고, Cookie에
특별한 자신만의 고유한 session_id를 발생시킨 후, 다른 머신으로 변환될 경우
DB에서 session_id에 해당하는 정보를 DB에서 Query해서 "아하, 이 Client는
이미 로그인 했었군"이라 판단할 수 있겠지요....
(단, Cookie는 모든 머신으로 날아갈 수 있게 도메인이 셋팅되어야 할 것이고,
session_id는 서블렛엔진의 기본적인 세션이 아니라, 비즈니스적으로 만들어진
임의의 것이어야 합니다.)
그러나, 이것은 user_id에 대해서만 공유될 수 있을 뿐, Servlet의 Session 에
저장된 여하한의 java Object에 대해서는 적용받을 수 없겠지요....
기능상의 제한이 있게 마련입니다.

========================================================================================
javax.servlet.http.HttpSession을 의미하시는지요? 그렇다면, 정확히는 WAS 에서 세션클러스터링을
지원해야 합니다.. 그렇지 않고서는.. 개발자가 세션클러스터링을 구현해야 겠죠..
Naming Service 같은걸 이용해서. 근데,, 그게 쉬운일 같아 보이지는 않습니다.
두 머신상의 세션의 동기화 문제랄지 그런부분이 아주 골치아플것입니다.. 특히 이것은 앞단에
L4 의 세션이 sticky 하지 않아서 request가 왔다 갔다 할수 있는 상황에서 문제겠지요..

========================================================================================
http://blog.naver.com/kyt0223.do?Redirect=Log&logNo=20017526292

몇몇 사이트에서, "세션유지기능"을 직접 제작하는 분들을 보았습니다. cookie에
key값을 생성하여 담고, key값을 이용해 static java.util.Hashtable에 넣고 빼는 방법으로
자체 제작하는 하는 것이지요.
혹은, 몇 명이 접속하였는지를 보기 위해, "접속자를 모니터링하기 위한 용도"로 이러한
시도를 하시곤 합니다.

이 분들이 종종 놓치는 부분 중의 하나는,  H/W머신(혹은 하나의 인스턴스)가 하나일
뿐이라는 가정을 하는 경향이 있다는 겁니다. 부하량이 늘어나 여러대의 서버로 확장할
경우, 원격의 인스턴스간의 데이타를 공유할 수 있도록 클라이언트/서버 구조의 TCP/IP
Socket/RMI를 사용할까, 데이타베이스를 경유해버릴까 등의 고민이 시작되고,
MOM(Message Oriented Middleware)를 사용하거나 simple MOM 를 TCP/IP로 구현해 볼까도
생각합니다.
하나의 서버에 담겨 있는 Hashtable의 값을 다른 서버에게 publish/subscribe방식으로
공유케 하는 것이지요. 실시간 변경된 값을 전달해 줄까, 아니는 주기적으로 전달해
줄까를 고민합니다. 또한 늘어만 가는 Hashtable의 데이타를 session timeout과 같은
기능을 어떻게 효율적으로 구현할까를 고민하게 됩니다.

.....이쯤되면, "잉, WAS(Web Application Server)의 Http Session Clustering 기능을
만들고 있군..."라는 최종적인 결론에 도달합니다.

이미 적용되어 있던 자체 제작된 기능을 나중에 여러대의 서버로 확장운영될 시점에
구조적인 문제나 성능상의 이슈로 결국 제거됩니다. (3곳 정도의 고객사에서 그러한
상황을 목격했습니다.)

J2EE스펙에서는 동일한 WAR(Web ARchive)내에서만 HTTP Session이 유지됩니다.
일부 WAS는 동일한 EAR(Enterprise ARchive)내에 존재하는 여러개의 WAR간에도
세션클러스터링을 지원합니다. (하나의 EAR에는 여러개의 WAR 및 EJB-jar가 존재할 수
있고, EAR단위로 서버(Server,인스턴스)에 deploy되는데, 서버는 인스턴스가 하나일
수도 있고, 여러대의 H/W박스에 분산되어 여러대의 Server(인스턴스) 클러스터일 수도
있습니다.)

========================================================================================
http://www.javaservice.net/~java/bbs/read.cgi?m=qna&b=consult&c=r_p&n=959681361

질문하신 분도 지적한 바와 같이 당연히 떠오르는 문제가 바로 "세션클러스터링"
입니다. 여러 머신으로 운영할 때, 한 머신에 접속했다가 다른 머신으로 부하분산
메카니즘에 의해 다른머신으로 Request가 이동되면, 기존 머신에서 저장시켜둔
각종 "세션정보", 예를 들어, UserID, 자신이 선택한 Shopping Items 등이 그대로
머신과 머신사이에서 유지되어야 한다는 것이지요...

IBM WebSphere Application, BEA WebLogic, SilverStream Application 등등은
각기 고유한 방식으로 이러한 세션 클러스트링 기능을 제공합니다.
(세션클러스트링은 스펙이 존재하는 것이 아니기에 Vendor 고유한 방식으로
Implementation 됩니다.)

IBM WebSphere Application Server의 경우, Version 2.0.x 역시 세션클러스트링을
제공하며, Version 3.0.x에선 DB를 이용하여 "Persistent Session" 기능을 제공합니다.
보통 Memory상에서 세션정보를 갖게 하는 것이 일반적이지만, file을 이용하기도하고,
DB를 이용하기도 합니다.

========================================================================================
http://www.dev2dev.co.kr/pub/a/2005/05/session_management.jsp

세션 속성을 여러 JVM에서 처리하려면 세션 속성을 serialize할 수 있어야 합니다. 이것은 클러스터링
요구 사항입니다.
세션 속성의 일부 필드를 transient로 선언하여 논-클러스터(non-clustered)로 만들 수 있습니다.
그러면 세션 속성의 모든 필드를 serialize할 수 있어야 하는 요구 사항이 없어지는 반면 이러한 속성이
백업 서버로 완전히 복제되지 않을 것임을 의미하기도 합니다. 이러한 접근 방법을 따르는 개발자는
이 속성 필드가 상실되더라도 애플리케이션이 일관된 방식으로 작동될 수 있도록 아주 신중하게 해야 합니다.
대부분의 경우 이러한 접근 방법은 단순히 모든 세션 속성을 serialize할 수 있는 객체로 변환하는 것보다
마무리가 좀 더 복잡합니다. 하지만 세션에서 아주 방대한 양의 사용자별 데이터를 캐시하는 경우 유용한
패턴일 수 있습니다.
J2EE 서블릿 사양(버전 2.2, 2.3 및 2.4)은 클러스터에서 공유해서는 안되는 서블릿 컨텍스트에 대해 설명합니다.
WebLogic Server는 기술된 대로 이 사양을 구현합니다. 싱글톤(singleton) 데이터 구조로서 서블릿 컨텍스트에
의존하는 논-클러스터(non-clustered) 애플리케이션을 클러스터 환경으로 이동하면 포팅 문제가 발생합니다.
일반적으로 애플리케이션이 J2EE 사양을 따르도록 하는 것이 모든 개발자 팀의 목표여야 함에도 불구하고
Coherence*Web은 클러스터 컨텍스트 옵션을 지원합니다.
클러스터 환경에서 발생하는 보다 미묘한 문제는 객체 공유 문제입니다. 논-클러스터(non-clustered)
응용 프로그램에서 두 세션 속성이 공통 객체를 참조하는 경우 공유 객체를 변경하면 두 세션 속성의 일부로서
표시됩니다. 그러나 이것은 클러스터 애플리케이션에서 흔한 경우는 아닙니다. 컴퓨팅 리소스의 불필요한 사용을
막기 위해 대부분 세션 관리 구현은 요청 시 세션 속성을 개별적으로 serialize 및 deserialize합니다.
WebLogic Server와 Coherence*Web(Traditional 및 Split 세션 모델)은 모두 기본적으로 이런 방식으로 작동합니다.
공통 객체를 참조하는 두 세션 속성을 개별적으로 deserialize하면 공유된 공통 객체는 두 번 인스턴스화됩니다.
공유 객체 동작에 의존하고 쉽게 수정할 수 없는 애플리케이션의 경우, Coherence*Web은 전체 세션 객체를
단일 동작으로 serialize 및 deserialize하는 Monolithic 세션 모델 옵션을 제공합니다. 그러면 처음부터 클러스터링을
염두에 두지 않고 설계된 애플리케이션에 대한 호환성이 제공됩니다.

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

반응형

1588이나 1566으로 시작하는 대표번호가 무료가 아닌 유료란 사실은 대부분 아실거라고 생각됩니다만 SK브로드밴드의 106도 무료가 아닌 유료입니다. KT의 100번은 무료구요. 파코즈 채남영님의 글을 보고 제 블로그에도 올려봅니다.
앞으로는 무료통화로 겁시다 대기사간 몇분이면 요금이 상당합니다. 상담전화도 서비스인데 당연히 무료로 걸어야죠~

★SKT
유료 : 1599-0011, 1566-0011
무료 : 114(휴대폰) / 080-011-6000(일반전화)

★KTF
유료 : 1588-0010
무료 : 114(휴대폰) / 080-080-1618(휴대폰/일반전화)

★LGT
유료 : 1544-0010
무료 : 114(휴대폰) / 080-019-7000(휴대폰/일반전화)

◆KT
무료 : 100(일반전화) / 080-2580-016,018 (휴대폰/일반전화)



◆하나로텔레콤(SK 브로드밴드)
무료 : 080-8282-106 (휴대폰/일반전화)

◆데이콤
유료 : 1544-0001
무료 : 080-850-8572 (휴대폰/일반전화)

◆온세통신
유료 : 1688-1000, 1688-2000
무료 : 083-100 (휴대폰/일반전화)

출처 ▶ [통신] 각통신사별 무료전화입니다
         내용보기 : http://www.parkoz.com/zboard/view.php?id=my_tips&no=13243
반응형

JEUS 운영 및 관리

JEUS 5.0을 버전을 기준으로 하고 설치시 입력한 JEUS 관리자의 비밀번호는 jeusadmin이라고 전제한다.

JEUS 구동

주로 jboot, jdown이란 이름으로 스크립트를 작성하여 실행한다. 이 파일들의 실제 명령행은 다음과 같다.

  • jboot: jeus -Uadministrator -Pjeusadmin
  • jdown: jeusadmin -Uadministrator -Pjeusadmin jeusexit

jeusadmin console

jeusadmin 콘솔툴을 이용하여 JEUS 컨테이너기동/종료, 엔진리스트확인 등 JEUS 엔진의 상태를 제어 및 점검한다.

  • 콘솔 실행: jeusadmin 'hostname' -Uadministrator -Pjeusadmin
  • 명령 목록
    • allenglist: jeusadmin의 allenglist 명령은 현재 각 컨테이너의 엔진기동 상태를 보여준다.
    • downcon <container-name>: 지정된 컨테이너를 종료시킨다.
    • startcon <container-name>: 지정된 컨테이너를 기동시킨다.
    • pidlist: JEUS의 엔진 프로세스를 확인한다.

webadmin console

webadmin 콘솔은 JEUS의 컨테이너 내부에 기동된 서블릿 엔진의 상태를 모니터링하기 위한 명령프롬프트이다.

  • 콘솔 실행: webadmin <container-name> -Uadministrator -Pjeusadmin
  • 명령 목록
    • ti: ti는 Thread Information의 약자로 JEUS 서블릿 엔진의 컨텍스트그룹 내부의 Worker Thread의 상태를 체크하기 위한 명령어이다.
    • st -m: 현재 Container의 JVM Memory 사용 현황
    • st -r: 설정한 Context로 들어온 요청 count와 평균처리시간
    • st -s: 현재 유지하고 있는 세션 객체의 수

webadmin 반복 모니터링

webadmin 내의 모니터링 명령어를 주기적으로 자동실행하게 하려면 다음과 같은 형식으로 명령어를 실행한다.

  • <command> -i 주기(초) -k 횟수
  • 예) ti -i 2 -k 10 : ti 명령어를 2초 간격으로 10번 수행

dbpooladmin console

dbpooladmin 콘솔은 컨테이너별로 할당된 Database Pool의 상태를 모니터링하기 위한 명령프롬프트이다.

  • 콘솔 실행: dbpooladmin<container-name> -Uadministrator -Pjeusadmin
  • 명령 목록
    • Info: 해당 컨테이너에서 관리되고 있는 Database Pool의 정보가 표시된다.
    • min, max 값은 JEUSMain.xml에 설정한 Pool의 최소/최대값이며 current는 현재 풀에 보관되고 있는 실제 커넥션의 수, idle의 풀에 보관되고 있는 커넥션중, 사용가능한 개수를 의미한다.

JEUS 웹 관리자

http://hostname:9744/webadmin 로 접속하여 administrator/jeusadmin 계정으로 로그인한다.

사용자 삽입 이미지

JEUS 웹 관리자

JEUS 장애 처리

JEUS 프로세스ID (PID) 확인

JEUS의 엔진 프로세스는 다음과 같이 2가지 방법으로 확인할 수 있다.

  • ps -ef | grep java
    • -Xmx512m 이후 부분을 확인하여 JEUS Manager 프로세스임을 확인한다.
    • [-D컨테이너이름]을 이용하여 컨테이너 프로세스임을 확인한다.
  • jeusadmin 콘솔툴을 이용한 PID 확인
    • pidlist: pidlist 명령을 사용하여 PID를 확인한다.

JAVA Dump

  • 덤프 생성: kill -3 [JEUS-PID]
  • 덤프 확인: JEUS JAVA프로세스에서 생성한 덤프는 JeusServerLog에서 확인한다.
    • 예) vi $JEUS_HOME/logs/`hostname`/JeusServer_20070201.log
WebtoB 운영 및 관리

WebtoB 구동

  • wsboot
  • wsdown-I : ps -ef을 이용하여 wsm, hth, htl, html 등의 프로세스가 나타나지 않으면 정상 종료

wsadmin console

WebtoB 시스템을 관리하기 위해서 wsadmin이라는 프로그램이 제공된다. wsadmin 프로그램은 UNIX 환경의 shell과 비슷한 Command Interpreter 이다. 즉, 항상 프롬프트상태로 대기중이다가 입력되는 명령어를 해석하여 이를 실행하게 된다. 여러 Node를 한 Domain으로 사용하는 경우 wsadmin으로 전체를 중앙관리가 가능하며 각 Node 별로 로컬에서만도 관리가 가능하다.

  • wsadmin
  • 명령 목록
    • ci: 요청에 대한 현재 클라이언트 정보를 표시한다. HTH당 접속한 클라이언트의 KeepAlive 되어있는 개수를 보여준다. WebtoB단에 요청을 보내고 HTTP Session의 KeepAliveTimeout 전까지 유지되고 있는 클라이언트의 총 개수 정보이다.
    • ci -s: 현재 클라이언트의 전체 수를 표시한다.
    • si: 웹서버 환경설정 파일에서 *SERVER 절에 선언한 서버들의 수행정보를 보여준다.
    • st -s: 웹서버 환경설정 파일에서 *SERVER, *URI, *EXT 절에 설정한 서비스의 상태가 보인다.
    • st -p: WebtoB 프로세스의 상태를 표시한다. 주로 JEUS-WebtoB간 연동 상태를 확인할 때 사용한다.

wsadmin 명령 연속 보기

ci, st -s, st -p, si 등의 명령어를 다음과 같이 수행하면 주기적으로 WebtoB의 상태를 모니터링할 수 있다.

  • r -i <시간(초)> -k <횟수> <명령>
  • 예) r -i 1 -k 1000 st -s
JEUS alias 설정

.profile 참고

...
export JEUS_HOME=/jeus
...
#### JEUS alias ####
alias ja='jeusadmin `hostname` -Uadministrator -Pjeusadmin'
alias ea='ejbadmin `hostname`_ejb_engine1 -Uadministrator -Pjeusadmin'
alias wa='webadmin `hostname`_container1 -Uadministrator -Pjeusadmin'
alias da='dbpooladmin `hostname`_container1 -Uadministrator -Pjeusadmin'
alias ti='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin ti -i 3 -k 100000'
alias ss='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin st -s -i 3 -k 100000'
alias sd='webadmin `hostname`_servlet_engine1 -Uadministrator -Pjeusadmin st -d -i 3 -k 100000'
alias di='dbpooladmin `hostname`_container1 -Uadministrator -Pjeusadmin info -i 3 -k 100000'

alias jcfg='cd ${JEUS_HOME}/config/`hostname`'
alias jbin='cd ${JEUS_HOME}/bin'
alias scfg='cd ${JEUS_HOME}/config/`hostname`/`hostname`_servlet_engine1'
alias ecfg='cd ${JEUS_HOME}/config/`hostname`/`hostname`_ejb_engine1'

alias jhome='cd ${JEUS_HOME}'
alias lhome='cd ${JEUS_HOME}/logs'

alias jlog='tail -f ${JEUS_HOME}/logs/`hostname`/JeusServer_`date +%Y%m%d`.log'
alias alog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/accesslog/access_`date +%Y%m%d`.log'
alias elog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/errorlog/error_`date +%Y%m%d`.log'
alias ulog='tail -f ${JEUS_HOME}/logs/`hostname`_servlet_engine1/MyGroup/userlog/user_`date +%Y%m%d`.log'

...
 
 

출처 : http://kyungseo.pe.kr/blog/102 E-MAIL 
반응형

제우스 설정 방법 몇 가지 (JEUS 6.0 기반)

 

이는 티맥스소프트에 AS 요청을 하면 원격으로 작업해주고 알려주는데, 체크시 자주 이용하는 것이라 정리하였다.

 

 

*. DB Close 가 정상적이지 않는 부분을 추적할 때 JEUSMain.xml 설정
<invocation-manager-action>Warning</invocation-manager-action>
<!--invocation-manager-action>AutoClose</invocation-manager-action-->

-> Warning 으로 설정하면 로그 파일에 DB Close 가 정상적이지 않는 파일의 이력이 나타남.
-> AutoClose 으로 설정하면 비정상인 소스를 자동 닫는 기능을 수행하나 디버깅이 안됨. 따라서 정상가동전에는 반드시

     Warning 상태로 테스트해야 함.


*. DB Connection 유실 있는 소스를 리눅스 콘솔에서 찾는 방법
[tmax@WEMS WEMS]$ grep "RequestURI" Jeus*20090312*.log
[2009.03.12 17:04:06][0][b168] [container1-42] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:04:14][0][b168] [container1-22] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:04:18][0][b168] [container1-32] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:04:19][0][b168] [container1-33] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:04:23][0][b168] [container1-26] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:04:35][0][b168] [container1-33] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:05:15][0][b168] [container1-30] [MGR-0107] RequestURI : /cewolf
[2009.03.12 17:05:22][0][b168] [container1-36] [MGR-0107] RequestURI : /cewolf

-> RequestURI 라는 예약어를 통해 관련 소스를 찾을 수 있음.


*. DB ConnectionPool 상태 보기
[tmax@WEMS WEMS]$ ja // 제우스 콘솔로 화면 전환
JEUS 6.0 (Fix#4) Jeus Manager Controller
WEMS>dsinfo 혹은 WEMS>dsinfo -i 5 -k 999 // 파라미터 의미: i(internal), k(repeat)

 

Connection pool information for engine container 'WEMS_container1'

----------------------------------------------------------------------------------
| id |        name | min | max | active | idle | disp | total | wating | working |
----------------------------------------------------------------------------------
|  1 | jdbc/source |   5 |  15 |      15 |    0 |    0 |     15 |   true |    true |
----------------------------------------------------------------------------------

disp : disposable connection, total = active + idle + disp
-> 컨넥션 풀로 설정한 정보를 제공하여 준다. 필요시 JEUSMain.xml에서 갯수를 변경할 수 있음


*. 제우스 쓰레드 상태 보기, 응답속도, 메모리 관련
[tmax@WEMS WEMS]$ ja // 제우스 콘솔로 화면 전환
JEUS 6.0 (Fix#4) Jeus Manager Controller


WEMS>ti

< ContainerName : WEMS_container1 >
-- Thread State [webtob1-hth0(localhost_9900)] --
[webtob1-hth0(localhost:9900)-w00][waiting, wt=84007 ms]
[webtob1-hth0(localhost:9900)-w01][waiting, wt=84004 ms]
[webtob1-hth0(localhost:9900)-w02][waiting, wt=84003 ms]
[webtob1-hth0(localhost:9900)-w03][waiting, wt=84000 ms]
[webtob1-hth0(localhost:9900)-w04][waiting, wt=84000 ms]
[webtob1-hth0(localhost:9900)-w05][waiting, wt=83996 ms]
[webtob1-hth0(localhost:9900)-w06][waiting, wt=83995 ms]
[webtob1-hth0(localhost:9900)-w07][waiting, wt=83993 ms]
[webtob1-hth0(localhost:9900)-w08][active, rt=111992 ms] /aaa/bbb/test.jsp
[webtob1-hth0(localhost:9900)-w09][waiting, wt=83990 ms]
[webtob1-hth0(localhost:9900)-w10][waiting, wt=83989 ms]
[webtob1-hth0(localhost:9900)-w11][waiting, wt=83986 ms]
[webtob1-hth0(localhost:9900)-w12][waiting, wt=83986 ms]
[webtob1-hth0(localhost:9900)-w13][waiting, wt=83882 ms]

-> active 상태가 장시간 지속되는 관련 소스는 반드시 체크되어야 함.

 

WEMS>st  -r // 요청에 대한 처리시간을 제공
< ContainerName : WEMS_container1 >
< request information(MyGroup/wems) >
   - total requests          : 19
   - total processing time   : 26023 ms
   - average processing time : 1369 ms


WEMS>st -m // 현재 사용중인 JVM 메모리 정보 제공
< ContainerName : WEMS_container1 >
< memory information >
VM Total Memory    = 648740864 Bytes
VM Free Memory     = 510449952 Bytes

 

*. 제우스 덤프 (AS 요청시 이 정보가 제공하면 빨리 처리될 수 있음.)
-> 아래와 같이 하면 로그 파일에 덤프가 수행됨

 

[tmax@WEMS WEMS]$ ja // 제우스 콘솔로 화면 전환하여 컨테이너의 pid값을 얻음.
JEUS 6.0 (Fix#4) Jeus Manager Controller

WEMS>pidlist
node or container : WEMS, pid : 25195
node or container : WEMS_container1, pid : 25248

 

[tmax@WEMS WEMS]$ kill -3  25248 // 콘솔상태에서 덤프실행 10초간격 3회 정도

-> 이를 수행하면 로그 파일에 덤프 정보가 수집됨.

 

*. OutOfMemoryError: PermGen Space 에러가 발생하였을 경우의 JEUSMain.xml 설정
-> Permsize를 조금 크게 하여 가동시킨다. 테스트 운영이나 스트레스 테스트 툴을 이용해 에러가 발생하지

     않는 값으로 최종 설정하면 된다.

<engine-container>
    <name>container1</name>
    <invocation-manager-action>Warning</invocation-manager-action>
    <command-option>
           -Xms512m -Xmx1024m -Djava.awt.headless=true
          -XX:PermSize=512m -XX:MaxPermSize=1024m
    </command-option>
    <sequential-start>true</sequential-start>
    <engine-command>
        <type>servlet</type>
        <name>engine1</name>
    </engine-command>
</engine-container>


반응형
 
제목 : AIX 플렛폼에서 WAS hang 현상 발생시 대처요령
글쓴이: 이원영(javaservice) 2003/02/24 08:39:21 조회수:2791 줄수:77
If Application Server Hang on AIX platform.

To troubleshoot the hang, please collect the following doc during the time that
the hang is occurring. login as "root",

1. netstat -an > netstat.txt (if webserver is remote, gather netstat output on
   Appserver machine AND webserver machine) 
2. ps -ef > ps.txt
3. df -k > df.txt
4. lsof -p [PID of hung appserver] > lsof.txt (You need to install "lsof" utility)
5. Can you serve a static document from the webserver? 
6. tprof -k -s -e -x sleep 60 
7. ./dbxtrace_aix.sh -a [PID of hung appserver] > dbxtrace.txt (wait until finished)
8. WAIT TWO MINUTES 
9. kill -3 [PID of hung appserver] 
10. WAIT TWO MINUTES 
11. kill -3 [PID of hung appserver] 
12. WAIT TWO MINUTES 
13. kill -3 [PID of hung appserver] 

The kill -3's should create javacore.txt files in the working directory of WAS,
normally Websphere\Appserver\bin directory.


Please send in the following files: 
1. Everything in <was root>\logs directory (from the WebSphere machine) 
2. If the webserver is remote, send the trace.log.<webserver name>.<date> (3.5.X), 
   native.log (4.0.X), or http_plugin.log (5.0.X) file from the webserver machine. 
3. dbxtrace.txt 
4. All javacore?????.txt files created 
5. netstat.txt, ps.txt, df.txt
6. Send in all files generated by tprof (especially  _prof.all). These files will
   be in the directory from which the tprof command was run and will begin with "_".
7. Additionally, for WebSphere,
   (1) uname -a > uname.txt
   (2) lslpp -i |grep AIX_ML | sort > aix_sw.txt
   (3) errpt -a > errpt.txt
   (4) httpd.conf of HTTP Server
   (5) WAS_HOME/bin/admin.config
   (6) WAS_HOME/bin# ./XMLConfig.sh -adminNodeName <server> -export xmlconfig.xml
       (send "xmlconfig.xml")
   (7) WAS_HOME/properties/com/ibm/websphere/product.xml

8. If you think the problem caused by JDBC Connection Pool, send me all Java source
  programs you have.


Appendix (사전 install)
1. lsof - LiSt Open Files  
http://www.javaservice.net/~java/bbs/read.cgi?m=unix&b=unix&c=r_p&n=959319048

2. dbxtrace.sh
a. "dbx" 라는 프로그램이 설치되어 있는지 확인해 보십시요. 만약 설치되어 있지
  않다면, 설치를 하도록 하십시요. 대부분 이미 설치되어 있을 겁니다.

b. 아래에 첨부한 dbxtrace.sh 라는 shell script 를 다운받아 적당한 디렉토리에
  넣어두고, 실행권한을 부여하십시요.
  # cp /tmp/dbxtrace.sh /usr/local/bin/
  # chmod 755 /usr/local/bin/dbxtrace.sh

  dbxtrace.sh script download
  http://w3.hursley.ibm.com/java/communication/aix/service/AIX/Tools.html 
  http://w3.hursley.ibm.com/java/communication/aix/service/AIX/dbxtrace  

c. root 유저에서 다음의 명령을 통해 system fullcore 옵션을 true 로 변경하시요.

  옵션확인방법 : lsattr -El sys0 | grep fullcore
  옵션변경방법 : chdev -a fullcore=true -l sys0

d. /usr/WebSphere/AppServer/bin/ 디렉토리에 있는 javacore* 및 core 파일은
  (현재 개발중이시니) 더이상 필요없으며, 가급적 삭제하시고, 각종 로그들도
  삭제하여 /usr 디스크의 free space 를 가급적 500MB 이상을 확보하십시요.


dbxtrace.sh (5456 Bytes)
lsof_aix_binary.zip (232832 Bytes)
출처 : 자바서비스넷 이원영(javaservice@hanmail.net)

반응형

▶ [리플발표] STCOM, ASUS P7P55D Deluxe (+)
  내용보기 :
http://www.parkoz.com/zboard/view.php?id=my_preview&no=35714

 

필드테스트 제품이 도착하였습니다. ^^ 이상하게 메모도 문자도 못받아서 그냥 떨어졌구나 생각했는데 1명만 선정되

는 필드테스트에 선정되어 보네요. 그것도 고급형 보드를 말이죠. 선정된지도 모르고 있다가 받아서 엄청 기뻤지만

댓글에....


린필드 860과 DDR3 메모리로 테스트 한다고 밝혀서 부랴부랴 린필드와 메모리를 질렀습니다.

린필드 860은 제대로 질렀지만... 크라운 메모리는 호환성 오류등도 있고 린필드 860사는 쇼핑몰에 재고가 없는 관계로.. 그냥 일반 블랙 방열판 버전 EKMEMORY DDR3 2G PC3-10600 모델로 질렀습니다. ^^


보드사진입니다. 파란색이 마음에 드네요. ^^ 보드 앞 뒷면에는 각종 기능 설명이 적혀 있습니다. 고급형 디럭스 모델답게 지원하는 기능등이 매우 많네요. ^^ 아수스 디럭스보드는 예전 P4C800 Delux 써보고 나서 오랜만입니다.


스펙에 관해서 간단하게 아이콘 형태로 쭉 나열되어 있습니다. 터보리모트로 유선리모컨이 제공되고 필드테스트에서 기능 설명을 해보도록 하겠습니다. 리모콘 기능과 DriveXpert기능이 디럭스모델에 제공되고 있습니다.

보드를 위해서 지른 물건들입니다. 보드값도 상당히 고가지만 린필드 860가격이 더 세더군요 ^^; 카드로 결제하니 더비싼..;; 메모리는 아쉽게도 크라운 모델로 구매하지는 못햇지만.. 모델처자보니 마음히 흐믓해지네요 ㅋㅋㅋ

 

사진찍는게 영 어설퍼서 내외관 및 장착 사진은 안습일것 같습니다만..;; 기능소개에 충실히 노력해보겠습니다. ^^

토요일 오후에나 CPU와 메모리를 배송 받아서..;; 이번주말에 필드테스트 완료하려고 했는데 다음주까지 미뤄질것 같습니다. 빨리 올리는것보다 성실히 기능에 대해서 소개해 보겠습니다. ^^


반응형

명작으로 알려진 마소 인텔리옵을 9900원이라는 엄청 저렴한 가격으로 구매했네요. 주력 마우스는 mx518을 쓰고 있지만 싼가격이라 질러줬습니다. ㅎㅎ 홈플러스 면목점에는 20개정도 여유가 있는듯 합니다. ㅎㅎ 퇴근하고 바로 질러줬지요. 옆에 크레신 헤드폰 C200H도 9900원에 팔더라구요. 개인적으로 커널 이어폰만 고집하는지라 요건 안질렀지만
요렇게 특가로 나올땐 질러줘야 겠습니다. ^^ 간만에 포스팅하면서 지름신고도 하네요 ㅋ
반응형

반응형

CD 드라이브 또는 DVD 드라이브가 없거나 Windows 또는 기타 프로그램에 의해 인식되지 않음

이 문서의 Windows 2000 버전에 대한 내용은 다음 문서를 참조하십시오. 270008  (http://support.microsoft.com/kb/270008/ ) .

이 페이지에서

모두 확대 | 모두 축소

문제 설명
CD 드라이브 또는 DVD 드라이브가 없거나 Windows 또는 기타 프로그램에 의해 인식되지 않으므로 CD 또는 DVD를 재생하거나 액세스할...

CD 드라이브 또는 DVD 드라이브가 없거나 Windows 또는 기타 프로그램에 의해 인식되지 않으므로 CD 또는 DVD를 재생하거나 액세스할 수 없습니다. 이 문제는 프로그램 또는 Windows Vista를 설치, 제거 또는 업데이트한 후에 발생했을 수 있습니다.

자세한 내용은 “추가 정보” 절을 참조하십시오.

이 문서는 문제점을 해결하도록 도와줍니다. 저희가 사용자를 위해 이 문제점을 해결할 수 있도록 하려면 "해결 지원" 절로 이동하십시오. 이 문제를 직접 해결하려면 "직접 해결" 절로 이동하십시오.

해결 지원
이 문제를 자동으로 해결하려면 이 문제 해결 링크를 클릭합니다. 그런 후 파일 다운로드 대화 상자에서 실행을 클릭하고 이 마법사의 단계를 따릅니...

이 문제를 자동으로 해결하려면 이 문제 해결 링크를 클릭합니다. 그런 후 파일 다운로드 대화 상자에서 실행을 클릭하고 이 마법사의 단계를 따릅니다.

이 문제 해결


참고 이 마법사는 당분간 영어로만 제공됩니다. 그러나 다른 언어 버전의 Windows에서도 자동 해결 기능을 사용할 수 있습니다.

참고 현재 문제가 있는 컴퓨터에서 작업 중이지 않은 경우 자동 해결 기능을 플래시 드라이브 또는 CD에 저장한 후 해당 컴퓨터에서 실행할 수 있습니다.

이제 "문제가 해결되었습니까?"" 절로 이동하십시오.

직접 해결
중요 이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가...

중요 이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수도 있으므로 다음 단계를 주의하여 수행해야 합니다. 추가 보호 조치로 레지스트리를 수정하기 전에 해당 레지스트리를 백업하는 것이 좋습니다. 이렇게 하면 문제가 발생하는 경우 레지스트리를 복원할 수 있습니다. 레지스트리 백업 및 복원 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
322756  (http://support.microsoft.com/kb/322756/ ) Windows XP 및 Windows Server 2003에서 레지스트리를 백업, 편집 및 복원하는 방법

이 문제는 두 개의 Windows 레지스트리 항목이 손상되었기 때문에 발생한 것입니다. 이 문제를 해결하려면 레지스트리 편집기를 사용하여 손상된 레지스트리 항목을 삭제해야 합니다. 이 방법을 사용하려면 Windows에 관리자 권한으로 로그온해야 합니다. 관리자인지 확인하는 데 도움이 필요한 경우 다음 Microsoft 웹 사이트를 참조하십시오.
http://support.microsoft.com/gp/admin (http://support.microsoft.com/gp/admin)

Microsoft Windows Vista

  1. 시작
    그림 축소그림 확대
    시작 단추
    을 클릭한 후 모든 프로그램을 클릭합니다.
  2. 보조프로그램을 클릭한 후 실행을 클릭합니다.
  3. regedit를 입력한 다음 확인을 클릭합니다.
    그림 축소그림 확대
    사용자 액세스 제어 권한
    관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 허용을 클릭합니다.
  4. 탐색 창에서 다음 레지스트리 하위 키를 찾아 누릅니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}
  5. 오른쪽 창에서 UpperFilters를 클릭합니다.

    참고 UpperFilters.bak 레지스트리 항목이 표시될 수도 있습니다. 이 항목을 제거할 필요는 없습니다. UpperFilters만 클릭합니다. UpperFilters 레지스트리 항목이 표시되지 않으면 LowerFilters 레지스트리 항목을 제거해야 할 수 있습니다. 이렇게 하려면 8단계를 진행합니다.
  6. 편집 메뉴에서 삭제를 클릭합니다.
  7. 삭제할지 묻는 메시지가 나타나면 를 클릭합니다.
  8. 오른쪽 창에서 LowerFilters를 클릭합니다.

    참고 LowerFilters 레지스트리 항목이 표시되지 않으면 이 문서의 내용이 더 이상 도움이 될 수 없습니다. 추가 솔루션 또는 Microsoft 웹 사이트에 대한 추가 도움말을 찾는 방법에 대한 정보를 보려면 "다음 단계" 절로 이동하십시오.
  9. 편집 메뉴에서 삭제를 클릭합니다.
  10. 삭제할지 묻는 메시지가 나타나면 를 클릭합니다.
  11. 레지스트리 편집기를 종료합니다.
  12. 컴퓨터를 다시 시작합니다.
이제 "문제가 해결되었습니까?" 절로 이동하십시오.

Microsoft Windows XP

  1. 시작을 클릭하고 실행을 클릭합니다.
  2. 열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.
  3. 탐색 창에서 다음 레지스트리 하위 키를 찾아 클릭합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}
  4. 오른쪽 창에서 UpperFilters를 클릭합니다.

    참고 UpperFilters.bak 레지스트리 항목이 표시될 수도 있습니다. 이 항목을 제거할 필요는 없습니다. UpperFilters만 클릭합니다. UpperFilters 레지스트리 항목이 표시되지 않으면 LowerFilters 레지스트리 항목을 제거해야 할 수 있습니다. 이렇게 하려면 7단계를 진행합니다.
  5. 편집 메뉴에서 삭제를 클릭합니다.
  6. 삭제할지 묻는 메시지가 나타나면 를 클릭합니다.
  7. 오른쪽 창에서 LowerFilters를 클릭합니다.

    참고 LowerFilters 레지스트리 항목이 표시되지 않으면 이 문서의 내용이 더 이상 도움이 될 수 없습니다. 추가 솔루션 또는 Microsoft 웹 사이트에 대한 추가 도움말을 찾는 방법에 대한 정보를 보려면 "다음 단계" 절로 이동하십시오.
  8. 편집 메뉴에서 삭제를 클릭합니다.
  9. 삭제할지 묻는 메시지가 나타나면 를 클릭합니다.
  10. 레지스트리 편집기를 종료합니다.
  11. 컴퓨터를 다시 시작합니다.
이제 "문제가 해결되었습니까?"" 절로 이동하십시오.

문제가 해결되었습니까?
Microsoft Windows Vista시작 을 클릭한 후 컴퓨터를 클릭하고 해당 드라이브가 목록에 있는지를 확인합니다. Microsoft W...

Microsoft Windows Vista

시작
그림 축소그림 확대
시작 단추
을 클릭한 후 컴퓨터를 클릭하고 해당 드라이브가 목록에 있는지를 확인합니다.

Microsoft Windows XP

시작을 클릭하고 내 컴퓨터를 클릭한 후 해당 드라이브가 목록에 있는지 확인합니다.

드라이브가 목록에 있는지 여부


드라이브가 목록에 있는 경우 CD 또는 DVD를 재생하거나 액세스해봅니다.
CD 또는 DVD를 재생하거나 액세스할 수 있으면 이 문서의 작업이 끝났습니다.

CD 또는 DVD를 재생하거나 액세스할 수 없으면 일부 프로그램을 다시 설치해야 할 수 있습니다. 일부 프로그램은 다시 설치하지 않으면 CD 또는 DVD 드라이브를 사용하지 못할 수 있습니다. 해당 프로그램을 설치하거나 제거한 후에도 이 문제가 다시 발생하면 프로그램 제조업체에 문의하여 문제를 해결하는 업데이트를 사용할 수 있는지 확인하십시오. 영향 받을 수 있는 일부 프로그램 예는 다음과 같습니다.
  • Apple의 iTunes 소프트웨어
  • Nero Inc.의 Nero 소프트웨어
  • Sonic Solutions의 Roxio Creator 소프트웨어
  • Microsoft의 Zune 소프트웨어
프로그램을 다시 설치한 후에 CD 또는 DVD를 재생하거나 액세스할 수 있으면 이 문서의 작업이 끝났습니다.

여전히 CD 또는 DVD를 재생하거나 액세스할 수 없으면 "다음 단계" 절을 참조하십시오.

의견을 보내 주셔서 감사합니다. 의견을 보내거나 이 해결 방법에 대한 문제점을 보고하려면 "Fix it for me" 블로그 (http://blogs.technet.com/fixit4me/) 에 의견을 남겨 주시거나 전자 메일 (mailto:fixit4me@microsoft.com?Subject=KB314060 - Delete lower and upper filters for CD devices) 메시지를 보내 주십시오.

드라이브가 목록에 없는 경우 기존 드라이버를 제거한 후 다시 설치하십시오.

드라이버 제거 및 다시 설치


드라이브가 목록에 없는 경우 기존 드라이버를 제거한 후 다시 설치하십시오. 이렇게 하려면 다음과 같이 하십시오.

Microsoft Windows Vista

  1. 시작
    그림 축소그림 확대
    시작 단추
    을 클릭한 후 제어판을 클릭합니다.
  2. 시스템 및 유지 관리를 클릭하고 시스템을 클릭한 후 장치 관리자를 클릭합니다.

    참고 제어판이 클래식 보기로 표시되면 시스템을 두 번 클릭한 후 장치 관리자를 클릭합니다.

    그림 축소그림 확대
    사용자 액세스 제어 권한
    관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 허용을 클릭합니다.
  3. 장치 관리자에서 DVD/CD-ROM 드라이브를 확장하고 CD 및 DVD 장치를 마우스 오른쪽 단추로 클릭한 후 제거를 클릭합니다.
  4. 장치를 제거할지 확인하는 메시지가 나타나면 확인을 클릭합니다.
  5. 컴퓨터를 다시 시작합니다.
컴퓨터가 다시 시작되면 드라이버가 자동으로 설치됩니다.

Microsoft Windows XP

  1. 시작을 클릭하고 제어판을 클릭합니다.
  2. 시스템 및 유지 관리를 클릭한 후 시스템을 클릭합니다,
  3. 하드웨어 탭에서 장치 관리자를 클릭합니다. 관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 허용을 클릭합니다.
  4. 장치 관리자에서 DVD/CD-ROM 드라이브를 확장하고 CD 및 DVD 장치를 마우스 오른쪽 단추로 클릭한 후 제거를 클릭합니다.
  5. 장치를 제거할지 확인하는 메시지가 나타나면 확인을 클릭합니다.
  6. 컴퓨터를 다시 시작합니다.
컴퓨터가 다시 시작되면 드라이버가 자동으로 설치됩니다.

드라이버 다시 설치로 문제가 해결되었는지 확인합니다.

이제 CD 또는 DVD를 재생하거나 액세스해봅니다.

CD 또는 DVD를 재생하거나 액세스할 수 있으면 이 문서의 작업이 끝났습니다.

CD 또는 DVD를 재생하거나 액세스할 수 없으면 일부 프로그램을 다시 설치해야 할 수 있습니다. 일부 프로그램은 다시 설치하지 않으면 CD 또는 DVD 드라이브를 사용하지 못할 수 있습니다. 해당 프로그램을 설치하거나 제거한 후에도 이 문제가 다시 발생하면 프로그램 제조업체에 문의하여 문제를 해결하는 업데이트를 사용할 수 있는지 확인하십시오. 영향 받을 수 있는 일부 프로그램 예는 다음과 같습니다.
  • Apple의 iTunes 소프트웨어
  • Nero Inc.의 Nero 소프트웨어
  • Sonic Solutions의 Roxio Creator 소프트웨어
  • Microsoft의 Zune 소프트웨어
프로그램을 다시 설치한 후에 CD 또는 DVD를 재생하거나 액세스할 수 있으면 이 문서의 작업이 끝났습니다.

CD 또는 DVD를 재생하거나 액세스할 수 없으면 "다음 단계" 절을 참조하십시오.

의견을 보내 주셔서 감사합니다. 의견을 보내거나 이 해결 방법에 대한 문제점을 보고하려면 "해결 지원" 블로그 (http://blogs.technet.com/fixit4me/) 에 의견을 남겨 주시거나 전자 메일 (mailto:fixit4me@microsoft.com?Subject=KB314060 - Delete lower and upper filters for CD devices) 메시지를 보내 주십시오.

다음 단계
이 방법이 도움이 되지 않으면 Microsoft 기술 지원 서비스 웹 사이트를 사용하여 다른 솔루션을 찾을 수도 있습니다. Microsoft 기...

이 방법이 도움이 되지 않으면 Microsoft 기술 지원 서비스 웹 사이트를 사용하여 다른 솔루션을 찾을 수도 있습니다. Microsoft 기술 지원 서비스 웹 사이트에서 제공하는 몇 가지 서비스는 다음과 같습니다.
  • 검색 가능한 기술 자료 (http://support.microsoft.com/search/?adv=1) : Microsoft 제품의 기술 지원 정보와 자체 도움말 도구를 검색합니다.
  • 해결 방법 센터 (http://support.microsoft.com/select/?target=hub) : 제품별 질문과 대답 및 지원 사항을 봅니다.
  • Microsoft 고객기술지원부 뉴스 그룹 (http://www.microsoft.com/communities/newsgroups/default.mspx) : 담당자, 동료 및 MVP(Microsoft Most Valuable Professionals)에 문의합니다.
  • 기타 지원 옵션 (http://support.microsoft.com/default.aspx?pr=csshome) : 웹을 사용하여 질문을 올리거나, Microsoft 기술 지원 서비스에 문의하거나, 의견을 제공하십시오.
이러한 Microsoft 웹 사이트를 사용한 후에 질문이 있거나 Microsoft 기술 지원 서비스 웹 사이트에서 해결 방법을 찾을 수 없는 경우 다음 링크를 클릭하여 지원 서비스에 문의하십시오.
http://support.microsoft.com/contactus (http://support.microsoft.com/contactus)

추가 정보
이 문제는 다음 중 한 가지 상황에서 발생했을 수 있습니다. 컴퓨터를 Windows Vista로 업그레이드했거나 Windows Vista 서비스...

이 문제는 다음 중 한 가지 상황에서 발생했을 수 있습니다.
  • 컴퓨터를 Windows Vista로 업그레이드했거나 Windows Vista 서비스 팩 1을 설치한 경우
  • CD 또는 DVD 기록 프로그램을 설치 또는 제거한 경우
  • Microsoft Digital Image를 제거한 경우
다음과 유사한 오류 메시지 중 하나가 나타날 수 있습니다.
  • 장치 관리자에서 CD 드라이브나 DVD 드라이브를 보면 다음과 같은 오류 메시지 중 하나가 나타납니다.

    오류 메시지 1
    Windows에서 필요한 드라이버를 로드할 수 없기 때문에 해당 장치가 올바르게 작동하지 않습니다. (코드 31)
    오류 메시지 2
    이 장치의 드라이버는 필요하지 않으며 사용하지 않도록 설정되었습니다. (코드 32 또는 코드 31)
    오류 메시지 3
    레지스트리가 손상되었을 수 있습니다. (코드 19)
  • "오류 코드 39" 오류 메시지
  • 다음과 유사한 메시지가 알림 영역에 나타납니다.
    이 하드웨어에 대한 장치 드라이버를 로드했지만 하드웨어 장치를 찾을 수 없습니다. (코드 41)
위로 가기

출처 : 마이크로소프트 KB314060
반응형

+ Recent posts