(SDE) Geodatabáze

Seminární práce z předmětu Aplikace GIS (AGI)

Jiří Pejša

Západočeská univerzita v Plzni
Fakulta aplikovaných věd
Katedra matematiky
Oddělení Geomatiky

srpen 2008

Přehled revizí
Revize 1.128. dubna 2009Pejš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 [JEDLICKA, ORALEK: IS male obce],

  • odstranění obsahů u podkapitol (u kapitol ponechány),

  • odstranění přímých citací komunikace s uživatelskou podporou firmy ARCDATA.

Revize 1.015. února 2009Pejša 
Jiří

První verze dokumentu ke zpřipomínkování.

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
1.1. Typy geodatabází
1.1.1. Personal Geodatabase
1.1.2. File Geodatabase
1.1.3. ArcSDE Geodatabase
2. Instalace Oracle Database 10g Express Edition
2.1. Instalace Oracle Database 10g Express Edition
2.1.1. Kolize na portu 8080
2.1.2. Základní administrační úkony
2.2. Zhodnocení, navržená řešení
3. Instalace a konfigurace ArcSDE pro Oracle 10g
3.1. Instalace ArcSDE
3.2. Post-instalační nastavení
3.2.1. Nastavení prostředí SDE uživatele
3.2.2. Nastavení ArcSDE úložiště
3.2.3. Autorizace ArcSDE
3.2.4. Vytvoření ArcSDE služby
3.3. Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE
3.3.1. Vytvoření geodatabáze ve schematu uživatele (uživatelské SDE geodatabáze)
3.3.2. Vytvoření uživatelů uživatelské SDE geodatabáze
3.3.3. Přidělení práv uživatelům
3.3.4. Připojení do uživatelské geodatabáze
3.3.5. Tabulky a pohledy FLOWS_020100 a FLOWS_FILES
3.4. Užitečné příkazy pro administraci ArcSDE nad Oracle 10g EE
3.4.1. Spuštění služby ArcSDE
3.4.2. Status serveru a počet připojených
3.4.3. Zobrazení informace o SDE službě
3.4.4. Informace z tabulky SERVER_CONFIG pro daného uživatele
3.4.5. Informace o konfiguraci služby ArcSDE
3.4.6. Výpis SDE geodatabází na serveru
3.4.7. Výpis uživatelů připojených do dané instance SDE geodatabáze
3.5. Dosažené výsledky
4. Závěr, navržená řešení
5. Použité programové vybavení
Bibliografie

Seznam obrázků

1.1. Typy geodatabází
1.2. Licence a verze ArcGIS Server Workgroup
1.3. Licence a verze ArcGIS Server Enterprise
1.4. Role ArcSDE v rámci třívrstvé aplikační logiky za využití ESRI produktů
2.1. Chybové hlášení při pokusu otevřít Application Express
2.2. Úvodní stránka aplikace Application Express
2.3. Vzdálené připojení do Oracle XE pomocí programu XE Client
2.4. Vzdálené připojení do Oracle XE pomocí programu SQL Developer
2.5. Spuštění DBMS Oracle Express Edition
2.6. Zastavení DBMS Oracle Express Edition
2.7. Služba ArcSDE závisí na službě OracleServiceXE.exe
3.1. Specifikace použitého dbtune.sde při inicializaci
3.2. Více geodatabází v jednom DBMS Oracle
3.3. Ukázka tabulky INSTANCES
3.4. Chybové hlášení o překročené velikosti tablespace
3.5. Přidělení práva prohlížení dat uživateli data_viewer
3.6. Připojení do uživatelské SDE geodatabáze
3.7. Objekty "Flows" které byly vidět v ArcCatalogu
3.8. Vlastnosti ArcSde služby

Seznam tabulek

1.1. Srovnání typů geodatabází
2.1. Výběr podporovaných DBMS pro ArcSDE 9.2 na PC-Intel Windows XP Professional Edition
2.2. Oracle Express versus SQL Server 2005 Express
2.3. Definované tablespaces
3.1. Vlastní instalace ArcSDE je jednoduchá záležitost
3.2. Datové typy pro ukládání geometrie pro ArcSDE 9.2
3.3. Datové typy pro ukládání geometrie pro ArcSDE 9.3

Kapitola 1. Úvod: Geodatabáze

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í:

Obrázek 1.1. Typy geodatabází


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í

CharakteristikaPersonal GeodatabaseFile GeodatabaseArcSDE Personal Geodatabase 9.2ArcSDE Workgroup Geodatabase 9.2ArcSDE Enterprise Geodatabase 9.2
Databázový systém (formát uložení)MS Access Jet Database engine (*.mdb)Binární soubory v souborovém systémuMS SQL Server 2005 Express Edition[a]MS SQL Server 2005 Express Edition
  • IBM DB2 - Enterprise Server Edition

  • IBM Informix Dynamic Server - Workgroup or Enterprise Edition

  • Oracle - Standard One, Standard or Enterprise Edition[b]

  • MS SQL Server - Workgroup, Standard or Enterprise Edition

  • [c]

Omezení velikosti2 GB, efektivně 250-500 GB1 TB / dataset (tabulku)4 GB / GDB[d]4 GB / GDB[d]Omezeno pouze použitým OS a DBMS
Podporované platformyWindowsMulti-platformní: Windows, Linux, SolarisWindowsWindowsWindows, Unix, Linux; při přímém připojení jakákoliv platforma
Počet uživatelů
  • editace: 1

  • čtení: "několik"

  • editace: 1 pro každý dataset

  • čtení: "několik"

  • editace: 1

  • čtení: 3 (resp. zbytek do 3 bez editorů)

  • editace: 10

  • čtení: 10 (resp. zbytek do 10 bez editorů)

  • připojení z webových aplikací: ∞

  • editace: ∞

  • čtení: ∞

  • připojení z webových aplikací: ∞

Podpora verzováníNe (pouze check-in/checkout replikace)Ne (pouze check-in/checkout replikace)AnoAnoAno
Podpora archivováníNeNeAnoAnoAno
Podpora replikacíNeNeAnoAnoAno
Typ připojení do databáze- - -- - -přímépřímépřímé nebo přes ArcSDE application server (ArcSDE službu)
Možnost uživatelské změny konfigurace- - -- - -NeNeAno
Typ autentifikace uživatele- - -- - -OS autentifikaceOS autentifikaceDBMS nebo OS autentifikace
Rozhraní pro správuArcCatalog, MS AccessArcCatalogArcCatalog (+ případné nástroje pro správu SQL Serveru)ArcCatalog (+ případné nástroje pro správu SQL Serveru)ArcCatalog, ArcSDE command line, klienti příslušných RDBMS
LicencováníArcView, ArcEditor, ArcInfoArcView, ArcEditor, ArcInfoArcEditor, ArcInfo (jako součást ArcGIS Desktop)ArcEditor nebo ArcInfo & ArcGIS Server 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 desktopové využitíIntranet & internetIntranet & internet
CPU??1 CPU nebo jádro[d]1 CPU nebo jádro[d]Bez omezení
RAM??1 GB[d]1 GB[d]Bez omezení
Bezpečnost a právaDána možnostmi OS Windows (zabezpečení souborů systémem)Dána možnostmi požitého OSDána možnostmi OS Windows & MS SQL ServerDána možnostmi OS Windows & MS SQL ServerZajišťuje DBMS
Poznámky

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á investice do ArcGIS Server Workgroup.Je nutná dodatečná investice do ArcGIS Server Workgroup a vlastního RDBMS.

[a] [ESRI: New in ArcGIS 9.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 [KRALOVEC: Geodatabáze]). Někteří uživatelé však mohou využívat pro správu atributových dat funkcí programu Microsoft Access.

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 [KRALOVEC: Geodatabáze]):

  • 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.[1][ESRI: Understanding ArcSDE]

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.2[2]je začleněno v balíku ArcGIS Server [ESRI: ArcSDE]. 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


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.

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ů


1.1.3.1. ArcSDE Personal Geodatabase

Tato základní verze ArcSDE geodatabáze je již dostupná v rámci licence ArcEditor[3] 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 ArcGIS Desktop nebo je volně ke stažení. 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).



[1] Welcome to ArcSDE, the GIS gateway to your DBMS.

[2] Prosinec 2006

[3] Jde o takzvaný "bundled database server".

Kapitola 2. Instalace Oracle Database 10g Express Edition

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 Edition[4]

DBMSVersions
OracleOracle 10g R2 (32 bit) 10.2.0.2
Oracle 9i (32 bit) 9.2.0.7
SQL ServerMicrosoft SQL Server 2000 SP4 Developer Edition


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í[5] 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 nezkoumal[6].

  • Pro verzi Oracle 10g R2 (32 bit) 10.2.0.2 je v omezeních uvedena následující poznámka:

    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í.[7]Také 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."[8]

    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

FeatureOracle 10g Express Edition[a]SQL Server 2005 Express[b]
Number of CPUs11
RAM1GB1GB
Database Size4GB4GB
OSWindows / LinuxWindows
Spatial[c] / LocatorNO / YES[d]NO / NO
Oracle SQL Developer / SQL Server Management Studio ExpressYESYES
Application ExpressYESNO
Java SupportNONO
PL/SQL and Java Server PagesYES / NOYES?
T-SQL EnhancementsNOYES
Stored Procedures, Triggers, and ViewsYESYES
User-defined TypesYES?YES
Comprehensive XML Support / Native XMLYESYES
Data WarehousingNONO
Data MiningNONO
PriceFreeFree

[a] Verze 10g je uvedena na stránce: Oracle.com: Oracle Database 11g Editions

[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á.


Vzhledem k jisté podpoře jsem nakonec zvolil DBMS Oracle 10g.

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ě - *******[9].

2.1.1. Kolize na portu 8080

V instalačním manuálu [ORACLE: EE Installation Guide] 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.[10]

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 proces[11], 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“).

Obrázek 2.1. Chybové hlášení při pokusu otevřít Application Express

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 [12] nebo [13]):

