Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как ускорить загрузку данных? / 25 сообщений из 35, страница 1 из 2
23.11.2017, 11:52
    #39558137
Лиса Алиса
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Есть вьюха на db_link'е в ней около миллиона записей. Как быстро их перелить в свою таблицу в своей схеме? CTAS?
...
Рейтинг: 0 / 0
23.11.2017, 12:04
    #39558145
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Боишься, пока будешь красть, заметят?
...
Рейтинг: 0 / 0
23.11.2017, 12:13
    #39558154
Лиса Алиса
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Elic,

да невозможно столько ждать. Мне ещё пакет писать надо. А он завис и говорит, что пакет не даст скомпилить, пока переливаются данные. Или как поставить это фоново? Pl/sql developer. Или sql dev.
...
Рейтинг: 0 / 0
23.11.2017, 12:17
    #39558160
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаЕсть вьюха на db_link'е в ней около миллиона записей. Как быстро их перелить в свою таблицу в своей схеме? CTAS?
Ответ будет зависеть от:
Миллион - это сколько (в граммах)?
Быстро - это насколько, это разовая операция, или периодическая и нужно уложиться в окно возможностей?
Какая скорость сети? - это как бы физическое ограничение, но если расстояние между узлами большее, то возникнут вопросы настройки SQL*NET

p.s. Для разовой операции заморачиваться не стоит, дольше будешь настраивать и ждать ответы
...
Рейтинг: 0 / 0
23.11.2017, 12:25
    #39558163
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алиса А он завис и говорит, что пакет не даст скомпилить, пока переливаются данные.
А что, тестовый сервер отсутствует в принципе?
...
Рейтинг: 0 / 0
23.11.2017, 12:29
    #39558167
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алиса,

"лонги: есть?

SQL> help copy

COPY
----

Copies data from a query to a table in the same or another
database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.

COPY {FROM database | TO database | FROM database TO database}
{APPEND|CREATE|INSERT|REPLACE} destination_table
[(column, column, column, ...)] USING query

where database has the following syntax:
username[/password]@connect_identifier


....
stax
...
Рейтинг: 0 / 0
23.11.2017, 12:43
    #39558172
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Stax,
насколько я знаю, sqlplus copy работает как клиентский шлюз между соединениями
то есть все данные идут не сервер - сервер, а сервер - клиент - сервер

То есть получится еще медленнее
...
Рейтинг: 0 / 0
23.11.2017, 13:44
    #39558228
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алисада невозможно столько ждать.
CTAS where 1=0

INSERT /*+ APPEND */ ... from (... order by id) where id > ...
...
Рейтинг: 0 / 0
23.11.2017, 13:44
    #39558230
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаМне ещё пакет писать надо. А он завис и говорит
Ужасы нашего городка
...
Рейтинг: 0 / 0
23.11.2017, 13:49
    #39558237
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
фильм ужасов "Недописанный пакет"
слоган на афишу "Он завис и говорит"
...
Рейтинг: 0 / 0
29.11.2017, 06:19
    #39560997
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаЕсть вьюха на db_link'е в ней около миллиона записей. Как быстро их перелить в свою таблицу в своей схеме? CTAS?

я как то раз делал с набором данных (10000 строк), по такому принципу
1. создал дб линк в той базе с которую хочу залить инфу
2. настроил связь в дб линке с базой из которой хочу слить инфу
3. запустил запрос в котором выполняется insert из ориентальной таблицы в дубликат

примерное время займет не большое ~ 1 мин
...
Рейтинг: 0 / 0
29.11.2017, 07:49
    #39561008
Как ускорить загрузку данных?
SAS2014из ориентальной таблицыУ автора именно это и есть, только ориентальная не таблица, а вью.
Оценка времени со знаком ~. А поточнее можешь сообщить? Это важно!
...
Рейтинг: 0 / 0
29.11.2017, 09:49
    #39561052
Лиса Алиса
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
SAS2014,

дб-линк настроен. Или его как-то по-особому надо настроить? Данных в таблице десять миллионов строк. Я на ночь прогрузку поставила, ничего не прогрузилось до сих пор. Что делать?
...
Рейтинг: 0 / 0
29.11.2017, 10:12
    #39561067
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаЕсть вьюха на db_link'е в ней около миллиона записей.
Лиса АлисаДанных в таблице десять миллионов строк.
Однако за время пути собачка смогла подрасти.

По плану запроса (runtime) на чём основные ожидания? Не пробрасывается предикат на той стороне, тупит на сетевых ожиданиях, на записи на диск, что-то ещё?

Не надо ждать серебрянной пули. Сначала локализуйте причину проблемы и поймите её источник.

Приведите скрипт, которым
Лиса Алисана ночь прогрузку поставила, ничего не прогрузилось

Приведите статистику сессии - ожидания, чтения, запись и т.п.

Иначе так и будете получать ответы "у меня 10 строк нормально загрузилось за 1 сек", никак не решающие ваш вопрос.
...
Рейтинг: 0 / 0
29.11.2017, 10:47
    #39561105
