글쓴이 보관물: YOUNGMIN JUN

YOUNGMIN JUN에 대하여

컴퓨터 : 맥북프로 레티나 13인치, 아이맥 27인치, 소니 TT16, 서피스2 RT, 서피스2 프로, 후지찌 P1610

오라클 LOCK 걸린 개체 확인 및 LOCK 해제

1. LOCK 걸린 개체 확인

SELECT OBJECT_ID
     , SESSION_ID
     , ORACLE_USERNAME
     , OS_USER_NAME
FROM V$LOCKED_OBJECT;

2. 해당 SESSION_ID와 SERIAL 번호로 락걸린 개체 확인

SELECT A.SID 
     , A.SERIAL#
     , OBJECT_NAME
     , A.SID || ', ' || A.SERIAL# AS KILL_TASK
FROM V$SESSION A
INNER JOIN V$LOCK B ON A.SID = B.SID
INNER JOIN DBA_OBJECTS C ON B.ID1 = C.OBJECT_ID
WHERE B.TYPE  = 'TM'

3. 락 발생 사용자 및 OBJECT 조회 + 어떤 SQL를 실행중인지 확인

Lock을 해제하기전에 Lock을 유발시킨 SQL이 어떤것인지를 확인하여 실행되고 있는지 아니면 정말로 Lock 인지를 확인해야 함.

SELECT DISTINCT T1.SESSION_ID
     , T2.SERIAL#
     , T4.OBJECT_NAME
     , T2.MACHINE
     , T2.TERMINAL
     , T2.PROGRAM
     , T3.ADDRESS
     , T3.PIECE
     , T3.SQL_TEXT
FROM V$LOCKED_OBJECT T1
     , V$SESSION T2
     , V$SQLTEXT T3
     , DBA_OBJECTS T4
WHERE T1.SESSION_ID = T2.SID
  AND T1.OBJECT_ID = T4.OBJECT_ID
  AND T2.SQL_ADDRESS = T3.ADDRESS
ORDER BY T3.ADDRESS, T3.PIECE;

4. SID와 시리얼 번호로 세션 해제

ALTER SYSTEM KILL SESSION ${2번에서 KILL_TASK로 조회한 결과값};

참고사이트

오라클 LOCK 걸린 개체 확인 및 LOCK 해제

Git Remote Repository Change

내가 생성한 Repository의 원격 저장소를 변경하거나,
다른 RepositoryFork해서 작업하던 Repository를 최신화 해 줄때 사용한다.

Old Repository 최신화

저장소를 최신화하기 위해서는 먼저 저장소를 코드를 Pull(=Update) 하여 갱신을 하고, 내 로컬에서 작업하고 있는 코드를 모두 Push(=CheckOut) 해준다.

$ git pull
$ git add .
$ git commit -m "Local code commit all."
$ git push

Old Repository의 Remote 정보 확인

저장소에 연결되어 있는 Remote Repository의 정보를 확인 할 수 있다.

$ git remote -v

Old Repository Remote 제거

저장소에 연결되어 있는 Remote Repository를 제거한다.
Remote Repositoryorigin이라는 별칭으로 등록되어 있기에 해당 별칭을 사용하여 제거

$ git remote remove origin

New Repository Reomote 추가

origin이라는 별칭으로 사용하던 Remote Repository를 삭제 하고 난 후,
다시 origin이라는 별칭으로 Remote Repository를 새로 등록해 준다.

$ git remote add origin ${신규 저장소 주소 : https://github.com/계정/리포지토리.git}

새로운 Remote Repository를 연결했다면 Pull하여 최신화된 코드로 갱신하여 사용한다.