четверг, 10 ноября 2016 г.

Расширения функционала Oracle 12R2 (12.2) которые показались мне наиболее интересными.


Добавлена PL/SQL  pragma для пометки устаревших программных единиц.

Не обновленные материализованные представления могут быть  использованы в query rewrite для получения корректного результата используя materialized view logs.

К событиям обновления материализванного представления ON COMMIT и ON DEMAND добавлено событие ON STATEMENT.

Добавлены параметры в аггрегирующей функции LISTAGG для управления переполнением результирующей строки.

Максимальная длина идентификаторов увеличена до 128 байт для большинства идентификаторов, по сравнению с 30 байтами в предыдущих версиях.

Начало поддержки sharding в not managed driver ODP.NET

JDBC полностью поддерживает JDK 8 и стандарт JDBC 4.2

OJVM поддерживает Java SE 8

Вы можете выполнить JavaScript в базе данных, используя движок Nashorn JavaScript, встроенный в Oracle JVM

Начало поддержки операций с CLOB, BLOB и XMLType через database links.
Fast Application Notification (FAN) позволяет уменьшить объём обработки исключений слоя передачи данных в приложении.

Конвертация на лету не партиционированной таблицы в партиционированную.

Split на лету партиций и субпартиций.

Перенос не паритиционированнй таблицы на лету без блокирования DML.

Новая команда DDL позволяет создать таблицу с копированием описания партиций  из существующей таблицы.

Новая архитектура Oracle Database Sharding для оперативной обработки OLTP в которой данные горизонтально распределены между несколькими дискретными базами данных Oracle не имеющими общего аппаратного и программного обеспечения.  Приложение работает с набором баз данных как с одной логической базой.

Поддержка партиционирования внешних таблиц. Поддержка декларативных ограничений целостности для внешних таблиц.

Аналитические представления/

dbms_stat стал работать с внешними таблицами и In-Memory полями таблиц.

Band join связывание является особым типом связывания таблиц при котором ключевые значения в одного набора данных, должны находиться в пределах указанного диапазона другого набора. Одна таблица служит в качестве первого и второго наборов данных.

NFS сервер в базе данных.

Ограничение лимита операций ввода вывода на уровня монтируемой базы.

Монтируемые базы теперь могут иметь различные character set в нутри одной контейнерной базы (CDB).

Поддержка периодического распространения изменений из монтируемой базы источника в базы клоны.

Возможность распараллеливания (указания степени паралелизма) при создании монтируемой базы из seed PDB.

Возможность копирования монтируемой базы данных без перевода базы источника в режим только для чтения, если база источник в режиме archivelog. База источник во время копирования является полностью работоспособной.

Новый механизм proxy монтируемых баз является функционалом для доступа  к одной или нескольким удаленным базам через одну логическую.

Возможность отката состояния монтируемой базы данных с помощью FLASHBACK DATABASE.

Увеличено максимальное количество поддерживаемых монтируемых баз данных в одной контейнерной (CDB) базе до 4098.

Возможность обновления (upgrade) всех монтируемых баз одной операцией.

SQL*Loader, expdp, impdp, exp, и imp теперь являются утилитами instant client.

Поддержка многосимвольных строк в параметрах ENCLOSED_BY, OPTIONALLY_ENCLOSED_BY, и TERMINATED_BY утилиты  SQL*Loader.
Новая утилита командной строки Trace File Analyzer.


четверг, 21 января 2016 г.

Особенности сравнения таблиц из записей %ROWTYPE

Имеем таблицы в двух схемах
create table MESSAGE
(
  message_id        INTEGER not null,
  message_code   VARCHAR2(128) not null,
  message_name  NVARCHAR2(256) not null,
  message_type   VARCHAR2(128) not null,
  message_level   INTEGER not null,
);

И процедуру сравнения содержимого в двух схемах
DECLARE
  TYPE t_m_tbl    IS TABLE OF message%ROWTYPE INDEX BY BINARY_INTEGER;
  v_sql1         CLOB;
  v_sql2         CLOB;
  v_cur1         SYS_REFCURSOR;
  v_cur2         SYS_REFCURSOR;

  v_m_tbl1       t_m_tbl;
  v_m_tbl2       t_m_tbl;
