Инсталлируем Oracle Spatial + Mapviewer
15.01.2009 от aryndin99Update 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.
- Распакуйте файл linux_11gR1_examples.zip и скопируйте его на виртуальный сервер с помощью FAR.
- Под пользователем oracle запустите runInstaller
- В качестве пути для инсталляции используйте тот же путь, куда была проинсталлирована база данных
3. Инсталляция Weblogic
Опубликовал ролик по инсталляции и настройке автозапуска weblogic.
- Копируем файл server103_linux32.bin с помощью Far на виртуальный сервер
- Под пользователем root изменяем права на этот файл:
chmod a+x /stage/server103_linux32.bin
- Под пользователем oracle запускаем этот файл
/stage/server103_linux32.bin
- Далее инсталлируем с настройками по-умолчанию. Нужно только изменить домашний каталог BEA на какой-нибудь более подходящий. Я выбрал /u01/app/bea
4. Автоматический запуск Oracle Database и Weblogic
- Настроим автоматический запуск базы данных. Для этого подойдет скрипт
#!/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
- Скрипт сохраним под именем dbora и скопируем его в каталог /etc/init.d
- Под пользователем root запустим следующие команды
chmod 750 /etc/init.d/dbora chkconfig dbora on
- В файле /etc/oratab разрешим автоматический запуск базы данных. Для этого внизу найдем строку вида "orcl:/u01/app/oracle/product/11.1.0/db_1:N" и поставим загрузку в автоматический решим вот так: orcl:/u01/app/oracle/product/11.1.0/db_1:Y
- Настроим автоматический запуск 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 - Скрипт сохраним под именем weblogic и скопируем его в каталог /etc/init.d
- Под пользователем 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". Консоль будет выглядеть примерно так:
![]()
4. В разделе Deployments нажмите кнопку Install и введите путь откуда будете инсталлировать mapviewer (в нашем случае /u01/app/oracle/product/mapviewer10.3/mapviewer.ear).
Внимание: Проверьте, что указали именно каталог, а не файл mapviewer1.ear
![]()
5. На следующем слайде согласитесь с выбором "Install this deployment as an application". Далее укажите, что хотите оставить приложение в существующем каталоге "I will make the deployment accessible from the following location"
![]()
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:
6. Протестируйте подключение
Зайдите по адресу http://<host>:7001/mapviewer/fsmc/tutorial/demos.html
- Вам также могут быть интересны следующие статьи:
- Инсталляция Oracle BI для Weblogic 11g
- Использование GoldenGate Director для управления интеграцией
- Инсталляция Real Time Decisions (RTD) для Weblogic 11g
- Инсталляция Oracle Mapviewer 10.1.3.1 на Oracle BEWeblogic 10A
- Официальный учебник Mapviewer
Рубрики: BEA, Linux, Mapviewer, Oracle Spatial | Комментарии (28) »

