2010년 1월 6일 수요일

[Oracle] locked object 조회하기 (9i)

 

SET LINESIZE 145
SET PAGESIZE 66

COLUMN owner        FORMAT a5      HEADING 'Owner'
COLUMN object_type  FORMAT a10     HEADING 'Type'
COLUMN object_name  FORMAT a25     HEADING 'Name'
COLUMN Object       FORMAT a27     HEADING 'Object'
COLUMN locked_mode  FORMAT a20     HEADING 'Locked Mode'
COLUMN sid          FORMAT 999999  HEADING 'DB SID'
COLUMN username     FORMAT a15     HEADING 'Locker'
COLUMN osuser       FORMAT a10     HEADING 'O/S User'
COLUMN logon_time                  HEADING 'Login Time'

prompt
Prompt +-----------------------------------------------------------------+
Prompt | Table Locking Info FROM v$locked_object, dba_objects, v$session |
Prompt +-----------------------------------------------------------------+

SELECT
      SUBSTR(b.owner, 1, 8)||'.'||SUBSTR(b.object_name, 1, 18) "Object"
  , b.object_type                   object_type
  , DECODE(a.locked_mode
             , 0, 'NONE'
             , 1, 'NULL'
             , 2, 'ROW SHARE'
             , 3, 'ROW EXCLUSIVE'
             , 4, 'SHARE'
             , 5, 'SHARE ROW EXCLUSIVE'
             , 6, 'EXCLUSIVE')      locked_mode
  , a.session_id                    "DB Sid"
  ,a.oracle_username                "Locker"
  , a.os_user_name                  osuser
  , TO_CHAR(c.logon_time,'YYYY/MM/DD HH24:MI:SS') logon_time
FROM
    v$locked_object a
  , dba_objects b
  , v$session c
WHERE
      a.object_id  = b.object_id
  AND a.session_id = c.sid
ORDER BY
    b.owner
  , b.object_type
  , b.object_name
/

COLUMN UserName     FORMAT a20      HEADING 'UserName'
COLUMN "DB Sid" FORMAT 999999      HEADING 'DB Sid'
COLUMN "Unix Pid" FORMAT 99999999
COLUMN "Trnx_start_time" FORMAT a19
COLUMN "Current Time" FORMAT a19
COLUMN "Elapsed(mins)" FORMAT 999999999.99
COLUMN "Undo Name" FORMAT a09
COLUMN "Used Undo Blks" FORMAT a13
COLUMN "Used Undo Size(Kb)" FORMAT a17
COLUMN "Logical I/O(Blks)" FORMAT 99999999999999999
COLUMN "Logical I/O(Kb)" FORMAT 999999999999999
COLUMN "Physical I/O(Blks)" FORMAT 999999999999999999
COLUMN "Physical I/O(Kb)" FORMAT 999999999999999999

Prompt +-------------------------------------------------------------------------------------------------+
Prompt | User Transactions Info FROM v$session, v$transaction, dba_rollback_segs, v$parameter, v$process |
Prompt +-------------------------------------------------------------------------------------------------+

SELECT
    a.username  "UserName"
  , a.sid       "DB Sid"
  , e.spid      "Unix Pid"
  , TO_CHAR(TO_DATE(b.start_time,'mm/dd/yy hh24:mi:ss'),'yyyy/mm/dd hh24:mi:ss') "Trnx_start_time"
  , TO_CHAR(sysdate,'yyyy/mm/dd hh24:mi:ss') "Current Time"
  , ROUND(60*24*(sysdate-to_date(b.start_time,'mm/dd/yy hh24:mi:ss')),2) "Elapsed(mins)"
  , c.segment_name "Undo Name"
  , TO_CHAR(b.used_ublk*d.value/1024) "Used Undo Size(Kb)"
  , TO_CHAR(b.used_ublk) "Used Undo Blks"
  , b.log_io "Logical I/O(Blks)"
  , b.log_io*d.value/1024 "Logical I/O(Kb)"
  , b.phy_io "Physical I/O(Blks)"
  , b.phy_io*d.value/1024 "Physical I/O(Kb)"
  , a.program
FROM
    v$session         a
  , v$transaction     b
  , dba_rollback_segs c
  , v$parameter       d
  , v$process         e
