К основному контенту

Сообщения

Показаны сообщения с ярлыком "etl"

Решение ошибки ORA-31634 при работе с датапампом.

При частом использовании датапампа возможно возникновение ошибок следующего вида: ORA-31634: job already exists ORA-31664: unable to construct unique job name when defaulted Причина в следующем: Системные таблицы относящиеся к старым заданиям датапампа не были удалены. "This error normally occurs when you do not specify a unique JOB_NAME for the DataPump job  and for some reason that JOB_NAME already exists in the database, or else if you are running many jobs at the same time (more than 99 jobs) and DataPump cannot create a new job." (MOS) Для решения проблемы: 1. Найти неработающие задания ДП. SELECT owner_name, job_name, operation, job_mode,     state, attached_sessions     FROM dba_datapump_jobs     where owner_name='SCHEMA' and state='NOT RUNNING' ORDER BY 1,2;  2. Найти соответствующие этим заданиям системные таблицы. SELECT o.status, o.object_id, o.object_type,      ...

Импорт схемы БД с удаленного сервера.

Задача: Провести реимпорт данных с удаленного сервера. Задача осложняется слабым каналом, а также версией Oracle - Standart Edition One, которая не поддерживает datapump опции compression = all. Имя схемы передается в качестве параметра (%1) для пакетного файла. rem Считаем, что имя хоста совпадает с именем базы в TNS set rem_hst=REMOTE rem rem_dir - это data_pump_dir на удаленной машине. set rem_dir=oracle\ora11\RDBMS\log rem Login и пароль для net use'a set rem_usr=localhost\dbax set rem_psw=p@S$w0Rd rem Экспорт дампа и архивирование его через wmic. expdp  dbax/ p@S$w0Rd @%rem_hst% dumpfile=%1.dmp schemas=%1 logfile=%1.log reuse_dumpfiles=yes wmic /node:"%rem_hst%" /user:%rem_usr% /password:"%rem_psw%" process call create "zip E:\%rem_dir%\%1.zip E:\%rem_dir%\%1.dmp" rem Копирование с возобновлением в случае падения сети. net use \\%rem_hst%\e$ /user:%rem_usr% %rem_psw% :copy copy \\%rem_hst%\e$\%rem_dir%\%1.zip c:\app\oracle\da...

Streams Synchronous Capture

В СУБД Oracle 11.1 появился и в 11.2 продолжил развитие новый вид репликации Synchronous Capture . Для захвата данных ему не требуется archive или redo  logs , вместо этого используется механизм внутренних триггеров, при этом процессы Propagation и Apply не были значительно изменены. Ограничения Синхронного захвата: снижение производительности сервера из-за работы внутренних триггеров не реплицируются LOB объекты не реплицируются DDL не поддерживается посхемная репликация, только потабличная. Преимущества репликации: поддержка  Standard Edition  и  Standard Edition One 11g не требуется режим  archivelog   и режим избыточного логирования( supplemental   logging) поддержка трансформирования таблиц разрешение конфликтов настройка подключения серверов не методом «не каждый с каждым», как в Мультимастерной(Advanced) репликации, а произвольной конфигурации, «звезда», в частности не требуется перестройка репликации при изменении...

Парсинг документов MS Word на наличие в них изображений

Несколько лет назад приходилось работать со сложным ETL процессом, на одном из шагов которого требовалось определить, есть ли в документе Word изображения или другие, нетекстовые вложения. Производилось все вручную, на глаз, по размеру файла. Скорость выполнения процесса всех устраивала и никому не приходило в голову, погуглить автоматизацию этого унылого процесса. Сегодня решил посмотреть на эти дела, вооружившись новым опытом. Оказывается документ docx представляет собой обычный zip архив, и его содержимое можно посмотреть с помощью команды: uzip -l файл  Изображения находятся в папке /media , следовательно: uzip -l файл | find "/media" А файлы .doc преспокойно конвертируются в .docx c помощью Пакета обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint . А лапти из 5 отдела ООУ наверное до сих пор перебирают файлики своими кривыми ручками.