Сервер переехал на новый сайт http://www.oraclegis.com/blog. Здесь идет ретрансляция

пятница, 14 ноября 2008 г.

Инсталляция СУБД Oracle для Linux (VMWare) – Oracle Enteprise Linux

Для работы нам понадобится

1. VMWare Server http://www.vmware.com/products/server/. Нужно скачать сам сервер и зарегистрироваться для получения серийного номер. Продукт абсолютно бесплатный. Инсталляция его проблем не приносит.

2. Oracle Enterprise Linux – можно использовать также другие версии Linux, но эту версия обладает рядом преимущест (помимо того, что она выпускается корпорацией Oracle :)

  • Для тестирования бесплатная
  • Легко скачать с интернет
  • Полная совместимость с Red Hat.
  • Включен ряд пакетов специально для СУБД Oracle

Качаем отсюда http://www.oracle.com/technologies/linux/index.html. Для себя я выбрал версию Oracle Enterprise Linux 4 Update 7. Достаточно пропатчена плюс достаточно консервативна с минимумом всяких рюшечек.

3. Oracle Database 11.1.0.6 for Linux берем отсюда http://www.oracle.com/technology/software/products/database/index.html

4. Желательно, но не обязательно иметь патч 11.1.0.7. Берем как обычно с metalink.oracle.com. Патч имеет номер 6890831.

5. Far 1.7. Нужен будет для удобства передачи данных на виртуальную машину. http://www.rarlab.com/download.htm

6. WinSCP Far Plugin http://winscp.net/eng/download.php. Позволяет работать с виртуальной машиной через протокол SSH, как через обычный FTP.

7. PuTTY  http://www.chiark.greenend.org.uk/~sgtatham/putty/. Также не обязателей, но очень удобен в работе.

Когда все это у нас есть – приступаем к инсталляции.

 

1. Создание виртуальной машины Oracle Enteprise Linux

  1. Создаем виртуальную машину
      image
  2. Указываем, что виртуальная машина Red Hat Enterprise Linux 4 
    image
  3. Выделим 1 Гб для виртуальной машины – это минимальный рекомендованный объем памяти для Oracle Database 11.1.0.6
     image
  4. Создаем новый виртуальный диск размером 100 Гб (объем, занимаемый на диске будет зависеть от реального использованного пространства)
    image
  5. Сетевой адаптер укажем Bridged. В этом случае виртуальная машина будет доступна в сети и к ней можно будет подключаться с любого компьютера в Вашей локальной сетке.
    image
  6. Указываем, что хоти использовать физический DVD диск
    image
  7. Мапим этот диск на любой из физических DVD-ROMов.
    image
  8. Floppy диск говорим не добавлять вообще
    image
  9. Добавляем USB – в будущем будет полезно, если захотим цеплять USB диск или флешку снаружи.
    image 
  10. Соглашаемся с конфигурацией на последнем экране
    image

Мы создали виртуальную машину. Теперь она стоит и мигает нам разными огоньками. Давайте запустим ее. Для этого вверху нажмем такую зелененькую кнопочку.
image

Виртуалка запустится. Я использовал в качестве браузера Chrome и при переходе на закладку Console увидел замечательное сообщение
image

Как не жалко, но пришлось уходить в Internet Explorer. В Internet Explorer кликнем на Install Plug-in и чудесным образом увидим выскочит окошко, предлагающее инсталляцию специальной Vmware Console.
image

В ней надо будет кликнуть на ссылку Open the console in a new window и получаем специальное окошечко с виртуальной машиной Linux.

image

Пока что там пусто, операционки нет и ее нужно проинсталлировать, чем мы и займемся.

2. Инсталляция Oracle Enteprise Linux

