매번 설치할 때 마다 찾는 것이 귀찮아서 링크를 달아 봅니다.
분명 필요하신 분들 계실것이라 보고...

Oracle Database Software Download

10g Release2(10.2.0.4.0) DownLoad



10204_vista_w2k8_x64_production_client 를 설치하면 되는데요...
압축을 푸시면 나타나는

10204_vista_w2k8_x64_production_client\client\install 폴더의 oraparam.ini 파일을
Windows=5.0,5.1,5.2,6.0,6.1 로 수정합니다.


10204_vista_w2k8_x64_production_client\client\stage\prereq\client 폴더의 refhost.xml 파일에
20~21 Line 을 추가해주자.

    1   <CERTIFIED_SYSTEMS>

    2     <OPERATING_SYSTEM>

    3     <!--Microsoft Windows 2000-->

    4       <VERSION VALUE="5.0"/>

    5       <SERVICE_PACK VALUE="1"/>

    6     </OPERATING_SYSTEM>

    7     <OPERATING_SYSTEM>

    8     <!--Microsoft Windows XP-->

    9       <VERSION VALUE="5.1"/>

   10       <SERVICE_PACK VALUE="1"/>

   11     </OPERATING_SYSTEM>

   12     <OPERATING_SYSTEM>

   13     <!--Microsoft Windows 2003-->

   14       <VERSION VALUE="5.2"/>

   15     </OPERATING_SYSTEM>

   16     <!--Microsoft Windows Vista-->

   17     <OPERATING_SYSTEM>

   18       <VERSION VALUE="6.0"/>

   19     </OPERATING_SYSTEM>

   20     <OPERATING_SYSTEM>

   21       <VERSION VALUE="6.1"/>

   22     </OPERATING_SYSTEM>

   23   </CERTIFIED_SYSTEMS>


10204_vista_w2k8_x64_production_client\client\stage\prereq\client_prereqs\client 폴더의  refhost.xml 파일도 마찬가지...

그리고 10204_vista_w2k8_x64_production_client\client 폴더의 Setup.exe 를 실행시키자...

깔린다.

아래 링크는 참고한 글입니다. 글 감사합니다.
http://microdesk.tistory.com/115



행복한 고수되십시요...












저작자 표시 비영리 변경 금지
신고
Posted by woojja
Oracle 의 Bulk Insert 를 했더랬지요...
그것이 Bulk Insert 인지도 모른체 했더랬지요.

그냥 그렇게 하라고 해서 했더랬지요...

어떻게 했냐고요? ㅋㅋㅋ 무식한 방법으로 했더랬지요.

구분자를 둬서... 

예를 들면 

구분자 ^ 와 @ 로 하고

No : 1111
Nick : woojja
Gender : 남자

No : 2222
Nick : woossa
Gender : 여자

No : 3333
Nick : koojja
Gender : 남자

이걸 표현하면 아래와 같은 문자열로... ㅡㅡ'

1111^woojja^남자@2222^woossa^여자@3333^koojja^남자


그럼 이걸 파라미터로 넘겨서 

오라클 SP 내에서 Parsing 을 해 배열로 만들고 그걸 루프로 돌려서...
insert 나 update 를 하고... ㅡㅡ' 

이렇게 노가다를 했더랬지요...

오라클을 몰랐던 까닭에 이렇게 했더랬지요...
그냥 하란데로 했더랬지요...

분명히 시킨 사람도 몰랐음이 분명합니다.

왜 이렇게 해야할까 궁금해 하지 않은 나 자신도 문제였지요... ㅡㅡ

그런데 오늘 문득 참 오랜시간을 개노가다를 해야만 했나 싶더라고요...

그래서 앞자리에서 오가는 이야기를 들으며

찾아보기로 했죠...


거 얼마 안걸립디다...

일찌감치 찾았으면 좋았을 것을...

요는 이렇습니다.

벌크로 넣을 것들을 배열로 만들고 
그 배열을 SP 파라미터로 넣어주면 되는 거죠..

그리고 OracleCommand 의 속성하나만 넣어주면 되는 것이었습니다.
그러면 오라클 ODP.NET 이 다 알아서 해주는... ㅡㅡ'

그 속성이 무엇이냐... 
 두둥!!!

ArrayBindCount

아래는 참고할 내용입니다.

http://download.oracle.com/docs/html/B28089_01/featOraCommand.htm#i1007888

http://www.codeproject.com/KB/cs/Bulk_Insert.aspx


제가 잘못알고 있거나 틀렸으면 알려주십시요...


그럼 행복한 고수되십시요...




woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
조건에 맞는 값으로 특정 Column 의 값을 UPDATE 하는 구문입니다.


UPDATE WOOJJA_CODE P
   SET WCD = (SELECT CD
                     FROM CODE_MASTER
                    WHERE SUBCD = P.SUBCD)
 WHERE EXISTS (SELECT CD
                     FROM CODE_MASTER
                WHERE SUBCD = P.SUBCD);


행복한 고수되셔요.


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
저번 야간에 작업을 하다 오라클 테이블 Lock 이 걸리는 사태가 발생했습니다.
Lock 이 걸려서 아무런 작업을 할 수가 없었죠...
DB Tool 로 Lock 을 풀어도 봤지만 단순한 방법으로는 Lock을 푼다고 해도 짧은 시간안에 바로 풀리지 않습니다. 저번 삼성 프로젝트할 때도 그런 경험이 있었지요.
Lock 해제하기위해 Admin 에게 요청을 해제 요청을 하면 다음날이 되서야 답변이오고(그때는 이미 Admin 이 작업하지 않아도 풀리고 나서죠.) 그래서 차라리 기다리는게 방법이다 하여 작업하다 퇴근한 적도 있습니다.
저번 작업은 조금 바쁜 작업이라 저희 회사 터프가이에게 헬프를 날렸죠...

