пятница, 22 июля 2011 г.

Пример приложения (SampleApp) для Oracle Business Intelligence Suite Enterprise Edition Plus (EE) от Oracle

   Пример приложения (SampleApp) для Oracle Business Intelligence Suite Enterprise Edition Plus (EE) представляет собой всеобъемлющую коллекцию примеров, призванных продемонстрировать возможности Oracle BI 11.1.1.5 и дизайна передового опыта. Она объединяет несколько интегрированных продуктов Oracle BI и технологий и показывает, как они могут беспрепятственно работать вместе в решении функциональных проблем. Эти примеры включают последние OBIEE 11g функциональность (enhanced visualizations, Action Framework, BI Publisher, Scorecards, Mobile), а также OBIEE архитектура ядра примеры (Semantic layer modeling, Multi-source federation, интеграции с такими продуктами, как Essbase, Oracle OLAP, ODM, TimesTen , ODI и более).

Скачать установочные файлы и образ для VirtualBox

вторник, 5 июля 2011 г.

Скрипт создания пользователя OeBS

Разработчику OeBS очень полезно для создания пользователя системы иметь скрипт для добваления пользователя на новых базах. Нижеприведенный скрипт создает пользователя системы, создает работника в модуле учет персонала и сопоставляет его с пользователем, добавляет базовые полномочия для разработки и администрирования.


-- Создание пользователя
declare
l_user     number;
l_resp     number;
l_appl     number;

l_responsibility_key     fnd_responsibility.responsibility_key%TYPE   := 'SYSTEM_ADMINISTRATOR';
l_application_short_name fnd_application.application_short_name%TYPE  := 'SYSADMIN';

l_responsibility_name    varchar2(200) := 'System Administrator';
l_security_group_id      number := 0;
l_user_name              varchar2(200) := 'ATYSHENKO';
l_unencrypted_password   varchar2(200) := 'password';
l_owner                  varchar2(200) := 'CUST';


l_user_id                         number;  
l_person_id                       number;
l_assignment_id                   number;
l_per_object_version_number       number;
l_asg_object_version_number       number;
l_per_effective_start_date        date;
l_per_effective_end_date          date;
l_employee_number                 varchar2(200);
l_full_name                       varchar2(2000);
l_per_comment_id                  number;
l_assignment_sequence             number;
l_assignment_number               varchar2(200);
l_name_combination_warning        boolean;
l_assign_payroll_warning          boolean;
l_orig_hire_warning               boolean; 
begin

select u.user_id
into l_user
from fnd_user u
where u.user_name = 'AUTOINSTALL';
--
select r.responsibility_id, r.application_id
into l_resp, l_appl
from fnd_responsibility_tl r
where r.language = 'US'
and r.responsibility_name = l_responsibility_name;

dbms_output.put_line('инициализация...');    
fnd_global.apps_initialize(l_user, l_resp, l_appl);
dbms_output.put_line('приложение инициализировано');  
--  hr_utility.switch_logging_on;
-- создать работника
hr_employee_api.create_employee(p_hire_date => to_date('01.02.2011','dd.mm.yyyy')
,p_business_group_id => l_security_group_id
,p_last_name         => 'Тышенко'
,p_first_name        => 'Александр'
,p_middle_names      => 'Анатольевич'
,p_sex               => 'M'
,p_date_of_birth     => to_date('21.06.1970','dd.mm.yyyy')
,p_employee_number           => l_employee_number      
,p_person_id                 => l_person_id
,p_assignment_id             => l_assignment_id
,p_per_object_version_number => l_per_object_version_number   
,p_asg_object_version_number => l_asg_object_version_number
,p_per_effective_start_date  => l_per_effective_start_date
,p_per_effective_end_date    => l_per_effective_end_date
,p_full_name                 => l_full_name
,p_per_comment_id            => l_per_comment_id
,p_assignment_sequence       => l_assignment_sequence
,p_assignment_number         => l_assignment_number
,p_name_combination_warning  => l_name_combination_warning
,p_assign_payroll_warning    => l_assign_payroll_warning
,p_orig_hire_warning         => l_orig_hire_warning
);
dbms_output.put_line('создан пользователь person_id='||l_person_id);

