четверг, 25 августа 2011 г.

Часто задаваемые вопросы по Oracle IRM 11g

  • Есть ли интеграция с терминальными серверами Citrix?
    Да, это стандартный функционал. Посмотреть в документации.
  • Каковы рекомендации по sizing-у?
    Oracle рекомендует один процессор на 4000 «тяжелых» пользователей или на 20000 «лёгких» пользователей (при 10% одновременно работающих пользователей), если предполагается интеграция с прикладными системами, то на 2000 «тяжелых» или на 10000 «лёгких» пользователей. Посмотреть на support.oracle.com (1335415.1)
  • Есть ли интеграция с инфраструктурой MS Active Directory?
    Да, данную возможность обеспечивает Oracle WebLogic Server на котором развёрнут IRM. Кроме Active Directory есть встроенные провайдеры для Oracle Internet Directory, Oracle Directory Server, Oracle Virtual Directory, OpenLDAP, произвольный LDAP-провайдер и другие. Так же есть поддержка авторизации с помощью Oracle Access Manager, SQL-запросов, SAML и т.д.
  • Есть ли интеграция с системами DLP?
    Да, в данной задаче в большей степени требуется настройка DLP-системы. Описание интеграции с InfoWatch здесь, с другими DLP-системами здесь.
  • Каковы основные работы при внедрении?
    1. Создание архитектуры решения и её детализация;
    2. Создание интеграционной архитектуры решения;
    3. Сбор требований и создание контекстной модели;
    4. Развертывание тестового окружения;
    5. Настройка в соответствии с контекстной моделью;
    6. Создание интеграционных компонентов;
    7. Тестирование решения и приёмочное испытания;
    8. Обучение пользователей и администраторов;
    9. Разворачивание промышленного окружения.
  • Какова методология внедрения?
    Основной методологией внедрения продуктов и технологий Oracle является Oracle Unified Method - она достаточно общая (кратко о методологии см.здесь). Специфические для IRM шаги описаны здесь.
  • Какие алгоритмы шифрования можно использовать?
    Поддерживаются только следующие алгоритмы:
    • AES128
    • AES256
    • AES128-FIPS
    • AES256-FIPS
    • DES3-FIPS

среда, 17 августа 2011 г.

Полезные команды Unix-ов (для консультантов/разработчиков)


