집의 인터넷 공유기 안에 Oracle 11g를 기본값으로 설치하고 외부 접속 때문에 고생하고 몇자 끄적여 본다.
(이리도 쉬운걸 뱅뱅 돌고 돌아 해결하고 나니 속이 후련하기도 하고, 화가 나기도 하고 그러네.ㅡ,.ㅡ;;;)
아마도 Oracle 9i 또는 10g 도 공통적인 문제점(?)이 발생될것이 예상되니 이 문서를 참고해도 될듯 싶다.

오라클 버전별 호환성

다행히도 회사에서 사용하는 10.2와 9.2 버전은 11.2 버전과 호환이 된다. (출처 : http://branden.tistory.com/entry/oracle)


< 적용 환경 >
OS : Microsoft Windows 7 Ultimate K (x64)
DB : Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)
인터넷 공유기 : ipTIME N8004(WOL, DDNS, 포트포워드를 사용)



< 방화벽 설정에 문제가 있을때 자주 볼수 있는 에러 메세지>
TNS-12541: TNS:리스너가 없습니다.
ORA-12170: TNS: 접속 시간 초과가 발생함


자, 이제 본격적으로 설정 방법을 알아보자.

① 오라클이 설치될 컴퓨터(서버)의 아이피는 당연히 고정으로 설정해준다.

Internet Prorocol Version 4 (TCP/IPv4) 속성

ipTIME 인터넷 공유기의 DHCP로 아이피를 부여받은 PC는 잘 변경이 되지 않는데, 혹시 모르니 고정 아이피로 설정해준다. 아니 여러가지 이유로 IP는 고정으로 설정해주는게 좋다. ㅎㅎ



② 오라클 설치, 별다른 주의사항은 없다. 자신이 특수한 네트워크 환경을 추구한다면 기본적인 Setting값 정도는 알고있지 아니한가? 



③ 리스너 구성
[시작]-[모든 프로그램]-[Oracle - OraDb11g_home1]-[구성 및 이전 툴]-[Net Manager] 를 실행하고,

Oracle Net Manager

화면 하단의 [주소 추가] 버튼을 누르고 위의 1번에서 설정한 IP를 입력해준다. 리스너 구성이 변경되었다면 명령 프롬프트(cmd) 를 열고 lsnrctl stop 하고 lsnrctl start 해서 리스너를 재시작해주는것이 좋다.




④ ipTIME 공유기 설정

iptime

인터넷 공유기 설정의 포트포워드 설정을 한다. DMZ로 설정했다면 상관 없겠지만, 그렇지 않은경우 포트포워드로 Oracle 1521 포트에 대한 설정을 해준다.




⑤ 윈도우7의 방화벽 설정
[시작]-[제어판]-[시스템 및 보안]-[Windows 방화벽에서 프로그램 허용]

허용되는 프로그램

oracle.exe 와 TNSLSNR.EXE 가 각각 등록되어 있는지 확인한다. 되어있지 않다면 오라클 설치폴더의 BIN 폴더에서 추가해준다. Oracle 11 버전의 경우 위의 프로그램들이 자동으로 등록되는것 같다. 하위 버전에서 되지 않는다면 수동으로 추가해준다.



특별히 윈도우즈 방화벽 설정에서 인바운드 TCP 1521 포트를 열어주진 않아도 된다. 추후 Oracle의 기본포트 1521를 바꿀수도 있으니 포트를 열어주기 보단 프로그램을 추가하는게 보안상에 더 안전하다. 위의 ⑤번 작업을 하고도 외부에서 접속이 되지 않는다면 잠깐 방화벽을 disable 해보고 접속해보고 윈도우즈 방화벽이 문제인건지 확인해 볼수 있다. ①번부터 ⑤번까지 번호(순서)를 채번하긴 했지만, 설정 순서라기 보단 필요한 부분만 참고하면 되겠다. 필자 본인은 이렇게 해서 외부에서 DDNS 주소로 접속하니 접속이 잘 된다. 필자처럼 ③번 항목 리스너 구성에서 주소를 DDNS(xxxxx.iptime.org)로 입력하는 우를 범하지 말길 바란다.
Posted by 두억시니 트랙백 1 : 댓글 1


Application terminated.

Error: Null object reference at line 4 in systemerror event of object
프로그램명


깔끔하게 설치한 새 노트북에서 파워빌더로 프로그램을 실행하니 위와같은 메시지가 출력된다. 원인을 알아보니 오라클 버전 문제 인듯하다. 서술형 글로 설명하기 까다로우니 일단 나의 환경을 살펴보도록 하자.

서버 : Windows 2003 Standard (x86) + Oracle 9i
클라이언트(개발) : Windows 7 (x64) + Oracle 10g(Client) + PowerBuilder 11.0
클라이언트(사용자) : Windows XP(x86)


해당 프로그램은 Database에 접속을 하기 위해 설치 폴더와 함께 oracle 9i 클라이언트와 tnsnames.ora 를 서브 폴더에 저장해서 접속하더라. 그래서 클라이언트를 직접 실행할때는 문제가 발생하지 않고, PowerBuilder로 실행할때만 문제가 발생한것 같다.

해결방법은?

1. 오라클 홈페이지에서 instantclient-basic-win32-10.2.0.4.zip 파일을 다운받아서 pbl 이 있는 위치에 넣어준다.
2. 클라이언트 설치 폴더에 들어있는 tnsnames.ora 파일을 pbl 이 있는 위치에 넣어준다. 
Posted by 두억시니 트랙백 0 : 댓글 0

설치 파일은 오라클 홈페이지에서 배포중인 10204_vista_w2k8_x64_production_db.zip 를 사용했습니다. 총 3개의 파일을 수정해야 하며, 관리자 권한으로 설치하세요. 윈도우즈7에만 TEST 해 보았으나 윈도우즈 서버 2008 R2 에서도 같은방법으로 설치 가능할겁니다.(아마도...^^)32/64bit 모두 동일하게 적용이 가능합니다. OS가 64bit 라도 32bit Oracle 설치가 가능합니다.


<기본 설치 환경> 
OS : Microsoft Windows7 32bit / 64bit
DB : Oracle 10g 32bit / 64bit 

 

<설치전에 수정해야 할 파일 및 내용>
- 빨간 글씨 부분이 추가/수정 해야 할 내용 입니다. 메모장 등의 문서편집기로 수정하면 됩니다.(총 3부분)
기본폴더이름은 사용자별로 다를수 있습니다.

① \10204_vista_w2k8_x64_production_db\database\install\oraparam.ini

[Certified Versions]

#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1
 

② \10204_vista_w2k8_x64_production_db\database\stage\prereq\db\refhost.xml

 <CERTIFIED_SYSTEMS>

    <OPERATING_SYSTEM>
      <VERSION VALUE="5.0"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.1"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.2"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Vista-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows 7-->
    <OPERATING_SYSTEM>
       <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>
  </CERTIFIED_SYSTEMS>
 

 ③ \10204_vista_w2k8_x64_production_db\database\stage\prereq\db_prereqs\db\refhost.xml

   <CERTIFIED_SYSTEMS>

    <OPERATING_SYSTEM>
      <VERSION VALUE="5.0"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.1"/>
      <SERVICE_PACK VALUE="1"/>
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.2"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Vista-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows 7-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>
  </CERTIFIED_SYSTEMS>



기본설치

기본 설치로 진행 할 경우 오류가 발생합니다. 꼭 고급 설치 로 진행해야 합니다.


오류

기본 설치를 할 경우 다음과 같은 오류가 발생할수 있습니다. [오류] Oracle 홈 이름은 적합하지 않습니다. Oracle 홈 이름은 128자 이하여야 하며 영문자와 밑줄만 포함되야 합니다.


고급 설치

고급 설치로 진행 합니다. 이후 부터는 별다른 주의 사항이 없습니다. 자신에게 맞는 적당한 옵션을 선택하여 설치하세요.

Posted by 두억시니 트랙백 2 : 댓글 9