ora 01691 ошибка как исправить
ORA-01691: unable to extend lob segment
I was running an XML transformation using dbms_xmldom package and when I do this for a 1.65 MB sized XML ( the XML is a NON SCHEMA BASED column in a table).
ORA-1691: unable to extend lobsegment XXXXXXX.SYS_LOB0000073404C00015$$ by 1024 in tablespace XXXXX
I would think that I am getting this error because I have built the table by default parameters. Just a create statement. Need some help in tweaking with the parameters while creating the table and the tablespace too.
I would be happy to send the parameters I used for this if you say they are relevant here. Please let me know what exactly would you want me to provide. I also have a trace file when I ran that procedure.
Comments
What database version are you on?
Normally this means that the tablespace is full OR that there is not an extent (aka chunk) available that fits the size needed. If so. Check dba_data_files, dba_tablespaces, v$datafile to see how tablespace XXXXX is build up or use:
You could try to free up space via a coalesce tablespace statement of free space a different way. You can check in dba_free_space if there is still a chunck of space free (probably none or 0 · Share on Twitter Share on Facebook
Ok, I have run this.
SQL> select dbms_metadata.get_ddl(‘TABLESPACE’,’XXXXX’) from dual;
CREATE TABLESPACE «XXNCH» DATAFILE
‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\YYYYY\XXXXX.DBF’ SIZE 52428800,
‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\YYYYY\XXXXX_1.DBF’ SIZE 104857600
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
SQL> alter tablespace xxxxx resize 256M;
alter tablespace xxxxx resize 256M
*
ERROR at line 1:
ORA-32773: operation not supported for smallfile tablespace XXXXX
Also, I was checking in TOAD (too lazy and time constrained to use scripts). and this is what I got:
That one LOBSegment was occupying 83 MB of space.
Ora 01691 ошибка как исправить
← →
k2 © ( 2007-10-22 15:47 ) [1]
свободное место где? в таблспейсе?
http://forums.oracle.com/forums/thread.jspa?messageID=1471354
ORA-01691 unable to extend lob segment string.string by string in tablespace string
Cause Failed to allocate an extent for LOB segment in tablespace.
Action Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
← →
k2 © ( 2007-10-22 15:53 ) [3]
> Sergey13 © (22.10.07 15:51) [2]
мож у гражданина байты на вес 🙂 не дай готт лишнего добавить 🙂
← →
ora-01691 ( 2007-10-22 16:02 ) [4]
Суть вопроса не в том, как расширить или добавить.
В общем есть три стороны. Пользователь, его администртатор и я.
Пользователь получили ошибку.
Я его отослал к его админу, сказав, чтоб тот добавил дадафайл.
Админ что-то сделал, или ничего не сделал.
У пользователя ошибка не пропала.
Пользователь имеет возможность выполнять пользовательские запросы.
Требуется убедить его в том, что верблюд не я а его админ.
PS по линку посмотрел, но dba_tablespaces в девятке как-то по другому называется.
Так что узнать наверное можно, но добавлять места все равно придется. 😎
Боюсь напутать в своих рассуждениях (давненько не брал я в руки шашку), но вроде как так.
← →
k2 © ( 2007-10-22 16:10 ) [6]
← →
ora-01691 ( 2007-10-22 16:12 ) [7]
не видно dba_tablespaces даже под сисом.
9.2
← →
k2 © ( 2007-10-22 16:15 ) [8]
> Sergey13 © (22.10.07 16:10) [5]
у него задача другая: посмотреть изменилось ли што-то в результате действий админа 🙂
вообще против админа переть завсегда проиграешь, не сейчас так потом, коньяк решит все проблемы и обеспечит процветание впредь 🙂
segment_space_managment=auto_forever 🙂
← →
Правильный_Вася ( 2007-10-22 16:16 ) [9]
> не видно dba_tablespaces даже под сисом.9.2
байки
DBA_tablespaces ни о чем не говорит?
> ora-01691 (22.10.07 16:12) [7]
9.2 а дальше? standard?
p.s. яж тебе врать не буду 🙂
← →
ora-01691 ( 2007-10-22 16:19 ) [11]
да фик их знает. это ж не моя контора.
там второй релиз девятки как минимум.
← →
ora-01691 ( 2007-10-22 16:22 ) [12]
DBA_tablespaces ни о чем не говорит?
Ничего кроме 00942 не говорит.
← →
k2 © ( 2007-10-22 16:30 ) [13]
select * from v$version?
← →
ora-01691 ( 2007-10-22 16:32 ) [14]
> [8] k2 © (22.10.07 16:15)
> у него задача другая: посмотреть изменилось ли што-то в
> результате действий админа 🙂
Если ошибка не ушла, то что-то мне подсказывает, что ничего не сделано (полезного по крайней мере). Вряд ли Оракл не узнал бы о сделаном. 😎
← →
k2 © ( 2007-10-22 16:35 ) [16]
← →
k2 © ( 2007-10-22 16:36 ) [17]
> Sergey13 © (22.10.07 16:33) [15]
админ может мотивировать, што криво написано приложение, кушает запредельно, тут бодаться лучше не надо 🙂 админы наше все 🙂
← →
ora-01691 ( 2007-10-22 16:37 ) [18]
я не сомневаюсь, что ничего не было сделано, я верю клиентским скриншотам.
Сам добавлять я естественно ничего не хочу. Это не мой сервер.
Мне хочется убедить пользователя пинать не меня, а своего дба админа.
← →
ora-01691 ( 2007-10-22 16:40 ) [19]
админ может мотивировать, што криво написано приложение, кушает запредельно
Это не его забота. Все написано согласно ТЗ.
← →
k2 © ( 2007-10-22 16:46 ) [20]
sys as sysdba а не sys as sysoper
← →
Desdechado © ( 2007-10-22 16:46 ) [21]
← →
Petr V.Abramov ( 2007-10-22 16:50 ) [22]
> ora-01691 (22.10.07 16:22) [12]
> DBA_tablespaces ни о чем не говорит?
> Ничего кроме 00942 не говорит.
> Если ошибка не ушла, то что-то мне подсказывает, что ничего не сделано > (полезного по крайней мере). Вряд ли Оракл не узнал бы о сделаном. 😎
учитывая
> Я его отослал к его админу, сказав, чтоб тот добавил дадафайл.
админ может и обидеться, когда ему говорят, что ему делать. может, ситуация отсюда растет? 🙂
← →
ora-01691 ( 2007-10-22 16:52 ) [23]
as dba прокатило. правда это мне все равно не поможет.
У юзера ничего кроме приложения нет.
Там он может выполнять пользовательские селекты, но только из под текущего аккаунта приложения.
> [17] k2 © (22.10.07 16:36)
> кушает запредельно
Ну уж это не админу решать. Его дело место выделять. Дай им волю они только админский доступ к серверу оставят, для спокойствия. 😎
Ошибка то явно говорит не о кривости приложения.
← →
k2 © ( 2007-10-22 17:17 ) [25]
беру назад все слова про этого конкретного админа
дать простому пользователю сисовский пароль.
← →
Petr V.Abramov ( 2007-10-22 21:02 ) [26]
> k2 © (22.10.07 17:17) [25]
а он не давал, он не закрыл
← →
Petr V.Abramov ( 2007-10-22 21:21 ) [27]
> Sergey13 © (22.10.07 16:55) [24]
Люди базы
Целью жизни для людей базы является неуемное стремление нормализовать базу до десятого уровня нормализации и при этом они испытывают состояние близкое к оргазму. Кроме того в их задачу входит полное устранение middle tier, в виду его полной ненужности, а чего, говорят они, все здеся, в наших родненьких stored procedures и ненаглядных triggers. А к этим таблицам не будет вам прямого доступа, щас вам view наваляем. А будете выпендриваться вообще лишим доступа. В идеале кроме базы ничего не должно существовать. База есть вещь в себе и для себя!
SYSAUX: ORA-01691: unable to extend lob segment SYS.SYS_LOBXXX
Our customer is noticing ORA-01691 in their SYSAUX tablespace. Our customer’s dba says it is causing due to data for LOB fields of our tables are getting stored in SYSAUX. Initially all the tables are created in the user tablespace. If the user tablespace becomes full, does Oracle store LOB data into the SYSAUX tablespace?
One of the recommendations I have noticed is use separate tablespace for LOB fields. This would be a very big change for us.
Could you please suggest how this issue can be resolved?
I have requested customer’s database version. I’ll update it once I have it.
I’m assuming customer is using Oracle10 or higher version.
Answers
>Could you please suggest how this issue can be resolved?
add more disk space
If possible move some oracle components data from sysaux.
For Example: XDB Schema with Package DBMS_XDB_ADMIN.MOVEXDB_TABLESPACE() (since Version 11.2).
Spatial: How to move Oracle Spatial objects from SYSAUX tablespace to a user defined tablespace (Doc ID 1119758.1)
Audit: How To Move The DB Audit Trails To A New Tablespace Using DBMS_AUDIT_MGMT? (Doc ID 1328239.1)
Instead of guessing, why not just check the table associated with the LOB segment?
select table_name from dba_Lobs where segment_name = ‘SYS_LOB. ‘;
No, Oracle will never put user data into SYSAUX just because other tablespaces get full. A common culprit for high SYSAUX space usage is the AWR tables not getting cleaned.
A quick fix might be to set the autoextend on if you can and if its feasible. Its always good idea to keep the LOBs in a separate tablespace. Thank
As suggested in the doco, double check the SYSAUX can autoextend, or add another datafile.
Also keep application objects away from SYSTEM and SYSAUX.
ORA-01691: unable to extend lob segment string.string by string in tablespace string
Cause: Failed to allocate an extent of the required number of blocks for LOB segment in the tablespace indicated.
Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
Thanks everyone for your suggestions..
Here is what our customer’s dba is claiming:
«The idea is to move the lob objects stored by schema to a separate tablespace. Saving lobs on sysaux / adding space to sysaux is not a good practice.
You have to provide a procedure to migrate these segments by specifying a storage clause in the table creation process.»
When our customers install our product, all the application objects(including lobs) are stored in the application tablespace. In the create table scripts, we do not explicitly mention the tablespace for LOBs (though we explicitly mention the tablespace for the tables). I would like to understand how the customer’s dba came to conclusion ORA-01691 in SYSAUX is causing due to the LOB fields of the application tables.
I also sent the below query to the customer’s dba:
select table_name, column_name
where segment_name = ‘SYS_LOBXXX$$’;
Also, I asked them to check on AWR as Oracle docs states the largest portion of the SYSAUX tablespace is occupied by the Automatic Workload Repository (AWR). I will check the customer to see if they can add datafiles too.
Ora 01691 ошибка как исправить
ORA-1691: unable to extend lobsegment OLT.SYS_LOB0000079598C00002$ by 128 in tablespace USERS
ORA-01691
To investigate further, you can query the DB with the following SQL commands: [2]
When I checked the used% of tablespace USERS, it showed that it’s almost 100% full. So, the error is due to the tablespace being full.
The Solution
You can find out what schema (or user) uses tablespace USERS by issuing the following SQL command:
By adding some space to the tablespace, it helped smooth out the task of session removing. Admittedly, it was still a slow process. But, the solution worked.
References
2 comments:
Did you know you can create short links with Shortest and get dollars for every click on your short links.
Professional trading signals delivered to your cell phone every day.
Follow our signals NOW & gain up to 270% per day.
Disclaimer
Total Pageviews
Categories
About Me
XML and More The American travel writer Paul Theroux once wrote: «Tourists don’t know where they’ve been, travelers don’t know where they’re going.«
Healthy pursuits are like traveling. We know there is a wonderland called wellness. But, there are no fixed routes to reach there. The pursuits need effort and determination. We cannot act like tourists who don’t know where they’ve been. We must take notes of warning signs sent by our bodies.
On the journey to wellness, there are many dangers to be avoided; there are many footsteps to be taken; unfortunately, there are no short-cuts.
Travelers walking in the night follow North Star. Healthy pursuits work similarly. We know our goal; we know the signposts; we know the dangers on the road; we can adjust pace if we are tired; we can change travel plans due to the weather. But, We walk steadily and persistently. With my companionship, hopefully, your journey will be made easier.
May all be fed. May all be healed. May all be loved. View my complete profile
Некоторые ошибки и их устранение
SP2-1503/SP2-0152
Windows Server 2003 R2 с установленным на нём Oracle Client 10.2.0.4.
При запуске sqlplus от имени пользователя с администраторскими полномочиями коннект осуществляется без проблем. Но при попытке подключиться к базе от имени пользователя без администраторских полномочий появляется ошибка:
Вызвано это невозможностью создать global object пользователем без администраторских полномочий. Я решил проблему так:
ORA-28759: сбой при открытии файла
При выполнении обращения из БД (под Windows) к серверу с поддержкой SSL (по HTTPS) появилась ошибка:
Суть проблемы в том, что Oracle Wallet Manager (OWM) при редактировании wallets меняет разрешения на доступ к файлу. В результате файл становится доступным только пользователю, от которого был запущен OWM.
Решение:
Измените разрешения на доступ к файлу так, чтобы пользователь, от которого работает Oracle DB, имел доступ хотя бы на чтение.
ORA-12154: TNS:could not resolve the connect identifier specified
PL/SQL Developer и Windows x64.
sqlplus
При попытке подключиться с помощью sqlplus, используя Easy Connect, тоже можно получить ошибку:
Ошибка компиляции при установке Oracle Client
Первоначально пробуем выполнить:
Для Ubuntu 14.04 вероятно придётся пересоздать symlink:
и снова пробуем выполнить:
SQL Developer, Oracle XE и ORA-12705 в Linux
У меня содержимое файла выглядит так:
Проблемы с external job (sjsec 6a)
В какой-то момент стал получать ошибку:
ORA-01075 you are currently logged on
Нашёл решение здесь, но решил у себя продублировать. Итак, если при подключении к БД получаем что-то типа:
нужно выполнить следующие шаги:
SQLDeveloper из Oracle 11g (64 bit) на Windows (64 bit)
При запуске sqldeveloper, который идёт в комплекте с Oracle 11G (11.2.0.4.0, 64bit) и установлен на Windows Server 2008 R2 (64 bit), получаем окно, в котором нас просят указать путь к java.exe. Однако, при указании пути к java, которая идёт вместе с Oracle или же к другой java 64 bit, ничего не происходит, кроме того, что снова появляется это же окно.
Если же пытаемся запустить » %ORACLE_HOME%\sqldeveloper\sqldeveloper\bin\sqldeveloper «, то при указании пути к java получаем сообщение:
Как ни парадоксально, но это решается установкой java 32-bit и добавлением в файл » %ORACLE_HOME%\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf » строки, в которой с помощью SetJavaHome задан JAVA_HOME (путь к java), например так:
ORA-00845: MEMORY_TARGET not supported on this system
На Windows я с такой ошибкой пока не встречался, а на linux решение простое:
Где:
size — размер больше или равен объёму выделяемой для всех экземпляров Oracle памяти. В нашем случае он равен 12Gb (size=12g).
должны получить что-то похожее на следующее:
ORA-12034: materialized view log on «SCHEMA».»MVIEW» younger than last refresh
Можно смотреть ноту 204127.1 на Metlink.
В некоторых случаях помогает:
Проблемы при повторной конфигурации Oracle XE.
Один из вариантов повторной конфигурации Oracle XE заключается в удалении » /etc/sysconfig/oracle-xe » (для Red Hat) и выполнении » /etc/init.d/oracle-xe configure «. Однако, если у вас имеется созданное вами табличное пространство в указанном вами файле данных, выполните обязательно бэкап этого табличного пространства. Указанный скрипт выполнит пересоздание DBID для известных ему файлов данных, но не тронет те, что вы создали. Таким образом, после старта системы вы не сможете ни получить доступ к вашим файлам, ни подключить их к БД, т.к. в них прописаны старые DBID. Будьте внимательнее.
ORA-01704: string literal too long
При работе с Oracle через JDBC, столкнулся с проблемой в виде ошибки «ORA-01704: string literal too long». Оказывается, в некоторых случаях (JDBC — один из них) нельзя просто взять и вставить строку длиной больше 4000 символов в поле таблицы. Даже если это поле типа CLOB. Т.е. не прокатывает строка вида:
Пересоздание сессии в удалённой БД (dblink)
Разработчики стали жаловаться, что, при обращении к объекту, размещённому в удалённой БД, через database link, появляется следующая ошибка:
В результате, на требуемом нам сервере будет создана новая сессия. Проблема была решена. Такой вот lifehack.
К сожалению, воспроизвести ситуацию уже невозможно, но, вероятно, могла помочь и следующая последовательность действий:
Certificate of the remote server does not match the target address.
Эта заметка относится к Oracle Database 12.2.
В wallet-файле есть необходимый сертификат, но при обращении к ресурсу получаем ошибку:
» habrahabr.ru » и есть то значение, которое необходимо подставить:
Ещё один широко известный в узких кругах ресурс:
ORA-27369: job of type EXECUTABLE failed with exit code: 274662
ORA-00392: log 1 of thread 1 is being cleared, operation not allowed
При открытии БД с resetlogs получаем ошибку:
Вероятно, первая команда » alter database open resetlogs » завершилась неудачно и в control-файле redo остались в статусе CLEARING/CLEARING_CURRENT:
Можно попробовать использовать следующие команды:
а затем уже повторить:
На metalink есть документ (Doc ID 1352133.1)
ORA-31640: unable to open dump file «FILENAME» for read
При выполнении импорта средствами Oracle DataPump столкнулся с этой ошибкой (видна в лог-файле). Дамп-файлы были размещены на NFS-разделе, который был смонтирован не совсем корректно. Подсмотрел здесь параметры, которые помогли решить проблему: