This content has been marked as final. Show 15 replies
XP is not a server system, 10g DB and AS on one box seems to be a little bit much. How much RAM do you have? Don't trust the minimum requirements in the installation guides,that's nothing for real life. Set Oracle services mode to MANUAL, so at least you don't have to wait so long at booting time.
My desktop has 2 GB. I'm starting to wonder if the McAfee anti-virus software has anything to do with it. But bottomline is my 9i was running great in the same environment. OK, 10g is bigger but shouldn't be this bad. I still suspect something's fouled configurations-wise.
Make an inventory of the software started with 9i vs. that started on 10g, are you also starting the DBControl Console? This is a resource consumer, What's the amount of memory your database has to reserve? The application server, even 2jee install type is also a resource consumer.
Where is this Win XP currently working? On a personal computer or on a production server?
Start the taskmanager along with the system and verify which are the top consumer processes and take a look at the IO. Most probably the bottleneck at startup has to do with excessive read/write processes. Before blaming oracle for this try to find out if there are other processes you may be required to get rid of.
Werner,Turn OFF the DB Console unless you are actually using it. Switch that service to Manual.
My desktop has 2 GB. I'm starting to wonder if the
McAfee anti-virus software has anything to do with
it. But bottomline is my 9i was running great in the
same environment. OK, 10g is bigger but shouldn't be
this bad. I still suspect something's fouled
Thanks. This is my desktop/development PC, not the production PC.
I have in fact disabled the following services from day 1:
The following Oracle services are running:
Thinking along the spirit of your advice, I would think I should disable OracleServiceORCL, too, because that's the default DB that got installed. I am wondering may be the iSQL*Plus could be disabled as well. BTW, OracleSVCMGR is my DB instance.
I'm going to have to finish what I'm working on and then restart my PC. Will update later today.
That's right, set to manual ORCL and isqlplus if it is not absolutely required. If you let the installer to create the ORCL service, then it was defined to reserve 40% of the RAM from your computer by default. So it meas, it could be grabbing about 800M of your RAM, leaving 1.2 for your current database and Application server.
I would not be so surprised to see your system is runnning nearly on the Virtual Memory region.
You're right about the memory hog the ORCL instance is. Disabling the service cuts the memory usage from 1.3 GB down to about 900 MB. Startup time is 2 minutes better - down from 6.5 minutes to 4.5 minutes to get the first browser up. Is it good enough? urrrgh... may be I can live with it. But any other tips are most welcomed.
What about the other processes that are starting? Report what you see at the boot time from the task manager. May be there are other tasks that can be avoided.
If I disable ALL Oracle services, it cuts the (browser) startup time by 2.5 minutes. So the Oracle parts itself seems to take approx 2.5 minutes to resolve. Is that normal for 10g (just 3 services: listener, process manager, and the DB instance)?
Not holding my breath, but the list of processes running are listed below:
System Idle Process
I don't see any outstanding consumer here. Normally during the startup process I monitor the taskmanager when I notice there are a lot of activity that renders my personal laptop desperately slow, and in my particular case I have observed some svchost.exe processes related, but I have found this is due to the software that automatically performs software upgrades, and because of the antivirus software.
In your case 2.5 minutes, IMO, doesn't seem to be too high, considering you have to startup four oracle applications, EM DB Control, Database, EM AS Control and the AS Instance. May be some further tuning activity, check the amount of reserved memory for the instance you kept alive, if you created it by default, most probably it is reserving 40% of physical memory too. If you don't need this amount of memory you could consider reducing the value of the sga_max_size this will automatically by default reduce the sga_target parameter size. You may check the memory advisors from EM DB Control, this will reduce some overhead during the initial memory allocation process.
On the other hand some tuning could be done on the Application Server side, depending on the components configured, i.e. the OC4J may have the 'class load on startup' setting checked, which will make the application server to ask for memory allocation procedures during startup, if it is not a production system, you may live without this feature and let the classes load on demand.
A little problem. I could only increase the sga_max_size, not reduce it. So I googled and followed some instruction and reset sga_max_size, shared_pool_size, etc., using "alter database resest ... scope=spfile". Now I've messed up my DB. When I startup, I'd get error "ORA-00371 not enough shared pool memory".
How do I recover? How do I make further changes to my spfile now that I can't even use the "alter database" command?
You can recover, try to open a sqlplus prompt and issue the command:
CREATE PFILE FROM SPFILE;
This will create an edittable text file, there you can change the values.
You can change the values of the memory allocated to sga_max_size, just make sure next time you issue the scope=spfile clause. I suggest you to let Oracle Automatic Shared Memory Manager to size the shared pool and other SGA regions automatically, just don't declare a value for these parameters or set them to Zero, and declare a value for the SGA_TARGET parameter. About 200 Mb are required by the oracle instance (verify in your particular case), if you set values too low Oracle will complain and yo have already seen what happens.
There are other ballast you can get rid of. If you are not using Java Store Procedures or other options that requrie the Java DB Server, you can deinstall it or manually create a new database with minimum memory parameters and without java.
My pfile dump looks like the following:
and I added these to the beginning of the file (copied from production svr):
But I still get the same error "not enough shared pool memory..." when I do:
SQL> startup upgrade pfile='c:\...\initSVCMGR.ora';
BTW, I used the following when I reset:
SQL> alter system reset shared_pool_size scope=spfile sid='*';
Does it mean I have to change more than one spfile??
This was the culprit that got me into trouble: