|
|
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
fortnetSYSTEM не привлекать - у него особый статус.Установи соответствующий DB_BLOCK_CHECKING и такой статус появится у всех fortnetОсновываясь на доке остаюсь при своем : VALIDATE - проверка без выполнения бэкапаНо и не более чем просто BACKUP. Можешь также указать ему CHECK LOGICAL fortnetBACKUP - запись без чтения/проверки контрольной суммы , записанной процессом DBW c записью своей контрольной суммы, если не перебито опцией NOCHECKSUM.NOCHECKSUMIf DB_BLOCK_CHECKSUM is typical, then the database computes a checksum for each block during normal operations and stores it in the block before writing it to disk. When the database reads the block from disk later, it recomputes the checksum and compares it to the stored value . If they do not match, then the block is damaged. ... If you specify the NOCHECKSUM option, then RMAN does not perform a checksum of the blocks when writing the backup . fortnetBACKUP logical check - проверка всех возможных ошибок в БЭКАПЕ.CHECK LOGICAL Tests data and index blocks that pass physical corruption checks for logical corruption ... Examples of logical corruption are corruption of a row piece or index entry. If RMAN finds logical corruption, then it logs the block in the alert log and server session trace file. The SET MAXCORRUPT command specifies the total number of physical and logical corruptions permitted in a data file . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2017, 17:31 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТы решил окончательно загрузить свою БД проверкой своей целостности? Ей больше нечем заняться? Периодические проверки своих бэкапов в виде восстановления тестовой БД дадут тебе вполне достаточный уровень контроля качества Еще, конечно, если так заботишься, желателен стендбай И, естественно, использовать сертифицированные операционки (и, что сейчас совсем не трудно) железяки Как правило, этого вполне достаточно для работы как минимум, десятки лет без внутренних повреждений Ежели софт постоянно развивается, используются новые фичи, то отслеживание ошибок в alert.log и соответствующее реагирование (например, правка кода) позволяет безбедно жить даже без техподдержки Надо, кстати, сразу понимать, что система с кучей девяток доступности обязательно требует той самой техподдержки -- и не только в смысле переложения ответственности. Велосипеды здесь неуместны. Просто из-за отсутствия знаний как оно там "внутре". А сломаться может любая програма/железяка, и массив, и память и т.п. Соответственно и насрано в блоке может быть неплохо. Но сдается тут не тот случай. Тогда уж выполняй ежедневный/еженедельный экспорт и уж во что-нибудь ты ее восстановишь Я и не собирался включать все параметры, просто пытаюсь понять какой необходимый минимум нужен для обеспечения обнаружения повреждений. Стендбай у нас тоже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2017, 17:34 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТут еще есть такой момент -- бэкап не пишет копию блока 1:1 -- он использует знание формата ораклового блока для оптимизации его хранения, не бэкапит неиспользованное место, пишет инкрементальные бэкапы и т.д. Поэтому, КС, которую пишет RMAN при бэкапе, по идее, никак не относится к исходному блоку, а относится к блоку бэкапа. И защищает, соответственно, его Что, собственно, уже и проверяется при VALIDATE BACKUP и RESTORE Еще уточню - только при соблюдении нескольких ограничений. Например, с прямым бэкапом на ленту так называемый null compression не пройдет - будет всё записано один в один. Или с командой VALIDATE. ( RMAN Backup Performance (Doc ID 360443.1) Which Blocks Will RMAN Check For Corruption Or Include In A Backupset? (Doc ID 561010.1) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 08:41 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровfortnetSYSTEM не привлекать - у него особый статус.Установи соответствующий DB_BLOCK_CHECKING и такой статус появится у всех fortnetОсновываясь на доке остаюсь при своем : VALIDATE - проверка без выполнения бэкапаНо и не более чем просто BACKUP. Можешь также указать ему CHECK LOGICAL Начиная с 11 версии - VALIDATE может функционировать вообще без привязки с бэкапу. Например, можно проверить избранные блоки в datafile : validate check logical datafile 1 BLOCK 5 TO 20; (How to identify all the Corrupted Objects in the Database with RMAN (Doc ID 472231.1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 09:02 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
fortnetBACKUP logical check - проверка всех возможных ошибок в БЭКАПЕ.CHECK LOGICAL Tests data and index blocks that pass physical corruption checks for logical corruption ... Examples of logical corruption are corruption of a row piece or index entry. If RMAN finds logical corruption, then it logs the block in the alert log and server session trace file. The SET MAXCORRUPT command specifies the total number of physical and logical corruptions permitted in a data file . The next command checks the complete database for both corruptions in a backup: $ rman target / RMAN> backup check logical database (Identify the Corruption Extension for Block Corruption, Table/Index Inconsistency, Data Dictionary and Lost Writes (Doc ID 836658.1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 09:08 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Ты путаешь сканирование и выходной файл А также NULL compression (никогда не использовались) и Unused block compression (уже не используется) Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 09:22 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
fortnetThe next command checks the complete database for both corruptions in a backup: здесь по-русски будет так: при бэкапе. бэкап как процесс, а не как результат на ленте или диске ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 14:59 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТут еще есть такой момент -- бэкап не пишет копию блока 1:1 -- он использует знание формата ораклового блока для оптимизации его хранения, не бэкапит неиспользованное место, Вячеслав ЛюбомудровТы путаешь сканирование и выходной файл А также NULL compression (никогда не использовались) и Unused block compression (уже не используется) Ну, пример достаточно экзотичен. Здесь показана NULL compression - которая на нормальной рабочей БД имеет не более 5%. Основная масса приходится на Unused block compression , которая и имеет ограничения в применении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 15:35 |
|
||
|
Проверка целостности БД
|
|||
|---|---|---|---|
|
#18+
Я просто показывал, что это твое утверждение неверно fortnetНапример, с прямым бэкапом на ленту так называемый null compression не пройдет - будет всё записано один в один. Возможно, ты просто описАлся и имел ввиду Unused block compression -- достаточно просто об этом сказать fortnetНу, пример достаточно экзотичен. Здесь показана NULL compression - которая на нормальной рабочей БД имеет не более 5%. Основная масса приходится на Unused block compression , которая и имеет ограничения в применении.Вот это еще интересней. Либо ты не понимаешь, что такое Unused block compression, либо как раз именно у тебя экзотические БД, где достаточно часто происходит TRUNCATE/MOVE постоянных таблиц и REBUILD индексов в новое место. Может ты не в курсе, но в некоторых случаях Unused block compression не работает и при бэкапе на диск Иметь резерв свободного места -- это, как раз, нормально. И NULL compression намного более актуальней, особенно, когда ты не хочешь по каким-то причинам использовать AUTOEXTEND, а добавляешь, например, целиком новый LUN -- тебе становится пофиг, ты знаешь, что размер бэкапа (и время, на него потраченное) при этом не увеличится. Нет, конечно, есть специфические варианты -- типа stage-area, где все подготавливается для массовой загрузки, а потом TRUNCATE-ится. Но, как правило, там и бэкап нафиг не нужен, да и наверняка NOLOGGING на табличном пространстве стоит. Опять же почему не реализовано Unused Block Compression (а также Undo block compression) для "3rd party media managers". Дык это просто политика, точно также как на них не работает "Encrypted Backup". Просто впаривание своего продукта OSB. Технических ограничений для этого нет (в отличии, например, от выполнении BACKUP AS COPY на ленту -- тут уже не важно "3rd party" или OSB) И кстати, то, что не выполняется Unused Block compression позволяет отловить сбойные блоки, которые не относятся к используемым в данный момент. А мож там физическое повреждение на диске и уже пора что-то с этим решать. VALIDATE ведь их тоже пропустит. Единственный вариант -- прогонять время от времени DBVERIFY или отключить Unused block compression (выполнять бэкап на "3rd party media managers", установить гарантированную RP или скрытым параметром) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2017, 10:41 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39396939&tid=1886502]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
197ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 548ms |

| 0 / 0 |