WHERE
      b.ses_addr = a.saddr
  AND b.xidusn   = c.segment_id
  AND d.name     = 'db_block_size'
  AND e.ADDR     = a.PADDR
ORDER BY 4
/

Prompt +-------------------------------------------------------------------------------+
Prompt | Objects owned by users being accessed FROM v$session, v$transaction, v$Access |
Prompt +-------------------------------------------------------------------------------+

COLUMN TYPE         FORMAT a24     HEADING 'Type'
COLUMN object       FORMAT a30     HEADING 'Object'
COLUMN UserName     FORMAT a20      HEADING 'UserName'
COLUMN "DB Sid"     FORMAT 999999

SELECT
    a.username  "UserName"
  , a.sid       "DB Sid"
  , SUBSTR(c.owner, 1, 8)||'.'||SUBSTR(c.object, 1, 18) "Object"
  , c.type      "Type"
FROM v$session        a
   , v$transaction    b
   , v$Access         c
WHERE
     a.saddr     = b.ses_addr
AND  c.sid       = a.sid
AND  c.owner NOT IN ('SYS')
ORDER BY a.sid, c.type
/

Prompt +-------------------------------------------+
Prompt |  Blocked objects from V$LOCK and SYS.OBJ$ |
Prompt +-------------------------------------------+

COLUMN BLOCKED_OBJ FORMAT a35 HEADING 'Blocked Object'

SELECT /*+ ORDERED */
    l.sid
,   l.lmode
,   TRUNC(l.ctime/60) min_blocked
,   u.name||'.'||o.NAME blocked_obj
FROM (SELECT *
      FROM v$lock
      WHERE type='TM'
      AND sid IN (SELECT sid
                  FROM v$lock
                  WHERE block !=0 )) l
,     sys.obj$ o
,     sys.user$ u
WHERE o.obj# = l.ID1
AND   o.OWNER# = u.user#
/

Prompt +-------------------------------+
Prompt |  Blocked sessions from V$LOCK |
Prompt +-------------------------------+

SELECT /*+ ORDERED */
   blocker.sid blocker_sid
,  blocked.sid blocked_sid
,  TRUNC(blocked.ctime/60) min_blocked
,  blocked.request
FROM (SELECT *
      FROM v$lock
      WHERE block != 0
      AND type = 'TX') blocker
,    v$lock        blocked
WHERE blocked.type='TX'
AND blocked.block = 0
AND blocked.id1 = blocker.id1
/

CLEAR COLUMN
CLEAR BREAKS
SET LINES 80
SET TRIMS on
SET PAGES 9000
COLUMN sql_text FORMAT a70 word_wrapped
COLUMN sid FORMAT a10 NOPRINT new_value n_sid
COLUMN serial FORMAT a10 NOPRINT new_value n_serial
COLUMN username FORMAT a20 NOPRINT new_value n_username
COLUMN machine FORMAT a20 NOPRINT new_value n_machine
COLUMN osuser FORMAT a20 NOPRINT new_value n_osuser
COLUMN process FORMAT a20 NOPRINT new_value n_process
COLUMN action FORMAT a45 NOPRINT new_value n_action

Prompt +--------------------------------------------------------+
Prompt |  Blockers session details from V$SESSION and V$SQLTEXT |
Prompt +--------------------------------------------------------+

BREAK ON sid ON serial ON username ON process ON machine ON actiON skip page

ttitle -
       "Sid .......... : "  n_sid -
      skip 1 -
       "Serial ....... : "  n_serial -
      skip 1 -
       "Username ..... : "  n_username -
      skip 1 -
       "Machine ...... : "  n_machine -
      skip 1 -
       "OSuser ....... : "  n_osuser -
      skip 1 -
       "Process ...... : "  n_process -
      skip 1 -
       "Action ....... : "  n_action -

SELECT /*+ ORDERED */
   sid,serial# serial,username,machine,osuser,process,module||' '||action action,sql_text
FROM v$session ses, v$sqltext txt
WHERE txt.address(+) = ses.sql_address
AND   txt.hash_value(+) = ses.sql_hash_value
AND   ses.sid IN (SELECT sid
      FROM v$lock
      WHERE block != 0
      AND type = 'TX')
ORDER BY ses.sid,txt.piece
/

 