if not fnd_user_pkg.userExists(l_user_name) then
l_user_id := fnd_user_pkg.CreateUserId(
x_user_name            => l_user_name
, x_owner                => l_owner
, x_unencrypted_password => l_unencrypted_password
,x_employee_id           => l_person_id
);

dbms_output.put_line('создан пользователь user_name='||l_user_name);
else
select u.user_id
into l_user_id
from fnd_user u
where u.user_name = l_user_name;   
end if;   

for i  in (select r.application_id,
r.responsibility_id,
r.responsibility_name
from fnd_responsibility_tl r
where r.language = 'RU'
and r.RESPONSIBILITY_NAME in ('Системный администратор' ,'Интегрированный шлюз SOA' ,'Глобальный суперпользователь-руководитель СУПЕР' ,'Администратор функций' ,'Разработчик приложений')
and not exists(select *
from fnd_user_resp_groups urg
where urg.RESPONSIBILITY_ID = r.responsibility_id
and urg.RESPONSIBILITY_APPLICATION_ID = r.application_id
and urg.user_id = l_user_id)) loop   

fnd_user_resp_groups_api.insert_assignment(
user_id                         => l_user_id
, responsibility_id             => i.responsibility_id
, responsibility_application_id => i.application_id
, security_group_id             => l_security_group_id
, start_date                    => trunc(sysdate) 
, end_date                      => NULL
, description                   => i.responsibility_name
);

fnd_wf_engine.default_event_raise(
'oracle.apps.fnd.security.user.assignment.change'
, l_user_id || ':' || i.responsibility_id
);

fnd_wf_engine.propagate_user_role(
'FND_USR'
, l_user_id
, 'FND_RESP' || i.application_id
, i.responsibility_id
, trunc(sysdate)
, NULL
);

-- Added for Function Security Cache Invalidation Project
fnd_function_security_cache.insert_user_resp(
l_user_id
, i.responsibility_id
, i.application_id
);      
dbms_output.put_line('добавлена привилегия responsibility_id='||i.responsibility_id||' responsibility_name='||i.responsibility_name);  
end loop;    
commit; end; 

четверг, 23 июня 2011 г.

Открытие доступа к результатам работы Concurrent запросов для просмотра другими пользователями.

Иногда при работе с OeBS возникает необходимость просмотреть результаты работы Concurrent запроса другого пользователя. Сделать это можно под полномочием "Системный администратор" в пункте меню "Параллельные\Запросы" в открытой форме необходимо перейти в верхнем меню на "Справка\Диагностика\Пользовательский код\Персональная настройка" и заполнить на двух закладках так как показано на копиях экрана.



пятница, 10 июня 2011 г.

EBS 12.1.3 Documentation в HTML и PDF форматах

Традиционно документация по OeBS 12.1.3 и другим версиям была доступна только в формате PDF. Теперь документация доступна также в формате HTML

Скачать архив

вторник, 7 июня 2011 г.

Вышел Oracle JDeveloper and Oracle ADF 11g Release 2 (11.1.2.0.0)

Вышла версия Oracle JDeveloper and Oracle ADF 11g Release 2 (11.1.2.0.0).
Скачать

Изменения в новой версии:
  • Добавлена поддержка JSF 2.0 в интерфейсе разработки и ADF приложении.
  • Добавлен ADF Skin Editor 
  • Добавлена поддержка Maven 2 
  • В режиме разработки теперь используется OSGI что привело к повышению производительности
  •  модуль поддержки plug-in теперь использует OSGI что дало возможность применять отложенную загрузку   plug-in и более быстрый старт  JDeveloper  
Полный список изменений

пятница, 3 июня 2011 г.

Некоторые полезные процедуры для загрузки дампа

Не раз сталкивался с необходимостью загрузки данных в UNICODE базу выгруженых из не UNICODE базы. При этом требуется изменять ширину полей таблиц так как в UNICODE каждый символ занимает от одного до 4 байт.
Процедуры которые могут понадобиться для выполнения этой работы:

-- удалить данные из таблиц
DECLARE
l_str VARCHAR2(1000);
BEGIN
dbms_stats.gather_schema_stats(ownname => 'СХЕМА',cascade => TRUE);
FOR t IN (SELECT *
FROM all_tables t
WHERE t.owner = 'СХЕМА'
AND t.num_rows>0
ORDER BY t.table_name) LOOP
l_str := 'truncate table "'||t.owner||'"."'||t.table_name||'"';
-- dbms_output.put_line(l_str);
EXECUTE IMMEDIATE l_str;
END LOOP;
END;

