Ora 01691 ошибка как исправить

ORA-01691: абзац ЛОБ не может продлить решение до 8192 (в табличном пространстве XXX), Русские Блоги, лучший сайт для обмена техническими статьями программиста.

Описание фона: веб-сервер пользователя внезапно появляется данные, которые не могут быть написаны, и журнал проверки см. В разделе, что проблема выглядит следующим образом:

ORA-01691: лоб сегментUSERS.SYS_LOB0000087483C00004$$Невозможно расширить 8192 (в пользователей табличного пространства).в результате чегоДанные не могут быть написаны.

Обработка аварийной аварийной аварийной обработки: Запрос информации, связанной с ошибкой, ответ недостаточен, а файл данных добавляется. Используйте этот метод для успешного решения его. После запроса автоматическое расширение было установлено.

Позже я вдруг подумал, что это будет ограничение по размеру файла, поэтому используйте ключевые слова: Одиночный запрос Ограничение Ограничения Ограничение Техническая документация, результаты находят следующие:

Когда табличное пространство Maxsize Unlimited:

В системе Linux в случае размера блока 8k максимальный размер файла данных составляет 32 ГБ.

Когда размер пространства таблицы установлен (Maxsize 4096m):

Значение размера данных предварительно установлено.

3. Решение:

A. Когда размер файла данных имеет значение настройки (MAXSIZE 4096M): увеличить размер файла данных, максимум не превышает 32G.

alter database datafile 'Путь файла' autoextend on next 100m maxsize 10240M;

B. Когда пространство таблицы Maxsize Unlimited: вы можете добавить только файл данных.

alter tablespace xxx add datafile 'Путь файла данных 'Размер 1000 м Autoextend на следующий 100 м Maxsize Unlimited

В случае размера блока данных Data Oralce по умолчанию один файл до 32G; файл данных может достигать корпуса 32T в 8K, используя большой файл.

Размер блока по умолчанию не может быть изменен, если вам нужно изменить базу данных;

Это зависит от этого задачи решения: 1, добавьте файлы данных. 2, используйте большие файлы. 3, измените размер блока данных.

Вот подробное решение:

Окружающая среда: Linux.системаИнструмент: PL / SQL разработчик

Шаг 1: Просмотр имени и файла табличного пространства:

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name

Шаг 2: Увеличьте желаемое табличное пространство:

Изменение базы данных DataFile «Табличное пространство» Расположение «Изменение размера нового размера»

Например:

alter database datafile ‘oracleoradataanita_2008.dbf’ resize 4000m

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

Метод 1: Добавить номер файла данных

Изменить имя таблицы табличного пространства
Добавить файл данных «Новый файл файла данных» Размер файла данных

Например:

alter tablespace ESPS_2008
     add datafile ‘oracleoradataanita_2010.dbf’ size 1000m

Способ 2: Установить табличное пространство автоматического расширения

Изменение базы данных DataFile «Файл данных»
AUTOVEXTENC на следующий автоматический расширенный размер Maxsize максимальный размер расширения

Например:

alter database datafile ‘oracleoradataanita_2008.dbf’

      autoextend on next 100m maxsize 10000m

Метод 3: Использование таблицы запросов:

select a.tablespace_name,a.bytes/1024/1024 «sum MB»,

(a.bytes-b.bytes)/1024/1024 «used MB»,b.bytes/1024/1024 «free MB»,

round (((a.bytes-b.bytes)/a.bytes)*100,2) «used%» from

