Bad col index (8)

Good Morning people,
I write today in the hopes that someone has the answer to this problem.  I have been installing (or trying to) GG on a Linux and Solaris server.  I have been working through the ggserr.log file to correct all the complaints GG is throwing out and I have only one more to resolve then hopefully GG will run.
The problem is in the replicat at the destination server. The error log indicated the following error:
Bad column index (8) specified for table scott.emp, max colums = 8.
The history behind this error is the following.  During the initial setup when I didn't understand alot about gg I followed a procedure that added a column to the emp table.  Later I removed that column thinking that would be the end of it.  I enabled the DDL synchro to try to get rid of the error and then disabled the DDL syncho after that failed.  Still the error remains after testing.  Right now I am in the process of doing a MAP generation and will copy that file from the source to target to the to the directory that is recommended: dirdef.  Hopefully that will eliminate the error.
My question is: Has anyone else seen this error :OGG-01161 above and what was the solution to this?  Right now I am stumped as to why my replicat won't run.  It starts then abends.
Thanks in advance for any help on this matter that you can provide.
Regards,
Al

Try Below formate:
Example 2 – source and target table differ in column structure
In the source MYEMP table we have a column named SAL whereas on the target, the same MYEMP table has the column defined as SALARY.
Create a definitions file on the source using DEFGEN utility and then copy that definitions file to the target system
GGSCI (redhat346.localdomain) > EDIT PARAMS defgen
DEFSFILE /u01/oracle/ggs/dirsql/myemp.sql
USERID ggs_owner, PASSWORD ggs_owner
TABLE scott.myemp;
[oracle@redhat346 ggs]$ ./defgen paramfile /u01/oracle/ggs/dirprm/defgen.prm
Oracle GoldenGate Table Definition Generator for Oracle
Version 10.4.0.19 Build 002
Linux, x64, 64bit (optimized), Oracle 11 on Sep 18 2009 00:09:13
Copyright (C) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
Starting at 2010-02-23 11:22:17
Operating System Version:
Linux
Version #1 SMP Wed Dec 17 11:41:38 EST 2008, Release 2.6.18-128.el5
Node: redhat346.localdomain
Machine: x86_64
soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited
Process id: 14175
** Running with the following parameters **
DEFSFILE /u01/oracle/ggs/dirsql/myemp.sql
USERID ggs_owner, PASSWORD *********
TABLE scott.myemp;
Retrieving definition for SCOTT.MYEMP
Definitions generated for 1 tables in /u01/oracle/ggs/dirsql/myemp.sql
If we were to try and run the replicat process on the target without copying the definitions file, we will see an error as shown below which pertains to the fact that the columns in the source and target database are different and GoldenGate is not able to resolve that.
2010-02-23 11:31:07 GGS WARNING 218 Aborted grouped transaction on ‘SH.MYEMP’, Database error 904 (ORA-00904: “SAL”: invalid identifier).
2010-02-23 11:31:07 GGS WARNING 218 SQL error 904 mapping SCOTT.MYEMP to SH.MYEMP OCI Error ORA-00904: “SAL”: invalid identifier (status = 904), SQL .
We then ftp the definitions file from the source to the target system – in this case to the dirsql directory located in the top level GoldenGate installed software directory
We now go and make a change to the original replicat parameter file and change the parameter ASSUMEDEFS to SOURCEDEFS which provides GoldenGate with the location of the definitions file.
The other parameter which is included is the COLMAP parameter which tells us how the column mapping has been performed. The ‘USEDEFAULTS’ keyword denotes that all the other columns in both tables are identical except for the columns SAL and SALARY which differ in both tables and now we are mapping the SAL columsn in source to the SALARY column on the target.
REPLICAT myload2
SOURCEDEFS /u01/oracle/software/goldengate/dirsql/myemp.sql
USERID ggs_owner, PASSWORD ggs_owner
MAP scott.myemp, TARGET sh.myemp,
COLMAP (usedefaults,
salary = sal);
We now go and start the originall replicat process myload2 which had abended because of the column mismatch (which has now been corrected via the parameter change) and we see that the process now is running without any error.
now go and start the process which had failed after table modification
GGSCI (devu007) 2> info replicat myload2
REPLICAT MYLOAD2 Last Started 2010-02-23 11:05 Status ABENDED
Checkpoint Lag 00:00:03 (updated 00:11:44 ago)
Log Read Checkpoint File /u01/oracle/software/goldengate/dirdat/bb000000
2010-02-23 11:31:03.999504 RBA 1225
GGSCI (devu007) 3> start replicat myload2
Sending START request to MANAGER …
REPLICAT MYLOAD2 starting
GGSCI (devu007) 4> info replicat myload2
REPLICAT MYLOAD2 Last Started 2010-02-23 11:43 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:03 ago)
Log Read Checkpoint File /u01/oracle/software/goldengate/dirdat/bb000000
2010-02-23 11:31:03.999504 RBA 1461