BEGIN
  v_sql1  := 'SELECT t.*
                FROM schema1.message t
              ORDER BY t.message_code';
  v_sql2  := 'SELECT t.*
                FROM schema2.message t
              ORDER BY t.message_code';          
  OPEN v_cur1 FOR v_sql1;
  FETCH v_cur1 BULK COLLECT INTO v_m_tbl1;
 
  OPEN v_cur2 FOR v_sql2;
  FETCH v_cur2 BULK COLLECT INTO v_m_tbl2;

  IF v_m_tbl1.count >0 THEN
    FOR prc_m1 IN v_m_tbl1.first..v_m_tbl1.last LOOP
    .................
    END LOOP;
  END IF;
END;

Если таблицы в разных схемах будут иметь одинаковую структуру но разную последовательность полей то получим ошибку не совместимости типов в строке
  FETCH v_cur1 BULK COLLECT INTO v_m_tbl1;
или
  FETCH v_cur2 BULK COLLECT INTO v_m_tbl2;

проблема решается явным перечислением полей в запросе
вместо t.* указать
t.message_id,
t.message_code,
t.message_name,
t.message_type,
t.message_level



пятница, 24 апреля 2015 г.

ошибка ORA-00604: error occurred at recursive SQL level 1 возникающая при создании PLUGGABLE DATABASE

При создании PLUGGABLE DATABASE командой

CREATE PLUGGABLE DATABASE PDBTest
  ADMIN USER user1 IDENTIFIED BY user1
  ROLES = (connect,dba)
  DEFAULT TABLESPACE users
  file_name_convert = ('+DATA/MYSERVER/A587A94B8C72405CB40663EF8F521E9E/DATAFILE/system.271.876592207', 'C:\ORACLE\ORADATA\MYSERVER\PDBTest\system.271'
                      ,'+DATA/MYSERVER/A587A94B8C72405CB40663EF8F521E9E/DATAFILE/sysaux.270.876592197','C:\ORACLE\ORADATA\MYSERVER\PDBTest\sysaux.270'
                      ,'+DATA/MYSERVER/A587A94B8C72405CB40663EF8F521E9E/DATAFILE/users.269.876592195','C:\ORACLE\ORADATA\MYSERVER\PDBTest\users.269'
                      ,'+DATA/MYSERVER/A587A94B8C72405CB40663EF8F521E9E/TEMPFILE/temp.286.876595197','C:\ORACLE\ORADATA\MYSERVER\PDBTest\temp.286')
  STORAGE (MAXSIZE 100G MAX_SHARED_TEMP_SIZE 100M)
  TEMPFILE REUSE
  PATH_PREFIX = '+DATA';  

при наличии табличного пространства users  в шаблоне pluggable database pdb$seed
возникает ошибка ORA-00604: error occurred at recursive SQL level 1

решением в данной ситуации является создание  контейнерной базы с пользователем без назначения ему табличного пространства по умолчанию
без параметров   DEFAULT TABLESPACE users

и установке табличного пространства по умолчанию позже командами

ALTER PLUGGABLE DATABASE PDBTest OPEN;
alter session set container=PDBTest;
ALTER USER user1 DEFAULT TABLESPACE users;



вторник, 17 сентября 2013 г.

Краткий интерактивный обзор Oracle Database 12C

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/poster/OUTPUT_poster/poster.html#tab_1

пятница, 13 сентября 2013 г.

Уязвимость в системе безопасности при выдаче привилегии GRANT SELECT на таблицу

При выдаче привилегии GRANT SELECT на таблицу пользователь другой схемы данных поличивший привилегию кроме возможности чтения данных получает неявно возможность заблокировать данные командой select for update.

четверг, 12 сентября 2013 г.

Некоторые новые возможности в базе 12C

1.Наконец появился синтаксис для страничной выборки данных.
Синтаксис таков.
o53asktom-f1

 Пример выборки пяти первых записей.

