?
Solved

how to collect dbms stats

Posted on 2010-11-23
11
Medium Priority
?
385 Views
Last Modified: 2012-10-06
hi how can i take out a dbms_stats reports on a particular table
0
Comment
Question by:iabhinay_dba
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 34198030
Mainly with the dbms_stats package.  There are a few different procedures in there.  Check the online docs for descriptions.
0
 
LVL 48

Assisted Solution

by:schwertner
schwertner earned 400 total points
ID: 34198038
You can check if the table is provided with statistics using the column LAST_ANALYZED in the views dba_tables or user_tables.
About histograms read the Oracle documnet "performance tunning" for the partuicular version of Oracle.

pay attention also on collecting the technical statistics over the installations.
0
 
LVL 14

Expert Comment

by:ajexpert
ID: 34198270
Check these views
INDEX_STATS
DBA_PART_COL_STATISTICS  
ALL_PART_COL_STATISTICS 
USER_PART_COL_STATISTICS 
DBA_SUBPART_COL_STATISTICS  
ALL_SUBPART_COL_STATISTICS  
USER_SUBPART_COL_STATISTICS 
DBA_TAB_COL_STATISTICS   
ALL_TAB_COL_STATISTICS  
USER_TAB_COL_STATISTICS 
DBA_USTATS               
ALL_USTATS              
USER_USTATS

Open in new window

0
Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

 
LVL 74

Accepted Solution

by:
sdstuber earned 1200 total points
ID: 34198281

simplest form

dbms_stats.gather_table_stats('YOUR_SCHEMA','YOUR_TABLE_NAME');

but as above, read the docs for more information about all of the other options
0
 

Author Comment

by:iabhinay_dba
ID: 34198763
it says insufficient privilages when i am querieng the statment
0
 
LVL 74

Assisted Solution

by:sdstuber
sdstuber earned 1200 total points
ID: 34198831
you need to have EXECUTE privilege granted on DBMS_STATS to your user
0
 
LVL 74

Assisted Solution

by:sdstuber
sdstuber earned 1200 total points
ID: 34198847
or you don't have privileges on the table itself
0
 
LVL 8

Assisted Solution

by:Chakravarthi Ayyala
Chakravarthi Ayyala earned 400 total points
ID: 34199186

exec dbms_stats.gather_table_stats(ownname =>'<table owner name>',tabname =>'<table name>',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt=>'FOR ALL COLUMNS SIZE AUTO',degree=>DBMS_STATS.AUTO_DEGREE);

Note: One should be careful about gathering histograms too.  Hence, specifying method_opt=>'FOR ALL COLUMNS SIZE AUTO' is very very important.
0
 
LVL 5

Expert Comment

by:anand_20703
ID: 34273584
Be careful with gathering statistics. Be alert about how the query/process is performing related to the table you intend to gather stats,before you gather stats. If the query/process performance goes down after you gather stats, you have options to restore the previous statistics. check the documentation for the same. In reality, this happens most of the time , particularly from 10g onwards.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question