問題タブ [tns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4901 参照

oracle - JavaアプリからのOracleTNSの非効率性(多くのラウンドトリップ、レイテンシー)の解決策はありますか?

私は非常に遅いSQLクエリを見ていました(JBoss 5.1にデプロイされたHibernateを使用するJavaアプリから発生しました)。この特定のクエリは約10,000レコードを返しましたが、それでも40秒以上かかりました。

私はデータベースでトラフィックをスニッフィングすることになり(wiresharkにはTNS用のディセクタがあります)、予期しない何かを見つけました。データがサーバーから送信されたとき、各結果行は独自のTNSパケットに含まれていました。さらに、各TNSパケットは、次のパケットがデータベースから送信される前に、クライアント(つまり、アプリサーバー)によって確認されました。10Kレコードの場合、パケットを取得して確認応答するための10Kラウンドトリップがあります。パフォーマンスへの影響は甚大です。

これはひどく非効率的です。TCPは、より大きなパケットを許可し、遅延を減らしてスループットを向上させるための多くのメカニズム(スライディングウィンドウ、遅延ACK)を備えています。ただし、この場合、独自のネゴシエーションを追加するのはTNSプロトコルです。

OracleのSQLDeveloperから同じクエリを実行すると、このパターンは表示されません。クエリは、数千回の往復なしで、約1/10の時間で完了します。

短いバージョン:Oracleのワイヤープロトコル(TNS)は、クエリ結果の行ごとに1つのTNSパケットでデータを渡すようであり、サーバーが次のパケットを送信する前に、各パケットがクライアントによって確認応答される必要があります。

これに関する情報を[ここ][1]で見つけました(「tnsnames.oraファイルのSDUおよびTDUパラメーター」のセクションまでスクロールダウンしてください)。

したがって、私の質問:TNSプロトコルがより効率的になるようにOracleドライバー(私は10.2.0.4.0を使用しています)の動作を制御することは可能ですか?繰り返しますが、これはJBossにデプロイされたかなり標準的なJ2EEアプリです。

どうもありがとう!

0 投票する
3 に答える
11819 参照

oracle - TNS リスナーを使用せずに Oracle データベースに接続する

好奇心から、数日前、TNS リスナーを使用せずに DB に接続する方法があるかどうかについて話し合いました。接続は SQLPlus プログラムによって行われる必要があります。ネット、ODBC など。

0 投票する
3 に答える
7848 参照

sql - Wiresharkで印刷可能なテキストのみ(またはその他のパケットプロパティ)をエクスポートする方法

簡単に言うと、Wiresharkを使用してベンダーツールからOracleデータベースにSQLをキャプチャしています。すでにTNSプロトコル用のデコーダーがあり(これは素晴らしいです)、SQLのテキストにアクセスできます。

問題は、大量のパケットがあり、それぞれを右クリックすると時間がかかる可能性があることです。Wiresharkから「PrintableTextOnly」を直接エクスポートする方法があるかどうか疑問に思いました。理想的には、ステートメントを含むテキストファイルが必要です。

どんな助けでも大歓迎です。

0 投票する
1 に答える
121 参照

oracle - プログラムをオラクルに接続しようとすると、エラーが発生します

このコマンドでプログラムをオラクルに接続しようとすると

sqlplus crbt/crbt@crbt_newここで、crbt はユーザー名で、crbt_new はパスワードです。

これはエラーを出しています

では、どこが間違っているのか教えてください

0 投票する
4 に答える
11753 参照

c# - Oracle ASP.NET : TNS の問題

ASP.NET/C# を使用して DB oracle に接続しようとしています。

これが私のコードです:

ここに私が得るエラーがあります:

ここに私の TNSNAMES.ora があります:

私はwin2k3サーバーR2で作業しています。

Oracle は同じサーバー上にあります。オラクル11gです。

tnsping を実行すると、次のようになります。

そして、ここに私のlistener.oraがあります:

0 投票する
1 に答える
291 参照

oracle - MacOSX から Windows への ANT sqlplus 実行の移行、TNS エラーの取得

sqlplus を実行して PL/SQL をコンパイルする ANT build.xml が動作しています。MacOSXで開発しています。私の同僚は、同じアプリケーションに貢献し始める予定です。彼は WinXP で開発しています。ANT からの sqlplus exec は、WinXP で TNS ORA-12560 エラーを返します。同じ build.xml が MacOSX で動作します。WinXP で ANT が作成する実行文字列は、DOS シェルで動作します。WinXP で TNS_ADMIN 環境変数を設定しました。何が欠けている可能性がありますか?

0 投票する
0 に答える
931 参照

wcf - WCF Wsdl - "tns" xml 名前空間プレフィックスを独自のプレフィックスで削除しますか?

myが生成さtnsれたときに、すべての接頭辞を自分のものに置き換える方法はありますか?WSDL

ServiceContract、、などOperationContractの名前空間と名前を設定するとDataContract、醜いhttp://tempuri.org/名前空間がなくなることはわかっていますが、接頭辞を変更するにはどうすればよいですか?

0 投票する
2 に答える
8129 参照

oracle11g - tnspingは失敗しますが、sqlplusを介してOracleDBに接続できます

Oracle Clientv。11.2.0.1をWindowsXPマシンにインストールし、TNS_ADMINとORACLE_HOMEの両方の環境変数を設定しました。

sqlplusを使用してTNSエイリアスを介してリモートデータベースに接続すると、正常に機能します。

ただし、同じエイリアスにtnspingすると、次のエラーが発生します。

同様の問題(つまり、ここでのスタックオーバーフロー)の場合、tnspingは少なくともエイリアスからの接続文字列を解決できます。この場合はそうではありません。これにより、一部の環境変数が欠落しているか、間違った場所を指していると思います。任意の提案をいただければ幸いです。

0 投票する
8 に答える
17918 参照

asp.net - ローカルIISではOracleORA-12154エラーが発生しますが、Visual StudioDevelopmentServerではエラーが発生しません

Visual Studio Development Serverで起動したときにOracleに接続できるASP.NETアプリケーションがありますが、ローカルIISに展開すると接続されず、「ORA-12154:TNS:解決できませんでした」と表示されます。接続識別子が指定されました」エラー。

私の接続文字列は次のとおりです。

TtはTNSを使用しています。tnsnames.oraはC:\ oracle \ instanceclient_10_2 \ network \ adminにあり、ORACLE_HOMEシステム変数はC:\ oracle\instantclient_10_2を指しています。

それを機能させるために、接続文字列を次のように変更しました。

そのため、TNSは使用されなくなりました。

しかし、Visual StudioでデバグしながらTNSを使用して接続できる理由を知りたいのですが、IISを使用している場合は接続できません。

任意のヒント?

PS。接続エラーを示さないTNSでSqlDeveloperを使用できます。

ありがとう

0 投票する
7 に答える
32739 参照

oracle - OraclesqlldrがOracle10および11のインスタンス修飾子としてTNSエントリを受け入れることは可能ですか?

Oracle 10/11にバンドルされているsqlldrを使用して完全修飾TNSエントリを使用することは可能ですか?

たとえば、SQLPlusでは次のようになります。

ただし、sqlldr(SQLローダー)を使用すると、TNSエントリを直接使用する際に問題が発生するようです。具体的には:

生成されるエラーメッセージは次のとおりです。

TNSエントリを引用符で囲んでカプセル化しようとすると、同じエラーが発生します。

sqlldrのドキュメントを確認し、「userid」コマンドライン引数を使用しようとしましたが、役に立ちませんでした。具体的には:

Oracleがユーザーをローカルインスタンスに強制して、リモートホストにデータをプッシュする際のI/Oを軽減することを望んでいることは理にかなっています。しかし、サポートされている構文の逸脱はそれほど直感的ではありません。他の誰かが同様の問題を経験していますか?