Для инсталляция нам понадобятся образы CD дисков Oracle Enterprise Linux 4 Update 7, ранее скачанные с сайта Oracle.

  1. Перейдем обратно в окно с настройками виртуальной машины и выберем в этом окне DVD-ROM
    image
  2. Настроим его так, чтобы он смотрел на наши виртуальные образы
    image 
  3. Перезагрузим виртуальную машину
    image
  4. Жмем Enter и ожидаем появления окна с началом инсталляции.
    image
  5. Пропускаем (Skip) проверку
  6. Попадаем в графический экран, где на нас укоризненно взирает пингвин в бронежилете
    image
  7. Говорим, что Language у нас English. Клавиатура U.S. English
  8. Разбивку диска поручаем Automatically Partition, соглашаемся все затирать
    image
  9. Соглашаемся с разбивкой. На следующей странице также соглашаемся с инсталляцией GRUB.
  10. На странице с сетевыми настройками настраиваем имя компьютера и настраиваем IP адрес. У меня адреса в ести выдает DHCP, поэтому я оставил настройки по умолчанию. Обычно приходится настроить IP адрес.
    image
  11. Отключаем firewall и selinux
    image
  12. На странице с выбором дополнительных поддерживаемых языком соглашаемся с настройками по-умолчанию
  13. Указываем нашу временную зону
    image
  14. Задаем пароль пользователя Oracle
  15. Говорим, что хотим кустомизировать настройки пакетов для инсталляции. Делаем это для того, чтобы в будущем легче было инсталлировать Oracle Database
    image
  16. В настройках я убрал Web Server, Windows File Server, Printing Support. Добавил Development Tools, Legacy Software
    image
  17. Говорим два раза Next. Соглашаемся с тем, что у нас есть все диски для инсталляции.
  18. Откинувшись на спинку кресла и периодически меняя диски, наблюдаем хвалебные оды, которые поет о себе наш пингвин в бронежилете ;)
  19. После перезагрузки получаем
    image
  20. Жмем Next, Next, Next… до самого конца
    image
  21. Войдем и на рабочем столе щелкнем правой кнопкой. Запустим Terminal. Наберем в нем ifconfig и увидим там ip адрес нашего сервера. Дальше будем цеплять снаружи за этот ip адрес с помощью PuTTY. Но сначала нужно проделать один шаг – проинсталлировать VMWare Tools.
  22. Идем на домашнюю страницу виртуальной машины и говорим, что хотим инсталлировать VMware Tools:
    image
  23. Инсталлируем VMware tool внутри виртуальной машины командой
    rpm –Uvh /media/cdrom/VMwareTools-2.0.0-122956.i386.rpm
    image
  24. Запускаем /usr/bin/vmware-config-tools.pl.
  25. Везде соглашаемся с настройками по-умолчанию. В настройках разрешения экрана выбираем 1024x768.
  26. Oracle Enterprise Linux проинсталлирован и готов к работе
    image

3. Настраиваем подключение к виртуальной машине.

  1. Запускаем PuTTY
    image
  2. Вводим IP адрес нашего виртуального компьютера (мы его запоминали раньше)
    image
  3. Вводим имя и пароль.
  4. Теперь проинсталлируем Far и WinSCP.
  5. После инсталляции зайдем в FAR. Нажмем Alt-F2 и увидим новый пункт WinSCP
    image
  6. Выберем его и с помощью Shift-F4
    image
    image
  7. Зайдем в эту сессию и увидим диск виртуальной машины
    image
  8. Выполненные подключения будут помогать в будущем.

4. Инсталлируем базу данных Oracle Database 11.1.0.6.

