Disclaimer

Данный блог является моей личной точкой зрения и не обязательно отражает точку зрения Oracle.

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle

Поиск

Подписка

Инсталлируем Oracle Spatial + Mapviewer

15.01.2009 от aryndin99

Update 1: Опубликован ролик по инсталляции weblogic. См. пункт 3.

Подготовка

Для инсталляции мы возьмем наилучшую для тестирования (с моей точки зрения) платформу. Ее состав

1. Oracle Enterprise Linux 4.7
Скачиваем первые 4 диска с сервера http://edelivery.oracle.com/linux

2. Oracle Database 11g http://www.oracle.com/technology/software/products/database/oracle11g/111060_linuxsoft.html
Нам понадобится 2 файла:

  • Oracle Database 11g Release 1 (11.1.0.6.0) for Linux x86
  • Oracle Database 11g Examples (formerly Companion)

3. Vmware Server http://www.vmware.com/products/server/

4. BEA WebLogic http://www.oracle.com/technology/software/products/ias/htdocs/wls_main.html
Понадобится файл Oracle WebLogic Server 10.3 - Package Installer: server103_linux32.bin

5. Oracle Mapviewer 10.1.3.3 http://www.oracle.com/technology/software/products/mapviewer/htdocs/winsoft.html

Скачиваем файл Oracle Application Server MapViewer, Map Builder & Quickstart 10.1.3.3: mapviewer10133wls.zip
В этот файл включено все необходимое для инсталляции в среде Oracle Weblogic.

Итак, давайте начнем.

1. Инсталляция Linux и СУБД Oracle

Не буду повторяться и сошлюсь на свою статью Инсталляция СУБД Oracle для Linux (VMWare) – Oracle Enteprise Linux.

2. Инсталляция Examples

Часть очень полезных утилит к Oracle Spatial можно найти на диске с примерами. Хотя это не обязательно, но я бы рекомендовал проинсталлировать этим примеры. Это потребует не так много времени, но в будущем не возникнет вопросов, связанных, например, с загрузкой данных в Georaster.

  1. Распакуйте файл linux_11gR1_examples.zip и скопируйте его на виртуальный сервер с помощью FAR.
  2. Под пользователем oracle запустите runInstaller
  3. В качестве пути для инсталляции используйте тот же путь, куда была проинсталлирована база данных

3. Инсталляция Weblogic

Опубликовал ролик по инсталляции и настройке автозапуска weblogic.

  1. Копируем файл server103_linux32.bin с помощью Far на виртуальный сервер
  2. Под пользователем root изменяем права на этот файл:
    chmod a+x /stage/server103_linux32.bin
  3. Под пользователем oracle запускаем этот файл
    /stage/server103_linux32.bin
  4. Далее инсталлируем с настройками по-умолчанию. Нужно только изменить домашний каталог BEA на какой-нибудь более подходящий. Я выбрал /u01/app/bea

