Поиск по этому блогу

Архив блога

воскресенье, 19 декабря 2010 г.

Маленькие радости: Аутентификация на корпоративных порталах


На корпоративных порталах выкладывается куча всякого-интересного, новые картинки, обновленная документация и т.д. это всё очень-очень здорово, но как всегда что-то мешает продуктивной работе, в данном случае это постоянный ввод логина с паролем. Скажите, что это не проблема и Ваш обозреватель всё сам прекрасно запоминает! Да, но тут есть ньюансы и задачи...

Вообщем, предлагаю следующий метод аутентификации:
http://Vadim.Pechorin%40megakontora.ru:mysupersecrecpassword@super-portal.megakontora.ru/

Где:

Vadim.Pechorin%40megakontora.ru - Наш логин на мега-портал, в данном случае в качестве логина используется адрес электронной почты. "%40" это спецсимвол обозначающий символ @, об этом чуть ниже.
mysupersecrecpassword - Это супер секретный пароль на портал.
super-portal.megakontora.ru - Адрес портала.

Теперь немного о спецсимволах, если вы используете их в своём логине или пароле, предлагаю воспользоваться таблицей соответствия:

амперсанд & (%26)
собака @ (%40)
пробел (%20)
двойная кавычка " (%22)
одинарная кавычка ' (%27)
двоеточие : (%3A)

AIX : Удаляем спецсимволы в файлах


Часто возникает необходимость использовать одни и те же конфигурационные файлы в ОС WINDOWS и AIX, с постоянной правкой их, то в одной ОС то в другой. После этого они с завидной быстротой обрастают спецсимволами. Как очистить файлы от спецсимволов для использования его в ОС AIX? Существует много разных методов и утилит. Представляю на мой взгляд самый простой из них, единственным условием для которого является установленный perl.

perl -pi -e 's/\r\n/\n/;' sufd.sh

понедельник, 6 декабря 2010 г.

OEBS: Автоматическая чистка логов


Рано или поздно свободное место на НЖМД имеет свойство заканчиваться, причин тому может быть много, рассмотрим случай когда наше драгоценное место съедают никому ненужные устаревшие логи.

Пример команды зачищающий определённые нами типы файлов с заданным сроком "устаревания":

find /ftas01/prod/oebs/db/tech_st/10.2.0/admin/APRODE_a9500p04/udump/ \( -name "*.trc" -o -name "*.mgr" -o -name "*.log" \) -mtime +10 -exec rm -f {} \; 2> /dev/null

Где:

/ftas01/prod/oebs/db/tech_st/10.2.0/admin/APRODE_a9500p04/udump/ - каталог где производится зачистка.

\( -name "*.trc" -o -name "*.mgr" -o -name "*.log" \) - перечислены типы файлов для зачистки по расширению.

-mtime +10 - время последней модификации файлов, в данном случае если в лог ничего не писалось более 10 суток он подпадает под наше условие.

AIX: Избавляемся от VI


Очень мне не нравится текстовый редактор vi, но иногда всё же приходится им пользоваться, например для добавления заданий в crontab.
Однако решение лежит на поверхности, первым делом при подготовке ОС AIX устанавливается mc, вот его редактором я предлагаю пользоваться.
Для этого нужно выставить в системе текстовый редактор по умолчанию.

Добавляем в конфигурационный файл /etc/environment следующую строчку:

EDITOR="mcedit"

Готово, теперь под любым пользователем увидеть ненавистный vi будет не так просто.

четверг, 25 ноября 2010 г.

OeBS : Пакетная смена паролей на тестовый OeBS


-- Пакетная смена паролей в OeBS
-- Выполняется под apps
begin
DECLARE
CURSOR c_users IS
SELECT user_name FROM fnd_user
-- Выставлем фильтр на пользователей, если нужны все пользователи, условие комментируем
where user_name like '%NAME%';
v_user c_users%ROWTYPE;
v_success BOOLEAN;
BEGIN
OPEN c_users;
FETCH c_users
INTO v_user;
WHILE c_users%FOUND
LOOP
v_success := apps.fnd_user_pkg.changepassword(v_user.user_name,'q123456');
-- Выставляем желаемый пароль
COMMIT;
IF v_success != TRUE
THEN
dbms_output.put_line('Failed to set password for user ' ||v_user.user_name);
END IF;
FETCH c_users
INTO v_user;
END LOOP;
CLOSE
c_users;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line('Error');
END;
end;

вторник, 23 ноября 2010 г.

OeBS : Ставим OEM


Лёгкий путь поставить OEM

