SELECT UTC.TABLE_NAME,

       UTC.COLUMN_NAME AS PHYSICAL_NAME,

       (SELECT CASE WHEN UCC.COLUMN_NAME IS NOT NULL THEN 'PK' 

                    ELSE '' 

               END

          FROM USER_CONSTRAINTS UC, USER_CONS_COLUMNS CC

         WHERE UC.CONSTRAINT_NAME = CC.CONSTRAINT_NAME

           AND UC.CONSTRAINT_TYPE = 'P'

           AND UTC.TABLE_NAME = UC.TABLE_NAME

           AND UTC.COLUMN_NAME = CC.COLUMN_NAME) AS PK,       

       UTC.DATA_TYPE || 

       CASE

          WHEN UTC.DATA_TYPE = 'NUMBER' THEN '(' || UTC.DATA_PRECISION || ', ' || UTC.DATA_SCALE || ')'

          ELSE CASE WHEN UTC.CHAR_LENGTH != 0 THEN '(' || UTC.CHAR_LENGTH || ')' ELSE NULL END

       END AS DATA_TYPE,

       UCC.COMMENTS AS LOGICAL_NAME,

       --T.DATA_SCALE,

       UTC.NULLABLE,

       UTC.DATA_DEFAULT

  FROM USER_TABLES UT,

       USER_TAB_COLUMNS UTC, 

       USER_COL_COMMENTS UCC              

 WHERE UT.TABLE_NAME = UTC.TABLE_NAME

   AND UTC.TABLE_NAME = UCC.TABLE_NAME

   AND UTC.COLUMN_NAME = UCC.COLUMN_NAME

 ORDER BY UTC.TABLE_NAME, UTC.COLUMN_NAME ASC;

Posted by bluescor

http://www.makina-corpus.org/blog/howto-install-oracle-11g-ubuntu-linux-1204-precise-pangolin-64bits

Posted by bluescor

1. 먼저 lock 확인을 한다.

-- lock 걸린 SERIAL_NO,SESSION_ID, OBJECT
SELECT DISTINCT t1.session_id AS session_id
,t2.serial# AS serial_no
,t1.os_user_name AS os_user_name
,t1.oracle_username AS oracle_username
,t2.status AS status
,t3.object_name
,DECODE( locked_mode
,2, 'ROW SHARE'
,3, 'ROW EXCLUSIVE'
,4, 'SHARE'
,5, 'SHARE ROW EXCLUSIVE'
,6, 'EXCLUSIVE'
,'UNKNOWN'
) lock_mode
FROM v$locked_object t1, v$session t2, dba_objects t3
WHERE t1.session_id = t2.SID
AND t1.object_id = t3.object_id;

2. 위 쿼리에서 확인한 session_id를 *SESSION_ID*에 넣으면 어떤 sql을 사용해서 lock이 걸렸는지 확인 할 수있다.

-- lock 걸린 sql
SELECT b.username username
,c.SID AS session_id
,c.owner object_owner
,c.OBJECT OBJECT
,b.lockwait
,a.sql_text SQL
,piece
FROM v$sqltext a, v$session b, v$access c
WHERE a.address = b.sql_address
AND a.hash_value = b.sql_hash_value
AND b.SID = c.SID
AND c.owner != 'SYS'
and c.SID = '*SESSION_ID*'
ORDER BY b.username, c.SID, c.owner, c.OBJECT, piece;

3. 아래 쿼리 *SESSION_ID*,*SERIAL_NO* 부분에 위 1번 쿼리에서 확인한 session_id,serial_no을 사용하여 lock 걸린 session을 kill 한다.

-- lock 걸린 SESSION kill
alter system kill session '*SESSION_ID*,*SERIAL_NO*'

4. 3번의 alter system kill session을 사용하여도 죽지 않는 경우 아래 쿼리를 사용하여 PROCESS ID를 확인하여 unix에서 직접 PROCESS를 kill한다.
* 주의!!! 실수하기 쉽고 위험한 방법으로 lock걸린 내용을 정확히 알지 못할 경우 kill하지 말것!!!

-- lock 걸린 PROCESS ID 찾기
SELECT DISTINCT s.username "ORACLE USER"
,p.pid "PROCESS ID"
,s.SID "SESSION ID"
,s.serial#
,osuser "OS USER"
,p.spid "PROC SPID"
,s.process "SESS SPID"
,s.lockwait "LOCK WAIT"
FROM v$process p, v$session s, v$access a
WHERE a.SID = s.SID
AND p.addr = s.paddr
AND s.username != 'SYS'

-- unix에 로그인 하여 process kill
kill -9 프로세스아이디

 

Posted by bluescor

1. Oracle 홈페이지 Oracle Client Deinstall Tool 을 다운로드 받는다.
   해당 OS의 See All을 클릭하면 나오는 화면에 Oracle De-install Utility 라는 다운로드가 있다
2. 다운받은 파일의 압축을 해제 한다.
3. 시작버튼 -> 모든프로그램 -> 보조프로그램 -> 명령 프롬프트를 관리자 권한으로 실행
4. 명령프롬프트에서 좀전에 압축을 해제한 폴더안의 deinstall 폴더로 이동한다.
5. set ORACLE_HOME = C:\app\bluescor\product\11.2.0\client_1(경로는 설치한 위치에 맞게 넣어준다)
6. deinstall -home C:\app\bluescor\product\11.2.0\client_1(경로는 설치한 위치에 맞게 넣어준다)
이렇게 하면 중간에 Y/N을 물어보는데 Y를 입력하면 삭제가 진행된다.

Posted by bluescor

CHARSET 확인 쿼리문 :
select parameter, value from nls_database_parameters where parameter = 'NLS_CHARACTERSET'

CHARSET 변경

SYSTEM 계정으로 connect 한다.
 
update sys.props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET'; 
update sys.props$ set value$='KO16MSWIN949' where  name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='KOREAN_KOREA.KO16MSWIN949' where name='NLS_LANGUAGE';
commit;
 
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE KO16MSWIN949;
SHUTDOWN IMMEDIATE;
STARTUP;

Posted by bluescor

예전에는 SQL Server CD 안에 관리툴이 들어 있었던거 같은데....SQL SERVER 2008을 설치 했더니 DVD안에 관리툴이 안보인다...
뭐....내가 못찾은걸수도 있지만......
어쨌든...없던 찾지 못했던간에....사용을 해야하므로....MS에 가서 검색을 했다..
설치를 하려면
http://www.microsoft.com/downloads/details.aspx?familyid=08E52AC2-1D62-45F6-9A4A-4B76A8564A2B&displaylang=ko 
이 주소에 가서 자신의 OS에 맞는 버젼을 다운로드 받아 서치하면 된다.
Posted by bluescor
이전버튼 1 이전버튼

블로그 이미지
bluescor

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함