2010년 1월 10일 일요일

[유용한툴]fixel ruler (픽셀측정자)

 

평소갖고 싶었던놈이었는데, 생각난김에 깔아봤다.

http://www.mioplanet.com/products/pixelruler/

여기서 무료로 다운받을수 있고,

요렇게 생겼다. 사용법은 간단하다

좌클릭하면 세로↔가로 방향이 바뀌고

우클릭하면 꺼진다.

기본사이즈 600 px보다 크게 마우스 커서를 움직이면 자동으로 커진다.

드래그해서 이리저리 끌고 옮겨다닐 수 있다.

 

몇해전에 달통이라는 위젯 사이트에서 비슷한 fixcel ruler를 썼는데,

고놈의 단점은 꼭 달통 매니져가 있어야 한다는것.

 

괜찮은 놈일것 같다.^^

요즘 블로깅을 하면서 꽤 필요해진 녀석이다.

요렇게 측정할때 좋다!!

[블로그] 블로그 관련

출처 : http://hisastro.textcube.com/

 

텍스트큐브 상단 타이틀 배경 아주 쉽게 변경하기

텍스트큐브 상단 타이틀 배경에 블로그 링크 아주 쉽게 걸기

 

[짬통]제안서 배경에 좋은 고해상도 이미지

제안서 배경에 좋은 고해상도 이미지 하나

 

출처 : http://hisastro.textcube.com/tag/고해상도%20이미지?page=1

 

세상엔 퍼나르기에도 시간이 부족한 너무나도 많은 좋은 자료들이 있다.

[Oracle] Installing Oracle Database 11g Release 2 on Linux x86

출처 : http://linux.textcube.com/

 

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

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

2010년 1월 6일 수요일

[Oracle] session kill 하기

 

SQL> select sid, serial# from v$session where sid='223';

       SID    SERIAL#
---------- ----------
       223      25336

SQL>

SQL>

SQL>

SQL> alter system kill session '223, 25336';

System altered.

Elapsed: 00:00:01.02
SQL>

[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개의 파일이 나온다.
이  세 파일을 스킨 직접올리기 기능을 이용해서 올린다.


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

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

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