Analyze a synonym
Hi,
I am facing a problem in analyzing the synonym.
I have created a table abc in schema1. Granted all the privilleges on that table to schema2. In schema2, I have created synonym xyz for table schema1.abc.
When I analyze the synonym xyz using the following statement.
DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=> UPPER(P_SCHEMA_OWNER), TABNAME=> UPPER(P_OBJ_NAME), ESTIMATE_PERCENT=> dbms_stats.auto_sample_size, degree=> 2, CASCADE=> TRUE);
DBMS_OUTPUT.put_line ('Statistics gathered for object ''' || UPPER(P_SCHEMA_OWNER)|| '.' || UPPER(P_OBJ_NAME) || '''');
But I am getting the following error:
ORA-20000: Object does not exist or insufficient privileges to analyze
Is it possible to analyze the synonym.??
Thanks,
Well, that's obviously wrong: XYZ is not a table. This is quite easy to demonstrate. Given a user B with privileges on a table AP owned by A...
SQL> conn b/b
Connected.
SQL> create synonym xyz for a.ap;
Synonym created.
SQL> exec dbms_stats.gather_table_stats ('A', 'AP',ESTIMATE_PERCENT=> dbms_stats.auto_sample_size)
PL/SQL procedure successfully completed.
SQL> exec dbms_stats.gather_table_stats ('B', 'XYZ',ESTIMATE_PERCENT=> dbms_stats.auto_sample_size)
BEGIN dbms_stats.gather_table_stats ('B', 'XYZ',ESTIMATE_PERCENT=> dbms_stats.auto_sample_size); END
ERROR at line 1:
ORA-20000: Unable to analyze TABLE "B"."XYZ", insufficient privileges or does
not exist
ORA-06512: at "SYS.DBMS_STATS", line 10061
ORA-06512: at "SYS.DBMS_STATS", line 10084
ORA-06512: at line 1
SQL> In other words, it works with the table but not the synonym.
Note that in order to make this work at all I had to grant the ANALYZE ANY system privilege to B. This is because gather statistics requires writing to the data dictionary tables and that's normally the prerogative of SYS.
Cheers, APC
Similar Messages
-
Hi,
I am trying to build yet an other database audit script. Actually my db target are 9i/10g. The goal is to tell if the database respect some standard and good basics practice. I want to be able to parse the result because it have to run on many databases.
- Any suggestions or remarks are welcome
- your scripts (or link to some url) will be tested and welcome
- I may provide you the source script when it will be advanced.
- You may note that i was inspired for the beginning on a script in www.dba-village.com
The actual defined rules are following :
Instance hiddens parameters
Events valuated in init.ora
Spfile unused
Having no Jvm and Java Pool not set to 0
Difference with v$parameter and spfile
Database Control file name not following rule name
Datafile not folliowing rule name
Redo logs file name not following rule name
Archivelog file name not following rule name
Spfile file name not following rule name
Directories udump, bdump, cdump not following rule name
Tablespace Tablespace having extents no multiple of db_bloxk_size *db_file_multiblock_read_count
Tablespace having data and index
Tablespacfe dictionnary managed
Tablespace not having uniform extent
Tablespace empty
None temporary segment in temporary tablespace
MaxExtent of system tablespace
Role Dangerous Role granted
Privilege Dangerous Privilege Granted
System user granted on object to application user
non system user granted to system schema
Schema Samples schema installed
Segment Non system segment in tablespace sysaux
Non system segment in tablespace system
Lob not in specific tablespace
Objects Objects having blank in name
Columns having blank in name
Datafile Datafile in autoextend mode
Datafile in autoextend mode without maximum
Schema Samples schema installed
User having objects with name like "SYS%'
User having not default tablespace
User having not temporay tablespace
Statistics Statistics with different date on same schema
Schema without Statistics
Table Big table, with statistic without index
Big table, without statistics without index
Table > 10 go with statistic unpartionned
Table > 10 go without statistic unpartionned
Table having more than two unique index
Little table with statistic having index
Little table without statistic having index
Index Index having constraint disabled
Little table with statistic having index
Analyzed table but not analyzed index
synonym Phantom synonym
Data Type used long, long raw, and char
The actual Draft (1st result) is following :
-- Instance Information --
Cpu_Count 2 | Host_Name CBID5000133
Instance_Name puma | Database_Status ACTIVE
Status OPEN | Startup_Time 02-08-2007 10:14
Version 10.2.0.3.0 | Instance_Role PRIMARY_INSTANCE
Database log mode ARCHIVELOG
Background Dump Dest C:\ORACLE\ADMIN\PUMA\BDUMP
Spfile C:\ORACLE\10.2.0\DATABASE\SPFILEPUMA.ORA
-- Database Space (Mb) 1073 | SGA (Mb) 276 --
-- Nb. Datafiles 5 | Nb. Tempfiles 1 --
Data Buffer Hit ratio 96,0 | Library Buffer Hit ratio 99,9
Dict. Buffer Hit ratio 81,0 | Switch number (last hour) 0
Session number 4 | Active session number 4
Redo size (Kb) 51200
Dba_Tablespaces Status OK | V$Log Status OK
V$Datafile Status OK | V$Tempfile Status OK
V$Recover_File OK | V$Recovery_Log OK
Lock number 0 | Indexes unusable 0
Tablespace in Backup Mode 0 | Tablespace > 90% 3
Jobs Broken 0 | Objects Invalid 0
Shared_Pool Failure 0 | Latch > 1% 5
Trigger Disabled 16 | Constraint Disabled 27
-- More Instance Information --
07_dictionnary_accessibility FALSE Db_Keep_Cache_Size 0
Compatible 10.2.0.3.0 Db_Block_Size 8192
Created 31-07-2007 14:03 Logins ALLOWED
Cursor_Sharing EXACT Sort_Area_Size 65536
Db Name PUMA Dbid 3523213029
Db_Cache_Advice ON Db_File_Multiblock_Read_Count 8
Db_Cache_Size 0 Open_Cursor 300
Db_Domain Null Db_Unique_Name puma
Log_Archive_Format ARC%S_%R.%T Remote_Login_PasswordFile EXCLUSIVE
Open_Mode READ WRITE Logins ALLOWED
Processes 150 Pga_Aggregate_Target 95420416
Sga_Target 289406976 Sga_Max_Size 289406976
Shared_Pool 0 Java_Pool_Size 0
Statistics_Level TYPICAL Job_Queue_Processes 10
Undo_Management AUTO Undo_Retention 900
Undo_Tablespace UNDOTBS1 Nls_Character_Set WE8MSWIN1252
-- Tablespaces --
% Largest
Alloc Used Free Used Nb Free % Ext. Ext. Auto
Content Tablespace Name (Mb) (Mb) (Mb) Space frag Ext.(Mb) Coal. M. Ext.
PERMANENT SYSTEM 480 472 8 98.3 2 7.9 100 LOCAL Yes
SYSAUX 240 234 6 97.7 14 4.8 100 LOCAL Yes
EXAMPLE 100 77 23 77.4 3 19.8 100 LOCAL Yes
USERS 5 3 2 65.0 1 1.8 100 LOCAL Yes
sum 825 787 38 20
TEMPORARY TEMP 20 20 0 100.0 LOCAL Yes
sum 20 20 0
UNDO UNDOTBS1 30 30 0 99.4 3 .1 100 LOCAL Yes
sum 30 30 0 3
Tablespace Fragmentation Details
Tablespace FRAGMENTATION_STATUS
EXAMPLE Bubble Frag
SYSAUX Bubble Frag
SYSTEM Bubble Frag
UNDOTBS1 Bubble Frag
USERS No Frag
* Fragmentation Summary
Database total size: 855MB
Fragmentation total size: 0MB,
that is 0% of total
Table fragmentation size: 0MB,
that is 0% of total
Index fragmentation size: 0MB,
that is 0% of total
* Table Fragmentation Summary by Tablespaces
aucune ligne sélectionnée
* Index Fragmentation Summary by Tablespaces
aucune ligne sélectionnée
============================================================================================
OBJECTS FOR REORGANISATION
============================================================================================
* This script reports the table that is highly fragmented
============================================================================================
ALL OBJECTS WITH NUMBER OF EXTENTS > 500 (except temporary and rollback segments)
============================================================================================
============================================================================================
ALL TABLES WITH PERCENTAGE OF CHAINED ROWS > 0.1% (acceptable < 3%)
============================================================================================
============================================================================================
ALL TABLES WITH FREESPACE/BLOCK > 2*PCTFREE
============================================================================================
============================================================================================
ALL TABLES WITH PERCENTAGE OF EMPTY BLOCKS (ABOVE HWM) > 50% (waisted space)
============================================================================================
============================================================================================
display the table name and column name of the tables that need to be indexed
============================================================================================
TABLE_NAME CONSTRAINT_NAME TABLE_TO_BE_INDEXED COLUMN_TO_BE_INDEXED
CHANNELS COSTS_CHANNEL_FK COSTS CHANNEL_ID
PROMOTIONS COSTS_PROMO_FK COSTS PROMO_ID
REGIONS COUNTR_REG_FK COUNTRIES REGION_ID
COUNTRIES CUSTOMERS_COUNTRY_FK CUSTOMERS COUNTRY_ID
EMPLOYEES DEPT_MGR_FK DEPARTMENTS MANAGER_ID
============================================================================================
lists foreign keys that are missing indexes
on the foreign key columns in the child table. If the index is not in place
share lock problems may occur on the parent table
============================================================================================
Missing Index
HR-> COUNTR_REG_FK(REGION_ID[1]) ***** Missing Index
HR-> DEPT_MGR_FK(MANAGER_ID[1]) ***** Missing Index
SH-> COSTS_CHANNEL_FK(CHANNEL_ID[1]) ***** Missing Index
SH-> COSTS_PROMO_FK(PROMO_ID[1]) ***** Missing Index
SH-> CUSTOMERS_COUNTRY_FK(COUNTRY_ID[1]) ***** Missing Index
-- xx. Objects having blank in name --
Rule xx - MICKY TABLE "test blank"
-- xx. Empty tablespaces
Rule xx - Tablespace MICKY_02 vide
Rule xx - Tablespace MICKY_03 vide
Rule xx - Tablespace MICKY_04 vide
Rule xx - Tablespace MICKY_05 vide
-- xx. Analyzed index but not analyzed table
Rule xx Index SYS_IL0000052024C00022$$ not analyzed but table CUSTOMERS is.
Rule xx Index SYS_IL0000052024C00023$$ not analyzed but table CUSTOMERS is.
Rule xx Index SYS_IL0000052024C00022$$ not analyzed but table CUSTOMERS is.
Rule xx Index SYS_IL0000052024C00023$$ not analyzed but table CUSTOMERS is.
-- xx. Dangerous Privilege Granted
Rule xx -> Grantee PRIVILEGE ADM
Rule xx SCHEDULER_ADMIN CREATE ANY JOB YES
Rule xx WMSYS UNLIMITED TABLESPACE NO
Rule xx XDB UNLIMITED TABLESPACE NO
Rule xx OLAP_DBA CREATE ANY TABLE NO
Rule xx OLAP_DBA LOCK ANY TABLE NO
Rule xx OLAP_DBA ALTER ANY DIMENSION NO
-- xx. Table name and column name of the tables that need to be indexed
Rule xx -> TABLE_NAME CONSTRAINT_NAME TABLE_TO_BE_INDEXED COLUMN_TO_BE_INDEXED
!Rule xx CHANNELS COSTS_CHANNEL_FK COSTS CHANNEL_ID
!Rule xx PROMOTIONS COSTS_PROMO_FK COSTS PROMO_ID
!Rule xx REGIONS COUNTR_REG_FK COUNTRIES REGION_ID
!Rule xx COUNTRIES CUSTOMERS_COUNTRY_FK CUSTOMERS COUNTRY_ID
!Rule xx EMPLOYEES DEPT_MGR_FK DEPARTMENTS MANAGER_IDHi, for Oracle 10g you can use the Oracle Policy for custom alerts, then you can monitoring the database from Oracle Database Control.
Regards. -
Analyze Table required on a Global Temp. Table
Hi,
This is the background. We have a Windows reporting Oracle Server where we write stored procedures to access data mainly based off a warehouse residing on a unix box. DBLinks have been setup and synonym's created .
We create Global Temp. Tables to store temp. data used by our report stored procedures. I have one query that accesses 5 remote tables and one local table
The query was taking hours to run...after some research i found out that when I did an "Analyze Table" on my Global temp. table, the query came back in a few minutes.
My confusion is that this table being a GTT.. it will always be empty when we run "Analyze Table" on it. What information is oracle? Do we need to run "analyze table" on all our GTT's created for different reports?
Second question on show query plan
Also if I do a query plan on this query ORacle dooes not provide a plan on the remote tables. If i change the query by removing the reference to the local table and hardcoing some vlaues, oralce returns a query plan for the query which now only uses the remote tables. Is this correct?Hi,
you can fake the statistics of the temporary table.
First create a real table (with indexes) that looks like the temporary table. Load the table with representative data.
Then
dbms_stats.gather_table_stats(ownname=>'schemauser',tabname=>'TEMPCOPY');
dbms_stats.create_stat_table(ownname=>'schemauser',stattab=>'TEMPSTATS');
dbms_stats.export_table_stats(ownname=>'schemauser',tabname=>'TEMPCOPY',stattab=>'TEMPSTATS'); --do that for every index
dbms_stats.export_index_stats(ownname=>'schemauser',indname=>'INDEXNAME',stattab=>'TEMPSTATS');Now we import the generated statistics:
dbms_stats.import_table_stats(ownname=>'schemauser',tabname=>'TEMPTABLE',stattab=>'TEMPSTATS');
dbms_stats.import_index_stats(ownname=>'schemauser',tabname=>'TEMPTABLE',stattab=>'TEMPSTATS'); --for every indexOf course you can create a set of statistics and load them as needed.
Dim
dbms_stats. -
Adding words to analyzer spell check
Is there some way to add words to the VI Analyzer Spell Checker so that it doesn't flag words that are spelled right but aren't in the list it uses?
Tay
Solved!
Go to Solution.Add them to your User Dictionary.
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness -
I am having a minor but nagging problem with a regression in the er_print utility of the Sun Performance Analyzer suite bundled in Studio 12. is there maybe a patch available or in the works?
I have not had any success in finding a resolution by searching the open literature
The issue is that the callers-callees listing only dumps functions in alphabetical order, ignoring the sort order specified by sort. This is a regression from the Performance Analyzer (7.4) behavior from Sun Studio 10. We only recently jumped to studio 12.1.
This functionality is documented here: http://docs.sun.com/app/docs/doc/821-0304/afaid?a=view (as well as many other references). To quote:
callers-callees
Print the callers-callees panel for each of the functions, in the order specified by the function sort metric (sort)."
I use a script input to er_print that in the past analyzed the top N functions sorted on inclusive thread time. Now I have to be sure to dump ALL functions and need a third-party search tool to find that information in the resulting report.
Has anyone heard of this problem or are there Performance Analyzer patch(es) available. I saw some for 7.6 and another for unspecified but have not seen this problem in patch notices.
Thanks.
Regards,
SteveNik, thanks for taking a look. We can't go to 12.2 because we're a software developer and we'll lose our binary compatibility with the release we've been building for the last few months. I'm a systems guy and will paste in a developer's example below.
Note Marc's url shows a 12.1 Performance Analyzer patch 142369-01 we have not yet installed. The patch notice description doesn't show much. I'll pass on patch info to remote user/developer.
Developer example:
I use a script input to er_print that in the past analyzed the top N functions sorted on inclusive thread time. Now I have to be sure to dump ALL functions and need a third-party search tool to find that information in the resulting report.
Heres a shortened (only 4) example of the behavior Im seeing the focus of the functions in callers-callees are NOT those of the functions determined by the sort metric.
= = = =
sysun046% er_print /scratch/test.4.er
/scratch/test.4.er: Experiment has warnings, see header for details
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) sort i.total
Current Sort Metric: Inclusive Total Thread Time ( i.total )
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) cmetrics a.total:e.user:i.user:e.total:i.total
Current caller-callee metrics: a.total:e.user:i.user:e.total:i.total:name
Current caller-callee sort metric: Attributed Total Thread Time ( a.total )
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) limit 4
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) sample_select 22-53
Exp Sel Total
=== ===== =====
1 22-53 57
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) functions
Functions sorted by metric: Inclusive Total Thread Time
Excl. Incl. Incl. Total Name
User CPU User CPU Thread
sec. sec. sec.
26.015 26.015 113.530 <Total>
0. 26.015 113.530 ACE_Task_Base::svc_run(void*)
0. 26.015 113.530 ACE_Thread_Adapter::invoke()
0. 26.015 113.530 ORB_Task::svc()
(/opt/sunstudio12.1/bin/../prod/bin/sparcv9/er_print) callers-callees
Functions sorted by metric: Inclusive Total Thread Time
Callers and callees sorted by metric: Attributed Total Thread Time
Attr. Total Excl. Incl. Excl. Total Incl. Total Name
Thread User CPU User CPU Thread Thread
sec. sec. sec. sec. sec.
113.530 26.015 26.015 113.530 113.530 *<Total>
113.530 0. 26.015 0. 113.530 lwpstart
Attr. Total Excl. Incl. Excl. Total Incl. Total Name
Thread User CPU User CPU Thread Thread
sec. sec. sec. sec. sec.
0.010 0. 0.010 0. 0.010 ACE_Message_Block::clone(unsigned long)const
0. 0. 0.010 0. 0.010 *ACE_Data_Block::clone(unsigned long)const
0.010 0.398 0.398 0.398 0.398 memcpy
Attr. Total Excl. Incl. Excl. Total Incl. Total Name
Thread User CPU User CPU Thread Thread
sec. sec. sec. sec. sec.
0.001 0. 0.003 0. 0.011 ACE_Select_Reactor_T<ACE_Select_Reactor_Token_T<ACE_Token> >::resume_handler(int)
0.001 0.001 0.001 0.001 0.001 *ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Token> >::release()
Attr. Total Excl. Incl. Excl. Total Incl. Total Name
Thread User CPU User CPU Thread Thread
sec. sec. sec. sec. sec.
0.010 0. 0.010 0. 0.010 TAO_Synch_Queued_Message::clone(ACE_Allocator*)
0. 0. 0.010 0. 0.010 *ACE_Message_Block::clone(unsigned long)const
0.010 0. 0.010 0. 0.010 ACE_Data_Block::clone(unsigned long)const
= = = = =
Nik, thanks for taking a look.
Steve -
Hi
I wonder to know what is the enterprise solution for windows and application event log management and analyzer.
I have recently research and find two application that seems to be profession ,1-manageengine eventlog analyzer, 2- Solarwinds LEM(Solarwind Log & Event Manager).
I Want to know the point of view of Microsoft expert and give me their experience and solutions.
thanks in advance.Consider MS System Center 2012.
Rgds -
Error when starting Bex analyzer
Hi All!
We have a world wide BW-SEM application. In one country they get the following error message when starting Bex analyzer:
<install error> Missing ActiveX component: Business Explorer Global Services
Does anyone have a hint on what to do?
Thanks for your help!
Best Regards
Pontushi
try to check with SAPBEXC.xla
and take a look oss note 585643
may need to manual register .dll with regsvr32
Do an Installation check of the BEx Analyzer as follows:
In the bex analyzer menu, Business explorer -> Installation Check -> Once the excel sheet opens, press the start button to start the check. Check the entries in red to see any missing/old ocx, dlls. -
AWM: Can not see the synonyms in the mappings pane
Hi, using the AWM 11.2.0.1.0A, in the mappings pane under the item Synonyms does not appear any synonyms although there are some of them (private synonyms) in the user's scheme.
Any hint?
Thanks.I just tried this in 11.2.0.1 and the synonym showed up in AWM. I ran the following (in the sample GLOBAL schema)
create synonym prod_table for product_dim;
Note that product_dim is a table in the GLOBAL schema, and I ran the above statement as GLOBAL.
I then attached AWM as GLOBAL and saw prod_table show up in the synonyms folder of the mappings pane. What are you doing that is different from this? -
Analyzer 6.1.1 Not showing all data in 800x600 PC screen settings
I have a user not able to see the whole Analyzer view due to their client pc settings for screen size being set at 800x600. I created the Anazler views with my setting at 1024x768. I need the Analyzer server to make all of the views to be 100% instead of using pixels.
Hi man. Put de border and the proprierts to ajust fit screen. So, when the user open in 800x600, the report will ajust automaticaly in the screen.Regards,Gustavo Santade
-
Satatus of Data in Bex Analyzer
Hello ,
is it possible to hide "status of data" in bex analyzer ? I have read some documents but all are say it is only possible with Web Designer.
I have a query from a Multiprovider and I don't wnt to show Status of data information in the report .
thank you ,
blueYou can goto design mode in the workbook and delete the text element which is showing status of data, come out of design mode and save the workbook.
Edited by: Pravender on May 18, 2010 2:19 PM -
How can I access a database remote without using dblink, synonyms,aliases?
My store procedure access a remote tables using dblink, synonyms, alias, but by business company requirenments I nedd to use another data base access method. My PL/SQL statement looks like
select c.cus_id, c.cus_name, p.bankaccno
into v_cus_id, v_cus_name, v_bankaccno
from customer c, payment@finantial p
where c.cus_id = p.cus_id
Are any method else to connect to several remote databases concurrently?
If Yes, plase say me how is it, or tell me where do I obtain some examples, or any documentation.
Edited by: user518321 on Apr 21, 2009 1:58 PM
Ok, But I must not use any of these data base access method, metioned: dbliks, aliases, synonyms.
Edited by: user518321 on Apr 21, 2009 2:05 PM
Ok, It is enough for now, I am surprised for the response time and for their arguments, thanks a lot.
Edited by: user518321 on Apr 21, 2009 2:50 PMIf you want to access a table in a remote database using SQL, you will need a database link. It would be exceptionally odd for the business to require that you access a remote database and to prohibit the use of database links. What is the business reason for that combination?
If you want to look into rather more esoteric solutions, you could load a JDBC driver for the remote database, write a Java stored procedure that queries the remote table using that JDBC driver, and then cobble together some PL/SQL that joins the two result sets. You won't be able to reference the remote table in SQL and the solution won't scale well as data volumes increase and you'll be writing a whole lot of code to manually join tables together, but it does avoid database links. Of course, whatever concerns lead to the ban on database links would probably apply to loading a JDBC driver into the database and writing Java stored procedures to access the remote database, but since you haven't explained the reasoning behind the restrictions, we're just guessing.
Justin -
SAP BPC MS 7.5 with Extended Analytic Analyzer and EPM connector
Hi experts,
I need your inputs regarding Extended Analytic Analyzer add ins.
I installed the SAP Business Object Extended Analytic Analyzer hoping to integrate the Xcelsius in SAP BPC MS 7.5
I am following the HTG to integrate but got lost.
In EPM connector steps, I cannot find the option from OPERATION TYPE: Retrieve data using Analyzer Report.
The only options available under operation type are
EPM Report
Retrieve Environments
Retrieve Models
Retrieve Dimensions
Retrieve Dimension Members
Input Data
Retrieve Business Process Flows
Retrieve Context
Retrieve Members Property Values
RetrieveText From Library
It doesn't include the option Retrieve data using Analyzer Report.
Im wondering if there are different version of the epm connector? Was my EPM connector differs from the HTG?
And also in Excel under Extended Analytic Analyzer, the function =GETREPORTDEFINITION() is missing
Please help me on this guys..
Thanks in advance.
yajepeIt seems a very good oportunity to use FIM.
FIM was designed especially for exchange data betweeen different SAP product.
FIM will provide an easy way to do the conversion using wizards and also will assure you about data inetgrity and quality.
This will be the way forward but more details has to be define during the implementation.
I hope this will help you.
Kind Regards
Sorin Radulescu -
"analyze index" vs "rebuild index"
Hi,
I don't undestand the difference between "analyze index" and "rebuild index".
I have a table where I do a lot of "insert" and "update" and "query", What is the best thing to do ??
thanks
GiordanoWhen you use dbms_stats.gather_schema_stats package with cascade=>true option, you are also collecting stats for the indexes, no need to collects stats separately using dbms_stats.gather_index_stats.Of course, but I refered to the rebuild index question. Therefore I only mentioned the GATHER_INDEX_STATS.
Auto_sample_size has many problems/bugs in 9iOk didn't know that - I'm using 10gR2.
But this discussion made me curious. So I tried something (10gR2):
CREATE TABLE BIG NOLOGGING AS
WITH GEN AS (
SELECT ROWNUM ID FROM ALL_OBJECTS WHERE ROWNUM <=10000)
SELECT V1.ID,RPAD('A',10) C FROM GEN V1,GEN V2
WHERE ROWNUM <=10000000;
SELECT COUNT(*) FROM BIG;
COUNT(*)
10000000
So I had a Table containing 10 Million rows. Now I indexed ID:
CREATE INDEX BIG_IDX ON BIG(ID)
I tested two different methods:
1.) GATHER_TABLE_STATS with estimate 10%
EXEC DBMS_STATS.GATHER_TABLE_STATS(TABNAME=>'BIG',OWNNAME=>'DIMITRI',CASCADE=>TRUE,ESTIMATE_PERCENT=>10);
It took about 6 seconds (I only set timing on in sqlplus, no 10046 trace) Now I checked the estimated values:
SELECT NUM_ROWS,SAMPLE_SIZE,ABS(10000000-NUM_ROWS)/100000 VARIANCE,'TABLE' OBJECT FROM USER_TABLES WHERE TABLE_NAME='BIG'
UNION ALL
SELECT NUM_ROWS,SAMPLE_SIZE,ABS(10000000-NUM_ROWS)/100000 VARIANCE,'INDEX' OBJECT FROM USER_INDEXES WHERE INDEX_NAME='BIG_IDX';
NUM_ROWS SAMPLE_SIZE VARIANCE OBJEC
9985220 998522 ,1478 TABLE
9996210 999621 ,0379 INDEX
2.) GATHER_TABLE_STATS with DBMS_STATS.AUTO_SAMPLE_SIZE
EXEC DBMS_STATS.DELETE_TABLE_STATS(OWNNAME=>'DIMITRI',TABNAME=>'BIG');
EXEC DBMS_STATS.GATHER_TABLE_STATS(TABNAME=>'BIG',OWNNAME=>'DIMITRI',CASCADE=>TRUE,ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE);
It took about 1,5 seconds. Now the results:
NUM_ROWS SAMPLE_SIZE VARIANCE OBJEC
9826851 4715 1,73149 TABLE
10262432 561326 2,62432 INDEX
The estimate 10% was more exact - also a 1,7 and 2,6 percent variance is still ok. It's also very interesting, that using AUTO_SAMPLE_SIZE
causes oracle to execute a estimate 5% for the index and a estimate 0.5 for the table.
I tried again with a table containing only 1 Million records and oracle did an estimate with 100% for the index.
So for me I will continue using AUTO_SAMPLE_SIZE. Its very flexible, fast and accurate.
Dim
PS: Is there a way to format code like one can do in HTML using <code> or <pre>? -
Rebuild index vs Analyze index
Hi All,
I am realy confused about rebuilding index versus Analyzing index.
Could anyone plz help me out what is the diffrence between them.
How to Perform analyze of indexes and Rebuld of Indexes for both Oracle 9i and 10g databases.
Thanks a lotCKPT wrote:
You can see the posts of experts by jonathan
I am realy confused about rebuilding index versus Analyzing index. tell us you are getting confused why we need to ananlyze before reubild index? if so
if index analyzed the whole statistics of index will be gathered.... then you can check what is the hieght of the index.. according to the height of the index you need to take step is index need to be really rebuild or not...
lets see furhter posts from experts if not clear..Thanks OK, so you determine the height of an index is (say) 4. What then ? If you decide to rebuild the index and the index remains at a height of 4, what now ? Was it really worth doing and do you rebuild it again as the index height is still 4 and still within your index rebuild criteria ? At what point do you decide that rebuilding the index just because it has a height of 4 is a total waste of time in this case ?
OK, so you determine the index only has a height of (say) 3, does that mean you don't rebuild the index ? But what if by rebuilding the index, the index now reduces to a height of just 1 ? Perhaps not rebuilding the index even though it has just a height of 3 and doesn't currently meet your index rebuild criteria is totally the wrong thing to do and a rebuild would result in a significantly leaner and more efficient index structure ?
So what if it's pointless rebuilding an index with a height of 4 but another index with a height of 3 is a perfect candidate to be rebuilt ?
Perhaps knowing just the height of an index leaves one totally clueless after all as to whether the index might benefit from an index rebuild ...
Cheers
Richard Foote
http://richardfoote.wordpress.com/ -
Decimal Point in Analyzer 6.2.1
Hi all,Is it possible to set on server Analyzer 6.2.1 the decimal symbol and digit grouping symbol for the format of numbers ?When it has to be done the export to Excel, the number format are taken from Analyzer server. If the Regional Options from the client part for decimal symbol and digit grouping symbol are different from Analyzer server, the export in Excel it does not work properly. Is possible to set the export to Excel to take the number settings from the client part ?
As far as I know this shouldn't be the case. The Java applet should take local client settings period and not be affected by how the server is set. You should ensure that you have the 'international' version of the Sun Java Plugin installed and not the UK/US version. Hope this helps.Paul Armitage.Analitica Ltd.www.analitica.co.uk
Maybe you are looking for
-
Vocabulary for web design and beyond
Anyone tackling web design will encounter dozens of unfamiliar terms. I have compiled together this glossary to help them. I may update and expand in the future. Until then, feel free to use or pass along. Some of these terms don’t relate strictly to
-
Hi, I am trying to install 4 Adobe apps onto a new iMac but Apps in Creative Cloud doesn't list any apps but says there is a download error and to contact customer support. I can sign in fine with my username and password. Rick
-
CO41 taking more time to execute
Hi, I am running CO41 (PRD System), but the time it is taking to execute is extensively high. Ultimately i have to kill the sesison to stop the process. What can be the probable reason for the same. My Inputs to CO41 are, Planning Plant MRP Controlle
-
Sopund Blaster 5.1 VX Not working with Win 7
I have a SB 5. VX not working with Windows 7 , Please reply any comlete solution.
-
In my application, i am using a graphical counter for score. It has several effects that would be too hard to render real-time, so i have my whole animation converted to 2525x45px picture. In my application, i am cutting this image to 100 bitmapDatas