Linux

Installing Oracle on Linux is too difficult


Even though I'm not working in an Oracle environment any longer, I still want to maintain and expand my Oracle skills. Since I don't have a company-sponsored Oracle database to use now, I needed to set up an Oracle database myself. I thought I'd use a Linux box for Oracle but, after struggling with the installation, I decided to stick with running Oracle on Windows.

I'm neither a Linux admin nor an Oracle DBA, which partly explains why I'm having so much trouble getting Oracle installed properly on a Linux machine. But the installation is just too complicated, especially compared to the same installation on Windows.

The weird thing is that, on both operating systems, you run the same installer: the Oracle Universal Installer. But on Linux, there's a ton of pre-installation steps that you have to do first such as setting up the right accounts, directories, and user groups. Thankfully, Oracle has assembled links to some of the best guides for installation on Linux.

Even when I thought I had the pre-install steps completed properly, the Universal Installer would complain about one thing or another. And, of course, the darned Installer doesn't have any ability to fix the problem -- you just have to quit the installation. I wish it could at least handle the installation of pre-requisite software; instead, you have to manually rpm those yourself. It's not a huge deal, but I still compare this to Microsoft's SQL Server install, which can handle much of its own pre-requisite software if necessary.

But even if you follow all the pre-install steps properly and the Universal Installer runs without problems, you still don't end up with what I would call a working installation. You still have to do post-installation steps manually to get the database to where it will automatically restart when the OS is rebooted. To me, that should be part of the installer's job. On most Windows installers, that is just part of the installation -- you don't have to do something manually when it's done.

Like I said, a lot of my problems might be due to the fact that I'm more comfortable on Windows than on Linux. But I still think Oracle could stand to spend more time making its Linux installation smoother.

144 comments
ernestm
ernestm

Yeah, installing/working on any UNIX is harder, but you get a lot out of it - who runs Oracle on Windows for anything serious? "Queries running slow? I guess you need to reboot the server!"

kpthottam
kpthottam

"Gimme a daycoder raised on Linux" , true I understand what you meant , but again you are missing the point which a mere description of what practically happened rather than the hypothetical case that you are painting. Let me be honest , I can imagine you should be right , but practically I haven't met such a person. Besides the whole theme of the article is about the type of daycoders I described not the type you described. The only encouraging thing about this thread is the passionate defense of desktop linux. Let us see how the world will be in 10 years from now when all those "one laptop per child" children grow up... On a closing note , I trust my linux boxes for on-line commerce / banking etc.. so I do share your passion but haven't had a great experience proselytizing others.

phil
phil

So the research for the article didn't take you anywhere near Oracle Unbreakable Linux then? Our software has always used an Oracle database running on a Linux server and before that HP-UX. We do this because once it's installed and running on Linux we never have to touch the machine. The OS and DB software work so well together and are so reliable that at times, as one of our clients did, we forget they are there. The same cannot be said for any database running on a Windows server. If an easy installation is all you want then that's fine. Actually being able to reliably use the database post-installation is obviously not a concern.

rpark
rpark

I had absolutely no problems installing Oracle XE on Novell Suse 10, and I am a complete Linux newbie. You should try XE. It's better for learning Oracle anyhow.

techn0gichida
techn0gichida

The 30-60 minutes of Linux configuration is well worth it. What must be imagined is installation of the server software without X. After a minimal text installation the X parts needed for Oracle installation can be added. Now you'll have database server that won't fail. I've used CentOS, Redhat and Oracle Unbreakable Linux. CentOS is by far the best.

kpthottam
kpthottam

Let us talk about the elephant in the room, Linux is a server / appliance OS which is trying to become an desktop OS. If it had succeeded wouldn't people start adopting it in the millions ? windows on the other hand has always been a desktop OS, hence ease of use has been it's primary consideration. So really this article is about usability , and as usual easy to use windows won. Let us be clear windows to me is perfect for experimenting like what you need to do, while linux is perfect for a high QoS. I love linux , in fact all my e-commerce ( online banking , online shopping etc) I do from my linux OS , but for non -confidential browsing, testing software , I use windows. So you can see who I trust :)

