Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 insert ... select... dblink  [new]
cNoNim
Member

Откуда: Воронеж
Сообщений: 89
Задача:
Нужно перенести таблицу 150 гигов, с одного сервера, на другой.
Исходные данные:
База приемник в NO ARCHIVE MODE.
Таблица приемник без индексов.
Сервера подключены напрямую. Канал 1Гбит/с.
Копирование файла с одного сервера на другой происходит со скоростью 100-120 МБ/с
Проблема первая:
direct load не работает с dblink т.е. (/*+ APEEND*/ не помогает)
и на втором серваке данные активно пишутся в UNDO
можно как нибудь все же этого избежать?

Проблема вторая:
скорость которую выдает эта схема не превышает 10Мбит/с по сети.

На что нужно еще обратить внимание?
Почему у нас ни чего не получается?

Есть один нюанс... База источник в принципе находится в рабочем режиме.
Но на сервере источнике я бы не сказал, что есть какая то великая нагрузка.
Пробовали даже останавливать все запросы на запись в таблицу источник. Особо ситуация не меняется
17 фев 15, 13:15    [17275944]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
123йй
Member

Откуда:
Сообщений: 1635
cNoNim,

exp/imp + донакатить остаток
17 фев 15, 14:16    [17276434]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
APPEND должен работать, если запрос запускать на приемнике.
17 фев 15, 14:36    [17276619]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
cNoNim
скорость которую выдает эта схема не превышает 10Мбит/с по сети.

Смотрите, чего конкретно ждет сессия.
Если все прочие условия соблюдены (запуска инсерта на стороне-приемнике, сеть не загружена и т.п.), то скорее всего упираетесь в производительность одного потока на приемнике, сессия-то по линку в исходную базу одна.
Разбейте исходные данные на части по диапазонам или еще как-то и грузите параллельно.
18 фев 15, 07:31    [17279388]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
Александр Сергеевич еще один
Member

Откуда:
Сообщений: 43
как вариант:
1. в обоих экземплярах добавить tablespace TTT с одним файлом D:/oradata/TTT.ora (путь должен совпадать)
2. в обоих экземплярах alter table MY_150G_TABLE move TTT (как-то так, суть - перенос таблицы в TTT в конкретный файл)
3. переносим файл D:/oradata/TTT.ora любым способом между серверами с заменой в БД приемнике
4. в приемнике alter table MY_150G_TABLE move <изначальный ТС> (суть - перенос таблицы обратно из временного ТС)


второй вариант (если в целевой таблице уже есть данные, которые должны остаться):
во временном ТС добавляем временную таблицу, заливаем данные в неё. Переносим файл на другой сервак, сливаем из временной таблице в целевую, добавляя записи
18 фев 15, 08:55    [17279499]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
cNoNim,
одноразовый
18 фев 15, 09:05    [17279523]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
cNoNim
Member

Откуда: Воронеж
Сообщений: 89
Всем, спасибо. Сори, что пропал )
Теперь несколько вопросов.

на счет Transportable Tablespace я вкурсе, как в принципе и на счет насчет exp/imp
щас мы решили попробовать схему expdp/impdp

но вообще во всех этих вариантах нас смущает, что у нас перенос должен осуществляться с изменением структуры
таблица в источнике не партиционированная, а в приемнике хотим получить партиционированную
можно конечно сначала перенести как есть, потом заниматься партиционированием, но хотелось бы все и сразу )
вот собственно и вопрос будут ли работать expdp/impdp если в целевой базе таблица создана в ручную и с партиционированием

а так же:
при варианте с Transportable Tablespace к таблице не будет доступа если я правильно понимаю суть move
или нет?
18 фев 15, 10:32    [17279875]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
Владимир СА
Member

Откуда:
Сообщений: 7881
cNoNim
Всем, спасибо. Сори, что пропал )
Теперь несколько вопросов.

на счет Transportable Tablespace я вкурсе, как в принципе и на счет насчет exp/imp
щас мы решили попробовать схему expdp/impdp

но вообще во всех этих вариантах нас смущает, что у нас перенос должен осуществляться с изменением структуры
таблица в источнике не партиционированная, а в приемнике хотим получить партиционированную
можно конечно сначала перенести как есть, потом заниматься партиционированием, но хотелось бы все и сразу )
вот собственно и вопрос будут ли работать expdp/impdp если в целевой базе таблица создана в ручную и с партиционированием

а так же:
при варианте с Transportable Tablespace к таблице не будет доступа если я правильно понимаю суть move
или нет?

expdp/impdp
Вообще можешь одну таблицу...
18 фев 15, 11:31    [17280326]     Ответить | Цитировать Сообщить модератору
 Re: insert ... select... dblink  [new]
Александр Сергеевич еще один
Member

Откуда:
Сообщений: 43
cNoNim
но хотелось бы все и сразу


за двумя зайцами погонишься - от обоих получишь

cNoNim
при варианте с Transportable Tablespace к таблице не будет доступа если я правильно понимаю суть move
или нет?


я имел ввиду обычный ТС. таблица остается доступной, просто внутри экземпляра БД она может быть перемещена в любой ТС. Этим можно воспользоваться для переноса не по сети (пока в сети проблема со скоростью)
18 фев 15, 11:59    [17280538]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить