|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
SQL> alter database open; alter database open * ERROR at line 1: ORA-10458: standby database requires recovery ORA-01157: cannot identify/lock data file 44 - see DBWR trace file ORA-01111: name for data file 44 is unknown - rename to correct file ORA-01110: data file 44: '/oracle/dbbase/UNNAMED00044' Пишет ошибку , поможет кто ? Спс ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 19:57 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Он же битами пор байтам пишет - протоптали 44-й датафайл ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:02 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
andrey_anonymous Он же битами пор байтам пишет - протоптали 44-й датафайл Все нужно восстанавлить standby через бэкап ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:04 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous SQL> alter database open; alter database open * ERROR at line 1: ORA-10458: standby database requires recovery ORA-01157: cannot identify/lock data file 44 - see DBWR trace file ORA-01111: name for data file 44 is unknown - rename to correct file ORA-01110: data file 44: '/oracle/dbbase/UNNAMED00044' Пишет ошибку , поможет кто ? Спс Есть такой документ - How to resolve ORA-01111 ORA-01110 ORA-01157 in a physical standby database (Doc ID 1416554.1) Доступ к MOS есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:09 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Что вернет Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:13 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen Что вернет Код: plsql 1.
SQL> show parameter standby_file_management NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ standby_file_management string MANUAL ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:14 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen AleksRous SQL> alter database open; alter database open * ERROR at line 1: ORA-10458: standby database requires recovery ORA-01157: cannot identify/lock data file 44 - see DBWR trace file ORA-01111: name for data file 44 is unknown - rename to correct file ORA-01110: data file 44: '/oracle/dbbase/UNNAMED00044' Пишет ошибку , поможет кто ? Спс Есть такой документ - How to resolve ORA-01111 ORA-01110 ORA-01157 in a physical standby database (Doc ID 1416554.1) Доступ к MOS есть? нет нету доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:15 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous SQL> show parameter standby_file_management NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ standby_file_management string MANUAL На будущее - когда строишь dataguard process этот параметр должен быть выставлен в AUTO. Иначе после каждого добавления файла данных в существующий tablespace в базе PRIMARY будут вот такие проблемы. У тебя же dataguard встал и не накатывает archived log files, так? И ты попытался открыть базу, да? Теперь будем пробовать починить твою базу. Останавливаем DR process Код: plsql 1.
Переименовываем твой неизвестный файл 44, ты должен посмотреть как называется этот файл в базе PRIMARY Код: plsql 1.
В базе STANDBY выполняешь Код: plsql 1.
Выставляем standby_file_management = auto Код: plsql 1.
Запускаем managed recovery process Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 20:32 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen AleksRous SQL> show parameter standby_file_management NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ standby_file_management string MANUAL На будущее - когда строишь dataguard process этот параметр должен быть выставлен в AUTO. Иначе после каждого добавления файла данных в существующий tablespace в базе PRIMARY будут вот такие проблемы. У тебя же dataguard встал и не накатывает archived log files, так? И ты попытался открыть базу, да? Теперь будем пробовать починить твою базу. Останавливаем DR process Код: plsql 1.
Переименовываем твой неизвестный файл 44, ты должен посмотреть как называется этот файл в базе PRIMARY Код: plsql 1.
В базе STANDBY выполняешь Код: plsql 1.
Выставляем standby_file_management = auto Код: plsql 1.
Запускаем managed recovery process Код: plsql 1.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вся проблема в том, в primary select * from dba_data_files where file_id = 44; показывает на data21.dbf , но standby нет такого файла ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2021, 22:53 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Чего-то я не понял, сначала ты пишешь: ORA-01110: data file 44: '/oracle/dbbase/UNNAMED00044' Но при переименовании путь к файлу ты указываешь уже другой: Код: plsql 1.
И почему-то пытаешься переименовать в файл который должен быть на ASM. Где у тебя файлы данных в базе STANDBY находятся, на диске ОС или на ASM? А на PRIMARY? Вся проблема в том, в primary select * from dba_data_files where file_id = 44; показывает на data21.dbf , но standby нет такого файла Понятное дело что нету, он создался с именем UNNAMED00044 из-за того что параметр standby_file_management был выставлен как MANUAL. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 00:16 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen Чего-то я не понял, сначала ты пишешь: ORA-01110: data file 44: '/oracle/dbbase/UNNAMED00044' Но при переименовании путь к файлу ты указываешь уже другой: Код: plsql 1.
И почему-то пытаешься переименовать в файл который должен быть на ASM. Где у тебя файлы данных в базе STANDBY находятся, на диске ОС или на ASM? А на PRIMARY? Вся проблема в том, в primary select * from dba_data_files where file_id = 44; показывает на data21.dbf , но standby нет такого файла Понятное дело что нету, он создался с именем UNNAMED00044 из-за того что параметр standby_file_management был выставлен как MANUAL. Создал датафайл все норм , теперь восстанавливаю Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Но процесс длится долго или так и должно быть. Объясните чайнику пжт. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:25 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous Создал датафайл все норм , теперь восстанавливаю Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Но процесс длится долго или так и должно быть. Объясните чайнику пжт. Выполни на STANDBY Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:35 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:40 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:41 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Standby SQL> select max(sequence#) from v$log_history; MAX(SEQUENCE#) -------------- 105616 Primary SQL> select max(sequence#) from v$log_history; MAX(SEQUENCE#) -------------- 105661 SQL> ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:44 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Aleks Niches, Если я правильно понимаю то параметр LOG_ARCHIVE_MAX_PROCESSES выставлен равным 4. Попробуй увеличить до 8 и на Primary и на Standby. Код: plsql 1.
В принципе, судя по этому не так уж и много файлов осталось накатить: автор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 09:50 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen Aleks Niches, Если я правильно понимаю то параметр LOG_ARCHIVE_MAX_PROCESSES выставлен равным 4. Попробуй увеличить до 8 и на Primary и на Standby. Код: plsql 1.
В принципе, судя по этому не так уж и много файлов осталось накатить: автор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Поменял LOG_ARCHIVE_MAX_PROCESSES на 8 Запустил recovery Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Нужно ждать пока процесс закончится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 10:01 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Standby Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90.
Prod Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 10:19 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous Нужно ждать пока процесс закончится ? Да, периодически проверяй какой archived log file прошел процесс recovery. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 19:05 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen AleksRous Нужно ждать пока процесс закончится ? Да, периодически проверяй какой archived log file прошел процесс recovery. Все норм помогли, спс. Последний вопрос если в PRIMARY нет нужных архивов, и STANDBY лежит уже 3-4 дня, а PRIMARY пометил архив как EXPIRED и удалил , тогда придется через восстанавливать бекап ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 19:28 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous Последний вопрос если в PRIMARY нет нужных архивов, и STANDBY лежит уже 3-4 дня, а PRIMARY пометил архив как EXPIRED и удалил , тогда придется через восстанавливать бекап ? Прежде всего проверь наличие этих файлов на STANDBY, вдруг они там есть ;-). Если же файлов нет то можно сделать следующее:
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 20:27 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
flexgen AleksRous Последний вопрос если в PRIMARY нет нужных архивов, и STANDBY лежит уже 3-4 дня, а PRIMARY пометил архив как EXPIRED и удалил , тогда придется через восстанавливать бекап ? Прежде всего проверь наличие этих файлов на STANDBY, вдруг они там есть ;-). Если же файлов нет то можно сделать следующее:
Спасибо вам, все прекрасно объяснили ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 08:20 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous Последний вопрос если в PRIMARY нет нужных архивов, и STANDBY лежит уже 3-4 дня, а PRIMARY пометил архив как EXPIRED и удалил , тогда придется через восстанавливать бекап ? (прищюрившись) Что-то тут не чисто. Вот прям само оно удалило необходимые (непримененные) архивлоги для Stand-By базы, да? В общем, версий придумать можно много, как это произошло, но Вам как бы видней. В любом случае, это абсолютно ненормально, к тому же если база важная, и на Stand-By Вы расчитываете, и может у Вас даже SLA где-то прописано, за сколько на Stand-By необходимо гарантировано переключаться - то стоит подкрутить необходимые ручки. Во-первых специально для Вашего случая у RMAN'есть настройка - как удалять (не удалять) архивлоги: Код: plsql 1.
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/using-RMAN-in-oracle-data-guard-configurations.html#GUID-2AEB88E7-075F-47F4-BBCE-77B274A50683 Можно ещё добавить "... BACKED UP x TIMES ON DISK" (или ON TAPE) - суть мы говорим RMAN'у, что до тех пор пока архивлог не применился на необходимых Stand-By базах, и не был забекаплен необходимое количество раз - его стирать нельзя. Именно Ваш случай. Только нужно помнить, конечно, что если Stand-By стоит несколько дней, то архивлоги будут накапливаться, так что нужно поглядывать за местом. И второе - вместо того чтобы целиком пересоздавть Stand-By, можно во-первых донакатить потерянные архивлоги методом инкрементального бекапа (BACKUP... FROM SCN) - как уже выше предложили, а во-вторых, если у Вас 12с и выше (версия базы вроде нигде в треде не упоминалось) - есть специально для такого случая новая фича: Код: plsql 1.
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/using-RMAN-in-oracle-data-guard-configurations.html#GUID-53AF8403-7ECC-4329-966E-965FDBFB4455 Под капотом там тоже создаётся инкрементальный бекап - просто Oracle сам вычисляет самый "нижний" SCN, с которого начинать инкрементальный бекап, сам его передаёт на Stand-By и сам его применяет. Получается восстановление поломанного Stand-By одной командой. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 09:07 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
[quot shane54#22362022] AleksRous архивлоги будут накапливаться, так что нужно поглядывать за местом. Будут накапливаться на primary наверно имеете ввиду ? Спасибо вам за развернутую инфу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 21:50 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
AleksRous Будут накапливаться на primary наверно имеете ввиду ? Очевидно, если Stand-By выключен - то и транспорт архивлогов до него не работает. Соответственно, да - архивлоги накапливаются во FRA на стороне Primary, но не стираются, так как они будут нужны когда Stand-By оживёт. На самом деле там все ещё немного гибче. Так, для общего развития и расширения кругозора: по ссылке что я приводил на документацию, есть ещё второй вариант управления политикой стирания архивлогов - SHIPPED TO ALL STANDY (дополнительно к уже обговоренной политике APPLIED ON ALL STANDBY). Т.е. разрешается стирать архивлоги после их пересылки на сторону Stand-By, а применились они (apply) или нет - Primary уже не берет во внимание, и разрешает у себя стирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 23:08 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Для специалистов - пока собирал инфу, набрёл на интересный пост по теме: https://blog.dbi-services.com/archivelog-deletion-policy-for-standby-database-in-oracle-data-guard/ Там автор, помимо прочего, обсуждает механизм работы FRA - если во FRA лежат архивлоги, и они уже не нужны, т.е. политики их удержания от стирания не нарушаются (суть они уже забекаплены и/или применены к Stand-By базе/ам), и при вызове из RMAN команды DELETE ARCHIVELOG...., они будут стёрты - то во вью V$RECOVERY_AREA_USAGE, в строке ARCHIVED LOG, в поле RECLAIMABLE, эти архивлоги будут отражены (их размер, в процентах). И в ситуации, когда во FRA начнётся нехватка места, Oracle сам начнёт стирать эти архивлоги, чтобы освободить место. Тут пока ничего интересного или нового, так все и работает, это всем известно. Дальше - самое интересное, сама суть, чего я все это пишу (точнее, цитирую блог). Автор расковырял "устройство" вьюшки V$RECOVERY_AREA_USAGE (в смысле, какой запрос её формирует, достал из V$FIXED_VIEW_DEFINITION). И обнаружил, что используется X$-view и поле X$KCCAGF.RECTYPE. И дальше он решил "обогатить" вывод этой вью V$RECOVERY_AREA_USAGE (приджойнив ещё V$ARCHIVED_LOG), и добавить туда вывод списка конкретных архивлогов, которые и формируют значение RECLAIMABLE. Таким образом, вместо сухой цифры типа (просто пример) - "у вас тут архивлогов на 100 ГБ хранится во FRA, из них 50% не нужны и могут быть безопасно стерты (RECLAIMABLE)" - можно увидеть список конкретных архивлогов, файлов, которые формируют эти 50%. Там потом он отдельный пост ещё сделал, уже только конкретно про этот запрос и про саму view: https://blog.dbi-services.com/drilling-down-vrecoveryareausage/ От меня: на самом деле, из всех "FRA occupants" (термин этот наверно я сам придумал, по аналогии с "SYSAUX occupants" - на самом деле такого в документации нет) - из 7 типов файлов, что там хранятся - по опыту, архивлоги и flashback-логи - самые популярные, я бы сказал 99%. Так что если развить мысль автора блога - то нужно вью V$RECOVERY_AREA_USAGE ещё бы обогатить выводом конкретных файлов флешбеклогов, кого именно можно стирать, не боясь. Суть по той же логике - которые уже не нужны, но которые ещё на диске. И которые сам Oracle потрёт автоматом, как только возникнет FRA Free Space Pressure. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2021, 00:34 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
shane54 конкретных файлов флешбеклогов, кого именно можно стирать, не боясь А как конкретно вы собираетесь применять эту информацию и "стирать, не боясь"? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2021, 11:33 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Спасибо Очень хороший коментарий ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2021, 12:22 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров Спасибо Сейчас же выглядит так, что ты поблагодарил кота. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2021, 19:09 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Прошу прощения, действительно забываю про цитирование И поблагодарил я действительно КоТТТа, поскольку flashback-логи полностью управляются ораклом и не предусмотрено никаких ручек чтоб "удалять лишнее" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 06:37 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
Elic кота. Выражаю спасибо обоим двум. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 06:39 |
|
ORA-10458: standby database requires recovery
|
|||
---|---|---|---|
#18+
KoTTT shane54 конкретных файлов флешбеклогов, кого именно можно стирать, не боясь А как конкретно вы собираетесь применять эту информацию и "стирать, не боясь"? Если это ко мне вопрос - то "стирать не боясь" я конечно оставляю право базе, руками стараюсь не лезть. Кроме ну совсем уж экстренных случаев. И я согласен, flashback-логами Oracle действительно хорошо управляет, как только изменился FLASHBACK_RETENTION_TARGET (в сторону уменьшения) или стёрли GRP - все ненужные flashback-логи тут же автоматом удаляются. Вообще, есть костыль или хак, не знаю как назвать правильно, и не знаю, делает ли так кто-то в экстренных ситуациях. Если действительно нужно срочно освободить место, например размер FRA пусть будет 100 ГБ, и через вью V$RECOVERY_AREA_USAGE видно, допустим, что 50% его содержимого помечено как RECLAIMABLE. Тогда уменьшаем на минутку размер FRA на размер RECLAIMABLE объёма файлов : Код: plsql 1.
(точнее 55G, с запасом небольшим, чтоб база не остановилась) В соседнем окне открыт alert.log - в нем тут же появляется простыня на пару экранов сообщений типа: Код: plsql 1. 2. 3. 4.
И/или: Код: plsql 1. 2. 3. 4.
И как только активность удаления "успокаивается" - обычно секунд 30-60 занимает удаление нескольких десятков файлов (с ASM), каждый по гигабайту или несколько - сразу же возвращаем обратно оригинальное значение: Код: plsql 1.
Таким образом, подитожив: суть "метода" в том, чтобы на пару минут уменьшить размер FRA, как бы помогая базе "выдавить" из FRA файлы, которые можно удалять, как бы искусственно создавая Free Space Pressure ситуацию относительно FRA. При этом во FRA остаётся резерв места (5 ГБ в нашем примере), поэтому за минуту база точно не остановится, даже если запишет пару архивлогов в этот момент. И все, дело сделано - Oracle сам удалил все что можно было безопасно удалить. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2021, 10:49 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1879964]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
3ms |
others: | 12ms |
total: | 253ms |
0 / 0 |