출처 : http://www.tek-tips.com/viewthread.cfm?qid=1291771&page=9

 

 

 

 

출처 : http://npnglife.tistory.com/100

 


오라클 테이블 락 확인 및 해제 lock(9i)
 
-- 테이블에 lock을 발생시킨 user를 찾을 경우가 많습니다. 
-- 특히 OPS(RAC on 9i) system에서는 더더욱 그런 경우가 많구요. 
-- 제가 관리하던 시스템에서 자주 썼던 sql입니다.
-- 기타 많은 유사한 sql로 있습니다만 한번 써 보시길 바랍니다.


/* 락발생 사용자와 sql, object 조회 */

select distinct x.session_id,  a.serial#,d.object_name,a.machine,a.terminal,a.program,b.address,b.piece, b.sql_text
from v$locked_object x, v$session a, v$sqltext b, dba_objects d
where x.session_id = a.sid
and x.object_id = d.object_id
and a.sql_address = b.address
--and a.terminal = ''
order by b.address,b.piece;


/* 락 발생 사용자확인 */

select distinct x.session_id,  a.serial#,d.object_name,a.machine,a.terminal,a.program, a.logon_time
--select  'alter system kill session ''' || a.sid || ',' || a.serial# || ''';'
from gv$locked_object x, gv$session a, dba_objects d
where x.session_id = a.sid
and x.object_id = d.object_id
order by logon_time;
;


/* 현재 접속자의 sql 분석 */

select distinct a.sid,a.serial#,a.machine,a.terminal,a.program,b.address,b.piece, b.sql_text
from v$session a, v$sqltext b
where a.sql_address = b.address
order by a.sid, a.serial#,b.address,b.piece;


/* 접속 사용자 제거 */

--alter system kill session 'session_id,serial#';
alter system kill session '51,1111; 
 
SQL> ed
file afiedt.buf(이)가 기록되었습니다
  1  select distinct x.session_id,  a.serial#,d.object_name,a.machine,a.terminal,a.program, a.logon_time
  2  --select  'alter system kill session ''' || a.sid || ',' || a.serial# || ''';'
  3  from gv$locked_object x, gv$session a, dba_objects d
  4  where x.session_id = a.sid
  5  and x.object_id = d.object_id
  6* order by logon_time
SQL> /
SESSION_ID    SERIAL# OBJECT_NAME                                                                                                              MACHINE
---------- ---------- -------------------------------------------------------------------------------------------------------------------------------- ---------
------
        11         35 MR_CMSAPPLYDT                                                                                                            MSHOME\JAEHYUK
        11         35 MR_CMSDT                                                                                                                 MSHOME\JAEHYUK
        12        280 MR_CMSDT                                                                                                                 MSHOME\JAEHYUK
        14         16 MR_CMSDT                                                                                                                 MSHOME\JAEHYUK

SQL> alter system kill session '11,35';
시스템이 변경되었습니다.

2010년 1월 2일 토요일

[블로그] 텍스트큐브에 태그 구름 달기

이틀동안의 검색과 실패와 노가다 끝에.

삽군난무붑샤 님의 블로그 에서 정답을 찾았다.

휴... 그얼마나 달고싶던 태그 구름이었는가.


아래 그 원문을 붙여넣어본다.


=================================================================================================
 하는방법 알아내려고 블로그들 무진장 뒤졌습니다. 
몇번 실패를 거듭한후에 겨우 성공했네요.
 생각보다 힘들었어요.
 기념으로 인증샷 한컷


 관련 포스트 링크들.


ps. 혹시 자신의 텍스트큐브닷컴 블로그에 태그구름위젯을 달고 싶은 분들을 위해 방법을 적어 놓습니다.

1. 일단 아래의 링크에서 태그 클라우드 파일을 받습니다.

TiCumulus.zip 파일을 받아서 압축을 풀면 파일 2개가 나옵니다.

2. 블로그에 비밀글을 하나 쓰고 첨부파일로 파일 2개를 올립니다.
 swfobject.js
 tagcloud.swf
첨부파일로 올리면 tagcloud.swf 파일은 비밀글에 플래시이미지로 나옵니다.

3. 올린 파일의 주소를 알아냅니다. 자세한 내용은 아래의 링크를 참고하세요.