-- отключить тригеры
DECLARE
l_str VARCHAR2(1000);
BEGIN
FOR t IN (SELECT *
FROM all_objects o
WHERE o.owner = 'СХЕМА'
AND o.OBJECT_TYPE = 'TRIGGER'
ORDER by o.OBJECT_NAME) LOOP
l_str := 'alter trigger "'||t.owner||'"."'||t.object_name||'" disable';
-- dbms_output.put_line(l_str);
EXECUTE IMMEDIATE l_str;
END LOOP;
END;

-- изменить задание ширины полей таблиц на символы с байт
DECLARE
l_str VARCHAR2(1000);
BEGIN
FOR t IN (SELECT tc.*
from all_tab_columns tc,
all_tables t
where t.owner = tc.OWNER
AND t.table_name = tc.TABLE_NAME
AND tc.OWNER = 'СХЕМА'
and DATA_TYPE in ('CHAR','VARCHAR2')
and tc.CHARACTER_SET_NAME = 'CHAR_CS'
and tc.CHAR_USED = 'B') LOOP --'C'

l_str := 'alter table "'||t.OWNER||'"."'||t.TABLE_NAME ||'" modify ("'||t.COLUMN_NAME||'" '||t.DATA_TYPE||'('||t.CHAR_LENGTH ||' char))';
-- dbms_output.put_line(l_str);
EXECUTE IMMEDIATE l_str;
END LOOP;
END;

-- создать публичные синонимы на все обьекты схемы данных
DECLARE
l_str VARCHAR2(1000);
BEGIN
FOR t IN (SELECT *
FROM all_objects o
WHERE o.owner = 'СХЕМА'
ORDER by o.object_type,
o.object_name) LOOP
l_str := 'create or replace public synonym "'||object_name||'" for "'||t.owner||'"".""'||o.OBJECT_NAME;
-- dbms_output.put_line(l_str);
EXECUTE IMMEDIATE l_str;
END LOOP;
END;

-- выдать привилегии на запуск всех программных элементов схемы
DECLARE
l_str VARCHAR2(1000);
BEGIN
FOR t IN (SELECT *
FROM all_objects o
WHERE o.OWNER='СХЕМА'
AND o.OBJECT_TYPE IN ('PACKAGE','PROCEDURE','FUNCTION')
ORDER BY o.OWNER,
o.OBJECT_NAME) LOOP
l_str := 'grant execute on "'||t.owner||'"."'||o.OBJECT_NAME||'" to ПОЛЬЗОВАТЕЛЬ';
-- dbms_output.put_line(l_str);
EXECUTE IMMEDIATE l_str;
END LOOP;
END;



Выпущена версия Oracle GoldenGate 11.1.1.1.0


В новой версии произведены следующие изменения функционала:
Изменения зависящие от типа базы данных:

Oracle
с версии 9R2 и более новых реализован захват изменений при direct-load INSERT. Таблица с которой производится работа в режиме direct-load INSERT не должна содержать LOB сегментов в версиях баз данных 9R2, 10R1. Функционал для данных версий будет реализован позднее. Поддерживаются методы direct-load INSERT
·         /*+APPEND*/  hint
·         /*+PARALLEL*/ hint. для RAC не поддерживается
·         SQLLDR с опцией DIRECT=TRUE
Добавлена поддержка EHCC компрессии в таблицах на exadata.
Добавлена поддержка TIMESTAMP WITH TIMEZONE с TZR
Добавлена поддержка Oracle Transparent Data Encryption (TDE) на уровне полей и табличного пространства.
Процесс extract теперь по умолчанию использует новый механизм чтения логов.
В процессе replicat по умолчанию изменен метод commit на asynchronous commit
Расширена поддержка DDL. Добавлена поддержка команд ANALYZE для таблиц индексов и кластеров.Добавлена поддержка зашифрованного пароля в DDL.
Новая опция IGNOREMAPPING. Trigger level filtering option.
Новые команды GGCSI. ADD SCHEMATRANDATA <схема>  DELETE SCHEMATRANDATA <схема>  добавляет и удаляет захват данных для всех обьектов схемы данных.
Улучшена поддержка последовательностей с параметрами cached и cycled.
Измены размеры по умолчанию буферов TRANLOGOPTIONS.
Для Oracle EE 10.2  и более новых добавлена поддержка захвата при работе Oracle Recovery Manager (RMAN) при восстановлении поврежденных redo log.

MySQL
Добавлена поддержка типов TEXT и BLOB.
Добавлена поддержка динамического SQL.
Добавлена опция ALTLOGDEST в TRANLOGOPTION.

Sybase
Расширены диапазоны для DBOPTIONS TDSPACKETSIZE
Параметры которые ранее были внутренними теперь доступны для настройки TRANLOGOPTIONS MAXREADSIZE
TRANLOGOPTIONS READQUEQESIZE

Добавлена поддержка баз данных:
DB2 9.7
DB2 для iSeries
SQL Server 2008
MySQL  Capture 5.1.15 и выше.

С полным списком изменений можно ознакомиться в release notes.

четверг, 2 июня 2011 г.

Проблемы в работе Oracle Database 11.2 Express Edition Beta

Что было обнаружено в результате пару часовой работы с базой для Windows:
1. Каталог DATA_PUMP_DIR после установки назначен на не существующий каталог операционной системы.
2. После создания контекста create context ctx1 using ctx_pkg;
его не видно не из под создавшего пользователя не из под SYSTEM выборкой
SELECT * FROM all_context
Хотя при повторной попытке создания база говорит, что уже существует.

четверг, 26 мая 2011 г.

Oracle Data Integration 11g EStudy новые возможности




    Этот учебник представляет вам новые и усовершенствованные функции Oracle Data Integrator 11g (11.1.1.5), включая понимание бизнес-процессов и технических преимуществ этих функций. Это конечно НЕ общее введение во все аспекты продукта Oracle Data Integrator. Для понимания этого учебника вы должны иметь общие представления о продукте версии 10g семейства Oracle Data integrator. После завершения этого курса, вы усвоите:

- Узнаете изменения в Oracle Data Integrator 11g архитектура и компоненты
- Узнаете компоненты нового Fusion (JDeveloper) пользовательского интерфейса
- Узнаете новые приемы работы и повысите удобство работы
- Узнаете усовершенствования в Модулях знаний (Knowledge Modules)
- Узнаете изменения в работе ODI агентов
- Поймете бизнес-преимущества новых функций и расширения старых


вторник, 24 мая 2011 г.

Установка Data Integrator 11.1.1.5.0 на Windows x86


Несколько дней назад Oracle выпустил версию Data Integrator 11.1.1.5.0.
Установка производилась на работающую версию 11.1.1.3.0.  
При установке инсталлятор через минуту после запуска прекращал свою работу с сообщением “The Java RunTime Environment was not found at bin\javaw.exe. Hence, The Oracle Universal Installer cannot be run. Please visit http://javasoft.com and install JRE version 1.3.1 or higher and tru again.” Хотя на компьютере присутствовала установленная версия JRE 1.6.0_25 и jdk1.6.0_25. Переменные окружения JAVA_HOME, PATH, CLASSPATH настроены необходимым образом.

После аварийного завершения инсталлятор также забыл почистить созданные во временном каталоге C:\Documents and Settings\atyshenko\Local Settings\Temp\OraInstall2011-05-23_03-46-17PM файлы объёмом 500Мб.

Инсталятор удалось запустить только с ключем “setup.exe -install -jreLoc c:\Java\jrockit-jdk1.6.0_24” с JDK не jrockit также не хотел работать. На седьмом шаге установки выяснилось что с ранее установленным депозитарием версии 11.1.1.4 продукт работать отказывается. 


 Было принято решение деинсталировать репозитарий 11.1.1.3.0 с помощью RCU 11.1.1.5.0. Удаление прошло без сообщений об ошибках но при попытке создания нового депозитария с ранее установленным префиксом DEV утилита сообщала что префикс уже используется, хотя схемы данных удалились из базы.  


воскресенье, 3 апреля 2011 г.

Oracle Database 11.2 Express Edition Beta







Вышла Beta версия базы данных Oracle 11.2 Express Edition.
На данный момент доступны версии x32 для Windows и x64 для Linux
Ограничения: максимальный обьем базы 11Гб (XE10 было 4Гб), 1 процессор, 1 Гб оперативной памяти.