Portál AbcLinuxu, 25. května 2025 21:54

Dinosaurus žere Žábu

10. 2. 2006 | Petr Vaněk
Články - Dinosaurus žere Žábu  

Člověk, který vyvíjí v PL/SQL, nemá na Linuxu na růžích ustláno. Sice má k dispozici celou řadu kvalitních textových editorů, ale velice nedostatečně jsou zastoupeny nástroje DBA, popřípadě DB vývojáře. Co vybrat?

Sqlplus, TOra, modul do Eclipse nebo modul do vimu? Sqlplus je skvělý na spouštění hotových skriptů, modul do vimu jen a pouze volá sqlplus, stejně tak, jako je možné třeba z kate. Zmlsaný jedinec navíc vyžaduje zobrazenou hierarchii objektů, pomocné nástroje správy, debugger apod.

Zatím je na UN*Xových strojích možno provozovat program TOra, anebo něco z hromádky mrtvých projektů, jež lze nalézt např. na Sourceforge, pokud alespoň jejich vývojaři vydali nějaké soubory. Suma sumárum: žádná sláva.

TOru se snažím používat, ale má pro mne jednu zásadní nevýhodu. Je nepřehledná. Je tak nepřehledná, že její spřízněnost s Toadem, ve světě Oracle nejpopulárnějsím žabákem, je očividná. On vlastně i původní autor pracuje pro Quest Software. Čtenář už jistě pochopil, že nerad používám obojí software. Oba mají natolik přeplácané rozhraní, které se navíc mění verzi od verze, že v menším rozlišení už v nich není místo na vlastní zdrojový kód – kdo je nezná, ať si spustí kdevelop s implicitním nastavením.

Netuším, jestli si stávající situaci uvědomili v Oracle, ale v podstatě je mi to jedno, každým pádem je k dispozici nový nástroj Raptor. Tento je zatím v plenkách, tedy ve fázi veřejného testování. O pár postřehů se s vámi podělím.

Požadavky a instalace

Fungující X Window System a Sun JDK 1.5. Toť vše. Tedy žádný Oracle klient, ani Instant client. Nejsou zapotřebí ani administrátorská práva k vlastní instalaci Raptoru, protože se tento zatím jenom rozbalí kamkoli na disk a spouští se rovnou z tohoto adresáře. Hodně příjemný a pro testy užitečný přístup.

Co se podpory Oracle serverů týče, lze se připojit pouze na 9 a vyšší. Respektive s 8 Raptor běží také, ale nelze využít všechny jeho vlastnosti (nefunknční sestavy, explain plan atd.)

Protože je program implementován v Javě, lze použít téměř kdekoli. Mám jej vyzkoušený na SUSE a Gentoo Linuxu a MS Windows XP.

Jak se používá

Výsledek
SELECTu.

První pohled prozradí, že Raptor vypadá tak, jak jsme u databázových IDE zvyklí. Strom objektů, SQL editor, tabulka výsledků nebo jiných výstupů. Ovšemže je tu něco jinak.

První a nejdůležitější poznámka se týká toho, že Raptor pro každé uživatelem nadefinované připojení k DB používá jen jedinou session. Proto i když mám otevřená dvě okna, v jednom už se provádí nějaký skript a v druhém spustím třeba i jednoduchý select, tak tento musí počkat. Stejně se sice chovají i Toad nebo SQL Navigator, ale u nich je možné otevřít nové spojení ručně.

Strom objektů se aktualizuje příjemně rychle, dokonce i např. v případě stovek synonym. Na druhou stranu se v něm nezobrazují databázové linky a adresáře (ALL_DB_LINKS, ALL_DIRECTORIES). Ty je třeba spravovat manuálně.

Textový editor SQL je velmi klasický. Neobsahuje žádné převratné editační funkce, ale také není zcela bez různých vychytávek. Pokročilé funkce jsou překvapivě uvedeny v menu Source, nikoli Edit. Funkce odsazování bloků, hromadné (od)komentování jsou přítomny, takže mi nejvíce chybí možnost přípravy kódu pro použití v EXECUTE IMMEDIATE, t.j. chytré obalení vyznačeného textu apostrofy, což je sice děsivá technika, ale občas smrtelně užitečná.

Z tabulky výsledků je možný export dat do CSV, XML, SQL insertů, Oracle Loaderu a čistého textu. Celkem pochopitelně chybí export do jakéhokoli tabulkového procesoru, což je sice škoda, ale rozumím tomu, že je implementace, za podmínky už zmiňované platformní nezávislosti, téměř nemožná.

Explaint plan a snippets

Nástroj Explain plan je velice přehledný. Používá decentní barvy a zvýraznění, která neruší, ale podporují orientaci. Ve srovnání s PL/SQL Developerem (černobílý) a SQL Navigatorem (cirkusově barevný) jednoznačně vítězí. Na druhou stranu neobsahuje všechny možné výstupy, které lze dostat z formátovaného DBMS_XPLAN.DISPLAY().

DDL skript
existujícího objektu.

