Sort: by date | rating in descending | ascending order
Использование XML в Oracle Data Integrator
Макс on 16 April 2007 17:06
Никогда! Слышите, никогда не используйте файлы XML с BOM-сигнатурой в Oracle Data Integrator. Он их не поймёт.

Tags: xml, charset, ODI, XML, UTF-8, Oracle Data Integrator

Read more… / Add comment / Rating: 3.06 / Rate 1 2 3 4 5
Тест по Правилам дорожного движения 2006 года для телефона
Макс on 02 May 2007 15:35
Программа работает на мобильном телефоне. Написана под J2ME (MIDP 2.0).
Функционал до безобразия прост: показывает вопрос, предлагает варианты ответа, в случае ошибки показывает правильный ответ. Можно пропускать по одному или по 20 вопросов.
Тестировал работоспособность на Qtek 8310. Занимает 8MB.

Tags: j2me, java, ПДД, правила дорожного движения

Read more… / Add comment / Rating: 3.04 / Rate 1 2 3 4 5
Как закрыть сессию в Oracle, которая блокирует таблицу
Макс on 31 August 2007 13:34
Сначала находим ID таблицы.
select object_id from all_objects where object_name = 'TABLE_NAME'
Затем находим ID сессии, которая блокирует эту таблицу.
select sid from v$lock where id1 = 22222 or id2 = 2222
Затем находим серийный номер сессии
select sid, serial# from v$session where sid = 134
А потом прибиваем сессию к чертям. Параметр — sid || ',' || serial#
alter system kill session '134,9107' immediate

Tags: Oracle, oracle, kill, session, clear lock

Read more… / Add comment / Rating: 3.03 / Rate 1 2 3 4 5
Как поставить Attunity CDC для SQL Server
Макс on 13 February 2007 13:39

Подготовка к установке

  • Перед установкой вычистить все файлы из папок Attunity и все данные из реестра
  • После установки студии вычистить из папки workspace студии удалить все машины и выполнить в командной строке Attunity команду
nav_util add_admin *
  • перезагрузить IRPCD DAEMON в сервисах

Установка

Design

Client Type: ETL
Server machine: Server Machine
Staging Area: Server Machine

Implement

  • Machine [Server Machine]
  • Data Source [KIS]
    • SQLServer Name: nagornaya
    • dbName: KIS
    • Default table owner: KIS
    • UserName: KIS
  • CDCService [KIS]
    • Transient Storage: D:\sql_server_cdc\change_files
  • Stream Service
    • Location of change files: D:\sql_server_cdc\stg
    • Location of temporary staging files: D:\sql_server_cdc\staging
    • Далее выбрать таблицу
  • Access Service Manager жмать Next до Finish

Deploy

Нажимать Next до упора

Deploy Summary

  • Запустить сервис SQLSERVERAGENT
  • Нажать на ссылку со скриптом и выполнить его под админом
  • Скопировать LGR Initial Setup Script и выполнить его под админом

Установка CDCSQLLOG MINER

  • Открыть командную строку Attunity
  • Выполнить sqlcdclgr -t > KIS.xml
  • Заполнить файл нужными значениями
  • Выполнить sqlcdclgr -s register -a KIS [полный путь до файла KIS.xml]

Tags: Attunity

Read more… / Add comment / Rating: 3.02 / Rate 1 2 3 4 5
Redeploy Attunity Solution
Макс on 07 February 2008 10:57
При переустановке CDC Solution Attunity Stream пропадают служебные таблицы SERVICE_CONTEXT и CONTROL_TABLE. Чтобы пофиксить эту проблему, надо выполнить инструкции, описанные на форуме Attunity.

Tags: Attunity

Read more… / Add comment / Rating: 3.02 / Rate 1 2 3 4 5
Вторая версия QCDNP2
Макс on 06 April 2007 14:02
Ура! У меня дошли руки сделать поддержку соединения с last.fm через HTTP-proxy. Это оказалось куда проще, чем описывается во всяких мануалах.
Не надо писать
CONNECT server.com:80 HTTP/1.1
Host: server.com:80
перед GET. Можно просто соединяться с proxy, а потом тупо отслыать GET с адресом нужного удалённого сервера.

