[Linux/Unix] find 조건 -exec ls -al {} \;
·
OS/Linux&Unix
# find 조건 -exec ls -al {} \; -exec의 의미는 '조건을 가지고 찾은 파일들을 대상으로 다음 명령어를 실행하라' 라는 의미를 가지고 있다. 그럼 어디까지가 실행 시킬 명령어인지가 중요하다. 실행시킬 명령어의 범위는 -exec 다음부터 ;(세미콜론)을 만날 때 까지로 정의되어 있다. 그런데 ;(세미콜론)은 유닉스에서 좀 특별한 의미를 가지고 있습니다. 명령어 세퍼레이터라고 해서 명령어를 연속적으로 실행할 때 사용한다. 예를들어 clear;ls하면 cleaer가 실행된다음 ls가 실행되는 식. 따라서 find 조건 -exec 실행시킬 명령어 ; 이렇게만 쓰면 쉘이 ;(세미콜론)을 특수한 문자로 인식해서 find라는 명령어게는 ;(세미콜론)이 전달되지 않게 된다. 그러면 find는 어디..
[Linux/Unix] 2>&1 이해하기
·
OS/Linux&Unix
이런저런 쉘스크립트를 보다면 스크립트의 문장 끝부분이 다음과 같은 구문을 종종 보게된다. cat /tmp/error.txt > /dev/null 2>&1 cat 명령은 error.txt 파일의 내용을 출력하는 명령이고... > 는 리다이렉션으로 화면에 출력되는 내용을 > 다음에 지정한 파일로 보내는 것이니 /dev/null 로 결과를 보내고, 즉 화면에는 표시하지 않고...까지는 유닉스 환경을 다루어본 학생이나 엔지니어라면 쉽게 이해한다. 문제는 2>&1 이다. 흔히 "아~저건 에러메시지도 화면에 표시하지 않게하는 거지."라며 아는 척~~하는 사람들도 많다. 맞다. 정확하게 알고 있긴하다. 쉘스크립트를 작성하고 실행할 때 중간에 에러가 발생하게 되면 에러메시지가 화면에 고스란히 출력되어 보기에 썩~좋지 ..
[Linux/Unix] AIX - machine 전체 CPU 및 Core 수 확인
·
OS/Linux&Unix
AIX가 설치된 Machine이 몇개의 CPU로 몇 Core를 가지고 있는지 확인할 수 있는 방법 물리적으로 Total CPU = CPU 수 x Core 수 그러면 Machine에서는 어떻게 확인할까? # lscfg 명령어 lscfg 명령어로 현재 HardWare 구성정보를 확인할 수 있다. 설치된 CPU 칩의 갯수와 CPU가 몇 Core로 되어 있는지 확인한다. # lscfg -vp | grep WAY 4-WAY PROC CUOD: 내가 사용하고 있는 장비의 값 4-WAY => CPU칩 당 Core 수 4-WAY PROC CUOD: => 해당 라인이 나온 갯수는 CPU칩 수 따라서 내가 사용하고 있는 Machine 전체의 수는 4x1 = 4 core 임. # lparstat 명령어 lparstat 명령..
TPENOENT - no entry found / conversation모드에서는 서버의 수동 리부팅이 되지 않는다.
·
Trouble Shooting
# 테스트  ## conversation 모드에서 서비스 호출이 안된다. 1. AP server에 CONV=Y 옵션을 주어 conversation모드로 설정하였다.2. Client에서 서비스를 호출하였지만 tperrno = 6 에러만 나왔다.3. CONV=N 옵션을 준 AP server에 호출을 하면 정상적으로 서비스 호출이 되었다.4. 생각해보자. 왜 conversation모드인 AP server에서는 tperrno = 6 에러 즉,  왜 해당 서비스를 찾을 수 없다는 에러가 나왔을까?짐작해보자면...5. conversation모드에서는 대화형 모드로 서버/클라이언트가 연결된다. 이에 사용되는 함수가 tpconnect() 이며 메세지를 주고 받을 때 tpsend() tprecv()함수를 사용한다.연결을..
[Tuxedo] TM_SVCTIMEOUT_SIGTERM 파라미터와 tmshutdown -w 옵션이 많이 사용되지 않는 이유
·
Trouble Shooting
# TM_SVCTIMEOUT_SIGTERM 옵션은 SERVICES 섹션에 설정된 SVCTIMEOUT 값(초)에 의존한다. 만약 TM_SVCTIMEOUT_SIGTERM=YES이고 SVCTIMEOUT=10초 로 환경설정이 되어있다면 AP server로 부터 SVCTIMEOUT이 10초동안 발생하게 되면 곧바로 SIGTERM이 사용되어 해당 서비스를 가지고있는 AP server는 terminate되며 restart 된다. (*SERVERS 섹션에서 RESTART=Y로 되어있는 경우에 한함) 140642.node1!BBL.9110032.1.0: CMDTUX_CAT:1837: WARN: Server(49414440) processing terminated with SIGTERM after SVCTIMEOUT 14..
[Tuxedo] TM_SHUTDOWNTIMEOUT 테스트
·
Trouble Shooting
# TM_SHUTDOWNTIMEOUT  0~65535(초) 까지의 값을 설정 가능하며, 이 파타미터가 설정되어 있으면 tmshutdown은 timeout을 처리한다.AP server 프로세스가 TM_SHUTDOWNTIMEOUT 으로 설정된 시간(초) 이내에 정상적으로 종료되지 않으면, tmshutdown 은 더 이상 기다리지 않고 아래와 같이 메시지를 남기고 계속 진행하게 된다.  tmshutdown -s simpserv Shutting down server processes ... Server Id = 21 Group Id = APPGRP2 Machine = SITE2: timeout Server Id = 21 Group Id = APPGRP1 Machine = SI..
[Tuxedo] Oracle Tuxedo 10gR3 patch 152
·
Middleware/Tuxedo
# 테스트환경 AIX IBM 7.2 / oracle Tuxedo 10.3 oracle Tuxedo는 12c 부터 설치시 Opatch 디렉토리가 자동적으로 생기지만 아래 버전들은 따로 디렉토리를 만들어 주어야 한다. + 12c 보다 패치방식 훨씬 간단하다고 생각한다. 12c는 patch file의 경로와 oraInst.loc 파일의 경로를 모두 잡아주어야하는 번거로움이 있어서 그렇달까... # 패치 순서 1. 오라클에서 받은 패치 파일을 IBM AIX으로 보내고 압축해제를 해준다. 나는 Opatch 디렉토리를 새로 만들어 이곳에 설치파일을 떨어뜨렸다. # ls p20445464_10300_AIX64-5L.zip # unzip p20445464_10300_AIX64-5L.zip Archive: p204454..
[Tuxedo] SHM 모드에서 BBL의 상태가 DEAD 일 때
·
Trouble Shooting
잘 띄워진 BBL을 kill -9 로 죽였다. psr로 확인하니 DEAD 상태가 나왔다. psr 과 psc 커맨드는 들어먹지만 pclt 커맨드는 사용되지 않는다. BBL의 관리하에 WSH가 움직이기 때문이다. BBL이 죽으면 tmshutdown 도 되지 않는다. master node로 해당 명령어를 사용하라는 로그만 나온다. >tmshutdown -cy Shutting down all admin and server processes in /ofm/jwchoi/sw2/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/tuxconfig tmshutdown: internal error: CMDTUX_CAT:766: ERROR: must run on master node >tmshutdo..
[Tuxedo] WARN: Server(42271008) processing terminated with SIGTERM after SVCTIMEOUT
·
Trouble Shooting
UBBCONFIG 환경파일의 SERVICE 섹션에서 SVCTIMEOUT=15(초) 로 설정을 해주었기 때문에 아래와 같이 ULOG에는 15초에 한번씩 SVCTIMEOUT 되는 log가 떨어진다. 내가 알고 싶은 건 SVCTIMEOUT이 일어나고 15초 사이에 Service가 Hang 되었는지 아닌지다. => * 1초단위로 txrpt 수행해서 확인한다. # 테스트 AP server가 TOUPPER 서비스를 수행하는 평균시간으로 16초 마다 서비스 수행을 했던 것으로 기록된다. >txrpt -n TOUPPER -d 12/7 -s 18:16:06 -e 18:30:50 < stderr3 START AFTER: Wed Dec 7 18:16:06 2022 END BEFORE: Wed Dec 7 18:30:50 20..
[Tuxedo] Linux Tuxedo 튜닝 환경설정
·
Middleware/Tuxedo
튜닝을 위해서는 OS / 네트워크 / Tuxedo 환경설정 3가지가 필요하다. == 자세한 글은 아래 출처에 있으며 Tuxedo 환경설정만 가져왔다. == Tuxedo ubbconfig 환경설정 1) WSH의 개수 설정 WSH의 역할은 WS 클라이언트와 통신하는 역할을 하며, 하나의 WSH은 멀티 플렉싱 기능을 이용하여 하나 이상의 WS 클라이언트와 통신이 가능하다. 하나의 WSH가 몇 개의 WS 클라이언트와 통신을 할지는 ubbconfig의 WSL 정의 부분에 CLOPT 부분에 "-x" 옵션으로 지정하는데, 일반적으로 10`50개 사이의 값으로 설정하고, 하나의 WSH가 50개 이상의 클라이언트를 처리해야 하는 경우는 WSH의 수를 늘려야 한다. 2) 서버의 갯수의 설정 Tuxedo 상의 어플리케이션 ..
girokza
기록자