4. Автоматический запуск Oracle Database и Weblogic

  1. Настроим автоматический запуск базы данных. Для этого подойдет скрипт
    #!/bin/sh
    # chkconfig: 345 99 10
    # description: Oracle auto start-stop script.
    #
    # Set ORA_HOME to be equivalent to the $ORACLE_HOME
    # from which you wish to execute dbstart and dbshut;
    #
    # Set ORA_OWNER to the user id of the owner of the
    # Oracle database in ORA_HOME.
    ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
    #ORA_HOME=/u01/app/oracle/product/11.1.0/db_1
    ORA_OWNER=oracle
    
    if [ ! -f $ORA_HOME/bin/dbstart ]
    then
    echo "Oracle startup: cannot start"
    exit
    fi
    case "$1" in
    'start')
    # Start the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
    ;;
    'stop')
    # Stop the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values
    su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
    ;;
    esac
  2. Скрипт сохраним под именем dbora и скопируем его в каталог /etc/init.d
  3. Под пользователем root запустим следующие команды
    chmod 750 /etc/init.d/dbora
    chkconfig dbora on
  4. В файле /etc/oratab разрешим автоматический запуск базы данных. Для этого внизу найдем строку вида "orcl:/u01/app/oracle/product/11.1.0/db_1:N" и поставим загрузку в автоматический решим вот так: orcl:/u01/app/oracle/product/11.1.0/db_1:Y
  5. Настроим автоматический запуск Weblogic - для этого подойдет скрипт
    #!/bin/sh
    #
    # weblogic start and shutdown
    # Copyright (c) Shoppers Drug Mart 2005
    # Bootup and shutdown script
    # /etc/init.d/weblogic
    #### BEGIN INIT INFO
    # Provides: weblogic
    # Required-Start: $network $nfs
    # Required-Stop:
    # Default-Start: 3 5
    # Default-Stop:
    # Description: Start weblogic server
    ### END INIT INFO
    # trap "exit 255" 1 2 3 # ignore signals
    
    DOMAIN_HOME=/u01/app/bea/wlserver_10.3/samples/domains/wl_server
    LOG=$DOMAIN_HOME/managewl.log
    ORA_OWNER=oracle
    case $1 in
    'start')
    echo "Starting weblogic..."
    #
    # have the system run out of /appserver/prod/asAdmin/
    #
    # start weblogic as $ORA_OWNER
    #
    su $ORA_OWNER -c "${DOMAIN_HOME}/bin/startWebLogic.sh >$LOG &"
    ;;
    'stop')
    echo "Stopping weblogic..."
    su $ORA_OWNER -c "${DOMAIN_HOME}/bin/stopWebLogic.sh >$LOG "
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    ;;
    esac
  6. Скрипт сохраним под именем weblogic и скопируем его в каталог /etc/init.d
  7. Под пользователем root запустим следующие команды
    chmod 750 /etc/init.d/weblogic
    chkconfig weblogic on

5. Инсталляция Mapviewer

Для инсталляции нужно взять версию не ниже 10.1.3.3, т.к. именно начиная с этой версии Mapviewer сертифицирован для работы под Weblogic.

5.1. Распаковать Mapviewer EAR файл

В отличие от OC4J Вы должны разворачивать Mapviewer в распакованном (exploded) виде. Если развернуть EAR-файл, то во время работы Вы получите ошибку. Файл mapviewer.ear можно распаковать в любой каталог на сервере. Этот каталог станет рабочим каталогом Mapviewer. В этом каталоге по-умолчанию будет находиться конфигурационный файл, журнал и т.д. Рекомендуется, чтобы этот каталог был постоянный (не tmp). Этот каталог в будущем можно будет предоставить в общий доступ всем экземплярам сервера Weblogic, чтобы запустить его в отказоустойчивом режиме.

Перед началом работы необходимо также найти или скачать с сервера Oracle файл xmlparserv2.jar. Найти его можно в дистрибутиве Oracle Database 10g или OC4J 10g. Скачать можно с сайта Oracle:
http://www.oracle.com/technology/tech/xml/xdk/software/production10g/index.html.

В этой инструкции предположим, что Mapviewer(файл mapviewer.ear и необходимый мне файл xmlparserv2.jar ) я положил в каталог /stage/mapviewer. Файлы можно взять из дистрибутива Mapviewer.

Необходимо распаковать mapviewer.ear (этим отличается инсталляция в weblogic от инсталляции в oc4j)

mkdir -p /u01/app/oracle/product/mapviewer10.3
cp /stage/mapviewer/mapviewer.ear /u01/app/oracle/product/mapviewer10.3
cd /u01/app/oracle/product/mapviewer10.3
mv mapviewer.ear mapviewer1.ear
mkdir mapviewer.ear
unzip -d mapviewer.ear/ mapviewer1.ear
rm mapviewer1.ear
cd  mapviewer.ear
mv web.war web1.war
mkdir web.war
unzip -d web.war/ web1.war
rm web1.war

Если MapViewer развертывается в домен без Oracle ADF Runtime, то скопируйте xmlparserv2.jar в /u01/app/oracle/product/mapviewer10.3/mapviewer.ear/web.war/WEB-INF/lib

cp /stage/mapviewer/xmlparserv2.jar  /u01/app/oracle/product/mapviewer10.3/mapviewer.ear/web.war/WEB-INF/lib

