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