Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Programming languages that make DBA's lives easier

RE: Programming languages that make DBA's lives easier

From: Nick Wagner <Nick.Wagner_at_quest.com>
Date: Tue, 18 Feb 2003 15:08:52 -0800
Message-ID: <F001.00550E02.20030218150852@fatcity.com>


If you are just learning Korn Shell programming, I'd recommend

The Korn Shell (3rd edition)
by Anatole Olczak

it's better than others I have seen, but basic... you won't get deep enough to make any huge programs, but it should be enough for you're Oracle DBA needs.

-----Original Message-----
Sent: Tuesday, February 18, 2003 2:29 PM To: Multiple recipients of list ORACLE-L

What are the good books you guys recommend for Shell Programming? I have old edition of UNIX shells by example (by Ellie Quigley). I need to replace this with some good book.

Do I need to learn perl before reading PERL for DBAs? If so, what are the good perl books do you guys recommend?

-----Original Message-----
Sent: Tuesday, February 18, 2003 1:04 PM To: Multiple recipients of list ORACLE-L

I thought it might be worthwhile to say WHY I prefer ksh for most scripting.

As one writer put it, use a language you know. I've used ksh for years, so that is certainly one big factor in preferring it. But, that aside, if you use mostly the Bourne Shell syntax and stay away from the some of the Korn Shell syntactical candy that doesn't do anything extra, then your scripts are very easy to read, and are mostly self-documenting. For me, that is a big advantage.

If you use ksh, then you need to become reasonably proficient with a few of the more important utilities such as sed and awk/nawk/gawk and become familiar with good old regular expressions (wonderful stuff!).

One area where ksh is weak is its inability to set up a two-way socket with a child process like sqlplus. Perl can do this (for example, by using IPC::Open2). With ksh, you can send to the child, and you can receive from the child, but you can't converse with the child. Even with the coprocess (which is a pain to use), you still have one-way communication at any given time. However, 99% of the time, ksh will work fine. For that other 1% (OK, maybe 2%), you either figure out a workable compromise with ksh, or you use perl.

If you want some reading material, my recommendation is:

Unix System V: A Practical Guide
by Mark G. Sobel

(There is also a version for BSD)

This is a outstanding overview of Unix including sh, ksh, and csh programming; as well as good introductions to sed, awk, and regular expressions. It also has chapters on emacs and vi ("Remember, vi is your friend."). Amazon has the 3rd edition listed with a publish date of 1995. So there probably is some rather outdated info in the book on stuff like gopher, archie, possibly Mosaic (Oh heeeeey, cool!). Just ignore this. All the other stuff is still completely relevant and presented in what I think is the perfect level of detail -- not too verbose; not too terse -- with good examples.

Eventually, to get seriously cooking with sed and awk, you will need to get something like the O'Reilly sed and awk book. But, for ksh programming: If you work through the Bourne Shell and Korn Shell chapters of the Sobel book, it is likely that this book is all you will ever need. Another wonderful thing about this book is that it doesn't use the current trend of big fonts with big margins and thick paper to create a monster sized book. Instead, you get lots of information in a book that takes up little shelf space.
--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Stephen Lee
  INET: Stephen.Lee_at_DTAG.Com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Janardhana Babu Donga
  INET: jbdonga_at_ucdavis.edu
Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).

--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: Nick Wagner
  INET: Nick.Wagner_at_quest.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Tue Feb 18 2003 - 17:08:52 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US