1

標準ユーザー (適切なアクセス権を持つ) として実行すると、タイトルに表示されているエラーを返す SQL ジョブがあります。ただし、ジョブを「sa」として実行するように変更すると、問題なく動作します。OraOLEDB.Oracle プロバイダーに接続するために、同じパラメーターが OPENROWSET 関数に渡されています (同じ Oracle ID/PW を使用してログインしています)。リンクされた Oracle サーバーではありません。それはアドホックです。

誰もこれまでにこのようなものを見たことがありますか?

Oracle 11g、SQL 2008 R1 の実行

4

1 に答える 1

3

SESSIONS_PER_USERこのエラーは、アプリケーションが接続している Oracle データベース ユーザーの制限に従って、許可されているよりも多くのデータベース セッションが作成されていることを示しています。これは、特定の Oracle データベース ユーザーが一度に開くことができるセッションの数を制限するように設計されています。ジョブが実行される SQL Server ユーザーが、作成される Oracle データベース セッションの数に影響を与える理由を想像するのは難しいです。

SESSIONS_PER_USER問題のOracleユーザーの制限は何ですか

SELECT limit
  FROM dba_profiles p
       JOIN dba_users u ON (p.profile = u.profile)
 WHERE u.username = <<oracle database user name>>
   AND p.resource_name = 'SESSIONS_PER_USER'

Oracleのテーブルを監視しGV$SESSIONて、プロセス全体で問題のユーザーに対して実際に存在するセッションの数を確認し、SQL Server ユーザー名の変更が原因ではなく、実際に問題を引き起こしているセッションが 1 つまたは 2 つ存在しないことを確認できますか?問題を解決しますか?

SELECT COUNT(*)
  FROM gv$session
 WHERE username = <<oracle database user name>>
于 2011-11-10T23:26:15.653 に答える