четверг, 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
Хотя при повторной попытке создания база говорит, что уже существует.