私はOracleに非常に苛立ち始めています。そこで、Oracle XE 11.2 64ビットとODAC121012_x64をインストールしました。
リスナーを開始できます。 tnsping xeを実行できます。しかし、sqlplus経由でシステムとして接続しようとすると、次のようになります。
ERROR:
ORA-12518: TNS:listener could not hand off client connection
これが私の設定ファイルです:
tnsnames.ora:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = XE)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
sqlnet.ora:
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
ヘルプが非常に必要であり、さらに感謝されます!
問題を理解して修正するには、listener.log、アラートログ、トレースファイルなどの関連ログを確認する必要があります。
考えられる原因と解決策:
次のコマンドを実行して、エラーメッセージが表示されず、リスナーが稼働していることを確認します。
lsnrclt status
リスナーがダウンしている場合は、次の点を確認してください。この問題のトラブルシューティングに役立つ場合があります。
ネットワークエラーである可能性があります。ネットワークログでイベントログを確認し、修正してください。
サービスが停止したか、開始しようとしたときにエラーが発生しました:start--->run--->services.msc
Oracleリスナーサービスの検索はOracleInstancename
のようにする必要があります。開始に失敗した場合は、リスナーエラーの内部で例外がスローされ、 Windowsエラー番号。そのエラーを提供してください
リスナーの回避策:
次のパラメーターをリスナーに追加します。
DIRECT_HANDOFF_TTC_LISTENER=OFF
1.データベースサーバーのメモリは新しい接続に十分でした
v$resource_limit where resource_name=’processes’
からのクエリを確認してください。チェックされたmax_utilizationはLimit_value
または共有サーバー未満である必要があります。large_pool_size
を確認するか、ディスパッチャがすべての接続に十分であることを確認してください。リスナーサービスを実行しているユーザーが管理者グループの一部ではなかったため、Windows(Oracle 11g)でこの問題が発生しました...管理者グループに追加すると、すべて問題ありませんでした。
Systemd 228以降のLinuxシステムを使用している場合、ORA-12518またはTNS-12518が発生する可能性があります。 Systemdはデフォルトでcgroupあたりのスレッド数を512に制限しています。この制限は、接続数が多い場合、または複数のインスタンスまたはRACがある場合に簡単に発生する可能性があります。
最も簡単な修正:/etc/systemd/system.confを編集して設定
DefaultTasksMax=infinity