Ручное удаление репозитория Oracle Database 11g

Сегодня возникла проблема. Принесли мне базу Oracle Database 11g. Проблема состояла в том, что Database Control был сконфигурен для конкретного ip-адреса (люди! не делайте так). Чтобы грохнуть репозиторий и пересоздать его попробовал настроить переменную ORACLE_HOSTNAME.

Сначала удалялось все нормально, но в какой-то момент мне было сказано, что LISTENER (который также был переконфигурен на тот ip) отсутствует и после этого emca ушел в невменяемое состояние, утверждая, что никакого репозитория вообще нет 🙂

При этом удалив пользователя SYSMAN и создавая репозиторий заново я получал сообщения наподобие
25.12.2008 4:09:52 oracle.sysman.emcp.EMConfig perform
SEVERE: Error creating the repository
Refer to the log file at E:\oracle\cfgtoollogs\emca\orcl\emca_2008_12_25_04_02_39.log for more details.

Continue reading ‘Ручное удаление репозитория Oracle Database 11g’ »

Система координат World mercator (54004) в Oracle Spatial

World Mercator (srid 54004) это проекционная система координат, широко используемая публичными tile сервисами. Map tiles (elocation.world_map), обслуживаемые сервером elocation.oracle.com отрисовываются именно в этой системе координат. Однако Oracle Database до версии 11g R2 (или 11.1.0.7) встроенной поддержки этой системы координат не имеет.

Но Oracle Spatial — это открытая система и мы можем  добавить систему координат вручную. 

Continue reading ‘Система координат World mercator (54004) в Oracle Spatial’ »

Интеграция Oracle Mapviewer с Microsoft Virtual Earth

Казалось бы не совместимые технологи от Oracle и Microsoft. Но в наше поколение тотального Mashup-изации  нет ничего невозможного. Интеграция основана на использовании внешнего генератора так называемых tiles. Достаточно универсальная технология.

Оригинал взял вот отсюда FRIEDHOLD’S ORACLE WORLD

Continue reading ‘Интеграция Oracle Mapviewer с Microsoft Virtual Earth’ »

Oracle Fusion MiddleWare MapViewer (Oracle Mapviewer) FAQ

Недавно на сайте Oracle был опубликов новый список ответов на часто задаваемый вопросы. Если честно, то давно уже пора. За последнее время много чего изменилось и как такового центрального хранилища с ответами на вопросы не было. Ниже приведен перевод этого документа. Надеюсь это поможет

FMW MapViewer 10.1.3.3
Часто задаваемые вопросы
Ноябрь 1, 2008
Этот FAQ посвящен часто задаваемым вопросам в области  доступности, сертифицированности и стоимости MapViewer в Oracle Application Server 10g и WebLogic Server.

Continue reading ‘Oracle Fusion MiddleWare MapViewer (Oracle Mapviewer) FAQ’ »

OdiInvokeWebService tool is not working properly when using Designer with Java 1.6

It is not possible to invoke a Web Service with the OdiInvokeWebService tool when using Designer with Java 1.6. Invoking an operation throws the following exception :

java.lang.AbstractMethodError:
org.apache.crimson.tree.XmlDocument.getXmlStandalone()Z
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.jav a:373)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity (TransformerImpl.java:663)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)

и т.д.

Проблема решается установкой более ранней версии JDK (1.5) или upgradом на более новую версию ODI. Эта новая версия ODI либо 10.1.3.5, либо 11g 🙂 А ее еще нет. По крайней мере я не нашел :))

Отсутствует класс com.sunopsis.sdk.opentools.SnpsOpenToolAbstract

В Oracle Data integrator есть интересная возможность по расширую функциональности – OpenTool. Эта возможность позволяет на Java написать то, что еще не реализовано в ODI.

Достался этот функционал от старого доброго Sunopsis. Oracle потихоньку начал перекраивать функционал под свои нужды. Соответственно возникают коллизии. Вот на одну такую коллизию наткнулся. 

Я пытался запустить пример, поставляемый в дистрибутиве – SimpleMessageBox. Класс написан на старой версии Sunopsis и там же скомпилирован. В настоящий момент ряд классов переименованы – в частности такого класса как com.sunopsis.sdk.opentools.SnpsOpenToolAbstract не стало, а появился класс oracle.odi.sdk.opentools.OpenToolAbstract. Как результат – при попытке загрузить OpenTool из класса SimpleMessageBox получаем ошибку:

java.lang.NoClassDefFoundError: com/sunopsis/sdk/opentools/SnpsOpenToolAbstract
    Open Tool not acrivated. Your Open Tool references a class not found

Для того, чтобы решить проблему придется перекомпилировать класс SimpleMessageBox.

Для этого

1. Откроем файл $ODI_HOME/demo/plugins/src/com/myCompany/sunopsisOpenTools/SimpleMessageBox.java и делаем глобальную замену фразы "com.sunopsis.sdk.opentools" на фразу "oracle.odi.sdk.opentools". Кроме того, также глобальной заменой следует заменить "Snps" на "".

2. Компилируем класс SimpleMessageBox из каталога $ODI_HOME/demo/plugins/src/com/myCompany/sunopsisOpenTools/

/opt/jdk1.6.0_11/bin/javac –cp /u01/app/oracle/product/10.3.0.4/oracledi/lib/sunopsis.zip SimpleMessageBox.java

3. Копируем $ODI_HOME/demo/plugins/src/com/myCompany/sunopsisOpenTools/SimpleMessageBox.class в каталог $ODI_HOME/demo/plugins/bin/com/myCompany/sunopsisOpenTools/

Дальше можно делать по инструкции.

Русский язык в параметрах JSP страниц (UTF-8, Windows-1251)

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

Очередная проблема с которой я столкнулся – это передача параметров на JSP страницу.

Начал я вот с такого куска кода JSP

[sourcecode language=’html’]
<%@ page contentType="text/html;charset=UTF-8" %>
<% query2 = request.getParameter("query_1"); %>

query 2:

[/sourcecode]

Собственно, что может быть проще. Запостили страничку в UTF-8 с текстовым полем query_2, вытащили его из запроса и обратно затянули в это поле.

А вот и не просто. Вводим в поле текст следующего содержания

[sourcecode language=’sql’]select * from moscow where name=’Город'[/sourcecode]

А в ответ получаем

[sourcecode language=’sql’] select * from moscow where name=’Город'[/sourcecode]

Для решения этоq проблемы, в конце концов, пришел к вот такому коду (может не оптимальный и не универсальный, но в моем случае работает):

[sourcecode language=’java’]  String query1_temp = request.getParameter( «query_1» );
  query1 =query1_temp==null?null:new String(query1_temp.getBytes(«ISO-8859-1»),response.getCharacterEncoding());[/sourcecode]

Если кто-то сделал по-другому – делитесь. 🙂