RHEL/OEL Solaris AIX HP-UX
 Версия операционной системы cat /etc/*-release uname -r oslevel -r uname -r
 Архитектура процессора arch arch uname -p uname -m
 Количество процессоров cat /proc/cpuinfo psrinfo -pv lsdev -C -c processor ioscan -kf | grep processor | wc -l
 Свободное место на файловых системах df -h df -h df -k
(в килобайтах)
bdf
(в килобайтах)
 Размер swap free -m swap -s lsps -a swapinfo
 Размер оперативной памяти free -m prtconf | grep Memory bootinfo -r machinfo | grep Memory
 Список работающий в системе процессов top prstat -a topas top
 Получение списка сетевых интерфейсов ifconfig -a ifconfig -a ifconfig -a netstat -in
 Добавление пользователя useradd useradd mkuser useradd
 Удаление пользователя userdel userdel rmuser userdel
 Добавление группы groupadd groupadd mkgroup groupadd
 Удаление группы groupdel groupdel rmgroup groupdel

Полезные команды:
  • Архивирование
    • Распаковать tar.gz:
      $ gzip -dc archive_name.tar.gz | tar xf -  
      
    • Создать tar.gz из директории:
      $ tar cvf - directory | gzip > file.tar.gz
    • Создать tar:
      $ tar cvf archive_name.tar directory
    • Создать tar с сжатием bzip и разбить на тома (4000m в данном примере):
      $ tar -cvj directory/ | split -b 4000m -d - "directory.tar.bz."
    • Распаковать tar:
      $ tar xvf archive_name.tar
    • Создать zip:
      $ zip -r archive_name.zip directory
    • Распаковать zip:
      $ unzip archive_name.zip
    • Распаковать все zip в текущей директории:
      $ unzip \*.zip
  • Поиск файлов
    • С расширением log в текущей директории и поддиректориях:
       $ find . -name "*.log" | more
      
    • По содержимому текстовых файлов в текущей директории и поддиректориях:
       $ find . -type f |while read i;do cat "$i"|grep -H --label="$i" -n "строка поиска"; done
      
    • По содержимому текстовых файлов в текущей директории и поддиректориях с выводом содержимого в консоль:
       $ find . -name '*.biz' -exec cat {} \; 
    • Файлы принадлежащих пользователю oracle в текущей директории и поддиректориях:
       $ find . -user oracle | more  
      
    • Измененных один день назад в текущей директории и поддиректориях:
       $ find . -mtime 1 | more
      
    • Удалить файлы изменённые более, чем 150 дней назад:
       $ find -type f -mtime +150 -exec rm '{}' \;
      
    • Файлы размер которых больше 1ГБ в текущей директории и поддиректориях:
       $ find . -size +1048576k | more   
      
    • Файлы размер которых больше 100МБ, но меньше 200МБ в текущей директории и поддиректориях:
       $ find . -size +102400k -size -204800k | more   
      
  • Процессы операционной системы
    • Вывести список процессов запущенных/использующих в директорию /u01:
       $ ps -ef | grep /u01 | more  
      
  • Копирование с одного сервера на другой использованием scp
    • С локального сервера на удалённый:
       $ scp localFile.zip remoteUser@ip-address:/remoteDir  
      
    • С удаленного сервера на локальный:
       $ scp remoteUser@ip-address:/pathToFile localDirectory  
      
  • Изменение EOL во всех файлах в директории и поддиректориях
    • С Unix-формата на Windows-формат :
       $ find . -type f -exec unix2dos {} {} \;  
      
    • С Windows-формата на Unix-формат:
       $ find . -type f -exec dos2unix {} {} \;  
      

вторник, 2 августа 2011 г.

Краткая концепция Oracle Fusion Applications

  Oracle Fusion Applications - это новое поколение систем масштаба предприятия от компании Oracle, основанное на технологиях Oracle Fusion Middleware 11g и функциональности Oracle e-Business Suite и поглощенных ранее компаний J.D.Edwards, PeopleSoft и Siebel.

Основные приложения и модули входящие в состав Fusion Applications 11.1.1.5:

Архитектура Oracle Fusion Applications:
Fusion Applications представляет трёхуровневую архитектуру:
  1. Oracle Database;
  2. Oracle Fusion Middleware;
  3. Приложения Oracle Fusion Applications (Oracle Fusion Applications Product Families).


Oracle Fusion Applications построены на основе технологий Oracle Fusion Middleware и являются Java Enterprise Edition / ADF-приложениями развернутыми на сервере приложений WebLogic, а в базе данных хранится вся информация.
Каждое приложение (CRM,HCM, Projects и т.п.) представляет собой:
  • одну или несколько схем в базе данных;
  • одно или несколько Java Enterprise Edition / ADF-приложений и ADF Business Service-ов;
  • один или несколько композитных SOA-процессов.

Компоненты Fusion Middleware можно разделить на два типа:
  • Компоненты FMW используемые в Fusion Applications;
  • Инфраструктурные компоненты Fusion Applications.

К инфраструктурным компонентам относятся:
  • Enterprise Scheduling Service (ESS)
    Внутренний планировщик задач в Fusion Applications.
    Выполняет аналогичные операции, как диспетчер запросов (Concurrent Manager) в Oracle e-Business Suite 11i/R12.
  • Approval Management Service (AMS)
    Сервис согласований с пользователем (human workflow) на основе технологии FMW Human Tasks.
  • Oracle Enterprise Crawl and Search Framework
    Эта функциональность обеспечивается интегрированным в инфраструктуру Oracle Fusion Applications продуктом Oracle Secure Enterprise Search (SES).

К компонентам FWM относятся:
  • Oracle WebLogic
    Сервер приложений соответствующий стандартам Java EE 5.0, который является инфраструктурным компонентов для следующих компонентов.
  • Application Developer Framework (ADF)
    Представляет собой фреймворк построенный на основе Java Server Faces (JSF), предоставляющий возможности связывания сервисов с компонентами пользовательского интерфеса на основе декларативного подхода ('Drug and drop' в среде разработки Oracle JDeveloper). Для разработки бизнес-сервисов обеспечивающих декларативный доступ к реляционным базам данных используются бизнес-компоненты Oracle ADF (ADF Business Components) соответствующие спецификации JSR-227, с помощью которых можно реализовать собственную бизнес-функциональность, бизнес-правила, разграничение доступа к данным и т.п.
  • Компоненты Oracle SOA Suite:
    • BPEL
      Представляет собой сервер выполнения бизнес-процессов на языке BPEL 1.1/2.0 и взаимодействие с расширениями Oracle, такими как адаптеры.
    • Mediator
      Сервисная шина, которая в SOA Suite 10g называлась Oracle ESB. Предоставляет все основные возможности систем ESB - динамический роутинг, трансфирмации, валидации данных и т.п.
    • Human Tasks
      Представяет собой технологию управления жизненным циклом задач пользователей основанную на ADF.
    • Business Rules
      Простой и гибкий механизм бизнес-правил интегрированный в инфраструктуру SOA.
  • WebCenter
    Комплекс продуктов для создания порталов с функциональностью Enterprise 2.0 (имеется ввиду встроеные компоненты по взаимодействию со службами обмена сообщениями, блоги, wiki, тэги, форумы, социальные сети и т.д.) на основе SCA. Технологически это набор интегрированных приложений построенных на основе Oracle WebCenter Framework, который является расширением ADF.
  • Enterprise Content Management
    Система управления контентом обеспечивающая хранение и управление жизненным циклом документов и приложений(аттачментов). Технически представляет собой интегрированные Java EE/ADF-приложения развернутые на сервере приложений, а весь контент физически хранится в базе данных.
  • Business Intelligence
    Платформа Oracle Business Intelligence предоставляет широкий спектр современных инструментов бизнес-анализа: интерактивные информационные панели, подсистему отчетности, средства исполнения нерегламентированных запросов, механизм уведомлений, элементы "мобильной аналитики" и др.
  • Data Integrator
    Основная роль данного продукта в Fusion Applications - это синхронизация данных. Oracle Data Integrator представляет собой развитое средство ETL, базирующееся на SOA-архитектуре.

Скачать Oracle Fusion Applications можно с E-Delivery:

четверг, 28 июля 2011 г.

Конвертирование образа виртуальной машины Oracle VM в VMware

Описание: конвертирования виртуальной машины с операционной системой Linux из Oracle VM (или Xen)-образа в VMware.
Сокращение: ОВМ - образ виртуальной машины, ВМ - виртуальная машина.
  1. Сделать резервную копию ОВМ (в формате Xen или Oracle VM).
  2. Запустить ОВМ.
  3. Проверить используется ли ядро ОС с поддержкой Xen.
    Для этого выполните команду:
     $ uname -r  
     2.6.18-238.9.1.0.1.el5PAE  
    
    Если в результате выполнения команды нет слова xen, то ядро без поддержки Xen. Пример варианта с ядром Xen:
     $ uname -r  
     2.6.18-238.9.1.0.1.el5xen  
    
  4. Если используется ядро с Xen, то надо переключить в загрузчике ОС на загрузку с другого ядра без Xen-а. Если используется загрузчик Grub, то надо отредактировать следующий файл:
     $ vi /boot/grub/grub.conf  
    
    В данном файле надо изменить загружаемое ядро по-умолчанию изменив значение поля default (нумерация начинается с 0). Например:
     # grub.conf generated by anaconda  
     #  
     # Note that you do not have to rerun grub after making changes to this file  
     # NOTICE: You have a /boot partition. This means that  
     #     all kernel and initrd paths are relative to /boot/, eg.  
     #     root (hd0,0)  
     #     kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00  
     #     initrd /initrd-version.img  
     #boot=/dev/sda  
     default=1  
     timeout=5  
     splashimage=(hd0,0)/grub/splash.xpm.gz  
     hiddenmenu  
     title Oracle Linux Server (2.6.18-238.9.1.0.1.el5debug)  
         root (hd0,0)  
         kernel /vmlinuz-2.6.18-238.9.1.0.1.el5debug ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
         initrd /initrd-2.6.18-238.9.1.0.1.el5debug.img  
     title Oracle Linux Server (2.6.18-238.9.1.0.1.el5PAE)  
         root (hd0,0)  
         kernel /vmlinuz-2.6.18-238.9.1.0.1.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
         initrd /initrd-2.6.18-238.9.1.0.1.el5PAE.img  
     title Oracle Linux Server (2.6.18-238.9.1.0.1.el5xen)  
         root (hd0,0)  
         kernel /xen.gz-2.6.18-238.9.1.0.1.el5  
         module /vmlinuz-2.6.18-238.9.1.0.1.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
         module /initrd-2.6.18-238.9.1.0.1.el5xen.img  
     title Oracle Linux Server (2.6.18-238.9.1.0.1.el5)  
         root (hd0,0)  
         kernel /vmlinuz-2.6.18-238.9.1.0.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
         initrd /initrd-2.6.18-238.9.1.0.1.el5.img  
    
  5. Выключить ВМ.
  6. Выполнить конвертирование образа(-ов) виртуального жесткого диска с помощью qemu-img (скачать можно отсюда ):
     $ qemu-img convert system.img -O vmdk system.vmdk
    
    Вместо выделенного красным подставить имя файла из которого конвертировать и имя файла в который конвертировать.
  7. Создать новую ВМ в Vmware Player (или Server, Workstation, Fusion), но при создании не создавать новый виртуальный жесткий диск (или диски, если их несколько), а выбрать - использовать существующий, где указать тип устройства - IDE (значение по-умолчанию - SCSI).
  8. Готово.

Если требуется дальнейшее конвертирование в Vmware ESX, то можно использовать Vmware Converter.

среда, 20 июля 2011 г.

Массовая отмена параллельных запросов (concurrent request) в Oracle e-Business Suite R12

Предыстория: в очереди к стандартному диспетчеру запросов было более 485тыс. одинаковых ресурсоёмких запросов. Возникла необходимость отменить их выполнение...

  1. Остановить appsTier (или как-минимум Concurrent Manager);
  2. Подключиться в базе данных пользователем apps
    1. Выполнить следующий SELECT:
       SELECT a.request_id,  
        a.oracle_process_id "SPID" ,  
        q.concurrent_queue_name ,  
        fu.user_name ,  
        fu.user_id ,  
        c.concurrent_program_id,  
        c.concurrent_program_name  
        || ': '  
        || ctl.user_concurrent_program_name concurrent_request,  
        a.description ,  
        a.ARGUMENT_TEXT ,  
        b.node_name ,  
        b.db_instance ,  
        a.logfile_name ,  
        a.logfile_node_name ,  
        a.outfile_name ,  
        a.phase_code,  
        a.status_code,  
        actual_start_date ,  
        actual_completion_date ,  
        ROUND((NVL(actual_completion_date,sysdate)  
             -actual_start_date)*1440,2) mins ,   
        ROUND((actual_completion_date   
           - requested_start_date),2) * 24 duration_in_hours  
       FROM APPLSYS.fnd_Concurrent_requests a,  
        APPLSYS.fnd_concurrent_processes b ,  
        applsys.fnd_concurrent_queues q ,  
        APPLSYS.fnd_concurrent_programs c ,  
        APPLSYS.fnd_concurrent_programs_tl ctl ,  
        apps.fnd_user fu  
       WHERE a.controlling_manager  = b.concurrent_process_id  
       AND a.concurrent_program_id  = c.concurrent_program_id  
       AND a.program_application_id = c.application_id  
       AND a.phase_code <> 'C'  
       AND b.queue_application_id = q.application_id  
       AND b.concurrent_queue_id = q.concurrent_queue_id  
       AND ctl.concurrent_program_id = c.concurrent_program_id  
       AND a.requested_by = fu.user_id  
       AND ctl.language = 'US'  
       ORDER BY a.actual_start_date DESC  
      
      По результатам выписываем user_id (по имени пользователя) и concurrent_program_id (по названию запроса) для отмены.
    2. Выполнить следующий UPDATE:
       UPDATE FND_CONCURRENT_REQUESTS c  
       SET c.phase_code = 'C', c.status_code = 'D'  
       WHERE c.phase_code in ('R','P')   
       AND c.requested_by = 1428
       AND c.concurrent_program_id = 57368
       AND TO_DATE(c.request_date) >=
           TO_DATE('19-07-2011','DD-MM-YYYY')  
      
      Пояснение: подставляем значения user_id и concurrent_program_id из предыдущего SELECT-а и дату в соответсвии с той когда были созданы параллельные запросы (вместо помеченных красным).
    3. Зафиксировать изменения (COMMIT)
  3. Запустить appsTier.

Полезная ссылка: расшифровка значений status_code и phase_code таблицы FND_CONCURRENT_REQUESTS