Similar Messages

  • Cannot process links - int error: bad record index

    Opening a publication I have recently been working on suddenly fails with "Cannot process publication's links - Internal error - bad record index".
    And then Pagemaker dies.   Is there anyway to get this publication back?  Hours of work.
    Only possibly anomaly I see is that the .pmd file was moved from one computer to another before this started happening, but we do this all the time in our shop.  As a matter of fact it was moved on a memory stick, not as an email attachment or some less reliable means.  The version on the stick fails the same way.

    Well that sounds close, but I (1) don't have any graphics on master pages, and (2) never performed a "diagnostic recomposition", and (3) can't do anything anyway since pagemaker crashes immediately after issuing the error message about the links.

  • Two cols index used when "col1=:1" but not when "col1 is null"(same cardin)

    Hi everybody,
    here is my test case (Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi):
    DROP TABLE TEST;
    CREATE TABLE TEST AS SELECT RPAD('X',100,'X') X, (CASE WHEN MOD(ROWNUM,10)=0 THEN CAST(NULL AS NUMBER) ELSE MOD(ROWNUM,10) END) Y, ROWNUM Z FROM DUAL CONNECT BY LEVEL<=10000;
    SELECT Y, COUNT(*) FROM TEST GROUP BY Y ORDER BY 1;
    create index test_idx on test(y,z);
    exec dbms_stats.gather_table_stats(ownname=>'&_USER', tabname=>'TEST', method_opt=>'for all columns size REPEAT', cascade=>true, no_invalidate=>false);
    select * from (select z from test where y=1 order by z) where rownum <= 10;
    select * from (select z from test where y is null order by z) where rownum <= 10;So there are 1000 records per Y column value:
    SQL> SELECT Y, COUNT(*) FROM TEST GROUP BY Y ORDER BY 1;
             Y   COUNT(*)
             1       1000
             2       1000
             3       1000
             4       1000
             5       1000
             6       1000
             7       1000
             8       1000
             9       1000
                     1000
    10 filas seleccionadas.So, what I don't undertand is why in the second query from below, the index is not used:
      select * from (select z from test where y=1 order by z) where rownum <= 10
    Plan hash value: 2425049421
    | Id  | Operation          | Name     | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |
    |*  1 |  COUNT STOPKEY     |          |      1 |        |            |     10 |00:00:00.01 |       3 |
    |   2 |   VIEW             |          |      1 |     10 |     2   (0)|     10 |00:00:00.01 |       3 |
    |*  3 |    INDEX RANGE SCAN| TEST_IDX |      1 |     10 |     2   (0)|     10 |00:00:00.01 |       3 |
    Predicate Information (identified by operation id):
       1 - filter(ROWNUM<=10)
       3 - access("Y"=1)
      select * from (select z from test where y is null order by z) where rownum <= 10
    Plan hash value: 2549875903
    | Id  | Operation               | Name | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |
    |*  1 |  COUNT STOPKEY          |      |      1 |        |            |     10 |00:00:00.01 |     161 |       |       |          |
    |   2 |   VIEW                  |      |      1 |   1000 |    43   (5)|     10 |00:00:00.01 |     161 |       |       |          |
    |*  3 |    SORT ORDER BY STOPKEY|      |      1 |   1000 |    43   (5)|     10 |00:00:00.01 |     161 |  9216 |  9216 | 8192  (0)|
    |*  4 |     TABLE ACCESS FULL   | TEST |      1 |   1000 |    42   (3)|   1000 |00:00:00.01 |     161 |       |       |          |
    Predicate Information (identified by operation id):
       1 - filter(ROWNUM<=10)
       3 - filter(ROWNUM<=10)
       4 - filter("Y" IS NULL)Any clue?
    Thanks.
    Joaquin Gonzalez

    Hi,
    Null values are not stored in the index, so if you use "col is null" as a predicate there is no entry on the index and so no pointer to the actual row hence the full table scan.
    If you query USER_INDEXES and look in the DISTINCT_KEYS column for your index, you should see that there are only 9 keys.
    e.g.
    SQL> create table nt as
      2  select decode(m, 0, null, m) v from
      3* (select mod(level,10) m from dual connect by level <= 10000)
    SQL> /
    Table created.
    SQL> select v, count(*) from nt group by v order by v ;
    V                                          COUNT(*)
    1                                              1000
    2                                              1000
    3                                              1000
    4                                              1000
    5                                              1000
    6                                              1000
    7                                              1000
    8                                              1000
    9                                              1000
    *NULL*                                         1000
    10 rows selected.
    SQL> create index nt_i on nt (v) ;
    Index created.
    SQL> analyze table nt compute statistics
      2  /
    SQL> select distinct_keys from user_indexes where index_name = 'NT_I'
    SQL> /
    DISTINCT_KEYS
                9Edited by: Steve_B on 06-Jul-2009 02:30

  • Help to rebuild a badly formed Index.xml file

    From time to time, I receive Numbers documents whose Index.xml file may be read by several programs but which can't be deciphered by Numbers itself.
    My guess is that for some reason, Numbers built a wrong instruction.
    Of course, it's annoying because many users don't backup their documents or use a wrong protocol to backup.
    Never replace an old backup by a new one before checking that the new one is usable is the rule to apply.
    Given that, I built an AppleScript which may help us to rebuild from scratch such a clobbered document.
    Running it upon such a file creates a folder in the Documents folder.
    In this new folder we will find several text files describing every sheet embedded in the document.
    In each of these file, it inserts tags marking delimiting the descriptors of every table.
    It also insert pairs of return characters between every cell descriptor.
    Last not least, it completes the codes describing references to other tables or to other sheet or to other table of other sheet by their "standard" description, the one which is used in the true formulas.
    Useful information, as often in AppleLand, consecutive objects are numbered starting from zero when we are accustomed to number them starting from 1.
    sf:col="0" means column number(0+1) which is column A
    sf:row="0" means row number (0+1)
    Given all these informations, rebuilding a document is quite easy (but it requires a lot of time and is boring for eyes).
    As the script is long and as I am afraid of the oddities which may be introduced by the forum's message parser, the script is not available here but on my iDisk.
    <http://idisk.me.com/koenigyvan-Public?view=web>
    Download:
    ForiWork:For_Numbers:découpe_Index_deNumbers.zip
    I apologize but given a bug of MacOS X 10.5.x, using the script under this operating system is less comfortable than it is under 10.4.x.
    Yvan KOENIG (from FRANCE mardi 26 août 2008 16:16:46)

    HI Balaji,
    Below is the sample xml file which i have saved as test.xml and placed it @ D: drive
    Test.xml:
    <employee>
    <emp>
    <eno>1</eno>
    <ename>Test1</ename>
    </emp>
    <emp>
    <eno>2</eno>
    <ename>Test2</ename>
    </emp>
    <emp>
    <eno>2</eno>
    <ename>Test2</ename>
    </emp>
    </employee>
    Goto Topology >Expand Technologues>right click on XML and select new data source
    in Defination Tab, provide the physical architecture name
    in JDBC Tab, provide the below details
    JDBC Driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    JDBC URL: jdbc:snps:xml?f=d:\test.xml&d=test.dtd&re=employee&s=TEST&ro=false
    Save it
    Click on Test Connection and again click on test, it should show test connection as "Successfully Test"
    Hope this may helps you
    Regards,
    Phanikanth

  • Unnecessary extra space automatically added in a 2-col. index

    I am composing an index of topics for a volume of articles. The problem is that InDesign automatically adds an extra space here and there after an individual entry. The best way to describe the situation is to show a screenshot, I think:
    http://www.aijaa.com/v.php?i=2866334.jpg
    In the right-hand column, you can see the redundant space between the lines with the text "62-64" and "Urpräsentierbar/Nichturpräsen-".
    Knowledgeable help would be deeply appreciated!

    Your screencap doesn't show everything I would want to see (returns and
    spaces, which you can see with Type > Show Hidden Characters), but the
    autolead does give a clue. The fact that your lead is (12) and not 12
    means that Indesign will open up the leading to the appropriate amount
    for the size of the text. 10 pt text gets 12 pt lead, but 20 pt text
    will give you 24 pt lead, which would look like a whole lot of extra space.
    Things to check:
    -An extra return. Obvious, but I can't rule it out from your screencap.
    -Varying text sizes. A 20 pt return, for example. Highlight all the text
    in those two lines (all of it, even the return) and see if the size (or
    lead) field is blank. Blank means the values are different.
    -Extra space above or below the paragraph. Yes, these short little lines
    are paragraphs, and you can assign space above or below to each one.
    You'll have to switch the Control panel to Paragraph Formatting Controls.
    -Align to baseline grid.
    Kenneth Benson
    Pegasus Type, Inc.
    www.pegtype.com

  • Frm-47310. bad selection index for get_tree_selection

    Hi all,
    I have a tree item in which I allow multiple selection.
    When-mouse-click trigger executes a procedure that counts the number of items selected and the loops through all of them. The process works fine when the tree populates an small number of records.
    The problem arises when after populating 88 "branches" and trying to do a multiple selection by pressing "alt+mouse click" forms randonly returns the above error message. I say randomnly because sometimes it works and sometimes the error appears.
    With the very same query I do not get the error if I select only some of the branches.
    I also randonly get the error if I try to select lets say 80 at a time.
    Although the problem is clearly isolated by the error message I don't think any of the code is wrong and oit seems more like a bug.
    I would appreciate any comments or ideas.
    Many thanks

    This is my code,
    The error comes in line in bold:
    PROCEDURE get_selection IS
    htree item;
    num_selected NUMBER;
    current_node NUMBER; --ftree.node;
    v_domain_name cctv_domains.domain_name%TYPE;
    v_domain_value cctv_domains.domain_value%TYPE;
    current_value cctv_memberships.id%TYPE;
    v_failure_points VARCHAR2(4000);
    v_count INTEGER;
    BEGIN
    -- Find the tree itself.
    htree := find_item('tree.tree');
    -- Find the number of nodes marked as selected.
    num_selected := ftree.get_tree_property(htree, ftree.selection_count);
    FOR j IN 1 .. num_selected LOOP
    current_node  := ftree.get_tree_selection(htree, j);
    current_value := ftree.get_tree_node_property(htree,
    current_node,
    ftree.node_value);
    SELECT domain_name, domain_value
    INTO v_domain_name, v_domain_value
    FROM cctv_memberships
    WHERE id = current_value;
    -- Define now the virtual fault
    IF v_failure_points IS NULL THEN
    v_failure_points := v_domain_name || ',' || v_domain_value;
    ELSE
    v_failure_points := v_failure_points || ',' || v_domain_name || ',' ||
    v_domain_value;
    END IF;
    END LOOP;
    IF v_failure_points IS NOT NULL THEN
    v_count := cctv_pkg.matrix_fault_impact(null,
    v_failure_points,
    :parameter.p_site_id,
    'COUNT');
    :ctl_2.sites_selected := v_count;
    :global.matrix_failure_points_sel := v_failure_points;
    END IF;
    END;
    Many thanks

  • Index gone bad ! Please help.

    Hi
    Well, this time I ran some tests in 10gR2 database.
    I analysed whole schema using dbms_stats, so all tables and indexes are analysed now.
    I ran 2 queries, want your views about their EXPLAIN plans. Table here in concern is MTC_BLNG_EXCEPTION_DTL_ODS.
    First query finished in 243 s with FULL table scan when NO Index was there on table.
    When I created a local prefixed index, it took around 2000 s with following plan. Please note at bottom step #24 its doing Index range scan, then in #3, its accessing table using Index rowid. Performance has degraded USING INDEX. I wonder WHY Oracle did not choose FULL scan ?
    | Id  | Operation                           |  Name                           | Rows  | Bytes | Cost  | Pstart| Pstop |
    |   0 | SELECT STATEMENT                    |                                 |     1 |   252 |   258 |       |       |
    |   1 |  WINDOW BUFFER                      |                                 |     1 |   252 |   258 |       |       |
    |   2 |   SORT GROUP BY                     |                                 |     1 |   252 |   258 |       |       |
    |*  3 |    TABLE ACCESS BY LOCAL INDEX ROWID| MTC_BLNG_EXCEPTION_DTL_ODS      |     1 |    53 |   160 |    62 |    62 |
    |   4 |     NESTED LOOPS                    |                                 |     1 |   252 |   242 |       |       |
    |   5 |      MERGE JOIN CARTESIAN           |                                 |     1 |   199 |    82 |       |       |
    |   6 |       MERGE JOIN CARTESIAN          |                                 |     1 |   179 |    62 |       |       |
    |   7 |        MERGE JOIN CARTESIAN         |                                 |     1 |   167 |    41 |       |       |
    |   8 |         VIEW                        | MTC EXCPN COMPANY V             |     1 |    18 |    21 |       |       |
    |   9 |          SORT ORDER BY              |                                 |     1 |    91 |    21 |       |       |
    |* 10 |           FILTER                    |                                 |       |       |       |       |       |
    |* 11 |            TABLE ACCESS FULL        | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  12 |         BUFFER SORT                 |                                 |     1 |   149 |    41 |       |       |
    |  13 |          VIEW                       | MTC EXCPN NUM V                 |     1 |   149 |    21 |       |       |
    |  14 |           SORT ORDER BY             |                                 |     1 |    91 |    21 |       |       |
    |* 15 |            TABLE ACCESS FULL        | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  16 |        BUFFER SORT                  |                                 |     1 |    12 |    41 |       |       |
    |  17 |         VIEW                        | MTC EXCPN CATEGORY CD V         |     1 |    12 |    21 |       |       |
    |  18 |          SORT ORDER BY              |                                 |     1 |    91 |    21 |       |       |
    |* 19 |           TABLE ACCESS FULL         | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  20 |       BUFFER SORT                   |                                 |     1 |    20 |    61 |       |       |
    |  21 |        VIEW                         | MTC EXCPN TYPE V                |     1 |    20 |    21 |       |       |
    |  22 |         SORT ORDER BY               |                                 |     1 |    91 |    21 |       |       |
    |* 23 |          TABLE ACCESS FULL          | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |* 24 |      INDEX RANGE SCAN               | BLNG_EXCPN_RPT_INS_TMST_LO_IDX  | 38019 |       |   145 |    62 |    62 |
    -----------------------------------------------------------------------------------------------------------------------In second query, following plan is coming. FULL scan was BAD, same INDEX was created, and following plan came out.
    NOTE that #31 is doing Index range scan and then IMMEDIATELY feeding to #30 for table access by rowid, thereby limiting rows to 1056 from 38019.
    | Id  | Operation                              |  Name                           | Rows  | Bytes | Cost  | Pstart| Pstop |
    |   0 | SELECT STATEMENT                       |                                 |     1 |   222 |   298 |       |       |
    |   1 |  WINDOW SORT                           |                                 |     1 |   222 |   298 |       |       |
    |   2 |   VIEW                                 |                                 |     1 |   222 |   298 |       |       |
    |   3 |    WINDOW BUFFER                       |                                 |     1 |   266 |   298 |       |       |
    |   4 |     SORT GROUP BY                      |                                 |     1 |   266 |   298 |       |       |
    |*  5 |      HASH JOIN                         |                                 |     1 |   266 |   283 |       |       |
    |   6 |       MERGE JOIN CARTESIAN             |                                 |    22 |  4488 |   103 |       |       |
    |   7 |        MERGE JOIN CARTESIAN            |                                 |     1 |    70 |    82 |       |       |
    |   8 |         MERGE JOIN CARTESIAN           |                                 |     1 |    50 |    62 |       |       |
    |   9 |          MERGE JOIN CARTESIAN          |                                 |     1 |    38 |    41 |       |       |
    |  10 |           VIEW                         | MTC EXCPN TYPE V                |     1 |    20 |    21 |       |       |
    |  11 |            SORT ORDER BY               |                                 |     1 |    91 |    21 |       |       |
    |* 12 |             TABLE ACCESS FULL          | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  13 |           BUFFER SORT                  |                                 |     1 |    18 |    41 |       |       |
    |  14 |            VIEW                        | MTC EXCPN COMPANY V             |     1 |    18 |    21 |       |       |
    |  15 |             SORT ORDER BY              |                                 |     1 |    91 |    21 |       |       |
    |* 16 |              TABLE ACCESS FULL         | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  17 |          BUFFER SORT                   |                                 |     1 |    12 |    41 |       |       |
    |  18 |           VIEW                         | MTC EXCPN CATEGORY CD V         |     1 |    12 |    21 |       |       |
    |  19 |            SORT ORDER BY               |                                 |     1 |    91 |    21 |       |       |
    |* 20 |             TABLE ACCESS FULL          | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  21 |         BUFFER SORT                    |                                 |     1 |    20 |    61 |       |       |
    |  22 |          VIEW                          | MTC EXCPN NUM V                 |     1 |    20 |    21 |       |       |
    |  23 |           SORT ORDER BY                |                                 |     1 |    91 |    21 |       |       |
    |* 24 |            TABLE ACCESS FULL           | MTC_CD_LKUP                     |     1 |    91 |     5 |       |       |
    |  25 |        BUFFER SORT                     |                                 |    22 |  2948 |    82 |       |       |
    |  26 |         VIEW                           | MTC EXCPN CURRENT STATUS V      |    22 |  2948 |    21 |       |       |
    |  27 |          SORT ORDER BY                 |                                 |    22 |  2002 |    21 |       |       |
    |* 28 |           FILTER                       |                                 |       |       |       |       |       |
    |* 29 |            TABLE ACCESS FULL           | MTC_CD_LKUP                     |    22 |  2002 |     5 |       |       |
    |  30 |       TABLE ACCESS BY LOCAL INDEX ROWID| MTC_BLNG_EXCEPTION_DTL_ODS      |  1056 | 65472 |   179 |    62 |    62 |
    |* 31 |        INDEX RANGE SCAN                | BLNG_EXCPN_CMP_INS_TMST_LO_IDX  | 38019 |       |   123 |    62 |    62 |
    --------------------------------------------------------------------------------------------------------------------------I wonder, why Oracle didn't feed rowids immediately to table after doing Index range scan in First query, like it did in second query ??
    Thanks.

    . . . E t c . . .
    First query finished in 243 s with FULL table scan when NO Index was there on table.
    When I created a local prefixed index, it took around 2000 s with following plan. Please note at bottom step #24 its doing Index range scan, then in #3, its > accessing table using Index rowid. Performance has degraded USING INDEX. I wonder WHY Oracle did not choose FULL scan ?
    . . . E t c . . .
    If performance degraded, remove the local prefixed index.
    Besides it seems not to be the same statement, the second query has an additional view: "MTC EXCPN CURRENT STATUS V "
    :p

  • ERROR creating spatial index

    Hi all.
    I have a problem during the creation of a spatial index for a table column.
    The metadata is in the USER_SDO_GEOM_METADATA VIEW, but Oracle throws the message:
    ORA-29855: se ha producido un error en la ejecución de la rutina ODCIINDEXCREATE
    ORA-13203: fallo al leer la vista USER_SDO_GEOM_METADATA
    ORA-13203: fallo al leer la vista USER_SDO_GEOM_METADATA
    ORA-06512: en "MDSYS.SDO_INDEX_METHOD_10I", línea 10
    The code that i use to create the index is:
    DELETE FROM USER_SDO_GEOM_METADATA;
    INSERT INTO USER_SDO_GEOM_METADATA
    VALUES (
    'E011_CIUDADES',
    'F011_GEO',
    MDSYS.SDO_DIM_ARRAY(
    MDSYS.SDO_DIM_ELEMENT('Longitud', -180, 180, 10), -- 10 meters tolerance
    MDSYS.SDO_DIM_ELEMENT('Latitud', -90, 90, 10) -- 10 meters tolerance
    8307 -- SRID for 'Longitude / Latitude (WGS 84)' coordinate system
    CREATE INDEX IX_SPATIAL_011_GEO
    ON SYSTEM.E011_CIUDADES(F011_GEO)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS ('tablespace=ASOUSU');
    I will apreciate any help. Thanks.

    This is very bad:
    CREATE INDEX IX_SPATIAL_011_GEO ON SYSTEM.E011_CIUDADES(F011_GEO)
      INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('tablespace=ASOUSU');It means you've stored spatial data in the SYSTEM user's schema, which, as noted, is mucho malo. Either that, or it is a typo and that is why you got: fallo al leer la vista USER_SDO_GEOM_METADATA

  • Update JTable model col through header name in fast way

    old day, i update my JTable model through the way :
    tableModel.setValueAt(aValue, rowIndex, jTable1.getColumn("HeaderName").getModelIndex());now, i am adding a feature to my table, where the user can remove column.
    when user remove the column, is just the JTable GUI column being removed,. the underlining TableModel column is still there.
    my new feature will broke my above code.
    hence, i change my code to :
    for(columnIndex=0; columnIndex<columnCount; columnIndex++) {
         String name = tableModel.getColumnName(columnIndex)
         if(name.equals("HeaderName"))
              tableModel.setValueAt(aValue, rowIndex, columnIndex)
    }instead of looping through, is there any way i can retrieve the column model index in a fast way?
    a way i can think off, is inherit from DefaultTableModel, and add a map member, so that it can directly map the header name to col index.
    is there any better way?
    thanks

    i don't know why but the KeyListener does work fine with another application that i have also created Not a good solution. First of all the column still exists, so the user will tab from one column to your "hidden" column and wonder whats happening.
    The correct solution is to remove the TableColumn from the TableColumnModel. You can still access the data in the TableModel:
    table.getModel().getValueAt(...)
    No need to use the convertColumnIndexToModel.

  • Why not indexing on every column ?

    If Indexing gives very quick search result, why we should not create index on each and every column of the table? What is limitation of the indexes in the database?

    > If I have only one index on the primary key (say table is EMPLOYEE and
    EMP_ID as primary key), then also there will be a separate table?
    Not necessarily. More on why a PK does not need to be an index below.
    Some comments first.
    There are different types of indexing methods in Oracle. B+tree indexes, bitmap indexes, function indexes, etc. So even though indexes may seem like a "table" - they are not. They use space like tables, but have very different internal structures. Also, it is not the space used by indexes that is the primary "problem" with using indexes.
    Indexes are "good" for searching/reading data. Indexes are "bad" for creating/changing data. When an INSERT/UPDATE/DELETE is done, all these indexes need to be updated. This requires I/O on the indexes to make the changes. I/O is the most expensive operation on a database. And indexes cause more I/O as they need to be maintained. Indexes are therefore expensive things to use.. and thus needs to be used correctly to balance the "good" versus the "bad" of indexing.
    As for primary key issue. There are also, like indexes, different structures that can be used for tables.
    The standard structure is called a heap table. There is also one called index organised table (IOT). This is essentially a merge of a table with a B+tree index.. so your data and index structures are stored together.
    An IOT is a single structure that "contains" both the PK index and the data - for the price of storing the PK columns once. In a heap table the PK index would have been a separate structure and would have duplicated the PK column values.
    IOTs have however limitations due to the physical structure used for an IOT.
    I suggest that you read the [url http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/toc.htm]Oracle® Database Concepts guide - it goes into these in a lot better and clearer detail.

  • How to find the worst cluf having indexes? on 10gR2

    If the clustering factor(dba_index.clustering_factor) value is close to number of rows of the related table(dba_table.num_rows) this shows bad clustering_factor(CLUF) where as if CLUF is close to the number of blocks of that related table than this shows good CLUF.
    So how may I find the indexes having the worst CLUF valuse in my database. Looking for an SQL operator which produces this "close to" output;
    create table tdba_indexes nologging parallel 4 pctused 99 pctfree 1 as
    SELECT t2.owner, t2.table_name, index_name, clustering_factor, t2.num_rows, t2.blocks, t2.sample_size
      FROM dba_indexes t1, dba_tables t2
    WHERE clustering_factor > 0
       AND t1.owner NOT IN ('SYS', 'SYSTEM')
       AND t2.owner NOT IN ('SYS', 'SYSTEM')
       and t1.owner = t2.owner
       and t1.table_name = t2.table_name
       AND t2.blocks > 0
    ORDER BY clustering_factor DESC ;
    create table tcluf_bad nologging parallel 4 pctused 99 pctfree 1 as 
    SELECT *
      FROM (SELECT CASE
                      WHEN a_sql_operator_needed_here_for_close_to_determination THEN
                       'BAD'
                      ELSE
                       'NOT SO BAD'
                   END AS "CLUF",
                   abs(clustering_factor / num_rows) ratio1,
                   abs(clustering_factor / blocks) ratio2,
                   t.*
              FROM tdba_indexes t)
    WHERE cluf = 'BAD' ;Thank you.

    John thank you for your comments. You are right, making structural changes on a table(like CTAS with ORDER BY parallel to the bad CLUF indexes' columns sort) may introduce new problems for other queries involved with other indexes.
    This is not a good approach after all. What I am trying is to reduce he high db file sequntial read waits on my CRM database.
    http://www.perfvision.com/wait/db_file_sequential_read.html
    My primary focus must be SQL and Application tuning to reduce the logical i/o amounts of these queries which are the root cause of this wait. But also I saw that these queries have high CLUF values and doing INDEX RANGE SCAN and this kind of a change may also helpful.
    In order to find the root cause queries of this wait I am planning to use this query, can I also have your comments on this;
    SELECT a.sql_text, t.*
      FROM (SELECT tt.*
              FROM (SELECT rownum rn, x.*
                      FROM (SELECT a.sql_text, a.user_io_wait_time, a.executions, a.sql_id
                              FROM v$sqlstats a
                             WHERE user_io_wait_time > 0
                               AND executions > 10
                             ORDER BY a.user_io_wait_time DESC) x) tt
             WHERE rn < 11) a,
           TABLE(dbms_xplan.display_cursor(a.sql_id,
                                           NULL,
                                           'ALL')) t
    WHERE plan_table_output LIKE '%INDEX%RANGE%SCAN%';Best regards.
    Message was edited by:
    antu

  • Selecting cells in a JTable

    Hi All,
    I'm looking for a way of selecting all cells from the original drag point to the current cell that the mouse is over.
    This is for a year planner which displays the months vertcally and the days horizontally. So if the user was to start selecting cells in one month and move the mouse down a row onto the next month, I would want all cells selected from the first cell to the current cell.
    Has anyone got any ideas?

    Hi Pchatwin,
    Any dukes available for bad news? :)
    Thanks Stas but wouldn't that select entire rows
    rather than cells?
    For example, if I have a grid:
    12345
    67890
    and drag from cell 3 to cell 9 I would need to see
    cells 3, 4, 5, 6, 7, 8, 9 highlightedUnfortunately this is impossible with JTable's default selection model. By default, JTable models selections simply as an intersection of selected rows and columns. It doesn't track individual cells.
    Turning to your example:
    If you select cells 2,3,4,5 JTable tracks the following.
    Note: The numbers I am using are row/col indexes, not your cell values.
    Selected rows = {0}
    Selected cols = {1,2,3,4}
    This means the following cells are selected:
    {{0,1},{0,2},{0,3},{0,4}} or {2,3,4,5}
    Now if you want to add cells 6, 7, 8, 9 it won't work. The selection model tracks whether a column is selected or not. It can't be selected for one row and not for another. So it's impossible to have cell 6 selected and not 1. It would mean that column 0 would need to be both selected (to include 6) and not (to include 1). Does this make sense?
    Sorry to have to tell you that. On the other hand it may save you some frustration.
    Oh, and whether or not one can provide a custom model that allows this, I don't know - I've not tried it myself. It could be, but might be very difficult. For example, what would you return from JTable.getSelectedRows()?
    Thanks!
    Shannon Hickey (Swing Team)
    >
    Paul

  • How to dynamically update the Table?

    Hi All,
    Hope somebody will help me out ot resolve my issue.
    In my application, about 10 analog channels data coming in. Out of which two parameter needs to get updated dynamically on the table. (For each Rpm between 500-1000, in steps of 50, have to capture Pressure points & show it on the table.)
    I seen there is one method called table method available which helps to set the value of a particular cell specified by corresponding row and column index.
    I tried this. In row 0, col 0 & col 1 it put what value I specified by using that table method. when it goes to row 1, col 0 & col 1 also got updated but vanishing the above put row 0, col 0 & col 1 values. so at any point of time, I am able to see only the current row values.
    Hope there should be some dynamic refreshing method available or else I dont know how to handle this situation. Pls. clarify.
    Thanks,
    Kousy

    Hi,
    Thanks.
    But I am not able to update dynamically.
    I just done slight changes to your update.vi. Just run Update_1.vi and after update
    button is pressed, change the row, col index to see the update. please note
    it is not able to update if matrix exceeds 3x4. i.e set row index=3
    col index=0; new cell value = 10. it is not updating.. it might because of initialization
    of 3x4 matrix values at the start.. ot the way I am trying out is bad?
    By using Table method itself I got the solution what I want. I have attached that vi too.
    just check out and reply if any flaw..
    Thanks,
    Kousy
    Attachments:
    update_1.vi ‏94 KB
    Table Update.vi ‏96 KB

  • How to display values in textfields obtained from another class

    Hi,
    Why, oh why, doesn't this work:
    When I select a row in my tableClass (consist of a JTable) I want to display these values (strings) in my TextFieldGUI class (consist of just JTextFields). My code looks like this:
    TableClass:
    public void mouseClicked(java.awt.event.MouseEvent mouseEvent) {
        textFieldGUI = new TextFieldGUI() ;//reference to my textfield class
        gui = new mainGUI() ; //reference to my GUI class
        int tabbedIndex = gui.getSelectedIndex() ;
        int col = tableModel.getColumnCount() ;
        Vector string = new Vector() ;
        String empty = "" ;
        for(int index = 0; index < col ; index++){
            if(table.getValueAt(row, index) == null)
                string.addElement(empty) ;
            else
                string.addElement(table.getValueAt(row, index).toString()) ;
        if(tabbedIndex == 0){       
            System.out.println(string) ; //works fine
            textFieldGUI.setTextFieldValues(string) ;
    }TextField class:
    public void setTextFieldValues(Vector s){
        Vector string = new Vector() ;
        string = s ;
        System.out.println("TextFieldVector: " + string) ; //works fine as well
        String name = "" ;
        String dob = "" ;
        String web = "" ;
        name = string.elementAt(0).toString() ;       
        dob = string.elementAt(1).toString() ;       
        web = string.elementAt(2).toString() ;
        System.out.println("NAME: " + name +
                           ", BIRTH: " + dob +
                           ", WEB: " + web) ; //values are correctly printed
        txtName.setText(name) ; //writes nothing (empty)
        txtDob.setText(dob) ; //writes nothing (empty)
        txtWeb.setText(web) ; //writes nothing (empty)
    }Anyone got a hint on how I should svolve this one?
    thanks
    gmtongar

    Hi
    my problem is, for each job_id there is many users. Oh that's something completlty different...
    I Strongly Recommand to_
    1.*create 2 tables Jobs & users*
    2.*create a relation between them* 1 to many to get for each job more than a user that's the way that Must be -- execuse me the bad design of the db pulled u into this trap -
    3.then u can deal with it normally no need to a sample code but just a form with Jobs as  (Master) and Users as (detail) with a relation and with a simple query u can display each job_id is for many users.
    no null values no commas r needed.
    Hope this helps...
    Regards,
    Amatu Allah.

  • Sap and vba

    <b>kindly help trying to call the BAPI and it is working fine but the thing is the show data method is not working fine
    oApplHelp.Views.Add UserForm1.SAPTableView1.Object this line gives an error saying that object doesn't support this property or method
    so kindly help Badly stuck</b>
    Public Sub callBAPI()
    Dim BAPISHELP As Object
    Dim oIAstnr As Object, oIAstna As Object               'Input parameters
    Dim oReturn As Object, oMessages As Table
    If Not CheckSAPConnection Then
        Exit Sub
    End If
    'Make an instance of SAP object
    Set BAPISHELP = objBAPIControl.GetSAPObject("ZPCCHELP")
    'Set input parameters of the BAPI
    'Set oIAstnr.Value = "022"
    'Set oIAstna.Value = "Luis"
    'Get a reference to the output parameters so they can be consulted
    'after calling the BAPI
    Set oApplHelp = objBAPIControl.DimAs(BAPISHELP, "ApplicantHelp", "APPLHELP")
    Set oMessages = objBAPIControl.DimAs(BAPISHELP, "ApplicantHelp", "MESSAGES")
    Set oReturn = objBAPIControl.DimAs(BAPISHELP, "ApplicantHelp", "RETURN")
    'Call object's method with applicant name Care
    BAPISHELP.ApplicantHelp _
                   IAstnr:=frmApplicant.txtApplicantNo, _
                   IAstna:=frmApplicant.txtApplicantName, _
                   ApplHelp:=oApplHelp, _
                   MESSAGES:=oMessages, _
                   RETURN:=oReturn
    If oApplHelp.RowCount > 0 Then
    Call ShowData
        'MsgBox "Data found"
    Else
        On Error Resume Next
        MsgBox "Errors."
    End If
    End Sub
    Show Data Method----
    Private Sub ShowData()
    Dim Col As Object
    'Connect Table object with the Table View
    oApplHelp.Views.Add UserForm1.SAPTableView1.Object
    'Table Update
    oApplHelp.Refresh
    Set Col = UserForm1.SAPTableView1
    'Loop at table columnsFor Each Col In oApplHelp.Columns
    For Each Col In oApplHelp.Columns
        UserForm1.SAPTableView1.Columns(Col.Index).Name = Col.Name
        UserForm1.SAPTableView1.Columns(Col.Index).Protection = True
    Next Col
    'Column Headings
    UserForm1.SAPTableView1.Columns("I_ASTNR").Header = "Applicant No"
    UserForm1.SAPTableView1.Columns("I_ASTNA").Header = "Applicant Name"
    'Automatically adopt column width to contents
    UserForm1.SAPTableView1.ColumnAutoWidth 1, UserForm1.SAPTableView1.ColumnCount
    End Sub
    Thanks
    Priya

    Hi,
      Try to Download APOLoader and see it can connect properly to SAP.  Look on the APOLoader code.. (It has full logic to save and retrieve from APO..)
    /Shibi
    Thanks for rewarding points if this is helpful

Maybe you are looking for

  • How to create service items and sales order for service contracts.

    Hi, I have created item using Purchased Item template and one more item(service item) using service /warranty program template. Then I have used these items to create sales order with service item in it and closed that order , but Iam not getting thi

  • Identifying Execute Threads as Socket Readers

    Hi All, Preface: I am trying to identify at any given instance the percentage of socket reader threads that are in use - this will help me to identify when all threads are in use and unable to service user requests. Thus my goal is to identify thread

  • Lightning adapter will not fit to iPhone 5S with apple case on the phone

    I recently purchased the lightning adapter for my iPhone 5S and the adapter does not insert properly when the Apple leather case is fitted to the phone, surely Apple do not expect one to remove the case to use the adapter?

  • Apple TV not seing my DirecTV Genie RC71 Remote

    Just received a Genie RC71 today with an RC71 remote from DirecTV.  Everything is working great, except I can't seem to program my Apple Remote to the RC71.  I am supposed to be able to "add a remote" to my apple TV, and press the "up" button on the

  • BP for Enterprise Asset Management (EAM)

    Hi All    I am new to EAM. I am trying to locate Business Packages for EAM on market place but didn't any success. Appreciate if anybody could help me to locate the Business Packages for EAM on market Place.