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

Control에서 상속을 받아 컨트롤을 만들때에 내부에 텍스트 출력 및 정렬을 하려면 OnPaint 이벤트에 직접 코딩을 해줘야 한다.
Text 를 출력하는 방법은
protected override void OnPaint(PaintEventArgs pea)
        {
            StringFormat format = new StringFormat(StringFormatFlags.NoClip);
            format.Alignment = StringAlignment.Center;
            format.LineAlignment = StringAlignment.Center;
            pea.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), new RectangleF(0, 0, this.Width, this.Height), format);
         }
이렇게 하면 출력이 된다.
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
이 두부분이 정렬 설정 부분이다. 설정은 레리아웃의 방향에 따라 설정이 되면 Near, Center, Far 세가지가 있다
레이아웃이 왼쪽에서 오른쪽인 경우에는 Near가 Left 또는 Top이 된다.
new RectangleF(0, 0, this.Width, this.Height) 이 부분은 컨트롤의 가운데 찍으려면 이렇게 값을 주면 되고 내부에 별도 영역에 출력을 하려면 그 여역을 지정해 주면 된다..
더 쉬운 방법이 있을것 같기도 한데...모르겠다..

'PC Programming > C# .net' 카테고리의 다른 글

c# DOCK Property 설정  (0) 2012.03.19
c# 에서 Debug메세지 뿌리기  (0) 2011.08.08
SqlCommand에서 Parameter 사용  (0) 2010.03.24
Posted by bluescor
폼에 판넬(Panel1)을 놓은다음 다른 판넬(Panel2)을 올려 놓은 후 뒤 Panel2 Dock 설정을 Fill이 아니라 다른 값으로 설정을
한 후 Panel1의 Dock 설정을 Fill로 설정을 하게 되면 Panel1이 폼 전체에 가득 차게 된다..
다른 언어에서는 자동으로 뒤에 놓은 판넬도 고려해서 적용이 됐었던것 같은데...
이 경우에 Panel1위에서 마우스 오른쪽 클릭을 한 후에 맨 앞으로 가져오기를 하게 되면 Panel2의 공간을 제외한 공간에 가득 차게 된다.
왜 안되는지 한참 고민했는데....별게 아니었네...;;;
귀찮게 되어 있다....
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
단말기 Debug메세지에 메세지 나오게 하는 C# 함수 단말기 외에도 사용은 가능할듯 하다....
사용은 안해봐서 정확하지는 않지만...

System.Diagnostics.Debug.WriteLine("메세지");
System.Diagnostics.Trace.WriteLine("메세지");
Posted by bluescor
1. 콘솔창(cmd.exe)을 띄운다
2. chcp 65001 을 입력한다
3. 글꼴을 Lucida Console로 변경 한다.
4. adb logcat을 입력한다.

'MOBILE > ANDROID' 카테고리의 다른 글

안드로이드 개발환경 구축하기  (0) 2010.09.19
Posted by bluescor

필요 프로그램은 아래와 같다
1 ~ 3번 은 다운받아 설치 하고 4번은 이클립스 플러그 인이므로 이클립스에서 다운로드 한다.
1. JDK 1.6
2. 이클립스(갈릴레오)
3. ANDROID SDK
4. ADT

1. JDK 설치하기(현재 최신 버젼이 AJVA6 Update 21 이다)
  - 다운받은 파일을 실행한다.(jdk-6u21-windows-i586.exe)





JDK 설치후에 환경설정을 해주어야 한다.





2. 이클립스는 원하는곳에 압축을 풀면된다.

3. ANDROID SDK 설치하기
  - 원하는 곳에 다운받은 파일의 압축을 푼다
  - SDK Manager.exe 를 실행한다.




  - 안드로이드 프로그래밍을 할때 가상 장치를 이용하기 위하여 가상 장치 등록을 해야한다.
  - Virtual Device 메뉴로 이동하여 ADD를 클릭한다.
  - 난 갤럭시S 프로그램을 해야해서 이름을 GALAXYS로 했다


4. ADT 설치
  - 이클립스를 실행한다



  - location 에 입력하는 주소 : https://dl-ssl.google.com/android/eclipse/ 


여기서 Contact all update sites during ....... 의 체크를 꼭 해제한다. 해제하지 않으면 소프트웨어 업데이트 체크때문에 시간이 오래걸린다.



  - 아래와 같이 보안 경고가 뜨면 OK를 눌러서 넘어간다.


  - 아래처럼 재시작 한다고 나오면 YES를 눌러 재시작 한다.

  - 재시작을 하면 단축 아이콘에 안드로이드 아이콘이 나온다.

여기까지 하면 안드로이드 개발을 위한 설정은 끝...

'MOBILE > ANDROID' 카테고리의 다른 글

Android Logcat을 콘솔에서 한글로 보는 방법  (0) 2011.07.08
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
이전버튼 1 2 이전버튼

블로그 이미지
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

최근에 올라온 글

최근에 달린 댓글

글 보관함