IO error

Ivan Shomnikov
Дата: 04.08.2005 11:01:24
Есть процедура. В ней есть курсор. Процедура прекрасно работала и справлялась с возложенными мной на нее обязанностями, пока в один прекрасный момент не...
ERROR:
ORA-03114: not connected to ORACLE


BEGIN teacher_proc; END;

*
ERROR at line 1:
ORA-01114: IO error writing block to file %s (block # %s)

то же самое выводит SQL*Plus, когда я просто выполняю запрос на основе, которого в процедуре сделан курсор. В коде ничего не менял, все работало.
kapis
Дата: 04.08.2005 11:15:20
ORA-01114: IO error writing block to file string (block # string)

Cause: The device on which the file resides is probably offline. If the file is a temporary file, then it is also possible that the device has run out of space. This could happen because disk space of temporary files is not necessarily allocated at file creation time.

Action: Restore access to the device or remove unnecessary files to free up space.
Ivan Shomnikov
Дата: 04.08.2005 11:45:20
В том, то и дело, что с доступом к серверу Oracle все ок и места на диске около 74 Gb.
Vadim_Maximov
Дата: 04.08.2005 11:58:57
У тебя ушел в оффлайн какой-то из файлов данных, который требуется для получения данных твоего запроса.
Выполни запрос:
SQL> select status, name from v$datafile

STATUS  NAME
------- ------------------------------------
SYSTEM  D:\DATABASE\SYSTEM01.DBF
ONLINE  D:\DATABASE\UNDOTBS01.DBF
ONLINE  D:\DATABASE\CWMLITE01.DBF
ONLINE  D:\DATABASE\DRSYS01.DBF
ONLINE  D:\DATABASE\EXAMPLE01.DBF
ONLINE  D:\DATABASE\INDX01.DBF
ONLINE  D:\DATABASE\ODM01.DBF
ONLINE  D:\DATABASE\TOOLS01.DBF
ONLINE  D:\DATABASE\USERS01.DBF
ONLINE  D:\DATABASE\XDB01.DBF
ONLINE  D:\DATABASE\OEM_REPOSITORY.DBF

STATUS  NAME
------- ------------------------------------
OFFLINE D:\DATABASE\TEST.ORA
RECOVER D:\DATABASE\TEST2.ORA

13 rows selected.
Смотри на файлы в состоянии OFFLINE
Ivan Shomnikov
Дата: 04.08.2005 12:12:25
Все файлы в онлайне. С этим все ок. Но связь с Oracle обрывается во время выполнения запроса с приведенной выше ошибкой (пробовал из Toad и SQL*Plus). Все-таки приведу запрос (запрос как запрос, раньше работал)... :( :

SELECT t.lastname, t.name, t.patronymic,
t.birthdate, t.series, t.doc_number,
t.sex_id, t.education_id, t.type_doc,
s1.id sexid, s2.id eduid, s3.id docid,
s4.id postid, t.post, t2.id estabid, t.discipline,
t.type_category, t.type_razryad, t.type_stepen, t.type_rank, t.scient_speciality
FROM tb_temp_teacher t, sp_sex s1, sp_education s2,
sp_type_document s3, sp_post s4,
tb_establishment t2
WHERE (t.education_id = s2.federal_code)
AND (t.sex_id = s1.shortname)
AND (t.type_doc = s3.federal_code)
AND (t.post = s4.federal_code)
AND (t.ou = t2.external_code);
kapis
Дата: 04.08.2005 12:30:56
1. забакапиться
2. dbv file_name. проверить файл (файлы?) данных табличных пространств, которые содержат таблицы из запроса.
3. проверить состояние винтов.
Bely
Дата: 04.08.2005 12:31:47
Ivan Shomnikov
Все файлы в онлайне. С этим все ок. Но связь с Oracle обрывается во время выполнения запроса с приведенной выше ошибкой (пробовал из Toad и SQL*Plus).
А не посыпались ли диски...
физически.
Ivan Shomnikov
Дата: 04.08.2005 14:07:47
Фигня какая-то творится. С дисками все в порядке. С файлами данных тоже.
Запрос вдруг ни с того ни с сего опять выполнился. А потом... опять не выполнился =) Буду разбираться дальше самостоятельно.
Спасибо всем ответившим и прошу прощения за такую ерундистику.
Vadim_Maximov
Дата: 04.08.2005 14:10:19
Сделай
 select * from v$version;
Ivan Shomnikov
Дата: 04.08.2005 14:20:07
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE    9.2.0.1.0       Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production