--Для APRODE
emca -config dbcontrol db -silent -DB_UNIQUE_NAME APRODE -PORT 1526 -EM_HOME /ftas01/prod/oebs/db/tech_st/10.2.0 -LISTENER LISTENER -SERVICE_NAME APRODE -SYS_PWD manager -SID APRODE -ORACLE_HOME /ftas01/prod/oebs/db/tech_st/10.2.0 -DBSNMP_PWD manager -HOST a9900p04 -LISTENER_OH /ftas01/prod/oebs/db/tech_st/10.2.0 -LOG_FILE /ftas01/prod/oebs/db/tech_st/10.2.0/emConfig.log -SYSMAN_PWD manager
-- Для ATESTE
emca -config dbcontrol db -silent -DB_UNIQUE_NAME ATESTE -PORT 1531 -EM_HOME /ftas02/test/oebs/db/tech_st/10.2.0 -LISTENER LISTENER -SERVICE_NAME ATESTE -SYS_PWD manager -SID ATESTE -ORACLE_HOME /ftas02/test/oebs/db/tech_st/10.2.0 -DBSNMP_PWD manager -HOST a9900p03 -LISTENER_OH /ftas02/test/oebs/db/tech_st/10.2.0 -LOG_FILE /ftas01/prod/oebs/db/tech_st/10.2.0/emConfig.log -SYSMAN_PWD manager
Исключив опцию -silent мы сможем увидеть весь процесс установки.

OeBS : Инвалидные объекты

Немного скриптов для перекомпиляции инвалидных объектов
-- Remember to connect as SYSDBA!
CONNECT SYS / AS SYSDBA;
-- Recompile all objects serially
EXEC UTL_RECOMP.RECOMP_SERIAL();
-- Recompile all objects owned by HR serially
EXEC UTL_RECOMP.RECOMP_SERIAL('HR');
-- Recompile all objects using a specified number of CPU threads
EXEC UTL_RECOMP.RECOMP_PARALLEL(4);
-- Recompile all objects in the SH schema, but let Oracle use all
-- threads specified in JOB_QUEUE_PROCESSES
EXEC UTL_RECOMP.RECOMP_PARALLEL(NULL, 'SH');
EXEC UTL_RECOMP.RECOMP_PARALLEL(4);


-- Колличество инвалидов
select count (*)
from all_objects
where status<> 'VALID'
and (object_name like 'XXT%' or object_name like 'XLA%')
and object_name not like '%MGR%'

вторник, 31 августа 2010 г.

OeBS : Заводим/правим пользоателей в OeBS


select f.USER_ID ,
f.USER_NAME "Логин",
f.description "ФИО",
x.POSITION "Должность",
x.PHONE "Телефон",
x.DEPARTMENT "Отдел",
x.LAST_UPDATE_LOGIN "Последний вход(-1)",
x.LAST_UPDATED_BY "Обновил (-1)",
x.Last_Update_Date "Обновлено (sysdate)",
f.Created_By "Создал (-1)",
f.Creation_Date "Создано (sysdate)"
from XXT_BS_USER_ATTRS x, FND_USER f
where f.user_id = x.user_id
select * from FND_USER f where user_id=1394 for update
select * from XXT_BS_USER_ATTRS where user_id=1394 for update
insert into XXT_BS_USER_ATTRS (user_id, LAST_UPDATE_DATE,LAST_UPDATED_BY,created_by,creation_date) values (1394,sysdate,1394,1394,sysdate)

четверг, 22 июля 2010 г.

СУФД : Правка ТФФ в базе


select * from DICTTFFSCHEMAVERSION
--update DICTTFFSCHEMAVERSION set td='01.08.2010'
--where tffversion='TXUF090810'
--where tffversion like 'TXUF%'

среда, 21 июля 2010 г.

СУФД: Ошибка выполнения автопроцедур


Если после запуска свежедобавленной АП возникает ошибка:
java.lang.IllegalStateException: Файл конфигурации автопроцедур неработоспособный! Автопроцедуры не были загружены на этапе запуска сервера то скорее всего вам необходимо подредактировать таблицу AP_EXEC_OPERATION.

Допустим вас интересует такая АП:

В случае появления такой ошибки поле JAVA_CLASS будет иметь значение "com.otr.sufd_new.autoproc.AccpaymentpackCreatorAutoproc", а должно "AccpaymentpackCreatorAutoproc", т.е. должно стоять значение id, а не class. После того как закончите редактировать, перезапуск сервера не требуется.

СУФД: поиск исходящего шипмента по ID документа

select * from queue_packet_out where id in (select out_packet_id from queue_out_pack2docq where docqueue_id in
(select guid from queue_document where contentobjectguid in
(select globaldocid from abstractdoc where docid in (select docid from doc where docid in
(select docid from dc_zkr_zkr where docid = '6908118' )))))

СУФД: Поиск документов в УФК по шипменту из УФК