durval.medeiros
durval.medeiros

I really don't know your skill level about Linux or Unix. I just can explain my experience with Oracle and Solaris. that now is free also. The installation on Solaris is very easy and flat as in Windows but very, very better. The operation of Oracle 10 on Solaris 10 is several times better than Windows either on x86 platform. I recommend read it: http://www.oracle.com/pls/db102/portal.portal_db?selected=11 and http://vegdave.wordpress.com/2006/08/31/oracle-10g-on-solaris-10-sparc-installation-notes/

apotheon
apotheon

"[i]Yeah, installing/working on any UNIX is harder[/i]" I disagree. It may require some getting-used-to, but Unix is not "harder". It's just different. In fact, in many ways, it's [b]easier[/b] to use.

apotheon
apotheon

"[i]The only encouraging thing about this thread is the passionate defense of desktop linux.[/i]" I, for one, do not passionately defend Linux these days. I don't even like Linux all that much (I'm a FreeBSD man these days). I passionately defend accuracy and honesty, however.

Absolutely
Absolutely

[i]So the research for the article didn't take you anywhere near Oracle Unbreakable Linux then?[/i] The article doesn't say that Oracle can't be run, it implies that it doesn't play well with [most] others. Having a Linux distribution built specifically for Oracle suggests a need for a Linux distribution built specifically it, which I think is hard to cast as anything but a drawback. Sure, Oracle has its strengths, but installing easily on Linux in general does not seem to be one of them. [i]The same cannot be said for any database running on a Windows server. If an easy installation is all you want then that's fine. Actually being able to reliably use the database post-installation is obviously not a concern.[/i] Without a doubt, reliability and manageable post-install maintenance are more important than installation problems, provided those installation problems are solved.

linux003
linux003

Hi, You are absolutely correct.I also struggled with oracle installation in linux platform till I touch with Oracle Unbreakable Linux(OUL).Its nice.Meanwhile OUL is also take some time for both pre and post installation.The reliability is nice.I dont get any much more difficulty in OUL.

Tony Hopkinson
Tony Hopkinson

You sound like someone from Norton! It's nothing to do with the operating system and everything to do with the installer. I've binned several products because their installers were crap, what it does is irrelevant if it doesn't work and or breaks the rest of my machine.

apotheon
apotheon

MS Windows isn't a more usable OS than Linux distros -- and that's [b]certainly[/b] not why Oracle's basic install is simpler on MS Windows. What a load of rancid knackwurst. Most software is easier to install on most Linux distributions than on MS Windows -- especially open source software, but including some closed source software as well. The reason Oracle installs more simply on MS Windows is just the fact that Oracle puts more effort into making the install easy for MS Windows.

apotheon
apotheon

Why bother with Solaris? Us BSD Unix instead. . . . and use something other than Oracle while you're at it -- like PostgreSQL. I'm not a big fan of intentionally obtuse software like Oracle's. OpenSolaris is better than MS Windows as a database platform, though. You're right about that. I just prefer BSD Unix over SysV Unix for a number of reasons.

alex_fihman
alex_fihman

Just don't compare Oracle with MySQL, it is like comparing tractor with a sports car. Yes, sport cars running fast, but would it be able to do heavy work? Will MySQL be able to handle hundreds concurrent sessions without locking up? If someone else pays for license, I'd prefer to use Oracle. For recreation and small websites I prefer MySQL.

Absolutely
Absolutely

"[i]The only encouraging thing about this thread is the passionate defense of desktop linux.[/i]" But, as typed, it looks more like a subtler version of the tiresome preference => emotion => irrational fallacy that gives us the nonsensical epithet "Linux Zealot." Again, I give the benefit of the doubt, until proven otherwise, beyond a reasonable doubt.

kpthottam
kpthottam