11. Измените настройки в Mapviewer configuration file (/u01/app/oracle/product/mapviewer10.3/mapviewer.ear/web.war/WEB-INF/conf/mapViewerConfig.xml). Нужно будет добавить постоянный источник данных. Эти настройки можно будет поменять в будущем (подробная инструкция в п. 5.5).

5.2. Развернуть и запустить Mapviewer в Weblogic Server

1. Войдите в консоль управления Weblogic http://<host>:7001/console. Имя и пароль по-умолчанию weblogic/weblogic.
2. В Change Center, если кнопка Lock&Edit доступна - нажмите на нее.
3. В разделе Domain Structure нажмите ссылку "Deployments". Консоль будет выглядеть примерно так:
image
4. В разделе Deployments нажмите кнопку Install и введите путь откуда будете инсталлировать mapviewer (в нашем случае /u01/app/oracle/product/mapviewer10.3/mapviewer.ear).
Внимание: Проверьте, что указали именно каталог, а не файл mapviewer1.ear

image
5. На следующем слайде согласитесь с выбором "Install this deployment as an application". Далее укажите, что хотите оставить приложение в существующем каталоге "I will make the deployment accessible from the following location"
image
6. Нажмите кнопку Finish
7. Перейдите по адресу http://<host>:7001/mapviewer">http://<host>:7001/mapviewer

5.3. Настройте Mapviewer на Administration Page (необязательный шаг)

Когда Вы первый раз зайдете на страницу администрирования Mapviewer http://<host>:7001/mapviewer/faces/admin/admin.jspx можно использовать стандартного администратора "weblogic". Иногда бывает необходима для администрирования Mapviewer использовать другого пользователя. В этом случае нужно изменить файл $MAPVIEWER_HOME/mapviewer.ear/web.war/WEB-INF/weblogic.xml. Ниже приведен подраздел, отвечающий за пользователя-администратора:

<security-role-assignment>
<role-name>map_admin_role</role-name>
<principal-name>weblogic</principal-name>
</security-role-assignment>
<security-role-assignment>
<role-name>secure_maps_role</role-name>
<principal-name>weblogic</principal-name>
</security-role-assignment>

5.4. Загрузка данных в СУБД Oracle

В комплекте к Mapviewer идет дамп с примером данных в Oracle Spatial: файл mvdemo.zip.

1. Скопируем этот файл на виртуальный сервер и распакуем его (пускай в каталог /home/oracle/mvdemo).

mkdir /home/oracle/mvdemo
cp /stage/mapviewer/mvdemo.zip /home/oracle/mvdemo
cd /home/oracle/mvdemo/
unzip mvdemo.zip

2. Запустим создание необходимы представлений
sqlplus "sys/oracle as sysdba" @mcsdefinition.sql

3. Если база данных имеет версию ниже чем 9.2, то нужно будет запустить скрипт mapdefinition.sql под пользователем MDSYS

4. Создадим пользователя mvdemo и выдадим ему необходимы привилегии:
sqlplus system/oracle
SQL> grant connect, resource, create view to mvdemo identified by mvdemo;

5. Выполним загрузку дампа в базу данных
imp mvdemo/mvdemo file=mvdemo.dmp full=y ignore=y

6. Запустим скрипт для создания необходимых стилей
sqlplus mvdemo/mvdemo @mvdemo.sql

5.5. Настройка соединения с базой данных

Зайдите по адресу http://<host>:7001/mapviewer/faces/admin/admin.jspx. Справа выберите Configuration. Откроется окно с содержимым конфигурационного файла Mapviewer. Нужно пролистать в самый конец и выполнить настройку соединения с базой данных (см пример ниже), затем нажмите Save&Restart.

Другой способ...

Ниже пример соединения для пользователя mvdemo для нашей базы данных (не забудьте разкоментировать - убрать <!-- и -->):

