Link to home
Start Free TrialLog in
Avatar of Tereza
TerezaFlag for United States of America

asked on

Oracle 9i 9.2.0.7

We are running Windows Server 2003 Enterprise Ed spk 1. I understand the issues with 32bit platforms but I also know there is a way for me to allow Oracle to take more than 4G of RAM ...I need it for streams...can someone tell me if there are some hidden parameters that I need to set in oracle or in the registry...I saw a VERY old metlink write up on some but they say they are from Oracle 8...Can anyone let me know..
SOLUTION
Avatar of virtual_void
virtual_void

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Avatar of Mark Geerlings
Mark Geerlings
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tereza

ASKER

I was concerned about this ..Its from the Oracle9i release 2 documentation...

Extended Buffer Cache Mechanism

The USE_INDIRECT_DATA_BUFFERS parameter enables the extended buffer cache mechanism for 32-bit platforms that can support more than 4 GB of physical memory.

However, the dynamic buffer cache feature requires every buffer to have a valid virtual address. This is because the underlying unit of allocation, a granule, is identified by its virtual address. For this reason, the extended cache feature is not available in the current version.
Just FYI, I ran Oracle9.2 on a WindowsServer2003 machine with 8GB of RAM for a couple years.  (We recently moved to Linux for stability, not performance or manageability reasons.)  I just used the /3GB switch and that allowed us to have an SGA of close to 2GB.  I also used a third-party utility to set up a 1GB RAM disk where I put the temporary tablespace - that was a big performance boost for us.  That product was called RamDisk Plus Enterprise and is available from: www.SuperSpeed.com.  (By the way, their technical help is about the best I've come across in recent years.)
mark,

       1G+3G = 4G. how do you use the rest 4G?

a
The O/S uses some, and we may not have used all of the RAM as effectivle as we could have.
thanks. make sense. wish you give me that 4G :)
Avatar of Tereza

ASKER

thats good to know...so I actually want more than 3G...I was using Standard addition and now they moved it to EE and gave me more memory...so I would like to take advantage of that..there is 8G and I can have as much as I like...when I read that line out of the Oracle Documentation and then on metalink info is old...I wasnt sure if my version can handle the Large memory use parameter....has anyone done this?
Avatar of Tereza

ASKER

We have the switches in the boot.ini

I implemented the use_indirect_data_buffer, db_block_buffers BUT when I try to startup it wont allow the instance to open...in the alert log it says disable cache advisory with old cache parameters and has windows memory 728343( number slightly off ashould be roguhtly 8G) so I add dv_cache_advice OFF then it hates that and wont do ANYTHING saying cant use old and new cache parameters...HELP
Avatar of Tereza

ASKER

So I wonder why that document says use a deprecated parameter ....I will try it without if anyone has any other ideas
How much RAM does your server have?  Are you sure that the large memory features of Oracle are worth the trouble (and limitations)?  You cannot have multiple block sizes in a 9i database and use indirect_data_buffers.

Remember that the Windows O/S will like to use 1-2GB of RAM for itself.  Would a RAM disk and your temp tablespace in the RAM disk give you as big (or maybe more) of a performance boost for less trouble?
Avatar of Tereza

ASKER

The system has 8G RAM...on Dell PowerEdge 6850..I dont know anything about RAM disks...I need the RAm for Streams..that is the only issues I am having with memory
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tereza

ASKER

Yes this server has one Oracle instance and the error that has been occuring is on this server Stream Queue demanding more memory..I have the parameters set to use 50% of shared memory...I actually hadnt seen this problem till we moved to the Server 2003 Enterprise Ed but I dont see how that has an effect on things..according to the sysadim it shouldnt..I have the capture and propagate side on another instance on a Dell poweredge the side Im referring to is the apply side of streams and that is where I am lagging behind then running out of memory.....
I was out of town when they changed OS's and then only saw the errors...another DB person was there at the time but couldnt figure it out...
I found another document that has calculations for the Buffers and another hidden parameter _db_latch_XX I forget the rest...also AWE_WINDOWS_MEMORY reg hack that may come to play here although I did calculate that should be 512M and default is 1G...
Monday will be more tests on the server if I can at least get the memory to be recognized then watch it run under normal conditions till I see the memory errors then I can figure out when and why it occurs...

I am really not sure that the memory caused this...like I said when I was running standard with just 1500M of Shared so that means streams had access to 750M I didnt see any issues...then while I was out of town they called me and said the new OS is on and we have memory errors..

Thanks for the help..

If the problem is clearly with Oracle Streams, have you asked Oracle Technical Assistance for help?
Avatar of Tereza

ASKER

Yes,,they say switch to 10G OR give it as much shared memory as you can...
thats why I am trying to get more of the RAM....so I finally got the parameters right so that I can access more than 3G RAM however...

I want to be able  set my Shared pool to at least 2G ( max)
and then set large pool to 400 max 700
What happens to the buffer cache that isnt being used? I kinda recall that shared pool can access this but is that true..
I havent been able to get about 1G for shared pool and 384M for large pool with these settings
I'm not sure that the shared_pool_size can be set as high as 2GB on a 32-bit platform.  Which "large memory" parameters are you using to get beyond 3GB?  Are you sure that portions of the SGA other than block_buffers can use this RAM?

Is a second instance a possiblity, or must streams run in your primary instance?  (As I said, I'm not an expert on Oracle Streams, so I don't know.)  The advantage of a second instance is the fact that it would be a separate process with its own 2GB of base RAM available.
Avatar of Tereza

ASKER

Sorry I didnt mean 2G for Shared Memory...I was thinking about what I had for my max SGA before this..which was close to 3G...now I have over 6G BUT
Both servers /PAE /3GB

Windows Server 2003 EE
I have Large Pool set to 500M, Shared Pool 1000M and the Buffer cache =4000M --> I want more to be in the shared pool than 1G what Ive done is try to get more for the large then alter command and up the shared..
_db_XXX_lru_latches=128
Use_indirect_data_buffer=TRUE
Db_block_buffers=555234 ( close)

In my windows server 2003 Standard addition...I have Shared Pool up to 1500M I havent tried to use 2G but it doesnt appear like it would stop me as long as I dont bust the max SGA....
I want to be able to set my shared memory as HIGH as possible ...
Avatar of Tereza

ASKER

Oh sorry....I forgot to address the streams part the apply will start on this machine because that is where it needs to be..in the machine that needs to have the replicated data there must be an APPLY side so there realy is no "separateing"..
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tereza

ASKER

Well what I mean is how come I can not acquire the same amount of SharedPool and Large Pool I had before and balance it out with the DB_Block_buffers...when I try to lower this value and raise the others back to what they were I receive the same errors I had before I utilitzed the _Db_XX_lru_latches...I even try to balnce that parameter out...but Im not sure Im doing it right...according to the calculations that would be 128 ...the AWE_WINDOWS_MEMORY hack didnt seem to do anything...