Application developers are a different breed from infrastructure + OS engineers. Seeing the way my development teams have struggled with linux has made me see light. Besides I actually tried an experiment at home with my non- IT wife - I gave her Lindows instead of windows to see can use it. The results - she has been bugging me to fix the XP machine because she finds that much easier. Concluding my advise - stop seeing windows VS desktop linux thro the eyes of a computer consultant and instead pick the experiences of computer users.

apotheon
apotheon

That sounds more like an apology for MySQL than an argument for it.

Jaqui
Jaqui

and if you think about it, adding the replication functionality by a configuration change is as easy as installing a module and configuring it? ;) In this case, I think it speaks better for MySQL in scalability to have the replication features already to go when needed. Heck, I've seen a mysql powered website slow down hugely, with only 150 concurrent connections. I know that it's not as good as it could be, but that can be said for every db engine. [ PHP-Nuke script website did not like anything over 80 concurrent connections, sql file was 50 MB]

apotheon
apotheon

You should check out the [url=http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL]MySQL vs. PostgreSQL[/url] page at WikiVS. There are still significant differences between the two. For instance: 1. MySQL generally only outperforms PostgreSQL in low-load conditions if you sacrifice ACID compliance. Otherwise, PostgreSQL tends to outperform MySQL -- especially under high-load conditions. 2. PostgreSQL offers far better SQL standard compliance than MySQL. 3. MySQL doesn't currently provide on-the-fly compression capabilities (though it's planned with the release of a new storage engine called Falcon). 4. PostgreSQL offers procedural programming extensions to SQL similar to Oracle's PL/SQL, in the form of PL/pgSQL -- which is really useful for things like triggers and stored procedures. MySQL doesn't. 5. MySQL doesn't support use of external programming languages in triggers at all. PostgreSQL, on the other hand, supports execution of any user-defined function from any of its supported languages. 6. While we're at it, I'm pretty sure the same situation as for triggers applies to stored procedures. 7. If you don't need replication for your database, you can just skip using a replication module with PostgreSQL -- which was designed in a modular fashion for just such purposes as this. MySQL integrates replication with the whole DBMS, which means that any time you install MySQL, you install its replication features, too. 8. Subqueries impose tremendous performance overhead on MySQL. This is not the case for PostgreSQL. 9. MySQL's full-text search capabilities don't work with InnoDB, which basically means that you must choose between ACID compliance and full-text search. PostgreSQL is always ACID compliant. 10. MySQL doesn't support partial indexes, bitmap indexes, or expression indexes, though with some chicanery and jumping through hoops involving triggers and precomputed columns you can emulate some of the effective functionality of expression indexes. PostgreSQL supports all of these without issue. 11. Non-blocking index generation is supported by PostgreSQL, but with MySQL it's dependent upon which storage engine you use. If you're running a very high-load database implementation, you definitely don't want the database write-locked in the middle of a busy period to build an index. As a result of these differences, among others, in many cases I wouldn't use MySQL as an Oracle replacement. On the other side of things, MySQL offers synchronous replication, depending on your choice of storage engine. As far as I'm aware, PostgreSQL only offers asynchronous replication for high availability, though EnterpriseDB offers synchronous replication capabilities (i.e. "DB clustering") if you're willing to spend a little money to have that capability with PostgreSQL. I imagine that functionality will be incorporated into PostgreSQL soonish, though.

Neon Samurai
Neon Samurai

My initial need wasn't a heavy enough load to make a difference so I pretty much flipped a coin and chose the MySQL apache plugin rather than the PostgreSQL plugin so it was my first non MS database introduction.

Jaqui
Jaqui

in terms of use, they are equally easily used, equally secure, equally robust and equally fast. definitely good options for most people. with language support, both are equal in number of languages that can be used to write apps to connect to them. and both beat Oracle hands down in that department. Both beat Oracle in ease of install. It really does boil down to which engine the person who will be responsible for maintainence is more comfortable with though.

apotheon
apotheon

If I was going to make a comparison with Oracle, I'd rather choose PostgreSQL -- and if someone else was going to pay, I might go with EnterpriseDB (unless I decided we didn't need it, in which case PostgreSQL would be my choice anyway).

apotheon
apotheon

While hundreds of concurrent connections doesn't have to be a problem for MySQL, I'd go with PostgreSQL for high-load database uses before either Oracle or MySQL.

Neon Samurai
Neon Samurai

.. probably why all those webservers getting hundreds of concurrent sessions use MySQL.

Jaqui
Jaqui

when the app is compiled, the code for the extra os options isn't used. so most of it is in the source form only. with any publicly available widget set there is going to be bloat, code that you never use is inherent in that. Someone needed the code once, and it was included in every widget in the set since. :D GTK is not as badly bloated as most are. and it's available for all operating systems. to bad the dev tools for it are all limited in functionality.. GLADE, the most common GTK tool, design the UI and assign events...but a terrible ui, it's scattered into little bits all over the display. source editing and app debugging is not supported with Glade. [ not even wxglade to use wxwidgets. ]

Tony Hopkinson
Tony Hopkinson

is the realisation that it's just another layer of abstraction. To a user an Ubuntu desktop looks little different to a windows one, at least functionally. You could with a little effort apart from may be the logo (for legal reasons), make it look exactly alike. But as we ofen say Linux Windows. Click on the command line icon, and the sh1t just got well different, even with dos extension to the shell. :p Widgets, eclipse, java, .Net/mono, Mickey Mouse II, no different. It's just hiding stuff, so it won't bother the poor dumb user, who in this case is a developer. The difficulty I have with the concept is the differences are always gnawing on my ass. I once spent over two weeks on an off trying to figure out why in a completely unthemed application, having themes on or off, raised the error Attempt to create MDI child with no parent. F'king irritating as hell, eventually found it with a stack trace, but it was down to the windows message queue and so of course never showed yup while I was debugging, and that's the same operating system ! The there was captions being blank in a win32 app running under XP 64. Another lot of arsing about. Too many possibilities for any one to cope with them all, so you either lose the functionality you got the OS for in the first place, or every now and then it doesn't do what it says on the tin. I gave up on the entire idea epoch's ago, avoids all sorts of assumptions that are only 'facts' in the marketing bumf.

Tony Hopkinson
Tony Hopkinson

Too generic, or just bloated in an other way. I can understand the rationale behind single IDE, but I have to take the lids off things far too often, to trust the label on the front. There I was fooolishly believing I'd bought prime steak in gravy, and a quick check revealed dog food. I ain't that hungry yet.

Neon Samurai
Neon Samurai

Why I never went into Comp Sci, I'll never know but I didn't so I had to ask.

Jaqui
Jaqui

manually add the conditional statements for system calls to support multiple operating systems.. and in the case of the gimp, they had to wait until GTK was ported to windows as well. There is usually a make target at last for every os supported, if not a completely separate makefile for each os. wxwidgets makes it far less labour intensive for a software company to support multiple operating systems. I know several smaller software companies that support windows and osx, and they complain about having two different code bases for the same application. Mozilla is in a unique position, they have thier own widget definition that they made work for all operating systems, so any Mozilla based app will build for all operating systems, just like wxwidgets. Mozilla used to call it the GRE, a java-like ui specification.

Neon Samurai
Neon Samurai

I have all these running on two or more OS. Are they all being managed through multiple projects for each osX, win32, *nix code bases? Ok, it's a half serious question; these are cross platform (too many OS for anything to be platform agnostic) but at the same time, my programming knowledge is not earning me any money so the serious half is wondering how these manage to function across platforms if it's not possible.

Jaqui
Jaqui

is write a wrapper so that "system specific" code is used. if it's a windows based app, it uses MFC, if OSX it uses Cocoa, if any *x system, QT or GTK, your choice. wxwidgets is just the gui tool, developers have to write the events they want happening on any user action. from their website: wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. A lot of people say cross platform means Java, with wxwidgets, the options increase, and to make it even better, it's one code base even with system calls, since wxwidgets handles the os specific code. Quite likely there will be tons of bloat in the code, since it's got the conditionals for every os supported, but with a single code base for most operating systems, that is a trade-off that could be worth it. If there was a single IDE for every os that was built specifically for wxwidgets apps, then it would be a much easier task to get commercial software houses to adopt the widget set and expand their os supported range. edited to add: http://wxwidgets.org/ the url :D