Лиса Алиса
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
env,
Код: plsql
1.
2.
3.
   INSERT INTO таблица (столбцы)
          SELECT столбцы
          FROM вьюха@db_link t WHERE t.date_x >= to_date('2013-01-01','YYYY-MM-DD');


Мне предложили написать скрипт, который будет в цикле по дням выбирать даты и коммитить. Это поможет?
Доступа к статистике не имею.
...
Рейтинг: 0 / 0
29.11.2017, 12:18
    #39561173
Как ускорить загрузку данных?
Лиса Алиса,

с таким условием при циклической обработке у тебя в итоге выйдет арифметически-прогрессируемая "пирамида" данных.
если хочешь загружать "посуточно", то сутки нужно ограничивать как сверху, так и снизу...
...
Рейтинг: 0 / 0
29.11.2017, 12:35
    #39561190
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алиса,

Для начала, убедись, что такой предикат пробрасывается на сторону приёмника. Приведи план запроса с отсечкой по одному дню.
Мне предложили написать скрипт, который будет в цикле по дням выбирать даты и коммитить.
На это я тебе пытался намекнуть
envCTAS where 1=0

INSERT /*+ APPEND */ ... from ..

В твоём случае отсечка будет, видимо, по дате с учётом замечания Э-эха.
...
Рейтинг: 0 / 0
29.11.2017, 14:37
    #39561292
dbpatch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаЕсть вьюха на db_link'е в ней около миллиона записей. Как быстро их перелить в свою таблицу в своей схеме? CTAS?

Массовый параллелизм спасет.

Но нужно понимать, что Oracle не может PQ через dblinkи, т.е. нужно запиливать несколько сессий вручную.
Простейший вариант - создать несколько job-ов и вызывать их разом все.

Заливать через direct-path insert - не CTAS, а insert /*+ append */ into tablename partition () ....

Ясен пончик, принимающая сторона должна быть соотвествующим образом партицирована, ну и отдающая - по возможности тоже (хотя не обязательно).
...
Рейтинг: 0 / 0
30.11.2017, 04:30
    #39561693
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
капитанская удочкаSAS2014из ориентальной таблицыУ автора именно это и есть, только ориентальная не таблица, а вью.
Оценка времени со знаком ~. А поточнее можешь сообщить? Это важно!

это примерное время выполнения процедуры копирование (вставки) строк из табл в таблицу
...
Рейтинг: 0 / 0
30.11.2017, 04:39
    #39561694
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса АлисаSAS2014,

дб-линк настроен. Или его как-то по-особому надо настроить? Данных в таблице десять миллионов строк. Я на ночь прогрузку поставила, ничего не прогрузилось до сих пор. Что делать?

важно, чтобы верно было настроено сетевая связь с базой данных (файл клиента Oracle tnsnames.ora) из которой хотите милая девушка слить инфу

далее в самом database linke настроить так
поле n ame и database должны совпадать по альянсу как указано в tnsnames.ora (первое слово)
далее указывает в поле username имя пользователя
а в поле password пароль

в принципе и все
пример запроса из другой базы
select * from v$database@dblink;
...
Рейтинг: 0 / 0
30.11.2017, 04:41
    #39561695
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алисаenv,
Код: plsql
1.
2.
3.
   INSERT INTO таблица (столбцы)
          SELECT столбцы
          FROM вьюха@db_link t WHERE t.date_x >= to_date('2013-01-01','YYYY-MM-DD');


Мне предложили написать скрипт, который будет в цикле по дням выбирать даты и коммитить. Это поможет?
Доступа к статистике не имею.

может и так смотря под какой учеткой красавица ты настроена в дблинке
...
Рейтинг: 0 / 0
30.11.2017, 04:45
    #39561696
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
капитанская удочкаSAS2014из ориентальной таблицыУ автора именно это и есть, только ориентальная не таблица, а вью.
Оценка времени со знаком ~. А поточнее можешь сообщить? Это важно!

ну вью это ссылка на набор данных в базе, это удобно в том смысле, что можно ее настроить так , чтобы данные получать из разных таблиц сформировав один большой результат
это один из плюсов
...
Рейтинг: 0 / 0
30.11.2017, 04:48
    #39561697
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
Лиса Алисаenv,
Код: plsql
1.
2.
3.
   INSERT INTO таблица (столбцы)
          SELECT столбцы
          FROM вьюха@db_link t WHERE t.date_x >= to_date('2013-01-01','YYYY-MM-DD');


Мне предложили написать скрипт, который будет в цикле по дням выбирать даты и коммитить. Это поможет?
Доступа к статистике не имею.

я бы не стал называть вьюшки на русском языке
а назвал бы так V_select_statistics

код цикла странный
...
Рейтинг: 0 / 0
30.11.2017, 07:57
    #39561720
хто здесь?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
SAS2014,

Еще пять сообщений и хоть бы одно в тему. Ты с кем тут разговариваешь, сам с собой?
...
Рейтинг: 0 / 0
30.11.2017, 09:28
    #39561748
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ускорить загрузку данных?
хто здесь?SAS2014,

Еще пять сообщений и хоть бы одно в тему. Ты с кем тут разговариваешь, сам с собой?

с тобой.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как ускорить загрузку данных? / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]