Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
Доброе утро, господа DBA! :)

Столкнулся с ошибкой в своей базе Oracle 11.2.0.4: "Internal error (ORA-600[qksvcReplaceVC0])".
Появляется не часто. Примерно раза 2-3 в месяц наблюдаю ее в EM.
Вначале грешил на системный винчестер сервера. У него был плохой смарт-тест и сервак уже несколько раз падал из-за него.
Отправили этот сервак на профилактику, а пока перешли на резервный сервер (виртуальная машина). Почти месяц было чисто и сегодня утром заглянул в ЕМ и вот снова она!

Лазя по форумам и докам пришел к следующему выводу (но если ошибаюсь, поправьте):
Данная ошибка возникла в модуле SQL Tuning Advisor, который запускается автоматически.
В этом модуле дала сбой подпрограмма qksvcReplaceVC0 (замена виртуальных столбцов).
Данный модуль создает профиль плана выполнения часто повторяемых запросов и теоретически, при сбое в его работе, может либо уменьшить эффективность некоторых запросов (будут выполняться медленнее обычного), либо вообще заблокировать их выполнение.
Найти в Интернете причину сбоя данной подпрограммы мне не удалось. Есть только рекомендации по отключению замены виртуальных столбцов и полного отключения джоба с SQL Tuning Advisor.

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

Дополнительная инфа по моей ошибке.
В файле alert\log.xml:
<msg time='2017-01-31T21:03:12.290+02:00' org_id='oracle' comp_id='rdbms'
 msg_id='958976724' type='INCIDENT_ERROR' group='Generic Internal Error'
 level='1' host_id='SOMEHOST' host_addr='::1'
 prob_key='ORA 600 [qksvcReplaceVC0]' upstream_comp='' downstream_comp='SQL_Virtual'
 ecid='' errid='10985' detail_path='D:\APP\ADMINISTRATOR\diag\rdbms\apexsb\apexsb\trace\apexsb_j000_10032.trc'>
 <txt>Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\apexsb\apexsb\trace\apexsb_j000_10032.trc  (incident=10985):
ORA-00600: internal error code, arguments: [qksvcReplaceVC0], [], [], [], [], [], [], [], [], [], [], []
 </txt>
</msg>

Файл трассировки во вложении.

К сообщению приложен файл (apexsb_j000_10032.trc - 4Kb) cкачать
1 фев 17, 10:44    [20168707]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
Тролин
Member

Откуда:
Сообщений: 176
IBlasterus,

Doc ID 1961485.1
1 фев 17, 12:00    [20168987]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
Тролин,

Благодарю, конечно, за подсказку.
Я так понимаю, это ID документации на сайте поддержки Оракла?
А прочитать его можно только если проплачена официальная поддержка?
Я конечно понимаю, что информация стоит денег. Но у меня их столько нет :)
1 фев 17, 13:06    [20169303]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
Тролин
Member

Откуда:
Сообщений: 176
IBlasterus,

по вашей ссылке как раз и приведен солюшен из статьи
1 фев 17, 14:05    [20169622]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
Тролин,

Я бы не назвал это решением.
Хотя оно конечно-же по своему изящное: отключить подсистему, чтобы она не выдавала ошибок :)
Но хотелось бы еще немного побороться за жизнь пациента. Зачем же сразу в морг? :)
1 фев 17, 14:45    [20169803]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
orac_list
Member

Откуда:
Сообщений: 58
IBlasterus,

Рекомендую почитать документацию по Automatic SQL Tuning

http://docs.oracle.com/cd/E25178_01/server.1111/e16638/sql_tune.htm

и принять решение нужно ли оно вам в принципе. При отрицательном ответе на вопрос отключить.
4 фев 17, 08:33    [20179899]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
vlavr
Member

Откуда:
Сообщений: 40
Была 600-я ошибка после upgrade Oracle 11.2.0.1 до 11.2.0.4 на Windows и после переконфигурирования параметров в spfile.
После перезагрузки БД не запустилась с 600-й ошибкой, в nomount тоже не запустилась, ругалась, что controlfile не соответствует.
В итоге, база запустилась из pfile (делал его перед upgrade), из него создал spfile и сконфигурировал что хотел.
Похоже проблема была в повреждении spfile (он бинарный).
7 фев 17, 13:30    [20188663]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
orac_list,

Спасибо за совет.
Действительно, я имел только общее представление об этой подсистеме.
Стоило углубиться в ее изучение.
Нашел хорошую статью на русском языке.
Так же почитал про эту подсистему в книге Боба Брила и Кевина Луни "Oracle 11g. Настольная книга администратора баз данных".

Automatic SQL Tuning формирует SQL-профили (SQL Profile) для некоторых часто-повторяющихся запросов, которые сильнее всего загружают базу.
Затем оптимизатор использует эти профили, чтобы выполнить запрос по наиболее оптимальному плану, дающему наибольшую ожидаемую выгоду (скорость выполнения, меньшую загрузку базы и т.п.).

По умолчанию, автоматическое применение SQL Profile отключено и АБД должен принять самостоятельное решение о применении профиля к тому или иному запросу.
Делается это через веб-интерфейс Enterprise Manager:
1) На главном окне ищем внизу справа ссылку "Advisor Central".
2) "SQL Advisors"
3) "Automatic SQL Tuning Results"

Далее, в этом окне мы можем управлять подсистемой Automatic SQL Tuning.
Мы можем включить (Enabled) или отключить ее (Disabled) с помощью кнопки "Configure" в строчке "Automatic SQL Tuning (SYS_AUTO_SQL_TUNING_TASK) is currently".
Можем включить автоматическое применение SQL Profile с помощью кнопки "Configure" в строчке "Automatic Implementation of SQL Profiles is currently".
В строке "Key SQL Profiles" мы можем пройти по ссылке (числу рекомендованных SQL Profile) и посмотреть рекомендации по каждому отдельному запросу. Либо применить их все и сразу с помощью кнопки "Implement All".

Просмотреть рекомендации по отдельным запросам у меня не получилось :(
Enterprise Manager мне выдал: "Session Information Unavailable. Enterprise Manager is unable to proceed. The most likely cause of this is that database session information could not be retrieved or that EM was unable to process a user-invoked bookmark."
Но нажатие кнопки "Implement All" отработал. Но частично. Выдал ошибку, что по некоторым запросам он потерял текст SQL запроса. Но по остальным сделал применение SQL Profile.

Посмотрю, понаблюдаю теперь за тестовой базой. Как на нее повлияли эти манипуляции.
Позже отпишусь.

К сообщению приложен файл. Размер - 104Kb
14 фев 17, 17:43    [20211511]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
Тут на скриншоте список, который вы увидите, если нажмете на ссылку - число рекомендованных SQL Profile.
Так же можно нажать на ссылку "SQL Profile" графика "Breakdown by Finding Type".

К сообщению приложен файл. Размер - 131Kb
14 фев 17, 17:47    [20211523]     Ответить | Цитировать Сообщить модератору
 Re: Internal error (ORA-600[qksvcReplaceVC0])  [new]
IBlasterus
Member

Откуда: Днепр
Сообщений: 16
Мда... Но вопрос по сабжу все же остается открытым. Пока не известно, из-за чего возникает эта ошибка...
14 фев 17, 17:49    [20211528]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить