|
|
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Всем привет! Никак не могу решить следующую проблему: 1. RedHat, Oracle 11g, БД Oracle на несколько терабайт в режиме NoArhiveLog. 2. Почти всё место в БД несколько таблиц, они вынесены в отдельные пространства (tablespace), но именно они и не важны. 3. Нужно сделать копию этой БД на другом компьютере, но там значительно меньший объём диска. Пытаюсь делать следующим образом: 1. Останавливаю БД. 2. Копирую системные разделы (system01.dbf, sysaux01.dbf, undotbs01.dbf, users01.dbf) и основной раздел БД (tm.dbf) на другой компьютер. 3. Выполняю скрипт создания управляющего файла (в разделе DATAFILE предварительно удаляю не перенесенные разделы, оставляю только вышеописанные). 4. Выполняю alter database open resetlogs и создаю временное пространство. 5. Запускаю БД. В итоге получаю БД с нужными данными. Но никак не получается заставить базу забыть про неперенесенные разделы: 1. в представлении v$datafile они отображаются со статусом RECOVER. 2. команда "alter database datafile N offline drop" выполняется успешно, но "вхолостую". Может быть можно сделать усеченную копию как-то по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:30 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
drop tablespace ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:52 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, На это он говорит: ORA-01549 раздел не пуст, используйте опцию INCLUDING CONTENTS. Если сделать как он хочет, то: ORA-22868: таблица с LOB содержит сегменты в различных разделах Код: sql 1. Выдаёт 5 таблиц с 8-ю полями. Код: sql 1. Удалить данные поля также как и сами таблицы не получается. При попытке удаления поля: ORA-00376: в данный момент файл 168 не может быть прочитан При попытке удаления таблицы: ORA-02449: уникальный/первичный ключ в таблице, на которую ссылаются по внешнему ключу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 15:29 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Вот тут как раз и порылась собака -- в многосегментных объектах (partiion, lob, iot-overflow), где часть сегментов расположена в удаленых (физически), а часть в живых ТП,датафайлах В этом случае можно попробовать EXCHANGE PARTITION с пустой фиктивной секцией (или таблицей), а затем уже удалять (и объекты, оказавшиеся в живых ТП и "убитые" ТП с фиктивными объектами с кляузой INCLUDING CONTENTS) PS. А ORA-02449 лечится прибиванием констрейнта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 15:40 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Спасибо за подсказку! Пошёл по первому пути - расширение таблиц на фиктивные пространства при помощи Exchange partition. Теперь следующая проблема - "ORA-14405: многосекционный индекс содержит секции из различных разделов". Индексы побороть пока не получается. Буду признателен за подсказку в какую сторону "копать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 13:16 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Удалить индекс из пространства также не получается: Имена индексов получаю запросом: Код: sql 1. Код: sql 1. выполняется успешно. Код: sql 1. возвращает ORA-14076: submitted alter index partition/subpartition operation is not valid for local partitioned index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 13:21 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Сами индексы определены примерно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. То есть индексы локальные, но многосекционные. Согласно документации для локальных индексов вроде бы доступно только alter index... modify partition... Как в этом случае можно убрать из индекса определенный tablespace и partition? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 14:13 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Ну убей индекс целиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 14:19 |
|
||
|
Частичное восстановление БД
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, Индексы прибил, после чего удалось удалить один из тейблспейсов. Но как выясняется рано радовался - с другими тэйблспейсами ничего сделать не выходит. На команду [src][/SRC] вновь получаю ORA-00376 в данный момент файл XX не может быть прочитан. В чём разница между этими тейблспейсами пока не понял. Должны быть одинаковыми - каждый день создаётся новый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 15:57 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=193&tid=1887142]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 327ms |

| 0 / 0 |