apotheon
apotheon

"[i]True merely navigating to the link that fires the development environment isn't the tough part . But the tough part is taking care of other support duties like documentation , design , knowledge sharing etc...for these tasks productivity is poor... One could go on about the strengths .. but the bottom line isn't the possibilities but rather what was experienced...[/i]" If the guy managing the migration doesn't know the platform well enough, and hasn't prepared for the migration by choosing some toolsets to cover all needed and expected functionality, the fault is squarely on his shoulders. Period. It's not like excellent tools for documentation, design, knowledge sharing, and so on, don't exist. It sounds like what you "experienced" was piss-poor planning.

apotheon
apotheon

"[i]assuming they are daycoders , you just proved the point that linux desktop isn't meant for the mainstream.[/i]" Nope. Gimme a daycoder raised on Linux, then try to switch him to MS Windows, and you'll get the same thing. Same with daycoders on MacOS "classic" moving to MacOS X, MacOS X to MS Windows, MS Windows to Z/OS, Z/OS to MacOS, and so on. "[i]A mainstream tool is one which is suitable to both the daycoders as you call it or the average joe , as well as the wiz 24 hour coders.[/i]" Actually, a "mainstream tool" is whatever makes you feel like you made the right choice because others have made the same choice, so you don't have to think about whether it actually [b]is[/b] the right choice.

Tony Hopkinson
Tony Hopkinson

You don't need Linux to bump into something like that. Introduce Lotus Notes far better way of making a complete arse of things. Or I suppose get rid of it, would cause as many. Again this says to me, adding another OS to those you support or use wasn't adequately prepared for. You didn't really expect it to just work, did you?

Tony Hopkinson
Tony Hopkinson

Waht does it do when an OS provides functionality that another doesn't. Say versioning in VMS for instance. A feature VMS coders make great use of. So do you cripple one Have a differnt piece of code on the other? Or cripple the entire thing an not go near the file system? Marketing BS in my opinion.

Jaqui
Jaqui

but the tools are not really up to snuff. wxWidgets, one code base, most operating systems supported. The best development tool for them is Bloodshed's DevC++, which, if you install the full wxwidgets library with all os support in it rather than just the library for the os running, will allow you to build executables and wrap them in an installer for every supported os. DevC++ uses gcc in mingw for it's compiler. development of DevC++ seems to have stopped though. maybe Bloodshed decided against buying a new version of Delphi to continue making it. edited to add: almost worth it to install an older version of linux to see if I could port devC++ to linux with Kylix, and then use it to make an IDE for wxwidgets, using wxwidgets, for all operating systems.

kpthottam
kpthottam

assuming they are daycoders , you just proved the point that linux desktop isn't meant for the mainstream. A mainstream tool is one which is suitable to both the daycoders as you call it or the average joe , as well as the wiz 24 hour coders.

kpthottam
kpthottam

True merely navigating to the link that fires the development environment isn't the tough part . But the tough part is taking care of other support duties like documentation , design , knowledge sharing etc...for these tasks productivity is poor... One could go on about the strengths .. but the bottom line isn't the possibilities but rather what was experienced...

Tony Hopkinson
Tony Hopkinson

It's platform agnostic , therefore the OS is irrelevant, the only thing they had to do with was to click on the icon in their desktop.. Or just may be the claim of platform agnosticism is in fact, at best, dubious. The 'best' approaches to it merely hide all the differences, so they aren't immediately apparent. Often in different executables, for different platfoms, sometimes different versions of same, sometimes multiple ones being available and trampling each other willy nilly. When the vendor comes out with a virtual machine agnostic development tool, you could revisit using Linux then?

Tony Hopkinson
Tony Hopkinson

