Java запрос с DB Link не закрывает соединение Db Link - PullRequest
1 голос
/ 20 апреля 2020

У меня есть код Java, который подключается к базе данных A. База данных A имеет ссылку на базу данных на базу данных B. Обе базы данных oracle.

. Я устанавливаю соединение JPA с базой данных A, затем запускаю запрос от соединения таблицы из DAtabase A с таблицей в базе данных B, затем закройте соединение с базой данных A Простой код.

Я все еще вижу, что соединения с БД в базе данных B открыты. Это не закрытие. Есть идеи почему? Я предполагаю, что это должно быть внутренне обработано правильно?

Мысли?

1 Ответ

0 голосов
/ 21 апреля 2020

Если вы закрываете соединение с базой данных, все соединения ссылок базы данных автоматически закрываются.

Поэтому, если вы наблюдаете сеансы открытых ссылок, они происходят от других еще не закрытых соединений.

База данных соединение ссылки из соображений производительности не закрывается сразу после каждого распределенного запроса, но намеренно оставляется открытым для повторного использования в потенциальном следующем операторе.

В любом случае вы можете неожиданно закрыть соединение ссылки, используя вызов либо

 alter session close database link  link_name

, либо

DBMS_SESSION.CLOSE_DATABASE_LINK('link_name')

как показано здесь . Это в основном делается в случае, если вы достигли предела максимальных открытых ссылок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...