#0
by Котокот
Впервые сталкиваюсь с такими объемами информации, нужен совет. Есть база оракловская, в ней 250 таблиц, самая большая из них содержит 24 миллиона записей, вторая по размеру 20 миллионов и т.д., всего записей во всех таблицах - 220 миллионов. В одной таблице содержится список абонентов (60000 записей), остальное - это связанные с ними данные, а также данные о платежах (по каждому абоненту один платеж в месяц, 12 месяцев, 5 лет = 3600000 документов). Основная суть задачи - перетащить в 1С справочник абонентов и данные о платежах за все 5 лет. Как лучше это сделать? Внешние источники использовать? Может, возможно делать прямые запросы к ораклу и вытаскивать сразу сводную информацию, собранную в оракле запросом к нескольким таблицам с объединением? Беда еще в том, что административного доступа к базе нет и не будет, сделать копию базы невозможно, надо тянуть все из живой базы, находящейся в работе. Есть возможность сделать запрос к каждой таблице типа select * from <table_name>, но можно ли будет потом сохранить куда-то результат этого запроса, если там 24 миллиона строк? Может прокатит вариант создать в 1С зеркальный слепок всех таблиц оракла в виде 250-ти регистров сведений, перекачать все туда из оракла и работать потом с этими регистрами, создать в базе все необходимые справочники и документы и потом грохнуть эти регистры? Но сможет ли 1С переварить такие объемы данных? Помогите советами, в общем. А то не знаю, с какой стороны начать съедать этого динозавра.
#0
by Котокот
Впервые сталкиваюсь с такими объемами информации, нужен совет. Есть база оракловская, в ней 250 таблиц, самая большая из них содержит 24 миллиона записей, вторая по размеру 20 миллионов и т.д., всего записей во всех таблицах - 220 миллионов. В одной таблице содержится список абонентов (60000 записей), остальное - это связанные с ними данные, а также данные о платежах (по каждому абоненту один платеж в месяц, 12 месяцев, 5 лет = 3600000 документов). Основная суть задачи - перетащить в 1С справочник абонентов и данные о платежах за все 5 лет. Как лучше это сделать? Внешние источники использовать? Может, возможно делать прямые запросы к ораклу и вытаскивать сразу сводную информацию, собранную в оракле запросом к нескольким таблицам с объединением? Беда еще в том, что административного доступа к базе нет и не будет, сделать копию базы невозможно, надо тянуть все из живой базы, находящейся в работе. Есть возможность сделать запрос к каждой таблице типа select * from <table_name>, но можно ли будет потом сохранить куда-то результат этого запроса, если там 24 миллиона строк? Может прокатит вариант создать в 1С зеркальный слепок всех таблиц оракла в виде 250-ти регистров сведений, перекачать все туда из оракла и работать потом с этими регистрами, создать в базе все необходимые справочники и документы и потом грохнуть эти регистры? Но сможет ли 1С переварить такие объемы данных? Помогите советами, в общем. А то не знаю, с какой стороны начать съедать этого динозавра.
#1
by ДенисЧ
Читай сразу сводную информацию для построения отчёта. Всю эту фигню в 1с грузить - не нужно.
#3
by sapphire
Не угадал :) Основная суть задачи - перетащить в 1С справочник абонентов и данные о платежах за все 5 лет.
#4
by ДенисЧ
Основная задача поставлена некорректно. мы ж тут не все кодеры... Иногда и программисты, и даже постановщики задач, встречаются...
#5
by Господин ПЖ
>Основная суть задачи - перетащить в 1С справочник абонентов и данные о платежах за все 5 лет. кто-то кислоты обожрался - биллинг в 1с детально перегружать
#7
by Fragster
не, ну у меня был на полтора миллиона абонентов биллинг. два РС. а проводки - сводные.
#11
by Котокот
Клиенту нужны остатки на начало 2010-го года и движения за 5 лет, таковы условия в ТЗ.
#15
by Котокот
Правильно я понимаю, что из 1С можно подключиться к ораклу, задать в 1С текст запроса, выполнить его на оракле и получить возможность перебирать результат запроса в 1С?
#20
by Котокот
Нужны остатки на начало 2010-го года и все движения за 5 лет, в виде документов в 1С.
#25
by Котокот
Скуль поднимем, это не проблема. Я ж не в курсе, поэтому и уточняю. А то напридумываю сейчас вариантов выполнения задачи, а окажется, что они принципиально не рабочие.
#27
by Котокот
Нет, отвечать абонентам, почему у них сегодня такой долг - "потому что 3 года назад у вас вот там недоплата", поэтому нужны движения.
#28
by sapphire
про скуль Вы правы. Именно. Создать необходимую структуру данных в 1С, посмотреть как называются поля и таблицы, средствами DTS заполнить данными.
#31
by mistеr
Данные можно выгружать в CSV или текстовые файлы. SQL*Plus или PL/SQL Developer справятся. Загружать обработкой в фоновом задании, используя ЧтениеТекста. Файлы разбить по месяцам, чтобы в случае облома не начинать все сначала. Но таки да, смысл в этом сомнительный. Разве что заменить ораклиста - ваятеля отчетов на более дешевого 1С-ника.
#32
by Котокот
Думал еще над вариантом создать в оракле (если права позволят) промежуточную сводную таблицу (или несколько таблиц), заполнить их нужными данными запросами через интерфейс оракла и потом уже из этих таблиц тащить только нужные данные в 1С.
#33
by sapphire
OPENROWSET относиться к Microsoft Transact SQL и к OLE "обычно", имеет мало отношения.
#35
by Stim
загнется эта ваша 1С с обработкой стольких данных. перетаскивать нужно так, чтобы потом не строить семиэтажные запросы с сотней соединений.
#38
by eklmn
я наверно плохо читаю "Содержит все необходимые сведения о соединении, которые требуются для доступа к удаленным данным источника данных OLE DB. Это альтернативный метод для доступа к таблицам на связанном сервере и является однократным нерегламентированным методом соединения и удаленного доступа к данным с помощью OLE DB."
#40
by Котокот
Ну вот думаю над вариантом . В итоге получим 60000 записей в таблице с абонентами и 3.6 миллиона документов.
#41
by Живой Ископаемый
Добавь Внешние Истточники Данных к этой Оракловской базе, и просто показывай в 1С таблицы и вьюшки. в динамическом списке
#42
by eklmn
ну надо заказячику, что вы пристали, посмотрит как это тормозитв 1С и дальше будет искать решение
#44
by Живой Ископаемый
2 Сводная таблица будет на самом деле вьюхой? И у нее будет запрос? Ну так просто выполни этот запрос через АДО, получи эти 60 тысяч записей и загрузи в регистр сведений.
#45
by Stim
если ораклская БД не оптимизирована, то без десятков соединений для простого отчета не обойтись. А это - минуты на вывод отчета
#46
by Котокот
Сейчас доступ к этой базе есть, а через месяц может пропасть. Там разработчик этой оракловской базы немного удак: сейчас он позволяет с ней работать, а завтра передумает, нажмет удаленно какую-то кнопочку и вся база умрет. Так что все необходимые данные по любому единоразово надо перекачать куда-то.
#48
by Garykom
Для начала может слегка подумать головой и решить а зачем нужны все эти данные в 1С ? Может просто перенести их сначала в текстовые файлы из оракла, а затем в свою базу оракла или чего еще. А дальше уже юзать как хочется
#49
by ДенисЧ
перекачай в свой скуль-сервер. Тебе же легче будет. Индексы всякие, вюьхи материализованные, олап опять же...
#50
by Котокот
Это что-то вроде "я создаю пустую базу SQL, подключаюсь из скуля к ораклу и перетаскиваю все в скуль"?
#52
by Котокот
Ну да, в первую очередь хочется именно этого, чтобы уже потом со своей базой работать спокойно.
#54
by Котокот
Ой, как-то мы до тебя не догадались подумать головой. Спасибо, сейчас все выгрузим в текстовые файлы!
#56
by Котокот
1С в итоге должен стать конечным потребителем этих данных, не посредником. Я просто в серверах, скулях и ораклах не мастак, поэтому задаю тупые вопросы.
#57
by Azverin
вариант: из Оракла перетащить сразу в скуль в нужном формате для дальнейшего подключения и работы с 1С - выглядит неплохим)
#58
by Stim
ну как вариант можно развернуть 1С на скуле, подготовить сводные ораклские таблицы с данными и перетащить все во внутренние скульные таблицы регистров сведений и справочников средствами самого скуля
#62
by Мыш
А так несколько лямов записей для 1С не проблема. Если конечно, это не записи регистра бухгалтерии )
#66
by VladZ
Да вы, батенька, извращенец! Зачем всякую фигню пихать в 1с? Обычное порево уже не устраивает? Нужно "жосткое порно"? Цепляйся через внешнее и анализируй что нужно.
#67
by Котокот
+ Про старую базу потом забываем, потому что ее разраб забил, не развивает, не поддерживат и вообще козел.
#68
by Котокот
База в любой момент может перестать работать, в любом случае надо сначала перекачать в промежуточную базу. А потом - возможно варианты: или перекачать все эти документы с платежам на 5 лет, или загрузить только остатки на начало 2016 года и по мере необходимости заглянуть в прошлые годы обращаться к промежуточной базе и отображать данные из нее.
#72
by Garykom
какая то детская отмазка )) кто заставляет этот текстовый файл блокнотом то открывать? причем лучше в несколько файлов писать по 10к строк к примеру или еще как оптимальнее и потом из них загружать
#73
by Woldemar177
+ 146 что значит может перестать работать??? Кстати вы в файловый вариант 1с хотите перекачать? И в 1с какую 7.7? В дбф? ;)))))
#74
by ДенисЧ
Заназачем эту муйню делать через текстовые файлы, когда штатный импорт мсскл слопает это и не подавится? Что ж 1сники все через то место, откуда гланды удаляют, пытаются делать?...
#75
by hhhh
вас, наверно, шокирует слово "миллион". Просто надо работать, не обращать внимание на эти выкладки. До 1млн. записей - это вообще ни о чем - деский сад. 20-50 млн как бы средний размер. Ну у вас 220, ну и что?
#76
by mistеr
У штатного импорта есть проблемы с некоторыми типами данных. Плюс незачем место в скульной базе занимать ради разовой операции. Но можно и так, на выбор ТС.
#78
by Garykom
может почитаем внимательнее посты ТС? если бы был постоянный доступ к этой базе оракла и надолго то грузите вы как хотите
#82
by Garykom
:) смешно получилось не обязательно в текстовые файлы выгружать, но это простейший и понятный где угодно способ вообщем сначала утащите целиком базу, потом уже думать можно и пробовать как лучше
#83
by Масянька
Разве это "жестить"? Вот распечатать, калькулятор, ручку и тетрадку - вот это "гулять, так гулять" :))))
#84
by Котокот
Ну так мы выгрузим в промежуточную скулевую, чтобы отвязаться от РАБОЧЕЙ, в которой постоянно что-то делается, в этой скулевой создадим сводные таблицы, в которых будет находиться только необходимая нам информация, остальное грохнем. Дальше что надо - перекачаем в 1С (справочники абонентов, их техники и т.д.), остальное сможем получать запросом по необходимости. Нормально же?
#87
by hhhh
у них же там записи не как в 1с, где в документе 55 реквизитов. Там в записи наверняка 3-4 поля номер, дата и сумма. То есть если берем в записи например 30 байт, то размер базы 220 000 000 х 30 = 6,6 гиг. Вполне влезет в файловую.
#88
by Garykom
спорим что сразу через "текстовые файлы" из оракла в 1С будет быстрее чем через промежуточную скулевую ? т.е. делаем полную выгрузку из оракла, а в 1С сразу грузим что нужно и сколько нужно
#90
by kuromanlich
правильно понимаю, что операция переноса разовая, но работать в режиме билинга 1С будет и после переноса?
#91
by Тoлько_Просмотр
Если не хочешь своими запросами повесить рабочую бд, то требуй, чтобы тебе сделали готовые сводные вьюхи с абонентами. Как они будут делать уже не твоя забота. Твоя задача сводится тупо к обращению к вьюхе через адо. Без разницы сколько там записей.
#93
by Тoлько_Просмотр
Как общаться, чтобы не посылали, а выполняли поставленные задачи - это уже вопрос за гранью мисты)
#94
by Кирпич
а чо сразу 220 миллионов? абонентоа 60000 по 200 байт да 3600000 документов по 100 байт на каждый. быстро выгружай в текстовый файл и на флешку. в 1с будет долго, но если работа почасовая, то это даже хорошо.
#97
by Котокот
Я там не могу ничего требовать, мне дали оракловскую базу без админского доступа и конфу 1С с пустой базой. Через немного месяцев 1С должна будет делать то, что раньше делал оракл. Сотрудник заказчика пока что не может мне даже сказать, какого размера у них текущая рабочая база и как ее забэкапить. Вот как-то так.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- в пакетном режиме можно выгрузить, а как загрузить в пакетном режиме?
- Как загрузить данные по ЕСН в регл. отчетность из ЗиК?
- Как загрузить индексы в 1С
- Как можно загрузить данные из xls в 1С 77 если нет самой Excell
- Загрузить данные из Ворда в табличный документ
- v8: Как загрузить внешние файлы в хранилище базы?
- OFF: Кто загружал данные из Паруса 7? Как загрузить данные из xml файла?
- Хочу загрузить данные из экселя в документ Корректировка записей рн
- Как загрузить данные из ПФР в ЗУП?
- Oracle как внешний источник данных 1C 8.2 через Microsoft ODBC for Oracle
В этой группе 1С
- v7: как вывести в отдельной колонке артикул для отчёта остат. тмц
- Включение "расширения конфигурации" для базовой версии 1с
- 1C Документооборот КОРП - инициировать замену пользователями своих паролей
- 1c 8.2 Автонумерация после 99 не срабатывает
- УТ 11 Присоединенные файлы справочника Партнеры создать группу
- Как посмотреть движения документа? ут11
- ут 10.3 как сделать кнопку недоступной в закрытом периоде
- УПП: Партионка. Отгрузка без перехода права собственности. Авансы в У.Е.
- v7: ТиС 7.7 обработка печать ценников
- Склонение фраз в 1с
- Windows аутентификация компьютеров домена в WEB клиенте
- Как получить данные с регистра накопления без учета одного регистратора?
- Отмена регистрации изменений
- v7: У кого есть свой ускоренный общий журнал документов для 1С 7.7 ?
- Как в ЗУП 2.5 отразить мат.помощь до 4000 рублей.
- Отправка писем из 1с
- Проблема с отбором по вычисляемому полю в СКД
- УТ 11.1 Программный ввод на основании документа "УстановкаЦенНоменклатуры"
- получение данных с веб сервиса
- Работа с выделенными строками в табличной части УФ