Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-01111 в MRP във Physical Standby база данни

Преди известно време MRP в базата данни в режим на готовност се провали с ORA-01111 със следната подробна грешка в дневника за предупреждения

Alert Log in Standby Shows MRP is terminated with below error
=================================================================
File #8 added to control file as 'UNNAMED00008' because
the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL
The file should be manually created to continue.
MRP0: Background Media Recovery terminated with error 1111
Thu Jan 08 11:02:35 2016
Errors in file /u01/oracle/product/11.2.0/diag/rdbms/TEST/test/trace/TEST_mrp0_6436.trc:
ORA-01111: name for data file 129 is unknown - rename to correct file
ORA-01111: name for data file 129 is unknown - rename to correct file
ORA-01110: data file 129: '/u01/oracle/product/11.2.0/dms/UNNAMED00008'

Причина за ORA-01111

Тази грешка ORA-01111 възниква, ако добавим файл с данни ИЛИ пространство за таблици в ОСНОВНАТА база данни и това не може да бъде преведено в резервната база данни поради следните причини:

  • Standy_file_management е зададено на РЪЧНО
  • Основният и физическият режим на готовност имат различни файлови структури и DB_FILE_NAME_CONVERT не е зададено според структурите на директорията в първичен и режим на готовност
  • Недостатъчно място или грешни разрешения в резервната база данни за създаване на файла с данни

Регистраторът за повторение, генериран от Първичния, ще има добавена информация за пространството за таблици / файла с данни, но не може да бъде създаден успешно във физическата резервна база данни поради standby_file_management =MANUAL
или не може да намери посочената папка поради липсващ / неправилно преобразуване на име на файл. Файловият запис се добавя към контролния файл в режим на готовност като „UNNAMED0000n“ в папката /dbs или /database зависи от операционната система и в крайна сметка MRP се прекратява.

Решение на ORA-01111

Изпълнете всички споменати стъпки в базата данни в режим на готовност:

Стъпка 1: Уверете се, че standby_file_management =‘MANUAL’

ЗАБЕЛЕЖКА:За промяна на параметъра db_file_name_convert, ако брокерът за защита на данните е активиран, след това редактирайте параметрите с помощта на брокера,

DGMGRL>edit database '<standby>' set property DbFileNameConvert='/u01','+DATA';
DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;

По подразбиране StandbyFileManagement е AUTO от брокер.

Стъпка 2: Идентифицирайте файла, който е „unnamedn“

SQL> select name from v$datafile;
NAME
---------------------------------------
+DATA/TEST/datafiles/SYSTEM.DBF
+DATA/TEST/datafiles/UNDO.DBF
+DATA/TEST/datafiles/SYSAUX.DBF
+DATA/TEST/datafiles/index1.DBF
/u01/oracle/product/11.2.0/dms/UNNAMED00008

Стъпка 3: Преименувайте/създайте файла с данни с правилното име на файл

SQL> alter database create datafile '/u01/oracle/product/11.2.0/dms/UNNAMED00008' as '+DATA/TEST/datafiles/appstex.dbf';
or
SQL>alter database create datafile '/u01/oracle/product/11.2.0/dms/UNNAMED00008' as new;

Стъпка 4: Проверете дали името на файла е правилно

SQL> select name from v$datafile;
NAME
-------------------------------------------------
+DATA/TEST/datafiles/SYSTEM.DBF
+DATA/TEST/datafiles/UNDO.DBF
+DATA/TEST/datafiles/SYSAUX.DBF
+DATA/TEST/datafiles/index1.DBF
+DATA/TEST/datafiles/appstex.dbf


Стъпка 5: Променете STANDBY_FILE_MANAGEMENT на AUTO

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;


Стъпка 6: Стартирайте MRP (това се използва Прилагане в реално време)

SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.

Стъпка 7: Уверете се, че MRP работи според очакванията

SQL> select process, status , sequence# from v$managed_standby;
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 1014
ARCH CLOSING 1013
MRP0 APPLYING_LOG 1001
RFS IDLE 0
RFS IDLE 0
RFS IDLE 1015

Стъпка 8: Уверете се, че сте коригирали грешката, довела до неуспешно създаване на файл.

Трябва да се уверим, че параметърът STANDBY_FILE_MANAGEMENT и DB_FILE_CONVERT са правилни

Също чете
ORA-03113:край на файла на комуникационния канал
ORA-00257:грешка в архиватора. Свързвайте се само вътрешно, докато не бъдете освободени.
база данни в режим на физическа готовност
https://support.oracle.com/knowledge/Oracle%20Database%20Products/1416554_1.html


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обработка на изключения за пакетно вмъкване на JDBC

  2. NLS_INITCAP() Функция в Oracle

  3. Актуализирайте със заявка за присъединяване в Oracle

  4. Zip с помощта на Oracle Stored Procedure

  5. GROUP BY с MAX(DATE)