Fragmenty kódu, tzv. snippets, v sobě obsahují i stručnou nápovědu. Osobně tyhle věci nepoužívám, ale rychlý seznam všech hintů optimalizátoru se mi opravdu hodí. Zatím ale chybí možnost vkládání vlastních fragmentů bez externí úpravy konfiguračního souboru.

Debugger se zatím stále chová velice podivně a je nestabilní.

Předdefinované sestavy.

Už v prvním spuštění je předdefinována řada sestav. Od seznamu inicializačních parametrů, přes výpisy aktuálních připojení, aktuální SQL podle různých kritérií až po zobrazení práv a rolí. Přiznejme si, že to jsou většinou jednoduché selekty do DBA_% nebo USER_% pohledů, které má každý, kdo s DB pracuje už někde napsané, ale spustit sestavu je často rychlejší, než hledat soubor vsql10.2.sql někde v ~/sql/dba/*.

Uživatelem definovaná sestava.

Nic také nebráni tomu, aby si uživatel zmíněne hotové selekty nastavil jako své nové sestavy. Má je pak uspořádány ve zvolené stromové struktuře.

Operace s
indexy Chyba připojení k DB. SID není v tnsnames. Nové
připojení.

Cena a podpora

Za Raptor není a nebude třeba platit. Podpora pro uživatele, kteří nemají licencovaný některý z Oracle produktů, bude jen a pouze v OTN diskusním fóru. Tyto diskuse však nejsou z nejkvalitnějších, respektive Raptor fórum je ještě stále poměrně věcné a obsahuje hodnotné příspěvky, což se nejspíš změní po uvolnění finální verze – stačí prolistovat ostatní OTN fóra.

Pro uživatele s licencí podporu zajistí Oracle Support.

Závěrem

Jak vyjádřit své nadšení, aniž bych byl nařčen z podjatosti? Opravdu to vypadá, jako kdyby se mi vývojáři Raptoru trefili do noty. Jednoduchý a snadno použitelný nástroj, který není zatížen megalomanskými vylepšeními. Raptor zkrátka podkopává zkušenost, že v Oracle neumí napsat nic jiného než databázový server (uživatelé Designeru a dalších lahůdek budou jistě souhlasit).

Raptor mi žábu z disku sežral.

P.S.: Škoda jen, že se finální verze bude jmenovat Oracle SQL Developer. Třikrát škoda.

Související články

Oracle: vývoj na SUSE 10.0
Seriál: Tvorba databází v MySQL
Seriál: Správa databází v MySQL
Seriál: Adabas
Praktický návod k PgSQL
Propojení OpenOffice.org s databází
Tvorba databázových formulářů v OpenOffice.org
Recenze: InterBase/Firebird
Recenze: PostgreSQL - Praktický průvodce

Odkazy a zdroje

Raptor

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

Diskuse k tomuto článku

10.2.2006 07:43 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin
Vsechny tabulkove procesory sezerou na vstupu CVS, tudiz ta nepodpora nevadi.

Dalsi moznosti, ktera ale neni omezena jen na oracle, je treba squirrell-sql. Take je to prijemny SQL klient.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
10.2.2006 09:07 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
ten http://squirrelsql.org/ vypada slibne. Neni sice 2x jednoduche rozjet pripojeni, ale zkusim ho par dni pouzivat. Diky za informaci.
Kuolema Kaikille (Paitsi Meille).
10.2.2006 09:59 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
sakrapes. ma to pekne vlastnosti, ale zase nekolik hrubych nedostatku. Ja snad nikdy db IDE snu neobjevim :)))
Kuolema Kaikille (Paitsi Meille).
10.2.2006 09:41 Pepa
Rozbalit Rozbalit vše TOAD
Odpovědět | Sbalit | Link | Blokovat | Admin
Myslim, ze nic lepsiho nez TOAD neni - samozrejme je to muj nazor :-). Co se tyce Linuxu, je zde v podobe slabeho odvaru Tora. Co se tyce Raptoru, asi to neni spatny, ale jelikoz mne uz funguje Tora...
10.2.2006 09:58 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: TOAD
no, ja se prave s toadem nikdy neskamaradil. Je to na mne desive preplacane. Navic uz mam slusnou sbirku skriptu, ktere ty graficke blbinky stejne interne pouzivaji.

Taky je mi toad na prd, kdyz prijdu k cizimu stroji (a to se stava casto), kde je treba opravdu jen sqlplus. To je pak sada skriptu na usb klicence k nezaplaceni. ale to uz je jiny smutny pribeh.
Kuolema Kaikille (Paitsi Meille).
Marián Kyral avatar 10.2.2006 10:23 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: TOAD
Tora jsem zkoušel, nepoužitelné pokud je v databázi hodně (>1000) tabulek.
12.2.2006 09:04 me
Rozbalit Rozbalit vše Re: TOAD
Docela by me zajimalo, jaky typ databaze muze mit vic nez 1000 tabulek? Pouziva se tak velka DB i v realnem svete anebo jen k testum vykonosti DB serveru? Je 1000 tabulek vysledkem duchaplneho navrhu?
12.2.2006 10:19 springer | skóre: 10 | blog: engineering
Rozbalit Rozbalit vše Re: TOAD
... duchaplneho navrhu? ...

ne, normalizovaneho navrhu ...
kralovna Alzbeta a Stallmanuv holic diskutuji free software
Marián Kyral avatar 12.2.2006 20:11 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: TOAD

Jeden rozsáhlý francouzký informační systém pro obchodní řetězce. Od artiklů, objednávek, přes příjem, prodej až po fakturaci, statistiky, analýzy, různé interface tabulky... Navíc je na developmentu hromada záložních kopií a dočasných tabulek, které už nikdo nezrušil.

Dá se v tom vyznat, ale člověk neustále objevuje nové, záhadné tabulky ;-)

15.2.2006 12:20 lubos
Rozbalit Rozbalit vše Re: TOAD
No, co treba pres 8000 tabulek :)
10.2.2006 11:38 gnat
Rozbalit Rozbalit vše Re: TOAD
tak se jukni na PLSQL Developer od Allround Automatics. Skoda ze je jen Win verze
Marián Kyral avatar 10.2.2006 09:50 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin

Bohužel, pro Oracle 8 to je nepoužitelné :-( Každou chvíli se objeví hláška o neexistujících sloupcích v systémových tabulkách.

Ale jinak se mi celkem líbil.

10.2.2006 09:55 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
samozrejme ;) je to v instalacnich podminkach.
Kuolema Kaikille (Paitsi Meille).
Marián Kyral avatar 10.2.2006 10:25 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Jo no, když já musím používat osmičku :-(
10.2.2006 10:54 Martin
Rozbalit Rozbalit vše Re: Aqua Data Studio
Odpovědět | Sbalit | Link | Blokovat | Admin

Je ještě jeden nástroj - Aqua Data Studio (www.aquafold.com).

Docela dobrej, funguje na více databází. Pro Oracle nabízí 2 způsoby připojení - nativní a přes OCI. Je v Javě.

Všechno šlape, líp než v Žábě. Jenom mne štve, že jsem nerozjel spouštění skriptů. Snaží se spouštět každý řádek samostatně. Tak ty většinou pouštím v sqlplus.

Je to ale komerční produkt, volný pro osobní použití.

10.2.2006 11:40 Martiner
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin
Neznáte někdo nějaký jednoduchý db plugin do Eclipse? Stačí aby to umělo zobrazit strukturu databáze, spustilo dotaz a zobrazilo výsledek. Zatím jsem zkoušel sqlexplorer (ten pod Eclipse 3.1.2 nechtěl zobrazit žádný dialog) a dbViewerPlugin (ten zas při větších tabulkách shazoval celé Eclipse).
10.2.2006 13:39 springer | skóre: 10 | blog: engineering
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin
hi, prominte prosim OT, ale proc jste neuverejnil ten clanek na penguinu. Ocekaval bych ho v pripade vasi osoby spise tam? Dekuji.
kralovna Alzbeta a Stallmanuv holic diskutuji free software
10.2.2006 14:11 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
muhe, protoze jsem jinej vanek :)))
Kuolema Kaikille (Paitsi Meille).
10.2.2006 17:06 springer | skóre: 10 | blog: engineering
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
neco mi rikalo, ze to bude asi takhle, ale bylo mi blby se ptat "jakej Vanek vy ste ?" :-)
kralovna Alzbeta a Stallmanuv holic diskutuji free software
10.2.2006 19:55 leos loukota
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin
Již nějaký čas používáme soft Hora pro oracla. Je opravdu vychytaný, řekl bych, že je lepší než žabák.Je ale jen pro win. http://www.keeptool.com
10.2.2006 21:47 Woodpecker | skóre: 6
Rozbalit Rozbalit vše OT: žádná žába žabaři
Odpovědět | Sbalit | Link | Blokovat | Admin
Já tedy nevím, ale tadu u nás říkáme žabám Frog a Toad říkáme ropuchám ;-)
11.2.2006 08:04 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: OT: žádná žába žabaři
Špatně jsi se vyspal, náčelníku Dřevěné p*ro? Eh, chtěl jsem říct Datle..? :-)
13.2.2006 15:16 Medvjed
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Odpovědět | Sbalit | Link | Blokovat | Admin
No, sice to neni spatne, ale problem se zobrazovanim blobu a xmltypu raptor resi po svem - tabulku vubec nenabidne. No snad se to v pristi verzi zlepsi. A take mam pocit, ze to bude pekny zrout pameti :-)
13.2.2006 15:23 Medvjed
Rozbalit Rozbalit vše Re: Dinosaurus žere Žábu
Tak sorry, tabulky nabidne, jen ten XMLtype se da blbe precist :-). Jsem sice zastance Linuxu, ale musim uznatm ze ne zabu hned tak nic nema. Ale zase za ty prachy, co questaci chcou, to je fakt nechutne :-)

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.