SQL> create table t
  2  as
  3  select * from all_objects;
Table created.

SQL> create index t_idx 
on t(owner,object_name);
Index created.

SQL> select owner, object_name, object_id
  2    from t
  3   order by owner, object_name
  4   FETCH FIRST 5 ROWS ONLY;
…
——————————————————————————————————————————————————————————————————————————————
| Id |Operation                     | Name|Rows  |Bytes |Cost (%CPU)|Time    |
——————————————————————————————————————————————————————————————————————————————
|   0|SELECT STATEMENT              |     |    5 | 1450 |    7   (0)|00:00:01|
|*  1| VIEW                         |     |    5 | 1450 |    7   (0)|00:00:01|
|*  2|  WINDOW NOSORT STOPKEY       |     |    5 |  180 |    7   (0)|00:00:01|
|   3|   TABLE ACCESS BY INDEX ROWID|T    |87310 | 3069K|    7   (0)|00:00:01|
|   4|    INDEX FULL SCAN           |T_IDX|    5 |      |    3   (0)|00:00:01|
——————————————————————————————————————————————————————————————————————————————

Predicate Information (identified by operation id):
—————————————————————————————————————————————————————————————————

1 - filter("from$_subquery$_003"."rowlimit_$$_rownumber"<=5)
2 - filter(ROW_NUMBER() OVER ( ORDER BY "OWNER","OBJECT_NAME")<=5)

Пример выборки пяти записей начиная с пятой.


SQL> select owner, object_name, object_id
  2    from t
  3   order by owner, object_name
  4   OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;


2. Поля SQL VARCHAR2, NVARCHAR2 теперь могут хранить до 32Кб значений.
3. В сотни раз по сравнению с 11G увеличена производительность команды добавления колонки со значением по умолчанию.

SQL> alter table t 
add (data char(2000) default 'DEFAULT VALUE');

4. Добавлено ключевое слово DEFAULT для вставки значения по умолчанию в командах INSERT/UPDATE 

SQL> create table test_table
  2  ( id int
  3      generated by default
  4          as identity
  5          ( start with 33
  6            increment by 10 )
  7          primary key,
  8    val varchar2(100)
  9  )
 10  /
Table created. 
SQL>  insert into test_table (id, … ) 
   values ( DEFAULT, … );
Вставляет значение по умолчанию 33 из последовательности.
SQL>  insert into test_table (id, … ) 
   values ( 10, … );

вставляет значение 10.

четверг, 16 августа 2012 г.

Apex Listener 2.0 Beta доступен для изучения

Apex Listener 2.0 Beta доступен для изучения и скачивания.

Изменения относительно версии  1.1.4

Поддержка нескольких соединений с базой данных.
Утилита командной строки.
Изменение структуры файла конфигурации.
А также:
Moved storage of RESTful Services (aka Resource Templates) to the Oracle Application Express Schema
Design and creation of RESTful Services is now done using Oracle Application Express
Graphical administration of Oracle Application Express Listener is now done using Oracle SQL Developer
RESTful Services are now protected via the OAuth2 Protocol.

понедельник, 2 апреля 2012 г.

Анализ сжатия данных

Анализ сжатия производился на двух таблицах с количеством 12314345 и 9759284 записей и обьемом данных до сжатия 220 и 1080 мегабайт соответственно. Измерение производительности производилось командой select count(1) from table. Сервер базы данных версии 11.1.0.7 на операционной системе AIX.

До сжатия среднее время выполнения запросов составляло 17.69 и 13.9 секунд.
Сжатие производилось командой alter table таблица move compress for all operations;
После сжатия были получены обьемы данных 73 и 360 мегабайт. Скорость выполнения запроса возросла до 9.9 и 5.8 секунд соответственно.
В итоге обьем занимаемый данными в базе сократился приблизительно в 3 раза а время выполлнения запроса сократилось (производительность увеличилась) в 1.8 и 2.4 раза.

пятница, 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 Гб оперативной памяти.