/*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   
------------
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 (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

Ú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é.[14][ORACLE: Application Express]

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.

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 [ORACLE: SYS and SYSTEM]

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 SYSTEM[15].

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.[16][ORACLE: SQL Developer]

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 DbVisualiser[17].

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é verzi[18]). 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:

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 [19]:

  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);
    
    /*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í[20]. Existují však i jiní klienti - například Oracle Database Instant Client, který není nutno instalovat[21]. 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/arcdata@eugen.ff.zcu.cz: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

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:

Obrázek 2.4. Vzdálené připojení do Oracle XE pomocí programu SQL Developer

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

Spuštění DBMS Oracle Express Edition


Obrázek 2.6. Zastavení DBMS Oracle Express Edition

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í!

Obrázek 2.7. Služba ArcSDE závisí na službě OracleServiceXE.exe

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.

Tabulka 2.3. Definované tablespaces




[6] Když mi to na té verzi 10.2.0.1 běhá.

[7] 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]

[8] Higher releases may, and usually do, work. Lower versions of releases are not supported.

[9] :-)

[10] 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.

[11] tj. zřejmě služba OracleXETNSListener.exe

[14] 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.

[15] 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“ :-)

[16] 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.

Kapitola 3. Instalace a konfigurace ArcSDE pro Oracle 10g

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\.

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í“.

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í.[22] [ORACLE: 2 Day DBA]:Tablespaces

    uživateli SDE,

  • vytvoření SDE uživatele,

  • udělení odpovídajících práv uživateli SDE[23].

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  CREATE SESSION to sde;
grant  CREATE TABLE to sde;
grant  CREATE PROCEDURE to sde;
grant  CREATE SEQUENCE to sde;
grant  CREATE TRIGGER to sde;
grant  CREATE TYPE to sde;
grant  CREATE LIBRARY to sde;
grant  CREATE PUBLIC SYNONYM to sde;
grant  CREATE OPERATOR to sde;
grant  CREATE INDEXTYPE to sde;
grant  DROP PUBLIC SYNONYM to sde;
grant  UNLIMITED TABLESPACE to sde;
grant  CREATE ANY VIEW to sde;
grant  SELECT ANY TABLE to sde;

Pro vykonání tohoto skriptu je třeba být přihlášen jako uživatel SYS v roli SYSDBA[24]. 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.[25] 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 TABLESPACE[26].

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.defs[27] 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 [AG92 Help]:The dbtune file and the DBTUNE table nebo [AG92 Help]:The giomgr.defs file and the SERVER_CONFIG system table). 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_tablespace[28]. 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.

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í[29]. 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

Specifikace použitého dbtune.sde při inicializaci

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.2[30]

DBMSFeature Geometry StorageColumn typeNotes
OracleSpatial TypeST_GEOMETRY

•Utilizes extended spatial type for managing vector data

•Based on the ISO SQL MM specification for spatial; built in concert with ESRI[a]

Oracle Spatial – Geometry TypeSDO_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 BinaryLong Raw

•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

LOBBLOB

•Can be deployed to use Oracle Replication Services

[a] 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.3[31]

DBMSFeature Geometry StorageColumn typeNotes
OracleSpatial TypeST_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,

•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 TypeSDO_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 BinaryLong 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

LOBBLOB

•Can be deployed to use Oracle Replication Services

PostgreSQL ArcSDE support for PostgreSQL was added at release 9.3ArcSDE Spatial TypeST_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.

PostGIS EWKB and EWKT was added at release 9.3Geometry

•PostGIS provides an open source spatial data type that supports the same ISO and OGC standards as ArcSDE's ST_Geometry.

SQL ServerArcSDE Compressed BinaryImage

•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.

Well-known Binary (OGCWKB)Image

•OGC simple features type,

•Can only be used with 2-dimensional geometry.

Microsoft SQL Server geometry typeGeometry

•Stores data that uses projected spatial reference systems to define spatial data.

Microsoft SQL Server geography typeGeography

•Stores geodetic spatial data.


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 standardech[32],

  • 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é podporuje[33].

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.

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.[34][ESRI: SDE Admin Commands]

Je třeba ručně přidat záznamy do dvou souborů[35]:

  • souboru služeb services, který se nachází v adresáři C:\WINDOWS\system32\drivers\etc\[36]

  • souboru služeb services.sde, který se nachází v adresáři C:\Program Files\ArcGIS\ArcSDE\ora10gexe\etc\[36].

Do obou těchto souborů je třeba přidat následující záznam:

<jmeno_sluzby>      <cislo_portu>/tcp      #ArcSDE for Oracle
takže:
sde_oraclexe      5151/tcp      #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“.

3.3. Vytvoření více uživatelských SDE geodatabází v DBMS Oracle XE[37]

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


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_Geometry[38].

Obrázek 3.3. Ukázka tabulky INSTANCES

Ukázka tabulky INSTANCES

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áze[39]. 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 [23].

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;
grant  CREATE TABLE to kar;
grant  CREATE PROCEDURE to kar;
grant  CREATE SEQUENCE to kar;
grant  CREATE TRIGGER to kar;
grant  CREATE TYPE to kar;
grant  CREATE LIBRARY to kar;
grant  CREATE PUBLIC SYNONYM to kar;
grant  CREATE OPERATOR to kar;
grant  CREATE INDEXTYPE to kar;
grant  DROP PUBLIC SYNONYM to kar;
grant  UNLIMITED TABLESPACE to kar;
grant  CREATE ANY VIEW to kar;
grant  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 [AG92 Help]:Using multiple geodatabases within a DBMS 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.[40] 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)[41]:

##DEFAULTS

GEOMETRY_STORAGE    "SDEBINARY"
ATTRIBUTE_BINARY    "BLOB"
RASTER_STORAGE      "BLOB"
B_STORAGE           "PCTFREE 0 INITRANS 4 
                     TABLESPACE   kar_vector_data"
B_INDEX_ROWID       "PCTFREE 0 INITRANS 4
                     TABLESPACE   kar_vector_data
                     NOLOGGING"
B_INDEX_SHAPE       "PCTFREE 0 INITRANS 4 
                     TABLESPACE   kar_vector_data
                     NOLOGGING"
B_INDEX_USER        "PCTFREE 0 INITRANS 4 
                     TABLESPACE   kar_vector_data
                     NOLOGGING"

. . .

RAS_STORAGE         "PCTFREE 0 INITRANS 4
                     TABLESPACE   kar_raster_data"
RAS_INDEX_ID        "PCTFREE 0 INITRANS 4
                     TABLESPACE   kar_raster_data
                     NOLOGGING"

BND_STORAGE         "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é).

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 tablespace[42]. 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 [AG92 Help]:User permissions ). 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 CREATE SEQUENCE to data_creator;
grant CREATE SESSION to data_creator;
grant CREATE TRIGGER to data_creator;
grant CREATE TABLE to data_creator;
grant CREATE 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

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;

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

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“):

Obrázek 3.6. Připojení do uživatelské SDE geodatabáze

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

Objekty "Flows" které byly vidět v ArcCatalogu

Počet těchto objektů[43] 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.

..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 [ORACLE: 2 Day DBA]:Managing Users and Security 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.[44]

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éna[45]). 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 SELECT ON WWV_FLOW_CLICKTHRU_LOG FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_COLLECTIONS FROM PUBLIC;
REVOKE DELETE ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE INSERT ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE UPDATE ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE REFERENCES ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE ON COMMIT REFRESH ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE QUERY REWRITE ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE DEBUG ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE FLASHBACK ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE MERGE VIEW ON WWV_FLOW_FILES FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_GROUP_USERS FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_HOURS_12 FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_HOURS_24 FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_MINUTES FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_MINUTES_5 FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_MONTHS_MON FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_MONTHS_MONTH FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_PLSQL_JOBS FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_USER_ACTIVITY_LOG FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_USER_MAIL_LOG FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_USER_MAIL_QUEUE FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_USERS FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_YEARS FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_COMPANIES FROM flows_files;
REVOKE REFERENCES ON WWV_FLOW_COMPANIES FROM flows_files CASCADE CONSTRAINTS;
REVOKE SELECT ON WWV_FLOW_DUAL100 FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_FIELD_TEMPLATES FROM PUBLIC;
REVOKE SELECT ON WWV_FLOW_LIST_OF_VALUES_DATA FROM PUBLIC;
REVOKE SELECT ON wwv_flow_lists_of_values$ FROM PUBLIC;
REVOKE SELECT ON wwv_flow_lov_temp FROM PUBLIC;
REVOKE SELECT ON wwv_flow_patches FROM PUBLIC;
REVOKE SELECT ON 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 SELECT ON WWV_FLOW_CLICKTHRU_LOG TO PUBLIC;
GRANT SELECT ON WWV_FLOW_COLLECTIONS TO PUBLIC;
GRANT DELETE ON WWV_FLOW_FILES TO PUBLIC;
GRANT INSERT ON WWV_FLOW_FILES TO PUBLIC;
GRANT SELECT ON WWV_FLOW_FILES TO PUBLIC;
GRANT UPDATE ON WWV_FLOW_FILES TO PUBLIC;
GRANT REFERENCES ON WWV_FLOW_FILES TO PUBLIC;
GRANT ON COMMIT REFRESH ON WWV_FLOW_FILES TO PUBLIC;
GRANT QUERY REWRITE ON WWV_FLOW_FILES TO PUBLIC;
GRANT DEBUG ON WWV_FLOW_FILES TO PUBLIC;
GRANT FLASHBACK ON WWV_FLOW_FILES TO PUBLIC;
GRANT MERGE VIEW ON WWV_FLOW_FILES TO PUBLIC;
GRANT SELECT ON WWV_FLOW_GROUP_USERS TO PUBLIC;
GRANT SELECT ON WWV_FLOW_HOURS_12 TO PUBLIC;
GRANT SELECT ON WWV_FLOW_HOURS_24 TO PUBLIC;
GRANT SELECT ON WWV_FLOW_MINUTES TO PUBLIC;
GRANT SELECT ON WWV_FLOW_MINUTES_5 TO PUBLIC;
GRANT SELECT ON WWV_FLOW_MONTHS_MON TO PUBLIC;
GRANT SELECT ON WWV_FLOW_MONTHS_MONTH TO PUBLIC;
GRANT SELECT ON WWV_FLOW_PLSQL_JOBS TO PUBLIC;
GRANT SELECT ON WWV_FLOW_USER_ACTIVITY_LOG TO PUBLIC;
GRANT SELECT ON WWV_FLOW_USER_MAIL_LOG TO PUBLIC;
GRANT SELECT ON WWV_FLOW_USER_MAIL_QUEUE TO PUBLIC;
GRANT SELECT ON WWV_FLOW_USERS TO PUBLIC;
GRANT SELECT ON WWV_FLOW_YEARS TO PUBLIC;
GRANT SELECT ON WWV_FLOW_COMPANIES TO flows_files;
GRANT REFERENCES ON WWV_FLOW_COMPANIES TO flows_files;
GRANT SELECT ON WWV_FLOW_DUAL100 TO PUBLIC;
GRANT SELECT ON WWV_FLOW_FIELD_TEMPLATES TO PUBLIC;
GRANT SELECT ON WWV_FLOW_LIST_OF_VALUES_DATA TO PUBLIC;
GRANT SELECT ON wwv_flow_lists_of_values$ TO PUBLIC;
GRANT SELECT ON wwv_flow_lov_temp TO PUBLIC;
GRANT SELECT ON wwv_flow_patches TO PUBLIC;
GRANT 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řístup[46]) nebo vzdáleně taktéž z příkazové řády - k tomu jsou však nutné tyto požadavky:

  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 [ESRI: SDE Admin Commands].

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“).[47].

    Obrázek 3.8. Vlastnosti ArcSde služby

    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če[48]:

    //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
    
    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 [AG92 Help]:Starting an ArcSDE service).

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
Vzdáleně:
C:\>sdemon -o status -s 147.228.18.11[49]//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
-----------------------------------------------------
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

        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
Layer Autolocking                 Off
Allow Int64 columns               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


//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í.

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ě.



[22] 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.

[24] Připojení jsem uložil v SQL Developeru na serveru pod názvem OracleXE_sys.

[25] You can create additional permanent tablespaces in Oracle Database XE, although typically there is no need to do so.

[[ORACLE: 2 Day DBA]:Tablespaces]

[27] nachází se v adresáři ...\ArcSDE\ora10gexe\etc\

[28] 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!

[29] Jedná se totiž o nativní formát ESRI.

[32] Tento formát by byl zajímavým tipem, který by stál za prozkoumání: [AG93 Help]:The ST_Geometry storage type.

[33] 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ů.

[34] 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.

[35] 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.

[36] Windows XP Pro.

[38] 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.

[39] 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.

[40] 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.

[41]

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\.

[42] a automaticky uživatelská data ukládá do standardního uživatelského tablespace USERS.

[43] jak se později ukáže jde o tabulky a pohledy

[44] 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.

[45] Viz uložené připojení flows_020100 v programu SQL Developer na straně serveru.

[46] Například služby "Vzdálená plocha Windows", nebo LogMeIn.com.

[47] 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.

[49] 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.

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 dispozici[50]. 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í)[23].

    • 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 byla[51], 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.3[52] . 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 prostorových dat (nadstavba PostGIS) a široké komunitě vývojářů[53] 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í.



[50] neověřoval jsem to

[51] tuším že ve verzi enterprise by měla být dostupná

[52] červen 2008

[53] a mnoho dalších výhod open-source projektů

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, ...

Bibliografie

[ESRI: Understanding ArcSDE] ESRI. Understanding ArcSDE®. [s.l.] : [s.n.], c2005. 56 s..

[ESRI: New in ArcGIS 9.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>.

[ARCDATA: ArcGIS Server] 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/>.

[ESRI: ArcSDE] ESRI. ArcSDE : Advanced Spatial Data Server [online]. [2007] [cit. 2008-10-28]. Dostupný z WWW: <http://www.esri.com/software/arcgis/arcsde/index.html>.

[ESRI: Support matrix for ArcSDE] 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.systemRequirements.formList&PN=ArcSDE&pvName=9.2&productID=19&PID=19&DN=&count=2&PVID=372&hn=PC-Intel+Windows+XP+Professional+Edition&VID=>.

[Wikipedia EN: Geodatabase] Wikipedia : Geodatabase [online]. 2008 , 9 July 2008 [cit. 2008-10-28]. Dostupný z WWW: <http://en.wikipedia.org/wiki/Geodatabase>.

[JEDLICKA, ORALEK: IS male obce] 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>.

[KRALOVEC: Geodatabáze] 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>.

[ORACLE: EE Installation Guide] 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>.

[ORACLE: SQL Developer] Oracle. Oracle SQL Developer [online]. [2008] [cit. 2008-10-28]. Dostupný z WWW: <http://www.oracle.com/technology/products/database/sql_developer/index.html>.

[ORACLE: Application Express] Oracle. Oracle Application Express [online]. [2008] [cit. 2008-10-28]. Dostupný z WWW: <http://www.oracle.com/technology/products/database/application_express/index.html>.

[ORACLE: SQL Reference] 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>.

[ORACLE: SYS and SYSTEM] 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>.

[ORACLE: 2 Day DBA] 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>.

[ESRI: ArcSDE Installation Guide] ESRI. ArcSDE Installation Guide [online]. [2007] [cit. 2008-10-28]. Dostupný z instalačního DVD ArcSDE: <...\Install_PersonalSQLExpress.htm>.

[ESRI: SDE Admin Commands] 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.

[AG92 Help] 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>.

[AG93 Help] 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>.