16.01.2009 в 10:53
Пункт 4.4 решим -> режим
26.04.2009 в 15:52
5.1 – 11
“…Нужно будет добавить постоянный источник данных…” подскажите как
26.04.2009 в 17:16
Не подскажите, проблема в том что не могу запустить sqlplus…
26.04.2009 в 21:17
Mad Rabbit: смотрите пункт 5.5
26.04.2009 в 21:18
Rodjer: что значит не можете запустить sqlplus?
27.04.2009 в 00:40
Сначала была проблема что не мог найти файл “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. Прошу прощения за нелепый первый пост
27.04.2009 в 04:14
Такая ошибка возникает, если неправильно установлен ORACLE_SID. Установить в Linux можно командой
export ORACLE_SID=orcl
это если при создании базы Вы ее назвали orcl. Кстати в linux это имя чувствительно регистру.
27.04.2009 в 11:00
Спасибо помогло, запускает, но теперь при запуске, во время создания триггеров, синонимов, да и посто при коннекте к базе говорит что
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number:0
Видать опять что-то не правильно установлено…
27.04.2009 в 12:39
Это уже база не запущена скорее всего. Запустить можно
sqlplus / as sysdba
SQL> startup
27.04.2009 в 22:31
Спасибо, все работает. Вот только еще один момент, когда я запускаю демо выдается ошибка “Cannot get map cache instance config information for null. Server response: MapTileServer is not ready. Please try again later..
” Не подскажите что я опять забыл установить?
28.04.2009 в 05:47
А в каком месте эта ошибка возникает и нет ли еще каких сообщений об ошибках в текстовом окне с weblogic?
28.04.2009 в 09:56
Ошибка возникает при запуске демо, любого, на :7001/mapviewer/fsmc/tutorial/demos.html…
когда должна грузится карта, “вылезает” окно с данной надписью.
P.S. Захожу туда с удаленной машины, не там где стоит linux с Ораклом, браузер Мозила
28.04.2009 в 10:07
Была еще одна проблема, пункт 4 в 5.4 когда надо создать пользователя при mvdemo, при помощи команды “sqlplus system/oracle” sqlplus очередной раз сказал что “ORA-01017: invalid username/password; logon denied”, тогда я попробовал зайти под sysdba (sqlplus “sys/oracle as sysdba”) и создать пользователя все создалось и даже выполнилась загрузка дампа…
МОжет причина предыдущий проблемы в этом?
P.s. прошу прощения за такое количество вопросов, просто первый раз оказываюсь с технической стороны Oracle =)
28.04.2009 в 10:46
Скорее всего в этом дело. Проверьте, что вот это запустилось
sqlplus “sys/oracle as sysdba” @mcsdefinition.sql.
Этот скрипт создает табличку, управляющую кэшем, а ругается как раз на нее. После этого не забудьте перезапустить mapviewer (можно весь weblogic).
28.04.2009 в 11:49
Данная вещь запускается, он создает View, Grant, Synonym, Trigger… Перезапускаю mapviewer (Stop-Force StopNow, Start-Servesing all request). Глухо, все MapTileServer is not ready. Посмотрел в SQL таблица SDO_CACHE_MAPS_TABLE создана…
28.04.2009 в 13:28
А этот скрипт запустился нормально? Его обязательно под mvdemo запустить
6. Запустим скрипт для создания необходимых стилей
sqlplus mvdemo/mvdemo @mvdemo.sql
28.04.2009 в 17:55
По началу он вроде все удачно добавляет, но в конце начинается
“ERROR at line 1:
ORA-00955: name is already used by an existing object”
Но вроде когда первый раз его запускал то он успешно завершился.
Решил с самого начала повторить пункт 5.4 смог залогинится под пользователем “SYSTEM” для этого вот здесь “sqlplus system/oracle” вместо “oracle” нужен тот пароль который вводили при установке.
Когда пытался загрузить еще раз дамп, он начал выдавать что не может сделать insert, т.к. значение NULL.
28.04.2009 в 18:24
Еще вопрос, может знаете, решил посмотреть что в в тех база который дамп был сделан, через 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. Та же ошибка…
28.04.2009 в 19:25
По второму вопросу на сервере сделайте
lsnrctl start
это запуск listener.
По первому вопросу. Можно попробовать удалить пользователя и пересоздать заново.
sqlplus system/oracle
drop user mvdemo cascade;
Затем повторить п.5.4.
28.04.2009 в 23:13
Удалил mvdemo, пункт 5.4 проделелся без ошибок, но до сих пор MapTileServer is not ready. ТУт узрел в папке mvdemo sql скрипты – mapdefinition.sql и mvdemo.sql они должны применяться?! Или они используются другими скриптами?
28.04.2009 в 23:43
Выполнил те скрипты, лучше не стало…
29.04.2009 в 00:30
Проблема видать в 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)
…
29.04.2009 в 00:46
И при выполнении каких либо операций в “админке” выдает ошибку “MapViewer server is still starting up.” где он запускается всё еще я не смог найти, в Weblogic статус “Active”…
29.04.2009 в 01:25
А проверьте при деплое mapviewer – деплоили точно из каталога /ul/mapviewer/mapviewer.ear, а не из файла mapviewer1.ear?
29.04.2009 в 01:28
Кстати, если это только начало работы с Mapviewer, то можно поступить проще и взять уже развернутый пакет http://www.oracle.com/technology/software/products/mapviewer/index.html – там пакет quickstart. В нем есть OC4J с уже проинсталлированым Mapviewer.
29.04.2009 в 03:13
переставил заново mapviewer теперь при запуске демо сообщает “No base map named MVDEMO.DEMO_MAP found. Check base map and/or data source name.” Хотя после переустановки все сделал еще раз т.е. все пункты 5-ой части… И всё (данные) импортировались норм без ошибок…
29.04.2009 в 12:52
Проверьте, что раскомментировали в xml-файле источник данных. Перезапустите и посмотрите не возникает ли каких-то ошибок в текстовом окне weblogic
29.10.2009 в 05:17
[...] Mapviewer. Как загрузить данные смотрите в разделе 5.4 в статье по Инсталляции Mapviewer. Обратите внимание – сам Mapviewer нам не нужен – нужна [...]