Do we need to create seconady Index in BI 7.0

Hi,
I need some Information. I came to know that in BI 7.0. The Index are created automatically by BI Accelarator.
Please let me know wheather we can create secondary Index.
regards
Bijevemula

Hello Raghav
In ODS Primary and secondary indexes are created manually 010 and 020
Secondary index must differ from primary index     
Maximum 16 secondary indexes
in cube primary index in created automatically no secondary index is there
Indexes created on ODS?
010
production year zpryr
countrykey 0country
divisioncode zdvcr
020
production year zpryr
countrykey 0country
divisioncode zdvcr
product code zprcd
brand 0Matl_grp1
030
production year zpryr
countrykey 0country
divisioncode zdvcr
failure date zfdte
prdnquarter zprnd
By default there will be index on the key fields. So you are not required to create any index on those fields.
http://www.websitedatabases.com/database-index.html
if you enter in your selection criteria production year, country key, division code then it will use first index.. But if you give product code also in addition to 3 fields then it will use second (020) index.
But if enter only product code, brand, failure date,prdnquarter then it will not use any of the index....
Note: Before creating any index please confirm with your basis admin...
Thanks
Tripple k

Similar Messages

  • Privilege need to create functional index

    Greeting gurus?
    What privilege I needed for create functional index
    I am writing a definer righted procedure to create index however when creating functional index, it gives me ora-0131 insufficent but unique, bitmap and reverse index works
    and I granted create any index and create any indextype already. what else is missing ?

    CREATE INDEX
    To create a function-based index, in addition to the prerequisites for creating a conventional index, if the index is based on user-defined functions, then those functions must be marked DETERMINISTIC. Also, you must have the EXECUTE object privilege on any user-defined function(s) used in the function-based index if those functions are owned by another user.

  • Space needed to create an index

    I have a table with about 30 million records. I needed to create an index for one of the fields in this table. How can I determine how much space I will need in the tablespace where I need to create the index for the index to be created ?
    Thanks

    There's a nice discussion regarding this on asktom:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:1295520444744
    Hope this helps.
    Kailash.

  • Need to create multiple indexes - will this work?

    For a catalog of about 350 pages, I need both a manufacturer index and a product index. I have read some of the creative solutions already posted here and in other web discussions, and I have an idea.
    Why not create two Book files? one could be "Catalog-Product.indb" and the other could be "Catalog-Manufacturer.indb". Basically two separate contexts for the series of layouts. When in the Product book, do all the indexing for that context, update the Product index and close the set of files (saving the Catalog-Product.indb as well and then closing it). Then open the Catalog-Manufacturer book and do the indexing for the Manufacturer index, generate it, save and close.
    The question is: will each of the two book files be able to ignore the invisible index metadata that belongs to the other book when generating the index? will there be trash index entries in the Index palette - representing those of the other book file? Or, can these two sets of metadata be properly kept separate?
    One consequence that I predict is that the Hyperlinks option during PDF Export from InDesign will be compromised - I would expect whichever book was inactive during the PDF export from the Book file would be the one whose index links would be non-functional.
    Can anyone tell me though whether this strategy could generate two proper indexes at least for a print document?

    Bill Planey wrote:
    For a catalog of about 350 pages, I need both a manufacturer index and a product index. I have read some of the creative solutions already posted here and in other web discussions, and I have an idea.
    Why not create two Book files? one could be "Catalog-Product.indb" and the other could be "Catalog-Manufacturer.indb". Basically two separate contexts for the series of layouts. When in the Product book, do all the indexing for that context, update the Product index and close the set of files (saving the Catalog-Product.indb as well and then closing it). Then open the Catalog-Manufacturer book and do the indexing for the Manufacturer index, generate it, save and close.
    The question is: will each of the two book files be able to ignore the invisible index metadata that belongs to the other book when generating the index? will there be trash index entries in the Index palette - representing those of the other book file? Or, can these two sets of metadata be properly kept separate?
    One consequence that I predict is that the Hyperlinks option during PDF Export from InDesign will be compromised - I would expect whichever book was inactive during the PDF export from the Book file would be the one whose index links would be non-functional.
    Can anyone tell me though whether this strategy could generate two proper indexes at least for a print document?
    Hi, Bill:
    Search Google for terms like "InDesign multiple index" without quotes. There are some good links for this; admittedly they're workarounds. If you take the time to file a formal request for this feature at https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform, there's a chance the developers will eventually run out of excuses or higher-priority tasks, and include it in a future release.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • Need to create another index ?

    Hi,
    Using Oracle 9.2 I have a table STATS and an index STATS_IDX on the following columns in the order : Objectid, Stat_Hour, Parent.
    I now want to optimize queries that filter or sort on Stat_Hour. Do i have to create another index having just Stat_Hour or will Oracle use the existing index to optimize my queries that filter or sort on Stat_Hour ?
    Thanks
    Christian

    Christian,
    Since stat_hour is not the leading column of STATS_IDX, you might want to create another index where stat_hour is the leading key in case you want the query to center around stat_hour column.
    Please post the query plans with and without indexes if you try the recommendation.
    Shakti
    http://www.impact-sol.com
    Developers of Guggi Oracle - Tool for DBAs and Developers

  • Temp Tablespace space needed to create an index of 52GB - preventing 01652

    Hi,
    I've seen quiet a few threads on the subject, but could not find a clear (to me) answer on the subject.
    We have a huge table made by 30/40 partitions of roughly 20M records each (each record being about 1k of size), overall 800GB.
    The index we already have shows:
      1* select sum(bytes/1024/1024)  from dba_segments where segment_name like 'CALL_LOG_I0'
    SQL> /
    SUM(BYTES/1024/1024)
                   52088
    so that I assume it's 52GB in size. Since we have to create another very similar one I would assume the size would be similar.
    Command would be:
    create index call_log_i0_new on call_log (msisdn, generation_timestamp, cdr_reference_number, Multiple_AMA_Sequence_Number) NOLOGGING online;
    Tried the NOSORT option but it's not compatible with the online option.
    After a while the TEMP tablespace got filled up (we have about 20GB space in there).
    My question is if I need to have a temp tablespace at least as big as the index size (52GB) to let the index be built online.
    Thanks in advance !
    Cheers,
    Mike

    Thanks to all, found useful information in Metalink following your suggestions:
    You need to add more space to the tablespace where the index is created.
    A possible option to reduce sort space usage is to use the NOSORT option.
    Your table contains 66 million rows. The average row length is
    50-60 bytes and you are indexing 4 of 5 columns in the table.
    Example space calculation:
    66 million rows * 50 (avg row length) = 3.3 gig of data
    Rule of thumb:
    upper bound for sort (not guaranteed) is 3 times data_
    = about 10 gig of sort space needed
    These numbers are scaring since assume that I may need much more space than the index size (about 3x) which is something we cannot afford. Will go with the NOSORT option once the system is brought down and we could skip the online option.
    Thanks to all !
    Mike

  • Need to create aditional index in DAC

    We are trying to create an aditional index in DAC. It has been defined in the Design with a couple of columns. The Generate Index Script (right click) generates a blank file...
    Pls. what am I missing here..?
    Txs for your help.
    Antonio

    Did you check at file createAllIndices from
    C:\orahome\10gR3_1\bifoundation\dac\log\scripts

  • Create an index on a huge table

    hi gurus
    I am going to create an index on a very large table(194GB) with the temporary tablespace size is 80G.
    I am afraid that during the index creation the temporary tablespace is not enouth to hold the data needed
    to create the index,because i only have 80g in temporary tablespace. How do i estimated the size i need to create a such large index and is there an effcient way to do such index creation?
    thank u in advance.

    Jozsef wrote:
    Hi there,
    I have done similar things couple of times before and I have used a pretty good method to obtain a rough (and it was really a rough, but enough) estimation.
    Sorry folks, it does not work properly for create index...this method only works for SELECT statments, SO IGNORE IT :(
    It nearly works in 10g:
    | Id  | Operation              | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | CREATE INDEX STATEMENT |       | 10000 | 40000 |    10   (0)| 00:00:01 |
    |   1 |  INDEX BUILD NON UNIQUE| T1_I1 |       |       |            |          |
    |   2 |   SORT CREATE INDEX    |       | 10000 | 40000 |            |          |
    |   3 |    TABLE ACCESS FULL   | T1    | 10000 | 40000 |     6   (0)| 00:00:01 |
    Note
       - estimated index size: 196K bytesThe "Note" tells you Oracle's estimate of the final space allocation needed for the index. There are various reasons why the estimate is not very accurate, and why it's not a good estimate of the space requirement in the TEMP tablespace, but it gives you a figure that is probably in the right ballpark (factor of 2 out, either way, probably).
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "For every expert there is an equal and opposite expert."
    Arthur C. Clarke

  • How to create new INDEX for TREX

    Hello Experts,
    Iam new to this KM and TREX so need ur guidance for this...
    I need to create an INDEX for TREX, so after going through various messages i found that it can be created form the Index Administration iView portal----System Administration -> Syetm Configuration -> Knowledge Management -> Index Administration -> New Index
    But iam not getting the above path in SPRO OR how to run Index Administration iView OR from which portal i need to create an INDEX??can anyone provide steps on how to go to System Administration -> Syetm Configuration -> Knowledge Management -> Index Administration -> New Index
    path.....
    Regards.

    I'm not very familiar with CRM business partners, but the common way - to include the repository where the documents are stored to the KM using [CM Repository managers|http://help.sap.com/saphelp_nw04/helpdata/en/e3/923227b24e11d5993800508b6b8b11/frameset.htm].
    You need first to create a repository manager for you repository and only then you'll be able to create an index.
    Regards, Mikhail.

  • Tuning by creating / deleting indexes

    Hello !
    I have a stored procedure which is called once per day to perform some clean up of the database.
    To improve it, I would need to create some indexes, but I don't think it is a good idea to create indexes only for a stored procedure called once per day.
    So I would like to know if it is a possible solution to create the required indexes before calling my stored procedure and remove them as soon as the job is finished. By "possible solution", I do not mean technically possible, but if this is a good idea. If not, what strategy should I use ?
    Some technical points : Oracle 9.2 and the calls are done from java via jdbc.
    By the way, I noticed that it doesn't seem to be possible to rollback indexes creation. Am I right ? So my method would not be good from a transactionnal point of view...
    Thanks to for your help !

    Hello
    How important is it that this process completes in a specific amount of time? We have critical billing processes that only run once per month, but they have to run within a 2 hour window, so we are using all available techniques to ensure the process completes in the time limit.
    I would start by looking to see if the stored procedures can be improved at all before creating the indexes though. What techniques are you using to perform the cleanup? Are you opening a cursor and looping through it, deleting one row at a time? if so, maybe BULK BINDS could help, or you may be able to convert the PL/SQL loops into straight SQL. If you are using straight SQL to do the deletes, can their execution plans be improved by using different constructs?
    If indexes are the best way forward, I would start by doing a benchmark on your test system. Run the stored procedure and store the timings, then create the indexes, analyze the tables and indexes involved and then run the stored procedure again and record the timings. It's then a matter of checking that the extra indexes don't negatively impact any other processes that are insterting or updating the tables that you are cleaning up.
    Once you have some reliable metrics to go on, you can make a decision, until then, you're pretty much flying blind. I personally don't think it is a very good idea to be creating indexes on the fly and the dropping them again every day. If you need indexes, you need them, but you need to prove that they will help and they won't hurt the performance of anything else.
    Just my two penneth!
    HTH
    David

  • Can you create an index on a Map?

    I have a few questions that I can't seem to figure out nor find a viable example for. Can you create an index for a Map contained within a nested object, and if so, how would you do this? I currently have a Filter the inspects this criteria in the cache but am unable to figure out to create a usabe index for the custom filter. I'm using Coherence 3.5.2 - any help would be most appreciated. I'm not sure if/what I need to do with the SimpleMapIndex....
    Here's the basic object map below. My filter is retrieving all of the CustomerGroup objects that have a Customer in it's collection that contains the passed in Integer value in the Customer's Map. So can you create an Index on a Map (and a nested one at that) and how do you that? The index would need to be on the nested customerValues hashmap.
    class CustomerGroup
        Set<Customer> customers ;
    class Customer
        Map<Integer, CustumerValue> customerValues;
    }

    If you write a custom ValueExtractor, which you need to create an index, then you will not need a custom Filter.
    Depending on how efficient you need to be you custom extractor can use POF and not have to deserialize the entries to create the index, or it can deserialize the class, which will make the code more straight forward.
    For example, without using POF
    public class MapKeyExtractor extends EntryExtractor implements PortableObject {
        public MapKeyExtractor() {
        @Override
        public Object extractFromEntry(Map.Entry entry) {
            Set<Integer> keys = new HashSet<Integer>();
            CustomerGroup group = (CustomerGroup) entry.getValue();
            Set<Customer> customers = group.getCustomers();
            for (Customer customer : customers) {
                keys.addAll(customer.getCustomerValues().keySet());
            return keys;
        @Override
        public boolean equals(Object obj) {
            return (obj instanceof MapKeyExtractor);
        @Override
        public int hashCode() {
            return MapKeyExtractor.class.hashCode();
        @Override
        public void readExternal(PofReader in) throws IOException {
            super.readExternal(in);
        @Override
        public void writeExternal(PofWriter out) throws IOException {
            super.writeExternal(out);
    }The extractor above will return a collection of all of the Integer values in the keys of all the customerValues of all the customers in a CustomerGroup (I have guessed you might have accessor methods on the classes you posted).
    You can then use a ContainsFilter for your query. For example to get all the values from the cache where the customerValues map contains a 19 in the key...
    Set results = cache.entrySet(new ContainsFilter(new MapKeyExtractor(), 19));You could write a version of the MapKeyExtractor that uses POF and would not deserialize the values but this would be more complicated code as it would need to extract the Map from the POF stream of the value and walk down the keys and values extracting the keys. It is doable but not worth it unless you are really worried about performance of index updates.
    Discalimer I have written the code above from the top of my head so have not compiled it or tested it but it should be OK.
    JK

  • Is it possible to created secondary indexes on ODS in Production

    Hi,
    Is it possible to created secondary indexes on ODS in Production System. I need to create secondary indexes on ODS but it is already in production. Hence Can I directly create secondary indexes without transportation from dev to production?

    Hi,
    Secondary Indexes for DSO can be transported. For the transport the DSO objects needs to be transported (R3TR ODSO <technical name>.
    Additionally, secondary Indexes are necessary quite often for DSO tables, which can be transported. In few cases you need indexes on other BW tables, but they cannot be transported. Never create additional Indexes on InfoCube tables (like E- and F-Fact tables and Dimension tables)
    Thanks & B.R.
    Vince

  • Creating an INDEX on an internal table

    Hi Folks,
    Currently I am dealing with some programs which needs to be optimised.I had came acrossed some queries which are having some fields in the where clause which are neither a primary  key nor in any index.As it is not advisable to create as many index as we can in a standard table,I just want to create an index on the internal table.
    Will be glad if anyone here can provide me some lead in this.
    Thanks,
    K.Kiran.

    Hi,
    There is no need to create the index in the internal table since the primary key of the database table from which you selected the data becomes Primary index for the internal table.
    The primary index is distinguished from the secondary indexes of a table. The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database
    You can also create further indexes on a table in the ABAP Dictionary. These are called secondary indexes. This is necessary if the table is frequently accessed in a way that does not take advantage of the sorting of the primary index for the access.
    You create secondary indexes using the ABAP Dictionary. There you can create its columns and define it as UNIQUE. However, you should not create secondary indexes to cover all possible combinations of fields.
    Only create one if you select data by fields that are not contained in another index, and the performance is very poor. Furthermore, you should only create secondary indexes for database tables from which you mainly read, since indexes have to be updated each time the database table is changed. As a rule, secondary indexes should not contain more than four fields, and you should not have more than five indexes for a single database table.
    Secondary indexes should contain columns that you use frequently in a selection, and that are as highly selective as possible. The fewer table entries that can be selected by a certain column, the higher that column’s selectivity. Place the most selective fields at the beginning of the index. Your secondary index should be so selective that each index entry corresponds to, at most, five percent of the table entries. If this is not the case, it is not worth creating the index. You should also avoid creating indexes for fields that are not always filled, where their value is initial for most entries in the table.
    Regards,
    Priyanka.

  • Impact of Creating new index ?

    Hi All, I am using 10.2.0.4.0 version of oracle.
    I want expert advice in below scenario.
    I need to create one index, as because a particular 'Search' query going slow and my customer frequently accessing that 'Search' Functionality. i have tried all alternative for tuning that query, and finally decided to go for creating New Composite index on two columns of a table that is used in the query.
    So my question/concern is , what will be the impact on other 'Select' queries those are using these columns in their predicate? Whether there is any possibility of any negative impact(slow performance) on them due to this new index. What should be the right way to go for impact analysis in the above scenario?
    ( Please note in this case i am least bothered about the impact on 'INSERTS' due to this index creation).

    >
    Hi again,
    For now, can you please confirm, As 'rp0428' mentioned there is chances of better performance in other 'Select' queries,
    but there is no chance of performance degradation to this new index in other queries. As because oracle will evaluate the best among all.
    Is the above statement always hold true or there may be deviations?Hmmm... I can see no good reason why an added index should adversely affect other SELECTs - the optimiser should
    simply ignore the new index if it doesn't impact other queries - and may make use of it in ways you didn't forsee.
    Having said that, I can't guarantee that this is the case. I would run tests before implementing it in production - at least
    try and test your most common/frequently run queries - remember [url http://en.wikipedia.org/wiki/Pareto_principle]Paretos law.
    A small fraction of your queries will have a large impact on the system and some will be "marginal" to performance/usage.
    Sometimes the optimiser behaves in counter-intuitive ways - run at least some tests and then try it is what I would do if you
    (can't | don't have the time to) test exhaustively.
    HTH,
    Paul...

  • How to create secondary indexes in DB2e from MI

    Hello,
    we need to create secondary indexes in the DB2e SyncBO tables for a SynBO containing several thousands entries.
    We create it manually and works fine, but we have to distribute
    this to every user (about 300).
    Is there a way to distribuite this index creation for an
    application from a central location (WebConsole)?
    Or,
    is there any attribute in the SyncBO definitions for creating indexes on selected fields in teh database?
    Thanks in advance and best regards,
    Angel

    Hi,
    I found the way to create the indexes. In the metadata
    function of the SyncBO builder, you can mark any field
    as index (either in the header or in the detail tables).
    This creates a secondary index in the database per marked
    field.
    Regards,
    Angel

Maybe you are looking for