2017-08-23 20 views
3

.NET 4+、Entity Framework、およびODP.NETを使用して構築されたWindowsサービスを含む、当社の製品を使用するクライアントがあります。 1つの特定のインストールで何らかの理由でWindowsサービスが6200でトラフィックを生成しているように見えます。Oracle Documentationは、これがOracle Notification Servicesが使用するポートであることを示します。当社の製品はONSを利用していないため、これは予期しないことです。私はother Oracle Documentationで、RAC/Fast FailoverもONSを使用していることを示していますが、どの環境でもRACを使用していないことをクライアントが確認し、接続文字列にRACオプションを使用していません。我々はDatabase Change Notificationsを使って(私たちの知る限りでは)、ONSを活用しているように思えるキャッシュデータのキャッシュ/検証も行っていません。ODP.NET +ポート6200(Oracle Notification Services)の予期しないトラフィック

私たちがポート6200トラフィックを生成する理由を説明するのは誰でも助けできます。さらに重要なのは、それを止める方法です。ありがとう!

Netstat Results

Task Manager

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <connectionStrings [Redacted] /> 
    <appSettings [Redacted] /> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="v11.0" /> 
     </parameters> 
    </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
     <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
    </providers> 
    <contexts> 
     <context type="[Redacted]" disableDatabaseInitialization="true" /> 
    </contexts> 
    </entityFramework> 
    <system.data> 
    <DbProviderFactories> 
     <remove invariant="Oracle.ManagedDataAccess.Client" /> 
     <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> 
    </DbProviderFactories> 
    </system.data> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" /> 
    </runtime> 
</configuration> 

答えて

0

我々は3オラクル/ ODP.NET固有の接続文字列の設定の一つ以上にまで犯人を狭くしました:

ENLISTHA EVENTS、および/またはFast Application NotificationLOAD BALANCING

Oracleのドキュメントでは、私たちをオフに傾け私たちが気づいていなかったこれらの設定に。これにより、Feature Connection String Attributesのすべてに関するオラクル社のドキュメントが作成されました。

参加 - デフォルトの "真" - サービスのコンポーネントが自動的に 分散トランザクションに参加。

HAイベント - 「偽」のデフォルトは - RACサービス、 サービス・メンバー、またはノードがダウンしたときに積極的にプールから接続を削除 にODP.NET接続プールを有効にします。バランシング

ロード - 「偽」のデフォルトは - 助言ロード・バランシングおよびサービス目標に基づき、RACインスタンス間 バランス作業要求にODP.NET接続プールを有効にします。

すべて3を明示的に偽に設定し、ポート6200接続を終了しました。

ENLIST=false; HA EVENTS=false; LOAD BALANCING=false; 

デフォルトは参加が犯人だったが、クライアントの可用性を確認するために、離散テストのために許可していませんでしたそして、信じなければならない場合。これら3つの機能のすべてをOracle Notification Services &ポート6200にリンクする他のさまざまなドキュメントがあります。

0

これは、インストールされたOracleクライアントのバージョンに依存してもよいです。 12.1.0.2では、ONS機能の自動設定がリリースされました。このトラフィックを生成するDB接続の確立の初期に、ONS自動検出のようなものがあるかもしれません。

+0

これは完全な回答ではありませんでしたが、私はスキミングしたドキュメントについて考えました。最終的に構成設定につながるので、賞金はすべてあなたのものです –

関連する問題