Но самое важное не это. Я нашёл дичайший баг, из-за которого у Meneldor'а не работала отправка песен на last.fm (и, похоже, не только у него). Я писал в HTTP-заголовке Host имя локального хоста. Не знаю откуда такой тупизм, но я в шоке.

Плюс ко всему, я заменил CRT-функции на более защищённые (strcpy на strcpy_s, к примеру) и вместо последовательностей strcpy и strcat поставил sprintf_s (чё я раньше так не делал?).

Короче, надо-надо-надо делать рефакторинг. Всегда. Свежий взгляд помогает найти тонну багов.

Tags: QCDNP2

Read more… / Add comment / Rating: 3.01 / Rate 1 2 3 4 5
Обновление ODI до 10.3.1.3.0
Макс on 30 July 2007 11:25
Вышел новый патч для ODI. В принципе всё обновляется просто, как всегда: просто копированием файлов. Но есть нюанс! :)
При обновлении Metadata Navigator надо удалить snpsre_res.jar из WEB-INF и скопировать sunopsis.zip в WEB-INF из директории lib инсталляции ODI.

Tags: ODI, Metadata Navigator, patch, Oracle Data Integrator

Read more… / Add comment / Rating: 3.01 / Rate 1 2 3 4 5
Как прописать ODI в автозапуск Solaris 10
Макс on 06 September 2007 10:58
Для начала нужно создать скрипт для запуска сервиса:
#!/sbin/sh
# odi
#

. /lib/svc/share/smf_include.sh
# путь к директории инсталляции ODI
ODI_HOME=/opt/odi/oracle/oracledi/oracledi
# путь к java для ODI
ODI_JAVA_HOME=/usr/jdk/jdk1.5.0_12
# параметры для соединения репозиторием
ORACLE_SID=odiDB
ORACLE_BASE=/opt/oracle
ORACLE_HOME=${ORACLE_BASE}/product/10.2.0/db_1
ORACLE_ADMIN=${ORACLE_BASE}/admin
TNS_ADMIN=${ORACLE_HOME}/network/admin
LD_LIBRARY_PATH=${ORACLE_HOME}/lib
PATH={ORACLE_HOME}/bin:{ORACLE_HOME}/OPatch:/usr/ccs/bin/:/usr/bin:/etc:/usr/openwin/bin:/usr/local/bin:${PATH}:.
export ODI_HOME ODI_JAVA_HOME ORACLE_SID ORACLE_BASE ORACLE_HOME ORACLE_ADMIN TNX_ADMIN LD_LIBRARY_PATH PATH
case "$1" in
        start)
        cd $ODI_HOME/bin
        ./agentscheduler.sh -NAME=MAIN -PORT=20910 -V=1>/dev/null &
        ;;

        stop)
        cd $ODI_HOME/bin
        ./agentstop.sh 20910 > /dev/null 2>&1 &
        ;;

        'restart')
        cd $ODI_HOME/bin
        ./agentstop.sh 20910>/dev/null 2>&1&
        while pgrep -f "classpath \/opt\/odi\/oracle\/oracl" > /dev/null
        do
                sleep 1
        done
        ./agentscheduler.sh -NAME=MAIN -PORT=20910 -V=1>/dev/null &
        ;;
        *)
        echo "Usage: `basename $0` {start | stop | restart}"
        exit 64
        ;;
esac

Назовём этот скрипт svc-odi и дадим ему права:
chown root:bin svc-odi
chmod 555 svc-odi

Затем сделаем manifeset в директории /var/svc/manifest/application:

<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='odi:odi'>
        <service
                name='application/odi'
                type='service'
                version='1'>
                <create_default_instance enabled='false' />
                <single_instance />
                <dependency name='fs'
                        grouping='require_all'
                        restart_on='none'
                        type='service'>
                        <service_fmri value='svc:/system/filesystem/local' />
                </dependency>
                <dependency name='net'
                        grouping='require_all'
                        restart_on='none'
                        type='service'>
                        <service_fmri value='svc:/network/loopback' />
                </dependency>
                <exec_method
                        type='method'
                        name='start'
                        exec='/opt/odi/svc-odi start'
                        timeout_seconds='60'>
                        <method_context>
                                <method_credential user='odi' group='other' />
                        </method_context>
                </exec_method>
                <exec_method
                        type='method'
                        name='stop'
                        exec='/opt/odi/svc-odi stop'
                        timeout_seconds='60'>
                        <method_context>
                                <method_credential user='odi' group='other' />
                        </method_context>
                </exec_method>
        </service>
