Re: Help - trouble using Oracle under Windows
Date: 10 Feb 94 04:51:31 GMT
Message-ID: <Feb.9.23.51.31.1994.1920_at_pegasus.rutgers.edu>
ghollid_at_relay.nswc.navy.mil (Glen Holliday) writes:
> We're trying to make Oracle communicate with SPSS under Windows.
>Our ultimate aim is for SPSS to manipulate the info in the Oracle
>db, and we're hoping to package it in a SQL*Menu user front-end.
> There are a number of hints in the docs that say it should be
>straightforward. But we're having big trouble even getting Oracle
>to run standalone under Windows.
This should be in the FAQ. I've answered this question about 100 times. :)
Now then, MS Windows has an entirely different scheme for accessing extended memory and, you guessed it, SQLPME and the Windows scheme are totally incompatible.
But wait! there is hope. If you have enough time, patience and RAM, it can still be done. I must warn you, this does involve quite a bit of knowlege of Oracle and memory management so it's not for the faint at heart.
The big trick is to run SQLPME first but to limit the amount of extended memory Oracle chews up. By default SQLPME will try to grab all extended memory for itself. The trick is to edit the CONFIG.ORA file and insert the following line:
DYNAMIC_MEMORY=4000 The 4000 can be varied depending on how much RAM you have and how big of an SGA you need.
What this will do is tell SQLPME to only take up 4 megs of extended memory for use with Oracle RDBMS and any tools.
So, guess what the rest of the memory is for ? Windows!
But there's a catch, MS Windows 3.1 can run in one of two modes: Standard and Enhanced. Enhanced is the mode most people run in because you can take advantage of virtual memory and run DOS programs in a window. BUT, you guessed it again, Windows running in Enhanced mode can't access Oracle because of that pestky incompatibility with the memory managers. So you must run Windows in Standard mode. TO do this type: WIN /S
The /S tell windows to start in Standard mode.
Herin lies your problem. Most likely under Windows
you had a "swap file" which lets windows swap unused code out to disk giving you the illusion of having more memory. This goes out the window (sorry! couldn't resist.) This means that all of MS-Windows plus all of your program (SPSS)has to be able to load into 4 Megs. Not likely.
Your remedy is to buy more RAM or to scrap this and follow the advice below.
For now, assume you get another 4 megs of RAM so you have 8 megs of RAM available for Windows and your program (SPSS).
Now you can load all of these up and try to access Oracle. Under SQL*Net, you would normally indicate the SQL*Net driver by using the single letter prefix such as:
T: for SQL*Net TCP/IP X: for SQL*Net IPX/SPX For stand alone DOS machines, the SQL*Net "stub" is built in and has the letter S: for single tasking. Under OS/2 I think it is 2:. So in order to log into Oracle, you would need the following string: SCOTT/TIGER_at_S: Where SCOTT is the username, TIGER is the password and S: indicates the single tasking SQL*Net stuff running under MS-DOS. As a trial, give the SQL*Plus for Windows a try. It does not take that much memory and you can prove this method out before investing in more hardware. Other hints are to get rid of EMM386.EXE and SMARTDRV.EXE if you are using them. SMARTDRV can be used but unless you know what you're doing, you can corrupt the database. I've successfully run the above on a 486DX/33 with 16 megs of RAM and found it barely acceptable. When going against our new Netware Server (running Oracle 7 for Netware) accesses are about 4 times faster. So, my suggestion is to either get a dedicated server to run Oracle or to beef up your system and move over to OS/2. In this case, Oracle for OS/2 should give you everything you need and with the SQL*VDM software you can access the RDBMS from within a Win-OS/2 session. <phew> So there you have it. Any questions, please feel free to e-mail me.
Rich Holowczak
Rutgers University
holowcza_at_andromeda.rutgers.edu
Received on Thu Feb 10 1994 - 05:51:31 CET