Зайдите в консоль Weblogic (http://<host>:7001/console/login/LoginForm.jsp) и перезапустите приложение Mapviewer:

image

6. Протестируйте подключение

Зайдите по адресу http://<host>:7001/mapviewer/fsmc/tutorial/demos.html

Рубрики: BEA, Linux, Mapviewer, Oracle Spatial | Комментарии (28) »

Комментарии (28)

  1. deadman пишет:

    Пункт 4.4 решим -> режим

  2. Mad Rabbit пишет:

    5.1 – 11
    “…Нужно будет добавить постоянный источник данных…” подскажите как

  3. Rodjer пишет:

    Не подскажите, проблема в том что не могу запустить sqlplus…

  4. aryndin99 пишет:

    Mad Rabbit: смотрите пункт 5.5

  5. aryndin99 пишет:

    Rodjer: что значит не можете запустить sqlplus?

  6. Rodjer пишет:

    Сначала была проблема что не мог найти файл “Message file sp1.msd not found” как оказалось проблема была в том что был не указан $ORACLE_HOME, после этого стало все хорошо) Но теперь при запуске просит логин/пароль причем, те которые были при установке, не подходят, все стандартные,и те которые были на более ранних версиях sys/manager тоже некорректен. так же при sqlplus “sys/oracle as sysdba”
    Сообщает:
    ERROR:
    ORA-12162: TNS:net service is incorrectly specified”
    И просит еще раз логин/пароль.

    P.S. Прошу прощения за нелепый первый пост

  7. aryndin99 пишет:

    Такая ошибка возникает, если неправильно установлен ORACLE_SID. Установить в Linux можно командой
    export ORACLE_SID=orcl
    это если при создании базы Вы ее назвали orcl. Кстати в linux это имя чувствительно регистру.

  8. Rodjer пишет:

    Спасибо помогло, запускает, но теперь при запуске, во время создания триггеров, синонимов, да и посто при коннекте к базе говорит что
    ERROR at line 1:
    ORA-01034: ORACLE not available
    Process ID: 0
    Session ID: 0 Serial number:0

    Видать опять что-то не правильно установлено…

  9. aryndin99 пишет:

    Это уже база не запущена скорее всего. Запустить можно
    sqlplus / as sysdba
    SQL> startup

  10. Rodjer пишет:

    Спасибо, все работает. Вот только еще один момент, когда я запускаю демо выдается ошибка “Cannot get map cache instance config information for null. Server response: MapTileServer is not ready. Please try again later..
    ” Не подскажите что я опять забыл установить?

  11. aryndin99 пишет:

    А в каком месте эта ошибка возникает и нет ли еще каких сообщений об ошибках в текстовом окне с weblogic?

  12. Rodjer пишет:

    Ошибка возникает при запуске демо, любого, на :7001/mapviewer/fsmc/tutorial/demos.html…

    когда должна грузится карта, “вылезает” окно с данной надписью.

    P.S. Захожу туда с удаленной машины, не там где стоит linux с Ораклом, браузер Мозила

  13. Rodjer пишет:

    Была еще одна проблема, пункт 4 в 5.4 когда надо создать пользователя при mvdemo, при помощи команды “sqlplus system/oracle” sqlplus очередной раз сказал что “ORA-01017: invalid username/password; logon denied”, тогда я попробовал зайти под sysdba (sqlplus “sys/oracle as sysdba”) и создать пользователя все создалось и даже выполнилась загрузка дампа…

    МОжет причина предыдущий проблемы в этом?

    P.s. прошу прощения за такое количество вопросов, просто первый раз оказываюсь с технической стороны Oracle =)

  14. aryndin99 пишет:

    Скорее всего в этом дело. Проверьте, что вот это запустилось
    sqlplus “sys/oracle as sysdba” @mcsdefinition.sql.
    Этот скрипт создает табличку, управляющую кэшем, а ругается как раз на нее. После этого не забудьте перезапустить mapviewer (можно весь weblogic).

  15. Rodjer пишет:

    Данная вещь запускается, он создает View, Grant, Synonym, Trigger… Перезапускаю mapviewer (Stop-Force StopNow, Start-Servesing all request). Глухо, все MapTileServer is not ready. Посмотрел в SQL таблица SDO_CACHE_MAPS_TABLE создана…

  16. aryndin99 пишет:

    А этот скрипт запустился нормально? Его обязательно под mvdemo запустить
    6. Запустим скрипт для создания необходимых стилей
    sqlplus mvdemo/mvdemo @mvdemo.sql

  17. Rodjer пишет:

    По началу он вроде все удачно добавляет, но в конце начинается

    “ERROR at line 1:
    ORA-00955: name is already used by an existing object”

    Но вроде когда первый раз его запускал то он успешно завершился.

    Решил с самого начала повторить пункт 5.4 смог залогинится под пользователем “SYSTEM” для этого вот здесь “sqlplus system/oracle” вместо “oracle” нужен тот пароль который вводили при установке.
    Когда пытался загрузить еще раз дамп, он начал выдавать что не может сделать insert, т.к. значение NULL.

  18. Rodjer пишет:

    Еще вопрос, может знаете, решил посмотреть что в в тех база который дамп был сделан, через sql Developer, открываю его пытаюсь сделать подключение к Oracle
    Connection Name: Test
    User name: mvdemo
    Password: mvdemo

    Host name: 192.168.0.102 (IP адрес машины где линукс с ораклом)
    Port: 1521 (оставил по умолчанию)
    SID: orcl

    Выдает: Status: Failure -lo exception: The Network Adapter could not establish the connection.
    Пробовал еще по имени хоста, oraclelinux. Та же ошибка…

  19. aryndin99 пишет:

    По второму вопросу на сервере сделайте
    lsnrctl start
    это запуск listener.

    По первому вопросу. Можно попробовать удалить пользователя и пересоздать заново.
    sqlplus system/oracle
    drop user mvdemo cascade;

    Затем повторить п.5.4.

  20. Rodjer пишет:

    Удалил mvdemo, пункт 5.4 проделелся без ошибок, но до сих пор MapTileServer is not ready. ТУт узрел в папке mvdemo sql скрипты – mapdefinition.sql и mvdemo.sql они должны применяться?! Или они используются другими скриптами?

  21. Rodjer пишет:

    Выполнил те скрипты, лучше не стало…

  22. Rodjer пишет:

    Проблема видать в MapViewer, только пока не понятно где и как, вообщем
    если зайти в “:7001/mapviewer/faces/requests.jspx” и выполнить запрос, получается “MAPVIEWER-00017: MapViewer is not ready. Please try again later.” Так же если запускать демки которые там же лежат выдается “Error 500–Internal Server Error” и в придачу
    java.lang.Exception: Error listing data sources.
    at oracle.lbs.mapclient.MapViewer.getDataSources(MapViewer.java:664)
    at jsp_servlet._demo.__jview._jspService(__jview.java:278)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)

  23. Rodjer пишет:

    И при выполнении каких либо операций в “админке” выдает ошибку “MapViewer server is still starting up.” где он запускается всё еще я не смог найти, в Weblogic статус “Active”…

  24. aryndin99 пишет:

    А проверьте при деплое mapviewer – деплоили точно из каталога /ul/mapviewer/mapviewer.ear, а не из файла mapviewer1.ear?

  25. aryndin99 пишет:

    Кстати, если это только начало работы с Mapviewer, то можно поступить проще и взять уже развернутый пакет http://www.oracle.com/technology/software/products/mapviewer/index.html – там пакет quickstart. В нем есть OC4J с уже проинсталлированым Mapviewer.

  26. Rodjer пишет:

    переставил заново mapviewer теперь при запуске демо сообщает “No base map named MVDEMO.DEMO_MAP found. Check base map and/or data source name.” Хотя после переустановки все сделал еще раз т.е. все пункты 5-ой части… И всё (данные) импортировались норм без ошибок…

  27. aryndin99 пишет:

    Проверьте, что раскомментировали в xml-файле источник данных. Перезапустите и посмотрите не возникает ли каких-то ошибок в текстовом окне weblogic

  28. Oracle Spatial, Mapviewer, Semantics и ГИС системы » Архив блога » Подключение и тестирование WFS-сервиса пишет:

    [...] Mapviewer. Как загрузить данные смотрите в разделе 5.4 в статье по Инсталляции Mapviewer. Обратите внимание – сам Mapviewer нам не нужен – нужна [...]

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.