Pct_free,pct_used

Hi,
Please find the below details for table fragmentation :
windows Server 2003
oracle database version : 10.2.0.4
Table Owner (Schema)     Table Name      TABLE Size (With Fragmentation)     Actual data in table     Difference
ACCMAN     S_DEDUP_RESULT     979 MB     357 MB     622 MB
SQL> select pct_free,pct_used,table_name from dba_tables where table_name='S_DEDUP_RESULT' and owner='ACCMAN';
PCT_FREE PCT_USED TABLE_NAME
40 S_DEDUP_RESULT
Would a re-org activity release space ?
re-org tables by export/import will release the space ?
also, please let me know is there any impact on re-org due to pctfree & pctused.
Thanks,

1) PCT_USED has nothing to do with monitoring a table for fragmentation - you have a misconception here
2) It is questionable whether reorganizing tables is actually required at all
See here for a brief explanation for 2)
http://uhesse.com/2010/08/23/reorganizing-tables-in-oracle-is-it-worth-the-effort/
Kind regards
Uwe Hesse
"Don't believe it, test it!"
http://uhesse.com

Similar Messages

  • Global temp table problem w/ODP?

    I'm using the current version of the ODP .NET data adapter to access a global temporary table on an Oracle
    9.2.0.4.0 server created with -
    CREATE GLOBAL TEMPORARY TABLE euik_dex_open_tasks_temp1
    (resource_id NUMBER,
    task_assignment_id NUMBER,
    task_id NUMBER,
    incident_id NUMBER,
    customer_product_id NUMBER,
    inventory_item_id NUMBER,
    contract_service_id NUMBER)
    ON COMMIT DELETE ROWS
    (See below for what is returned from the data dictionary for this table)
    If I use SQLPlus to insert a row into this table, then query the table immediately, I see the inserted row.
    If I use the same exact SQL through the ODP adapter, the ExecuteNonQuery statement returns the fact the 1 row was inserted. However, doing a SELECT from the table immediately after the INSERT, no rows are returned. See the .NET test ap, below.
    Also, note that if I use a global temp table made with ON COMMIT PRESERVE ROWS, the ODP adapter works fine.
    What am I doing wrong? Thanks in advance...
    Pat
    Private Sub TestTempTable()
    Dim Str1 As New System.Text.StringBuilder
    Dim Strx As New System.Text.StringBuilder
    Dim StrOut As New System.Text.StringBuilder
    Dim nInsert As Integer
    Dim nRow As Integer
    'Insert into the global temp table
    Str1.Append("INSERT INTO euik_dex_open_tasks_temp1(resource_id, " & vbCrLf)
    Str1.Append("      task_Assignment_id, " & vbCrLf)
    Str1.Append("     task_id, " & vbCrLf)
    Str1.Append("     incident_id, " & vbCrLf)
    Str1.Append("     customer_product_id, " & vbCrLf)
    Str1.Append("     inventory_item_id, " & vbCrLf)
    Str1.Append("     contract_service_id) " & vbCrLf)
    Str1.Append(" VALUES(1,2,3,4,5,6,7)" & vbCrLf)
    Dim cn As New Oracle.DataAccess.Client.OracleConnection
    Dim dr As Oracle.DataAccess.Client.OracleDataReader
    Dim cd As New Oracle.DataAccess.Client.OracleCommand
    Try
    cn.ConnectionString = "Data Source=XXX;User ID=mickey;Password=mouse;"
    cd.CommandType = CommandType.Text
    cd.Connection = cn
    cn.Open()
    'Run the query to load data in the temp table
    cd.CommandText = Str1.ToString()
    nInsert = cd.ExecuteNonQuery()
    MessageBox.Show(nInsert & " row(s) inserted.")
    'See if there are rows in the temp table
    Strx.Append("Select * from euik_dex_open_tasks_temp1")
    cd.CommandText = Strx.ToString()
    dr = cd.ExecuteReader
    nRow = 0
    While dr.Read
    StrOut.Append(dr(0) & vbCrLf)
    nRow = nRow + 1
    End While
    MessageBox.Show(nRow & " row(s) selected.")
    Catch ex As OracleClient.OracleException
    MessageBox.Show(ex.Message)
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    Finally
    cn.Close()
    End Try
    End Sub
    OWNER     TABLE_NAME     TABLESPACE_NAME     CLUSTER_NAME     IOT_NAME     PCT_FREE     PCT_USED     
    INI_TRANS     MAX_TRANS     INITIAL_EXTENT     NEXT_EXTENT     MIN_EXTENTS     MAX_EXTENTS     PCT_INCREASE     
    FREELISTS     FREELIST_GROUPS     LOGGING     BACKED_UP     NUM_ROWS     BLOCKS     EMPTY_BLOCKS     AVG_SPACE     
    CHAIN_CNT     AVG_ROW_LEN     AVG_SPACE_FREELIST_BLOCKS     NUM_FREELIST_BLOCKS     DEGREE     INSTANCES     
    CACHE     TABLE_LOCK     SAMPLE_SIZE     LAST_ANALYZED     PARTITIONED     IOT_TYPE     TEMPORARY     
    SECONDARY     NESTED     BUFFER_POOL     ROW_MOVEMENT     GLOBAL_STATS     USER_STATS     DURATION     
    SKIP_CORRUPT     MONITORING     CLUSTER_OWNER     DEPENDENCIES     COMPRESSION
    APPS     EUIK_DEX_OPEN_TASKS_TEMP1                    10     40     1     255               
                   1     1     NO     N                                        
         1     1     N     ENABLED               NO          Y     N     NO     
    DEFAULT     DISABLED     NO     NO     SYS$TRANSACTION     DISABLED     NO          DISABLED     
    DISABLED

    Andrew,
    As David indicated if you do not wish to have "auto commit mode" you just need to use a transaction object to manually control the transaction.
    I'm just nervous at the idea of ODP.NET initiating interactions I am not aware of.I think it would be more fair to say "finishing interactions" in this case rather than "initiating interactions" but you could always just run a SQL trace from the database to see exactly what is happening if you are concerned.
    HTH,
    - Mark
    =======================================
    Mark A. Williams
    Oracle DBA
    Author, Professional .NET Oracle Programming
    http://www.apress.com/book/bookDisplay.html?bID=378

  • Query tuning for data-warehousing application in Oracle 8i.

    We have to pick up 24 months old data. Each month data is kept in a different partition.
    2007-May month data is kept in PRESC200705 partition
    SELECT r.account_id,
    p.presc_num,
    spm.product_id,
    p.month,
    t.best_call_state,
    sum(p.trx_count)
    FROM rlup_assigned_account r,
    temp_presc_num_TEST t,
    retail.prescrip_retail partition (PRESC200705) p,
    sherlock.sherlock_product_mapping spm
    WHERE spm.product_id like '056%'
    and spm.mds6 = p.product_id
    and t.CLIENT_ID = p.presc_num
    and r.ndc_pyr_id = p.payer_plan
    and t.best_call_state = r.ST
    GROUP BY r.account_id,
    p.presc_num,
    spm.product_id,
    p.month,
    t.best_call_state
    Q This Query is to be tuned
    SQL> SELECT table_name,
    2 partition_name,
    3 high_value,
    4 num_rows
    5 FROM user_tab_partitions
    6 ;
    no rows selected

    I have the following task:
    Requirement:
    According to the client, new partitions are created every month.
    So the query should contain only the 24 most recent partions leaving one old partition every month.
    So, the query becomes dynamic.
    The query will have to leave one old partion every month and move ahead with the new partion created.
    The total partitions accessed should not cross 24.
    Is this possible?
    Partition# for OCt 2007
    1
    2
    3
    4
    5
    6
    7
    24
    Partition# for Nov 2007
    Old|New
    1
    2..1
    3..2
    4..3
    5..4
    6..5
    7..6
    24..23
    ..24
    Secondly, with one month data (in a partitioned table), the query takes about one hour to run.
    with 24 month data accessed by the query, the query will take 24 hours to run.
    I am sure that Oracle can be tuned to run on such huge data with ease and the query output can
    come within seconds.. Otherwise, nobody would use oracle for datawarehousing applicaions.
    Q. How do I write a dynamic query that references 24 recent partitions, using the query provided:
    abc>SELECT r.account_id,
    2 p.presc_num,
    3 spm.product_id,
    4 p.month,
    5 t.best_call_state,
    6 sum(p.trx_count)
    7 FROM rlup_assigned_account r,
    8 temp_presc_num_TEST t,
    9 retail.prescrip_retail partition (PRESC200705) p,
    10 sherlock.sherlock_product_mapping spm
    11 WHERE spm.product_id like '056%'
    12 and t.CLIENT_ID='934759'
    13 and spm.mds6 = p.product_id
    14 and t.CLIENT_ID = p.presc_num
    15 and r.ndc_pyr_id = p.payer_plan
    16 and t.best_call_state = r.ST
    17 GROUP BY r.account_id,
    18 p.presc_num,
    19 spm.product_id,
    20 p.month,
    21 t.best_call_state
    22 ;
    retail.prescrip_retail partition (PRESC200705) p,
    Partition name, PRESC200705 cannot be hardcoded into the sql.
    Sql should take a range of 24 recent partitions.
    And the query should execute fast too.
    Now, is that what is called a challenge?
    +++++++++++++++++++++++++++++++++++++++++++++++
    Here are the index/constraints/explain_plan output on prescrip_retail table (which is partitioned)
    as well as other tables to which prescrip_retail table is joined
    This is what prescrip_retail looks like. This is the table having partitions.
    It does not seem to have a primary key!
    SQL> desc prescrip_retail
    Name Null? Type
    PRESC_NUM NUMBER
    PFIER_NUM CHAR(8)
    RELID NOT NULL CHAR(9)
    ME_NUM NOT NULL CHAR(10)
    PRODUCT_ID NOT NULL CHAR(6)
    PRODUCT_FRMSTR NOT NULL CHAR(1)
    PAYER_PLAN NOT NULL CHAR(6)
    MONTH NOT NULL DATE
    PYMT_CODE NOT NULL CHAR(1)
    NRX_COUNT NOT NULL NUMBER(7)
    NRX_QUANTITY NOT NULL NUMBER(9)
    NRX_DOLLARS NOT NULL NUMBER(13,2)
    TRX_COUNT NOT NULL NUMBER(7)
    TRX_QUANTITY NOT NULL NUMBER(9)
    TRX_DOLLARS NOT NULL NUMBER(13,2)
    Table Size of Prescrip_Retail...
    1 select table_name,tablespace_name,pct_free,pct_used,num_rows,avg_space
    2 from all_tables
    3* where table_name='PRESCRIP_RETAIL'
    SQL> /
    TABLE_NAME TABLESPACE_NAME PCT_FREE PCT_USED NUM_ROWS AVG_SPACE
    PRESCRIP_RETAIL 2806673860 360
    Explain Plan for the query to be tuned...
    22:32:31 SQL> explain plan set statement_id='vista_query'
    22:43:33 2 for
    22:43:35 3 SELECT r.pfier_account_id,
    22:43:41 4 p.presc_num,
    22:43:41 5 spm.product_id,
    22:43:41 6 p.month,
    22:43:41 7 t.best_call_state,
    22:43:41 8 sum(p.trx_count)
    22:43:41 9 FROM rlup_assigned_account r,
    22:43:41 10 temp_presc_num_TEST t,
    22:43:41 11 retail.prescrip_retail partition (PRESC200705) p,
    22:43:41 12 sherlock.sherlock_product_mapping spm
    22:43:41 13 WHERE spm.product_id like '056%'
    22:43:41 14 and spm.mds6 = p.product_id
    22:43:41 15 and t.CLIENT_ID = p.presc_num
    22:43:41 16 and r.ndc_pyr_id = p.payer_plan
    22:43:41 17 and t.best_call_state = r.ST
    22:43:41 18 GROUP BY r.pfier_account_id,
    22:43:41 19 p.presc_num,
    22:43:41 20 spm.product_id,
    22:43:41 21 p.month,
    22:43:41 22 t.best_call_state;
    Explained.
    SQL> select statement_id,operation,options,object_name
    2 from plan_table
    3 where statement_id='vista_query';
    22:46:03 SQL> /
    STATEMENT_ID OPERATION OPTIONS OBJECT_NAME
    vista_query SELECT STATEMENT
    vista_query SORT GROUP BY
    vista_query HASH JOIN
    vista_query TABLE ACCESS FULL TEMP_PRESC_NUM_TEST
    vista_query HASH JOIN
    vista_query TABLE ACCESS FULL RLUP_ASSIGNED_ACCOUNT
    vista_query HASH JOIN
    vista_query TABLE ACCESS FULL SHERLOCK_PRODUCT_MAPPING
    vista_query TABLE ACCESS FULL PRESCRIP_RETAIL
    9 rows selected.
    Partition Pruning: This is supposed to provide an insight to the partitions oracle
    vists internally...
    I guess we can use "month>= add_months(sysdate,-24)" instead of partions too.
    I don't think Oracle is visiting any partitions.
    I'll also search into all_tab_partitions to verify this.
    Explain_Plan for what partitions oracle visits internally (partition pruning):
    SQL> ed
    Wrote file afiedt.buf
    1 explain plan set statement_id='vista'
    2 for select * from retail.prescrip_retail
    3* where month>= add_months(sysdate,-24)
    SQL> /
    Explained.
    Elapsed: 00:00:00.05
    22:13:56 SQL> select statement_id,operation,options,object_name
    22:14:28 2 from plan_table
    22:14:30 3 where statement_id='vista';
    STATEMENT_ID OPERATION
    OPTIONS OBJECT_NAME
    vista SELECT STATEMENT
    vista PARTITION RANGE
    ITERATOR
    vista TABLE ACCESS
    FULL PRESCRIP_RETAIL
    Elapsed: 00:00:01.00
    Indexes/Constraints on PRESCRIP_RETAIL table:
    SQL> ED
    Wrote file afiedt.buf
    1 SELECT TABLE_NAME,TABLE_TYPE,INDEX_NAME,INDEX_TYPE,PCT_FREE,STATUS,PARTITIONED
    2 FROM ALL_INDEXES
    3* WHERE TABLE_NAME IN ('PRESCRIP_RETAIL')
    SQL> /
    TABLE_NAME TABLE INDEX_NAME INDEX_TYPE PCT_FREE STATUS PAR
    PRESCRIP_RETAIL TABLE BX6_PRESC_RELID BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX7_PRESC_ME BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX1_PRESC_PROD BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX2_PRESC_PAYER BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX3_PRESC_PAYERCD BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX4_PRESC_PRESC BITMAP N/A YES
    PRESCRIP_RETAIL TABLE BX5_PRESC_PFIER BITMAP N/A YES
    7 rows selected.
    SQL> ed
    Wrote file afiedt.buf
    1 SELECT TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS,DEFERRABLE
    2 FROM ALL_CONSTRAINTS
    3* WHERE TABLE_NAME IN ('PRESCRIP_RETAIL')
    SQL> /
    TABLE_NAME CONSTRAINT_NAME C STATUS DEFERRABLE
    PRESCRIP_RETAIL SYS_C001219 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001220 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001221 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001222 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001223 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001224 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001225 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001226 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001227 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001228 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001229 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001230 C ENABLED NOT DEFERRABLE
    PRESCRIP_RETAIL SYS_C001231 C ENABLED NOT DEFERRABLE
    13 rows selected.
    In all_tables:
    NUM_ROWS:2806673860
    AVG_SPACE:360
    Here is the data size in the table.
    SQL> select count(*) from PRESCRIP_RETAIL;
    COUNT(*)
    4602980312
    Again, here is the partition information and the amount of data in each partition:
    SQL> ed
    Wrote file afiedt.buf
    1 select
    2 partition_name,SUBPARTITION_COUNT,PARTITION_POSITION,TABLESPACE_NAME,
    3 NUM_ROWS
    4 from all_tab_partitions
    5 where table_name='PRESCRIP_RETAIL'
    6* order by partition_name desc
    SQL> /
    PARTITION_NAME SUBPARTITION_COUNT PARTITION_POSITION TABLESPACE_NAME NUM_ROWS
    PRESC200705 0 36 PRESC_PARTITION_29 141147085
    PRESC200704 0 35 PRESC_PARTITION_28 140299317
    PRESC200703 0 34 PRESC_PARTITION_27 140703128
    PRESC200702 0 33 PRESC_PARTITION_26 132592733
    PRESC200701 0 32 PRESC_PARTITION_25 145832356
    PRESC200612 0 31 PRESC_PARTITION_24 136702837
    PRESC200611 0 30 PRESC_PARTITION_23 137421767
    PRESC200610 0 29 PRESC_PARTITION_22 140836119
    PRESC200609 0 28 PRESC_PARTITION_21 131273578
    PRESC200608 0 27 PRESC_PARTITION_20 134967317
    PRESC200607 0 26 PRESC_PARTITION_19 130785504
    PRESC200606 0 25 PRESC_PARTITION_18 131472696
    PRESC200605 0 24 PRESC_PARTITION_17 138590581
    PRESC200604 0 23 PRESC_PARTITION_16 126849798
    PRESC200603 0 22 PRESC_PARTITION_15 137164667
    PRESC200602 0 21 PRESC_PARTITION_14 126938544
    PRESC200601 0 20 PRESC_PARTITION_13 135408324
    PRESC200512 0 19 PRESC_PARTITION_12 123285100
    PRESC200511 0 18 PRESC_PARTITION_11 121245764
    PRESC200510 0 17 PRESC_PARTITION_10 122112932
    PRESC200509 0 16 PRESC_PARTITION_09 119137399
    PRESC200508 0 15 PRESC_PARTITION_08 123372311
    PRESC200507 0 14 PRESC_PARTITION_07 112905435
    PRESC200506 0 13 PRESC_PARTITION_06 119581406
    PRESC200505 0 12 PRESC_PARTITION_05 123977315
    PRESC200504 0 11 PRESC_PARTITION_04 118975597
    PRESC200503 0 10 PRESC_PARTITION_03 125782688
    PRESC200502 0 9 PRESC_PARTITION_02 117448839
    PRESC200501 0 8 PRESC_PARTITION_01 122214436
    PRESC200412 0 7 PRESC_PARTITION_36 124799998
    PRESC200411 0 6 PRESC_PARTITION_35 125471042
    PRESC200410 0 5 PRESC_PARTITION_34 118457422
    PRESC200409 0 4 PRESC_PARTITION_33 119537488
    PRESC200408 0 3 PRESC_PARTITION_32 121319137
    PRESC200407 0 2 PRESC_PARTITION_31 115226621
    PRESC200406 0 1 PRESC_PARTITION_30 119143031
    36 rows selected.
    Data in induvidual partition of PRESCRIP_RETAIL.
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200704);
    COUNT(*)
    140299317
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200703);
    COUNT(*)
    140703128
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200702);
    COUNT(*)
    132592733
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200701);
    COUNT(*)
    145832356
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200606);
    COUNT(*)
    131472696
    SQL> SELECT COUNT(*) FROM PRESCRIP_RETAIL PARTITION(PRESC200605);
    COUNT(*)
    138590581
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Other tables info:
    Index of other tables related to PRESCRIP_REATIL:
    SQL> SELECT TABLE_NAME,TABLE_TYPE,INDEX_NAME,INDEX_TYPE,PCT_FREE,STATUS,PARTITIONED
    2 FROM ALL_INDEXES
    3 WHERE TABLE_NAME IN ('RLUP_ASSIGNED_ACCOUNT','TEMP_PRESC_NUM_TEST','SHERLOCK_PRODUCT_MAPPING');
    SQL> /
    TABLE_NAME TABLE INDEX_NAME INDEX_TYPE PCT_FREE STATUS PAR
    SHERLOCK_PRODUCT_MAPPING TABLE SHERLOCK_PRODUCT_MAPPING_PK NORMAL 10 VALID NO
    SHERLOCK_PRODUCT_MAPPING TABLE SHERLOCK_PRODUCT_MAPPING_X1 NORMAL 0 VALID NO
    SHERLOCK_PRODUCT_MAPPING TABLE SHERLOCK_PRODUCT_MAPPING_BX1 BITMAP 0 VALID NO
    SHERLOCK_PRODUCT_MAPPING TABLE SHERLOCK_PRODUCT_MAPPING_BX2 BITMAP 0 VALID NO
    SHERLOCK_PRODUCT_MAPPING TABLE SHERLOCK_PRODUCT_MAPPING_BX3 BITMAP 0 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX1_RLUP_ASSIGNED_ACCT_PYR BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX2_RLUP_ASSIGNED_ACCT_TOPLVL BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX3_RLUP_ASSIGNED_ACCT_PBM BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX4_RLUP_ASSIGNED_ACCT_AA_FLAG BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX5_RLUP_ASSIGNED_ACCT_AA_CHD BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX6_RLUP_ASSIGNED_ACCT_PBM_FLG BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE BX7_RLUP_ASSIGNED_ACCT_ACCTID BITMAP 10 VALID NO
    RLUP_ASSIGNED_ACCOUNT TABLE PK_RLUP_ASSIGNED_ACCOUNT NORMAL 10 VALID NO
    13 rows selected.
    Constraints in other tables:
    SQL> SELECT TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS,DEFERRABLE
    2 FROM ALL_CONSTRAINTS
    3 WHERE TABLE_NAME IN ('RLUP_ASSIGNED_ACCOUNT','TEMP_PRESC_NUM_TEST','SHERLOCK_PRODUCT_MAPPING');
    TABLE_NAME CONSTRAINT_NAME C STATUS DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637753 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637754 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637755 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637756 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637757 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637758 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637759 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637760 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637761 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT SYS_C00637762 C ENABLED NOT DEFERRABLE
    RLUP_ASSIGNED_ACCOUNT PK_RLUP_ASSIGNED_ACCOUNT P ENABLED NOT DEFERRABLE
    TEMP_PRESC_NUM_TEST SYS_C00640536 C ENABLED NOT DEFERRABLE
    12 rows selected.
    TEMP_PRESC_NUM_TEST does not contain any constraints or index.

  • The usefulness (?) of XMLDIFF in database change management

    I post my example here as well, because maybe it is useful to some, for instance, regarding the use of the syntax. The example is explained more deeply here (at least the reasons why I did what I did).: http://www.liberidu.com/blog/?p=394
    Some help is still appreciated from you ("you" as in you the "XMLTable and/or XQuery wizards") regarding the "LINE" problem at the end of the post/example given here.
    Have a look here (and enjoy the examples).
    M.
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    SQL> set long 10000000
    SQL> set pages 5000
    SQL> set lines 200
    SQL> create table A
      2  (id number(10));
    Table created.
    SQL>  create table B
      2  (id number(15));
    Table created.
    SQL> create table C
      2  (id number(10),
      3  extra varchar2(50));
    Table created.
    SQL> select dbms_metadata.get_ddl('TABLE','A') from dual;
    DBMS_METADATA.GET_DDL('TABLE','A')
      CREATE TABLE "SYSTEM"."A"
       (    "ID" NUMBER(10,0)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "SYSTEM"
    SQL> select dbms_metadata.get_ddl('TABLE','B') from dual;
    DBMS_METADATA.GET_DDL('TABLE','B')
      CREATE TABLE "SYSTEM"."B"
       (    "ID" NUMBER(15,0)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "SYSTEM"
    SQL> select dbms_metadata.get_ddl('TABLE','C') from dual;
    DBMS_METADATA.GET_DDL('TABLE','C')
      CREATE TABLE "SYSTEM"."C"
       (    "ID" NUMBER(10,0),
            "EXTRA" VARCHAR2(50)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "SYSTEM"
      TABLESPACE "SYSTEM"
    SQL> SELECT dbms_metadata.compare_alter('TABLE','A','B',USER,USER) from dual;
    DBMS_METADATA.COMPARE_ALTER('TABLE','A','B',USER,USER)
    ALTER TABLE "SYSTEM"."A" MODIFY ("ID" NUMBER(15,0))
      ALTER TABLE "SYSTEM"."A" RENAME TO "B"
    SQL> SELECT dbms_metadata.compare_alter('TABLE','A','C',USER,USER) from dual;
    DBMS_METADATA.COMPARE_ALTER('TABLE','A','C',USER,USER)
    ALTER TABLE "SYSTEM"."A" ADD ("EXTRA" VARCHAR2(50))
      ALTER TABLE "SYSTEM"."A" RENAME TO "C"
    SQL> SELECT dbms_metadata.compare_alter('TABLE','B','C',USER,USER) from dual;
    DBMS_METADATA.COMPARE_ALTER('TABLE','B','C',USER,USER)
    ALTER TABLE "SYSTEM"."B" ADD ("EXTRA" VARCHAR2(50))
      ALTER TABLE "SYSTEM"."B" MODIFY ("ID" NUMBER(10,0))
      ALTER TABLE "SYSTEM"."B" RENAME TO "C"
    SQL> SELECT dbms_metadata.compare_alter_xml('TABLE','A','B',USER,USER) from dual;
    DBMS_METADATA.COMPARE_ALTER_XML('TABLE','A','B',USER,USER)
    <ALTER_XML xmlns="http://xmlns.oracle.com/ku" version="1.0">
       <OBJECT_TYPE>TABLE</OBJECT_TYPE>
       <OBJECT1>
          <SCHEMA>SYSTEM</SCHEMA>
          <NAME>A</NAME>
       </OBJECT1>
       <OBJECT2>
          <SCHEMA>SYSTEM</SCHEMA>
          <NAME>B</NAME>
       </OBJECT2>
       <ALTER_LIST>
          <ALTER_LIST_ITEM>
             <SQL_LIST>
                <SQL_LIST_ITEM>ALTER TABLE "SYSTEM"."A" MODIFY ("ID" NUMBER(15,0))</SQL_LIST_ITEM>
             </SQL_LIST>
          </ALTER_LIST_ITEM>
          <ALTER_LIST_ITEM>
             <SQL_LIST>
                <SQL_LIST_ITEM>ALTER TABLE "SYSTEM"."A" RENAME TO "B"</SQL_LIST_ITEM>
             </SQL_LIST>
          </ALTER_LIST_ITEM>
       </ALTER_LIST>
    </ALTER_XML>
    SQL> SELECT dbms_metadata.compare_sxml('TABLE','A','B',USER,USER) from dual;
    DBMS_METADATA.COMPARE_SXML('TABLE','A','B',USER,USER)
    <TABLE xmlns="http://xmlns.oracle.com/ku" version="1.0">
      <SCHEMA>SYSTEM</SCHEMA>
      <NAME value1="A">B</NAME>
      <RELATIONAL_TABLE>
        <COL_LIST>
          <COL_LIST_ITEM>
            <NAME>ID</NAME>
            <DATATYPE>NUMBER</DATATYPE>
            <PRECISION value1="10">15</PRECISION>
            <SCALE>0</SCALE>
          </COL_LIST_ITEM>
        </COL_LIST>
        <PHYSICAL_PROPERTIES>
          <HEAP_TABLE>
            <SEGMENT_ATTRIBUTES>
              <PCTFREE>10</PCTFREE>
              <PCTUSED>40</PCTUSED>
              <INITRANS>1</INITRANS>
              <STORAGE>
                <INITIAL>65536</INITIAL>
                <NEXT>1048576</NEXT>
                <MINEXTENTS>1</MINEXTENTS>
                <MAXEXTENTS>2147483645</MAXEXTENTS>
                <PCTINCREASE>0</PCTINCREASE>
                <FREELISTS>1</FREELISTS>
                <FREELIST_GROUPS>1</FREELIST_GROUPS>
                <BUFFER_POOL>DEFAULT</BUFFER_POOL>
              </STORAGE>
              <TABLESPACE>SYSTEM</TABLESPACE>
              <LOGGING>Y</LOGGING>
            </SEGMENT_ATTRIBUTES>
            <COMPRESS>N</COMPRESS>
          </HEAP_TABLE>
        </PHYSICAL_PROPERTIES>
      </RELATIONAL_TABLE>
    </TABLE>
    SQL> SELECT dbms_metadata.get_sxml('TABLE', 'A', USER) from dual;
    DBMS_METADATA.GET_SXML('TABLE','A',USER)
      <TABLE xmlns="http://xmlns.oracle.com/ku" version="1.0">
       <SCHEMA>SYSTEM</SCHEMA>
       <NAME>A</NAME>
       <RELATIONAL_TABLE>
          <COL_LIST>
             <COL_LIST_ITEM>
                <NAME>ID</NAME>
                <DATATYPE>NUMBER</DATATYPE>
                <PRECISION>10</PRECISION>
                <SCALE>0</SCALE>
             </COL_LIST_ITEM>
          </COL_LIST>
          <PHYSICAL_PROPERTIES>
             <HEAP_TABLE>
                <SEGMENT_ATTRIBUTES>
                   <PCTFREE>10</PCTFREE>
                   <PCTUSED>40</PCTUSED>
                   <INITRANS>1</INITRANS>
                   <STORAGE>
                      <INITIAL>65536</INITIAL>
                      <NEXT>1048576</NEXT>
                      <MINEXTENTS>1</MINEXTENTS>
                      <MAXEXTENTS>2147483645</MAXEXTENTS>
                      <PCTINCREASE>0</PCTINCREASE>
                      <FREELISTS>1</FREELISTS>
                      <FREELIST_GROUPS>1</FREELIST_GROUPS>
                      <BUFFER_POOL>DEFAULT</BUFFER_POOL>
                   </STORAGE>
                   <TABLESPACE>SYSTEM</TABLESPACE>
                   <LOGGING>Y</LOGGING>
                </SEGMENT_ATTRIBUTES>
                <COMPRESS>N</COMPRESS>
             </HEAP_TABLE>
          </PHYSICAL_PROPERTIES>
       </RELATIONAL_TABLE>
    </TABLE>
    -- dbms_metadata.set_transform_param
    -- http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_metada.htm#i1000135
    SQL> exec dbms_metadata.set_transform_param( dbms_metadata.session_transform, 'STORAGE', FALSE);
    PL/SQL procedure successfully completed.
    SQL> select dbms_metadata.get_ddl('TABLE','A') from dual;
    DBMS_METADATA.GET_DDL('TABLE','A')
      CREATE TABLE "SYSTEM"."A"
       (    "ID" NUMBER(10,0)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      TABLESPACE "SYSTEM"
    SQL> exec dbms_metadata.set_transform_param( dbms_metadata.session_transform, 'DEFAULT');
    PL/SQL procedure successfully completed.
    SQL> select dbms_metadata.get_ddl('TABLE','A') from dual;
    DBMS_METADATA.GET_DDL('TABLE','A')
      CREATE TABLE "SYSTEM"."A"
       (    "ID" NUMBER(10,0)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "SYSTEM"
    SQL> exec dbms_metadata.set_transform_param( dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', FALSE);
    PL/SQL procedure successfully completed.
    SQL> select dbms_metadata.get_ddl('TABLE','A') from dual;
    DBMS_METADATA.GET_DDL('TABLE','A')
      CREATE TABLE "SYSTEM"."A"
       (    "ID" NUMBER(10,0)
    -- dbms_metadata.set_transform_param ONLY for DDL statements...
    -- http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_metada.htm#i1019414
    SQL> select dbms_metadata.get_xml('TABLE','A') from dual;
    DBMS_METADATA.GET_XML('TABLE','A')
    <?xml version="1.0"?><ROWSET><ROW>
      <TABLE_T>
    <VERS_MAJOR>1</VERS_MAJOR>
    <VERS_MINOR>2 </VERS_MINOR>
    <OBJ_NUM>58932</OBJ_NUM>
    <SCHEMA_OBJ>
      <OBJ_NUM>58932</OBJ_NUM>
      <DATAOBJ_NUM>58932</DATAOBJ_NUM>
      <OWNER_NUM>5</OWNER_NUM>
      <OWNER_NAME>SYSTEM</OWNER_NAME>
      <NAME>A</NAME>
      <NAMESPACE>1</NAMESPACE>
      <TYPE_NUM>2</TYPE_NUM>
      <TYPE_NAME>TABLE</TYPE_NAME>
      <CTIME>2008-03-19 11:16:45</CTIME>
      <MTIME>2008-03-19 11:16:45</MTIME>
      <STIME>2008-03-19 11:16:45</STIME>
      <STATUS>1</STATUS>
      <FLAGS>0</FLAGS>
      <SPARE1>6</SPARE1>
      <SPARE2>1</SPARE2>
      <SPARE3>5</SPARE3>
    </SCHEMA_OBJ>
    <STORAGE>
      <FILE_NUM>1</FILE_NUM>
      <BLOCK_NUM>65369</BLOCK_NUM>
      <TYPE_NUM>5</TYPE_NUM>
      <TS_NUM>0</TS_NUM>
      <BLOCKS>8</BLOCKS>
      <EXTENTS>1</EXTENTS>
      <INIEXTS>8</INIEXTS>
      <MINEXTS>1</MINEXTS>
      <MAXEXTS>2147483645</MAXEXTS>
      <EXTSIZE>128</EXTSIZE>
      <EXTPCT>0</EXTPCT>
      <USER_NUM>5</USER_NUM>
      <LISTS>1</LISTS>
      <GROUPS>1</GROUPS>
      <BITMAPRANGES>2147483645</BITMAPRANGES>
      <CACHEHINT>0</CACHEHINT>
      <SCANHINT>0</SCANHINT>
      <HWMINCR>58932</HWMINCR>
      <FLAGS>4325377</FLAGS>
    </STORAGE>
    <TS_NAME>SYSTEM</TS_NAME>
    <BLOCKSIZE>8192</BLOCKSIZE>
    <DATAOBJ_NUM>58932</DATAOBJ_NUM>
    <COLS>1</COLS>
    <PCT_FREE>10</PCT_FREE>
    <PCT_USED>40</PCT_USED>
    <INITRANS>1</INITRANS>
    <MAXTRANS>255</MAXTRANS>
    <FLAGS>1</FLAGS>
    <AUDIT_VAL>--------------------------------------</AUDIT_VAL>
    <INTCOLS>1</INTCOLS>
    <KERNELCOLS>1</KERNELCOLS>
    <PROPERTY>536870912</PROPERTY>
    <PROPERTY2>0</PROPERTY2>
    <XMLSCHEMACOLS>N</XMLSCHEMACOLS>
    <TRIGFLAG>0</TRIGFLAG>
    <SPARE1>736</SPARE1>
    <SPARE6>19-MAR-08</SPARE6>
    <COL_LIST>
      <COL_LIST_ITEM>
       <OBJ_NUM>58932</OBJ_NUM>
       <COL_NUM>1</COL_NUM>
       <INTCOL_NUM>1</INTCOL_NUM>
       <SEGCOL_NUM>1</SEGCOL_NUM>
       <PROPERTY>0</PROPERTY>
       <NAME>ID</NAME>
       <TYPE_NUM>2</TYPE_NUM>
       <LENGTH>22</LENGTH>
       <PRECISION_NUM>10</PRECISION_NUM>
       <SCALE>0</SCALE>
       <NOT_NULL>0</NOT_NULL>
       <CHARSETID>0</CHARSETID>
       <CHARSETFORM>0</CHARSETFORM>
       <BASE_INTCOL_NUM>1</BASE_INTCOL_NUM>
       <BASE_COL_TYPE>0</BASE_COL_TYPE>
       <SPARE1>0</SPARE1>
       <SPARE2>0</SPARE2>
       <SPARE3>0</SPARE3>
      </COL_LIST_ITEM>
    </COL_LIST>
    <CON0_LIST/>
    <CON1_LIST/>
    <CON2_LIST/>
    <REFPAR_LEVEL>0</REFPAR_LEVEL>
    </TABLE_T>
    </ROW></ROWSET>
    SQL> select dbms_metadata.get_xml('TABLE','B') from dual;
    DBMS_METADATA.GET_XML('TABLE','B')
    <?xml version="1.0"?><ROWSET><ROW>
      <TABLE_T>
    <VERS_MAJOR>1</VERS_MAJOR>
    <VERS_MINOR>2 </VERS_MINOR>
    <OBJ_NUM>58933</OBJ_NUM>
    <SCHEMA_OBJ>
      <OBJ_NUM>58933</OBJ_NUM>
      <DATAOBJ_NUM>58933</DATAOBJ_NUM>
      <OWNER_NUM>5</OWNER_NUM>
      <OWNER_NAME>SYSTEM</OWNER_NAME>
      <NAME>B</NAME>
      <NAMESPACE>1</NAMESPACE>
      <TYPE_NUM>2</TYPE_NUM>
      <TYPE_NAME>TABLE</TYPE_NAME>
      <CTIME>2008-03-19 11:17:05</CTIME>
      <MTIME>2008-03-19 11:17:05</MTIME>
      <STIME>2008-03-19 11:17:05</STIME>
      <STATUS>1</STATUS>
      <FLAGS>0</FLAGS>
      <SPARE1>6</SPARE1>
      <SPARE2>1</SPARE2>
      <SPARE3>5</SPARE3>
    </SCHEMA_OBJ>
    <STORAGE>
      <FILE_NUM>1</FILE_NUM>
      <BLOCK_NUM>65377</BLOCK_NUM>
      <TYPE_NUM>5</TYPE_NUM>
      <TS_NUM>0</TS_NUM>
      <BLOCKS>8</BLOCKS>
      <EXTENTS>1</EXTENTS>
      <INIEXTS>8</INIEXTS>
      <MINEXTS>1</MINEXTS>
      <MAXEXTS>2147483645</MAXEXTS>
      <EXTSIZE>128</EXTSIZE>
      <EXTPCT>0</EXTPCT>
      <USER_NUM>5</USER_NUM>
      <LISTS>1</LISTS>
      <GROUPS>1</GROUPS>
      <BITMAPRANGES>2147483645</BITMAPRANGES>
      <CACHEHINT>0</CACHEHINT>
      <SCANHINT>0</SCANHINT>
      <HWMINCR>58933</HWMINCR>
      <FLAGS>4325377</FLAGS>
    </STORAGE>
    <TS_NAME>SYSTEM</TS_NAME>
    <BLOCKSIZE>8192</BLOCKSIZE>
    <DATAOBJ_NUM>58933</DATAOBJ_NUM>
    <COLS>1</COLS>
    <PCT_FREE>10</PCT_FREE>
    <PCT_USED>40</PCT_USED>
    <INITRANS>1</INITRANS>
    <MAXTRANS>255</MAXTRANS>
    <FLAGS>1</FLAGS>
    <AUDIT_VAL>--------------------------------------</AUDIT_VAL>
    <INTCOLS>1</INTCOLS>
    <KERNELCOLS>1</KERNELCOLS>
    <PROPERTY>536870912</PROPERTY>
    <PROPERTY2>0</PROPERTY2>
    <XMLSCHEMACOLS>N</XMLSCHEMACOLS>
    <TRIGFLAG>0</TRIGFLAG>
    <SPARE1>736</SPARE1>
    <SPARE6>19-MAR-08</SPARE6>
    <COL_LIST>
      <COL_LIST_ITEM>
       <OBJ_NUM>58933</OBJ_NUM>
       <COL_NUM>1</COL_NUM>
       <INTCOL_NUM>1</INTCOL_NUM>
       <SEGCOL_NUM>1</SEGCOL_NUM>
       <PROPERTY>0</PROPERTY>
       <NAME>ID</NAME>
       <TYPE_NUM>2</TYPE_NUM>
       <LENGTH>22</LENGTH>
       <PRECISION_NUM>15</PRECISION_NUM>
       <SCALE>0</SCALE>
       <NOT_NULL>0</NOT_NULL>
       <CHARSETID>0</CHARSETID>
       <CHARSETFORM>0</CHARSETFORM>
       <BASE_INTCOL_NUM>1</BASE_INTCOL_NUM>
       <BASE_COL_TYPE>0</BASE_COL_TYPE>
       <SPARE1>0</SPARE1>
       <SPARE2>0</SPARE2>
       <SPARE3>0</SPARE3>
      </COL_LIST_ITEM>
    </COL_LIST>
    <CON0_LIST/>
    <CON1_LIST/>
    <CON2_LIST/>
    <REFPAR_LEVEL>0</REFPAR_LEVEL>
    </TABLE_T>
    </ROW></ROWSET>
    SQL> desc a
    Name                                      Null?    Type
    ID                                                 NUMBER(10)
    SQL> desc b
    Name                                      Null?    Type
    ID                                                 NUMBER(15)
    SQL> exec dbms_metadata.set_transform_param( dbms_metadata.session_transform, 'DEFAULT');
    PL/SQL procedure successfully completed.
    SQL> select XMLDIFF(
      2                 xmltype(dbms_metadata.get_xml('TABLE','A')),
      3                 xmltype(dbms_metadata.get_xml('TABLE','B'))
      4                ) as "DIFFERENCES"
      5  from dual;
    DIFFERENCES
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns.oracle.com/xdb/xdiff.xsd"
        xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-algorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]">
        <xd:content>B</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/CTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/MTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/STIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/BLOCK_NUM[1]/text()[1]">
        <xd:content>65377</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/HWMINCR[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/PRECISION_NUM[1]/text()[1]">
        <xd:content>15</xd:content>
      </xd:update-node>
    </xd:xdiff>
    SQL> select XMLDIFF(
      2                 xmltype(dbms_metadata.get_xml('TABLE','B')),
      3                 xmltype(dbms_metadata.get_xml('TABLE','A'))
      4                ) as "DIFFERENCES"
      5  from dual;
    DIFFERENCES
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns.oracle.com/xdb/xdiff.xsd"
        xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-al
    gorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]">
        <xd:content>A</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/CTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/MTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/STIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/BLOCK_NUM[1]/text()[1]">
        <xd:content>65369</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/HWMINCR[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/PRECISION_NUM[1]/text()[1]">
        <xd:content>10</xd:content>
      </xd:update-node>
    </xd:xdiff>
    SQL> WITH tabxml AS                                                                        
      2   (SELECT XMLDIFF(                                                                     
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),                
      4                            xmltype(dbms_metadata.get_xml('TABLE','B'))                 
      5                           ) xmlset                                                     
      6           FROM dual)                                                                   
      7  SELECT u.element_name                                                                 
      8  ,      u.element_value                                                             
      9  FROM   tabxml                                                                         
    10  ,      XMLTABLE                                                                       
    11         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    12          ,'//xd:update-node'                                                                   
    13           PASSING xmlset                                                               
    14           COLUMNS  element_name  xmltype PATH '//xd:update-node/@xd:xpath'
    15           ,        element_value xmltype PATH '//xd:content/text()'                      
    16         ) u                                                                            
    17  ;                                                                                     
    ELEMENT_NAME
    ELEMENT_VALUE
    /ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ_NUM[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/OBJ_NUM[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/DATAOBJ_NUM[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]
    B
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/CTIME[1]/text()[1]
    2008-03-19 11:17:05
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/MTIME[1]/text()[1]
    2008-03-19 11:17:05
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/STIME[1]/text()[1]
    2008-03-19 11:17:05
    /ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/BLOCK_NUM[1]/text()[1]
    65377
    /ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/HWMINCR[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/DATAOBJ_NUM[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/OBJ_NUM[1]/text()[1]
    58933
    /ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_ITEM[1]/PRECISION_NUM[1]/text(
    )[1]
    15
    12 rows selected.
    SQL> WITH tabxml AS                                                                        
      2   (SELECT XMLDIFF(                                                                     
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),                
      4                            xmltype(dbms_metadata.get_xml('TABLE','B'))                 
      5                           ) xmlset                                                     
      6           FROM dual)                                                                   
      7  SELECT u.element_name                                                                 
      8  ,      u.element_value                                                             
      9  FROM   tabxml                                                                         
    10  ,      XMLTABLE                                                                       
    11         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    12          ,'//xd:update-node'                                                                   
    13           PASSING xmlset                                                               
    14           COLUMNS  element_name  xmltype PATH '//xd:update-node[@xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]"]'
    15           ,        element_value xmltype PATH '//xd:content/text()'                      
    16         ) u
    17  WHERE  u.element_name is not null                                                             
    18  ;                                                                                     
    ELEMENT_NAME
    ELEMENT_VALUE
    <xd:update-node xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xd:node-type="t
    ext" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]"><xd
    :content>B</xd:content></xd:update-node>
    B
    SQL> col NAME  for a60
    SQL> col VALUE for a20
    SQL> WITH tabxml AS                                                                        
      2   (SELECT XMLDIFF(                                                                     
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),                
      4                            xmltype(dbms_metadata.get_xml('TABLE','B'))                 
      5                           ) xmlset                                                     
      6           FROM dual)                                                                   
      7  SELECT extract(u.element_name,'//@xd:xpath','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"') as "NAME"                                     
      8  ,      u.element_value                                                                          as "VALUE"                                             
      9  FROM   tabxml                                                                         
    10  ,      XMLTABLE                                                                       
    11         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    12          ,'//xd:update-node'                                                                         
    13           PASSING xmlset                                                               
    14           COLUMNS  element_name  xmltype PATH '//xd:update-node[@xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]"]'
    15           ,        element_value xmltype PATH '//xd:content/text()'                      
    16         ) u
    17  WHERE  u.element_name is not null                                                                           
    18  ;                                                                                     
    NAME                                                         VALUE
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1] B
    SQL> select XMLCONCAT(XMLDIFF(
      2          xmltype(dbms_metadata.get_xml('TABLE','A')),
      3          xmltype(dbms_metadata.get_xml('TABLE','B'))
      4         ),
      5                  XMLDIFF(
      6          xmltype(dbms_metadata.get_xml('TABLE','B')),
      7          xmltype(dbms_metadata.get_xml('TABLE','A'))
      8         ) )
      9  from dual;
    XMLCONCAT(XMLDIFF(XMLTYPE(DBMS_METADATA.GET_XML('TABLE','A')),XMLTYPE(DBMS_METAD
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns
    .oracle.com/xdb/xdiff.xsd" xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmln
    s:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-al
    gorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ
    _NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/NAME[1]/text()[1]">
        <xd:content>B</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/CTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/MTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/STIME[1]/text()[1]">
        <xd:content>2008-03-19 11:17:05</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STO
    RAGE[1]/BLOCK_NUM[1]/text()[1]">
        <xd:content>65377</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STO
    RAGE[1]/HWMINCR[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DAT
    AOBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL
    _LIST[1]/COL_LIST_ITEM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58933</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL
    _LIST[1]/COL_LIST_ITEM[1]/PRECISION_NUM[1]/text()[1]">
        <xd:content>15</xd:content>
      </xd:update-node>
    </xd:xdiff>
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns
    .oracle.com/xdb/xdiff.xsd" xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmln
    s:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-al
    gorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ
    _NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/DATAOBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/NAME[1]/text()[1]">
        <xd:content>A</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/CTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/MTIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCH
    EMA_OBJ[1]/STIME[1]/text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STO
    RAGE[1]/BLOCK_NUM[1]/text()[1]">
        <xd:content>65369</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STO
    RAGE[1]/HWMINCR[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DAT
    AOBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL
    _LIST[1]/COL_LIST_ITEM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL
    _LIST[1]/COL_LIST_ITEM[1]/PRECISION_NUM[1]/text()[1]">
        <xd:content>10</xd:content>
      </xd:update-node>
    </xd:xdiff>
    SQL> WITH tabxml AS                                                                        
      2   ( select XMLCONCAT(XMLDIFF(
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),
      4                            xmltype(dbms_metadata.get_xml('TABLE','B'))
      5                           ),
      6                                    XMLDIFF(
      7                            xmltype(dbms_metadata.get_xml('TABLE','B')),
      8                            xmltype(dbms_metadata.get_xml('TABLE','A'))
      9                           ) ) xmlset
    10   from DUAL)                                                                   
    11  SELECT extract(u.element_name,'//@xd:xpath','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"') as "NAME"                                        
    12  ,      u.element_value                                                                          as "VALUE"                                                
    13  FROM   tabxml                                                                         
    14  ,      XMLTABLE                                                                       
    15         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    16          ,'//xd:update-node'                                                                         
    17           PASSING xmlset                                                               
    18           COLUMNS  element_name  xmltype PATH '//xd:update-node[@xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]"]'
    19           ,        element_value xmltype PATH '//xd:content/text()'                      
    20         ) u
    21  WHERE  u.element_name is not null                                                                           
    22  ;                                                                                     
    NAME                                                         VALUE
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1] B
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1] A
    SQL> WITH tabxml AS                                                                        
      2   ( select XMLCONCAT(XMLDIFF(
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),
      4                            xmltype(dbms_metadata.get_xml('TABLE','B'))
      5                           ),
      6                                    XMLDIFF(
      7                            xmltype(dbms_metadata.get_xml('TABLE','B')),
      8                            xmltype(dbms_metadata.get_xml('TABLE','A'))
      9                           ) ) xmlset
    10   from DUAL)                                                                   
    11  SELECT extract(u.element_name,'//@xd:xpath','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"') as "NAME"                                            
    12  ,      u.element_value                                                                 as "VALUE"                                                    
    13  FROM   tabxml                                                                         
    14  ,      XMLTABLE                                                                       
    15         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    16          ,'/xd:xdiff/xd:update-node'                                                                         
    17           PASSING xmlset                                                               
    18           COLUMNS  element_name  xmltype PATH '/xd:update-node[@xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1]"]'
    19           ,        element_value xmltype PATH '/xd:update-node/xd:content/text()'                      
    20         ) u
    21  WHERE  u.element_name is not null                                                                           
    22  ;                                                                                     
    NAME                                                         VALUE
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1] B
    /ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/text()[1] A
    SQL> select XMLCONCAT(XMLDIFF(
      2                           xmltype(dbms_metadata.get_xml('TABLE','A')),
      3                           xmltype(dbms_metadata.get_xml('TABLE','C'))
      4                          ),
      5                                   XMLDIFF(
      6                           xmltype(dbms_metadata.get_xml('TABLE','C')),
      7                           xmltype(dbms_metadata.get_xml('TABLE','A'))
      8                          ) )
      9  from DUAL
    10  ;
    XMLCONCAT(XMLDIFF(XMLTYPE(DBMS_METADATA.GET_XML('TABLE','A')),XMLTYPE(DBMS_METADATA.GET_XML('TABLE',
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns.oracle.com/xdb/xdif
    f.xsd" xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
    instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-algorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/OBJ_NUM[1
    ]/text()[1]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/DATAOBJ_N
    UM[1]/text()[1]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/t
    ext()[1]">
        <xd:content>C</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/CTIME[1]/
    text()[1]">
        <xd:content>2008-03-19 15:08:47</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/MTIME[1]/
    text()[1]">
        <xd:content>2008-03-19 15:08:47</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/STIME[1]/
    text()[1]">
        <xd:content>2008-03-19 15:08:47</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/BLOCK_NUM[1]
    /text()[1]">
        <xd:content>65385</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/HWMINCR[1]/t
    ext()[1]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DATAOBJ_NUM[1]/text()[1
    ]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COLS[1]/text()[1]">
        <xd:content>2</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/INTCOLS[1]/text()[1]">
        <xd:content>2</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/KERNELCOLS[1]/text()[1]
    ">
        <xd:content>2</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_IT
    EM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58935</xd:content>
      </xd:update-node>
      <xd:append-node xd:node-type="element" xd:parent-xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]">
        <xd:content>
          <COL_LIST_ITEM>
            <OBJ_NUM>58935</OBJ_NUM>
            <COL_NUM>2</COL_NUM>
            <INTCOL_NUM>2</INTCOL_NUM>
            <SEGCOL_NUM>2</SEGCOL_NUM>
            <PROPERTY>0</PROPERTY>
            <NAME>EXTRA</NAME>
            <TYPE_NUM>1</TYPE_NUM>
            <LENGTH>50</LENGTH>
            <NOT_NULL>0</NOT_NULL>
            <CHARSETID>873</CHARSETID>
            <CHARSETFORM>1</CHARSETFORM>
            <BASE_INTCOL_NUM>2</BASE_INTCOL_NUM>
            <BASE_COL_TYPE>0</BASE_COL_TYPE>
            <SPARE1>0</SPARE1>
            <SPARE2>0</SPARE2>
            <SPARE3>50</SPARE3>
          </COL_LIST_ITEM>
        </xd:content>
      </xd:append-node>
    </xd:xdiff>
    <xd:xdiff xsi:schemaLocation="http://xmlns.oracle.com/xdb/xdiff.xsd http://xmlns.oracle.com/xdb/xdif
    f.xsd" xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
    instance">
      <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-algorithm="global"?>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/OBJ_NUM[1
    ]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/DATAOBJ_N
    UM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/NAME[1]/t
    ext()[1]">
        <xd:content>A</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/CTIME[1]/
    text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/MTIME[1]/
    text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/SCHEMA_OBJ[1]/STIME[1]/
    text()[1]">
        <xd:content>2008-03-19 11:16:45</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/BLOCK_NUM[1]
    /text()[1]">
        <xd:content>65369</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/STORAGE[1]/HWMINCR[1]/t
    ext()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/DATAOBJ_NUM[1]/text()[1
    ]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COLS[1]/text()[1]">
        <xd:content>1</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/INTCOLS[1]/text()[1]">
        <xd:content>1</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/KERNELCOLS[1]/text()[1]
    ">
        <xd:content>1</xd:content>
      </xd:update-node>
      <xd:update-node xd:node-type="text" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST_IT
    EM[1]/OBJ_NUM[1]/text()[1]">
        <xd:content>58932</xd:content>
      </xd:update-node>
      <xd:delete-node xd:node-type="element" xd:xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]/COL_LIST
    _ITEM[2]"/>
    </xd:xdiff>
    SQL> col LENGTH for a10
    SQL> WITH tabxml AS                                                                        
      2   ( select XMLCONCAT(XMLDIFF(
      3                            xmltype(dbms_metadata.get_xml('TABLE','A')),
      4                            xmltype(dbms_metadata.get_xml('TABLE','C'))
      5                           ),
      6                                    XMLDIFF(
      7                            xmltype(dbms_metadata.get_xml('TABLE','C')),
      8                            xmltype(dbms_metadata.get_xml('TABLE','A'))
      9                           ) ) xmlset
    10    from DUAL)                                                                   
    11  SELECT extract(v.append_name,'//@xd:parent-xpath','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"')             as "NAME"
    12  ,      extract(v.append_value,'//COL_LIST_ITEM/NAME/text()','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"')   as "VALUE"
    13  ,      extract(v.append_value,'//COL_LIST_ITEM/LENGTH/text()','xmlns:xd="http://xmlns.oracle.com/xdb/xdiff.xsd"') as "LENGTH"
    14  FROM   tabxml                                                                         
    15  ,      XMLTABLE                                                                       
    16         (XMLNAMESPACES ('http://xmlns.oracle.com/xdb/xdiff.xsd' AS "xd")               
    17          ,'/xd:xdiff/xd:append-node'                                                                         
    18           PASSING  xmlset                                                               
    19           COLUMNS  append_name  xmltype PATH '/xd:append-node[@xd:parent-xpath="/ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]"]'
    20           ,        append_value xmltype PATH '/xd:append-node/xd:content'                      
    21         ) v       
    22  WHERE  v.append_name  is not null                                                                         
    23  ;                                                                                     
    NAME                                                         VALUE                LENGTH
    /ROWSET[1]/ROW[1]/TABLE_T[1]/COL_LIST[1]                     EXTRA                50
    SQL> drop procedure proc_01;
    Procedure dropped.
    SQL>
    SQL> create or replace procedure proc_01
      2  as
      3  begin
      4    null;
      5  end;
      6  /
    Procedure created.
    SQL>
    SQL> drop procedure proc_02;
    Procedure dropped.
    SQL>
    SQL> create or replace procedure proc_02
      2  as
      3  begin
      4    NULL;
      5  -- this is extra
      6  end;
      7  /
    Procedure created.
    SQL> select dbms_metadata.get_ddl('PROCEDURE','PROC_01') from dual;
    DBMS_METADATA.GET_DDL('PROCEDURE','PROC_01')
      CREATE OR REPLACE PROCEDURE "SYSTEM"."PROC_01"
    as
    begin
      null;
    end;
    SQL>  select dbms_metadata.get_ddl('PROCEDURE','PROC_02') from dual;
    DBMS_METADATA.GET_DDL('PROCEDURE','PROC_02')
      CREATE OR REPLACE PROCEDURE "SYSTEM"."PROC_02"
    as
    begin
      NULL;
    -- this is extra
    end;
    SQL> select dbms_metadata.get_xml('PROCEDURE','PROC_01') from dual;
    DBMS_METADATA.GET_XML('PROCEDURE','PROC_01')
    <?xml version="1.0"?><ROWSET><ROW>
      <PROCEDURE_T>
    <VERS_MAJOR>1</VERS_MAJOR>
    <VERS_MINOR>1 </VERS_MINOR>
    <OBJ_NUM>58937</OBJ_NUM>
    <TYPE_NUM>7</TYPE_NUM>
    <SCHEMA_OBJ>
      <OBJ_NUM>58937</OBJ_NUM>
      <OWNER_NUM>5</OWNER_NUM>
      <OWNER_NAME>SYSTEM</OWNER_NAME>
      <NAME>PROC_01</NAME>
      <NAMESPACE>1</NAMESPACE>
      <TYPE_NUM>7</TYPE_NUM>
      <TYPE_NAME>PROCEDURE</TYPE_NAME>
      <CTIME>2008-03-19 16:39:34</CTIME>
      <MTIME>2008-03-19 16:39:34</MTIME>
      <STIME>2008-03-19 16:39:34</STIME>
      <STATUS>1</STATUS>
      <FLAGS>0</FLAGS>
      <SPARE1>6</SPARE1>
      <SPARE2>65535</SPARE2>
      <SPARE3>5</SPARE3>
    </SCHEMA_OBJ>
    <SOURCE_LINES>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58937</OBJ_NUM>
       <LINE>1</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>18</POST_NAME_OFF>
       <POST_KEYW>11</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>procedure proc_01
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58937</OBJ_NUM>
       <LINE>2</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>as
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58937</OBJ_NUM>
       <LINE>3</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>begin
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58937</OBJ_NUM>
       <LINE>4</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>  null;
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58937</OBJ_NUM>
       <LINE>5</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>end;</SOURCE>
      </SOURCE_LINES_ITEM>
    </SOURCE_LINES>
    </PROCEDURE_T>
    </ROW></ROWSET>
    SQL> select dbms_metadata.get_xml('PROCEDURE','PROC_02') from dual;
    DBMS_METADATA.GET_XML('PROCEDURE','PROC_02')
    <?xml version="1.0"?><ROWSET><ROW>
      <PROCEDURE_T>
    <VERS_MAJOR>1</VERS_MAJOR>
    <VERS_MINOR>1 </VERS_MINOR>
    <OBJ_NUM>58938</OBJ_NUM>
    <TYPE_NUM>7</TYPE_NUM>
    <SCHEMA_OBJ>
      <OBJ_NUM>58938</OBJ_NUM>
      <OWNER_NUM>5</OWNER_NUM>
      <OWNER_NAME>SYSTEM</OWNER_NAME>
      <NAME>PROC_02</NAME>
      <NAMESPACE>1</NAMESPACE>
      <TYPE_NUM>7</TYPE_NUM>
      <TYPE_NAME>PROCEDURE</TYPE_NAME>
      <CTIME>2008-03-19 16:39:34</CTIME>
      <MTIME>2008-03-19 16:39:34</MTIME>
      <STIME>2008-03-19 16:39:34</STIME>
      <STATUS>1</STATUS>
      <FLAGS>0</FLAGS>
      <SPARE1>6</SPARE1>
      <SPARE2>65535</SPARE2>
      <SPARE3>5</SPARE3>
    </SCHEMA_OBJ>
    <SOURCE_LINES>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58938</OBJ_NUM>
       <LINE>1</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>18</POST_NAME_OFF>
       <POST_KEYW>11</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>procedure proc_02
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58938</OBJ_NUM>
       <LINE>2</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>as
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58938</OBJ_NUM>
       <LINE>3</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0</POST_KEYW>
       <PRE_NAME_LEN>0</PRE_NAME_LEN>
       <SOURCE>begin
    </SOURCE>
      </SOURCE_LINES_ITEM>
      <SOURCE_LINES_ITEM>
       <OBJ_NUM>58938</OBJ_NUM>
       <LINE>4</LINE>
       <PRE_NAME>0</PRE_NAME>
       <POST_NAME_OFF>0</POST_NAME_OFF>
       <POST_KEYW>0<

    Hi ,
    Document link :http://docs.oracle.com/cd/E23943_01/doc.1111/e10792/c04_settings.htm#CSMSP463
    This gives details and sample for the configuration of JDBC storage with WCC .
    Thanks,
    Srinath

  • User SYSTEM does not exist

    Hi there,
    Using the MDK:
    -I have set up my publication items
    -added them to my publication
    -used the packaging wizard to setup my application and attach it to the publication
    -used the Oracle Mobile administrator to create a user.
    -used the Oracle Mobile administrator to assign the user to the application.
    On Win32, I download the WIN32 Setup and run it with the user and password.
    It sets up the DMAgent, etc, and installs all of the oracle lite stuff into c:\mobileclient
    Next, I run MSYNC.EXE with the user's name. It completes successfully. What happens next is very strange:
    C:\Documents and Settings\allen>msql system/moogle@polite:tenchi_pman
    Oracle Lite MSQL Version 10.3.0.1.0
    Copyright (c) 1997, 2007, Oracle. All rights reserved.
    [POL-5246] user SYSTEM does not exist
    C:\Documents and Settings\allen>
    Has anyone encountered this?
    Thanks,
    Allen
    p.s. my environment details are as follows:
    Mobile Repository Configuration
    Operating System: Linux 2.6
    Oracle Database: 10.2.0.3.0
    Mobile Server Configuration (all the latest patches applied at this time)
    Mobile Server Install Type: Standalone
    Operating System: Microsoft Windows XP
    Mobile Server: 10.3.0.1.0
    Secure Socket Layer: No
    Part of Web Farm: No
    Java J2SE: 1.5.0_15
    Mobile Client Configuration
    Mobile Client Type: Windows 32
    Operating System: Microsoft Windows XP SP2
    Mobile Client: 10.3.0.1.0

    Is there a way for me to create the SYSTEM user in the Oracle Lite database, or is this error a symptom of a different problem?
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.CAT (TABLE_NAME, TABLE_TYPE) AS SELECT TABLE_NAME, TABLE_TYPE FROM SYSTEM."okClass" WHERE TABLE_TYPE IN ('TABLE', 'VIEW')
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_CONSTRAINTS (OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION, R_OWNER, R_CONSTRAINT_NAME, DELETE_RULE, STATUS, VALIDATED) AS SELECT OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION, R_OWNER, R_CONSTRAINT_NAME, DELETE_RULE, STATUS, VALIDATED FROM SYSTEM.POL__CONS
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_CONS_COLUMNS ( OWNER, CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, POSITION) AS SELECT OWNER, CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, POSITION FROM SYSTEM.POL__COLUSAGE
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.TABLE_PRIVILEGES ( OWNER, TABLE_NAME, GRANTOR, GRANTEE, GRANT_TYPE, GRANTABLE) AS SELECT OWNER, TABLE_NAME, GRANTOR, GRANTEE, GRANT_TYPE, GRANTABLE FROM SYSTEM.ALL_PRIVILEGES WHERE OBJECT_TYPE = 0
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.COLUMN_PRIVILEGES ( OWNER, TABLE_NAME, COLUMN_NAME, GRANTOR, GRANTEE, GRANT_TYPE, GRANTABLE) AS SELECT OWNER, TABLE_NAME, COLUMN_NAME, GRANTOR, GRANTEE, GRANT_TYPE, GRANTABLE FROM SYSTEM.ALL_PRIVILEGES WHERE OBJECT_TYPE = 5
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_VIEWS ( OWNER, VIEW_NAME, TEXT_LENGTH, TEXT) AS SELECT TABLE_SCH, TABLE_NAME, VIEW_LEN, VIEW_TEXT FROM SYSTEM."okClass" WHERE TABLE_TYPE IN ('VIEW')
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_TABLES ( OWNER, TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, PCT_FREE, PCT_USED, INI_TRANS, MAX_TRANS, INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE, BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN) AS SELECT TABLE_SCH, TABLE_NAME, CAST('OOT' AS VARCHAR(128)), CAST(NULL AS VARCHAR(128)), CAST(0 AS INTEGER), CAST(0 AS INTEGER), CAST(0 AS INTEGER), CAST(0 AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS VARCHAR(1)), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER) FROM SYSTEM."okClass" WHERE TABLE_TYPE IN ('TABLE')
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_TAB_COLUMNS ( OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID, DEFAULT_LENGTH, DATA_DEFAULT, NUM_DISTINCT, LOW_VALUE, HIGH_VALUE, IS_HIDDEN) AS SELECT COLUMN_SCH, TABLE_NAME, COLUMN_NAME, CASE TYPE_CODE WHEN -16 THEN 'NCLOB' WHEN -15 THEN 'CLOB' WHEN -14 THEN 'BLOB' WHEN -13 THEN CAST('LONG' AS VARCHAR(30)) WHEN -12 THEN 'NUMBER' WHEN -11 THEN 'ROWID' WHEN -10 THEN 'LONG RAW' WHEN -9 THEN 'RAW' WHEN -8 THEN 'TINYINT' WHEN -7 THEN 'LONG VARBINARY' WHEN -6 THEN 'VARBINARY' WHEN -5 THEN 'BINARY' WHEN -4 THEN 'BIGINT' WHEN -3 THEN 'LONG VARCHAR' WHEN -2 THEN 'REF' WHEN -1 THEN 'UNKNOWN' WHEN 1 THEN 'CHAR' WHEN 2 THEN 'NUMERIC' WHEN 3 THEN 'DECIMAL' WHEN 4 THEN 'INTEGER' WHEN 5 THEN 'SMALLINT' WHEN 6 THEN 'FLOAT' WHEN 7 THEN 'REAL' WHEN 8 THEN 'DOUBLE' WHEN 9 THEN CASE SUBTYPE_CODE WHEN 1 THEN CAST('DATE' AS VARCHAR(9)) WHEN 2 THEN 'TIME' WHEN 4 THEN 'TIMESTAMP' ELSE 'EMPTY' END WHEN 10 THEN 'INTERVAL' WHEN 12 THEN 'VARCHAR' WHEN 13 THEN 'VARCHAR2' WHEN 14 THEN 'BIT' ELSE 'EMPTY' END, CASE WHEN TYPE_CODE <> 9 THEN COL_PRECISION WHEN TYPE_CODE = 9 AND SUBTYPE_CODE = 1 THEN 8 WHEN TYPE_CODE = 9 AND SUBTYPE_CODE = 2 THEN 6 WHEN TYPE_CODE = 9 AND SUBTYPE_CODE = 4 THEN 15 ELSE CAST(NULL AS INTEGER) END, CASE WHEN TYPE_CODE NOT IN (-16, -15, -14, -13, -11, -10, -9, -7, -6, -5, -3, 1, 9, 12, 13) THEN COL_PRECISION ELSE CAST(NULL AS INTEGER) END, CASE WHEN TYPE_CODE IN (-12, 2, 3, 4, 5, 10) THEN COL_SCALE ELSE CAST(NULL AS INTEGER) END, CASE NULLABILITY WHEN 0 THEN CAST('N' AS VARCHAR(1)) ELSE 'Y' END, POSITION, CASE DEFAULT_LENGTH WHEN 0 THEN CAST(NULL AS INTEGER) ELSE DEFAULT_LENGTH END, CASE DEFAULT_LENGTH WHEN 0 THEN CAST(NULL AS VARCHAR(4096)) ELSE DATA_DEFAULT END, CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CASE ISHIDDEN WHEN 0 THEN CAST('N' AS VARCHAR(1)) ELSE 'Y' END FROM SYSTEM."okAttr" WHERE TABLE_TYPE IN ('TABLE', 'VIEW')
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.USER_OBJECTS ( OWNER, OBJECT_NAME, OBJECT_ID, OBJECT_TYPE, CREATED, LAST_DDL_TIME, CREATED_TIME, STATUS) AS SELECT SCHEMA_NAME, OBJECT_NAME, OBJECT_ID, CASE OBJECT_TYPE WHEN 0 THEN CAST('TABLE' AS VARCHAR(128)) WHEN 1 THEN 'VIEW' WHEN 2 THEN 'INDEX' WHEN 3 THEN 'SEQUENCE' ELSE 'SYNONYM' END, CAST(CREATED AS DATE), CAST(CREATED AS DATE), CAST(CAST(CREATED AS TIMESTAMP(0)) AS VARCHAR(128)), CAST('VALID' AS VARCHAR(128)) FROM SYSTEM.POL__ALLOBJ WHERE OBJECT_NAME NOT LIKE 'POL_%' AND SCHEMA_NAME IN (SELECT NAME FROM POL__SCHEMATA WHERE OWNER = USER)
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_USERS ( USERNAME, USER_ID, CREATED) AS SELECT USERNAME, USER_ID, CREATED FROM SYSTEM.POL__USERS
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_OBJECTS ( OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, STATUS) AS SELECT SCHEMA_NAME, OBJECT_NAME, CASE OBJECT_TYPE WHEN 0 THEN CAST('TABLE' AS VARCHAR(128)) WHEN 1 THEN 'VIEW' WHEN 2 THEN 'INDEX' WHEN 3 THEN 'SEQUENCE' ELSE 'SYNONYM' END, CAST(CREATED AS DATE), CAST('VALID' AS VARCHAR(128)) FROM SYSTEM.POL__ALLOBJ
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ACCESSIBLE_COLUMNS ( OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID, DEFAULT_LENGTH, DATA_DEFAULT, NUM_DISTINCT, LOW_VALUE, HIGH_VALUE) AS SELECT COLUMN_SCH, TABLE_NAME, COLUMN_NAME, CASE TYPE_CODE WHEN -4 THEN CAST('BIGINT' AS VARCHAR(128)) WHEN -3 THEN 'LONGVARCHAR' WHEN -2 THEN 'REF' WHEN -1 THEN 'UNKNOWN' WHEN 1 THEN 'CHAR' WHEN 2 THEN 'NUMERIC' WHEN 3 THEN 'DECIMAL' WHEN 4 THEN 'INTEGER' WHEN 5 THEN 'SMALLINT' WHEN 6 THEN 'FLOAT' WHEN 7 THEN 'REAL' WHEN 8 THEN 'DOUBLE' WHEN 9 THEN 'DATETIME' WHEN 10 THEN 'INTERVAL' WHEN 11 THEN 'VARCHAR' ELSE 'EMPTY' END, CASE WHEN TYPE_CODE IN (-3, 1, 11) THEN COL_PRECISION ELSE CAST(NULL AS INTEGER) END, CASE WHEN TYPE_CODE NOT IN (-3, 1, 11) THEN COL_PRECISION ELSE CAST(NULL AS INTEGER) END, CASE WHEN TYPE_CODE IN (2, 3, 4, 5, 9, 10) THEN COL_SCALE ELSE CAST(NULL AS INTEGER) END, CASE NULLABILITY WHEN 0 THEN CAST('N' AS VARCHAR(1)) ELSE 'Y' END, POSITION, CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER), CAST(NULL AS INTEGER) FROM SYSTEM."okAttr" WHERE TABLE_TYPE IN ('TABLE', 'VIEW')
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_INDEXES ( OWNER, INDEX_NAME, TABLE_OWNER, TABLE_NAME, TABLE_TYPE, UNIQUENESS) AS SELECT SCHEMA_NAME, INDEX_NAME, TABLE_SCHEMA, TABLE_NAME, CAST('TABLE' AS VARCHAR(10)), IS_UNIQUE FROM SYSTEM.POL__INDICES
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_IND_COLUMNS ( INDEX_OWNER, INDEX_NAME, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, COLUMN_POSITION) AS SELECT SCHEMA_NAME, INDEX_NAME, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, INDEX_POSITION FROM SYSTEM.POL__INDICESDT
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_COL_COMMENTS ( OWNER, TABLE_NAME, COLUMN_NAME, COMMENTS) AS SELECT COLUMN_SCH, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM SYSTEM."okAttr" WHERE COLUMN_COMMENT IS NOT NULL
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_TAB_COMMENTS ( OWNER, TABLE_NAME, TABLE_TYPE, COMMENTS) AS SELECT TABLE_SCH, TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM SYSTEM."okClass" WHERE TABLE_COMMENT IS NOT NULL
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_SYNONYMS ( OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME, DB_LINK) AS SELECT OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME, CAST('NULL' AS VARCHAR(128)) FROM SYSTEM.POL__SYNONYM
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.ALL_SEQUENCES ( SEQUENCE_OWNER, SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY) AS SELECT SCHEMA_NAME, SEQ_NAME, MIN_VALUE, MAX_VALUE, INC_BY FROM SYSTEM.POL__SEQ WHERE SEQ_NAME NOT LIKE 'POL_%'
    Tid=0f34, Statement Text:CREATE VIEW SYSTEM.DATABASE_PARAMETERS AS SELECT PARAMETER, VALUE FROM SYSTEM.POL__DATABASE_PARAMETERS
    Does anything look amiss with this oldb_trc.txt file?
    Allen

  • More than 100 Mb space in tablespace but keeps having ORA-1653 unable to ex

    Platform AIX 6.1
    Oracle version 10.2.0.5.3
    JOB_DET is a single table in one tablespace D_LGA1. It's space taken is 12096 Mb, the tablespace is capped at 12288 Mb, so technically it has 191 Mb free space.
    13:06:55 SQL> select segment_name,tablespace_name,bytes/1024/1024 as mbytes
    13:07:13   2  from dba_segments where segment_name='JOB_DET';
    SEGMENT_NAME    TABLESPACE_NAME     MBYTES
    JOB_DET         D_LGA1               12096
    13:08:00 SQL> select tablespace_name, sum(bytes/1024/1024) as sum_mb,
    sum(maxbytes/1024/1024) as sum_maxbytes_mb, AUTOEXTENSIBLE
    from dba_data_files
    where tablespace_name in ('D_LGA1') group by tablespace_name, autoextensible order by 1;
    TABLESPACE_NAME     SUM_MB SUM_MAXBYTES_MB AUTOEXTEN
    D_LGA1               12288           12288 YES
    13:08:16 SQL> select tablespace_name, sum(bytes/1024/1024) as sum_free_mb
    13:08:25   2  from dba_free_space where tablespace_name in ('D_LGA1')
    13:08:32   3  group by tablespace_name order by 1;
    TABLESPACE_NAME SUM_FREE_MB
    D_LGA1             191.8125however I keep getting ORA-1653 in the alert log.
    Thu Mar 08 13:09:54 TAIST 2012
    ORA-1653: unable to extend table ADMIN.JOB_DET     by 128 in   tablespace D_LGA1
    ORA-1653: unable to extend table ADMIN.JOB_DET     by 8192 in   tablespace D_LGA1
    ...OK, this is weird, but nevertheless, I added another datafile, which allows it to extend the size.
    After which, the size of the segment JOB_DET is 12160 Mb, which was lesser than the original max size!! There doesnt seem to be any fragmentation going on there. I'm puzzled. Someone able to explain?
    14:42:26 SQL> select segment_name,tablespace_name,bytes/1024/1024 as mbytes
    14:42:28   2  from dba_segments where segment_name='JOB_DET';
    SEGMENT_NAME    TABLESPACE_NAME     MBYTES
    JOB_DET         D_LGA1               12160Edited by: len on Mar 8, 2012 3:05 PM

    Hi sybrand,
    would this help?
    SQL> select * from dba_tables where table_name='JOB_DET';
    OWNER      TABLE_NAME   TABLESPACE_NAME CLUSTER_NAME    IOT_NAME        STATUS     PCT_FREE   PCT_USED  INI_TRANS
    MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUP
        BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLO
    DEGREE                         INSTANCES                      CACHE           TABLE_LO SAMPLE_SIZE LAST_ANAL PAR
    IOT_TYPE     T S NES BUFFER_ ROW_MOVE GLO USE DURATION        SKIP_COR MON CLUSTER_OWNER                  DEPENDEN
    COMPRESS DRO
    ADMIN       JOB_DET      D_LG06                                          VALID             5                     2
           255          65536     1048576           1  2147483645                                         YES N   51475345
       1531830            0          0          0         158                         0                   0
             1                              1                         N           ENABLED     51475345 10-FEB-12 NO
                 N N NO  DEFAULT DISABLED YES NO                  DISABLED YES                                DISABLED
    DISABLED NO
    SQL> select * from dba_free_space where tablespace_name='D_LGA1';
    TABLESPACE_NAME    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
    D_LGA1                  28     516100   67043328       8184           28
    D_LGA1                  36     516105   67043328       8184           36
    D_LGA1                  75       8201   37814272       4616           75
    D_LGA1                 119     516105   67043328       8184          119
    SQL> select * from dba_tablespaces where tablespace_name='D_LGA1';
    TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLE
    CONTENTS  LOGGING   FOR EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG
    D_LGA1                8192          65536                       1  2147483645                   65536 ONLINE
    PERMANENT LOGGING   NO  LOCAL      SYSTEM    NO  AUTO   DISABLED NOT APPLY   NOEach data file has roughly 64 Mb free space in them, the only way I can think it would result in ORA-1653 is if what the application was trying to insert/update far exceeds 64 Mb at one go?
    This is my assumption, or am I out of the box already?

  • How to verify reused table space in oracle 10g ?

    Hi..
    From my system, i have seen that the table size keep increasing event the delete query is running. Due to that, I would to check either the oracle allowed to reuse the table space or not ? if not then how could i enable it ?
    Please help me..
    Thank you,
    Baharin

    You can use dbms_space.space_usage to check the for free space.
    Space reuse will depend on whether you are using MSSM or ASSM, PCT_FREE, PCT_USED, and how new data is inserted ?
    You can shrink or move the table and rebuild indexes to reclaim space.

  • How much space does a blob use?

    How much space does a BLOB use?
    Does it use allocated anyspace if its empty?

    It will size appropriately:
    TEST.SQL>CREATE TABLE TBLOB
      2  (
      3  A BLOB
      4  ) TABLESPACE _SANITIZED_;
    TABLE CREATED.
    TEST.SQL>SELECT INITIAL_EXTENT FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='_SANITIZED_';
    INITIAL_EXTENT
           5242880
    TEST.SQL>SELECT * FROM DBA_EXTENTS WHERE SEGMENT_NAME='TBLOB';
    OWNER                          SEGMENT_NAME                                                                      PARTITION_NAME                 SEGMENT_TYPE
    TABLESPACE_NAME                 EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  0         16    1201289    5242880        640           16
    TEST.SQL>SELECT * FROM DBA_OBJECTS WHERE CREATED > SYSDATE-1;
    OWNER                          OBJECT_NAME
    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE        CREATED  LAST_DDL TIMESTAMP           STATUS  T G S
    YJAM                           SYS_LOB0000920875C00001$$
                                       920876         920876 LOB                14:41:36 14:41:36 2005-11-16:14:41:36 VALID   N Y N
    YJAM                           TBLOB
                                       920875         920875 TABLE              14:41:36 14:41:36 2005-11-16:14:41:36 VALID   N N N
    TEST.SQL>SELECT * FROM DBA_EXTENTS WHERE SEGMENT_NAME='SYS_LOB0000920875C00001$$';
    OWNER                          SEGMENT_NAME                                                                      PARTITION_NAME                 SEGMENT_TYPE
    TABLESPACE_NAME                 EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
    YJAM                           SYS_LOB0000920875C00001$$                                                                                        LOBSEGMENT
    _SANITIZED_                                  0         16    1202569    5242880        640           16
    TEST.SQL>DECLARE
      2    VALINS VARCHAR2(4000);
      3  BEGIN
      4    VALINS:='1';
      5    FOR I IN 1..100000
      6    LOOP
      7      INSERT INTO TBLOB VALUES (RPAD(VALINS,4000,'0'));
      8    END LOOP;
      9  END;
    10  /
    PL/SQL procedure successfully completed.
    TEST.SQL>COMMIT;
    Commit complete.
    TEST.SQL>SELECT * FROM DBA_EXTENTS WHERE SEGMENT_NAME IN ('SYS_LOB0000920875C00001$$','TBLOB');
    OWNER                          SEGMENT_NAME                                                                      PARTITION_NAME                 SEGMENT_TYPE
    TABLESPACE_NAME                 EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  0         16    1201289    5242880        640           16
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  1         17    1169929    5242880        640           17
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  2         18    1163529    5242880        640           18
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  3         19    1176969    5242880        640           19
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  4          5     379529    5242880        640            5
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                  5         14     375689    5242880        640           14
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                 51         18    1172489    5242880        640           18
    YJAM                           TBLOB                                                                                                            TABLE
    _SANITIZED_                                 52         19    1191689    5242880        640           19
    YJAM                           SYS_LOB0000920875C00001$$                                                                                        LOBSEGMENT
    _SANITIZED_                                  0         16    1202569    5242880        640           16
    54 rows selected.
    TEST.SQL>ANALYZE TABLE TBLOB COMPUTE STATISTICS;
    Table analyzed.
    TEST.SQL>SELECT * FROM DBA_TABLES WHERE TABLE_NAME='TBLOB';
    OWNER                          TABLE_NAME                     TABLESPACE_NAME                CLUSTER_NAME                   IOT_NAME                         PCT_FREE   PCT_USED
    INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUPS LOG B   NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT
    AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE     INSTANCES  CACHE TABLE_LO SAMPLE_SIZE LAST_ANA PAR IOT_TYPE     T S NES BUFFER_ ROW_MOVE GLO USE
    DURATION        SKIP_COR MON CLUSTER_OWNER                  DEPENDEN COMPRESS
    YJAM                           TBLOB                          _SANITIZED_                                                                                               10
             1        255        5242880     5242880           1  2147483645            0                            YES N     100000      33547          373       1977          0
           2042                         0                   0          1          1     N ENABLED       100000 14:51:22 NO               N N NO  DEFAULT DISABLED NO  NO
                    DISABLED NO                                 DISABLED DISABLED
    TEST.SQL>SELECT BYTES/1024 FROM DBA_SEGMENTS WHERE SEGMENT_NAME='TBLOB';
    BYTES/1024
        271360   
    TEST.SQL>TRUNCATE TABLE TBLOB;
    Table truncated.
    TEST.SQL>BEGIN
      2    FOR i IN 1..100000
      3    LOOP
      4      INSERT INTO TBLOB VALUES ('1');
      5    END LOOP;
      6  END;
      7  /
    PL/SQL procedure successfully completed.
    TEST.SQL>COMMIT;
    Commit complete.
    TEST.SQL>ANALYZE TABLE TBLOB COMPUTE STATISTICS;
    Table analyzed.
    TEST.SQL>SELECT BYTES/1024 FROM DBA_SEGMENTS WHERE SEGMENT_NAME='TBLOB';
    BYTES/1024
          5120Note: there is a deported blob segment for the pointers I forgot in my previous post.
    HTH,
    Yoann.
    Message was edited by:
    Yoann Mainguy
    Hmm, forgot that for a full comparison of the avg linesize:
    TEST.SQL>SELECT * FROM DBA_TABLES WHERE TABLE_NAME='TBLOB';
    OWNER                          TABLE_NAME                     TABLESPACE_NAME                CLUSTER_NAME                   IOT_NAME                         PCT_FREE   PCT_USED
    INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUPS LOG B   NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT
    AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE     INSTANCES  CACHE TABLE_LO SAMPLE_SIZE LAST_ANA PAR IOT_TYPE     T S NES BUFFER_ ROW_MOVE GLO USE
    DURATION        SKIP_COR MON CLUSTER_OWNER                  DEPENDEN COMPRESS
    YJAM                           TBLOB                          _SANITIZED_                                                                   10
             1        255        5242880     5242880           1  2147483645            0                            YES N     100000        628           12       1223          0
             41                         0                   0          1          1     N ENABLED       100000 14:56:56 NO               N N NO  DEFAULT DISABLED NO  NO
                    DISABLED NO                                 DISABLED DISABLED         

  • How to create an xml table

    hi,
    how can i create a table into XML format for example from the following query
    create table testing nologgging as select * from user_objects
    kindly advise
    tks & rdgs

    Probably you need to explain better on what you actually are asking (an example would aid in understanding).
    SQL> create table testing nologging as select * from user_objects ;
    Table created.
    SQL> select dbms_metadata.get_xml('TABLE', 'TESTING') from dual ;
    DBMS_METADATA.GET_XML('TABLE','TESTING')
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
      <TABLE_T>
       <VERS_MAJOR>1</VERS_MAJOR>
       <VERS_MINOR>0 </VERS_MINOR>
       <OBJ_NUM>45572</OBJ_NUM>
       <SCHEMA_OBJ>
        <OBJ_NUM>45572</OBJ_NUM>
        <DATAOBJ_NUM>45572</DATAOBJ_NUM>
        <OWNER_NUM>73</OWNER_NUM>
        <OWNER_NAME>KKISHORE</OWNER_NAME>
        <NAME>TESTING</NAME>
        <NAMESPACE>1</NAMESPACE>
        <TYPE_NUM>2</TYPE_NUM>
        <TYPE_NAME>TABLE</TYPE_NAME>
        <CTIME>17-NOV-2006</CTIME>
        <MTIME>17-NOV-2006</MTIME>
        <STIME>17-NOV-2006</STIME>
        <STATUS>1</STATUS>
        <FLAGS>0</FLAGS>
        <SPARE1>6</SPARE1>
        <SPARE2>1</SPARE2>
       </SCHEMA_OBJ>
       <STORAGE>
        <FILE_NUM>11</FILE_NUM>
        <BLOCK_NUM>40569</BLOCK_NUM>
        <TYPE_NUM>5</TYPE_NUM>
        <TS_NUM>12</TS_NUM>
        <BLOCKS>8</BLOCKS>
        <EXTENTS>1</EXTENTS>
        <INIEXTS>8</INIEXTS>
        <MINEXTS>1</MINEXTS>
        <MAXEXTS>2147483645</MAXEXTS>
        <EXTSIZE>128</EXTSIZE>
        <EXTPCT>0</EXTPCT>
        <USER_NUM>73</USER_NUM>
        <LISTS>1</LISTS>
        <GROUPS>1</GROUPS>
        <BITMAPRANGES>0</BITMAPRANGES>
        <CACHEHINT>0</CACHEHINT>
        <SCANHINT>0</SCANHINT>
        <HWMINCR>45572</HWMINCR>
        <FLAGS>131073</FLAGS>
       </STORAGE>
       <TS_NAME>KKISHORE</TS_NAME>
       <BLOCKSIZE>8192</BLOCKSIZE>
       <DATAOBJ_NUM>45572</DATAOBJ_NUM>
       <COLS>12</COLS>
       <PCT_FREE>10</PCT_FREE>
       <PCT_USED>40</PCT_USED>
       <INITRANS>1</INITRANS>
       <MAXTRANS>255</MAXTRANS>
       <FLAGS>33</FLAGS>
       <AUDIT_VAL>--------------------------------</AUDIT_VAL>
       <INTCOLS>12</INTCOLS>
       <KERNELCOLS>12</KERNELCOLS>
       <PROPERTY>536870912</PROPERTY>
       <TRIGFLAG>0</TRIGFLAG>
       <SPARE1>736</SPARE1>
       <SPARE6>17-NOV-2006</SPARE6>
       <COL_LIST>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>1</COL_NUM>
         <INTCOL_NUM>1</INTCOL_NUM>
         <SEGCOL_NUM>1</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>OBJECT_NAME</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>128</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>128</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>2</COL_NUM>
         <INTCOL_NUM>2</INTCOL_NUM>
         <SEGCOL_NUM>2</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>SUBOBJECT_NAME</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>30</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>30</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>3</COL_NUM>
         <INTCOL_NUM>3</INTCOL_NUM>
         <SEGCOL_NUM>3</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>OBJECT_ID</NAME>
         <TYPE_NUM>2</TYPE_NUM>
         <LENGTH>22</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>0</CHARSETID>
         <CHARSETFORM>0</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>0</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>4</COL_NUM>
         <INTCOL_NUM>4</INTCOL_NUM>
         <SEGCOL_NUM>4</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>DATA_OBJECT_ID</NAME>
         <TYPE_NUM>2</TYPE_NUM>
         <LENGTH>22</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>0</CHARSETID>
         <CHARSETFORM>0</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>0</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>5</COL_NUM>
         <INTCOL_NUM>5</INTCOL_NUM>
         <SEGCOL_NUM>5</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>OBJECT_TYPE</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>18</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>18</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>6</COL_NUM>
         <INTCOL_NUM>6</INTCOL_NUM>
         <SEGCOL_NUM>6</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>CREATED</NAME>
         <TYPE_NUM>12</TYPE_NUM>
         <LENGTH>7</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>0</CHARSETID>
         <CHARSETFORM>0</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>0</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>7</COL_NUM>
         <INTCOL_NUM>7</INTCOL_NUM>
         <SEGCOL_NUM>7</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>LAST_DDL_TIME</NAME>
         <TYPE_NUM>12</TYPE_NUM>
         <LENGTH>7</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>0</CHARSETID>
         <CHARSETFORM>0</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>0</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>8</COL_NUM>
         <INTCOL_NUM>8</INTCOL_NUM>
         <SEGCOL_NUM>8</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>TIMESTAMP</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>19</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>19</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>9</COL_NUM>
         <INTCOL_NUM>9</INTCOL_NUM>
         <SEGCOL_NUM>9</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>STATUS</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>7</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>7</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>10</COL_NUM>
         <INTCOL_NUM>10</INTCOL_NUM>
         <SEGCOL_NUM>10</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>TEMPORARY</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>1</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>1</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>11</COL_NUM>
         <INTCOL_NUM>11</INTCOL_NUM>
         <SEGCOL_NUM>11</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>GENERATED</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>1</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>1</SPARE3>
        </COL_LIST_ITEM>
        <COL_LIST_ITEM>
         <OBJ_NUM>45572</OBJ_NUM>
         <COL_NUM>12</COL_NUM>
         <INTCOL_NUM>12</INTCOL_NUM>
         <SEGCOL_NUM>12</SEGCOL_NUM>
         <PROPERTY>14336</PROPERTY>
         <NAME>SECONDARY</NAME>
         <TYPE_NUM>1</TYPE_NUM>
         <LENGTH>1</LENGTH>
         <NOT_NULL>0</NOT_NULL>
         <CHARSETID>178</CHARSETID>
         <CHARSETFORM>1</CHARSETFORM>
         <SPARE1>0</SPARE1>
         <SPARE2>0</SPARE2>
         <SPARE3>1</SPARE3>
        </COL_LIST_ITEM>
       </COL_LIST>
       <CON0_LIST/>
       <CON1_LIST/>
       <CON2_LIST/>
      </TABLE_T>
    </ROW>
    </ROWSET>
    1 row selected.
    SQL>Message was edited by:
    Kamal Kishore

  • Index size 3 times more then table

    table cnmas
    record 134 only
    but there is lot of dml operation on this table
    SQL&gt; SELECT COUNT(*) FROM CNMAS;
    COUNT(*)
    134
    1* SELECT SUM(BYTES)/1024/1024 FROM USER_SEGMENTS WHERE SEGMENT_NAME='CNMAS'
    SQL&gt; /
    SUM(BYTES)/1024/1024
    4
    1* SELECT SUM(BYTES)/1024/1024 FROM USER_SEGMENTS WHERE SEGMENT_NAME='PK_CNMAS_CN_DOC_NO'
    SQL&gt; /
    SUM(BYTES)/1024/1024
    12
    table have 134 record
    table size 4 m.b
    index size 12 m.b
    whats the REASON?????????????
    thanks
    kuljeet pal singh

    INDEX DETAILS
    SELECT INI_TRANS,MAX_TRANS,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,MAX_EXTENTS,PCT_INCREASE FROM USER_INDEXES WHERE INDEX_NAME='PK_CNMAS_CN_DOC_NO';
    INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
    2 255 10485760 4194304 1 2147483645 0
    TABLE DETAILS
    SQL> SELECT PCT_FREE,PCT_USED,INI_TRANS,MAX_TRANS,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,MAX_EXTENTS,PCT_INCREASE FROM USER_TABLES WHERE TABLE_NAME='CNMAS';
    PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
    10 40 1 255 532480 4194304 1 2147483645 0

  • ORA-01779 Error - on a table!

    Hello all!
    We have a problem here which cannot possibly be - somehow. We have an update on a table which is done by our own framework. Oracle replies with a 01779 error which can only occur on a view if I'm not totally wrong. Has anyone an idea or do you need additional information?
    Greetings,
    Daniel

    Here is your formatted post --
    TABLE_NAME TABLESPACE_NAME      CLUSTER_NAME                IOT_NAME PCT_FREE           PCT_USED INI_TRANS           MAX_TRANS           INITIAL_EXTENT        NEXT_EXTENT             MIN_EXTENTS           MAX_EXTENTS
    VIEW_FIDES_ERST_EWB SYSTEM      10                     40                      1                     255                     1761280   4362240             1                249
    PCT_INCREASE           FREELISTS            FREELIST_GROUPS        LOGGING BACKED_UP NUM_ROWS           BLOCKS EMPTY_BLOCKS      AVG_SPACE CHAIN_CNT AVG_ROW_LEN         AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS   DEGREE INSTANCES           CACHE
    50                1                1                YES      N      1                1                N
    TABLE_LOCK SAMPLE_SIZE             LAST_ANALYZED          PARTITIONED IOT_TYPE     TEMPORARY SECONDARY NESTED BUFFER_POOL ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION       SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES
    ENABLED     NO                     N                N       NO            DEFAULT   DISABLED  NO      NO           DISABLED   NO           DISABLED
    1 rows selected
    OWNER                     OBJECT_TYPE
    SYSADM                     TABLE
    1 rows selected This will be more readable format.
    Regards.
    Satyaki De.
    N.B.: I hope this one much more readable than previous one...

  • Dba_views and column text (long type)

    Hi,
    when i excute this select :
    select view_name||' '||
    owner||' '||
    to_char(text_length)||' '||
    dbms_lob.substr(text_clob(view_name),text_length,1)
    from sys.dba_views@my_link;
    -- text_clob is a function wich convert long to clob
    I have this error:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    any suggestion.

    What is your Oracle version.
    I have an Oracle 9iR2 database, and your function and query work very well.
    SQL> create or replace function text_clob (p_view_name in varchar2) return clob
    2 l_text_long long;
    3 Result clob;
    4 begin
    5 SELECT text
    6 INTO l_text_long
    7 FROM dba_views
    8 WHERE VIEW_NAME = UPPER( p_view_name ) ;
    9 Result := l_text_long ;
    10 return(Result);
    11 end;
    12 /
    Function created.
    SQL> select view_name||' '||
    2 owner||' '||
    3 to_char(text_length)||' '||
    4 dbms_lob.substr(text_clob(view_name),text_length,1)
    5 from sys.dba_views;
    VIEW_NAME||''||OWNER||''||TO_CHAR(TEXT_LENGTH)||''||DBMS_LOB.SUBSTR(TEXT_CLOB(VI
    ALL_ALL_TABLES SYS 1411 select OWNER, TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME,
    IOT_NAME,
    PCT_FREE, PCT_USED,
    INI_TRANS, MAX_TRANS,
    INITIAL_EXTENT, NEXT_EXTENT,
    MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,
    FREELISTS, FREELIST_GROUPS, LOGGING,
    BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,
    AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,
    AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,
    DEGREE, INSTANCES, CACHE, TABLE_LOCK,
    There is perhaps any problem through db_link, have you test in local ?
    My option to create an other table work well too. You can try it.
    Nicolas.

  • Clob searching user_views

    Hi,
    I needed to search for some specific text in the DDL of each of views in a particular schema.  The text column of the user_views is LONG, and I looked at some old Tom's threads for converting long2clob, but found these processes to be really cumbersome, so I just opted to use DBMS_METADATA.GET_DDL instead even if it is a little slow.
    One area I do not have a lot of experience with is searching clob fields.  I tried this but not sure what would be the appropriate function to use for something like this:
    SELECT *
    FROM
        SELECT
            object_name,
            object_type,
            DBMS_METADATA.GET_DDL(
                object_type => 'VIEW',
                NAME => object_name,
                SCHEMA => 'SCHEMA123'
            ) object_text
        FROM all_objects
        WHERE object_type = 'VIEW'
        AND owner = 'SCHEMA123'
    WHERE contains(object_text, 'WHERE t.policy NOT LIKE') > 0; -- Show the names of all views that contain the matching text

    Do you want something like the following:
    SQL> show long
    long 80
    SQL> select text from user_views where view_name='ALL_ALL_TABLES';
    TEXT
    select OWNER, TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS,Then set a higher output limit...
    SQL> set long 1000
    SQL> /
    TEXT
    select OWNER, TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS,
         PCT_FREE, PCT_USED,
         INI_TRANS, MAX_TRANS,
         INITIAL_EXTENT, NEXT_EXTENT,
         MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,
    ...Edit: Sorry Satish, I type and copy and paste too slow :)
    Message was edited by:
    orafad

  • Table taking up too much space

    This is a very interesting and puzzling situation to me.
    I have a table created as follows:
    CREATE TABLE CONNECTION_SNAPSHOTS (
    RUNDATE DATE,
    CONNECTION_TYPE VARCHAR2 (30),
    CONNECTION_COUNT NUMBER (4))
    TABLESPACE USERS NOLOGGING
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 65536
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    NOCACHE;
    I have a procedure to insert records into the table. the procedure is executed
    by a dbms_jobs. here is what the procedure does.
    Begin
    insert /*+ append */ into connection_snapshots (rundate, connection_type, connection_count)
    select sysdate, decode(substr(schemaname,1,6),'CALOMS','CALOMS','OTHER USERS'), count(*)
    from v$session
    group by sysdate, decode(substr(schemaname,1,6),'CALOMS','CALOMS','OTHER USERS');
    commit;
    End;
    The table has 3000 records so far and the total space used is about 16MB which is a lot. I created connection_snapshots2 table using the same storage parameters and inserted all records from connection_snapshots into connection_snapshots2. The SQL script I use is as follows:
    insert/*+ append */ into dba_owner.connection_snapshots2
    select * from dba_owner.connection_snapshots
    The space used by connection_snapshots2 is only 0.13 MB.
    Why is that?

    Thanks all for the responses.
    I decided to shrink connection_snaphosts (i will refer to it as cs) by saving off the records to connection_snapshots2(I will refer to it as cs2). then truncating cs and dropping the storage and reinserting records to cs from cs2 using the same SQL script stated above. After these activities, cs and cs2 both show 0.13 MB used.
    This morning, cs has increased to 2MB.
    Answers to your questions:
    question:
    select table_name,owner,PCT_FREE,PCT_USED,INITIAL_EXTENT,NEXT_EXTENT,PCT_INCREASE,NUM_ROWS,BLOCKS,EMPTY_BLOCKS from dba_tables where table_name=' ' and owner=' ';
    answer:
    CONNECTION_SNAPSHOTS     DBA_OWNER     10          65536               3355     210     46
    CONNECTION_SNAPSHOTS2     DBA_OWNER     10          65536               3355     15     1
    question:
    how often do I delete?
    answer: I rarely delete. I use truncate mostly as described above.

  • PCTUsed - PCTFree

    Hi,
    I am using the below mentioned storage parameters for my tables, due to which oracle isn't able to use the free space after a delete. I can alter the value of PCTUSED but is there a way to remove the PCTUSED parameter from the table defination and let oracle manage it using alter table command so that i dont have to create the table again?
    PCTFREE 10
    PCTUSED 40
    STORAGE(MINEXTENTS 1
    MAXEXTENTS 1024
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    Thanks
    Rajat Thakran

    exactly ASSM ignores pctfree and pctused while is MSSM it consider which is bydefault 10 and 40 percent respectively.Come what may if you just define pctfree and let the oracle use its own pctused it would be default 40 percent.
    SQL> conn sys/sys as sysdba
    Connected.
    SQL> create tablespace myspace
      2   datafile 'c:\myfile.dbf' size 1G
      3  extent management local uniform size 100M
      4  /
    Tablespace created.
    SQL> conn scott/tiger
    Connected.
    SQL> drop table t
      2  /
    Table dropped.
    SQL> create table t (a number) tablespace myspace
      2  /
    Table created.
    SQL> conn sys/sys as sysdba
    Connected.
    SQL> select tablespace_name,status,contents,extent_management,segment_space_management
      2    from user_tablespaces
      3  /
    TABLESPACE_NAME                STATUS    CONTENTS  EXTENT_MAN SEGMEN
    SYSTEM                         ONLINE    PERMANENT LOCAL      MANUAL
    UNDOTBS1                       ONLINE    UNDO      LOCAL      MANUAL
    SYSAUX                         ONLINE    PERMANENT LOCAL      AUTO
    TEMP                           ONLINE    TEMPORARY LOCAL      MANUAL
    USERS                          ONLINE    PERMANENT LOCAL      AUTO
    MYSPACE                        ONLINE    PERMANENT LOCAL      MANUAL
    6 rows selected.
    SQL>  select pct_free,pct_used
      2     from user_tables
      3    where table_name='T'
      4   /
      PCT_FREE   PCT_USED
            10         40
    SQL> conn scott/tiger
    Connected.
    SQL> create table t1 (a number) pctfree 20 tablespace myspace
      2  /
    Table created.
    SQL> select pct_free,pct_used
      2    from user_tables
      3   where table_name='T1'
      4  /
      PCT_FREE   PCT_USED
            20         40
    SQL> how you are identifying that oralce is not reusing that block which cross pctused defined percentage?
    Khurram

Maybe you are looking for

  • Find row number of first cell in a relative range that is less than $B$3

    Thanks for any help. I've spent hours searching, trying, and reading iWork Help Example:   $B$3 = 3 Column C 1:  9 2:  2 3:  9 4:  2 5:  3 6:  9 7:  9 Find the first occurrence that is less than $B$3 (=3) in the range C3:C6. Return the row # (relativ

  • Two conditions for an list item entry in oracle APEX 3.2

    Hello, Can anyone please help me with this issue. I have list item with 3 entries. And i want one of the entry item to be displayed on the page 7 and also satisfy the below pl/sql function. begin if (NVL(:P0_Datastore,'%'||'null%') != '%'||'null%' AN

  • Lost my Iphoto Library

    About a week ago I go to my into Iphoto and see nothing, thinking maybe the default library got changed I went right to the location of the library and opened it from there, and no photos where found.  I opened up the library data and it looks like a

  • FF not responding to onclick events in td elements!!

    my website uses tables; td elements with onclick actions to make tabs. When I click them in ff, nothing happens. They work ok in other browsers. the site uses innerHTML to do its thing. site is www.tomcolwill.com

  • ACE Module Radius with ACS 4.2

    Hi, I am able to authenticate to my ACE modules via Radius, but when I login it does not give my Admin rights. Does anyone have a fix for this? My ACS admin has been working with TAC since last week to no avail. John...