읽어보시면 알겠지만 swfobject.js 파일은 마우스 오른쪽 클릭으로 주소를 알수 있습니다. tagcloud.swf 파일은 파일명이 변합니다. 글의여백에서 오른쪽 버튼 누르고 소스를 열어야 주소를 알수 있습니다. 주소를 알았으면 메모장에 꼭 복사해 놓습니다. 텍큐닷컴의 첨부파일주소는 이런식입니다.

 http://블로그주소/글숫자/attach/swfobject.js
 http://블로그 주소/본문주소/attach/변경된파일명.swf

4. 내 블로그 관리하기->꾸미기->스킨편집으로 갑니다.

관련포스트는 여기입니다.

 스킨편집으로 들어가서 사이드 바 관련 내용이 있는 곳을 찾습니다.
아래처럼 써있는 장소가 사이드바가 있는 곳입니다.

 

</s_sidebar_element> <s_sidebar_element> <!-- 공지사항 위젯 --> <div class="part notice"> <h3>공지</h3> <ul class="box"> <s_rct_notice_rep> <li><a href="[##_notice_rep_link_##]">[##_notice_rep_title_##]</a> </li> </s_rct_notice_rep> </ul> </div> </s_sidebar_element> <s_sidebar_element> <!-- 카테고리 위젯 --> <div class="part category"> <h3>분류</h3> <div class="box">[##_category_##]</div> </div> </s_sidebar_element> <s_sidebar_element>

</s_sidebar_element>
이렇게 파란색으로 표시된곳 사이에 아래박스의 글을 복사해 붙여넣습니다.
<s_sidebar_element>

 

<s_sidebar_element> <!-- 태그목록 모듈 --> <div class="tagbox widget"> <div style="padding-left:1px;padding-right:1px;"><h3>태그 구름</h3> <div id="htags" style="display:none;"><tags> <s_random_tags> <a href="[##_tag_link_##]" class="[##_tag_class_##]">[##_tag_name_##]</a> </s_random_tags> <a href="/"></a></tags></div> <div id="TiCumulus"><p>Tistory Cumulus Flash tag cloud by <a href="http://zoc.kr">BLUEnLIVE</a> requires Flash Player 9 or better.</p></div> <script type="text/javascript" src="swfobject.js파일 주소"></script> <script type="text/javascript"> var t = new SWFObject("tagcloud.swf파일 주소", "tagcloud", "100%", "200", "7", "#FFFFFF"); t.addVariable("tcolor", "0x222222");t.addVariable("hicolor", "0x3C5A91");t.addVariable("tcolor2", "0xF0E68C"); t.addVariable("mode", "tags");t.addVariable("distr", "true");t.addVariable("tspeed", "100");t.addParam("allowScriptAccess", "always"); t.addVariable("tagcloud", document.getElementById('htags').innerHTML.replace(/&amp;/gi, ' ').replace(/class=([\w]+)/gi, 'class="$1"').replace(/\"\"/gi, '"').replace(/class=\"/gi, 'style=\"font-size:').replace(/:cloud([\d])/gi, ':1$1pt;').replace(/TAGS\>/gi, 'tags>').replace(/\<A\s/gi, '<a ').replace(/\<\/A\>/gi, '</a>').replace(/\"/g, "'")); t.write("TiCumulus"); </script> </div> </s_sidebar_element>
 
그리고 "swfobject.js파일 주소" "agcloud.swf파일 주소" 부분을 앞에서 비밀글에 첨부파일로 올린 2개파일의 주소로 수정합니다.이제 거의 끝났습니다. 스킨을 저장합니다.

5. 내블로그 관리하기->꾸미기->위젯으로 갑니다.

위젯추가를 보면 "태그목록 모듈"이 생겨있습니다. 자신이 원하는 위치로 드래그해 옮기고 저장합니다. 여기까지 다하셨다면 사이드 바에 태그구름이 추가 되었을 겁니다.  관련포스트는 아래입니다.

 조금 복잡해보이긴 하지만, 우리모두 태그구름을 달아봅시다. 하악하악.

 그럼이만.


ps2. 여기까지 다끝내고 나서 충격적인 내용의 아래 포스트 발견

Cumulus for Textcube.com 1.23


 


1. 파일 설치

아래 파일을 다운받아 압축을 풀면 j_swfobject.gif, j_TeCumulus.gif, s_tagcloud.gif의 3개의 파일이 나온다.
이  세 파일을 스킨 직접올리기 기능을 이용해서 올린다.


 
텍큐닷컴용이 있었던거냐!

고로 앞에 설명한거 싹잊으시고 그냥 저 태그구름을 받으시는게 좋을듯.

난..... 삽(질)난무군이니까 괜찮아...........
=================================================================

[짬통] 무료 웹하드 추천

http://windwaker.tistory.com/212

 

[아이폰] 수면패턴 분석하여 알람울려주기


기타 아이폰 app 관련 소개 블로그

app다운
http://appulo.us/appdb/
http://iphonecake.com/appcake/en/search.php?q=need

필수어플

아이폰 한글화
===============================================
서울버스 v
whats app messenger v
어썸노트(awesome note) v
다음지도 v
슬립사이클알람클락 v
한글연락처 / 초성변환
걸스와치
smartSMS
암기짱flashCard
지하철
worldcard mobile
gps차계부 driver note
암기짱 flashcard master
smart sms

살것들...
=========
http://www.iphonenara.co.kr


허억.  
베게 밑어 넣어준 아이폰의 매트리스의 진동을 탐지해서
수면패턴을 분석하고 이에따라 일어나기 쉬운 시간에 알람을 울려 깨워준단다.
과연 아이폰의 앱은 정말 방대하구나...


아이폰 10일 사용기


아이폰(iPhone)을 사용한지 이제 10일이 되었습니다. 바로 아이튠즈에 가입(국내,미국)하고 앱들을 모으기 시작했습니다.

아이폰이 저의 생활에 어떤 변화를 가져다줄 수 있는지, 그 효용가치를 높이기 위해 여러 앱들을 깔고 지우기를 반복했습니다.
이 과정에는 원칙이 몇 가지가 있는데, 순정에서 벗어나지 않는다는 것과, 유료 앱 구매를 최소화하며 진행한다는 것입니다.
그저 '비싼 장난감'으로 치부되지 않도록 하기 위해, 최대한 활용성을 확장하는데 주안점을 두고 있었습니다.

현재 벗님의 아이폰에는 거의 10페이지 정도의 앱들이 올라와 있습니다. 심심풀이 삼아 동작시켜볼 수 있는 앱들도 많지만,
정말 실용적이며, 꼭 필요한 앱들이 두 페이지 정도를 자리하고 있습니다. 이 괜찮은 앱들은 아이폰을 재밌는 물건으로 만듭니다.
어떤 앱들은 수 백 메가가 넘는 상대적으로 상당힌 큰 용량이지만, 아이폰에서는 가벼운 앱 아이콘으로 인해 가볍게 느껴집니다.
모든 앱들이 모두 동일한 크기의 아이콘에 담겨 있어서 주머니 안에 유리 구슬을 만지는 것처럼 편안하고 쉽게 다가옵니다.

아이폰의 '앱'들은 마치 예전의 '코원 D2의 엄청난 펌웨어'를 통해 느꼈던 것처럼 '완전히 새로운 기기'를 접하는 것과 같은
'새로운 경험'을 제공해주기도 합니다. 그 중 하나가 바로 벗님이 구매한 단 하나의 유료 앱 'Sleep Cycle alarm clock'입니다.


이 'Sleep Cycle alarm clock'은 '수면의 패턴'을 분석하게 가장 편안하게 잠에서 일어날 수 있도록 도와주는 앱입니다.
이 앱은 꼭 '매트리스'에서 수면을 취하는 분들만 이용하셔야 합니다. 수면을 취하는 사람이 뒤척이는 정도를 매트리스의
작은 흔들림으로 감지하며 이 앱이 동작되기 때문입니다. 기상 시간을 설정하고, 머리 맡의 매트리스에 놓으면 됩니다.

우리들이 흔히 깊은 숙면 상태에서는 잠을 깨기가 힘들고 비몽사몽한 상태로 하루를 시작하게 되는데, 이 앱은 그런 시간대를
피해 아주 작고 잔잔한 알람 소리로 잠을 깨워줍니다. 신기하게도 그 소리가 잘 들리고, 편안하게 일어나게 되었습니다.
엄청나게 큰 텔레비젼의 볼륨이 아니라, 머리맡에 들릴 듯 말 듯 들리는 알람을 들으며 쉽게 일어나게 되는 건 정말 신기한
경험이었습니다. 이 앱에 6시 20분으로 알람을 맞춰 놓았는데, 6시 즈음이 되어 알람이 울리며 일어나게 되었습니다.
이 시기가 가장 편안하게 일어날 수 있는 시간대였던 모양입니다. 정말 신기하고, 0.99달러가 하나도 아깝지 않았습니다.


아이폰의 하나의 '디바이스'입니다. 어떻게 사용하는가에 따라서, 단순한 전화기, 재미있는 장난감, 비즈니스 북,
건강 매니저, 네이게이션처럼 무궁무진하게 변신에 변신을 거듭합니다. 십만 개가 넘는 앱들이 이런 변화를 이끌어내며
전혀 예상하지 못했던 활용성으로 '아이폰이라는 디바이스'를 '정말 대단한 물건'으로 탈바꿈시키고 있습니다.

벗님의 관련 포스트 :
- 아이폰 만져보기 ( http://daeil.textcube.com/1541 )







2010년 1월 1일 금요일

[체험단] 무한도전 달력 체험단

 

출처 : http://www.chaehum.com/exp/?fn=exp_view&number=150

 

 

 

 

  

아이템

:

 

  

신청 기간 : 2009-12-23 ~ 2010-01-05 까지

모집인원 : 10명

  

제 목

:

무한도전캘린더

상 태

:

접수중

 

 

 

2010년도 무한도전과 함께! 무비무비무비! 힘차게 달려요!

예능을 넘어선 개념방송이라고 불리는 무한도전의 새로운 칼렌더입니다. 매년 캘린더를 제작으로 인한 수익은 도움이 필요한 이웃들을 위해서 쓴다고 하죠. 유재석을 비롯한 멤버들의 익살스럽고 재밌는 사진들이 가득 실려 있습니다. 무한도전의 2010년의 캘린더를 체험하세요.

 
     

 


 

1 _ 체험단 모집안내

체험대상 : 체험닷컴 회원 여러분
체험상품 : 무한도전 캘린더(탁상용)
모집인원 : 10명
모집기간 : 2009년 12월 23일부터
2010년 1월 5일 까지, 2010년 1월 6일 발표
후기등록 : 2010년 1월 20일까지
* 후기를 등록하지 않을 경우 제품을 반납해야 되며,차 후 진행되는 체험단 선정시 불이익이 있습니다.

 
 

2 _ 체험단 응모안내

자신이 체험단이 선정되어야 하는 이유와 각오를 담아 체험단 신청서 작성 체험단에 선정되는 비법 공개
비법1. 기존에 참여한 체험단 주소를 남겨주세요
비법2. 이벤트 페이지를 블로그, 카페, 미니홈피 등의 커뮤니티에 홍보해 주세요!

 

3 _ 체험단 수행미션

1. 제품의 모양, 다양한 색상 등을 담아 사진, 동영상으로 제작
2. 작성된 체험기를 체험닷컴에 등록 후 퍼가기 버튼을 이용해 5곳 이상의 블로그, 카페, 미니 홈피 등의 커뮤니티에 업로드
* 반드시 퍼가기 버튼을 이용해 다른 사이트에 게시하셔야 합니다.

 

 

 

 

 

[Office] word2007 포스트작성 테스트

과연 캡쳐해서 붙여넣은 그림이 제대로 포스팅 될까??

게시후 블로그 확인해보니 왠일 너무 잘된다!!

이미지 url을 확인해보니
http://fs.textcube.com/blog/4/40165/attach/XSXAXjBTFM.png 요런식으로 텍큐 내부에 png형식으로

저장되는듯...우후후 짱이다.!!



우하하. 텍큐에서 글작성할때 캡쳐한 그림을 바로 붙여넣을 수 없어(이미지로 저장한 후 파일로 업로드해야 한다)

불편했는데, word2007 짱이다!!

[짬통] 스마트폰용 키보드

 

Foldable Universal Bluetooth Keyboard

January 21st, 2009        

Goto comments Leave a comment

This is a $54 Foldable Universal Bluetooth Keyboard which will work with your Palm OS, Pocket PC, Smart Phone etc. Will you get more comfortable with this?

[via Woohome]