Portál AbcLinuxu, 25. května 2025 21:54
Č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.
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.
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á.
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().
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í.
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/*
.
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.
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.
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.
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
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.
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í.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.