#sql #oracle #db2 #aix #federation
#sql #Oracle #db2 #aix #объединение
Вопрос:
У меня странная проблема, приложение, над которым я работаю, использует DB2 9.7.6 в AIX и подключается к нескольким представлениям в базе данных Oracle 11g r2.
Представления довольно сложные, но мы можем получить ответ довольно быстро. Но иногда запрос застревает без причины!
Снимок DB2 / DB2TOP показывает, что запрос ожидает ответа от удаленного.
Мы видели Oracle AWR и SQL AWR для связанного SQL, и, похоже, существует несколько планов выполнения для одного и того же запроса, я предполагаю, что Oracle выбирает «плохой» план в зависимости от текущих данных, но я не вижу большой разницы в данных по сравнению с тем, когда запрос работал идеально.
Во время зависания запроса (вызывается из кода Java) Я все еще могу выполнить тот же запрос от SQL Developer или других клиентов DB2! Это то, что смущает меня больше всего.
Ребята, есть ли у вас какие-либо предложения о том, что еще я могу сделать для расследования основной причины?
Приветствия
Комментарии:
1. Если запрос застрял , как вы говорите, в базе данных Oracle, вы, вероятно, захотите запустить трассировку сеанса там, чтобы посмотреть, что происходит. В то же время я бы использовал монитор событий активности на стороне DB2, чтобы определить, где тратится время — это может быть сеть.
2. Это ценные комментарии, я попрошу администратора базы данных Oracle предоставить необходимые сведения. Большое спасибо за это 🙂