Re: Cygwin for use on Oracle Servers
Date: Tue, 20 Oct 2009 13:56:42 +0200
Message-Id: <1320552701_at_web.de>
Hi Jared,
here are some hints I do remember quickly:
a limit in cygwin is that the fifos used are cygwin specific and thus not known as fifos to sqlplus - thus it is not possible to spool to a fifo like on unix platforms for further processing with another programs
SQLPATH is directly read from the registry by sqlplus from
HKEY_CURRENT_USER\Environment\SQLPATH
or, if there is no entry for it, from
HKEY_LOACL_MACHINE\SOFTWARE\ORACLE\<<oraclehome-name>>\SQLPATH
Because of this changing just the environment in a cygwin shell before calling sqlplus doesn't
have any effect on the SQLPATH used in sqlplus.
Thus it is not possible to use different SQLPATH values for different database-application-users
to hold the application specific scripts separatly without changing the registry during each call
which may also not be possible due to lacking permissions for Non-Administrator-Accounts.
the umask setting of a cygwin process isnot inherited through sqlplus to shell scripts started
from within sqlplus. Personally I use always a script for sqlplus starting which in addition to a
lot of another things sets the environment variable BASH_ENV to a special script does umask
setting and may do some another initialization. The BASH_ENV environment variable is inherited
through sqlplus to processes started from within it and then is used by bash shell at startup
and is just sourced like .bashrc etc. Of course to get this effect each command must be called
as argument to a bash call i. e.
$bash &my_shell_script
$bash -c 'echo hello >hello.out'
spooling files in a windows sqlplus will always have CRLF as end-of-line characters
when spooling shell scripts dynamically this will cause trouble because of the CR character
to handle this, after spooling just add a line like the following to the sql script
(define variables needed:
define dot = '.'
define minus = '-'
define ampersand = '&'
define shnam = 'my_script.sh'
)
$bash -c 'sed -e \'s/\r//\' &shnam >&shnam&dot&minus &ersand&ersand mv -f &shnam&dot&minus &shnam'
Then after making it executable a call will won't break any longer with the CR problem
$bash -c 'chmod u+x &shnam'
$bash '&shnam'
regards
kf
> -----Ursprüngliche Nachricht-----
> Von: "Jared Still" <jkstill_at_gmail.com>
> Gesendet: 19.10.09 20:01:18
> An: Oracle-L Freelists <oracle-l_at_freelists.org>
> Betreff: Cygwin for use on Oracle Servers
It seems the windows servers are going to proliferate here. (sigh)
>
> There are a number of you that are regularly using Cygwin on windows
> servers so as to have a decent scripting and cmd line environment.
>
> While I have used Cygwin casually on my own laptop for use with
> Oracle, I have never made serious use of it.
>
> If you have any tips to offer (ie. hard learned lessons) for using
> Cygwin
> it would be appreciated. If I learn enough I can consolidate it into
> a blog entry.
>
> Some examples of what I am looking for:
>
> How do you set up the PATH? (linux style or DOS style directories in
> PATH?)
>
> Any tricks to setting up the Oracle ENV variables?
>
> etc...
>
> Thanks,
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist
> Oracle Blog: http://jkstill.blogspot.com
> Home Page: http://jaredstill.com
>
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Tue Oct 20 2009 - 06:56:42 CDT