친구들과 유흥을 즐기다 제 전화에 바로 겜방으로 달려가주시는 쎈쓰... 이런 쎈쓰쟁이...^^

3~40분을 전화통화를 하며 게임방에 VPN 프로그램을 깔고 접속하여 Lock리스트를 보는 찰라...
처음 조회때에는 보였는데 두번째 조회때에 사라졌습니다.

한마디로 Lock 이 자연적으루다가 시간이 지나서 풀려버린거죠...

대략이 난감이었습니다. ㅡㅡ'


그때 요럴땐 요로케 하셔요~ 하며 알려준 팁입니다. - 정말 쎈쓰쟁이... ^^

하지만 보시는 분들께 당부하고 싶은 한마디...
잘 사용하십시요...
아래 쿼리에 대한 결과에 대해 저나 우리의 쎈쓰쟁이는 책임지지 않습니다.
한마디로 위험하다는 말씀...

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

Lock 해제 관련 query 보내드립니다.

 

1) 쿼리를 실행한 프로그램을 알고 있다면 프로그램 명으로 해당 세션의 adress 알아냅니다.

select paddr from v$session where program like '%program name' ex) '%DOAD%'

 

2) 찾아낸 세션의 Adress 정보를 바탕으로 프로세스 ID(SID) 찾습니다.

select * from v$process where addr='C00000018880FD58';

 

위에서 찾아낸 SID 프로세스에서 Kill합니다, , 해당 프로세의가 리모트 프로세스이어야만 합니다. (local = no)

 

3) ps -ef | grep 2)sid

 

 

kill -9 2)SID

 

주의)

2)에서 반드시 local = No 프로세스 이어야 합니다.

DB shutdown되는 경우가 생길 있습니다.

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

행복한 고수되십시요...


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja

Data connection pooling은 기본값이 True 입니다.

 

기본적으로 사용을 하고 있구요.

사용하지 않으려면 connection string pooling=false 를 추가하시면 되겠습니다.

 

거기에 아래와 같은 옵션을 추가로 설정을 할 수가 있습니다.

  


OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=scott;Password=tiger;Data Source=oracle;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5; Decr Pool Size=2";
con.Open();

옵션에 대한 자세한 사항이나 Pooling에 대한 사항은 오라클 클라이언트를 설치하시면

기본적으로 제공하는 .NET Reference 문서에 자세히 설명되어 있습니다.

Acrobat 에서 Pool 이라는 단어로 검색하시면 바로 찾아 보실 수 있습니다.

문서의 위치는 아래 그림과 같습니다.

 

 

 

행복한 고수되십시요...

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja


Oracle .NET Developer Center

ODT 11 Beta White Paper

ODT는 Visual Studio 의 애드-인 제품입니다. 

2005년 6월 처음 공개되었고 

ODT는 OTN(Oracle Technology Network)에서 무료로 다운받을 수 있습니다 .


아래는 ODT 의 주요 기능들입니다.

- Oracle Explorer 
- 디자이너 및 마법사 제공
- Oracle data window 
- Oracle PL/SQL editor 
- 통합 PL/SQL 디버거
- 자동 코드 생성
- SQL Query Window 
- 통합 온라인 도움말

위 링크에 들어가셔서 함 Check 하시죠...

Oracle .NET Developer Center 에 들어가니 기타 다른 예제도 많으니 쭈~~욱 한번 둘러보셔요...

그럼...




행복한 고수되세요.




woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja
오늘 Coupon 을 생성해야 했습니다. 쿠폰에 쿠폰 넘버를 먹여야 하는데... 훔... 오라클에서 이렇게 구현했습니다. 시리얼은 길면 길수록 중복을 차단하는데 도움이 될 것입니다. 이유는 저보다도 잘 아시겠죠?
CREATE OR REPLACE FUNCTION FN_CREATE_STRING
( 
 FI_LENGTH IN NUMBER
)RETURN VARCHAR2 
AS

   TMPGUID VARCHAR2(50) := '';
   RNDVALUE NUMBER := 0;
   V_COUNTER NUMBER := 0;
   V_STRING VARCHAR2(36) := '';
   
BEGIN  

  V_STRING := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  
  FOR V_COUNTER IN 1..FI_LENGTH LOOP
  	  SELECT ROUND(DBMS_RANDOM.VALUE * 36, 0) INTO RNDVALUE FROM DUAL;
  	  TMPGUID := TMPGUID || SUBSTR(V_STRING, RNDVALUE  , 1);
  END LOOP; 
  
  RETURN TMPGUID;

END FN_CREATE_STRING;

그리곤 요로케 쓰시면 됩니다.  ^^
SELECT FN_CREATE_STRING(13) FROM DUAL;


Oracle 버전은 8.1.7 입니다.


행복한 하루되십시요.

woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\













저작자 표시 비영리 변경 금지
신고
Posted by woojja
일정 기간내의 날짜 구하는 쿼리 입니다.

database.sarang.net 에서 발췌했습니다.


SELECT TO_CHAR(dt,'yyyymmdd') "일자"
     , TO_CHAR(dt,'day') "요일"
     , DENSE_RANK() OVER(ORDER BY TRUNC(dt,'d'))||'주차' "주차"
  FROM (SELECT TO_DATE(sdt,'yyyymmdd') + LEVEL - 1 dt
          FROM (SELECT '20081221' sdt, '20090107' edt FROM dual)
               CONNECT BY LEVEL <= TO_DATE(edt,'yyyymmdd')
                                 - TO_DATE(sdt,'yyyymmdd') + 1
        )

모두 행복한 고수되시길...


woojja ))*
\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
이전버튼 1 이전버튼

티스토리 툴바