ORA-07445 нарушение доступа - PullRequest
0 голосов
/ 27 июля 2010

У меня есть эта ошибка при выполнении большого запроса на Oracle. любой совет? Я использую PL SQL версии 10.2

Я заметил, что ошибка связана с созданием представления, основанного на множестве таблиц, и когда я делаю выбор из этого представления для определенного параметра с условием where, я получаю эту ошибку. Когда я проверил логи, я обнаружил, что это

ora 07445 нарушение доступа

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Из полезной oerr команды:

$ oerr ora 3113
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
//          First, check for network problems and review the SQL*Net setup.
//          Also, look in the alert.log file for any errors. Finally, test to
//          see whether the server process is dead and whether a trace file
//          was generated at failure time.

Итак, наиболее вероятные причины:

  1. Сбой серверного процесса, к которому вы подключены.
  2. Проблема с сетью разорвала ваше соединение.
  3. Кто-то вручную убил процесс на сервере, к которому вы были подключены.

Когда произошел сбой серверного процесса, к которому вы были подключены, он выбросил ORA-07445. Эта ошибка, наряду с ORA-00600, является относительно известной ошибкой Oracle. Это функционально необработанные исключения: ORA-00600 является необработанным исключением в коде Oracle, тогда как ORA-07445 является фатальным сигналом от ОС, в основном потому, что Oracle сделал что-то, что ОС не одобрила, поэтому ОС убил процесс Oracle.

На сайте поддержки Oracle (http://metalink.oracle.com) имеется онлайновое средство устранения этих ошибок - найдите в metalink документ 600.1 и введите соответствующую информацию из файла журнала, и вы можете получить некоторую полезную информацию по устранению неполадок.

2 голосов
/ 28 июля 2010

Обычно это происходит, когда что-то убивается на уровне ОС сервера базы данных.Но это довольно общая ошибка.Но в моем конкретном мире я увижу это в журнале сервера приложений на машине A, если сервер базы данных на машине B выключен.В вашем случае ваш рабочий стол теряет связь с вашей СУБД.Ваш «большой запрос» может быть убит на уровне процесса, если какой-то администратор или автоматизированный процесс идентифицирует ваш запрос как боров ресурса (т. Е. У вас есть декартово произведение).

Чтобы было ясно, это очень вероятновы делаете неправильно в качестве клиента, а не ошибку своего сервера или самого Oracle.

ОБНОВЛЕНИЕ , поскольку вы предоставили дополнительную информацию.Поскольку база данных работает на вашем компьютере, я бы поспорил, что в вашем запросе обнаружен недостаток ОЗУ для поддержки операций как клиента, так и сервера.

...