(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,

(select tablespace_name,sum(bytes) bytes,max (bytes) largest from dba_free_space group by tablespace_name)b

where a.tablespace_name=b.tablespace_name

order by ((a.bytes-b.bytes)/a.bytes) desc;

 

May 4, 2021

I got ” ORA-01691 unable to extend LOB segment ”  error in Oracle database.

ORA-01691 unable to extend LOB segment

Details of error are as follows.

ORA-01691: unable to extend lob segment %s.%s by %s in tablespace %s  

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.
ORA-55917: Table flush I/O failed for log ID: 1 bucket ID: 0
ORA-01691: unable to extend lob segment AUDSYS.SYS_LOB0000091239C00014$$ by 128 in tablespace SYSAUX
ORA-02002: error while writing to audit trail
ORA-55917: Table flush I/O failed for log ID: 1 bucket ID: 0
ORA-01691: unable to extend lob segment AUDSYS.SYS_LOB0000091239C00014$$ by 128 in tablespace SYSAUX

unable to extend lob segment

This ORA-01691 errors are related with the Failed to allocate an extent of the required number of blocks for LOB segment in the tablespace indicated.

To solve this error, Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.


Add a datafile to the SYSAUX tablespace as below to have more space on the SYSAUX tablespace . If this solution does not work, then the database has to be rebuilt.

1. First we would have to check in the diskgroup how much free space is available to add datafile.

SQL> SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage FROM v$asm_diskgroup;

2. Then we would have to find out that diskgroup name which is mapped to SYSAUX tablespace for adding datafile.

SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='SYSAUX';

You should see an output similar to the below output –

TABLESPACE FILE_NAME
---------- --------------------------------------------------------------------------
SYSAUX +DATA/test/datafile/sysaux.264.960435911

Here the diskgroup is +DATA which is mapped to SYSAUX tablespace.

3. Add the datafile in DATA diskgroup.

SQL> alter tablespace SYSAUX add datafile'+DATA' size 10G autoextend on next 1024M;

If you use File system, then add datafile as follows.

alter tablespace SYSAUX add datafile '/oradata/datafile/SYSAUX02.dbf' size 1G autoextend on next 1024M;

4. Check the datafile is added for Sysaux Tablespace with 10G size.

SQL> select tablespace_name,file_name,bytes/1024/1024/1024 from dba_data_files;

After this, we need to purge the audit data as the SYSAUX is extended now.

Purge the audit records periodically which will eventually prevent  the LOB segment from growing to a large size, the space inside the LOB segment will be re-used.

Review your audit configurations and Unset unwanted audit settings.

To disable the Unified Audit policies that are enabled by default , run the below :
noaudit policy ORA_SECURECONFIG;
noaudit policy ORA_LOGON_FAILURES;

Do you want to learn Oracle Database for Beginners, then read the following articles.

Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

 1,438 views last month,  1 views today

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

This article is one of the Oracle Application Test Suite (OATS)[1] series published on Xml and More, which includes the following:

  • Auto-Correlating Session IDs in Oracle Application Test Suite (OATS)
  • Removing «Compatibility setting is not supported» Warning before You Do OpenScript Recording
  • How to Configure Scripts to use Databanks in OATS
  • How to Create Load Testing Scripts Using OpenScript

Today, I have seen the following message:

ORA-1691: unable to extend lobsegment OLT.SYS_LOB0000079598C00002$ by 128 in tablespace USERS

from alert/log.xml, which was reported by the Oracle DB of OATS.[1]

In this article, we will show:

  1. How to investigate
  2. How to provide the solution

ORA-01691

If you see «ORA-01691» error, normally this means that the tablespace is full or that there is not an extent (aka chunk) available that fits the size needed.[2]

To investigate further, you can query the DB with the following SQL commands:[2]

SQL> set long 100000
SQL> select dbms_metadata.get_ddl('TABLESPACE','USERS') from dual;

DBMS_METADATA.GET_DDL('TABLESPACE','USERS')
--------------------------------------------------------------------------------

  CREATE TABLESPACE "USERS" DATAFILE
  '/scratch/aime1/app/oracle11.2.0.3.0/oradata/ps6stg7/users01.dbf' SIZE 5242880

  AUTOEXTEND ON NEXT 1310720 MAXSIZE 32767M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO
   ALTER DATABASE DATAFILE
  '/scratch/aime1/app/oracle11.2.0.3.0/oradata/ps6stg7/users01.dbf' RESIZE 34359
214080

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.

SQL>  select * from dba_tablespace_usage_metrics order by used_percent desc;

TABLESPACE_NAME                USED_SPACE TABLESPACE_SIZE USED_PERCENT
------------------------------ ---------- --------------- ------------
USERS                             4194128         4194302   99.9958515

The Solution

You can find out what schema (or user) uses tablespace USERS by issuing the following SQL command:

SQL> select owner, table_name,tablespace_name from dba_tables where tablespace_name='USERS';

From the output, we know tablespace USERS is shared by the following users:

  • OATS
  • OLT
  • OTM

In our environment, we have used OLT to run load tests. For OLT, typically it is the session data that is taking most of the space in the DB. As an immediate workaround, you can try removing sessions from OLT Controller
UI. However, it may run very slowly because tablespace USERS has already run out of space. To facilitate the session-removing task from OLT Controller UI, I have added 100MB to the tablespace USERS by giving it a second datafile:

SQL> ALTER TABLESPACE users ADD DATAFILE '/scratch/aime1/app/oracle11.2.0.3.0/oradata/ps6stg7/users02.dbf' size 100m;

Tablespace altered.

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

  1. Oracle Application Testing Suite
  2. ORA-01691: unable to extend lob segment (OTN)
  3. Administering Tablespaces
  4. SQL Purge command
  5. Folllow @OracleAskTom
  6. Oracle Load Testing Overview
  7. Oracle Test Manager Overview

Oracle 11g Logo

While exporting my one of the database with data pump backup utility, Backup has been stuck with ORA-01691: unable to extend lob segment & ORA-39171: Job is experiencing a resumable wait ora errors.

Oracle error pretty much self explanatory. After diagnosing ORA-01691 & ORA-39171, I came across the system tablespace having lack of space allocated, after adding new datafile ( alter tablespace… ) to system tablespace backup job has been resumed & successfully completed.

//Export Logs as below:

OracleDB:ora 19> expdp system/manager directory=dirdmp schemas=Prod dumpfile=Prod_260314%U.dmp logfile=Prod_260314.log compression=all parallel=4
Export: Release 11.2.0.3.0 – Production on Thu Mar 27 11:06:15 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting “SYSTEM”.”SYS_EXPORT_SCHEMA_03″: system/******** directory=dirdmp schemas=Prod dumpfile=Prod_260314%U.dmp logfile=Prod_260314.log compression=all parallel=4
Estimate in progress using BLOCKS method…
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 310.1 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39171: Job is experiencing a resumable wait.
ORA-01691: unable to extend lob segment SYSTEM.SYS_LOB0000653170C00045$$ by 1024 in tablespace SYSTEM
ORA-39171: Job is experiencing a resumable wait.

// SQL command use to increase tablespace size is as below:
SQL>alter tablespace SYSTEM add datafile ‘/oracle/Prod/sapdata1/system_1/system.data2.dbf’ size 500m autoextend on maxsize unlimited;

***********************************************************************
Note: Please don’t hesitate to revert in case of any query OR feedback.

Thanking you.

Have a easy life ahead.

Понравилась статья? Поделить с друзьями:
  • P00e9 ошибка faw
  • Options if your hdd is larger than 1 tb как исправить
  • P00c6 ошибка форд куга
  • P00bd ошибка bmw
  • P00bc00 volvo ошибка