2012-02-29 2 views
1

필자는 일부 Oracle DBA와 이야기를 나누었으며, 예를 들어 시스템에 네트워크 인터페이스가 많은 경우와 같이 데이터베이스에 대한 네트워크 트래픽을 필터링 할 수있는 Oracle Listener (http://docs.oracle.com/cd/B19306_01/server.102/b14196/network.htm)라는 구성 요소가 있다고 이야기했습니다.Oracle 에서처럼 DB2에서 연결을 필터링하는 방법은 무엇입니까?

DB2에 비슷한 도구가 있습니까? 또는 어떻게해야합니까? 인스턴스 당 하나의 포트를 구성 할 수 있기 때문에 모든 것입니다. 더 많이 구성하려면 방화벽 IPTables를 통해해야합니다. 그러나 어떤 사용자, 응용 프로그램 또는 작업 부하가 어떤 네트워크 인터페이스에 연결해야하는지 구성 할 수 없습니다.

답변

1

데이터베이스 서버는 일반적으로 복잡한 네트워킹 체계를 구현하고 관리하기에 적합하지 않습니다. CPU 관점에서 볼 때,보다 전문적인 장비 (스위치, 라우터, 방화벽 등)에 책임을 위임하는 것이 좋으며 데이터베이스 쿼리 처리를 위해 귀중한 CPU 사이클을 절약하는 것이 좋습니다. 데이터베이스 서버에서 간단하고 직선적 인 네트워크 구성을 실행하면 네트워크 관리자가 정기적으로주의를 기울일 필요가 없을 때 데이터베이스 서버에서 루트 액세스가 필요한 관리자가 줄어들 기 때문에 데이터베이스를보다 쉽게 ​​보호 할 수 있습니다.

DB2 인스턴스는 하나의 TCP 포트 (DBA에 의해 지정됨)에서 수신 대기하지만 여러 네트워크 어댑터의 포트와 해당 어댑터에 정의 된 여러 IP 주소에서 수신 대기합니다. 또한 인스턴스는 DB2COMM 레지스트리 변수를 통해 지정한 다른 네트워크 프로토콜에서 청취합니다. DB2 구성 레벨의 어떤 것도 로컬 NIC 및/또는 IP 주소가 인바운드 DB2 연결 요청을 허용하도록 허용하지 않습니다. 그러나 이러한 세분화가 필요할 때 로컬로 실행되는 iptables의 복사본이 아닌 전용 방화벽이나 라우터에서 처리하는 것이 가장 좋습니다.

DB2 인스턴스 당 하나의 TCP 포트 번호에 대한 DB2의 정책을 제한 사항으로 간주해야한다고 생각할 수 없습니다. DB2가 허용하더라도 (또는 속일 수는 있지만) 추가 포트에서 수신 대기해도 데이터베이스 연결 설정에 대한 응답 시간이 빨라지거나 인스턴스에 이미있는 것보다 더 많은 대역폭이 제공되지 않습니다. 에이전트/스레드의 수를 늘리면 성능 특성이 변경되지만 인스턴스가 둘 이상의 TCP 포트에서 수신 대기해야하는 작업은 없습니다. 이 방침에서 비롯된 현재 (또는 예상되는) 문제의 본질을 이해하면 도움이됩니다.

NIC가 단일 실패 지점이라는 우려에 기반한 질문이있는 경우 이더넷 본딩을 살펴보고 물리적 NIC 한 쌍의 단일 논리 NIC 모양을 만듭니다. 이는 운영 체제의 네트워킹 기능으로 처리되어 데이터베이스 서버 및 기타 네트워크 응용 프로그램의 복잡성을 효과적으로 숨 깁니다.

대부분의 서버에있는 네트워크 어댑터는 이제 기가비트 속도 이상으로 작동하지만 합법적 인 데이터베이스 트래픽으로 인해 NIC가 포화 될 위험이 없습니다. DB2 응용 프로그램 워크로드가 실제로 초당 기가비트 경계를 넘나들고 있다면, 여러 실제 서버 (워크로드에 따라 InfoSphere Warehouse 또는 DB2 pureScale)에서 클러스터링을 고려하기에 데이터베이스에서 충분한 가치를 얻게되어 축하합니다.). 네트워크 연결 스토리지 나 네트워크 기반 백업과 같이 다른 트래픽에 의해 주로 발생하는 DB2 서버에서 네트워크 경합이 때때로 발생하는 경우 해당 트래픽은 네트워크 주소 지정 기술을 통해 특정 NIC 및 DB2 클라이언트에서 격리 될 수 있습니다 및 일부 라우팅/스위칭 하드웨어.

+1

, 내가 작업 부하에 따라 DB 접근을 제어하려는 경우 내가 할 수있는 방법? 예를 들어 OLTP 전용 공용 인터페이스가있는 서버와 ETL 전용 인터페이스가 있습니까? 나는 그것을 제어 할 수 없으며, 결국 공개 인터페이스를 통해 ETL을받을 수 있으며, 그것은 내가하고 싶은 일이다. – AngocA

+1

@AngocA 클라이언트에서이를 구성합니다. 즉, 사설 DB 서버 IP를 사용하여 ETL 클라이언트의 데이터베이스를 카탈로그 화하고 OLTP 클라이언트가 공용 IP를 사용하게합니다. –

0

CONNECT_PROC 데이터베이스 구성 매개 변수를 사용하여 데이터베이스에 대한 연결을 제한하는 또 다른 방법이 있습니다. 매개 변수없이 저장 프로 시저를 작성하고이 구성 매개 변수에 추가하면됩니다.

저장 프로 시저 허용하거나 ENVIRONNEMENT에서 정보를 검색하여 연결을 거부합니다. 자세한 내용은

이 글을 확인하십시오 : http://www.ibm.com/developerworks/data/library/techarticle/dm-1305db2access/index.html 그러나

+0

또한 트러스트 된 A 텍스트가 연결을 필터 할 수 있습니다. http://www.ibm.com/developerworks/data/library/techarticle/dm-1202restrictluwconnex/ – AngocA

관련 문제