select * from doc where docid in (select docid from abstractdoc
where globaldocid in (select contentobjectguid from queue_document
where guid in (select docqueue_id from queue_in_pack2docq
where in_packet_id in (select ID from queue_packet_in where filename like '%0709c4b7-13ad-4e86-ac58-0dcb2c3bec19.gz.shipment%'))))

СУФД : Сводная таблица обработки документов


select count(*), doc.docstateid,ds.name from doc
inner join docstate ds on ds.docstateid=doc.docstateid
where createdate >= to_date('21.07.2010 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
group by doc.docstateid,ds.name

СУФД : Поиск задвонных лицевых счетов


--Поиск задвоенных лицевых счетов
select f.CODE, f.FD as "Дата с", f.TD as "Дата по" ,f.ACTIVE ,f.FIELDSETID
from fieldset_dictstd f, dc_dictaccounts lc
where lc.DICTSTDID=f.FIELDSETID and f.ACTIVE=1 and f.CODE = '03771412980';
--update fieldset_dictstd set active=0 where FIELDSETID='3739416'

среда, 9 июня 2010 г.

AIX : Прикручиваем SAMBA на AIX 5.3


Для того чтобы установить SAMBA (создание виндовс шар на AIX) необходимо сходить по следующим ссылкам и накачать необходимые пакеты

http://www.ibm.com/developerworks/wikis/display/wikiptype/aixopen
http://us1.samba.org/samba/ftp/Binary_Packages/AIX/

Пакеты брал здесь:
http://pware.hvcc.edu/downloads.html
Устанавливаем все их через смит.
По умолчанию демон smbd у меня напрочь отказался подниматься, поиски в интернете привели к такому решению.
Make sure you have bos.rte.aio installed
$ lslpp -l bos.rte.aio
and then
$ smitty posixaio
and configure the defined posix_aio0
to verify:
$ lsattr -El posix_aio0
should yield:
autoconfig available STATE to be configured at system restart True

fastpath enable State of fast path True
kprocprio 39 Server PRIRITY True
maxreqs 4096 Maximum number of REQUESTS True
maxservers 10 MAXIMUM number of servers per cpu True
minservers 1 MINIMUM number of servers True

Note autoconfig == available. if autoconfig == Defined goto smitty :-)

http://www.ibm.com/developerworks/aix/library/au-aix_samba/index.html

СУФД : Экспорт схемы СУФД

Экспорт схемы СУФД производим следующим образом, выставляем в консоле локализацию.
set NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251
Ну и собственно сам экспорт
exp USERID=login/password OWNER=sufdofk LOG=C:\dmp.log FILE=C:\sufdofk.dmp

четверг, 27 мая 2010 г.

AIX : Команды nice и renice

AIX имеет две важные для планирования команды: nice и renice. Пользовательская задача в AIX обладает базовым приоритетом 40 и значением nice по умолчанию 20. Вместе эти два числа формируют уровень приоритета по умолчанию 60. Это значение приоритета применимо к большинству процессов в системе.

При запуске процесса командой nice, например nice -n 10 myjob, число 10 становится значением delta_NICE. Это число добавляется к значению по умолчанию 20 для формирования нового значения nice, равного 30. В AIX чем выше значение nice, тем ниже приоритет. После выполнения команды из примера процесс запустится с приоритетом 70, который на 10 единиц ниже, чем значение приоритета по умолчанию.

Команда renice применяется к процессам, которые уже выполняются. Например, команда renice -n 5 -p 2345 заставляет процесс 2345 поднять значение nice до 25. Заметим, что значение renice всегда добавляется к значению nice по умолчанию 20, а не к текущему значению nice процесса.

суббота, 22 мая 2010 г.

AIX - поиск строки в файлах


find /путь_где_искать/ -exec grep -H -n 'строка_поиска' '{}' /dev/null \; -print | awk -F \: '{ print $1" - "$2 }'

пятница, 21 мая 2010 г.

OEBS : DB Console


Прекрасная вещь DB Console
необходимо зайти под дб пользователем, например pdboebs
Проверяем запущен ли он:
emctl status dbconsole
Если не запущен, то
emctl start dbconsole
после запуска, он выдаст ссылку web-панели управления, переходим в неё и действуем
http://ip:1158/em/console

AIX - монтирование Windows share


mount -v cifs -n serverip/username/password -o wrkgrp=domain,fmode=777 /sharename /localmountpoint

либо через smit:
smit cifs_fs

СУФД - Увеличение табличного пространства


Заходим в БД под пользователем system/manager
alter tablespace SUFD_TS add datafile '/ftas01/prod/oebs/db/apps_st/data/files/sufd_ts_05.dbf' size 2G autoextend off;