Checking table index consistency
Hi Gurus,
I wanted to know to check the table consistency(for indexes) and how to find out how do they differ from the previous versions.
Thanks,
Mike
hi jo,
new versions of tables will be delivered in each release.
so while upgrading u need to use the tranasctio SPAD for importing the changes from prev release.
>>"index does not exist in database system ORACLE" means indexes have not been created in your database.in such case u need to activate the table.also use the path which i have given above for checking the consistency of your table.Also check with your BASIS if problem still persists..
Cheers,
Abdul Hakim
Similar Messages
-
New tables & indexes created do not show up in dba_segments view
Dear all,
I have created 3 tables and some indexes, but these objects do not show up in dba_segments view. Is this a normal behaviour? Previously, with dictionary managed tablespace, I can specify the minimum extent to create, when the table/index is created. But I'm not sure how the locally managed tablespace work. Please do advice. Thank you very much in advance.
I'm using Oracle 11g R2 (11.2.0.1.0) for Microsoft Windows (x64), running on Windows 7.
For the purpose of reproducing this issue, I have created the tablespaces as follow:
CREATE TABLESPACE CUST_DATA
DATAFILE 'd:\app\asus\oradata\orcl11gr2\CUST_DATA01.DBF' SIZE 512K
AUTOEXTEND ON NEXT 256K MAXSIZE 2000K
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K
SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE CUST_INDX
DATAFILE 'd:\app\asus\oradata\orcl11gr2\CUST_INDX.DBF' SIZE 256K
AUTOEXTEND ON NEXT 128K MAXSIZE 2000K
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLE CUSTOMER_MASTER (CUST_ID VARCHAR2 (10),
CUST_NAME VARCHAR2 (30),
EMAIL VARCHAR2 (30),
DOB DATE,
ADD_TYPE CHAR (2) CONSTRAINT CK_ADD_TYPE CHECK (ADD_TYPE IN ('B1','B2','H1','H2')),
CRE_USER VARCHAR2 (5) DEFAULT USER,
CRE_TIME TIMESTAMP (3) DEFAULT SYSTIMESTAMP,
MOD_USER VARCHAR2 (5),
MOD_TIME TIMESTAMP (3),
CONSTRAINT PK_CUSTOMER_MASTER PRIMARY KEY (CUST_ID) USING INDEX TABLESPACE CUST_INDX)
TABLESPACE CUST_DATA;
SQL> SELECT TABLE_NAME, TABLESPACE_NAME
2 FROM USER_TABLES
3 WHERE TABLE_NAME LIKE 'CUST%';
TABLE_NAME TABLESPACE_NAME
CUSTOMER_MASTER CUST_DATA
SQL> SELECT INDEX_NAME, TABLESPACE_NAME
2 FROM USER_INDEXES
3 WHERE TABLE_NAME LIKE '%CUST%';
INDEX_NAME TABLESPACE_NAME
PK_CUSTOMER_MASTER CUST_INDX
SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, BYTES
2 FROM USER_SEGMENTS;
no rows selectedPrior to 11g, when you created a table or whatever, you automatically allocated one extent.
This is now no longer true and depends on a parameter I don't remember.
dba_segments is a summary of dba_extents.
Obviously, if there is no extent allocated, the table (view is defined with inner join) will not show up.
You could qualify this is as a bug and submit a SR to Oracle. But then the performance impact may be huge.
Sybrand Bakker
Senior Oracle DBA -
Hi
Can anybody tell me how the BWA decides when a fact table index gets split into multiple parts? We have a number of very large cubes that are indexed and some have a fact table index that consists of one logical index which is made up of multiple physical indexes but other, similar sized cubes, just have one very large physical index for the fact table.
With the one very large physical index we seem to get an overload problem but when they are split into multiple parts we don't.
Thanks
MartinHi Martin,
this depends on the reorg config and the attribute of the index. You can manually trigger a splitting of an index via command 'ROUNDROBIN x', x stand for the number of parts which the index will be split to. Therefore you have to go into trexadmin standalone tool -> landscape right click on index -> split/merge index...
If you want an automatically split, you have to setup your reorg settings. Goto trexadmin standalone tool -> tab reorg -> options -> here you can choose the type of algorithm. Have a look into note 1313260 and 1163149.
Do you have a scheduled reorg job?
Regards,
Jens
PS: Every black box can be understood... -
How to check table is creating or not
Hi,
I am creating only one table by running a table creation script(table.sql) which contain 366 partition.but I dont know whether table is creating or not.it is taking long time,sometimes I feel like script is hanging.even before running the script I have even spooled but spool file shows nothing. so how to check table is creating or not from background? can anyone please let me know abt this.this is bit urgent
sql>spool table.log
sql>@table_partition.sqlhi,
I am running the script table_partition which consist of 366 partition and 31 sub partition but the script is hanging.there is no hint in alert log file or anything wat might be the reason is it because of extent size? as extent size for this tablespace where table has to be create is 1mb,wat i suspect is do i need to set for higher value inorder to avoid this?
with regards;
Boo -
Problem with table-indexes when using select-options in select
Hello experts,
is it right that table-indexes will not be used if you take select-options to select data from the database?
in detail:
i have build up an table-index for one of our db-tables and test it via an test-programm. The first test with '=' comparisons worked fine. Every key of the index was used; checked via ST05!
e.g.: SELECT * FROM TABLEA INTO ITAB WHERE keya = '1' AND keyb = '2' AND keyc = '3'.
Now i startet the test with select-options
e.g.: SELECT * FROM TABLEA INTO ITAB WHERE keya IN seltabA AND keyb IN seltabB AND keyc IN seltabC.
First of all i just filled the seltabs with only 1 value: eg: seltabA= SIGN = 'I' OPTION = 'EQ' LOW = '1' etc.
Everything worked fine. Every key of the index was used.
But now, I putted more than one entries in the seltabs e.g.
seltabA: SIGN = 'I' OPTION = 'EQ' LOW = '1'
SIGN = 'I' OPTION = 'EQ' LOW = '2'
SIGN = 'I' OPTION = 'EQ' LOW = '3'
From now on, the indexed was not used completely (with all keys).
Isn't that strange? How can i use select-options or sel-ranges with using the complete table-indexes?
Thanks a lot,
MarcelHi Hermann,
i hope this helps:
this is the first one, which uses the complete index:
SELECT
"KOWID" , "LIFNR" , "KLPOS" , "ORGID" , "KOART" , "MATNR" , "GLTVON" ,
"GLTBIS" , "WERT" , "ABLIF" , "FAKIV" , "AENAM" , "AEDAT" , "AFORM" ,
"HERSTELLER" , "ARTGRP" , "OE_FREITXT" , "ARTFREITEXT" , "STATUS" ,
"TERDAT"
FROM
"/dbcon/01_con"
WHERE
"MANDT" = ? AND "LIFNR" = ? AND "ORGID" = ? AND "KOART_BASIS" = ? AND
"STATUS" = ? AND "GEWAEHR_KOWID" < ? AND ( "STATUS" = ? OR "STATUS" = ? OR
"STATUS" = ? ) WITH UR
RESULT: 5 IXSCAN /dbcon/01_con05 #key columns: 4
And the second one, which does not use the complete index! The 3 ranges are filled each with 2 values. Remember; when i fill them each with only one value, the result is the same as you can see above(/dbcon/01_con05 #key columns: 4):
SELECT
"KOWID" , "LIFNR" , "KLPOS" , "ORGID" , "KOART" , "MATNR" , "GLTVON" ,
"GLTBIS" , "WERT" , "ABLIF" , "FAKIV" , "AENAM" , "AEDAT" , "AFORM" ,
"HERSTELLER" , "ARTGRP" , "OE_FREITXT" , "ARTFREITEXT" , "STATUS" ,
"TERDAT"
FROM
"/dbcon/01_con"
WHERE
"MANDT" = ? AND "LIFNR" IN ( ? , ? ) AND "ORGID" IN ( ? , ? ) AND
"KOART_BASIS" IN ( ? , ? ) AND "GEWAEHR_KOWID" < ? AND ( "STATUS" = ? OR
"STATUS" = ? OR "STATUS" = ? ) WITH UR
and here the access-plan
0 SELECT STATEMENT ( Estimated Costs = 5,139E+01 [timerons] )
5 1 RETURN
5 2 NLJOIN
5 3 [O] TBSCAN
5 4 SORT
5 TBSCAN GENROW
5 6 <i> FETCH /dbcon/01_con
7 IXSCAN /dbcon/01_con05 #key columns: 2
As you can see, only 2 keys were taken for indexed selection!
Any idea?
Kind regards,
MArcel
Edited by: Marcel Ebert on Jul 28, 2009 5:25 PM -
Error: No first field of table index in where condition
I've got following errors while doing code inspector or extended syntax check:
(Large table VEKP: No first field of table index in where condition).
My code is like below as per as code-logic.
What's the necessary changes to do to remove the above code?
SELECT VENUM
BRGEW
BTGEW
BTVOL
VOLEH
VHILM
LMENG
BREIT
HOEHE
MEABM
VPOBJKEY
FROM VEKP
INTO TABLE i_vekp
WHERE vpobjkey = w_mkpf-xblnr.
IF sy-subrc = 0.
SORT i_vekp BY venum.
ENDIF.
How can I remove the error? How to use index in where clause I'm not getting and on which key? or, should I use the statement "EC C1_NOFIRST to remove the error?
Kindly guide.> should I use the statement "EC C1_NOFIRST to remove the error?
you can not really ask this question in this forum. This check gives you hints to the most serious problems in database accesses, if you want to override it, then you should better forget about performance.
If you are not familiar how databases use indexes, then check resources in the net or in books, in
short they use indexes and the indexes are absolutly necessary with large tables, if you want to get
good performance.
But indexes can only be used in the order of their field, until a field is not used in the WHERE-condition, (gap). If the gap is already the first field, then the index can not be used at all.
In your case there is not first field of any index specified in the WHERE condition, so the SELECT might be slow. Either you can add a condition on a first index field or you have to live with a poor performance.
Siegfried -
DB02old showing Missing in R/3 DDIC Tables & Indexes in BI 7.0 system
Hi,
Db02old showing missing in R/3 DDIC Tables & Indexes ,Details given below.
Tables Indexes
Total number 63,413 88,532
Total size/kb 1,208,272,704 227,436,608
More than 1 extent 16,499 6,629
Missing in database 0 0
Missing in R/3 DDIC 5 1
Space-critical objects 0 0
Unknown indexes in ABAP Dictionary
DB indexes 1
/BIC/E101128~900
Unknown objects in ABAP Dictionary
DB tables 5
/BI0/1ASSET
/BI0/1ASSET_CLAS
/BIC/E100219
/BIC/F101145
/BIC/F101153
Why it is showing ? Please advise.
Thnks&Rgds,
Ganga.Hi Bhaskar,
I have done the below process
In T-code DB02 Menu "Go TO" -> Table and Indices -> DB <-> ABAP Dic<->Display
It is showing the below details
Other checks
Tables 1
SCI_TEMPT Should not be created in DB
I have select the SCI_TEMPT table and clicked on create in DB.
After that again I have checked the db02 t-code again it is showing the same.
Please let me know how can fix this issue.
Regards,
Reddy V. -
Table & Index Compression on 11g
Hi,
We are planning to upgrade oracle ( RAC ) from 10.2.0.4 to 11.2 and planning to turn on table and index compression. I would like to learn the pros & cons of turning compression on in a 6TB database. Any performance issues after table/index compression .
Thanks
Prince JoseHey Prince,
Just check out the below thread if it can give you some idea for the same...
Re: Index Compression in SAP - system/basis tables? -
Way to find Missing table Index in SAP ?
Hi All,
Is there any way to check missing tables index in SAP?
and also DB size ? and reorganize the index and tables?
Cheers
UsmanHi Usman,
Transaction <b>SE14, DB02</b> .. program to reorganize the index and tables .. <b>Report RSSDBREO </b>
Db Size :<b>Tr.DB02</b> Perform DB Check and you will get the size.
Or you can check on your database server sap data files systems. so you will know gross size of your DB.
Thanks
Saquib Khan
Message was edited by: Saquib Khan -
I'm a DBA working with 3 application developers, they want to know how to check for index existing for certain column
in a table in their schema,
one friend told me , to check for index existing for certain column you have to query
the view dba_ind_columns so you have to be a sysdba user
but I don't want to grant the application developers the sysdba privilage
but my friend told me , to avoid grant sysdba to the application developers, they can query the view user_indexes in their schema, but after watching the view user_indexes ,
it gives me a lot of data but doesn't give me the COLUMN NAME
how can I solve this problem which is :
Allow the application developers to check for index existing for certain column in their schema without granting them sysdba privilage.You can use that query:
select ai.index_name INDEX_NAME,
substr(ic.column_name, 1, 30) COLUMN, ic.column_position POSITION,
ic.table_name TABLE,
ai.tablespace_name TABLESPACE
from all_ind_columns ic, all_indexes ai
where ai.index_name = ic.index_name and ai.table_name = 'TABLE_NAME' and ai.table_owner='OWNER' -
ST04 -table index info.
Hi,
In ST04 I check the table index information for one table there I noticed that Last statistics date is 02.01.2006 and CHAIN COUNT is 1850 also the table is having a large no of records so will it affect the performance of the table. if so then what is the necessary action we should take and what is the ideal conditions for this or is there any rule set by SAP .
Please help.
With Regards
VinayakHi Vinayak,
what database version are you using and/or how are you updating your statistics (dbms_stats/ analyze)?
CHAIN COUNT 1850
first of all, CHAIN COUNT is only determined with analyze, not with dbms_stats.
This means your value of 1850 is as of the last statistics date done with analyze.
If you switched to dbms_stats (which was recommended) your chain count remains
on that value but your last statistics date is changed with each following dbms_stats run.
Your chain count value therefore might be much older than the last analyzed date if you
are using dbms_stats since then.
So if your are using dmbs_stats, get the current chain count with analyze.
If the number is still high check the row length if < 8kb and nr. of fields < 255 a reorganization
could eliminate your chained rows. (If you have records that are longer than 8kb and/or more
than 256 fields a reorganization could decrease the chained rows as well, for those records
that are <8kb and spanning over more than one block, but chained count will not be zero).
Generally speaking reducing chain count could reduce I/O (logical/physical).
Get in contact with your DBA in order to get the current chain count and dependent on
that reorganizing your table.
Kind regards,
Hermann -
Hi Friends,
I've a problem related to the activation table, if I want to activated always problematic because there are fields POSITION, there are errors like this view :
Activation of worklist (MST.EKA / 15.04.2011 / 11:20:59 /)
=========================================================================
Technical log for mass activation
See log XXX 20110415112056:ACT
TABL /1FB/MD___M8006P was not activated
Check table /1FB/MD___M8006P (XXX/15.04.11/11:20)
POSITION is a reserved word (Select another field name)
Field name MANDT can be provided in this system. Please do not use.
Field name SID can be provided in this system. Please do not use.
Field name TABNAME can be provided in this system. Please do not use.
Field name FIELDNAME can be provided in this system. Please do not use.
Field name AS4LOCAL can be provided in this system. Please do not use.
Field name AS4VERS can be provided in this system. Please do not use.
Field name POSITION can be provided in this system. Please do not use.
Index /1FB/MD___M8006P-01 is not in the customer namespace
Table /1FB/MD___M8006P must be created in the database
Check on table /1FB/MD___M8006P resulted in errors
=========================================================================
End of activation of worklist
please guide what must I do ... ??
Thanks
Eka SumargoHi Eka,
the acticvation will not work because of the existence of the field POSITION
"POSITION is a reserved word"
POSITION is a reserved word; these reserved words are stored in table
TRESE, and the reason should be there also.
You will have to change the field name for the activation to complete.
Kind regards,
Paul -
Hi Buddy,
I have some trouble with copy client 000 to 400, Error: Table /1FB/MD___M8001X error in DDIC - Check table with SE14.
TABL /1FB/MD___M8001X was not activated
Check table /1FB/MD___M8001X (MST.EKA/14.04.11/10:33)
POSITION is a reserved word (Select another field name)
Field name MANDT can be provided in this system. Please do not use.
Field name SID can be provided in this system. Please do not use.
Field name TABNAME can be provided in this system. Please do not use.
Field name FIELDNAME can be provided in this system. Please do not use.
Field name AS4LOCAL can be provided in this system. Please do not use.
Field name AS4VERS can be provided in this system. Please do not use.
Field name POSITION can be provided in this system. Please do not use.
Index /1FB/MD___M8001X-01 is not in the customer namespace
Table /1FB/MD___M8001X must be created in the database
Check on table /1FB/MD___M8001X resulted in errors
how to solve this problem...??
Thanks & Regards
Eka SumargoHi MST Support
Are there any other errors in SCC3. What kind of client copy you're performing SAP_ALL or CUST?
As per the logs in your post it seems that the table MD___M8001X does not exist in the database.You could try SE11 or SE14 to check the table.
Any other info would be really helpful.
Regards, -
Error in Creating Secondary Table Index
Hi,
I have created a secondary table index in a custom table. It was successful in DEV, no warning messages. however, when i transported it to the test environment, there was a warning message:
Index does not exist in database system ORACLE
The status is still active though. Is this an error which means the secondary index will not work properly?
Please let me know.
Thank you.Hi,
check in SE14 - TABNAME - edit - indexes - your index
whether it exists on the database or not. If it does not exit
create the index in the database.
Kind regards,
Hermann -
Hi Experts,
I wanted to repartition my cube, so I compressed my Cube and repartition on the basis of 0calmonth.
Now When I check the Index structure of F and E fact table. F table has got Index 900 or Local Partition Index based on SID_0CALMONTH but E table does not have such kind of Index.
Now my question is after compression my data is in E fact table and partitioined successfully, so how does this Index 900 help Fetching partitioned data from E fact table when it is based on F fact table ??
Thanks & Regards,
SubbujiHi Suman,
I am not seeing data in F table, obviously there will be no data in F table after compression.
I am checking the Indices in F table and there I found Index 900, which is nothing but Index on Partition key.
My Question is if it is recommended to Partitiion after compression or Partition the E table then why the index is based on F table ? or why there is no such kind of index on E table.
Thanks & Regards,
Subbuji
Maybe you are looking for
-
Need help in choosing an institute
hi, i'm in the US and i want to know whether the training in SAP from some private training center/consultant will be beneficial. Can i do SAP certification in US without training at the authirised partner? Waht are the career prospects in India/US f
-
Can i use an html signature with mail in SL?
my company uses a standard html signature. is there a way that i can use it with mail app? how do i do that?
-
Cant add new contacts to phonebook.
having reloaded software into my 9630, when I press "Add Contact", nothing happens. Has anyone any experience with this?
-
How do get rid of an email address that is linked to iCloud so i can put in new email
my iPhone ask me to put in my iCloud pass word but the email address is not active any more so i want to update this how do i do it
-
Nesting region to create a dashboard type of page
Hello experts, I am trying all day to create a page nest that will create the illusion of a dashboard type page. Can any one show me how to do this? Thank you in advance for your help