Топ-100
 
CerebroSQL

ORA-00257

RU

ORA-00257: ошибка архивации. Пока свободно только внутр. соединение

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

Ошибка может быть следствием поломки наката на standby или системы резервного копирования.

Проверить процент свободного места во FRA можно используя следующий запрос:

Исправление:
1. Увеличить значение параметра db_recovery_file_dest_size (текущее значение 50G)

Если база не открыта:
sqlplus / as sysdba
sql> startup nomount;
sql> alter system set db_recovery_file_dest_size=100G scope=both
sql> shutdown immediate
sql> startup


Если база открыта:
sqlplus / as sysdba
sql> alter system set db_recovery_file_dest_size=100G scope=both
sql>alter system switch logfile;
sql>exit;


Разобраться в причинах:

1. Сломался бэкап и архивные журналы перестали зачищаться.
2. Увеличилась нагрузка на БД и места просто не хватает.
3. База тестовая, настройка включена ошибочно. Рассмотреть возможность перевода БД в режим noarchivelog или добавить в cron (scheduller) скрипт удаляющий старые архивные журналы

EN

ORA-00257: archiver error. Connect internal only, until freed

This error is related to disk / space overflow for FRA.
To diagnose this error, check the free space on the disk, then check the size of the FRA area and, if necessary, expand it.

The error may be the result of a breakdown of the roll-forward to standby or the backup system.

You can check the percentage of free space in the FRA using the following query:

Correction:
1. Increase the value of the db_recovery_file_dest_size parameter (the current value is 50G)

If the base is not open:
sqlplus / as sysdba
sql> startup nomount;
sql> alter system set db_recovery_file_dest_size = 100G scope = both
sql> shutdown immediate
sql> startup


If the base is open:
sqlplus / as sysdba
sql> alter system set db_recovery_file_dest_size = 100G scope = both
sql> alter system switch logfile;
sql> exit;


Understand the reasons:

1. The backup broke and the archived logs were no longer cleaned up.
2. The load on the database has increased and there is simply not enough space.
3. The base is test, the setting is turned on by mistake. Consider the possibility of switching the database to noarchivelog mode or add a script to cron (scheduller) that deletes old archived logs

SQL =>

select name,
round(space_limit/1024/1024/1024) "limit",
round(space_used/1024/1024/1024) "used",
round(((space_limit-space_used)/space_limit)*100) "free"
from v$recovery_file_dest

where name is not null