Oracle SQL Development Environment in Linux? 118
Jón Ragnarsson asks: "I develop Oracle applicatons for a living. And they are usually internet-related. Right now I'm developing on a Oracle 8i / Windows NT4 machine. But I have more and more become aware that NT is very limiting compared to un*x when it comes to selection of tools and servers for Internet development. I have installed Apache, perl, php and other stuff on the NT, but with much difficulty. So now I'm planning to switch my development environment to Linux (RedHat, Debian or SuSE). The thing I would miss most is the SQL Navigator, a tool I don't know how I could live without it before I started to use it. :)
I know there are some utilities available for postgres and mysql in KDE, but AFAIK, they don't work on Oracle databases. Any ideas what I could replace SQL Navigator with? Or should I start writing my own database front end?" Hey! I develop Oracle apps on Solaris and could use something like this myself!
Re:oracletool.pl (Score:1)
emacs ? (Score:1)
Also there is some emacs mode for pl/sql editing - with identation, syntax colors and so on - on oracle site (technet.oracle.com)
Alexey Vekshin,
vekshin@usa.net
Re:One Word (Score:1)
Re:oracletool.pl (Score:1)
So. As a review: Use Oracletool ONLY if you are in a small enviroment, or you watch it like a hawk to make sure that you are not locking/running away.
You can use Oracle's enterprise manager (Score:1)
Running Oracle applicatons under Linux (Score:1)
This is what SQL*NET (NET8) is for.. (Score:1)
Basically anything you can do on the machine hosting the database can be accomplished via SQL*NET/NET8 (the Oracle RDBMS's communication protocol) which runs just fine over any TCP/IP (or other protocol) network. To my knowledge basically all tools designed to work with Oracle support the use of SQL*NET.
Continue to use your NT-based tools and connect via SQL*NET to the server. This is probably a good idea anyway. Why bog down your database server running a bunch of client tools? Using SQL*NET you only create a database server process of a meg. or so in size (assuming dedicated connections) which you would have anyway even if you run everything "locally".
This is not to say you shouldn't use good Linux-based tools available to you but there is no requirement to run them on the server itself.
TOAD for Linux? (Score:1)
She actually said that there were quite a few requests for Linux, and the author was seriously considering it. Hell, I would buy it if they did! No, its not open source. But it has been free for as long as anyone remembers (until they were bought out by Quest software that is...)
Re:Grunt, grunt, grunt ... (Score:1)
> I do Sybase & Perl development all day.
> I'd scream if they took away my isql.
You should really see sqsh:
http://www.voicenet.com/~gray/sqsh.html [voicenet.com]
This is what all CLI database tools should do. And it's open source.
Re:Java? (Score:1)
Once you're done with this project would you let me know?
Thanks.
Re:A couple of tips (Score:1)
Well, in all fairness, he DID give the guy a link to some Oracle tools for Linux. I don't see how pointing him to a mailing list where there are many people doing what he is trying to do could hurt either. There are plenty of responses and everyone contributes what they can. Relax a bit.
Re:Dual Environment (Score:1)
KMySql (Score:1)
Linux DB administration tools for Linux (Score:1)
What puzzles me is that Oracle's DBA tools (like Oracle Enterprise Manager, which is pretty damn slick) and some of their development tools are _written in Java_
Re:sqlplus (Score:1)
Re:Could GNU/NT be done? (slightly off-topic) (Score:1)
SqlNavigator (Score:1)
Re:Could GNU/NT be done? (slightly off-topic) (Score:1)
vmware (Score:1)
inside VMWare [vmware.com] emulations. This works quite good!
Re:Dual Environment (Score:1)
If you have performance problems, post them to the vmware.* newsgroups, and if they don't help, submit an incident report.
Write a Oracle plugin for KMySQL (Score:1)
Despite its name, the recent versions of KMySQL have a plugin architecture with support for PostgreSQL and mysql.
It would be worthwhile to add ORACLE support by writing a plugin
Re:sqlplus is a steaming pile (Score:1)
Re:Moderators, pleeassee it's on tpic babe. (Score:1)
Re:One Word (Score:1)
Re:Not Again (Score:1)
Because of their pioneering work, the rest of us have the option to deploy on a cheap, fast, flexible and reliable platform. If you'd rather deploy on NT with all it's poor design features and buggy implementation, fine, but don't come crying to us.
Consciousness is not what it thinks it is
Thought exists only as an abstraction
Re:Not Again (Score:1)
1) They certainly do look at the facts as it's the only effective way to proceed with such experiments.
2) If the experiment succeeds and publishes a howto, it makes it possible for others to do the same in future. How is that counterproductive? It's just the opposite, contributing to the common good.
What you have failed to recognise is that sometimes the aim isn't just to find the easiest solution. Sometimes the desired aim is to find the best one, or even just to push out in a strategic direction that will take you closer to where you want to be in the future.
You seem not to realise that it's more or less axiomatically a good thing to have alternatives available. My guess is you've been using Microsoft platforms so long that alternatives seem inferior to you, a priori.
Which of us has adopted the closed minded attitude here? The revolutionary experimenter...or the conservative reactionary?
Consciousness is not what it thinks it is
Thought exists only as an abstraction
Re:Could GNU/NT be done? (slightly off-topic) (Score:1)
http://commit.winehq.com/~lynch/DebianGNU-wi
as well as the win32 mailing list at
http://debian.org/MailingLists/subscribe.
What's wrong with SQL*Plus? (Score:1)
I am about to setup my own web server with an Oracle backend. I want to play around with WebDB and PHP3. I also need to play around with Developer because Oracle doesn't offer a certification program for 3GL programmers and I'm not ready to get into Oracle's Java mess.
BTW, PL/SQL, the Oracle procedural language, actually beat out Perl in my book as the most obscure language. The syntax is really funky and the use of semicolons is inconsistent with every language I've ever used.
But enough griping. If Oracle didn't make such screwy interfaces, people like me wouldn't make as much money making them work...
Could GNU/NT be done? (slightly off-topic) (Score:1)
To what extent can the GNU tools be wrapped around NT? If the POSIX.1 layer of NT is still intact (maybe), then couldn't the other layers of POSIX be built on top of that? I know that a version of Bash has been ported to NT (but then it's been ported to DOS as well, and since I doubt that DOS could support things like coprocesses, I'm guessing the ported version isn't identical to the UNIX version.)
(I suppose I should finally learn the specifications for the Debian standard base. Could the NT files be moved around to make space for, say, /usr/local and still work? Hmmm...to get devices to show up as files, you'd probably need kernel support... I'm showing my ignorace of kernel internals here...HURD moves device stuff out of kernel space into daemon space...)
But in any event, a (perhaps limited) collection of the GNU tools for NT could make many a windows-imprisoned administrator's life easier. Does such a thing exist?
"So, what do you want to hack for, Bickle?"
"I can't sleep nights."
"They got porno theaters for that."
Cool!! This should be moderated up (Score:1)
I never knew that.
Once I find my Linux Oracle CD I'm going to try one. I'd hate to think how much RAM it needs, though.
Re:SQL Navigator (Score:1)
I recently evaluated all of the Linux tools mentioned here (Kora, Matt's suite of tools, Orac) and none of them has all of the features of SQL Navigator or TOAD. Kora comes closest, but it does not have a table data editor, and the stored procedure editor is not as nice as TOAD or SQL Navigator. Also, Kora uses its own proprietary client/server protocol which requires a server running on the Oracle database. SQL*Net does this already.
That being said, I do most of my Oracle work in emacs with a combination of sql mode and sqlplus. Some people I work with have become quite reliant on SQL Navigator, and the downside is that they are in trouble when they are outside of that environment. It's the same issue as the GUI/command-line debate -- the SQL Navigator GUI insulates you from the command line (in this case, SQL*Plus).
Re:Dual Environment (Score:1)
SQL Navigator (Score:1)
-Bill
Re:Not Again (Score:1)
Could it be that he is trying to adapt to his situation! Mercy, no!
Re:Dual Environment (Score:1)
Java? (Score:1)
Re:sqlplus is a steaming pile (Score:1)
If you use emacs "shell-mode" to run sql*plus, it makes up for the sql*plus' short-commings you mention.
Actually makes it kinda nice...
Now if somebody would write an emacs mode to interface to the oracle data dictionary so we'd have tab completion of table and column names...that'd be REAL sweet!!!
Re:why not try ... (Score:1)
If Oracle Inc's got any sense, they'd kick in some $$$ to fund it too!
DB_Browser and others (Score:1)
Your question might be better answered on a site more oriented towards software, e.g. Freshmeat.
Re:Could GNU/NT be done? (slightly off-topic) (Score:1)
Working With Sybase (Score:1)
I will keep looking, and keep using sybase...
Grunt, grunt, grunt ... (Score:1)
shell>mysql -u geek -p geekpower
mysql>use database;
mysql>show tables;
mysql>show columns from geek_table;
mysql>select * from geek_table where desc = "Ode to my greatness";
mysql>exit;
shell>
The other postings have given good suggestions, I'd keep looking at freshmeat.net, everynow and then something really good appears.
As you can tell I prefer MySql. Unless you need stored proceedures or commit/rollback, I'd go with it. It's very robust and much faster than oracle.
I've never found GUI tools to make me more productive, but if it works for you...
There's a great alternative (Score:1)
I would recommend although I haven't tried it here, 1 monitor per virtual desktop (think you'd need Metro-X to do that).
Bill
Linux and ODBC? (Score:1)
Re:Linux and ODBC? (Score:1)
As far as I understand it, ADO calls OLE-DB which calls ODBC. (Or can, at least.)
Re:Grunt, grunt, grunt ... (Score:1)
I do Sybase & Perl development all day. I'd scream if they took away my isql. I have yet to see a GUI tool that really would help me program better. There are some nice GUI admin tools, and I'm working on writing one msyelf, but for development, all I want is a command line I can barf SQL onto.
Re:Dual Environment (Score:1)
Oracle+Linux+odbc (Score:1)
Sorry I don't know more. Someday I'll have time to play with linux for fun again, dammit!!
Re:Oracle+Linux+odbc (Score:1)
Re:Java is not a codeless framework; try DIA (Score:1)
What kind of development ? (Score:1)
You didn't mention specifically what type of Oracle development you do. Is it mainly on the server (i.e. writing stored procedures or other ddl stuff) or do you do client-side development(Developer2000, ODBC stuff)? Are you using java on the server ? Knowing what you're developing with now would make it much easier to answer your question.
On the other hand, if ALL you need is a replacement for SQL*navigator, there are many utilities available, as mentioned in several of these posts.
TOAD may be available within a year (Score:1)
Re:sqlplus--how to get good cmd history, etc. (Score:1)
No, really--it's quite simple, actually. You start up emacs, start a unix shell (by typing: M-x shell ) and from that shell run SQL*PLUS as you normally do.
[N.B. For emacs newbies: the "M" stands for "Meta" and usually maps to the ALT key, the "C" stands for the CTRL key--each of these is pressed together with a second key to do a command. So "M-x" means press the ALT and x keys together. Oh, and RET is the RETurn key]
Emacs has a bunch of commands that let will let you cycle backwards through previous commands (M-p), search backwards for a command with a given string in it(the usual backwards search, C-r and you can do regular expression searches the normal way too), edit the command, copy a command to the prompt without sending it, so you can edit it (C-c RET), etc. And you can get filename completion with the TAB key.
Read all about it here on this very helpful page put together by Bob Rogers to help people who used emacs for just about everything during the August '99 bootcamp that Ars Digita (i.e. Philip Greenspun and co.) ran:
http://bmerc-www.bu.edu/needle-doc/emacs/ [bu.edu].
If you know already know emacs, just click on the "running a shell mode in emacs" link in the table of contents (or click here [bu.edu]). If you don't know emacs well, just start reading from the top of the page and then go down to the shell mode stuff. Either way, you might find his emacs cheat sheet useful too and some of the other links that he has.
___
DC
P.S. For the complete text (and photos) of Philip Greenspun's database-backed web-site book, which describes the philosophy and workings of the Ars Digita ACS toolkit (open-source), among other things, click here [photo.net] For info on the Ars Digita bootcamps, based on this book and the ACS toolkit it describes, click here [photo.net].
No Java Console? (Score:1)
why not try ... (Score:1)
I do a lot of oracle stuff on Linux and I run sqlplus in an emacs shell session.
This allows me to use emacs command history and editing, making sqlplus a truly interactive tool.
Yes I still have to remember all the sql commands.
But that can be a good thing, and if you have Oracle, you also will have SQL*PLUS, and emacs is more likely available than some GUI tool.
DBInspector (Score:1)
It is a Java app that uses JDBC to connect to the db.
Caveats:
It's not great, but it's a million times easier to use than sqlplus!
Dream linux/oracle app (Score:1)
Re:A couple of tips (Score:1)
Perl+CGI+DBI+modperl+Apache or VMWare (Score:1)
Oracle clients (Score:1)
Oracle SQL Development Environment in Linux? (Score:1)
Re:sqlplus (Score:1)
One Word (Score:2)
sqlplus (Score:2)
Given, sqlplus is not nearly as friendly to use as MySQL's command line client, but it gets the job done.
If you are an Oracle developer by trade, you should really learn to use the command line interface effectively. GUI's have a short life-cyle. This means that you will have to re-learn how to interface with them over and over agian as time goes on. The command line interface is much more static. It may take longer to learn, but it will pay off in the end.
Re:Dual Environment (Score:2)
VMWare is REALLY cool. I'd suggest it to anyone who was even thinking of running an X Server on a windows box (like I used to).
Trying To Make Linux Fit... (Score:2)
Back then, Microsoft had decided that they were going to force the solution to all problems to be Windows NT.
They had to create tools to try to make NT fit the problems people try to solve using computers.
If they had looked at things the way you are, they should have concluded:
That's obviously not what has happened. Instead, NT is being billed as the ideal solution to all sorts of problems, with attempts made to make problems fit NT.
If that isn't sad, then, by he very same argument, it is silly to regard attempts to make Linux useful as "sad."
If it is sad to try to make Linux and/or problems fit one another, then it is vastly more sad that Microsoft has wasted billions of dollars doing precisely the same thing.
Perl Power Tools (Score:2)
You're referring to Perl Power Tools: The Unix Reconstruction Project [perl.com].
On related note, ActivePerl (Perl for Win32) 5.6, which is due out next month will have support for fork(), so one of the biggest portability hurdles in moving your scripts from Unix to Win32 should disappear.
Cheers,
ZicoKnows@hotmail.com
Re:SQL Dev't Environments (Score:2)
Otherwise another option might be Bochs or VMware (which a number of other people have suggested).
Re:TOAD may be available within a year (Score:2)
Borland has since said that their Linux RAD tool is not Delphi, not C++Builder, but a new product, with a new class library. Thus, it will not be source compatible with Delphi or C++Builder. Or so Borland says.
Oracle Tools for Linux (Let's Get It On) (Score:2)
My name is Matthew Chappee, and I'm the author of the Oracle Application Suite for Linux. It has been referenced in this discussion several times (usually just by address' oracle.mattshouse.com or www.mattshouse.com). There have been a lot of good ideas thrown around in this forum. I propose that we organize these nuggets so that we can address them in an organized manner. I'm actively developing my suite [mattshouse.com] of applications, and am always looking for cool ideas. So, please CC me at matthew@mattshouse.com [mailto] with your ideas, and we can start discussing the options on my mailing list [mattshouse.com].
Thanks,
Kora (Score:2)
http://members.xoom.com/uwagner/kora/
--
Build your own? (Score:2)
Although it make take a little work, and might be considered by your co-workers as overkill, perhaps you should consider building your own management/SQL-builder/whatever tool. If you know some Perl, you can use DBI and the Oracle DBD, possibly along with Tk, to build a pretty slick interface that will perform well and do almost everything you should need it to do. Throw in GD, ImageMagick, or GIFgraph to generate some on-the-fly images to impress your boss and co-workers (they're very fast once you load them into memory), and you have the beginnings of a wonderful tool.
I'm operating on the assumption that you know exactly what you need the tool to do, since that's what it sounds like. This should be a pretty simple task (although possibly time-consuming) for someone who knows SQL and Perl.
Just a thought.
darren
Some nice tools (Score:2)
http://oracle.mattshouse.com [mattshouse.com]
http://www.oracletool.com [oracletool.com]
Embarcadero (Score:2)
1) You can make a series of interactive changes to a table schema and then have it figure out the minimal SQL to do it. If it can't be done with an Oracle primitive (e.g. renaming a column, reordering columns, changing column type) it generates all the SQL to drop/disable all dependent objects, constraints, rename the old table, create a new table, transfer the data, recreate all the dependent objects, etc.
2) It can do a diff of two database schemas, or of a database schema against a historical archive and generate SQL you can use to perform the delta. This is incredibly useful.
And there are a number of other features that make managing a monster like Oracle a lot easier. Perhaps it will eventually run adequately under WINE. I'm not saying this to promote the product, but to point out some useful features that go beyond just executing a query and seeing the results, and to get people thinking about what it is you actually do when managing a complex database. And maybe there is a more open/portable too out there to do this. (Though it's saved me enough time that I don't begrudge them their dollars - they're smart programmers, and they've done a good job.)
GUI for database servers (Score:2)
At the moment, though, it is only available for MySql and PostgreSQL as far as I know. But since you it comes as PHP source code, and PHP supports Oracle, you should be able to get it to work without too much difficulty. Of course, you would need to write your own code to support the more advanced Oracle features (like foreign keys) that MySQL doesn't have. But if you do decide to build your own interface, I would recommend this as a good place to start.
dbVisualizer? (Score:2)
looking for something else. I bookmarked it,
but I've never tried it:
http://www.pureit.se/products/dbvis/index.html
Linux/Oracle Tools (Score:2)
oracletool.pl (Score:3)
http://www.oracletool.com/ [oracletool.com]
Yeah, it's free as in speech and beer, too.
There's something called "Orac" as well, but it's in Perl/Tk rather than with a web interface, so I prefer the oracletool, myself. Simple to use, even NT people grasp it immediately.
Good stuff!
Java is not a codeless framework; try DIA (Score:3)
I have no problem agreeing that there will be a point in time at which it will prove necessary to start coding; the point is that there are portions of the system where it is downright invaluable to have purely declarative definitions, which means that you've got a set of code on which you can unleash analysis tools that don't need to worry about the Turing-completeness of a full-scale language like Perl, PL/SQL, or Java.
It would be, for instance, a very interesting idea to compose ER diagrams using a diagramming tool like Dia. [lysator.liu.se] Dia generates output in the form of XML. [hex.net]
The really cool next step would be to take that XML and use it to generate the DDL code to generate the relevant tables, so that the diagrams represent not only instructive diagrams for communicating information about the design, but actually the code to define the declarative parts of the system.
(Note: ERWIN has the ability to do this sort of thing, permitting one to both generate table definition code from the diagram as well as to generate a diagram based on SQL DDL code...)
SQL Dev't Environments (Score:3)
Golden, PL/Edit, http://www.benthicsoftware.com/ [benthicsoftware.com]
and
TOAD, the Tool for Oracle Application Developers, http://www.toadsoft.com/ [toadsoft.com].
If you can, keep a windows box to run these and your applications and just hit the server running on Linux, over SQL*Net.
-matt
---
Wha? TV & Movie Theme Songs? Oh yeah....
Check on Freshmeat.net (Score:3)
Maybe a dumb question. (Score:3)
A couple of tips (Score:4)
Send email to ListGuru@fatcity.com
In the body put SUBSCRIBE ORACLE-LINUX-L
Many a great discussion happens on this list. It does generate a TON of traffic though.
A good repository of tools is available at
here [mattshouse.com]
"We hope you find fun and laughter in the new millenium" - Top half of fastfood gamepiece
Great question... (Score:4)
I've been waiting for a discussion about this topic to pop up, so I'm happy to add my few cents.
I'm currently working on a web development project (using Oracle 8.0.5) with some folks and we're using Linux as the development enviornment. I've not actually ever used NT for this sort of thing, so I'm not familiar with the joys of SQL Navigator (for better or for worse).
In scouring the pages of freshmeat and other sources, the best tool I've found is called dbMan [fi.muni.cz]. It's based on Perl, Tk, and DBI interfaces and works quite well for some purposes.
Currently, the version I have (0.0.9pre1) lets you browse and modify tables and table data in a spreadsheet-like interface (adding new rows doesn't seem to work perfectly), run command line SQL queries with command history, and do some basic import-export functions. (check the website for more details.)
I am very interested, however, as to what other people use and if there's anything a bit more hard core than dbMan.