Home » RDBMS Server » Performance Tuning » SYSTEM STATISTICS in Distributed Enviornment
SYSTEM STATISTICS in Distributed Enviornment [message #64874] Mon, 23 February 2004 21:21 Go to next message
Prasad
Messages: 104
Registered: October 2000
Senior Member
Hi 

  Yesterday Evening I captured System statistics using DBMS_STATS by giving interval of 2 hours I think not much of load on the interval . It has populated some information in sys.aux_stats$ where multiblock readcount acheived is 29. Then next day morning I started to replicate 5 Million rows using Materilized views my database was literaly crying.Materilized log was going for full tablescan since Index was not there earlier also no index was there but not consuming that much time. It was working fine before capturing system stats. I have generated the trace for those sessions using dbms_support with wait option. I saw the waits were due to

1) db file sequential read 2) PQ ACK SEND and RECIVE

3) some buffer busy waits  

My doubt is why by capturing System stats it has slown down system performance.Once I deleted System stats and bounced db it is fine. My optimizer settings are

1) OPTIMIZER_INDEX_COST_ADJ=50

2) OPTIMIZER_INDEX_CACHING=40

3) PARALLEL_MIN_SERVERS=16

4) PARALLEL_MAX_SERVERS=46

5) PARALLEL_AUTOMATIC_TUNING=TRUE

6) DB_FILE_MULTIBLOCK_READ_COUNT=32

So all these things should drive Oracle to use indexes even when the System statistics captured right?. Replicated schema is anlyzed every three hours incrementally.

So please guide where I went wrong in utilizing System statistics to achieve better performance and any parameters needs change

Finally MTS settings won't work with parallel servers.Since My system won't change type of load is advicble to keep system stats in start mode only forever instead of 2 hours interval every 6 hours. What more privileges are required for dba user to run as job apart from "analyze any" and "select any".

Thanks in advance.

Prasad

 

 
Re: SYSTEM STATISTICS in Distributed Enviornment [message #64876 is a reply to message #64874] Tue, 24 February 2004 05:22 Go to previous messageGo to next message
Thiru
Messages: 1089
Registered: May 2002
Senior Member
your optimizer_index_caching seems to be low(40). If your buffer_cache is sufficient enough,you will be caching 80-90% of the index blocks and hence this value needs to be increased to reflect that.

db file sequential reads are usually associated with single block index reads.

If the System statistics indicate that the multiblock read time is very quick,then the optimizer inclines towards full table scans,especially when you are saying that only 40% of the index blocks are cached.

Those two are the privileges required .

SQL> select * from dba_sys_privs where grantee='TEST';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
TEST                           CREATE SESSION                           NO

SQL>  grant select any table,analyze any to test;

Grant succeeded.

SQL> connect test/test
Connected.

SQL> variable jobno number;

SQL> execute dbms_job.submit(:jobno,'dbms_stats.gather_schema_stats(''THIRU'');',sysdate,'sysdate+1',false);

PL/SQL procedure successfully completed.

SQL> execute dbms_job.run(2);

PL/SQL procedure successfully completed.



-Thiru
Re: SYSTEM STATISTICS in Distributed Enviornment [message #64879 is a reply to message #64876] Tue, 24 February 2004 09:23 Go to previous messageGo to next message
Prasad
Messages: 104
Registered: October 2000
Senior Member
Hi Thiru,

Thanks lot for the reply. Actually I have bundeled lot many doubts in one post.

1) What privileges to run DBMS_STATS.SYSTEM_STATS apart from Analyze any,select any table.
2)What is the best method to capture SYSTEM_STATS by specifying interval or Gathering mode=> START for ever,if any overhead by running GATHERING_MODE =>START continosuly.
3)For replicationg 15 Million Rows I have increased my UNDO tablespace till 80GB what is the impact of having such a large UNDO tablespace on database performance.Since 9i gives only V$undostat and DBA_UNDO_EXTENTS to monitor the UNDO tablespace.Unlike V$rollstat(GETS,WAITS,WRAPS).
or Any Good article on UNDO TABLESPACE
4)What is the impact of Parallel processing in MTS Enviorment.
5)I read that by using large block size for TEMP and INDEX tablespaces and tables with lots of FTS improves I/O performance is it true?.

I know once again I am asking lot many questions in a single thread.I think first three can be choosen for preferance over the rest 2.

Thanks and Regards
Prasad
Re: SYSTEM STATISTICS in Distributed Enviornment [message #64900 is a reply to message #64879] Sun, 29 February 2004 04:27 Go to previous messageGo to next message
Thiru
Messages: 1089
Registered: May 2002
Senior Member
Prasad,
Finally found some free time after few days of heavy performance issues(still continuing ! at my company)...

again,I'd appreciate if you could post your questions as separate threads. that makes it a lot easier for me and others to answer.

I'll take a couple of questions,here.

1) Gather_System_statistics role ( which has Select,Insert,Update,Delete on SYS.AUX_STATS$ table ). Analyze any,select any table privileges are required for analyzing other tables/schemas.

2)You should gather system statistics not forever,but in intervals of time that best reflects your system workload.

-Thiru
Re: SYSTEM STATISTICS in Distributed Enviornment [message #64912 is a reply to message #64900] Mon, 01 March 2004 20:36 Go to previous messageGo to next message
Prasad
Messages: 104
Registered: October 2000
Senior Member
Hi Thiru
Thanks a lot for the reply.Hope your office performance problems have settled down.

1) First I have implemented working fine.

2) Mine is 24/7 system I am actually pretty not sure, how the load on the system ie during which intervals
Moreover I damn new to this project for last three months application point not much exposed so I thought of gathering in continuos mode.
Infact I have created one awk script to capture system load using vmstat/sar/iostat. and thought of running as crontab in regualr intervals of 3 hours to observere the load.

Once again thanks a lot for the reply.

My next question is what is u'r opinion on using non-standard block size for Index/undo tablespace. Since while creating database it won't allow nonstandard blocksize but afterwards we can create nonstandard blocksize.But max IO
DFMRC*DB_BLOCK_SIZE=IO SIZE.Since my DFMRC is already 32 and I put 32 block size. it exceeds maximum IO of HP UNIX 1M isn't it.?

Thanks and Regards
Prasad
Re: SYSTEM STATISTICS in Distributed Enviornment [message #64923 is a reply to message #64912] Wed, 03 March 2004 08:29 Go to previous message
Thiru
Messages: 1089
Registered: May 2002
Senior Member
Prasad,
when you collect the system statistics continously,the values might get averaged out over that time and you may not get the actual picture and thats why its recommended to collect them during your busiest time or an interval of time that best reflects your system workload.

A larger block size for Index tablespace should benefit ( although I havent done this myself). The argument is that it allows for lot more leaf nodes to be stored in the data blocks.
32*32k=1MB and that matches HP's max io size. Is this a DW environment ? 32K block size is quite adequate and big,if you ask me.

-Thiru
Previous Topic: redo logs size ?
Next Topic: create index on date fields
Goto Forum:
  


Current Time: Thu Apr 18 08:37:45 CDT 2024