How to best use a ramdisk for Windows XP
670683Nov 3 2009 — edited Nov 5 2009Hi.
The company that I work for uses Oracle10g Personal Edition to analyze data (usually from .csv files) on our user's desktop PCs.
The analyzed data is usually dumped into .csv files , and then loaded into Excel for presentation. Our analysts also keep archives of tens of gigabytes of old data in oracle, although that data generally does not require high-performance processing. In the past, some of our large-data analysis could run for a couple of days, with CPU load hovering at about 1% and the disk seeking like crazy.
I have been tasked with getting maximum performance for our users.
The desktops are running Windows XP 32 bit, and have been configured with 8GB or 16GB of RAM. I have installed Ramdisk software on the desktops, with Ramdisk sizes of 4GB or 11GB. I have also added the /3GB and /userva=2900 flags to boot.ini ,
and I've configured Oracle with a SGA_TARGET of about 2.3GB.
By putting a user data tablespace, a temporary tablespace, and an undo tablespace onto the ramdrive, I have been able to obtain huge performance improvements. Since the ramdisk is relatively small, I have configured these tablespaces as fixed size on the ramdisk, with an additional expanding datafile for each tablespace located on the hard drive for overflow.
Is this a reasonable way of getting adequate performance on this hardware/OS ?
However, this configuration is very unstable. If the machine reboots without saving the ramdisk, oracle will not start. I have been writing batch files to 'auto-recover' oracle when the machine boots, but in some cases I end up manually repairing the Oracle environment. Also, saving/restoring an 11GB ramdisk to the hard drive adds about 20 minutes to a reboot. This seems extremely non-optimal.
Any suggestions for improving this concept? I've been toying with the idea of running two databases on each desktop, 'orcl' which starts automatically and runs off the hard drive , and 'ramorcl' , which is started manually and runs off the ramdrive (with extended datafiles on the hard drive). But would they be able to communicate properly?
Added tags