Я нашел, что этот SQL-оператор был полезным местом для запуска (извините, я не могу приписать это исходному автору; я нашел его где-нибудь в Интернете):
SELECT * FROM
(SELECT
sql_fulltext,
sql_id,
elapsed_time,
child_number,
disk_reads,
executions,
first_load_time,
last_load_time
FROM v$sql
ORDER BY elapsed_time DESC)
WHERE ROWNUM < 10
/
Это находит главные SQL-операторы, которые в настоящее время хранятся в кэше SQL, заказанном прошедшим временем. Операторы будут исчезать из кэша со временем, таким образом, это не могла бы быть никакая хорошая попытка диагностировать пакетное задание прошлой ночи, когда Вы прокручиваетесь в работу в полдень.
можно также попытаться заказать disk_reads и выполнением. Выполнение полезно, потому что некоторые некачественные нанесения отправляют тот же SQL-оператор слишком много раз. Этот SQL предполагает, что Вы используете, связывают переменные правильно.
Затем можно взять sql_id
и child_number
из оператора и подать их в этот baby:-
SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR('&sql_id', &child));
, который Это показывает фактическому плану от кэша SQL и полному тексту SQL.
У Java очень странное поведение кеширования DNS. Лучше всего отключить кеширование DNS или установить для него небольшое число, например 5 секунд.
networkaddress.cache.ttl (по умолчанию: -1)
Указывает политику кэширования для успешного поиска имени из службы имен. Значение указывается как целое число, чтобы указать количество секунд для кэширования успешного поиска. Значение -1 указывает «кэшировать навсегда».networkaddress.cache.negative.ttl (по умолчанию: 10)
Указывает политику кэширования для неуспешных поисков имени из службы имен. Значение указывается как целое число, чтобы указать количество секунд для кэширования ошибки при неудачных поисках. Значение 0 означает «никогда не кэшировать». Значение -1 указывает «кешировать навсегда».
Чтобы расширить ответ Байрона, я считаю, что вам нужно отредактировать файл java.security
в каталоге % JRE_HOME% \ lib \ security
, чтобы внесите это изменение.
Вот соответствующий раздел:
#
# The Java-level namelookup cache policy for successful lookups:
#
# any negative value: caching forever
# any positive value: the number of seconds to cache an address for
# zero: do not cache
#
# default value is forever (FOREVER). For security reasons, this
# caching is made forever when a security manager is set. When a security
# manager is not set, the default behavior is to cache for 30 seconds.
#
# NOTE: setting this to anything other than the default value can have
# serious security implications. Do not set it unless
# you are sure you are not exposed to DNS spoofing attack.
#
#networkaddress.cache.ttl=-1
Документация по файлу java.security
здесь .