Oracle has no service startup code for Linux



  • Apparently we have to write our own service stop/start code for Linux. Even for the more obscure ones that nobody ever heard of. Like Redhat and Ubuntu.

    What an absolute pain in the tits. We have Oracle folks here and we have Linux folks, but we don't have sodding Oracle+Linux folks

    So now I need someone to explain what a listener is and what SIDs I have and other pain in the ass shit that I care nothing for, just so I can do Oracle's job and write a service startup script

    Lazy bastards


  • Discourse touched me in a no-no place

    @skotl said:

    Apparently we have to write our own service stop/start code for Linux. Even for the more obscure ones that nobody ever heard of. Like Redhat and Ubuntu.

    What an absolute pain in the tits. We have Oracle folks here and we have Linux folks, but we don't have sodding Oracle+Linux folks

    So now I need someone to explain what a listener is and what SIDs I have and other pain in the ass shit that I care nothing for, just so I can do Oracle's job and write a service startup script

    Lazy bastards

    Are you talking about the rc/xinetd scripts to start the server running? Like the ones mentioned here?


  • @PJH said:

    @skotl said:

    my rant...

    Lazy bastards

    Are you talking about the rc/xinetd scripts to start the server running? Like the ones mentioned here?

    What you linked to was some random Linux page where a guy has made his own rc/xinetd scripts. And they're for Oracle 7. Which is from the Middle Ages.

    However, you've proved my point, even though you appear to be trying to disprove it; sure I can create my own service scripts (and I have done), but *why* should I have to? Most other shitty server apps that run on Linux come with their own service start/stop code, and we pay much less for them than we do for Oracle...



  • That's how the Linux community works. At best, anything you get is 85% complete and it's up to you to come up with the remaining 25%. Just don't ask for help because all the elitist Linux snobs will call you names and tell you to go back to Micro$uck instead of answering your questions.



  • @mott555 said:

    At best, anything you get is 85% complete and it's up to you to come up with the remaining 25%.

    New stereotype: Linux haters can't math.


  • Considered Harmful

    @Ben L. said:

    @mott555 said:
    At best, anything you get is 85% complete and it's up to you to come up with the remaining 25%.

    New stereotype: Linux haters can't math.


    You're not giving 110%?


    (YouTube link would've been much more effective. Stupid DMCA...)



  • @joe.edwards said:

    @Ben L. said:
    @mott555 said:
    At best, anything you get is 85% complete and it's up to you to come up with the remaining 25%.

    New stereotype: Linux haters can't math.


    You're not giving 110%?


    (YouTube link would've been much more effective. Stupid DMCA...)

    110%



  • @mott555 said:

    That's how the Linux community works. At best, anything you get is 85% complete and it's up to you to come up with the remaining 25%. Just don't ask for help because all the elitist Linux snobs will call you names and tell you to go back to Micro$uck instead of answering your questions.

    Away with ye - what a half-assed response (even ignoring the dubious maths). Most Linux apps do come with service start/stop code, and I'm as much of an elitest Linux snob as the next one. But we pay good money for Oracle and expect to be able to use it without having to fart around creating service scripts for something as ubiquitous as Redhat.

    If I had been trying to do this on some random, R&D-focused, 0.0001% market share variant, then I'd be more likely to accept your point of view.

    Can you imagine if Oracle didn't ship service code on Windows and suggested that "This is how the Windows community works - you just need to get Visual Studio out and knock up a service installer app in C#"

    It's not unreasonable to expect this multi $10k pile of shit to be able to get itself up in the morning without having to be prodded with a sharp stick



  • @skotl said:

    But we pay good money for Oracle and expect to be able to use it without having to fart around creating service scripts for something as ubiquitous as Redhat.
     

    I'm guessing they'd prefer you to use Oracle Linux instead.

    But yeah, it's a WTF that Oracle don't seem to be interested in Linux/Unix support in this manner. An argument of having to support several different distros and hence different frameworks is utter bollocks - just something as simple as a startup/stop script and some example rc/upstart stuff that people could butcher to meet their specific needs ought to be better than bugger all.

    I had to butcher some scripts to get Oracle running under ubuntu a bit ago; whilst I accepted the fact it was an unsupported distro (and it was only a dev environment) I couldn't help thinking I wasn't the only one that had done this.



  • Glad it's not just me! Cheers, Cassidy.



  •  It's not like they have startup scripts for Oracle Linux either. Keep in mind that Oracle Linux is a clone of RHEL with different branding and some extra patches. Even the vendor-supplied pre-install RPM doesn't automate that bit.

     I think the logic is that the database startup process should be customized for each site, or something. It can get complicated if you have multiple Oracle homes, multiple listeners, etc. on the same box.

    Although you'd think they'd be able to capture that logic in configuration files and have a script or utility that could navigate them that isn't brittle (cough *dbstart* cough).



  • @kirchhoff said:

    I think the logic is that the database startup process should be customized for each site, or something.

    That's no excuse not to have any startup/shutdown scripts. That's more an understanding of who runs them.

    @kirchhoff said:

    It can get complicated if you have multiple Oracle homes, multiple listeners, etc. on the same box.
     

    Bollocks. It doesn't need to be complicated - Apache can service multiple listeners, multiple homes and multiple user contexts all from one account, and Oracle have managed to integrate startup/shutdown stuff into Windows services.

    It's more a mentality that under *nix the process is manual and they don't give a fuck. They know *nix people are neckbeardy toejam hackers that will sneer at anything Oracle scripted so it's easier just to back off and let them massage their tobacco-stained keyboard into reinventing the wheel.

    @kirchhoff said:

    Although you'd think they'd be able to capture that logic in configuration files and have a script or utility that could navigate them that isn't brittle (cough *dbstart* cough).

    Oh. Erm.. yeah. That.



  • Oracle documentation includes step by step instructions including the necessary init scripts (ie. http://docs.oracle.com/cd/B28359_01/server.111/b32009/strt_stp.htm).

    The scripts may be absent from the installation due to the risk-benefit analysis in production environments, rather than complexity or laziness.

    In a production environment, automatic startup is a liability during an emergency, a hindrance during planned server maintenance, and of no consequence while a server is up and running normally.

    Sure, automatic startup scripts have their use, and may even be necessary in some production systems, but they are probably not common in serious production installations.

    On a different note, you will be better off if you can cross train some folks between Oracle and Linux. Without any overlap, your folks will be liable to make sub-optimal decisions, or worse. One book I could recommend for your whole team (Oracle folks and developers mostly, but will also interest the curious and competent Linux folks) is "Effective Oracle by Design" by Tom Kyte.


  • Discourse touched me in a no-no place

    @bwolf said:


    In a production environment, automatic startup is a liability during an emergency, a hindrance during planned server maintenance, and of no consequence while a server is up and running normally.

    Sure, automatic startup scripts have their use, and may even be necessary in some production systems, but they are probably not common in serious production installations.

    You're talking utter bollocks. Stop it.


  • @bwolf said:

    On a different note, you will be better off if you can cross train some folks between Oracle and Linux. Without any overlap, your folks will be liable to make sub-optimal decisions, or worse. One book I could recommend for your whole team (Oracle folks and developers mostly, but will also interest the curious and competent Linux folks) is "Effective Oracle by Design" by Tom Kyte.

    Or, better yet, dump Linux and Oracle and go for Microsoft Windows Server and SQL Server and an ASP.NET Web stack.  The savings in license fees for add-ons to oracle in order to bring it up to par with SQL Server OOB will greatly enhance the cost-benefit analysis. 



  • @PJH said:

    @bwolf said:


    In a production environment, automatic startup is a liability during an emergency, a hindrance during planned server maintenance, and of no consequence while a server is up and running normally.

    Sure, automatic startup scripts have their use, and may even be necessary in some production systems, but they are probably not common in serious production installations.

    You're talking utter bollocks. Stop it.
    I can't tell if you are serious. Are you aware that opening an Oracle DB can turn minor problems into bigger problems under the right (wrong) circumstances?


  • @bwolf said:

    Are you aware that opening an Oracle DB can turn minor problems into bigger problems under the right (wrong) circumstances?
     

    You're going to have to be a little more specific than "Some things may have effects, sometimes, maybe not"



  • To put it shortly, "opening" an Oracle database is committing some things as permanent, mostly related to recovery.

    You give up on any chance of restoring further incremental backups, for example.

    You accept a damaged tablespace as permanently lost (in some scenarios).

    And if you've hacked together a warm standby without Data Guard license by manually copying and restoring archivelogs, you open the database to irreversibly promote it from standby into production role.



    Does MSSQL's RESTORE DATABASE WITH RECOVERY vs WITH NORECOVERY ring a bell for you?



  • @bwolf said:

    In a production environment, automatic startup is a liability during an emergency
     

    In an emergency, you probably wouldn't bring the prod environment up to a run level for which automatic startup kicks in. You'd bring it up in maintanence mode.

    @bwolf said:

    Sure, automatic startup scripts have their use, and may even be necessary in some production systems, but they are probably not common in serious production installations.

    I don't know of many production systems that have services set to manual startup only.

    Automatic startup is much more common in prod than testbeds.


  • Discourse touched me in a no-no place

    @bwolf said:

    @PJH said:
    @bwolf said:


    In a production environment, automatic startup is a liability during an emergency, a hindrance during planned server maintenance, and of no consequence while a server is up and running normally.

    Sure, automatic startup scripts have their use, and may even be necessary in some production systems, but they are probably not common in serious production installations.

    You're talking utter bollocks. Stop it.
    I can't tell if you are serious. Are you aware that opening an Oracle DB can turn minor problems into bigger problems under the right (wrong) circumstances?

    Please enumerate why all these services are a liability:

    [pjh@sofa ~]$ ls /etc/rc.d/rc3.d/S* | column -c120
    S03ip6tables@                   S35vboxballoonctrl-service@     S58nscd@
    S03iptables@                    S35vboxweb-service@             S60uuidd@
    S09portreserve@                 S40atd@                         S80sendmail@
    S09resolvconf@                  S50cpufreq@                     S83messagebus@
    S10network@                     S50mozillaweave@                S84avahi-daemon@
    S11auditd@                      S50network-up@                  S84haldaemon@
    S12syslog@                      S51cups@                        S90crond@
    S13irqbalance@                  S51xfs@                         S92httpd@
    S14acpid@                       S56ntpd@                        S95kheader@
    S17alsa@                        S56xinetd@                      S99laptop-mode@
    S18sound@                       S57mysqld@                      S99ossec@
    S20vboxdrv@                     S57saslauthd@                   S99rc-local@
    S26apmd@                        S57snmpd@
    S35vboxautostart-service@       S57sshd@
    [pjh@sofa rc3.d]$ 
    


    You appear to be suggesting that on any production system, that command should output nothing. (Yes, I realise that particular output is from a laptop, but a production would have a similar output.)


  • PHJ, No, you mistook a specific statement about Oracle to be some general point discussing all services. Nothing was said or implied about services other than the Oracle database. (Yes, I see how you could take that quote out of context, but your interpretation was not intended. This forum/thread/discussion is about Oracle).



  • Isn't it fantastic how we can argue about unrelated things and still all be wrong?

    bwolf: Oracle murders its databases if you start it up wrong, so you should always have to start it up manually.
    PJH: That's what maintenance mode is for! You only start with the absolutely required services and fix things. All other times, the database server shouldn't take manual interaction to start up.
    bwolf: NO YOU ARE WRONG
    Ben L.: Ha ha! Look at these morons! They know nothing about caesar salads!


  • Discourse touched me in a no-no place

    @Ben L. said:

    PJH: That's what maintenance mode is for! You only start with the absolutely required services and fix things. All other times, the database server shouldn't take manual interaction to start up.
    Lern2quote.



  • @bwolf said:

    In a production environment, automatic startup is a liability during an emergency, a hindrance during planned server maintenance, and of no consequence while a server is up and running normally.

    Concur that this is utter bollocks. When we patch five hundred servers and have to schedule reboots (taking into account server/app dependencies) there is no way I want to be logging in to each one and manually starting the applications that it hosts.

    This is why services exist, and have existed for decades.

    Your suggestion that we shouldn't do this, basically because Oracle is a heap of unreliable crapness on restart, hardly endears the rest of us to the thing, does it?


  • ♿ (Parody)

    @skotl said:

    Concur that this is utter bollocks. When we patch five hundred servers and have to schedule reboots (taking into account server/app dependencies) there is no way I want to be logging in to each one and manually starting the applications that it hosts.

    I'm no system (or Oracle or anything) admin, but it seems that if you have to manually do that as a system admin, then you've failed. I don't think you understood what he said, anyways. If you have a scheduled reboot that started with a graceful shutdown, then I suspect we'd all agree that you'd want it to come back up. But if you had something else happen, then you wouldn't want it to automatically come back up before you did whatever you needed to do to check the status.

    @skotl said:

    Your suggestion that we shouldn't do this, basically because Oracle is a heap of unreliable crapness on restart, hardly endears the rest of us to the thing, does it?

    I don't know what any other DB would do if it were stopped in some bad way, or what you'd need to do to recover from it, but it doesn't seem unreasonable, if your data is important, that a normal start up is not what you'd do. You people should stop taking reading comprehension lessons from blakeyrat, I think.



  • @boomzilla said:

    But if you had something else happen, then you wouldn't want it to automatically come back up before you did whatever you needed to do to check the status.
     

    Usually that would be under control of the OS, rather than the service itself - it's the OS that decides whether or not to trigger a service startup.

    @boomzilla said:

    I don't know what any other DB would do if it were stopped in some bad way, or what you'd need to do to recover from it, but it doesn't seem unreasonable, if your data is important, that a normal start up is not what you'd do.

    Oddly, it is precisely what you'd do for Oracle. The way in which journalling and Archive Log Mode works means you've got plenty of real-time backups that are accessible by Oracle during startup - if it detects a discrepency between control files versus data blocks and redo logs it replays them to rebuild itself back to the same state as when it stopped. Similar way to NTFS (or any other journalling filesystem) - opening it normally and letting it replay transaction logs to affect self-recovery is no longer a manual concern.

    Of course, if the server stopped due to an unrecoverable disk crash containing the data blocks then you're pretty much hosed and an Oracle startup ain't going to do any more damage thanalready exists.

    I often demonstrate this (on training courses) simply by shutting down Oracle, deleting several data files then starting it normally and when informed "ur data is brok'd would you leik to recovur click this link u moran wiv no cloo wat ur doin-->" a one-mouse click and a bit of thumb-twiddling later the DB is up and running with no ill effects. Oracle's pretty resilient like that - but you've got to configure archiving, flash recovery and a pile of other black magic to bring it into that state first.

    Which brings us neatly back to the original point: they've developed all these wonderful tools and techniques for data redundancy measures and still can't be bothered to include a decent startup script. And don't get me started on their installer, either.



  • @boomzilla said:

    I don't know what any other DB would do if it were stopped in some bad way
     

    We use databases exactly for handling that kind of problems. Any database that is worth thinking about (what includes some enterprisey ones like SQLite and Firebird) simply recovers to the last valid state, and go on with its life, with no manual adjustments needed, and without destroying all the transaction data stored at the disks. Thus, you can automatically start any of them with a script, and if something goes wrong, you just fix it later.

    I understand that Oracle does not need to provide data security, because well, it's Oracle so everybody just know it's good and not other database can be more secure... But WTF! Starting without corrupting your data is the bare minimum.


  • ♿ (Parody)

    @Mcoder said:

    @boomzilla said:
    I don't know what any other DB would do if it were stopped in some bad way

    We use databases exactly for handling that kind of problems. Any database that is worth thinking about (what includes some enterprisey ones like SQLite and Firebird) simply recovers to the last valid state, and go on with its life, with no manual adjustments needed, and without destroying all the transaction data stored at the disks.

    I thought the point was to be able to recover what happened after the last valid state. That may not have been what the other guy was talking about, but that's definitely what I was saying. wrack mentioned getting stuff after the last incremental backup, which I guess presupposes no other HA sort of setup, which Oracle obviously has. I guess I'll assume you just didn't read very carefully.



  • @Cassidy said:

    Which brings us neatly back to the original point: they've developed all these wonderful tools and techniques for data redundancy measures and still can't be bothered to include a decent startup script. And don't get me started on their installer, either.
    Does the installer try to get you to install the Ask toolbar?


  • Considered Harmful

    @El_Heffe said:

    @Cassidy said:

    Which brings us neatly back to the original point: they've developed all these wonderful tools and techniques for data redundancy measures and still can't be bothered to include a decent startup script. And don't get me started on their installer, either.
    Does the installer try to get you to install the Ask toolbar?


    ☑ Don't not refrain from not installing the Ask toolbar in none of my browsers.



  • @joe.edwards said:

    ☑ Don't not refrain from not installing the Ask toolbar in none of my browsers.
    Don't give them any ideas.




  • Non-serious reply:

    The real reason is that the uptime on a Linux system is potentially so long that the scripts almost never need to be run. So you dont really need them.

    In fact you simply switch it on, manually start services ... 

    Then sit back and feed it power, cool air and swap in new drives in the RAID array, and batteries in the UPS when they are needed, and clean out the air filters from time to time .

    If it were Windows based you would need to turn it off and reboot every time Microsoft pulls support for the version of Windows it is running. And about twice a week to keep the kiddies out.

  • Java Dev

     Wouldn't be surprised if that were true. Either the system went down cleanly, and a DBA is on hand to verify the database and start it up. Or the system did not go down cleanly, and you really want a DBA on hand to verify database integrity before you bring it up.



  • @PleegWat said:

     Wouldn't be surprised if that were true. Either the system went down cleanly, and a DBA is on hand to verify the database and start it up. Or the system did not go down cleanly, and you really want a DBA on hand to verify database integrity before you bring it up.

    We're going round in circles, here. Why would your massively expensive Oracle database not simply come up in one piece on a restart? And if it had a minor problem, why should it not be able to repair itself? MySQL can. SQL Server can. And, to be honest, Oracle can, too.

    So that's not a reason for Oracle not to ship service start scripts.

    And I need to call a DBA every time I restart a server? I don't need to call an Apache guy, or a jboss guy, or an IIS guy, or a SQL Server dba guy, when I start any of these systems.

    There is no excuse; Oracle should provide service startup scripts...



  • @skotl said:

    @PleegWat said:

     Wouldn't be surprised if that were true. Either the system went down cleanly, and a DBA is on hand to verify the database and start it up. Or the system did not go down cleanly, and you really want a DBA on hand to verify database integrity before you bring it up.

    We're going round in circles, here. Why would your massively expensive Oracle database not simply come up in one piece on a restart? And if it had a minor problem, why should it not be able to repair itself? MySQL can. SQL Server can. And, to be honest, Oracle can, too.

    So that's not a reason for Oracle not to ship service start scripts.

    And I need to call a DBA every time I restart a server? I don't need to call an Apache guy, or a jboss guy, or an IIS guy, or a SQL Server dba guy, when I start any of these systems.

    There is no excuse; Oracle should provide service startup scripts...

    Oracle does not want amateur people to mess with settings. So you must call DBA and pay his fees.



  • @Nagesh said:

    @skotl said:
    @PleegWat said:

     Wouldn't be surprised if that were true. Either the system went down cleanly, and a DBA is on hand to verify the database and start it up. Or the system did not go down cleanly, and you really want a DBA on hand to verify database integrity before you bring it up.

    We're going round in circles, here. Why would your massively expensive Oracle database not simply come up in one piece on a restart? And if it had a minor problem, why should it not be able to repair itself? MySQL can. SQL Server can. And, to be honest, Oracle can, too.

    So that's not a reason for Oracle not to ship service start scripts.

    And I need to call a DBA every time I restart a server? I don't need to call an Apache guy, or a jboss guy, or an IIS guy, or a SQL Server dba guy, when I start any of these systems.

    There is no excuse; Oracle should provide service startup scripts...

    Oracle does not want amateur people to mess with settings. So you must call DBA and pay his fees.

    Finally! - an honest answer!

    (Assuming, of course, that by "amateur" you mean non-Oracle certified, non-Oracle approved people...)



  • @skotl said:

    @Nagesh said:
    @skotl said:
    @PleegWat said:

     Wouldn't be surprised if that were true. Either the system went down cleanly, and a DBA is on hand to verify the database and start it up. Or the system did not go down cleanly, and you really want a DBA on hand to verify database integrity before you bring it up.

    We're going round in circles, here. Why would your massively expensive Oracle database not simply come up in one piece on a restart? And if it had a minor problem, why should it not be able to repair itself? MySQL can. SQL Server can. And, to be honest, Oracle can, too.

    So that's not a reason for Oracle not to ship service start scripts.

    And I need to call a DBA every time I restart a server? I don't need to call an Apache guy, or a jboss guy, or an IIS guy, or a SQL Server dba guy, when I start any of these systems.

    There is no excuse; Oracle should provide service startup scripts...

    Oracle does not want amateur people to mess with settings. So you must call DBA and pay his fees.

    Finally! - an honest answer!

    (Assuming, of course, that by "amateur" you mean non-Oracle certified, non-Oracle approved people...)


    Yes. You're right on track.


Log in to reply