to be taken with a lorry load of salt. In fact make that one per JVM. Relying on a vendor interpretation of what that means even in environments they say it's supports is an exercise in failure. That's before you even start with lowest common denominator... The only good thing about the idea is it's very hard to point fingers when they are crossed so tightly. I can't imagine developing truly platform agnostic software and a platform agnostic development environment is some sort of foolish lie in my book.

apotheon
apotheon

Sounds like my guess was right on the money, with regard to "your" developers: "Are you sure you didn't have trouble with your developers just because they're daycoders who were trained on one platform to the exclusion of all others, through rote memorization, and would object to having their jobs made easier if it required learning something new? I'm pretty sure that must be why you had problems with them adjusting to Linux, if that really happened."

kpthottam
kpthottam

The applications we develop are cross platform. So most of them have to atleast deploy the application in various test environments. In term of environments we have AIX , HP-UX , Solaris , Redhat & windows. So they are truly exposed to all the most popular OSes. In terms of the tools we use eclipse which is platform agnostic. Training is a subjective term... yes we did have a couple of walk thro-s .

kpthottam
kpthottam

1. These are java J2EE developers - so really it hardly matters whether the windowing system is x11 or MS windows . 2. The tools used are eclipse which runs on all platforms. 3. As for my non-IT wife , well I started her off with Redhat 7.x or 6.1 awhile back and then when she got her new laptop pre-loaded with ME , she found the transition simple and this was years ago when we got initially married. Before getting married she had used DOS. So it isn't a case where she has always been using MS windows. Most non-IT work places in the 90s in India used DOS

kpthottam
kpthottam

I wouldn't remain married if I asked her to install oracle on linux :)

Tony Hopkinson
Tony Hopkinson

Did any of your people have any experience with an non windows OS ? Did you give them any training ? Did you let them pick the tools ? Every time I've shifted operating systems I've had to unlearn and relearn loads of stuff just to get started. The only thing working though five/six different ones has given me, is a complete lack of surprise that it wasn't a piece of cake. Sheesh...

Tony Hopkinson
Tony Hopkinson

Erm, yes and no Some easy, some hard, some totally impractical. Surprise. The big difference is once you get past cookie cutting, you have to go under the hood much quicker with non windows OS's. However, the catch is easy to find, you can get decent manuals and the parts are properly and clearly labelled. I'm going to go back and hassle him now, I missed that bit from shock about what he did to his wife, Lindows...

apotheon
apotheon

"[i]Application developers are a different breed from infrastructure + OS engineers. Seeing the way my development teams have struggled with linux has made me see light.[/i]" Are you kidding? 1. My experience is that developing for MS Windows is a severe pain in the butt, and developing for Unix-like systems is a joy by comparison. 2. Developers I've talked to who have worked with both have said things like "The X Window System is the most horribly painful GUI architecture to work on -- except for MS Windows. That's much worse." 3. The last place I worked as a corporate network administrator and IT resource manager, the VP was talking about moving the mail server to MS Exchange and moving all the developers from Linux systems to MS Windows. The developers' reaction was interesting -- it became quickly obvious that if the developers were forced to give up Linux, they'd riot. Are you sure you didn't have trouble with your developers just because they're daycoders who were trained on one platform to the exclusion of all others, through rote memorization, and would object to having their jobs made easier if it required learning something new? I'm pretty sure that must be why you had problems with them adjusting to Linux, if that really happened. "[i]Besides I actually tried an experiment at home with my non- IT wife - I gave her Lindows instead of windows to see can use it. The results - she has been bugging me to fix the XP machine because she finds that much easier.[/i]" You'd get the same results, in reverse, if you had a non-IT wife who was used to Debian and tried her out on Windows ME. Lindows/Linspire is basically the WinME of Linux. "[i]Concluding my advise - stop seeing windows VS desktop linux thro the eyes of a computer consultant and instead pick the experiences of computer users.[/i]" I think your experience with non-Microsoft OSes is probably far too limited for you to be qualified to give good advice on the matter.

Tony Hopkinson
Tony Hopkinson

try to install Oracle under lindows ? You're lucky that's all she's bugging you about. My missus would give me an extra big smile if I abused her like that.

Editor's Picks