</service_bundle>

Незабудьте правильно указать путь до скрипта запуска сервиса. У меня он /opt/odi/svc-odi.
Затем надо проверить правильность манифеста командой.
svccfg validate /var/svc/manifest/application/odi.xml && echo OK
И импортируем его в SMF.
svccfg import /var/svc/manifest/application/odi.xml
Затем сервис можно запустить следующей командой командой.
svcadm enable odi

Tags: ODI, services, Solaris, autorun, SMF, Oracle Data Integrator

Read more… / Add comment / Rating: 3.01 / Rate 1 2 3 4 5
Как решить проблему с генерацией ID новых объектов в ODI
Макс on 14 March 2008 13:45
ODI генерирует ID новых объектов инкрементально, но при этом не использует встроенные в СУБД Sequences, а хранит последнее сгенерированной значение в таблицах SNP_ID и SNP_ENT_ID репозиториев.
Когда производится импорт данных из резервоной копии, то данные в этих таблицах могут сбится. Чтобы починить репозитории надо установить значения ID_NEXT в максимальное значение ID — без последних трёх цифр для каждого объекта ODI.
Это можно сделать и руками, но я предлагаю скрипт, который сгенерирует запросы, нужные для обновления репозиториев:
Для SNP_ID
select 'update SNP_ID set ID_NEXT = (select substr(max('||
a4.column_name||'),1,LENGTH(max('||A4.COLUMN_NAME||
'))-3) from '||a3.id_tbl||') where ID_TBL=''' ||a3.id_tbl ||
''' and ID_NEXT != (select substr(max('||a4.column_name||
'),1,LENGTH(max('||A4.COLUMN_NAME||
'))-3) from '||a3.id_tbl||')
 GO'  q from SNP_ID a3, (select a2.table_name, a2.COLUMN_NAME
from dba_constraints a1, DBA_CONS_COLUMNS a2
where a1.OWNER = 'ODI_REP' and a1.CONSTRAINT_TYPE ='P' and a2.OWNER = 'ODI_REP'
and a1.CONSTRAINT_NAME = a2.CONSTRAINT_NAME) a4 where a3.id_tbl = a4.table_name
Для SNP_ENT_ID
select 'update SNP_ENT_ID set ID_NEXT = (select substr(max('||
a4.column_name||'),1,LENGTH(max('||A4.COLUMN_NAME||
'))-3) from '||a3.id_tbl||') where ID_TBL=''' ||a3.id_tbl ||
''' and ID_NEXT != (select substr(max('||a4.column_name||
'),1,LENGTH(max('||A4.COLUMN_NAME||
'))-3) from '||a3.id_tbl||')
 GO'  q from SNP_ENT_ID a3, (select a2.table_name, a2.COLUMN_NAME
from dba_constraints a1, DBA_CONS_COLUMNS a2
where a1.OWNER = 'ODI_REP' and a1.CONSTRAINT_TYPE ='P' and a2.OWNER = 'ODI_REP'
and a1.CONSTRAINT_NAME = a2.CONSTRAINT_NAME) a4 where a3.id_tbl = a4.table_name

Tags: Sunopsis, ODI

Read more… / Add comment / Comment (179) / Rating: 3.00 / Rate 1 2 3 4 5
Поиск парных скобок для EmEditor
Максим Головкин on 14 March 2006 20:37
Плагин позволяет показывать открывающую скобку для ']', '}', ')', если она не видна в окне редактора EmEditor.

Плагин BlockHL для EmEditor

В архиве в директории bin библиотека, которую надо скопировать в директорию плагинов для EmEditor. В директории src — исходники вместе с проектом для Visual Studio 6.0

Tags: EmEditor

Read more… / Add comment / Rating: 2.99 / Rate 1 2 3 4 5
Search: 
Hello, Guest. ( Login / Create account )