Инструкцию по инсталляции можно найти в дистрибутиве Oracle. Здесь я приведу более краткие выдержки из Quick Installation Guide.

  1. Распаковываем дистрибутив Oracle Database и получившуюся папку с помощью Far копируем на виртуальный сервер через WinSCP
     image
  2. Пока копируется – будем проверять настройки для инсталляции Oracle. Войдем через PuTTY.
    image
  3. Проверим объем оперативной памяти. Должно быть минимум 1 Гб. Кроме того объем Swap должен быть не менее 1,5 объема оперативной памяти. Проверить это можно следующими командами
    grep MemTotal /proc/meminfo
    grep SwapTotal /proc/meminfo
    image
  4. Проверим наличие необходимых нам RPM пакетов.



    Для Oracle Enterprise Linux 4.0 и 5.0 можно запустить следующую команду
    rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat
    При это для разных версий должен быть разный вывод
    Oracle Enterprise Linux 4.0 Oracle Enterprise Linux 5.0
    binutils-2.15.92.0.2-18
    compat-libstdc++-33.2.3-47.3
    elfutils-libelf-0.97-5
    elfutils-libelf-devel-0.97-5
    glibc-2.3.9.4-2.19
    glibc-common-2.3.9.4-2.19
    glibc-devel-2.3.9.4-2.19
    gcc-3.4.5-2
    gcc-c++-3.4.5-2
    libaio-devel-0.3.105-2
    libaio-0.3.105-2
    libgcc-3.4.5
    libstdc++-3.4.5-2
    libstdc++-devel-3.4.5-2
    make-3.80-5
    sysstat-5.0.5
    unixODBC-2.2.11
    unixODBC-devel-2.2.11
    binutils-2.17.50.0.6-2.el5
    compat-libstdc++-33-3.2.3-61
    elfutils-libelf-0.125-3.el5
    elfutils-libelf-devel-0.125
    glibc-2.5-12
    glibc-common-2.5-12
    glibc-devel-2.5-12
    gcc-4.1.1-52
    gcc-c++-4.1.1-52
    libaio-0.3.106
    libaio-devel-0.3.106
    libgcc-4.1.1-52
    libstdc++-4.1.1
    libstdc++-devel-4.1.1-52.e15
    make-3.81-1.1
    sysstat-7.0.0
    unixODBC-2.2.11
    unixODBC-devel-2.2.11
  • В нашем случае вывод будет следующим

    [root@oel ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio-devel libaio libgcc libstdc++  libstdc++-devel make sysstat unixODBC-devel
    binutils-2.15.92.0.2-25
    compat-libstdc++-33-3.2.3-47.3
    elfutils-libelf-0.97.1-5
    package elfutils-libelf-devel is not installed
    glibc-2.3.4-2.41
    glibc-common-2.3.4-2.41
    glibc-devel-2.3.4-2.41
    glibc-headers-2.3.4-2.41
    gcc-3.4.6-10.0.1
    gcc-c++-3.4.6-10.0.1
    package libaio-devel is not installed
    libaio-0.3.105-2
    libgcc-3.4.6-10.0.1
    libstdc++-3.4.6-10.0.1
    libstdc++-devel-3.4.6-10.0.1
    make-3.80-7.EL4
    package sysstat is not installed
    package unixODBC-devel

  • libaio-devel и unixODBC-devel можно найти на 3-ем диске. elfutils-libelf-devel и sysstat  4-ом.
    Монтируем третий диск и запускаем команду 
    rpm -Uvh /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm /media/cdrom/Enterprise/RPMS/unixODBC-devel-2.2.11-1.0.1.RHEL4.1.i386.rpm

    [root@oel ~]# rpm -Uvh /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm /media/cdrom/Enterprise/RPMS/unixODBC-devel-2.2.11-1.0.1.RHEL4.1.i386.rpm
    warning: /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
    Preparing...                ########################################### [100%]
       1:unixODBC-devel         ########################################### [ 50%]
       2:libaio-devel           ########################################### [100%]

    Монтируем четвертый диск и запускаем команду
    rpm -Uvh /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm /media/cdrom/Enterprise/RPMS/elfutils-libelf-devel-0.97.1-5.i386.rpm

    [root@oel /]# rpm -Uvh /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm /media/cdrom/Enterprise/RPMS/elfutils-libelf-devel-0.97.1-5.i386.rpm
    warning: /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
    Preparing...                ########################################### [100%]
       1:elfutils-libelf-devel  ########################################### [ 50%]
       2:sysstat                ########################################### [100%]

  • Создаем пользователя oracle и необходимые группы. В конце вводим пароль пользователя oracle
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle

    [root@oel /]# groupadd oinstall
    [root@oel /]# groupadd dba
    [root@oel /]# useradd -g oinstall -G dba oracle
    [root@oel /]# passwd oracle
    Changing password for user oracle.
    New UNIX password:
    BAD PASSWORD: it is based on a dictionary word
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.

  • Для корректной работы тестовой базы нужно изменить настройки ядра. Для этого в файл /etc/sysctl.conf в конец добавим следующие строки:
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144


    Можно это проделать командами

    echo 'kernel.shmall = 2097152' >> /etc/sysctl.conf
    echo 'kernel.shmmax = 2147483648' >> /etc/sysctl.conf
    echo 'kernel.shmmni = 4096' >> /etc/sysctl.conf
    echo 'kernel.sem = 250 32000 100 128' >> /etc/sysctl.conf
    echo 'fs.file-max = 65536' >> /etc/sysctl.conf
    echo 'net.ipv4.ip_local_port_range = 1024 65000' >> /etc/sysctl.conf
    echo 'net.core.rmem_default = 4194304' >> /etc/sysctl.conf
    echo 'net.core.rmem_max = 4194304' >> /etc/sysctl.conf
    echo 'net.core.wmem_default = 262144' >> /etc/sysctl.conf
    echo 'net.core.wmem_max = 262144'
    >> /etc/sysctl.conf

  • Применим настройки из sysctl.conf командой sysctl –p
  • В файл /etc/security/limits.conf добавим следующие строки
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
  • Можно это проделать командами

    echo 'oracle soft nproc 2047' >>/etc/security/limits.conf
    echo 'oracle hard nproc 16384'>>/etc/security/limits.conf
    echo 'oracle soft nofile 1024' >>/etc/security/limits.conf
    echo 'oracle hard nofile 65536' >>/etc/security/limits.conf
  • В файл  /etc/pam.d/login следующие строки

    session required pam_limits.so
  • Можно это проделать командами

    echo 'session required pam_limits.so' >>/etc/pam.d/login
  • В файл /etc/profile

    if [ $USER = "oracle" ];
        then if [ $SHELL = "/bin/ksh" ];
                   then
                         ulimit -p 16384
                         ulimit -n 65536
                   else
                         ulimit -u 16384 -n 65536
                 fi
    fi
  • Можно это проделать командами

    echo 'if [ $USER = "oracle" ];' >>/etc/profile
    echo '    then if [ $SHELL = "/bin/ksh" ];' >>/etc/profile
    echo '               then '>>/etc/profile
    echo '                     ulimit -p 16384' >>/etc/profile
    echo '                     ulimit -n 65536' >>/etc/profile
    echo '               else' >>/etc/profile
    echo '                     ulimit -u 16384 -n 65536' >>/etc/profile
    echo '             fi' >>/etc/profile
    echo 'fi '>>/etc/profile

  • Создадим необходимые для инсталляции каталоги:

    mkdir -p /u01/app/
    chown -R oracle:oinstall /u01/app/
    chmod -R 775 /u01/app/
  • Разрешим всем пользователям доступ к папке /stage, где сложены дистрибутивы (на боевых серверах так делать не надо)
    chmod -R 777 /stage 
  • Теперь перейдем непосредственно к инсталляции СУБД Oracle. Для этого давайте войдем под только что созданным пользователем oracle в Gnome. Щелкнем правой кнопкой на рабочем столе и запустим терминал Open Terminal

  • Запустим инсталляцию
    image

  • Мы будем инсталлировать базу данных с настройками по-умолчанию, но я все же для большей надежности применяю Advance Installation (не надо нам этого упрощенства)
    image

  • Соглашаемся инсталлировать Inventory в папку /u01/app/oraInventory
    image

  • Выбираем Enterprise Edition (отличие Enterprise и Standard можно посмотреть здесь TBD)
    image

  • Соглашаемся с путем по-умолчанию
    image

  • Далее идет проверка системы на соответствие требованияем Oracle. Кстати очень полезная штука. Раньше ее не было и очень часто в середине инсталляции Oracle Universal Installer вываливался с малопонятными и редко информативными сообщениями. Как можно видеть моя система не прошла по всем требованиям. Точнее одно требование просто проверено не было. Связано это с тем, что у меня виртуальная машина получает ip по DHCP. Если настроить статику, то такой проблемы не будет.
    image

  • Жмем Next и соглашаемся продолжать даже в таких ужасных условиях. Говорим, что хотим создать базу данных.
    image

  • База данных у нас будет общего назначения, поэтому выбираем General Purpose/Transaction Processing
    image

  • Указываем, что база данных будет оба имени (Global Database Name и SID) иметь одинаковыми, т.е. “orcl”. Сделано это для простоты и если Вы в первый раз устанавливаете базу, то крайне рекомендуется эти имена сделать одинаковыми.
    image

  • На следующей странице настроек нужно будет сделать несколько изменений. Во первых сделаем, чтобы память управлялась НЕавтоматически и увеличим ее объем до 600 Мб
    image
    На закладке Character Set выберем либо Use Unicode (если Вы хотите чтобы ваша база поддерживала любые символы вплоть до иероглифов), либо Cyrillic CL8MSWIN1251 (если Вы просто хотите включить поддержку кириллицы).
    image
    На закладке Security – отключим более жесткие настройки безопасности, введенные с 11-ой версии. В настоящее время не весь софт умеет с ними работать. Включение этих настроек приводит к тому, что пароль становится чувствительным к регистру (в 10-ке это было не так).
     image
    На закладке включим инсталляцию схем с примерами (это HR, OE и т.д.)
    image

  • На следующих трех страницах принимаем настройки по-умолчанию
    image
    image
    image

  • Вводим пароли для 4-х стандартных пользователей. Можно указать сразу для всех пользователей один и тот же пароль. Как мы и сделаем
    image 

  • На следующих двух страницах принимаем настройки по-умолчанию
    image
    image

  • Еще раз смотрим на настройки и жмем кнопку для инсталляции
    image 

  • Наблюдаем как все это инсталлируется.

  • В конце после выдачи вот такого окошка
    image

  • Необходимо будет запустить два указанных скрипта под пользователем root и все настройки приниматься по-умолчанию
    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/11.1.0/db_1/root.sh

  • Вот и все. База данных работает.


  • Читать далее...

    четверг, 13 ноября 2008 г.

    Новый форум по Oracle Mapviewer

    На сайте Oracle открылся новый форум по Mapviewer. Точнее даже не открылся, а отпочковался :)

    На нем можно встретить разработчиков. Более того они очень даже охотно отвечают на заковыристые вопросы.
    Адрес нового форума http://forums.oracle.com/forums/forum.jspa?forumID=727.

    Кроме того напомню адрес старого форума, где есть большое количество ответов на насущные вопросы по Oracle Spatial, Mapviewer, RDF, Semantics Web и т.д.
    http://forums.oracle.com/forums/forum.jspa?forumID=76. Форум достаточно живой и популярный.


    Читать далее...

    понедельник, 10 ноября 2008 г.

    Компиляции GDAL с поддержкой Oracle Spatial

    Библиотека Geospatial Data Abstraction Library(GDAL)  это библиотека для работы с растровыми географическими форматами файлов данных. GDAL распространяется Open Source Geospatial Foundation на условиях лицензии X/MIT, то есть является проектом с открытым исходным кодом. Как библиотека GDAL предоставляет вызывающему приложению единую обобщённую модель данных для всех поддерживаемых форматов файлов данных. Помимо этого в состав GDAL входит набор вспомогательных программ, вызываемых из командной строки, для преобразования и обработки данных. Описание выпуска GDAL/OGR 1.5.1 (март 2008) можно найти на странице новостей.

    Начиная с версии 1.6 GDAL поддерживает не только векторный формат Oracle Spatial, но также и растровый, что делает ее еще более функциональной.

    С точки зрения разработчика интересен сам API для работы с этой библиотекой. Для ГИС-специалиста и DBA может оказаться интересным ряд инструментов, поставляемых в этой библиотеке:

    • ogr2ogr – утилита для преобразования ГИС данных из одного формата в другой
    • gdaltransform – утилита для преобразования слоя в другую систему координат.

    К сожалению ко всей уникальности этих утилит подлита ложка дегтя: многие вендоры (в том числе и Oracle) имеют очень странную политику по отношению к клиентским библиотекам для доступа к базе данных. Поэтому, чтобы долго не думать и не подставлять свою пятую точку под удары юристов, разработчики не включают в поставку такие библиотеки. Это можно видеть из вот такой таблички, поставляемой вместе с библиотекой GDAL

    Format Name Code Creation Georeferencing Compiled by default
    Arc/Info Binary Coverage AVCBin No Yes Yes
    Arc/Info .E00 (ASCII) Coverage AVCE00 No Yes Yes
    ESRI ArcSDE SDE No Yes No, needs ESRI SDE
    ESRI Shapefile ESRI Shapefile Yes Yes Yes
    FMEObjects Gateway FMEObjects Gateway No Yes No, needs FME
    KML KML Yes No Yes (read support needs libexpat)
    Mapinfo File MapInfo File Yes Yes Yes
    Oracle Spatial OCI Yes Yes No, needs OCI library
    X-Plane/Flighgear aeronautical data XPLANE No Yes Yes
    и т.д.        

    Т.е. можно видеть, что наряду из-за различных проприетарных драйверов Oracle Spatial не скопилирован по-умолчанию. Что самое смешное – библиотеку эту вы можете легко и просто скачать с сайта, не заплатив ни копейки!

    Что ж, будем исправлять сию беду.

    Для этого нам понадобится

    Все это качаем и инсталлируем. GDAL распаковываем в папку C:\GDAL (чтобы в папке C:\GDAL были файлы makegdal71.sln, makegdal80.sln и т.д.). Открываем файл nmake.opt и редактируем переменную MSVC_VER (указываем нужную нам версию Visual Studio) и GDAL_HOME – указываем путь. В данном случае C:\GDAL.

    После того как все это проделано – давайте скомпилируем GDAL в настройках по-умолчанию. Для этого:

    1. Запустим CMD
    2. Перейдем в каталог GDAL: cd C:\GDAL
    3. Настроим переменные среды для Visual Studio
      "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat”
    4. Настроим переменные среды для Microsoft Platform SDK
      "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd”
    5. Запустите следующую команду set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl;
    6. В файле "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl\atlbase.h”  закомментируйте или удалите следующую строку #pragma comment(lib, "atlthunk.lib")
    7. Запустим компиляцию командой
      nmake /f makefile.vc
    8. Проинсталлируйте
      nmake /f makefile.vc install
    9. После инсталляции Вы должны получить рабочую версию GDAL. Можно проверить, запусти C:\gdal\bin\ogr2ogr.exe и получив на выходе
      image

    Давайте теперь приступим к настроке для использования Oracle Spatial в GDAL. Для этого Вам необходимо будет проинсталлировать клиента Oracle, который можно взять по адресу http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html. Инсталлируем клиента в вариант “Administrator”.

    Для настройки компиляции плагина для Oracle Spatial – будем редактировать файл C:\GDAL\nmake.opt. Нужно найти следующие строки

    # Add ORACLE support.
    # Uncomment the following line to enable OCI Oracle Spatial support.
    #ORACLE_HOME = C:/Software/Oracle/Product/10.1.0/db_1
    # Uncomment the following if you prefer to build OCI support as a plugin.
    #OCI_PLUGIN = YES

    Указываем путь к клиенту базы данных и раскоментируем строки. Как-то во так должно получиться

    # Add ORACLE support.
    # Uncomment the following line to enable OCI Oracle Spatial support.
    ORACLE_HOME = C:\oracle/product/10.2.0/client_1
    # Uncomment the following if you prefer to build OCI support as a plugin.
    # OCI_PLUGIN = YES
    Перезапускаем компиляцию и инсталляции в том же окне (или заново прогоняем настройки, указанные выше). На самом деле с make clean – немного перестраховка, но все же:

    1. nmake /f makefile.vc clean
    2. nmake /f makefile.vc
    3. nmake /f makefile.vc install

    После того, как все пройдет замечательно и make не ругнется – можно потестить функционал следующей командой:

    c:\gdal\bin\ogr2ogr -f OCI OCI:mvdemo/mvdemopass@orcl c:\1\rusrays.shp

    где mvdemo/mvdemopass – имя и пароль пользоваетля
    orcl – alias базы данных
    c:\1\rusrays.shp – путь к файлу с данными, лежащими в shape


    Читать далее...

    вторник, 4 ноября 2008 г.

    ZOOM-ZOOM :) Таскаем лупу по карте в Oracle Maps

    Мой коллега LJ только что опубликовал на своем блоге классную новую фишку, разработанную его коллегой Ji Yang :))

    Иногда бывает необходимо увеличить какой-нибудь участок карты. Можно, конечно, приблизить всю карту, но это долго и муторно. А вот взять лупу и увелить кусок карты – самое то. Вы можете скачать HTML страницу, реализующую этот эффект по адресу here. А здесь here можно взять иконку, используемую на странице. Демка работает на стандартных данных MVDEMO.

    Код использует MVMapDecoration и другие стандартные функции из Oracle Maps JavaScript API. Основная идея состоит в том, чтобы создать пару: обработчик MVMapView и theme-based FOI слой для DIV контейнера, который обслуживает увеличивающее окно. Потом добавляем это окно как двигающийся Map Decoration объект на основную карту. Карта и тема в увеличительном окне показывает те же самые объекты, но на другом уровне увеличения, чем основная карта, что и производит эффекти увеличения.
    Ниже показан пример того, что получается.

    image


    Читать далее...

    JVM crashes during OC4J work/SUN JVM падает во время работы OC4J

    После инсталляции Oracle Mapviewer в среду Oracle BI 10.3.1.4 под нагрузкой начали возникать странные проблемы с вылетом виртуальной машины.

    Симптомы примерно следующие:

    #
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    # SIGSEGV (0xb) at pc=0xf5f270d8, pid=18678, tid=2892061616
    #
    # Java VM: Java HotSpot(TM) Server VM (1.5.0_05-b05 mixed mode)
    # Problematic frame:
    # V [libjvm.so+0x4310d8]
    #


    На сайта SUN былай найдена статья, в которой описывалась сия странная проблема. Вот ссылка на нее http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6405670. Если вкратце, то решение состоит в изменении параметров запуска виртуальной машины в запусковом файле OC4J. Нужно добавить параметр “-client”. После этого запусковый файл oc4j будет содержать две строки, начианющиеся вот так JVMARGS="-client -Djava.library.path=…………..”. После этого на голову сыпется мана небесная и все становится хорошо.


    Читать далее...