Функционал до безобразия прост: показывает вопрос, предлагает варианты ответа, в случае ошибки показывает правильный ответ. Можно пропускать по одному или по 20 вопросов.
Тестировал работоспособность на Qtek 8310. Занимает 8MB.
Tags: j2me, java, ПДД, правила дорожного движения
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
Подготовка к установке
- Перед установкой вычистить все файлы из папок Attunity и все данные из реестра
- После установки студии вычистить из папки workspace студии удалить все машины и выполнить в командной строке Attunity команду
- перезагрузить IRPCD DAEMON в сервисах
Установка
Design
Client Type: ETLServer 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
Tags: Attunity
Не надо писать
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
При обновлении Metadata Navigator надо удалить snpsre_res.jar из WEB-INF и скопировать sunopsis.zip в WEB-INF из директории lib инсталляции ODI.
Tags: ODI, Metadata Navigator, patch, Oracle Data Integrator
#!/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
Когда производится импорт данных из резервоной копии, то данные в этих таблицах могут сбится. Чтобы починить репозитории надо установить значения 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
- Agent (1)
- Attunity (4)
- autorun (1)
- charset (4)
- clear lock (1)
- conversion (1)
- EmEditor (1)
- j2me (1)
- java (1)
- java native library (1)
- java.library.path (1)
- JDBC (3)
- JNDI (1)
- JNI (1)
- kill (1)
- Metadata Navigator (2)
- MS Access (1)
- ODBC (1)
- ODI (9)
- one line (2)
- Oracle (6)
- Oracle Data Integrator (8)
- patch (1)
- Perl (2)
- Postgres (1)
- QCDNP2 (1)
- RAC (1)
- resource (1)
- reverse enginering (1)
- SAP (1)
- services (2)
- session (1)
- SMF (1)
- Solaris (1)
- Sunopsis (5)
- Tomcat (3)
- UnsatisfiedLinkError (1)
- UTF-8 (1)
- Windows (1)
- xml (2)
- ПДД (1)
- правила дорожного движения (1)
- реестр (1)