(SDE) Geodatabáze - úvod

Transkript

(SDE) Geodatabáze - úvod
ZÁPADOČESKÁ UNIVERZITA V PLZNI
(SDE) Geodatabáze
Seminární práce z předmětu Aplikace GIS (AGI)
Jiří Pejša
pejsaj (at) students (dot) zcu (dot) cz
Konzultant: Ing. Karel Jedlička
srpen 2008
Přehled revizí
Revize 1.1
28. dubna 2009
Pejša Jiří
Zapracování připomínek Ing. Karla Jedličky z 8.4.2009.
• drobné úpravy nebo upřesnění některých formulací v textu,
• doplnění zdroje [7],
• odstranění obsahů u podkapitol (u kapitol ponechány),
• odstranění přímých citací komunikace s uživatelskou podporou firmy ARCDATA.
Revize 1.0
První verze dokumentu ke zpřipomínkování.
15. února 2009
Pejša Jiří
Anotace / Annotation
„(SDE) Geodatabáze“ popisuje typy geodatabází a zaměřuje se na SDE geodatabáze, které by mohli být řešením
pro víceuživatelskou editaci kartografických vizualizací geodatabází. Je popsána instalace databázového systému
Oracle Express Edition a instalace ArcSDE Enterprise Edition a jejich vzájemná konfigurace. V závěru jsou diskutována možná řešení využití SDE geodatabází na katedře archeologie.
“(SDE) Geodatabáze” describes types of geodatabses and especially deals about SDE geodatabases, which
could be solution for multi-user editing of cartographic vizualisations of geodatabases. There is description of
instalation of database management system Oracle Express Edition and instalation ArcSDE Enterprise Edition
and their configuration.
Obsah
1. Úvod: Geodatabáze ........................................................................................................................................... 7
1.1. Typy geodatabází .................................................................................................................................... 7
1.1.1. Personal Geodatabase .................................................................................................................. 9
1.1.2. File Geodatabase ....................................................................................................................... 10
1.1.3. ArcSDE Geodatabase ................................................................................................................ 10
2. Instalace Oracle Database 10g Express Edition .............................................................................................. 13
2.1. Instalace Oracle Database 10g Express Edition ................................................................................... 15
2.1.1. Kolize na portu 8080 ................................................................................................................. 15
2.1.2. Základní administrační úkony ................................................................................................... 19
2.2. Zhodnocení, navržená řešení ................................................................................................................ 24
3. Instalace a konfigurace ArcSDE pro Oracle 10g ............................................................................................ 26
3.1. Instalace ArcSDE ................................................................................................................................. 26
3.2. Post-instalační nastavení ...................................................................................................................... 28
3.2.1. Nastavení prostředí SDE uživatele ............................................................................................ 28
3.2.2. Nastavení ArcSDE úložiště ....................................................................................................... 29
3.2.3. Autorizace ArcSDE ................................................................................................................... 32
3.2.4. Vytvoření ArcSDE služby ......................................................................................................... 33
3.3. Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE .................................................. 34
3.3.1. Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze) ....................... 35
3.3.2. Vytvoření uživatelů uživatelské SDE geodatabáze ................................................................... 38
3.3.3. Přidělení práv uživatelům .......................................................................................................... 38
3.3.4. Připojení do uživatelské geodatabáze ........................................................................................ 39
3.3.5. Tabulky a pohledy FLOWS_020100 a FLOWS_FILES ........................................................... 40
3.4. Užitečné příkazy pro administraci ArcSDE nad Oracle 10g EE .......................................................... 42
3.4.1. Spuštění služby ArcSDE ........................................................................................................... 43
3.4.2. Status serveru a počet připojených ............................................................................................ 45
3.4.3. Zobrazení informace o SDE službě ........................................................................................... 46
3.4.4. Informace z tabulky SERVER_CONFIG pro daného uživatele ................................................ 46
3.4.5. Informace o konfiguraci služby ArcSDE .................................................................................. 48
3.4.6. Výpis SDE geodatabází na serveru ........................................................................................... 49
3.4.7. Výpis uživatelů připojených do dané instance SDE geodatabáze ............................................. 49
3.5. Dosažené výsledky ............................................................................................................................... 50
4. Závěr, navržená řešení ..................................................................................................................................... 52
5. Použité programové vybavení ......................................................................................................................... 54
Bibliografie .......................................................................................................................................................... 55
4
Seznam obrázků
1.1. Typy geodatabází ............................................................................................................................................ 8
1.2. Licence a verze ArcGIS Server Workgroup ................................................................................................. 10
1.3. Licence a verze ArcGIS Server Enterprise ................................................................................................... 10
1.4. Role ArcSDE v rámci třívrstvé aplikační logiky za využití ESRI produktů ................................................ 11
2.1. Chybové hlášení při pokusu otevřít Application Express ............................................................................ 17
2.2. Úvodní stránka aplikace Application Express .............................................................................................. 19
2.3. Vzdálené připojení do Oracle XE pomocí programu XE Client .................................................................. 22
2.4. Vzdálené připojení do Oracle XE pomocí programu SQL Developer ......................................................... 23
2.5. Spuštění DBMS Oracle Express Edition ...................................................................................................... 23
2.6. Zastavení DBMS Oracle Express Edition .................................................................................................... 23
2.7. Služba ArcSDE závisí na službě OracleServiceXE.exe ............................................................................... 24
3.1. Specifikace použitého dbtune.sde při inicializaci ........................................................................................ 30
3.2. Více geodatabází v jednom DBMS Oracle .................................................................................................. 34
3.3. Ukázka tabulky INSTANCES ...................................................................................................................... 34
3.4. Chybové hlášení o překročené velikosti tablespace ..................................................................................... 38
3.5. Přidělení práva prohlížení dat uživateli data_viewer ................................................................................... 39
3.6. Připojení do uživatelské SDE geodatabáze .................................................................................................. 40
3.7. Objekty "Flows" které byly vidět v ArcCatalogu ......................................................................................... 40
3.8. Vlastnosti ArcSde služby ............................................................................................................................. 44
5
Seznam tabulek
1.1. Srovnání typů geodatabází ............................................................................................................................. 8
2.1. Výběr podporovaných DBMS pro ArcSDE 9.2 na PC-Intel Windows XP Professional Edition ................ 13
2.2. Oracle Express versus SQL Server 2005 Express ........................................................................................ 14
2.3. Definované tablespaces ................................................................................................................................ 25
3.1. Vlastní instalace ArcSDE je jednoduchá záležitost ...................................................................................... 27
3.2. Datové typy pro ukládání geometrie pro ArcSDE 9.2 ................................................................................. 31
3.3. Datové typy pro ukládání geometrie pro ArcSDE 9.3 ................................................................................. 31
6
Kapitola 1
Úvod: Geodatabáze
Obsah
1.1. Typy geodatabází ............................................................................................................................................ 7
1.1.1. Personal Geodatabase .......................................................................................................................... 9
1.1.2. File Geodatabase ............................................................................................................................... 10
1.1.3. ArcSDE Geodatabase ........................................................................................................................ 10
Rozsáhlé kartografické produkty vytvářené pomocí databázové kartografie vznikají za spolupráce větších týmů.
Proto je nezbytná možnost víceuživatelské editace jedné databáze. Tomuto požadavku vyhovuje ArcSDE geodatabáze, která je uložena v některém relačním databázovém systému. Přístup do ní ESRI produktům zprostředkovává (middleware) ArcSDE.
V této práci jsem na jednom ze serverů katedry archeologie (KAR) provedl instalaci ArcSDE pro účely uložení
dat, která jsou následně publikována technologií ArcIMS.
Kromě instalace DBMS a ArcSDE jsou popsány základní operace administrace a vzájemné konfigurace
těchto technologií.
Obecně báze geodat je databáze přizpůsobená pro ukládání a správu prostorových dat. V podání ESRI se báze
geodat nazývá geodatabáze, které mohou být různých typů.
1.1. Typy geodatabází
V ArcGIS 9.2 se rozlišují tři hlavní typy geodatabází: Personal Geodatabase, File Geodatabase a ArcSDE Geodatabase. U ArcSDE Geodatabase se rozlišují tři typy, které se liší použitými technologiemi při jejich tvorbě a
správě. Obrázek 1.1 – „Typy geodatabází“ graficky znázorňuje těchto celkem pět typů geodatabází:
7
Typy geodatabází
Obrázek 1.1. Typy geodatabází
(zdroj [2])
Tabulka 1.1 – „Srovnání typů geodatabází“ shrnuje různé parametry těchto pěti typů geodatabází:
Tabulka 1.1. Srovnání typů geodatabází
Charakteristika Personal Geodata- File Geodatabase ArcSDE Personal ArcSDE Workgroup ArcSDE Enterprise Geodabase
Geodatabase 9.2
Geodatabase 9.2
tabase 9.2
Databázový sys- MS Access Jet Data- Binární soubory v MS SQL Server MS SQL Server 2005 • IBM DB2 - Enterprise
Server Edition
tém (formát ulo- base engine (*.mdb) souborovém systé- 2005 Express Editi- Express Edition
mu
ona
žení)
• IBM Informix Dynamic
Server - Workgroup or
Enterprise Edition
• Oracle - Standard One,
Standard or Enterprise
Editionb
• MS SQL Server - Workgroup, Standard or Enterprise Edition
• c
Omezení velikosti 2 GB, efektivně 250- 1 TB / dataset (tabul- 4 GB / GDBd
500 GB
ku)
4 GB / GDBd
Omezeno pouze použitým
OS a DBMS
P o d p o r o v a n é Windows
platformy
Windows
Windows, Unix, Linux; při
přímém připojení jakákoliv
platforma
Počet uživatelů
• editace: 1
• čtení: "několik"
Multi-platformní: Windows
Windows, Linux,
Solaris
• editace: 1 pro • editace: 1
• editace: 10
• editace: ∞
každý dataset
• čtení: 3 (resp. • čtení: 10 (resp. zby- • čtení: ∞
• čtení: "několik"
zbytek do 3 bez tek do 10 bez edito- • připojení z
editorů)
rů)
aplikací: ∞
• připojení z webových aplikací: ∞
Podpora verzová- Ne (pouze check- Ne (pouze check- Ano
in/checkout replika- in/checkout replikaní
ce)
ce)
Ano
8
Ano
webových
Personal Geodatabase
Charakteristika Personal Geodata- File Geodatabase ArcSDE Personal ArcSDE Workgroup ArcSDE Enterprise Geodabase
Geodatabase 9.2
Geodatabase 9.2
tabase 9.2
Podpora archivo- Ne
vání
Ne
Ano
Ano
Ano
Podpora replika- Ne
cí
Ne
Ano
Ano
Ano
Typ připojení do - - databáze
---
přímé
přímé
přímé nebo přes ArcSDE application server (ArcSDE
službu)
Možnost uživatel- - - ské změny konfigurace
---
Ne
Ne
Ano
Typ autentifikace - - uživatele
---
OS autentifikace
OS autentifikace
DBMS nebo OS autentifikace
Rozhraní
správu
pro ArcCatalog, MS Ac- ArcCatalog
cess
ArcCatalog (+ pří- ArcCatalog (+ případ- ArcCatalog, ArcSDE compadné nástroje pro né nástroje pro správu mand line, klienti příslušných
správu SQL Serve- SQL Serveru)
RDBMS
ru)
Licencování
ArcView, ArcEditor, ArcView, ArcEdi- ArcEditor, ArcInfo ArcEditor nebo ArcInArcInfo
tor, ArcInfo
(jako součást Arc- fo & ArcGIS Server
GIS Desktop)
Workgroup ( 1 počítač
& 1 CPU Socket s jedním nebo dvěma jádry)
ArcEditor nebo ArcInfo &
ArcGIS Server Enterprises
(více počítačů, bez omezení,
licencováno pro CPU nebo
jádro)
Použití v síti
?
?
Ne - pouze deskto- Intranet & internet
pové využití
Intranet & internet
CPU
?
?
1 CPU nebo jádrod 1 CPU nebo jádrod
Bez omezení
RAM
Bezpečnost
práva
Poznámky
?
?
d
1 GB
d
1 GB
Bez omezení
a Dána možnostmi OS Dána možnostmi Dána možnostmi Dána možnostmi OS Zajišťuje DBMS
Windows (zabezpeče- požitého OS
OS Windows & Windows & MS SQL
ní souborů systéMS SQL Server
Server
mem)
Původní formát pro
ArcGIS uložený a
spravovaný v Microsoft Access. Omezena velikost a vázaný
na OS Windows.
Využití MS Access pro správu atributů.
Doporučený formát
pro ukládání geodat
v souborovém systému.
Umožňuje
zkomprimovat data,
která jsou pak pouze
pro čtení
Je nutná dodatečná in- Je nutná dodatečná investice
vestice do ArcGIS Ser- do ArcGIS Server Workver Workgroup.
group a vlastního RDBMS.
a
[2] : „Bude (vedle SQL Express) , nebo jiný volně dostupný DBMS?“
„Ve verzi 9.2 nikoliv. Personal a Workgroup podporují hlavně SQL Server Express, avšak zvažujeme, že některé z těchto express verzí,
které byly zveřejněny, budou v budoucnu podporovány.“
b
Volitelně mohou být pro uložení geometrie použity nadstavby Oracle Spatial nebo Oracle Locator.
c
Velmi příjemným překvapením pro mě bylo nahlédnutí na odpovídající stránky ArcSDE 9.3 - přibyla podpora DBMS PosgreSQL!
d
Dáno omezením použitého RDBMS
1.1.1. Personal Geodatabase
Personal Geodatabase (PGDB) je používána v ArcGIS od verze 8.0 a je ukládána ve formátu Mirosoft Access
(*.mdb). Poskytuje však možnost správy omezeného množství dat a nevyniká ani v kompresních poměrech (viz
[8]). Někteří uživatelé však mohou využívat pro správu atributových dat funkcí programu Microsoft Access.
9
File Geodatabase
ArcGIS bude nadále podporovat tento formát, nicméně uživatelům je dnes spíše doporučován formát File
Geodatabase.
1.1.2. File Geodatabase
Tento nástupce PGDB, který byl představen ve verzi ArcGIS 9.2 disponuje nespornými výhodami (viz též již citovanou [8]):
• přenosná multiplatformní geodatabáze nezávislá na žádném DBMS,
• vhodná pro práci s velmi objemnými daty,
• vysoký výkon a kompresní poměry (oproti PGDB přibližně poloviční nároky na úložný prostor),
• umožňuje více současných editací, které však musí být prováděny v různých datasetech, nebo samostatných
prvkových třídách či tabulkách.
1.1.3. ArcSDE Geodatabase
„Vítejte do ArcSDE, GIS brány do vašeho DBMS.“5[1]
ArcSDE Geodatabáze jsou třetím typem geodatabáze v ArcGIS 9.2. Při vytváření těchto typů geodatabází je
využíván produkt ArcSDE - Spatial Database Engine (Advanced Spatial Data Server).
ArcSDE bývalo samostatným produktem patřícím do "Arc..." rodiny produktů ESRI, avšak od verze 9.26je
začleněno v balíku ArcGIS Server [4]. Ten je dodáván ve dvou úrovních kapacity: ArcGIS Server Workgroup a
ArcGIS Server Enterprise a třech úrovních funkcionality kde ve všech je zahrnuta technologie ArcSDE: Basic,
Standard, Advanced (viz obrázky 1.2 – „Licence a verze ArcGIS Server Workgroup“ a 1.3 – „Licence a verze
ArcGIS Server Enterprise“).
Obrázek 1.2. Licence a verze ArcGIS Server
Workgroup
Obrázek 1.3. Licence a verze ArcGIS Server Enterprise
(zdroj [3])
(zdroj [3])
Poznámka: licence Workgroup a Enterprise se liší hlavně v typu podporovaných DBMS, počtu uživatelů,
maximální velikosti databáze a využití paměti (viz tabulku 1.1 – „Srovnání typů geodatabází“).
Rozlišují se tři typy ArcSDE geodatabází (viz též tabulku 1.1 – „Srovnání typů geodatabází“):
1. ArcSDE Personal Geodatabase dodávána jako součást instalace ArcEditor či ArcInfo licence ArcGIS Desktop,
2. ArcSDE Workgroup geodatabáze dodávána jako jedna z komponent ArcGIS Serveru v licenci Workgroup,
3. ArcSDE Enterprise geodatabáze dodávána jako jedna z komponent ArcGIS Serveru v licenci Enterprise.
Jejich společným rysem je využití relačních databázových systémů (RDBMS) pro uložení geodat.
5
„Welcome to ArcSDE, the GIS gateway to your DBMS.“
Prosinec 2006
6
10
ArcSDE Geodatabase
Hlavní důvody (výhody) využití RDBMS pro ukládání geodat stručně shrnují následující body:
• Data (atributová i prostorová) jsou integrována v jednom datovém úložišti.
• Větší možnosti při ochraně, sdílení a publikování dat.
• Umožněna současná práce (editace/prohlížení) více uživatelů najednou.
• Snadná tvorba záloh a replikací.
• Centralizovaný přístup k datům.
• Výhody při údržbě SW i HW.
• Výhody přístupu klient/server.
• Využití zavedených relačních databázových systémů disponujících vysokým výkonem a souvisejících standardů
pro operace s/nad daty (SQL).
DBMS spolu s ArcSDE vytváří databázovou vrstvu v komplexní n-vrstvé architektuře tvorby aplikací. Atributová data by ještě bylo možné ukládat přímo do RDBMS (například pomocí různých nativních klientů jednotlivých
DBMS), ale prostorová data a operace s/nad nimi je třeba upravit do formy vhodné pro konkrétní RDBMS - a
právě toto zajišťuje ArcSDE - tvoří důležitý mezičlánek (middleware) pro ESRI produkty (ArcGIS Desktop/Server/Engine, ArcIMS, ArcInfo Workstation, ArcWiew ArcSDE CAD Client, MapObjects..) při ukládání a správě
geodat v DBMS (viz obrázek 1.4 – „Role ArcSDE v rámci třívrstvé aplikační logiky za využití ESRI produktů“).
Obrázek 1.4. Role ArcSDE v rámci třívrstvé aplikační logiky za využití ESRI produktů
(zdroj [7])
1.1.3.1. ArcSDE Personal Geodatabase
Tato základní verze ArcSDE geodatabáze je již dostupná v rámci licence ArcEditor7 a vyšší. Představuje tak nenákladnou volbu pro ukládání dat v DBMS při zachování výhod verzování, replikování a archivování. Využívá
Microsoft SQL Server Express Edition 2005, který je též volně k dispozici - lze buď nainstalovat v rámci instalace
7
Jde o takzvaný "bundled database server".
11
ArcSDE Geodatabase
ArcGIS Desktop nebo je volně ke stažení8. Pro ovládání DBMS není třeba hlubokých znalostí databází, neboť
lze ovládat velmi jednoduše přes ArcCatalog.
ArcSDE Personal Geodatabase má svá omezení, které plynou z použitého DBMS: je možné využít pouze jeden
procesor (či jedno jádro u vícejádrových procesorů), dále je možné využít maximálně 1 GB RAM a maximální
velikost databáze jsou 4 GB. Víceuživatelská editace není možná, neboť dalším omezením jsou 3 paralelní uživatelé z nichž pouze jeden může provádět editace.
1.1.3.2. ArcSDE Workgroup Geodatabáze
Tato verze, stejně jako předchozí využívá stejný DBMS - SQL Server Express Edition 2005 a proto má stejná
omezení ze strany databázového serveru: jeden procesor, max. 1 GB RAM, max. velikost GDB 4 GB. Také
ovládání je stejné - přes ArcCatolog.
Odlišuje se v maximálním počtu paralelních uživatelů, kterých může být 10 a všichni mohou provádět editace.
Pro tuto verzi je však třeba dokoupit ArcGIS Server v licenci Workgroup (viz kapitola 1.1.3 – „ArcSDE Geodatabase“), který může poskytnou další přidanou funkcionalitu.
1.1.3.3. ArcSDE Enterprise Geodatabáze
Tato funkčně nejpokročilejší a také nejdražší varianta využívá služeb komerčních DBMS. Z tabulky 1.1 – „Srovnání typů geodatabází“ je vidět, že jsou podporovány čtyři různé relační databázové systémy, které však už musí
spravovat někdo s většími znalostmi databázových systémů.
Je tak možné dosáhnou nejvyšší možné velikosti databáze i počtu editujících uživatelů.
Někteří z podporovaných producentů DBMS také ve svých systémech podporují ukládání prostorových dat.
Je tak možné využít prostorové datové typy při ukládání geometrie a implementované funkce nad nimi, nebo pokročilé struktury pro ukládání rastrů (konkrétně pro DBMS Oracle jde například o nadstavbu Oracle Spatial s
datovými typy SDO Geometry a GeoRaster).
8
http://www.microsoft.com/sql/editions/express/default.mspx
12
Kapitola 2
Instalace Oracle Database 10g Express Edition
Obsah
2.1. Instalace Oracle Database 10g Express Edition ........................................................................................... 15
2.1.1. Kolize na portu 8080 ......................................................................................................................... 15
2.1.2. Základní administrační úkony ........................................................................................................... 19
2.2. Zhodnocení, navržená řešení ........................................................................................................................ 24
Na začátku práce jsem se rozhodoval, který RDBMS instaluji. K dispozici jsem měl ArcGIS Server Enterprise
9.2, takže na výběr jsem měl ze 4 RDBMS (viz tabulku 1.1 – „Srovnání typů geodatabází“). Vzhledem k větší
rozšířenosti a tedy podpoře v našich končinách, jsem se rozhodoval mezi DBMS Oracle a Microsoft SQL Server.
Před instalací je třeba prozkoumat, které verze DBMS jsou podporovány, což závisí nejenom na použité verzi
ArcSDE ale i OS. Zjištěná fakta shrnuje tabulka 2.1 – „Výběr podporovaných DBMS pro ArcSDE 9.2 na PC-Intel
Windows XP Professional Edition“:
Tabulka 2.1. Výběr podporovaných DBMS pro ArcSDE 9.2 na PC-Intel Windows XP Professional Editiona
DBMS
Oracle
Versions
Oracle 10g R2 (32 bit) 10.2.0.2
Oracle 9i (32 bit) 9.2.0.7
SQL
Server
Microsoft SQL Server 2000 SP4 Developer Edition
a
(zdroj [5])
Z tabulky plynou překvapivé informace:
• Microsoft SQL Server 2005 není na platformě Windows XP podporován. Na platformě Windows 2003 Server
však již tato podpora je. Je možné, že by ArcSDE 9.2 Enteprise běhalo in na Windows XP s Microsoft SQL
Server 2005, což by také mohl podpořit fakt, že ve verzích ArcSDE Personal a ArcSDE Workgroup je používán
právě a pouze tento DBMS. Jde však pouze o domněnku, kterou jsem více nezkoumal.
• Mezi podporovanými verzemi Oracle 10g R2 je jako nejnižší uvedena verze 10.2.0.2. Na stránkách Oracle je
však ke stažení1 pouze verze 10.2.0.1 (edice Enterprise, Standard i Express). Je možné, že by to spravil nějaký
service pack, nicméně též jsem to podrobněji nezkoumal2.
• Pro verzi Oracle 10g R2 (32 bit) 10.2.0.2 je v omezeních uvedena následující poznámka:
1
Oracle
Database
10g
Release
2
(10.2.0.1.0)
Enterprise/Standard
Edition
for
[http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html]
Oracle
Database
10g
Release
2
(10.2.0.1)
Express
Edition
[http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html]
2
Když mi to na té verzi 10.2.0.1 běhá.
13
Microsoft
for
Windows
Microsoft
(32-bit)
Wi n d o w s
„Windows XP Service Pack 2 je podporován pouze pro základní testování a vývoj aplikací. Není však doporučen pro využití v produkčním prostředí.“3Také v instalační příručce jsou zmiňovány pouze systémy Windows
Server 2003 a Windows 2000 nicméně je tam poznámka: "Vyšší verze mohou fungovat a obyčejně i fungují.
Nižší verze podporvány nejsou."4
Zajímalo mě tedy, jak to je s podporou Windows XP a položil jsem dotaz na uživatelskou podporu firmy
ARCDATA. Dozvěděl jsem se, že na Windows XP to bude pracovat korektně, niméně to není podporovaná
platforma.
Bohužel jsem neměl k dispozici žádnou z komerčních verzí DBMS o kterých jsem uvažoval - tedy ani Oracle
10g, ani Microsoft SQL Server 2000. Proto jsem se musel spokojit s volně dostupnými verzemi. Před objevením
informací o podporovaných verzích na stránkách ESRI jsem si myslel, že bude pod OS Windows XP podporován
i MS SQL Server 2005. Provedl jsem proto srovnání freewarových verzí Oracle Database 10g Express Edition a
MS SQL Server 2005 Express Edition. Přestože jsem se později dozvěděl o že SQL Server 2005 není podporován
(což jak bylo řečeno neznamená, že to nejde pod jiným OS, ani to, že by to pod XP nechodilo), tak jde o zajímavé
srovnání hlavních prvků konkurenčních produktů:
Tabulka 2.2. Oracle Express versus SQL Server 2005 Express
Oracle 10g Express Editiona
Feature
SQL Server 2005 Expressb
Number of CPUs
1
1
RAM
1GB
1GB
Database Size
4GB
4GB
OS
Windows / Linux
Windows
NO / YES
d
c
Spatial / Locator
NO / NO
Oracle SQL Developer / SQL Ser- YES
ver Management Studio Express
YES
Application Express
YES
NO
Java Support
NO
NO
PL/SQL and Java Server Pages
YES / NO
YES?
T-SQL Enhancements
NO
YES
Stored Procedures, Triggers, and YES
Views
YES
User-defined Types
YES
YES?
Comprehensive XML Support / YES
Native XML
YES
Data Warehousing
NO
NO
Data Mining
NO
NO
Price
Free
Free
a
Verze 10g je uvedena na stránce: Oracle.com: Oracle Database 11g Editions [http://www.oracle.com/database/product_editions.html]
Microsoft.com: SQL Server 2005 Features Comparison [http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx]
c
Zahrnuje plnou podporu 3D a Webových služeb pro správu všech geodat (vektorových a rastrových dat, topologie, a síťových modelů)
d
Je však třeba podotknout, že ve verzi SQL Server 2008 se již podpora prostorových datových typů chystá.
b
Vzhledem k jisté podpoře jsem nakonec zvolil DBMS Oracle 10g.
3
„Windows XP Service Pack 2 is supported for basic testing and application development use only. It is not recommended for deployment in
a production environment.“
[ArcSDE 9.2 with PC-Intel Windows XP Professional Edition on Oracle 10g R2 (32 bit) 10.2.0.2 - Limitations
[http://support.esri.com/index.cfm?fa=knowledgebase.systemRequirements.list&PN=ArcSDE&PID=19&PVID=372&PVNAME=9.2&VID=1594&COUNT=1]]
4
Higher releases may, and usually do, work. Lower versions of releases are not supported.
14
Instalace Oracle Database 10g Express Edition
2.1. Instalace Oracle Database 10g Express Edition
Vzhledem k tomu, že se jedná o nejnižší verzi DBMS Oracle vhodnou i pro méně zkušené databázové administrátory, tak i instalace byla velmi snadnou záležitostí za automatické volby přednastavených hodnot. Během instalace
jste tak dotázáni pouze na umístění a heslo pro přístup do databáze (neboli heslo administrátorských účtů SYS a
SYSTEM). Toto heslo jsem zvolil standardně - *******5.
2.1.1. Kolize na portu 8080
V instalačním manuálu [9] stojí:
Jestliže se chystáte instalovat Oracle Database XE Server na počítač s Windows XP Service Pack
2 nebo Windows Server 2003 Service Pack 1 a následně se připojovat z jiného počítače, zkontrolujte, zda firewall neblokuje komunikaci na těchto portech. Jedná se o standardní porty, které Oracle
Database XE využívá.
• 1521: Oracle database listener,
• 2030: Oracle Services pro Microsoft Transaction Server,
• 8080: HTTP port pro Oracle XML DB a pro grafické uživatelské rozhranní Oracle Database
XE.6
5
:-)
„If you plan to install Oracle Database XE Server onto a computer running Windows XP Service Pack 2 or Windows Server 2003 Service
Pack 1 and then connect to it from another computer, check that the firewall has not been configured to block communication from the following
incoming ports. These ports are the default ports that Oracle Database XE uses.“
„-1521: Oracle database listener,“
„-2030: Oracle Services for Microsoft Transaction Server,“
„-8080: HTTP port for Oracle XML DB and the Oracle Database XE graphical user interface.“
6
15
Kolize na portu 8080
V rámci instalace DBMS Oracle je nainstalován Oracle Net který zajišťuje spojení mezi klientskými aplikacemi
a databází za použití TCP/IP. Ten zahrnuje Oracle Net listener (krátce listener). Tento proces7, který běží na serveru naslouchá na určitých TCP/IP portech požadavkům na spojení. Dorazí-li validní požadavek z klientské aplikace, tak je nasměrován do databáze a dojde k přímému spojení. Existují dva typy spojení:
Database
Standardní číslo TCP portu je 1521. Jde například o vzdálené spojení z SQL příkazové řádky.
HTTP
Standardní číslo TCP portu je 8080. Jde například o (vzdálený) přístup do aplikace Application Express.
Stav procesu listener lze zjistit zadáním příkazu LSNRCTL STATUS v příkazové řádce serveru.
Během istalace však nedošlo k nabídce změny standardních čísel portů (jak slibuje manuál v případě že je
některý z portů již obsazen). Automatická volba portu pro HTTP Listener na honotu 8080 však způsbila potíže.
Na tomto portu totiž již běžel Apache servrující služby ArcIMS, na které po instalaci Oracle přestal fungovat přístup
přes web. Kvůli kolizi na portu 8080 též nefungovala správa Oracle přes webové rozhraní Application Express
(viz obrázek 2.1 – „Chybové hlášení při pokusu otevřít Application Express“).
7
tj. zřejmě služba OracleXETNSListener.exe
16
Kolize na portu 8080
Obrázek 2.1. Chybové hlášení při pokusu otevřít Application Express
Bylo proto nutné změnit číslo portu na kterém listener naslouchá HTTP požadavkům. Hodnoty portů procesu
listener lze vidět například ve výpisu jeho statusu nebo klasickým příkazem SELECT. Jejich změnu lze provést
pomocí SQL příkazů skrze nějakého databázového klienta či v SQL řádce Application Express. Já jsem použil
aplikaci SQL Developer (více o obou aplikacích viz kapitolu 2.1.2.1 – „Připojení do DBMS“). Hodnotu čísla
portu na kterém listener naslouchá HTTP požadavkům jsem změnil na hodnotu 8090 (viz 8 nebo 9):
/*zjisteni cisla aktualne pouziteho HTTP portu
select dbms_xdb.gethttpport as "HTTP-Port" from dual;
HTTP-Port
----------8080
1 rows selected
/*zmena cisla HTTP portu
EXEC DBMS_XDB.SETHTTPPORT('8090');
anonymous block completed
HTTP-Port
8
oracle.com:
Changing
the
Listener
Port
Number
for
HTTP
Connection
[http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/network.htm#XEViewingListStat]
9
XE: Changing the default http port [http://daust.blogspot.com/2006/01/xe-changing-default-http-port.html]
17
Requests
Kolize na portu 8080
-----------8090
Před úpravou čísla tohoto portu příkaz LSNRCTL STATUS nevypsal žádný HTTP port, což bylo nejspíše
způsobeno kolizí. Po jeho změně již je vypsán s novým číslem:
C:\oraclexe\app\oracle\product\10.2.0\server\BIN>LSNRCTL STATUS
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 30-Září-2008 20:11:57
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
-----------------------Alias
LISTENER
Version
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
Start Date
30-Září-2008 13:57:44
Uptime
0 days 6 hr. 14 min. 13 sec
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Default Service
XE
Listener Parameter File ►
C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\listener.ora
Listener Log File
►
C:\oraclexe\app\oracle\product\10.2.0\server\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=eugen)(PORT=1521)))
►
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=eugen)(PORT=8090))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "XE_XPT" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
►
Po této změně a změně odkazu Database_homepage.url v menu Start/Programy/Oracle Database 10g
Express Edition/Go To Database Home Page se již v pořádku načte úvodní stránka aplikace Application Express
18
Základní administrační úkony
(viz obrázek 2.2 – „Úvodní stránka aplikace Application Express“) kam je možné se přihlásit jako administrátor
DBMS (DBA) loginem a heslem zmíněným v úvodu kapitoly.
Obrázek 2.2. Úvodní stránka aplikace Application Express
2.1.2. Základní administrační úkony
2.1.2.1. Připojení do DBMS
Existují dva způsoby připojení: lokální a vzdálené. Vzhledem k tomu že se jedná o server, tak lze předpokládat,
že častější bude vzdálené připojení.
Lokální připojení
Zmíním dva způsoby připojení: pomocí webového rozhraní Application Express a pomocí aplikace SQL Developer. Jiná možnost připojení je například z SQL řádky.
Webové rozhraní Application Express
„Oracle Application Express (Oracle APEX) je rychlé vývojové prostředí webových aplikací pro databáze
Oracle. Pouze za použití webového prohlížeče a skromných zkušeností s programováním můžete vyvíjet
a rozmisťovat profesionální aplikace, které jsou jak rychlé, tak bezpečné.“10[11]
Application Express je standardně nainstalován v rámci instalace Oracle Database Express Edition.
Kromě základních operací administrace DBMS zahrnuje Application Builder - prostředí pro vývoj vlastních
webových aplikací nad databázemi.
10
„Oracle Application Express (Oracle APEX) is a rapid web application development tool for the Oracle database. Using only a web browser
and limited programming experience, you can develop and deploy professional applications that are both fast and secure.“
19
Základní administrační úkony
Na úvodní stránku rozhraní (viz obrázek 2.2 – „Úvodní stránka aplikace Application Express“) se lze
dostat například následujícími způsoby:
• Menu Start/Programy/Oracle Database 10g Express Edition/Go To Database Home Page,
• Zadání adresy ve tvaru http://127.0.0.1:port/apex, případně http://localhost:port/apex do
webového prohlížeče. Takže pro tuto instanci DBMS to jest: http://127.0.0.1:8090/apex či
http://localhost:8090/apex.
Na úvodní stránce je již možné provést přihlášení buď do standardního administrátorského účtu SYSTEM (nebo SYS) nebo do vytvořených uživatelských účtů.
Poznámka
SYS versus SYSTEM [13]
Tyto administrátorské účty jsou automaticky vytvořeny při instalaci DBMS
se stejným heslem (viz úvod kapitoly 2.1 – „Instalace Oracle Database
10g Express Edition“).
SYSTEM
Vykonává všechny běžné administrátorské funkce vyjma startování
a zastavování databázového serveru.
SYS
Má přístup a práva ke všem tabulkám data dictionary. Nicméně je
doporučeno neprovádět na nich jakékoliv změny ani vytvářet nové
v zájmu zachování integrity a fungování databáze.
Obyčejně není důvod přihlašovat se jako SYS uživatel. Ke všem
potřebným operacím by měl postačovat účet SYSTEM11.
Aplikace SQL Developer
„Oracle SQL Developer je volně dostupné a plně podporované grafické prostředí pro databázový vývoj.
S aplikací SQL Developer můžete procházet databázové objekty, vykonávat SQL příkazy a skripty, editovat
a ladit PL/SLQ příkazy. Také můžete spouštět jakékoliv množství připravených reportů, stejně tak jako
vytvářet své vlastní. SQL Developer zvyšuje produktivitu a zjednodušuje úkoly databázového vývoje.“12[10]
Aplikace je skutečně velmi dobrým nástrojem pro vývoj a správu databází jak slibuje úvodní citace.
Výhodou může být také to, že není třeba instalovat - stačí rozbalit. Jiným též velmi dobrým a v určité
verzi volně dostupným nástrojem je například DbVisualiser13.
Oba zmiňované nástroje jsem nainstaloval na straně serveru - viz Start/Programy/SQL Developer
či Start/Programy/DbVisualizer 6.0.13 (pro připojení do databáze Oracle je třeba přidat JDBC ovladač
Oracle Thin v příslušné verzi14). Připojení v programu SQL Developer provedeme v menu New Databse
Connection například tak, jak je ukázáno na následujícím obrázku:
11
Jedná se o doporučení na stránkách Oracle. V případě administrace ArcSDE to nemusí být vždy
pravda (viz kapitolu 3.2.1 – „Nastavení prostředí SDE uživatele“ :-)
12
„Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database
objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. You can also run any number of provided reports, as
well as create and save your own. SQL Developer enhances productivity and simplifies your database development tasks.“
13
dbvis.com: The Universal Database Tool [http://www.dbvis.com/products/dbvis/]
14
dbvis.com: Supported JDBC Drivers [http://www.dbvis.com/products/dbvis/doc/drivers.jsp]
20
Základní administrační úkony
Toto spojení jsem uložil pod názvem OracleXE_system.
Vzdálené připojení
Popíši tři způsoby připojení - opět pomocí webového rozhraní Application Express, z SQL řádky a pomocí
aplikace SQL Developer:
Webové rozhraní Application Express
Jde o nejméně náročné připojení co do administrátorovi aktivity, avšak jde také o nejméně bezpečné připojení.
Po instalaci je připojení do databáze přes HTTP protokol pomocí aplikace Application Express možné
pouze lokálně na straně serveru. Vzdálené připojení přes tento protokol musí administrátor nejprve povolit.
Je zde však jedno varování:
Varování
Vzdálený přístup přes HTTP protokol do databáze Oracle XE není nijak kódováno - veškeré vyměněné informace, včetně jmen a hesel, jsou v textové formě!!!
Povolení tohoto přístupu je možné provést různými způsoby 15:
1. Po přihlášení do Application Express jako administrátor je třeba zaškrtnout volbu „Available from local
server and remote clients“ v menu Administration>Manage HTTP Access.
2. SQL příkazem (ať už ze vzdáleného či lokálního klienta):
/*Povoleni vzdaleneho pristupu do DBMS pres HTTP port:
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
15
oracle.com:
Enabling
Remote
HTTP
Connection
[http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/network.htm#BHCBCFBA]
21
to
the
Database
Základní administrační úkony
/*Zakázani vzdaleneho pristupu do DBMS pres HTTP port:
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(TRUE);
Po povolení je pak možné i ze vzdálených počítačů přistupovat k DBMS přes webové rozhraní aplikace
Application Express z adresy http://147.228.18.11:8090/apex.
Pro fungování tohoto vzdáleného přístupu však bylo třeba ještě provést jednu operaci - udělit výjimku
portu 8090 ve Windows firewallu a antiviru na straně serveru:
• Ovládací panely/Centrum zabezpečení/Brána firewall systému Windows/Výjimky - přidat port 8090 (název např.: Oracle_HTTP_connection_8090)
• Obdobným způsobem je třeba udělit výjimku portu v případě, že antivir používá vlastní firewall.
Následující dva způsoby připojení jsou odlišné v tom, že komunikace neprobíhá přes protokol HTTP
na portu 8090, ale v různých klientských aplikacích pomocí JDBC driverů na portu 1521 a proto je možné
dosáhnou mnohem větší míry zabezpečení. Stejným způsobem jako v případě portu 8090, je třeba udělit
portu 1521 výjimku ve Windows firewallu (přidat port - 1521, název např.: Oracle_database_connection_1521)) a případně v antiviru.
SQL příkazová řádka
Pro tento způsob připojení je již nutná instalace klientského prostředí. Tím je Oracle Database Express
Edition Client (Oracle Database XE Client). Tento klient se instaluje na vzdálený klientský počítač a je
volně ke stažení16. Existují však i jiní klienti - například Oracle Database Instant Client, který není nutno
instalovat17. Zde však popíši připojení pomocí programu XE Client.
Po instalaci klientského prostředí spustíme buď přímo SQL řádku z menu Start/Programy/Oracle
Client 10g Express Edition/Run SQL Command Line nebo v příkazové řádce napíšeme příkaz sqlplus
/nolog. Připojení do databáze pak provedeme následující notací: CONNECT username/password@[//]host[:port][/service_name]. V našem případě tedy: CONNECT system/*******@147.228.18.11:1521 nebo CONNECT system/[email protected]:1521 (viz obrázek
2.3 – „Vzdálené připojení do Oracle XE pomocí programu XE Client“).
Obrázek 2.3. Vzdálené připojení do Oracle XE pomocí programu XE Client
Aplikace SQL Developer
Program a způsob připojení je stejný jako v případě lokálního připojení. Odlišné je pouze IP adresa:
16
po
registraci
..
oracle.com:
Oracle
Database
10g
Express
[http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html]
17
oracle.com: Oracle Database Instant Client [http://www.oracle.com/technology/software/tech/oci/instantclient/index.html]
22
Client
Základní administrační úkony
Obrázek 2.4. Vzdálené připojení do Oracle XE pomocí programu SQL Developer
2.1.2.2. Spuštění a zastavení databázového systému
Systém je automaticky spouštěn po každém restartu, pokud nebyl ručně zastaven.
DBMS je možné spustit či zastavit pomocí dávkového souboru StartDB.bat jehož zástupce Start Database
je umístěn v příslušné položce Oracle Database v menu Start. Při spouštění systému jsou spuštěny služby
OracleXETNSListener.exe a OracleServiceXE.exe. (viz obrázek 2.5 – „Spuštění DBMS Oracle Express Edition“). Po spuštění systému je také spuštěn proces oracle oracle.exe.
Obrázek 2.5. Spuštění DBMS Oracle Express Edition Obrázek 2.6. Zastavení DBMS Oracle Express
Edition
Na stejném místě je také umístěn zástupce Stop Database dávkového souboru StopDB.bat, který databázový
systém zastaví, respektive zastaví službu OracleServiceXE.exe (viz obrázek 2.6 – „Zastavení DBMS Oracle
Express Edition“). Po zastavení systému je také zastaven a odstraněn zmiňovaný proces oracle.exe.
Varování
Při pokusu o ukončení databázového systému v případě, kdy běží služba ArcSDE
(více viz kapitola 3.4.1 – „Spuštění služby ArcSDE“) je administrátor upozorněn,
že právě ArcSDE Service závisí na službě OracleServiceXE.exe a že dojde
také k jejímu ukončení. V případě, že jsou do databáze připojeni uživatelé, tak
bude mít tento úkon za následek ztrátu jejich připojení!
23
Zhodnocení, navržená řešení
Obrázek 2.7. Služba ArcSDE závisí na službě
OracleServiceXE.exe
2.1.2.3. Vytvoření uživatele
Uživatele je opět možné vytvořit více způsoby. Jednoduchý a intuitivní je například způsob v Application Express.
Druhým je samozřejmě použití SQL příkazů v některém z klientů.
Podrobněji tento úkon popíši například v kapitole 3.3.2 – „Vytvoření uživatelů uživatelské SDE geodatabáze“,
kde využívám druhého způsobu.
2.2. Zhodnocení, navržená řešení
Popsaná omezení DBMS Oracle XE napovídá, že kombinace ArcSDE 9.2 Enterprise Edition - Oracle 10g Express
Edition - Windows XP není zcela optimální. Nicméně vzhledem k daným podmínkám (jiné DBMS nebylo k dispozici) je to maximum, čeho lze dosáhnout.
Nejvíce omezujícím je omezení maximální velikosti databáze na 4GB, což v případě geodat může být poměrně
omezující.
Zajímalo mě, čeho se toto omezení týká - zda to je součet všech tablespaces v DBMS, nebo zda to je omezení
velikosti jednoho tablespace (více o tablespaces a jejich definicích viz kapitoly 3.2.1 – „Nastavení prostředí SDE
uživatele“ a 3.3.1.1 – „Vytvoření prostředí uživatele“). V případě, že by se jednalo pouze o omezení maximální
velikosti jednoho tablespace, tak by se nejednalo o tak velký problém, neboť by šlo data organizovat do více
tablespaces (neboli do více uživatelských SDE geodatabází; více viz kapitolu 3.3 – „Vytvoření více uživatelských
SDE geodatabází v DBMS Oracle XE“). Při definování uživatelských tablespaces ve zmiňovaných kapitolách
jsem však zjistil, že se bohužel jedná o součet velikostí všech uživatelem definovaných tablespaces. Jak je vidět
z obrázků v tabulce 2.3 – „Definované tablespaces“ tak se do tohoto součtu zřejmě nepočítají systémové tablespace,
čemuž nasvědčuje celkový součet všech tablespaces (5020MB) přičemž součet mnou definovaných tablespaces
je přesně 4GB, součet systémových tablespaces je 1110MB a fyzický limit je 5120MB. Při pokusech definovat
tablespaces v součtu překročující tento fyzický limit mi to hlásilo chybu.
24
Zhodnocení, navržená řešení
Tabulka 2.3. Definované tablespaces
25
Kapitola 3
Instalace a konfigurace ArcSDE pro Oracle 10g
Obsah
3.1. Instalace ArcSDE ......................................................................................................................................... 26
3.2. Post-instalační nastavení .............................................................................................................................. 28
3.2.1. Nastavení prostředí SDE uživatele .................................................................................................... 28
3.2.2. Nastavení ArcSDE úložiště ............................................................................................................... 29
3.2.3. Autorizace ArcSDE ........................................................................................................................... 32
3.2.4. Vytvoření ArcSDE služby ................................................................................................................. 33
3.3. Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE .......................................................... 34
3.3.1. Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze) ............................... 35
3.3.2. Vytvoření uživatelů uživatelské SDE geodatabáze ........................................................................... 38
3.3.3. Přidělení práv uživatelům .................................................................................................................. 38
3.3.4. Připojení do uživatelské geodatabáze ................................................................................................ 39
3.3.5. Tabulky a pohledy FLOWS_020100 a FLOWS_FILES ................................................................... 40
3.4. Užitečné příkazy pro administraci ArcSDE nad Oracle 10g EE .................................................................. 42
3.4.1. Spuštění služby ArcSDE ................................................................................................................... 43
3.4.2. Status serveru a počet připojených .................................................................................................... 45
3.4.3. Zobrazení informace o SDE službě ................................................................................................... 46
3.4.4. Informace z tabulky SERVER_CONFIG pro daného uživatele ........................................................ 46
3.4.5. Informace o konfiguraci služby ArcSDE .......................................................................................... 48
3.4.6. Výpis SDE geodatabází na serveru ................................................................................................... 49
3.4.7. Výpis uživatelů připojených do dané instance SDE geodatabáze ..................................................... 49
3.5. Dosažené výsledky ....................................................................................................................................... 50
V této kapitole popíši instalaci ArcSDE, ručně provedu post-instalační nastavení a budu se zabývat užitečnou
možností definovat si více SDE geodatabází v jediném DBMS. Na závěr uvedu několik užitečných příkazů pro
zjišťování informací o stavu SDE a jeho správu.
3.1. Instalace ArcSDE
Jak bylo zmíněno v kapitole 1.1.3 – „ArcSDE Geodatabase“, tak ArcSDE je nyní součástí ArcGIS Serveru. Proto
pro jeho instalaci byla použita sada ArcGIS Server Enterprise for Windows MediaKit. V této sadě se pak nachází
DVD ArcSDE 9.2. Po vložení instalačního média bylo nutné vybrat ten správný instalační soubor pro požadované
DBMS: ArcSDE 9.2 Oracle10gR2. Jedná se o jednoduchou instalaci (jak napovídají screenshoty v tabulce 3.1 –
„Vlastní instalace ArcSDE je jednoduchá záležitost“), ke které není třeba zvláštních komentářů. Jako instalační
adresář jsem zvolil C:\Program Files\ArcGIS\ArcSDE\.
26
Instalace ArcSDE
Tabulka 3.1. Vlastní instalace ArcSDE je jednoduchá záležitost
Po instalaci je uživatel požádán (viz poslední screenshot), zda má instalace pokračovat post-instalačním nastavením. Tuto část instalace podrobněji popíši v kapitole 3.2 – „Post-instalační nastavení“.
27
Post-instalační nastavení
3.2. Post-instalační nastavení
Post-instalační nastavení je důležitou součástí instalace, neboť zde se určuje vzájemná konfigurace ArcSDE a
databáze Oracle. Pro toto nastavení je možné použít setup, který je buď spuštěn automaticky po instalaci ArcSDE
nebo je možné jej spustit nezávisle z menu Start/Programy/ArcGIS/ArcSDE/ArcSDE for Oracle10gR2 Post
Installation. Je však také možné celé nastavení provést ručně, což jsem zvolil já z důvodu lepšího pochopení
operací, ke kterým dochází při tomto nastavení.
3.2.1. Nastavení prostředí SDE uživatele
V tomto kroku dochází k:
• udělení práva execute roli PUBLIC nad balíky dbms_pipe a dbms_lock,
• vytvoření standardního tablespace
Poznámka
„Databáze sestává z jednoho nebo více tablespaces. Tablespace je logické seskupení jednoho nebo více fyzických datových souborů nebo dočasných souborů
a je primární strukturou, podle které databáze spravuje ukládání.“1 [14]:Tablespaces2
uživateli SDE,
• vytvoření SDE uživatele,
• udělení odpovídajících práv uživateli SDE3.
SQL notace těchto úkonů je ve skriptu createsdeoracle.sql uloženém v ...\ArcSDE\ora10gexe\tools\oracle\ kde jsou také komentáře k jednotlivým operacím. Zde uvedu pouze relevantní
příkazy bez komentářů, které jsem spustil v SQL Developeru
grant execute on dbms_pipe to public;
grant execute on dbms_lock to public;
connect system/arcdata
create tablespace sde_tablespace
datafile 'G:/ArcSDE_data/sde_tablespace.dbf' size 400M
extent management local uniform size 512K;
create user sde identified by arcdata
default tablespace sde_tablespace temporary tablespace temp;
grant
grant
grant
grant
grant
grant
CREATE
CREATE
CREATE
CREATE
CREATE
CREATE
SESSION to sde;
TABLE to sde;
PROCEDURE to sde;
SEQUENCE to sde;
TRIGGER to sde;
TYPE to sde;
1
„A database consists of one or more tablespaces. A tablespace is a logical grouping of one or more
physical datafiles or tempfiles, and is the primary structure by which the database manages storage.“
2
http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/storage.htm#CHDHDCHF
3
[ 1 8 ] : U s e r
p e r m i s s i o n s
f o r
g e o d a t a b a s e s
i n
[http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?topicname=user_permissions_for_geodatabases_in_oracle]
28
O r a c l e
Nastavení ArcSDE úložiště
grant
grant
grant
grant
grant
grant
grant
grant
CREATE LIBRARY to sde;
CREATE PUBLIC SYNONYM to sde;
CREATE OPERATOR to sde;
CREATE INDEXTYPE to sde;
DROP PUBLIC SYNONYM to sde;
UNLIMITED TABLESPACE to sde;
CREATE ANY VIEW to sde;
SELECT ANY TABLE to sde;
Pro vykonání tohoto skriptu je třeba být přihlášen jako uživatel SYS v roli SYSDBA4. Skript proběhne
úspěšně pouze tehdy neexistuje-li již uživatel či tablespace tohoto jména.
Ve skriptu si vytváříme vlastní tablespace s názvem sde_tablespace. V manuálu k Oracle Express Edition
stojí poznámka:
„V Oracle Database XE můžete dodatečně vytvářet trvalé tablespaces, ačkoliv to obyčejně není třeba.“5 To
znamená, že tato verze databáze Oracle počítá víceméně pouze s využitím tablespace USERS pro potřeby uživatelů. Z toho je vidět, že zvolená kombinace verzí ArcSDE a Oracle database není zcela optimální. Naštěstí je však
umožněno si vlastní tablespace vytvářet (nebo naopak je také pak rušit) příkazem CREATE TABLESPACE6.
3.2.2. Nastavení ArcSDE úložiště
Nastavení úložiště je klíčovým bodem celé postinstalace. Úložiště obsahuje všechna ArcSDE metadata pro administrování ArcSDE. V tomto kroku jsou vytvořeny všechny systémové a geodatabázové tabulky. V průběhu jsou
načteny parametrické soubory dbtune.sde, dbinit.sde a giomgr.defs7 jejichž změnou lze ovlivnit použité
tablespace pro ukládání jednotlivých komponent geodatabáze, použité datové typy a mnoho dalších parametrů
(viz [17]:The dbtune file and the DBTUNE table8 nebo [17]:The giomgr.defs file and the SERVER_CONFIG
system table9). V mém případě jsem pouze poněkud upravil soubor dbtune.sde tak, že jsem výslovně specifikoval
všechny tablespaces do vytvořeného sde_tablespace10. Tento krok zřejmě při inicializaci uživatele SDE nebyl
nutný, nicméně pro názornost a spojitost při definování uživatelských geodatabází jsem tak učinil.
Vlastní inicializace se pak provede příkazem v příkazové řádce:
C:\>sdesetup -o install -d Oracle10G -i 5151:sde -u sde -p arcdata
ESRI ArcSDE Server Setup Utility Thu Oct 02 19:03:23 2008
---------------------------------------------------------------Install or update ArcSDE schema objects: Are you sure? (Y/N): Y
Creating ArcSde schema.....
Successfully created ArcSde schema.
Installing locators.....
Successfully installed locators.
4
Připojení jsem uložil v SQL Developeru na serveru pod názvem OracleXE_sys.
„You can create additional permanent tablespaces in Oracle Database XE, although typically there is no need to do so.“
[[14]:Tablespaces [http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/storage.htm#CHDHDCHF]]
6
[12]:CREATE TABLESPACE [http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/storage.htm#CHDHDCHF]
7
nachází se v adresáři ...\ArcSDE\ora10gexe\etc\
8
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=The_dbtune_file_and_the_DBTUNE_table
9
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?topicname=the_giomgr.defs_file_and_the_server_config_system_table
10
Viz soubor dbtune_sde.sde ve zmiňovaném adresáři na serveru. Pozor - před inicializací je třeba přejmenovat soubor na dbtune.sde!
5
29
Nastavení ArcSDE úložiště
Creating geodatabase schema.....
Successfully created GDB schema.
Successfully installed ArcSde.
Refer SDEHOME\etc\sde_setup.log for more details.
//v pripade pridani parametru 'l', neni treba provadet nasledujici krok autorizace
C:\>sdesetup -o install -d Oracle10G -i 5151:sde -u sde -p arcdata -l C:/keycodes.ecp
Po proběhnutí se lze přesvědčit připojením do databáze jako uživatel SDE (např. v SQL Developeru), že výrazně narostl využitý prostor v tablespace sde_tablespace. Také je možné vidět, že uživatel vlastní mnoho nových
tabulek (předtím neměl žádné).
3.2.2.1. Otázka volby použitých datových typů pro geometrii
Při nastavování parametrů úložiště bylo zmíněno, že změnou souboru dbtune.sde by také bylo možné ovlivnit
datové typy pro ukládání geometrie (a také rastrů). Já jsem při instalaci použil datový Long Raw (což je ArcSDE
Compressed Binary formát) neboť jsem předpokládal, že nebudou nutná žádná dodatečná nastavení11. Zřejmě to
není výhodný formát co se jeho otevřenosti týče. Co do výkonu nemohu nic říct, neboť zatím nemám žádné zkušenosti. Něco však může napovídat to, že ve verzi ArcSDE 9.3 již není tento formát defaultní volbou pro Oracle,
ale je jí typ ST_GEOMETRY (viz níže tabulky 3.2 – „Datové typy pro ukládání geometrie pro ArcSDE 9.2“ a
3.3 – „Datové typy pro ukládání geometrie pro ArcSDE 9.3“). V tomto kroku však nastává okamžik, kdy by došlo
k jeho volbě a proto se zde pozastavím.
Pokud bychom použili pro post-instalační nastavení GUI, tak je to krok nazvaný ArcSDE configuration files
continued (viz obrázek 3.1 – „Specifikace použitého dbtune.sde při inicializaci“), při kterém lze specifikovat použitý datový typ. Je však třeba věnovat zvýšenou pozornost při jejich volbě, neboť použité názvy nejsou příliš
intuitivní.
Obrázek 3.1. Specifikace použitého dbtune.sde při inicializaci
11
Jedná se totiž o nativní formát ESRI.
30
Nastavení ArcSDE úložiště
Následující tabulka (3.2 – „Datové typy pro ukládání geometrie pro ArcSDE 9.2“) podává přehled datových
typů podporovaných DBMS Oracle v ArcSDE 9.2. Ve sloupcích Feature Geometry Storage a Column type jsem
zvýraznil odpovídající názvy z instalačního okna na předchozím obrázku.
Tabulka 3.2. Datové typy pro ukládání geometrie pro ArcSDE 9.2a
DBMS Feature Geometry Storage
Oracle
Column type
Notes
ST_GEOMETRY
•Utilizes extended spatial type for managing vector data
•Based on the ISO SQL MM specification for spatial; built in concert
with ESRIb
Oracle Spatial – Geometry
Type
SDO_GEOMETRY
•Oracle Spatial and Oracle Locator users can optionally use the
SDO_Geometry column type. You can make this decision on a table
by table basis, so you can choose the best option for each individual
dataset.
ArcSDE Compressed Binary
Long Raw
Spatial Type
•Provides high performance, scalability, and reliability
•Default for ArcSDE for Oracle
Well-Known Binary
(OGCWKB)
BLOB
•OGC simple features type
•Can only be used with 2-dimensional geometry
LOB
BLOB
•Can be deployed to use Oracle Replication Services
a
(zdroj
[17]:An
overview
of
feature
geometry
and
raster
data
storage
[http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=An_overview_of_feature_geometry_and_raster_data_storage])
b
ST_GEOMETRY implements the OGC and ISO SQL Multimedia Specification for Spatial. The OGC reference is OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 2: SQL option. The ISO reference is ISO/IEC 13249-3 SQL
multimedia and application packages - Part 3: Spatial.)
Nyní je tedy zřejmé o jaké formáty se jedná. Zajímavé informace lze nalézt při pohledu na odpovídající
stránku helpu pro ArcSDE 9.3. V tabulce jsem je zvýraznil tučně.
Tabulka 3.3. Datové typy pro ukládání geometrie pro ArcSDE 9.3a
DBMS Feature Geometry Storage
Oracle
Spatial Type
Column type
ST_GEOMETRY
Notes
•Utilizes the ArcSDE extended spatial type for managing vector
data,
•Supports the ISO and OGC SQL API for spatial,
•Based on the ISO SQL MM specification for spatial,
•Included with ArcSDE technology for Oracle,
•Support added beginning at ArcGIS 9.2 and beyond,
•Beginning with ArcGIS 9.3, the default feature storage type
for Oracle was changed from Long Raw to ST_Geometry.
Oracle Spatial – Geometry
Type
SDO_GEOMETRY
•Oracle Spatial and Oracle Locator users can optionally use the
SDO_Geometry column type. You can make this decision on a table
by table basis, so you can choose the best option for each individual
dataset.
ArcSDE Compressed Binary
Long Raw
•Provides high performance, scalability, and reliability
•Prior to ArcGIS 9.3, Long Raw was the default for ArcSDE
for Oracle. Beginning with ArcGIS 9.3, the default feature storage type for Oracle was changed from Long Raw to ST_Geometry.
Well-Known Binary
(OGCWKB)
BLOB
•OGC simple features type
•Can only be used with 2-dimensional geometry
LOB
BLOB
•Can be deployed to use Oracle Replication Services
31
Autorizace ArcSDE
DBMS Feature Geometry Storage
PostgreSQL ArcSDE
support
for PostgreSQL
was added at release 9.3
ArcSDE Spatial Type
PostGIS EWKB and
EWKT was added at release 9.3
SQL Ser- ArcSDE Compressed Binaver
ry
Well-known Binary
(OGCWKB)
Column type
Notes
ST_Geometry
•Utilizes the ArcSDE extended spatial type for managing vector
data,
•Supports the ISO and OGC SQL API for spatial,
•Based on the ISO SQL MM specification for spatial; built by
ESRI
•Included with ArcSDE technology for PostgreSQL.
Geometry
•PostGIS provides an open source spatial data type that supports
the same ISO and OGC standards as ArcSDE's ST_Geometry.
Image
•The SQL Server binary type fully manages complex binary streams
required for complex line and polygon features found in typical and
advanced GIS applications,
•Compressed binary is the default geometry storage for ArcSDE
for SQL Server.
Image
•OGC simple features type,
•Can only be used with 2-dimensional geometry.
Microsoft SQL Server geometry type
Geometry
•Stores data that uses projected spatial reference systems to
define spatial data.
Microsoft SQL Server geography type
Geography
•Stores geodetic spatial data.
a
(zdroj
[18]:An
overview
of
feature
geometry
and
raster
data
storage
[http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=An_overview_of_feature_geometry_and_raster_data_storage])
Z tabulky pro verzi 9.3 lze vyčíst několik velkých a potěšujících změn:
• standardní formát pro uložení geometrie v DBMS Oracle se změnil z Long Raw (tj. ArcSDE Compressed Binary)
na ST_Geometry, který je založen na standardech12,
• přidána podpora DBMS PostgreSQL jak již bylo zmíněno v závěru kapitoly 3 – „Instalace a konfigurace ArcSDE
pro Oracle 10g“. V tabulce jsou vidět datové typy, které jsou podporovány,
• DBMS SQL Server v nedávno uvolněné verzi 2008 přidal podporu prostorových dat přidáním dvou nových
datových typů Geometry a Geography. ArcSDE 9.3 je již také podporuje13.
3.2.3. Autorizace ArcSDE
Ruční provedení autorizace lze provést dvěma způsoby:
1. V rámci inicializace (instalace) provedené v předchozím kroku.
2. Příkazem sdesetup -o update_key.
Já jsem použil druhý způsob:
C:\>sdesetup -o update_key -d ORACLE10G -l C:/keycodes.ecp -u sde -p arcdata
ESRI ArcSDE Server Setup Utility Thu Oct 02 20:03:56 2008
---------------------------------------------------------------Successfully updated authorization key.
12
Tento formát by byl zajímavým tipem, který by stál za prozkoumání: [18]:The ST_Geometry storage type
[http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=The_ST_Geometry_storage_type].
13
Je dost možné, že tyto nové typy budou mít některé "dětské" nemoci. Nicméně po vychytání much tak SQL Server zase o něco více bude
šlapat na paty Oracle. Když se vezme v úvahu hojná spolupráce ESRI s Microsoftem, tak by toto řešení mohlo mít brzo nemalý okruh uživatelů.
32
Vytvoření ArcSDE služby
Soubor s autorizačními údaji jsem pořizovat nemusel, neboť již byl pořízen v minulosti a je uložen na serveru
v umístění: C:\Program Files\ESRI\License\sysgen\keycodes.ecp. Pouze pro účel této operace jsem jej
zkopíroval do umístění které je v příkazu, neboť při uvedení plné cesty vadila mezera v názvu Program files.
3.2.4. Vytvoření ArcSDE služby
Tento krok vytvoří službu ArcSDE. Je k tomu třeba znát:
• jméno služby - uživatel si zvolí své vlastní (zvolil jsem sde_oraclexe) nebo nechá standardní esri_sde,
• heslo uživatele SDE (viz kapitola 3.2.1 – „Nastavení prostředí SDE uživatele“),
• ORACLE_SID (Service Name Identifier) - jedná se o unikátní jméno instance Oracle. V případě Oracle Express
Edition je tato hodnota zvolena standardně XE.
Pro ruční provedení tohoto kroku se použije příkaz sdeservice.
C:\>sdeservice -o create -d Oracle,XE -i sde_oraclexe
Please enter SDE DBA password:
Copying contents of C:\Program Files\ArcGIS\ArcSDE\ora10gexe\etc\dbinit.sde to
:\Program Files\ArcGIS\ArcSDE\ora10gexe\etc\dbinit.sde.backup.
Successfully created and registered sde_oraclexe service
Příkaz zároveň provedl i registraci služby v systémovém registru, o čemž se můžeme přesvědčit nahlédnutím
do HKEY_LOCAL_MACHINE/SOFTWARE/ESRI/ArcInfo/ArcSDE/ArcSDE for Oracle/<zvolené_jméno_služby> např. v nástroji regedit (Start/Spustit .. regedit).
Ještě je však třeba provést dvě dodatečné operace:
„Ve všech ukázkách musíte ručně zeditovat %windir%\system32\drivers\etc\services and %SDEHOME%\etc\services.sde přidáním jména služby a čísla portu.“14[16]
Je třeba ručně přidat záznamy do dvou souborů15:
• souboru služeb services, který se nachází v adresáři C:\WINDOWS\system32\drivers\etc\16
• souboru služeb services.sde, který se nachází v adresáři C:\Program Files\ArcGIS\ArcSDE\ora10gexe\etc\16.
Do obou těchto souborů je třeba přidat následující záznam:
<jmeno_sluzby>
takže:
sde_oraclexe
<cislo_portu>/tcp
5151/tcp
#ArcSDE for Oracle
#ArcSDE for Oracle
Posledním krokem je samotné spuštění služby. Podrobně viz kapitolu 3.4.1 – „Spuštění služby ArcSDE“.
14
„In all create examples, you must manually edit %windir%\system32\drivers\etc\services and %SDEHOME%\etc\services.sde to
add the service name and port number.“
15
Při využití post-instalačního GUI jsou tyto záznamy přidány automaticky. Post-instalační menu je možné spustit z menu start ArcSDE a
nechat proběhnout pouze tento čtvrtý krok - Create ArcSDE Service.
16
Windows XP Pro.
33
Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE
3.3. Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE17
Od verze ArcGIS 9.2 podporuje Oracle vytvoření více geodatabází v rámci jednoho DBMS (viz obrázek 3.2 –
„Více geodatabází v jednom DBMS Oracle“). Tato možnost mi přišla užitečná, neboť umožní logicky rozdělit
data do různých geodatabází dle požadavků uživatele. Tyto geodatabáze jsou vytvořeny ve schematu uživatele a
běží paralelně s jedinou master SDE geodatabází, která je uložena v SDE schematu.
Obrázek 3.2. Více geodatabází v jednom DBMS Oracle
(zdroj [17]:Using multiple geodatabases within a DBMS20)
Geodatabáze v SDE schematu je vždy primární a obsahuje tabulku SDE.INSTANCES, kde jsou záznamy
všech paralelních databází (viz obrázek 3.3 – „Ukázka tabulky INSTANCES“). Uživatelské SDE geodatabáze už
tuto tabulku neobsahují (v našem případě geodatabáze KAR). Také obsahuje subtypy a funkce datového typu
ST_Geometry19.
Obrázek 3.3. Ukázka tabulky INSTANCES
1 7
[ 1 7 ] : U s i n g
m u l t i p l e
g e o d a t a b a s e s
w i t h i n
a
D B M S
[http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Using_multiple_geodatabases_within_a_DBMS]
20
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Using_multiple_geodatabases_within_a_DBMS
19
Není mi jasné, zda to tedy znamená, že uživatelské databáze nemohou tento typ používat - že by ho mohla používat pouze SDE databáze.
Ověřovat to však nebudu.
34
Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze)
Důvody pro více geodatabází:
• menší pracovní skupiny v organizaci mohou mít oddělené geodatabáze (například vývoj x výroba x výuka
...),
• možnost lepšího nastavení geodatabází pro daný účel,
• lepší ochrana citlivých dat.
Pravidla pro více geodatabází:
• jeden uživatel může vlastnit pouze jednu geodatabázi,
• dataset se může vyskytovat pouze v jedné geodatabázi (nelze mít stejný dataset ve dvou různých geodatabázích),
• geodatabázi vlastní uživatel který ji vytvořil - je její ArcSDE administrátor.
3.3.1. Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze)
Vytvoření uživatelské geodatabáze je zčásti totožné post-instalačnímu nastavení (viz kapitola 3.2 – „Post-instalační
nastavení“), neboli vytvoření SDE geodatabáze20. V podstatě jde o obdobu prvních dvou kroků post-instalace:
vytvoření prostředí uživatele a nastavení úložiště.
3.3.1.1. Vytvoření prostředí uživatele
V tomto kroku provedu:
• Vytvoření uživatelských tablespaces; uživatelská geodatabáze totiž mohou být buď všechna v jednom
tablespace, ale také mohou využívat různé tablespace pro různá data. Co se do kterého pak bude ukládat určíme
v parametrickém souboru dbtune.sde při nastavení úložiště. Já jsem se rozhodl rozdělit vektorová a rastrová
data do dvou různých datasetů kar_vector_data a kar_raster_data. Diskuzi o zvolených velikostech definovaných tablespace viz kapitolu 2.2 – „Zhodnocení, navržená řešení“.
• Vytvoření uživatele který bude vlastníkem a administrátorem uživatelské geodatabáze (je obdobou SDE uživatele v SDE master geodatabázi). Uživatele jsem nazval KAR opět s heslem arcdata.
• Udělení odpovídajících práv uživateli, který (jak bylo zmíněno v úvodu) potřebuje při inicializaci stejná práva
jako SDE uživatel 3.
Pouze poněkud upravím skript createsdeoracle.sql použitý při post-instalaci SQL:
connect system/arcdata
create tablespace kar_vector_data
datafile 'G:/ArcSDE_data/kar_vector_data.dbf' size 2000M
extent management local uniform size 512K;
create tablespace kar_raster_data
datafile 'G:/ArcSDE_data/kar_raster_data.dbf' size 1600M
extent management local uniform size 512K;
create user kar identified by arcdata
default tablespace kar_vector_data temporary tablespace temp;
grant CREATE SESSION to kar;
20
Také proto jsem post-instalační procedury vykonával ručně. Post instalační GUI je totiž nastaveno pouze na vytvoření SDE uživatele/geodatabáze. Takto nyní mohu snadněji vysvětlit vytvoření uživatelského schematu/geodatabáze.
35
Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze)
grant
grant
grant
grant
grant
grant
grant
grant
grant
grant
grant
grant
grant
CREATE TABLE to kar;
CREATE PROCEDURE to kar;
CREATE SEQUENCE to kar;
CREATE TRIGGER to kar;
CREATE TYPE to kar;
CREATE LIBRARY to kar;
CREATE PUBLIC SYNONYM to kar;
CREATE OPERATOR to kar;
CREATE INDEXTYPE to kar;
DROP PUBLIC SYNONYM to kar;
UNLIMITED TABLESPACE to kar;
CREATE ANY VIEW to kar;
SELECT ANY TABLE to kar;
Pro vykonání tohoto skriptu je třeba být přihlášen jako uživatel SYS v roli SYSDBA.
3.3.1.2. Nastavení úložiště
Tento krok opět vytvoří všechny systémové tabulky a tabulky geodatabáze.
V [17]:Using multiple geodatabases within a DBMS23 stojí: „Je doporučeno uložit systémové tabulky, které
vytvoří příkaz sdesetup –o install do jiného tablespace než do toho, který je použit pro SDE geodatabázi. To pomůže vyhonut se I/O kolizím a umožní v případě potřeby tento tablespace odděleně zálohovat.“22 Abych vyhověl
tomuto doporučení, tak již v předchozím kroku jsem si definoval dva nové tablespaces. Data rozdělím na vektorová
(kar_vector_data) a rastrová (kar_raster_data). Nyní je třeba zeditovat parametrický soubor, kde specifikuji
v parametrech TABLESPACE, kam se mají příslušná data ukládat (viz následující ukázka souboru dbtune_kar.sde)23:
##DEFAULTS
GEOMETRY_STORAGE
ATTRIBUTE_BINARY
RASTER_STORAGE
B_STORAGE
B_INDEX_ROWID
B_INDEX_SHAPE
"SDEBINARY"
"BLOB"
"BLOB"
"PCTFREE 0 INITRANS 4
TABLESPACE kar_vector_data"
"PCTFREE 0 INITRANS 4
TABLESPACE kar_vector_data
NOLOGGING"
"PCTFREE 0 INITRANS 4
TABLESPACE kar_vector_data
NOLOGGING"
23
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Using_multiple_geodatabases_within_a_DBMS
„It is recommended you store the system tables that get created with the sdesetup –o install command in a different tablespace than the one
used for your SDE geodatabase. This will help avoid I/O contention and will allow you to backup the tablespace seperately if needed.“
22
23
Varování
Soubor jsem pojmenoval dbtune_kar.sde pouze pro účely jeho zálohování.
Při průběhu inicializace je třeba jej přejmenovat na dbtune.sde - opět viz adresář
...\ArcSDE\ora10gexe\etc\.
36
Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze)
B_INDEX_USER
"PCTFREE 0 INITRANS 4
TABLESPACE kar_vector_data
NOLOGGING"
. . .
RAS_STORAGE
RAS_INDEX_ID
BND_STORAGE
"PCTFREE 0 INITRANS 4
TABLESPACE kar_raster_data"
"PCTFREE 0 INITRANS 4
TABLESPACE kar_raster_data
NOLOGGING"
"PCTFREE 0 INITRANS 4
TABLESPACE kar_raster_data"
V průběhu jsou dále opět načteny také parametrické soubory dbinit.sde a giomgr.defs, v nichž jsem žádné
uživatelské změny neprováděl.
Vlastní inicializace se pak provede příkazem v příkazové řádce:
C:\>sdesetup -o install -d ORACLE10G -i 5151:kar -u kar -p arcdata -l C:/keycodes.ecp
ESRI ArcSDE Server Setup Utility Sat Oct 04 15:50:20 2008
---------------------------------------------------------------Install or update ArcSDE schema objects: Are you sure? (Y/N): Y
Creating ArcSde schema.....
WARNING: Parameter "TEMP" not found in defaults file!
WARNING: Setting TEMP to "C"
Successfully created ArcSde schema.
Installing locators.....
Successfully installed locators.
Creating geodatabase schema.....
Successfully created GDB schema.
Registering authorization key.....
Successfully registered authorization key.
Successfully installed ArcSde.
Refer SDEHOME\etc\sde_setup.log for more details.
Po proběhnutí se lze přesvědčit připojením do databáze jako uživatel kar (např. v SQL Developeru), že výrazně
narostl využitý prostor v tablespaces kar_vector_data a kar_raster_data. Také je možné vidět, že uživatel
vlastní mnoho nových tabulek (předtím neměl žádné).
37
Vytvoření uživatelů uživatelské SDE geodatabáze
3.3.2. Vytvoření uživatelů uživatelské SDE geodatabáze
V kapitole 2.1.2.3 – „Vytvoření uživatele“ jsem zmínil, že uživatele vytvořím pomocí SQL příkazu. Je to z toho
důvodu, že Application Express neumožňuje změnu uživatelského tablespace24. Samozřejmě je možné využít
služeb jiného klienta - například aplikace SQL Developer, která nabízí mnohem komfortnější uživatelské (administrátorské) prostředí.
Stejně jako při vytváření uživatelů SDE a KAR se využije příkaz CREATE USER, kde je specifikováno heslo
uživatele a standardní a dočasný tablespace. Jako standardní tablespace jsem použil kar_vector_data:
create user data_creator identified by data_creator
default tablespace kar_vector_data temporary tablespace temp;
3.3.3. Přidělení práv uživatelům
Práva která je třeba uživatelům přidělit závisí na typu uživatele (viz [17]:User permissions27 ). Lze rozlišit dvě
skupiny těchto práv: databázová práva a práva přidělená vlastníkem dat:
Databázová práva
Například pro vytváření a editaci dat jsou potřeba tato oprávnění:
grant
grant
grant
grant
grant
CREATE
CREATE
CREATE
CREATE
CREATE
SEQUENCE to data_creator;
SESSION to data_creator;
TRIGGER to data_creator;
TABLE to data_creator;
VIEW to data_creator;
Po připojení uživatele s výše zmíněnými právy jsem se pokusil importovat nějaká data. Došlo však k
chybě - viz obrázek 3.4 – „Chybové hlášení o překročené velikosti tablespace“.
Obrázek 3.4. Chybové hlášení o překročené velikosti tablespace
Problém vyřešilo přidělení ještě jednoho práva:
grant UNLIMITED TABLESPACE to data_creator;
24
a automaticky uživatelská data ukládá do standardního uživatelského tablespace USERS.
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=User_permissions
27
38
Připojení do uživatelské geodatabáze
Uživateli, který má právo pouze data prohlížet (viz vytvořený uživatel data_viewer), stačí přidělit
oprávnění CREATE SESSION.
Práva přidělená vlastníkem dat
Například aby uživatel s právem prohlížení viděl data, je ještě nutné, aby mu vlastník dat (ten kdo je vytvořil,
naimportoval atp.) přidělil právo SELECT. To lze provést v ArcCatalogu při kliknutí pravým tlačítkem myši
na dataset/Privileges... (viz obrázek 3.5 – „Přidělení práva prohlížení dat uživateli data_viewer“):
Obrázek 3.5. Přidělení práva prohlížení dat uživateli data_viewer
Obdobně je třeba postupovat, abychom z uživatele s databázovým právem CREATE SESSION vytvořili
editora dat.
3.3.4. Připojení do uživatelské geodatabáze
(Vzdálené) připojení do uživatelské geodatabáze v ArcCatalogu se vytvoří v položce Database Connections /
Add Spatial Database Connection tak, že v poli Server zadáme IP adresu serveru a v poli Service uvedeme
číslo portu a název schematu uživatelské geodatabáze, do které se chceme připojit (viz obrázek 3.6 – „Připojení
do uživatelské SDE geodatabáze“):
39
Tabulky a pohledy FLOWS_020100 a FLOWS_FILES
Obrázek 3.6. Připojení do uživatelské SDE geodatabáze
Na předchozím obrázku je zobrazeno nastavení pro přihlášení uživatele data_creator do KAR schematu (neboli uživatelské geodatabáze).
3.3.5. Tabulky a pohledy FLOWS_020100 a FLOWS_FILES
Po připojení do geodatabáze KAR jako uživatel data_viewer z ArcCatalogu bylo vidět mnoho tabulek uživatele
FLOWS_020100 (viz obrázek 3.7 – „Objekty "Flows" které byly vidět v ArcCatalogu“).
Obrázek 3.7. Objekty "Flows" které byly vidět v ArcCatalogu
Počet těchto objektů26 se liší podle práv, která jsou uživateli přidělena. Uživatel s právem prohlížet data vidí
pouze těchto 22 objektů. Avšak sám SDE administrátor již vidí cca 180 objektů, přičemž přibyly objekty uživatele
FLOWS_FILES. Přitom při přihlášení například v SQL Developeru není vidět žádné tabulky ani pohledy. Položil
jsem proto dotaz na podporu:
„..Po vytvoření vlastního uživatele včetně jeho vlastního tablespace a připojení se přes ArcCatalog
však vidím i mnoho tabulek zmiňovaných interních uživatelů, což nechci .. Jejich množství závisí
na právech přidělených danému uživateli (čím více má uživatel práv, tím více flows tabulek vidím).
Prosím o radu či odkaz do nějakého helpu (ESRI, Oracle..) ohledně této záležitosti.“
26
jak se později ukáže jde o tabulky a pohledy
40
Tabulky a pohledy FLOWS_020100 a FLOWS_FILES
„..obecně se v databázích jde cestou minimálních práv. Uživatelé pak vidí pouze to, co vytvořili. Pokud, naopak, někomu grantujete silná práva - např. SELECT ANY TABLE, nebo práva číst
tabulky dáváte roli PUBLIC - uvidí všechna, resp. takto nagrantovaná, data..“ [Marek Ošlejšek,
ARCDATA PRAHA]
Zkontroloval jsem tedy práva přidělená uživateli data_viewer, která však byla v pořádku přesně dle nápovědy
odkazované v úvodu kapitoly 3.3.3 – „Přidělení práv uživatelům“. Zajímal jsem se tedy, co je to za uživatele
FLOWS_020100 a FLOWS_FILES. V [14]:Managing Users and Security29 stojí: „Tabulka ... uvádí předdefinované
uživatelské účty Oracle Database XE. Mnoho z nich jsou interní účty. Interní účty nesmíte mazat a s výjimkou
účtů SYS a SYSTEM se do nich nesmíte ani pokoušet přihlašovat.“28
Jedná se tedy o interní účty které není možné mazat, a údajně se do nich ani přihlašovat. To jsem však udělal
(po té co jsem tyto účty nastavil jako aktivní a přidělil jim hesla stejná jako jejich jména29). Zjistil jsem, že tabulky
a pohledy které v ArcCatalogu vidím jsou ty, které mají v těchto účtech přidělena některá práva (nejčastěji SELECT)
roli PUBLIC. Tato práva jsem v těchto účtech odejmul z role PUBLIC:
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
SELECT ON WWV_FLOW_CLICKTHRU_LOG FROM PUBLIC;
SELECT ON WWV_FLOW_COLLECTIONS FROM PUBLIC;
DELETE ON WWV_FLOW_FILES FROM PUBLIC;
INSERT ON WWV_FLOW_FILES FROM PUBLIC;
SELECT ON WWV_FLOW_FILES FROM PUBLIC;
UPDATE ON WWV_FLOW_FILES FROM PUBLIC;
REFERENCES ON WWV_FLOW_FILES FROM PUBLIC;
ON COMMIT REFRESH ON WWV_FLOW_FILES FROM PUBLIC;
QUERY REWRITE ON WWV_FLOW_FILES FROM PUBLIC;
DEBUG ON WWV_FLOW_FILES FROM PUBLIC;
FLASHBACK ON WWV_FLOW_FILES FROM PUBLIC;
MERGE VIEW ON WWV_FLOW_FILES FROM PUBLIC;
SELECT ON WWV_FLOW_GROUP_USERS FROM PUBLIC;
SELECT ON WWV_FLOW_HOURS_12 FROM PUBLIC;
SELECT ON WWV_FLOW_HOURS_24 FROM PUBLIC;
SELECT ON WWV_FLOW_MINUTES FROM PUBLIC;
SELECT ON WWV_FLOW_MINUTES_5 FROM PUBLIC;
SELECT ON WWV_FLOW_MONTHS_MON FROM PUBLIC;
SELECT ON WWV_FLOW_MONTHS_MONTH FROM PUBLIC;
SELECT ON WWV_FLOW_PLSQL_JOBS FROM PUBLIC;
SELECT ON WWV_FLOW_USER_ACTIVITY_LOG FROM PUBLIC;
SELECT ON WWV_FLOW_USER_MAIL_LOG FROM PUBLIC;
SELECT ON WWV_FLOW_USER_MAIL_QUEUE FROM PUBLIC;
SELECT ON WWV_FLOW_USERS FROM PUBLIC;
SELECT ON WWV_FLOW_YEARS FROM PUBLIC;
SELECT ON WWV_FLOW_COMPANIES FROM flows_files;
REFERENCES ON WWV_FLOW_COMPANIES FROM flows_files CASCADE CONSTRAINTS;
SELECT ON WWV_FLOW_DUAL100 FROM PUBLIC;
SELECT ON WWV_FLOW_FIELD_TEMPLATES FROM PUBLIC;
29
http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/users_secure.htm#sthref342
„Table ... lists the Oracle Database XE predefined user accounts. Many of these accounts are internal accounts. You must not drop internal
accounts, and with the exception of the accounts SYS and SYSTEM, you must not attempt to log in with an internal account.“
29
Viz uložené připojení flows_020100 v programu SQL Developer na straně serveru.
28
41
Užitečné příkazy pro administraci ArcSDE nad Oracle 10g EE
REVOKE
REVOKE
REVOKE
REVOKE
REVOKE
SELECT
SELECT
SELECT
SELECT
SELECT
ON
ON
ON
ON
ON
WWV_FLOW_LIST_OF_VALUES_DATA FROM PUBLIC;
wwv_flow_lists_of_values$ FROM PUBLIC;
wwv_flow_lov_temp FROM PUBLIC;
wwv_flow_patches FROM PUBLIC;
wwv_flow_temp_table FROM PUBLIC;
Po té, co jsem všem těmto tabulkám a pohledům tyto role odejmul, tak v ArcCatalogu již vidět nejsou. Je však
otázka, zda to negativně neovlivní běh DBMS. Zkoušel jsem však provádět některé základní operace (import
vektoru a rastru, editace, mazání, buffer, verzování) a databáze fungovala bez zjevných chyb.
Důležité
V případě, že by následně docházelo při běhu DBMS při práci s SDE k nějakým
problémům, tak je možné, že odejmutí zmiňovaných práv není možné. Potom
by bylo třeba tato práva opět přidělit:
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
GRANT
SELECT ON WWV_FLOW_CLICKTHRU_LOG TO PUBLIC;
SELECT ON WWV_FLOW_COLLECTIONS TO PUBLIC;
DELETE ON WWV_FLOW_FILES TO PUBLIC;
INSERT ON WWV_FLOW_FILES TO PUBLIC;
SELECT ON WWV_FLOW_FILES TO PUBLIC;
UPDATE ON WWV_FLOW_FILES TO PUBLIC;
REFERENCES ON WWV_FLOW_FILES TO PUBLIC;
ON COMMIT REFRESH ON WWV_FLOW_FILES TO PUBLIC;
QUERY REWRITE ON WWV_FLOW_FILES TO PUBLIC;
DEBUG ON WWV_FLOW_FILES TO PUBLIC;
FLASHBACK ON WWV_FLOW_FILES TO PUBLIC;
MERGE VIEW ON WWV_FLOW_FILES TO PUBLIC;
SELECT ON WWV_FLOW_GROUP_USERS TO PUBLIC;
SELECT ON WWV_FLOW_HOURS_12 TO PUBLIC;
SELECT ON WWV_FLOW_HOURS_24 TO PUBLIC;
SELECT ON WWV_FLOW_MINUTES TO PUBLIC;
SELECT ON WWV_FLOW_MINUTES_5 TO PUBLIC;
SELECT ON WWV_FLOW_MONTHS_MON TO PUBLIC;
SELECT ON WWV_FLOW_MONTHS_MONTH TO PUBLIC;
SELECT ON WWV_FLOW_PLSQL_JOBS TO PUBLIC;
SELECT ON WWV_FLOW_USER_ACTIVITY_LOG TO PUBLIC;
SELECT ON WWV_FLOW_USER_MAIL_LOG TO PUBLIC;
SELECT ON WWV_FLOW_USER_MAIL_QUEUE TO PUBLIC;
SELECT ON WWV_FLOW_USERS TO PUBLIC;
SELECT ON WWV_FLOW_YEARS TO PUBLIC;
SELECT ON WWV_FLOW_COMPANIES TO flows_files;
REFERENCES ON WWV_FLOW_COMPANIES TO flows_files;
SELECT ON WWV_FLOW_DUAL100 TO PUBLIC;
SELECT ON WWV_FLOW_FIELD_TEMPLATES TO PUBLIC;
SELECT ON WWV_FLOW_LIST_OF_VALUES_DATA TO PUBLIC;
SELECT ON wwv_flow_lists_of_values$ TO PUBLIC;
SELECT ON wwv_flow_lov_temp TO PUBLIC;
SELECT ON wwv_flow_patches TO PUBLIC;
SELECT ON wwv_flow_temp_table TO PUBLIC;
3.4. Užitečné příkazy pro administraci ArcSDE nad Oracle 10g EE
V této kapitole zmíním několik užitečných příkazů pro zajišťování chodu a správy SDE služby. Protože ArcSDE
nemá žádné grafické uživatelské rozhraní, tak je tato správa zajišťována přes příkazový řádek. Tuto správu je
třeba provádět buď přímo na serveru (buď fyzicky nebo pomocí některých služeb pro vzdálený přístup30) nebo
vzdáleně taktéž z příkazové řády - k tomu jsou však nutné tyto požadavky:
30
Například služby "Vzdálená plocha Windows", nebo LogMeIn.com [www.logmein.com/].
42
Spuštění služby ArcSDE
1. Mít na vzdáleném počítači nainstalováno ArcSDE - podle verze nainstalovaného ArcSDE se liší i spektrum
příkazů, které je možné vzdáleně ovládat. Jak plyne z kapitoly 1.1.3 – „ArcSDE Geodatabase“, tak by ArcSDE
Personal mělo být dostupné již v licencích ArcEditor (pokud bylo ovšem nainstalováno). V kapitole uvádím
příkazy, jejíž funkčnost jsem odzkoušel na licenci ArcInfo systému ArcGIS 9.2. Není-li SDE nainstalováno,
skončí příkazy chybou:
<příkaz> není názvem vnitřního ani vnějšího příkazu,
spustitelného programu nebo dávkového souboru.
2. Mít na serveru v bráně firewall systému Windows (Ovládací panely / Centrum zabezpečení / Výjimky) povolený port, na kterém služba SDE běží (standardně 5151). V opačném případě skončí příkazy chybou:
CONNECT: errno = 0
Operation Failed, Unable to get instance sde_oraclexe status on 147.228.18.11
3. Mít povolený tentýž port ve firewallu případného antivirového systému.
Kompletní dokumentaci včetně syntaxe a příkladů příkazů je možné čerpat z [16].
3.4.1. Spuštění služby ArcSDE
Spuštění lze provést buď přes nástroje Windows nebo přes administrační příkaz ArcSDE:
1. Kliknutím pravým tlačítkem myši na Tento počítač / Spravovat se dostanete do okna Správa počítače. V
položce Služby a aplikace/Služby vyhledejte službu ArcSde Service, kterou je možné spustit či zastavit (viz
obrázek 3.8 – „Vlastnosti ArcSde služby“).31.
31
Totéž je samozřejmě možné provést i pomocí jiných programů. Já například s oblibou využívám jistou nadstavbu programu Total Commander.
43
Spuštění služby ArcSDE
Obrázek 3.8. Vlastnosti ArcSde služby
2. V příkazovém řádku pomocí příkazu sdemon lze služba spustit buď lokálně na serveru:
C:\>sdemon -o start
//spustí službu SDE
Please enter ArcSDE DBA password:
ArcSDE Instance sde_oraclexe started Fri Oct 03 23:26:31 2008
C:\>sdemon -o shutdown
//zastaví službu SDE
Please enter ArcSDE DBA password:
ArcSDE Instance sde_oraclexe on eugen is Shutdown!
nebo ze vzdáleného počítače32:
//vzdálený start se mi nepodařilo zprovoznit:
C:\>sdemon -o start -p arcdata -s eugen.ff.zcu.cz -i sde_oraclexe
Instance sde_oraclexe on server eugen.ff.zcu.cz not setup for remotestart.
//vzdálené zasatavení funguje:
C:\>sdemon -o shutdown -p arcdata -s eugen.ff.zcu.cz -i sde_oraclexe
32
webhelp.esri.com:
Start
a
remote
ArcSDE
service
on
[http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Starting_an_ArcSDE_service&anchor=startremotewin]
44
Windows
Status serveru a počet připojených
ArcSDE Instance sde_oraclexe on eugen.ff.zcu.cz is Shutdown!
Po spuštění služby se spustí nový proces giomgr.exe (viz například po startu správce úloh systému Windows).
Tento proces naslouchá na určeném TCP/IP portu (standardně 5151) požadavkům na připojení klientských aplikací, spouští proces gsrvr.exe, odklízí procesy odpojených uživatelů a mnoho dalších operací (viz například
[17]:Starting an ArcSDE service35).
Operace spuštění/zastavení ArcSDE služby zřejmě nebude (v daných podmínkách) příliš častá. Nicméně čas
od času, když pracuje přes ArcSDE více uživatelů se stává, že zůstanou "viset" některé gsrvr procesy. Pak je
nutné restartovat službu ArcSDE.
3.4.2. Status serveru a počet připojených
Vypíše stav služby a počet připojení.
Verze příkazu bez specifikované služby, nebo při specifikaci pouze obecně jménem služby (například -i
sde_oraclexe) vypíše připojení do master databáze (schematu SDE). V případě že chceme zjistit počet připojení
do uživatelské SDE geodatabáze, tak je třeba uvést parametr -i s číslem portu a jménem příslušného schematu
(geodatabáze).
Poznámka
V případě, že byli připojeni administrátoři dvou SDE geodatabází, tak příkaz
vypisoval nesmyslné počty připojených. Jistější je vždy specifikovat požadované
schema.
Lokálně
C:\>sdemon -o status
//je totéž co:
//C:\>sdemon -o status -i 5151
//nebo
//C:\>sdemon -o status -i 5151:sde
ArcSDE Instance sde_oraclexe Status on eugen at Tue Oct 21 17:56:14 2008
------------------------------------------------------------------------Server Connection Mode:
Accepting Connections
Active Server Processes:
1
//Pro jinou instanci (geodatabázi je třeba specifikovat příslušné sdema):
C:\>sdemon -o status -i 5151:kar
ArcSDE Instance 5151:kar Status on 147.228.18.11 at Mon Oct 27 16:52:02 2008
------------------------------------------------------------------------Server Connection Mode:
Accepting Connections
Active Server Processes:
3
35
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Starting_an_ArcSDE_service
45
Zobrazení informace o SDE službě
Vzdáleně:
C:\>sdemon -o status -s 147.228.18.1134//je totéž co:
//C:\>sdemon -o status -i 5151 -s 147.228.18.11
//nebo
//C:\>sdemon -o status -i 5151:sde -s 147.228.18.11
ArcSDE Instance sde_oraclexe Status on eugen.ff.zcu.cz at Tue Oct 21 18:00:13 2008
------------------------------------------------------------------------Server Connection Mode:
Accepting Connections
Active Server Processes:
1
//Pro jinou instanci (geodatabázi je třeba specifikovat příslušné sdema):
C:\>sdemon -o status -i 5151:kar -s 147.228.18.11
ArcSDE Instance 5151:kar Status on 147.228.18.11 at Mon Oct 27 16:52:02 2008
------------------------------------------------------------------------Server Connection Mode:
Accepting Connections
Active Server Processes:
3
3.4.3. Zobrazení informace o SDE službě
Zobrazí informace o všech (specifikovaných) ArcSDE službách.
Lokálně
C:\>sdeservice -o list
//nebo: sdeservice -o list -i sde_oraclexe
SDE service Information
-------------------------------------------------------------------RDBMS:
Oracle
Name:
ArcSde Service(sde_oraclexe)
SDEHOME:
C:\Program Files\ArcGIS\ArcSDE\ora10gexe
Version:
9.2.0
Status:
SERVICE_RUNNING
3.4.4. Informace z tabulky SERVER_CONFIG pro daného uživatele
Zobrazí všechny parametry obsažené v tabulce SERVER_CONFIG.
Lokálně
C:\>sdeconfig -o list -u data_viewer -p data_viewer -i sde_oraclexe
ArcSDE 9.2 for Oracle10g Build 1081 Sun Sep 17 16:01:22 2006
SDE Server Configuration Tool
Administration Utility
34
Nebo eugen.ff.zcu.cz. Podobně i ve všech následujících příkazech je možné IP adresu serveru 147.228.18.11 nahrazovat jeho jménem.
46
Informace z tabulky SERVER_CONFIG pro daného uživatele
----------------------------------------------------CONNECTIONS
48
MINBUFSIZE
16384
MAXBUFSIZE
65536
MINBUFOBJECTS
512
TEMP
C:\DOCUME~1\eckhardt\LOCALS~1\Temp
MAXBLOBSIZE
1000000
BLOBMEM
1000000
AUTOCOMMIT
1000
MAXINITIALFEATS
10000
MAXDISTINCT
512
STREAMPOOLSIZE
6
SHAPEPTSBUFSIZE
400000
ATTRBUFSIZE
50000
RASTERBUFSIZE
102400
MAXARRAYSIZE
100
MAXARRAYBYTES
550000
MAXTIMEDIFF
-1
STATEAUTOLOCKING
FALSE
LAYERAUTOLOCKING
FALSE
INT64TYPES
FALSE
TCPKEEPALIVE
FALSE
READONLY
FALSE
DEFAULTPRECISION
HIGH
TLMINTERVAL
1
MAXSTANDALONELOGS 0
ALLOWSESSIONLOGFILE FALSE
LOGFILEPOOLSIZE
0
HOLDLOGPOOLTABLES TRUE
LARGEIDBLOCK
0
SMALLIDBLOCK
16
ERRLOGMODE
TIC
PROCSTATS
-1
PRECISION10
FALSE
DETECT8XNULLSHAPE FALSE
DISABLEAUTOREG
TRUE
TRIMLOCKINGTYPE
Only during compress
MAXGRIDSPERFEAT
8000
Vzdáleně:
Z neznámých důvodů nesprávně určí verzi ArcSDE a skončí chybou.
C:\>sdeconfig -o list -i sde_oraclexe -s 147.228.18.11 -u data_viewer -p data_viewer
ArcSDE 9.1 for Oracle10g Build 1081 Sun Sep 17 16:01:22 2006
Attribute
Administration Utility
----------------------------------------------------Error Reading Release Info -1
47
Informace o konfiguraci služby ArcSDE
Error: Network I/O error (-10).
Error: Could not create a connection on server 147.228.18.11, for user ►
data_viewer.
3.4.5. Informace o konfiguraci služby ArcSDE
Vypíše konfiguraci ArcSDE služby.
Lokálně
C:\>sdemon -o info -I config
ArcSDE I/O Manager Configuration Parameters at Tue Oct 21 18:53:17 2008
------------------------------------------------------------------------ArcSDE Version
9.2
ArcSDE Server Build
for Oracle10g Build 1081 Sun Sep 17 16:01:22 2006
Underlying DBMS
Oracle
Max. Server Connections
48
Root Path
C:\Program Files\ArcGIS\ArcSDE\ora10gexe
Temp Path
C:\DOCUME~1\eckhardt\LOCALS~1\Temp
Min. Transmission Buffer Size
16384 Bytes
Max. Transmission Buffer Size
65536 Bytes
Min. Transmission Buffer Count
512 Objects
Max. Initial Features
10000 Objects
Max. stream pool size
6 streams
Max. BLOB Size
1000000 Bytes
Max. in Memory BLOB Size
1000000 Bytes
Max. Distincts
512
Autocommit Frequency
1000
Shape Point Buffer Size
400000 Bytes
Attribute Buffer Size
50000 Bytes
Max. Array Size
100
Max. Array Bytes
550000 Bytes
Max. Client/Server Time Diff.
Unlimited
State Caching
On
Stream State Autolocking
Off
Instance name
sde_oraclexe
Port Number
5151/tcp
TCP/IP Keepalive on Connections Off
Instance Type
Read/Write
Max. Raster Buffer Size
102400 Bytes
Default Layer Precision
64-bit
Time last mod(TLM) interval (sec) 1
Num. of logfiles in logfile pool 0
Max. num. of standalone logfiles 0
Allow session logfiles
Off
Hold log pool tables
On
Connection counts
0
48
Výpis SDE geodatabází na serveru
Layer Autolocking
Allow Int64 columns
Off
Off
Vzdáleně:
C:\>sdemon -o info -I config -i sde_oraclexe -s eugen.ff.zcu.cz
ArcSDE I/O Manager Configuration Parameters at Tue Oct 21 18:53:17 2008
------------------------------------------------------------------------ArcSDE Version
9.2
. . .
3.4.6. Výpis SDE geodatabází na serveru
Vypíše, které geodatabáze na serveru existují (viz kapitolu 3.3 – „Vytvoření více uživatelských SDE geodatabází
v DBMS Oracle XE“).
Lokálně
C:\>sdemon -o info -I instances
ArcSDE Instance sde_oraclexe's instances on eugen at Tue Oct 21 18:36:47 2008
------------------------------------------------------------------------Instance
Created
Id
-------------------- -------------------------------- -----------------------SDE
Sat Oct 04 15:46:55 2008
0
KAR
Sat Oct 04 15:50:32 2008
1
3.4.7. Výpis uživatelů připojených do dané instance SDE geodatabáze
Vypíše uživatele, kteří jsou připojeni do SDE geodatabáze. Standardní krátká notace příkazu sdemon -o info -I
instances však vypíše pouze uživatele připojené do schematu SDE (neboli do master geodatabáze). V případě,
že chceme zobrazit uživatele připojené do uživatelské SDE geodatabáze, tak musíme v příkazu specifikovat
schema (geodatabázi) o kterou nám jde.
Lokálně
C:\>sdemon -o info -I users
//je totéž co:
//C:\>sdemon -o info -I users -i 5151
//nebo
//C:\>sdemon -o info -I users -i 5151:sde
ArcSDE Instance sde_oraclexe Registered Server Tasks on eugen.ff.zcu.cz at Mon Oct ►
27 16:30:50 2008
------------------------------------------------------------------------S-ID User
Host:OS
Started
----- -------- -------------------------------- -----------------------146 SDE
eugen:Win32
Mon Oct 27 16:01:52 2008
49
Dosažené výsledky
//Pro jinou instanci (geodatabázi je třeba specifikovat příslušné sdema):
C:\>sdemon -o info -I users -i 5151:kar
ArcSDE Instance sde_oraclexe Registered Server Tasks on eugen.ff.zcu.cz at Mon Oct ►
27 16:35:20 2008
------------------------------------------------------------------------S-ID User
Host:OS
Started
----- -------- -------------------------------- -----------------------139 DATA_VIEWER pasik:Win32
Mon Oct 27 15:54:26 2008
147 KAR
pasik:Win32
Mon Oct 27 16:20:03 2008
148 DATA_CREATOR pasik:Win32
Mon Oct 27 16:20:10 2008
Vzdáleně
C:\>sdemon -o info -I users -s eugen.ff.zcu.cz -i sde_oraclexe
//je totéž co:
//C:\>sdemon -o info -I users -i 5151 -s eugen.ff.zcu.cz -i sde_oraclexe
//nebo
//C:\>sdemon -o info -I users -i 5151:sde -s eugen.ff.zcu.cz -i sde_oraclexe
ArcSDE Instance sde_oraclexe Registered Server Tasks on eugen.ff.zcu.cz at Mon Oct ►
27 16:30:50 2008
------------------------------------------------------------------------S-ID User
Host:OS
Started
----- -------- -------------------------------- -----------------------146 SDE
eugen:Win32
Mon Oct 27 16:01:52 2008
//Pro jinou instanci (geodatabázi je třeba specifikovat příslušné sdema):
E:\>sdemon -o info -I users -i 5151:kar -s eugen.ff.zcu.cz -i sde_oraclexe
ArcSDE Instance sde_oraclexe Registered Server Tasks on eugen.ff.zcu.cz at Mon Oct ►
27 16:37:23 2008
------------------------------------------------------------------------S-ID User
Host:OS
Started
----- -------- -------------------------------- -----------------------139 DATA_VIEWER pasik:Win32
Mon Oct 27 15:54:26 2008
147 KAR
pasik:Win32
Mon Oct 27 16:20:03 2008
148 DATA_CREATOR pasik:Win32
Mon Oct 27 16:20:10 2008
3.5. Dosažené výsledky
V této kapitole jsem popsal instalaci ArcSDE a jeho konfiguraci s DBMS Oracle.
Po vlastní instalaci ArcSDE jsem ručně provedl post-instalační nastavení v němž jsem se též zběžně zabýval
konfiguračními parametry, které je možné specifikovat souborem dbtune.sde.
Jako velmi užitečná mi přišla možnost vytvoření více uživatelských SDE geodatabází v rámci jednoho DBMS
Oracle a proto jsem popsal nutná nastavení.
50
Dosažené výsledky
Výsledkem jsou dvě vytvořené SDE geodatabáze: primární (master) SDE geodatabáze (schema SDE) a uživatelská SDE geodatabáze (schema KAR). Geodatabáze SDE je vytvořena jako nutný prostředek k vytvoření uživatelské geodatabáze KAR a není tedy zamýšlena pro ukládání geodat. To je zamýšleno do geodatabáze KAR ve
které jsem na zkoušku vytvořil dva uživatele (data_viewer a data_creator), kterým je možné nastavit různá
databázová práva a práva vzájemného sdílení dat. Jak se připojit do vytvořené SDE geodatabáze KAR z ArcCatalogu jako uživatel data_creator je stručně popsáno v kapitole 3.3.4 – „Připojení do uživatelské geodatabáze“.
Dle načrtnutého postupu je možné vytvořit další SDE geodatabáze a její uživatele, které je možné vytvořit a
spravovat i vzdáleně.
Nakonec jsou popsány některé časté příkazy pro správce SDE geodatabáze, z nichž některé je též možné provádět vzdáleně.
51
Kapitola 4
Závěr, navržená řešení
Cílem této práce bylo zprovoznit technologii ArcSDE zejména pro účely uložení dat katedry archeologie (KAR),
která jsou následně publikována technologií ArcIMS.
Zběžná analýza dat
Současná data KAR mají velikost cca 5,8 GB, avšak při jejich prozkoumání jsem zjistil, že největší prostor
zabírají rastry (rastrové datasety s vybudovanými pyramidami) v adresářích ...\kristuf\Krivoklatsko_pruzkum lesa (0,4 GB) a ...\kristuf\Pisecko (4,4 GB). Jedná se zejména o zobrazení výškových
poměrů daného území (výšková hypsometrie, stínované kopce).
Možná řešení
1. Provedlo by se nové uspořádání dat. Pro vektorová data by (v současnosti) byla kapacita 4GB dostačující
i kdyby se toto omezení velikosti představovalo součet všech tablespace v DBMS. Rastrová data by pak
bylo nutno uchovávat externě, například v rastrových datasetech ve File Geodatabase (to znamená, že by
bylo třeba upravit velikosti uživatelsky definovaných tablespace, neboť v současnosti jsou vektorová (2GB)
i rastrová (1,6GB) data ukládána v DBMS).
2. Vyšší verze DBMS Oracle jsou pro nekomerční využití volně k dispozici1. Pokud by se dali aktivity KAR
označit jako nekomerční, tak je zde řešení nainstalovat vyšší verzi tohoto DBMS. Obdobné řešení by
mohlo existovat i u ostatních podporovaných DBMS - například MS SQL Serveru.
3. Na škole je zakoupeno několik licencí Oracle 10g Enterprise Edition. Řešením by byla domluva se správcem
jednoho z těchto DBMS (jedna z nich je na CIVu, kde běží STAG) a na serveru EUGEN by běželo "pouze"
ArcSDE připojující se do této databáze. Dle předběžné ústní domluvy s pracovníkem CIVu by bylo možné
poskytnutí nějakého prostoru (předběžně padlo 40 GB) za podmínky ne příliš velkých zásahů do DBMS.
Toto řešení tak má svá úskalí:
• Při náročnějších administračních otázkách je třeba uživateli SDE přidělit poměrně vysoká práva (například
při instalaci nových databází, vytváření vlastních tablespace, upgradování stávajících SDE geodatabází)3.
• datový typ pro ukládání geometrie ST_Geometry též vyžaduje vyšší práva uživatele. Dále datové typy
SDO_Geometry (pro ukládání geometrie) a SDO_Georaster (pro ukládání rastrů) vyžadují speciální
nadstavbu (Oracle Spatial), která i kdyby byla2, tak by zřejmě bylo poměrně obtížné prosadit její instalaci (nebo konfiguraci) na DBMS, kde běží "ostrý" STAG.
• pro některé administrační otázky je třeba mít roli DBA (nebo alespoň poměrně vysoká práva); obávám
se, že toto by také mohl být problém.
4. Během práce byla vydána nová verze ArcSDE 9.33 . S překvapením jsem zjistil, že byla přidána podpora
open-source DBMS PostgreSQL!!! Vzhledem k nulovým pořizovacím nákladům tohoto DBMS, podpoře
1
neověřoval jsem to
tuším že ve verzi enterprise by měla být dostupná
3
červen 2008
2
52
prostorových dat (nadstavba PostGIS) a široké komunitě vývojářů4 lze očekávat, že by se mohlo jednat
výborné řešení. Je však otázka, jak si PostgreSQL poradí s velkými objemy dat, kterými geodata oplývají.
4
a mnoho dalších výhod open-source projektů
53
Kapitola 5
Použité programové vybavení
•
•
•
•
•
•
•
•
ArcInfo Desktop 9.2, (Build 1420 na straně serveru; Build 1500 na klientské straně),
ArcSDE Enterprise Server 9.2.0, Build 1081 (na straně serveru),
ArcSDE Personal Server 9.00.3068.00,
Oracle Database 10g Express Edition Release 10.2.0.1.0,
Oracle Application Express 2.1.0.00.39,
DbVisualizer Free 6.0.13 Build: 1314 (2008/08/19 15:13) (Java Version: 1.5.0_12),
SQL Developer (1.5.0.53 Buid MAIN 53.38 na straně serveru; 1.5.0.51 Buid MAIN 51.70),
Foxit Reader, IrfanView, XMLmind XML Editor Personal Edition 3.8.1, ...
54
Bibliografie
[1] ESRI. Understanding ArcSDE®. [s.l.] : [s.n.], c2005. 56 s..
[2] ESRI. What's New in the Geodatabase at ArcGIS 9.2 [online]. [2007] [cit. 2008-10-28]. Dostupný z WWW:
<http://training.esri.com/acb2000/showdetl.cfm?DID=6&Product_ID=864>.
[3] ARCDATA PRAHA. ArcGIS Server [online]. c2007 [cit. 2008-10-28]. Dostupný z WWW: <http://www.arcdata.cz/produkty-a-sluzby/software/esri/arcgis-servery/arcgis-server/>.
[4] ESRI. ArcSDE : Advanced Spatial Data Server [online]. [2007] [cit. 2008-10-28]. Dostupný z WWW:
<http://www.esri.com/software/arcgis/arcsde/index.html>.
[5] ESRI. Supported Databases for ArcSDE 9.2 on PC-Intel Windows XP Professional Edition [online]. [???] [cit.
2008-10-28]. Dostupný z WWW: <http://support.esri.com/index.cfm?fa=knowledgebase.systemRequirem e n t s . f o r m L i s t & P N = A r c S D E & p v N a m e = 9 . 2 & p r o ductID=19&PID=19&DN=&count=2&PVID=372&hn=PC-Intel+Windows+XP+Professional+Edition&VID=>.
[6] Wikipedia : Geodatabase [online]. 2008 , 9 July 2008 [cit. 2008-10-28]. Dostupný z WWW: <http://en.wikipedia.org/wiki/Geodatabase>.
[7] JEDLIČKA, Karel, ORÁLEK, Jakub. Prostorové rozhraní informačního systému malé obce řešené v Open
Source Software [online]. 2006 , 19 June 2007 [cit. 2009-04-28]. Dostupný z WWW: <http://geoinformatics.fsv.cvut.cz/wiki/index.php?title=Prostorov%C3%A9_rozhran%C3%AD_informa%C4%8Dn%C3%ADho_syst%C3%A9mu_mal%C3%A9_obce_%C5%99e%C5%A1en%C3%A9_v_Open_Source_Software&oldid=3141>.
[8] KRÁLOVEC, Vojtěch. Geografické databáze společnosti ESRI. [s.l.], 2008. ??? s. Západočeská univerzita v
Plzni. Vedoucí seminární práce Ing. Karel Jedlička. Dostupný z WWW: <http://www.gis.zcu.cz/index.php?page=pdb_referaty>.
[9] Oracle. Oracle® Database Express Edition Installation Guide [online]. c2005 [cit. 2008-10-28]. Dostupný z
WWW: <http://download.oracle.com/docs/cd/B25329_01/doc/install.102/b25143/toc.htm>.
[10] Oracle. Oracle SQL Developer [online]. [2008] [cit. 2008-10-28]. Dostupný z WWW:
<http://www.oracle.com/technology/products/database/sql_developer/index.html>.
[11] Oracle. Oracle Application Express [online]. [2008] [cit. 2008-10-28]. Dostupný z WWW:
<http://www.oracle.com/technology/products/database/application_express/index.html>.
[12] Oracle. Oracle® Database SQL Reference [online]. c1996-2005 [cit. 2008-10-28]. Dostupný z WWW:
<http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm>.
[13] Oracle. Managing Users and Security : The SYS and SYSTEM Users [online]. c2005 [cit. 2008-10-28]. Dostupný z WWW: <http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/users_secure.htm#sthref268>.
[14] Oracle. Oracle® Database Express Edition 2 Day DBA [online]. c2005 [cit. 2008-10-28]. Dostupný z WWW:
<http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/toc.htm>.
[15] ESRI. ArcSDE Installation Guide [online]. [2007] [cit. 2008-10-28]. Dostupný z instalačního DVD ArcSDE:
<...\Install_PersonalSQLExpress.htm>.
[16] ESRI. ArcSDE Administration Commands [online]. c2005 [cit. 2008-10-28]. Dostupný na serveru EUGEN:
<file:///C:/Program%20Files/ArcGIS/ArcSDE/Documentation/Admin_Cmd_Ref/Support_files/admincmdref92/admincmdref.htm>, nebo Start/Programy/ArcGIS/ArcSDE/Command References.
55
Literatura
[17] ESRI. ArcGIS Desktop Help 9.2 [online]. 1999-2006 , March 28, 2008 [cit. 2008-10-28]. Dostupný z WWW:
<http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=welcome>.
[18] ESRI. ArcGIS Desktop Help 9.3 [online]. 1999-2008 , March 15, 2007 [cit. 2008-10-28]. Dostupný z WWW:
<http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=welcome>.
56

Podobné dokumenty

Obsah - CPress

Obsah - CPress 26. Použití materializovaných pohledů 27. Oracle Text ve vyhledávání textu 28. Práce s externími tabulkami

Více

Stáhni v PDF

Stáhni v PDF V roce 1999 zahájila společnost Gekon na objednávku PF ČR budování grafické části informačního systému PF ČR. Výsledkem několikaleté práce byl systém DaG na platformě MicroStation, poskytující info...

Více

16. konference GIS ESRI a Leica Geosystems v ČR

16. konference GIS ESRI a Leica Geosystems v ČR Technologie ESRI tvoří dostatečně robustní systém, jenž je schopen pokrýt požadavky utilitních společností na komplexní celopodnikové řešení GIS. Geografický informační systém na bázi produktů ESRI...

Více

ArcRevue 1/2015

ArcRevue 1/2015 chat ujít. Po státní politice pro geodata a  jejich

Více

ArcGIS9 manuál

ArcGIS9 manuál ƒ ostatní pokročilejší operace Sled kapitol tohoto manuálu bude co nejvíce uzpůsoben postupu při práci s GIS. Prvním bodem při začátku práce v GIS – práci na projektu je stanovení úkolu či otázky, ...

Více

Instalační příručka na OS Windows

Instalační příručka na OS Windows Nastavení systémových proměnných prostředí .......................................................................... 20 Instalace a nastavení SW ABRA .................................................

Více