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: 9.2.0.6 for win32

Re: 9.2.0.6 for win32

From: mhthomas <qnxodba_at_gmail.com>
Date: Tue, 9 Nov 2004 12:06:40 -0500
Message-ID: <d6bad080041109090632601f02@mail.gmail.com>


On Tue, 9 Nov 2004 14:28:17 +0000, Niall Litchfield <niall.litchfield_at_gmail.com> wrote:
> I tend to agree. For the time being *all* threads that mention win32
> platforms in someway get starred in my gmail account.

Here is one for you, not necessarily related to the original poster's question.

Environment variables on windows behave in an unique way, and difficult to understand.

(1) There are two *types* of environment variables, system and user. In one case, e.g. 'path', the system and user variables are concatenated and the combined value becomes the value of the environment variable.

On the other hand, e.g. 'typicalOracleEnvVariable', the system and user variables are not concatenated and the user variable masks the system environment variable.

(2) The environment variables may be set for the current session, e.g. command prompt or w32 executable, using 'set', but 'set' does not *persist* to future sessions. For the opposite effect, using 'setx', the current session environment variable is not affected, but the 'setx' environment setting will effect future sessions. If you incorrectly set a system (vs user) environment variable with 'setx' it may cause irrepairable damage, because it persists globally.

(3) Fortunately, distinct user account receive *private* user environment variables, and share system variables. Private environment variables, via multiple user accounts, may not be used by newbie or 'graphical interface' administrators because of the need to configure and login to multiple accounts. Administering user accounts can be complex on windows, too.

(4) There are plenty of environment variable quirks. What would you expect from the following cases? E.g.
- Same environment variable defined at both system and user level. System variable call 'foo' is set to value 'myfoo', and user variable 'foo' is set null. Test: open a command prompt and type 'echo %foo%'. Does a null user variable mask the system environment variable? Is it the same behaviour for 'foo' as for 'path'? - The 'setx' command may effect other sessions if used to set system variables. It depends on timing when the 'setx' runs against when the other session starts.
- Most sessions do not re-evaluate their environments after launch. But, I'm not sure exactly what happens in a multithreaded application, or with exceptional applications.
- Using the GUI, e.g. My Computer|Properties|Advanced|Environment Variables, is another confusing tool. It has different sections for system and user, and you can create, edit, or delete variables but they do not officially change until you commit (click ok) or rollback (click cancel) on the Environment Variables dialog. Lots of room for error.

Windows can be enjoyable, keep saying it. ;-)

Regards,

Mike Thomas

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Nov 09 2004 - 11:02:29 CST

Original text of this message

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