Help with relational database model

Hi everyone,
How will a database model look like if you have one program that writes to the database and one program that reads from it. The database tables consist of customer orders.
Regards
Ardalan

Database model itself is unchanged, as far as I can see. The tables don't know how they're being used.
If you're saying that you have two apps, one that does mostly reads and another that does reads AND writes, then it's a more interesting question.
If you have a table that's mostly READs, you might want to create indexes that speed up queries.
But indexes can slow down WRITEs, because every time you add a new record the index has to be modified, too. More work for the RDBMS.
So maybe you're asking whether or not you should create a bunch of indexes for a table? Or have two tables, one for reading and another for read/write, with some kind of procedure that might update the read table from the write values on a regular schedule but off-line, like synchronizing a data cube?
Hard to tell from your OP, but it could be an interesting question. - MOD

Similar Messages

  • How associating an XMLSchema to an XMLType Field with the database model ?

    How can I precise the XMLSchema to an XMLType Field with the database model ?
    I know how to do it in a SQL Syntax :
    CREATE TABLE xwarehouses (
    warehouse_id NUMBER,
    warehouse_spec XMLTYPE)
    XMLTYPE warehouse_spec STORE AS OBJECT RELATIONAL
    XMLSCHEMA "http://www.oracle.com/xwarehouses.xsd"
    ELEMENT "Warehouse";
    , but we have decided to generate the script with the Jdeveloper database modeler tools, and we don't how to precise this with using this tools ?
    Anyone could help me ?

    I'm not sure that it answers your question but under the tools menu there is an option called register schema with XDB.

  • Insert XML file into Relational database model without using XMLTYPE tables

    Dear all,
    How can I store a known complex XML file into an existing relational database WITHOUT using xmltypes in the database ?
    I read the article on DBMS_XMLSTORE. DBMS_XMLSTORE indeed partially bridges the gap between XML and RDBMS to a certain extent, namely for simply structured XML (canonical structure) and simple tables.
    However, when the XML structure will become arbitrary and rapidly evolving, surely there must be a way to map XML to a relational model more flexibly.
    We work in a java/Oracle10 environment that receives very large XML documents from an independent data management source. These files comply with an XML schema. That is all we know. Still, all these data must be inserted/updated daily in an existing relational model. Quite an assignment isn't it ?
    The database does and will not contain XMLTYPES, only plain RDBMS tables.
    Are you aware of a framework/product or tool to do what DBMS_XMLSTORE does but with any format of XML file ? If not, I am doomed.
    Constraints : Input via XML files defined by third party
    Storage : relational database model with hundreds of tables and thousands of existing queries that can not be touched. The model must not be altered.
    Target : get this XML into the database on a daily basis via an automated process.
    Cheers.
    Luc.

    Luc,
    your Doomed !
    If you would try something like DBMS_XMLSTORE, you probably would be into serious performance problems in your case, very fast, and it would be very difficult to manage.
    If you would use a little bit of XMLType stuff, you would be able to shred the data into the relational model very fast and controlable. Take it from me, I am one of those old geezers like Mr. Tom Kyte way beyond 40 years (still joking). No seriously. I started out as a classical PL/SQL, Forms Guy that switched after two years to become a "DBA 1.0" and Mr Codd and Mr Date were for years my biggest hero's. I have the utmost respect for Mr. Tom Kyte for all his efforts for bringing the concepts manual into the development world. Just to name some off the names that influenced me. But you will have to work with UNSTRUCTURED data (as Mr Date would call it). 80% of the data out there exists off it. Stuff like XMLTABLE and XML VIEWs bridge the gap between that unstructured world and the relational world. It is very doable to drag and drop an XML file into the XMLDB database into a XMLtype table and or for instance via FTP. From that point on it is in the database. From there you could move into relational tables via XMLTABLE methods or XML Views.
    You could see the described method as a filtering option so XML can be transformed into relational data. If you don't want any XML in your current database, then create an small Oracle database with XML DB installed (if doable 11.1.0.7 regarding the best performance --> all the new fast optimizer stuff etc). Use that database as a staging area that does all the XML shredding for you into relational components and ship the end result via database links and or materialized views or other probably known methodes into your relational database that isn't allowed to have XMLType.
    This way you would keep your realtional Oracle database clean and have the Oracle XML DB staging database do all the filtering and shredding into relational components.
    Throwing the XML DB option out off the window beforehand would be like replacing your Mercedes with a bicycle. With both you will be able to travel the distance from Paris to Rome, but it will take you a hell of lot longer.
    :-)

  • Insert XML file into Relational database model - no XMLTYPE!

    Dear all,
    How can I store a known complex XML file into an existing relational database WITHOUT using xmltypes in the database ?
    I read the article on DBMS_XMLSTORE. DBMS_XMLSTORE indeed partially bridges the gap between XML and RDBMS to a certain extent, namely for simply structured XML (canonical structure) and simple tables.
    However, when the XML structure will become arbitrary and rapidly evolving, surely there must be a way to map XML to a relational model more flexibly.
    We work in a java/Oracle10 environment that receives very large XML documents from an independent data management source. These files comply with an XML schema. That is all we know. Still, all these data must be inserted/updated daily in an existing relational model. Quite an assignment isn't it ?
    The database does and will not contain XMLTYPES, only plain RDBMS tables.
    Are you aware of a framework/product or tool to do what DBMS_XMLSTORE does but with any format of XML file ? If not, I am doomed.
    Cheers.
    Luc.
    Edited by: user6693852 on Jan 13, 2009 7:02 AM

    In case you decide to follow my advice, here's a simple example showing how to do this.. (Note the XMLTable syntax is the preferred approach in 10gr2 and later..
    SQL> spool testase.log
    SQL> --
    SQL> connect / as sysdba
    Connected.
    SQL> --
    SQL> set define on
    SQL> set timing on
    SQL> --
    SQL> define USERNAME = XDBTEST
    SQL> --
    SQL> def PASSWORD = XDBTEST
    SQL> --
    SQL> def USER_TABLESPACE = USERS
    SQL> --
    SQL> def TEMP_TABLESPACE = TEMP
    SQL> --
    SQL> drop user &USERNAME cascade
      2  /
    old   1: drop user &USERNAME cascade
    new   1: drop user XDBTEST cascade
    User dropped.
    Elapsed: 00:00:00.59
    SQL> grant create any directory, drop any directory, connect, resource, alter session, create view to &USERNAME identified by &PASS
    ORD
      2  /
    old   1: grant create any directory, drop any directory, connect, resource, alter session, create view to &USERNAME identified by &
    ASSWORD
    new   1: grant create any directory, drop any directory, connect, resource, alter session, create view to XDBTEST identified by XDB
    EST
    Grant succeeded.
    Elapsed: 00:00:00.01
    SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
      2  /
    old   1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
    new   1: alter user XDBTEST default tablespace USERS temporary tablespace TEMP
    User altered.
    Elapsed: 00:00:00.00
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> var SCHEMAURL varchar2(256)
    SQL> var XMLSCHEMA CLOB
    SQL> --
    SQL> set define off
    SQL> --
    SQL> begin
      2    :SCHEMAURL := 'http://xmlns.example.com/askTom/TransactionList.xsd';
      3    :XMLSCHEMA :=
      4  '<?xml version="1.0" encoding="UTF-8"?>
      5  <!--W3C Schema generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
      6  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xdb:storeVarrayAsTable="true">
      7     <xs:element name="TransactionList" type="transactionListType" xdb:defaultTable="LOCAL_TABLE"/>
      8     <xs:complexType name="transactionListType"  xdb:maintainDOM="false" xdb:SQLType="TRANSACTION_LIST_T">
      9             <xs:sequence>
    10                     <xs:element name="Transaction" type="transactionType" maxOccurs="unbounded" xdb:SQLCollType="TRANSACTION_V"
    >
    11             </xs:sequence>
    12     </xs:complexType>
    13     <xs:complexType name="transactionType" xdb:maintainDOM="false"  xdb:SQLType="TRANSACTION_T">
    14             <xs:sequence>
    15                     <xs:element name="TradeVersion" type="xs:integer"/>
    16                     <xs:element name="TransactionId" type="xs:integer"/>
    17                     <xs:element name="Leg" type="legType" maxOccurs="unbounded" xdb:SQLCollType="LEG_V"/>
    18             </xs:sequence>
    19             <xs:attribute name="id" type="xs:integer" use="required"/>
    20     </xs:complexType>
    21     <xs:complexType name="paymentType"  xdb:maintainDOM="false" xdb:SQLType="PAYMENT_T">
    22             <xs:sequence>
    23                     <xs:element name="StartDate" type="xs:date"/>
    24                     <xs:element name="Value" type="xs:integer"/>
    25             </xs:sequence>
    26             <xs:attribute name="id" type="xs:integer" use="required"/>
    27     </xs:complexType>
    28     <xs:complexType name="legType"  xdb:maintainDOM="false"  xdb:SQLType="LEG_T">
    29             <xs:sequence>
    30                     <xs:element name="LegNumber" type="xs:integer"/>
    31                     <xs:element name="Basis" type="xs:integer"/>
    32                     <xs:element name="FixedRate" type="xs:integer"/>
    33                     <xs:element name="Payment" type="paymentType" maxOccurs="unbounded"  xdb:SQLCollType="PAYMENT_V"/>
    34             </xs:sequence>
    35             <xs:attribute name="id" type="xs:integer" use="required"/>
    36     </xs:complexType>
    37  </xs:schema>';
    38  end;
    39  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> set define on
    SQL> --
    SQL> declare
      2    res boolean;
      3    xmlSchema xmlType := xmlType(:XMLSCHEMA);
      4  begin
      5    dbms_xmlschema.registerSchema
      6    (
      7      schemaurl => :schemaURL,
      8      schemadoc => xmlSchema,
      9      local     => TRUE,
    10      genTypes  => TRUE,
    11      genBean   => FALSE,
    12      genTables => TRUE,
    13      ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE
    14    );
    15  end;
    16  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.26
    SQL> desc LOCAL_TABLE
    Name                                                                   Null?    Type
    TABLE of SYS.XMLTYPE(XMLSchema "http://xmlns.example.com/askTom/TransactionList.xsd" Element "TransactionList") STORAGE Object-rela
    ional TYPE "TRANSACTION_LIST_T"
    SQL> --
    SQL> create or replace VIEW TRAN_VIEW
      2  as
      3  select
      4    extractvalue(x.column_value,'/Transaction/TradeVersion/text()') tradeversion,
      5    extractvalue(x.column_value,'/Transaction//text()') transactionid
      6  from
      7    local_table,
      8    table(xmlsequence(extract(OBJECT_VALUE,'/TransactionList/Transaction'))) x
      9  /
    View created.
    Elapsed: 00:00:00.01
    SQL> create or replace VIEW TRAN_LEG_VIEW
      2  as
      3  select
      4    extractvalue(x.column_value,'/Transaction/TransactionId/text()') transactionid,
      5    extractvalue(y.column_value,'/Leg/Basis/text()') leg_basis,
      6    extractValue(y.column_value,'/Leg/FixedRate/text()') leg_fixedrate
      7  from
      8    local_table,
      9    table(xmlsequence(extract(OBJECT_VALUE,'/TransactionList/Transaction'))) x,
    10    table(xmlsequence(extract(x.column_value,'/Transaction/Leg'))) y
    11  /
    View created.
    Elapsed: 00:00:00.01
    SQL> create or replace VIEW TRAN_LEG_PAY_VIEW
      2  as
      3  select
      4    extractvalue(x.column_value,'/Transaction/TransactionId/text()') transactionid,
      5    extractvalue(y.column_value,'/Leg/LegNumber/text()') leg_legnumber,
      6    extractvalue(z.column_value,'/Payment/StartDate/text()') pay_startdate,
      7    extractValue(z.column_value,'/Payment/Value/text()') pay_value
      8  from
      9    local_table,
    10    table(xmlsequence(extract(OBJECT_VALUE,'/TransactionList/Transaction'))) x,
    11    table(xmlsequence(extract(x.column_value,'/Transaction/Leg'))) y,
    12    table(xmlsequence(extract(y.column_value,'/Leg/Payment'))) z
    13  /
    View created.
    Elapsed: 00:00:00.03
    SQL> desc TRAN_VIEW
    Name                                                                   Null?    Type
    TRADEVERSION                                                                    NUMBER(38)
    TRANSACTIONID                                                                   VARCHAR2(4000)
    SQL> --
    SQL> desc TRAN_LEG_VIEW
    Name                                                                   Null?    Type
    TRANSACTIONID                                                                   NUMBER(38)
    LEG_BASIS                                                                       NUMBER(38)
    LEG_FIXEDRATE                                                                   NUMBER(38)
    SQL> --
    SQL> desc TRAN_LEG_PAY_VIEW
    Name                                                                   Null?    Type
    TRANSACTIONID                                                                   NUMBER(38)
    LEG_LEGNUMBER                                                                   NUMBER(38)
    PAY_STARTDATE                                                                   DATE
    PAY_VALUE                                                                       NUMBER(38)
    SQL> --
    SQL> create or replace VIEW TRAN_VIEW_XMLTABLE
      2  as
      3  select t.*
      4    from LOCAL_TABLE,
      5         XMLTable
      6         (
      7            '/TransactionList/Transaction'
      8            passing OBJECT_VALUE
      9            columns
    10            TRADE_VERSION  NUMBER(4) path 'TradeVersion/text()',
    11            TRANSACTION_ID NUMBER(4) path 'TransactionId/text()'
    12         ) t
    13  /
    View created.
    Elapsed: 00:00:00.01
    SQL> create or replace VIEW TRAN_LEG_VIEW_XMLTABLE
      2  as
      3  select t.TRANSACTION_ID, L.*
      4    from LOCAL_TABLE,
      5         XMLTable
      6         (
      7            '/TransactionList/Transaction'
      8            passing OBJECT_VALUE
      9            columns
    10            TRANSACTION_ID NUMBER(4) path 'TransactionId/text()',
    11            LEG            XMLType   path 'Leg'
    12         ) t,
    13         XMLTABLE
    14         (
    15           '/Leg'
    16           passing LEG
    17           columns
    18           LEG_NUMBER     NUMBER(4) path 'LegNumber/text()',
    19           LEG_BASIS      NUMBER(4) path 'Basis/text()',
    20           LEG_FIXED_RATE NUMBER(4) path 'FixedRate/text()'
    21         ) l
    22  /
    View created.
    Elapsed: 00:00:00.01
    SQL> create or replace VIEW TRAN_LEG_PAY_VIEW_XMLTABLE
      2  as
      3  select TRANSACTION_ID, L.LEG_NUMBER, P.*
      4    from LOCAL_TABLE,
      5         XMLTable
      6         (
      7            '/TransactionList/Transaction'
      8            passing OBJECT_VALUE
      9            columns
    10            TRANSACTION_ID NUMBER(4) path 'TransactionId/text()',
    11            LEG            XMLType   path 'Leg'
    12         ) t,
    13         XMLTABLE
    14         (
    15           '/Leg'
    16           passing LEG
    17           columns
    18           LEG_NUMBER     NUMBER(4) path 'LegNumber/text()',
    19           PAYMENT        XMLType   path 'Payment'
    20         ) L,
    21         XMLTABLE
    22         (
    23           '/Payment'
    24           passing PAYMENT
    25           columns
    26           PAY_START_DATE     DATE      path 'StartDate/text()',
    27           PAY_VALUE          NUMBER(4) path 'Value/text()'
    28         ) p
    29  /
    View created.
    Elapsed: 00:00:00.03
    SQL> desc TRAN_VIEW_XMLTABLE
    Name                                                                   Null?    Type
    TRADE_VERSION                                                                   NUMBER(4)
    TRANSACTION_ID                                                                  NUMBER(4)
    SQL> --
    SQL> desc TRAN_LEG_VIEW_XMLTABLE
    Name                                                                   Null?    Type
    TRANSACTION_ID                                                                  NUMBER(4)
    LEG_NUMBER                                                                      NUMBER(4)
    LEG_BASIS                                                                       NUMBER(4)
    LEG_FIXED_RATE                                                                  NUMBER(4)
    SQL> --
    SQL> desc TRAN_LEG_PAY_VIEW_XMLTABLE
    Name                                                                   Null?    Type
    TRANSACTION_ID                                                                  NUMBER(4)
    LEG_NUMBER                                                                      NUMBER(4)
    PAY_START_DATE                                                                  DATE
    PAY_VALUE                                                                       NUMBER(4)
    SQL> --
    SQL> set long 10000 pages 100 lines 128
    SQL> set timing on
    SQL> set autotrace on explain
    SQL> set heading on feedback on
    SQL> --
    SQL> VAR DOC1 CLOB
    SQL> VAR DOC2 CLOB
    SQL> --
    SQL> begin
      2    :DOC1 :=
      3  '<TransactionList>
      4    <Transaction id="1">
      5      <TradeVersion>1</TradeVersion>
      6      <TransactionId>1</TransactionId>
      7      <Leg id="1">
      8        <LegNumber>1</LegNumber>
      9        <Basis>1</Basis>
    10        <FixedRate>1</FixedRate>
    11        <Payment id="1">
    12          <StartDate>2000-01-01</StartDate>
    13          <Value>1</Value>
    14        </Payment>
    15        <Payment id="2">
    16          <StartDate>2000-01-02</StartDate>
    17          <Value>2</Value>
    18        </Payment>
    19      </Leg>
    20      <Leg id="2">
    21        <LegNumber>2</LegNumber>
    22        <Basis>2</Basis>
    23        <FixedRate>2</FixedRate>
    24        <Payment id="1">
    25          <StartDate>2000-02-01</StartDate>
    26          <Value>10</Value>
    27        </Payment>
    28        <Payment id="2">
    29          <StartDate>2000-02-02</StartDate>
    30          <Value>20</Value>
    31        </Payment>
    32      </Leg>
    33    </Transaction>
    34    <Transaction id="2">
    35      <TradeVersion>2</TradeVersion>
    36      <TransactionId>2</TransactionId>
    37      <Leg id="1">
    38        <LegNumber>21</LegNumber>
    39        <Basis>21</Basis>
    40        <FixedRate>21</FixedRate>
    41        <Payment id="1">
    42          <StartDate>2002-01-01</StartDate>
    43          <Value>21</Value>
    44        </Payment>
    45        <Payment id="2">
    46          <StartDate>2002-01-02</StartDate>
    47          <Value>22</Value>
    48        </Payment>
    49      </Leg>
    50      <Leg id="22">
    51        <LegNumber>22</LegNumber>
    52        <Basis>22</Basis>
    53        <FixedRate>22</FixedRate>
    54        <Payment id="21">
    55          <StartDate>2002-02-01</StartDate>
    56          <Value>210</Value>
    57        </Payment>
    58        <Payment id="22">
    59          <StartDate>2002-02-02</StartDate>
    60          <Value>220</Value>
    61        </Payment>
    62      </Leg>
    63    </Transaction>
    64  </TransactionList>';
    65    :DOC2 :=
    66  '<TransactionList>
    67    <Transaction id="31">
    68      <TradeVersion>31</TradeVersion>
    69      <TransactionId>31</TransactionId>
    70      <Leg id="31">
    71        <LegNumber>31</LegNumber>
    72        <Basis>31</Basis>
    73        <FixedRate>31</FixedRate>
    74        <Payment id="31">
    75          <StartDate>3000-01-01</StartDate>
    76          <Value>31</Value>
    77        </Payment>
    78      </Leg>
    79    </Transaction>
    80  </TransactionList>';
    81  end;
    82  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.01
    SQL> insert into LOCAL_TABLE values ( xmltype(:DOC1))
      2  /
    1 row created.
    Elapsed: 00:00:00.01
    Execution Plan
    Plan hash value: 1
    | Id  | Operation                | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT         |             |     1 |   100 |     1   (0)| 00:00:01 |
    |   1 |  LOAD TABLE CONVENTIONAL | LOCAL_TABLE |       |       |            |          |
    SQL> insert into LOCAL_TABLE values ( xmltype(:DOC2))
      2  /
    1 row created.
    Elapsed: 00:00:00.01
    Execution Plan
    Plan hash value: 1
    | Id  | Operation                | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT         |             |     1 |   100 |     1   (0)| 00:00:01 |
    |   1 |  LOAD TABLE CONVENTIONAL | LOCAL_TABLE |       |       |            |          |
    SQL> select * from TRAN_VIEW_XMLTABLE
      2  /
    TRADE_VERSION TRANSACTION_ID
                1              1
                2              2
               31             31
    3 rows selected.
    Elapsed: 00:00:00.03
    Execution Plan
    Plan hash value: 650975545
    | Id  | Operation          | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |                                |     3 |   168 |     3   (0)| 00:00:01 |
    |   1 |  NESTED LOOPS      |                                |     3 |   168 |     3   (0)| 00:00:01 |
    |*  2 |   TABLE ACCESS FULL| SYS_NTGgl+TKyhQnWoFRSrCxeX9g== |     3 |   138 |     3   (0)| 00:00:01 |
    |*  3 |   INDEX UNIQUE SCAN| SYS_C0010174                   |     1 |    10 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - filter("SYS_NC_TYPEID$" IS NOT NULL)
       3 - access("NESTED_TABLE_ID"="LOCAL_TABLE"."SYS_NC0000800009$")
    Note
       - dynamic sampling used for this statement
    SQL> select * from TRAN_LEG_VIEW_XMLTABLE
      2  /
    TRANSACTION_ID LEG_NUMBER  LEG_BASIS LEG_FIXED_RATE
                 1          1          1              1
                 1          2          2              2
                 2         21         21             21
                 2         22         22             22
                31         31         31             31
    5 rows selected.
    Elapsed: 00:00:00.04
    Execution Plan
    Plan hash value: 1273661583
    | Id  | Operation           | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |                                |     5 |   560 |     7  (15)| 00:00:01 |
    |*  1 |  HASH JOIN          |                                |     5 |   560 |     7  (15)| 00:00:01 |
    |   2 |   NESTED LOOPS      |                                |     3 |   159 |     3   (0)| 00:00:01 |
    |*  3 |    TABLE ACCESS FULL| SYS_NTGgl+TKyhQnWoFRSrCxeX9g== |     3 |   129 |     3   (0)| 00:00:01 |
    |*  4 |    INDEX UNIQUE SCAN| SYS_C0010174                   |     1 |    10 |     0   (0)| 00:00:01 |
    |*  5 |   TABLE ACCESS FULL | SYS_NTUmyermF/S721C/2UXo40Uw== |     5 |   295 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0000800009$")
       3 - filter("SYS_NC_TYPEID$" IS NOT NULL)
       4 - access("NESTED_TABLE_ID"="LOCAL_TABLE"."SYS_NC0000800009$")
       5 - filter("SYS_NC_TYPEID$" IS NOT NULL)
    Note
       - dynamic sampling used for this statement
    SQL> select * from TRAN_LEG_PAY_VIEW_XMLTABLE
      2  /
    TRANSACTION_ID LEG_NUMBER PAY_START  PAY_VALUE
                 1          1 01-JAN-00          1
                 1          1 02-JAN-00          2
                 1          2 01-FEB-00         10
                 1          2 02-FEB-00         20
                 2         21 01-JAN-02         21
                 2         21 02-JAN-02         22
                 2         22 01-FEB-02        210
                 2         22 02-FEB-02        220
                31         31 01-JAN-00         31
    9 rows selected.
    Elapsed: 00:00:00.07
    Execution Plan
    Plan hash value: 4004907785
    | Id  | Operation            | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT     |                                |     9 |  1242 |    10  (10)| 00:00:01 |
    |*  1 |  HASH JOIN           |                                |     9 |  1242 |    10  (10)| 00:00:01 |
    |*  2 |   HASH JOIN          |                                |     5 |   480 |     7  (15)| 00:00:01 |
    |   3 |    NESTED LOOPS      |                                |     3 |   159 |     3   (0)| 00:00:01 |
    |*  4 |     TABLE ACCESS FULL| SYS_NTGgl+TKyhQnWoFRSrCxeX9g== |     3 |   129 |     3   (0)| 00:00:01 |
    |*  5 |     INDEX UNIQUE SCAN| SYS_C0010174                   |     1 |    10 |     0   (0)| 00:00:01 |
    |*  6 |    TABLE ACCESS FULL | SYS_NTUmyermF/S721C/2UXo40Uw== |     5 |   215 |     3   (0)| 00:00:01 |
    |*  7 |   TABLE ACCESS FULL  | SYS_NTelW4ZRtKS+WKqCaXhsHnNQ== |     9 |   378 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - access("NESTED_TABLE_ID"="SYS_ALIAS_1"."SYS_NC0000900010$")
       2 - access("SYS_ALIAS_1"."NESTED_TABLE_ID"="SYS_ALIAS_0"."SYS_NC0000800009$")
       4 - filter("SYS_NC_TYPEID$" IS NOT NULL)
       5 - access("NESTED_TABLE_ID"="LOCAL_TABLE"."SYS_NC0000800009$")
       6 - filter("SYS_NC_TYPEID$" IS NOT NULL)
       7 - filter("SYS_NC_TYPEID$" IS NOT NULL)
    Note
       - dynamic sampling used for this statement
    SQL>Out of interest why are you so against using XMLType...
    Edited by: mdrake on Jan 13, 2009 8:25 AM

  • Help with data load model

    Hi,
    I need help with a data load model. First, i'm doing delta extraction from R/3, we load data with a InfoSource to InfoCube A and InfoCube B.
    I'm doing master data validation on the load, so if a load fails for InfoCube A, it fails for InfoCube B too (this is because i can have only 1 InfoPackage for the 2 infocubes, because of the delta update).
    So i propose a new model in wich:
    - The delta load is taked first to an ODS.
    - ODS is cleaned before the delta update.
    - Then i create 2 InfoPackages for full load from ODS to  Infocube A, and from ODS to InfoCube B.
    With this solution i can have 2 infopackages from ODS because i'm not doing a delta load from here to the cubes, and with 2 infopackages i can have independent validations for each cube so if one of them fails, the other can still be loaded sucessfully.
    The solution fails because if i load delta from R/3 to the ODS i can't clean it first. The initialization and the old updates needs to be previuslly loaded on the ODS. Then i can't do full load to the cubes and neither have 2 infopackages.
    Please help me to solve this issue.
    thanks a lot

    Hi jeremy,
    what about this simple solution:
    load data by delta from R/3 in your ODS. You can also have an ODS/cube for the historical data which is more space-saving than holding all the old data in PSA. Then you load your historical data from PSA into the historical ODS/cube.
    From your ODS with the actual data you update your requests by full from ODS into the cubes with 2 different full infopackages. But because you load by full you have to use deletion selections in the infopackages to avoid duplicate data!
    regards,
    Jürgen

  • Hyperion Analyzer with Relational Database

    Can Analyzer be used on a relational database or only Essbase?Thanks, Cathy

    Yes..analyzer can be used with any relational databases.

  • PHP Help with inherited database site

    Hope someone can help with this, although I might be a bit vague. (But will be happy to post any code that might help.)
    Basically I do a few sites for a company, and everything is coming together nicely moving everything to a new reseller hosting account where everything can site. I'm basically doing some redesign and new database work for them.
    But there's one site I'm basically just trying to move over, that already has a database. I've copied the site onto the new hosting, copied the database across and created a new connection file.
    I must admit the code is all a bit more PHPO heavy than what I'm used to working with. so have run into a problem trying to figure out what data is not displaying due to queries failing. As far as I can tell the connection is working, and the queries have not changed.
    Anyway - the main page is here, where you should be able to click on the furniture images to go to the product page :
    http://www.miradatravelmedia.com/lusty/public_html/index.php
    But when you click through the product page query is failing :
    http://www.miradatravelmedia.com/lusty/public_html/products.php?category=1
    The products page is mostly PHP and looks like this :
    [PHP]<?php
    if (!@empty($_REQUEST["img"])) {
      require_once("../includes/hft_image.php");
      $img = new hft_image($_REQUEST["img"]);
      $img->resize(200,180,"-");
      $img->output_resized("");
      exit;
    $page = "products";
    include("../includes/header.php");
    include("../includes/db_open.php");
    $sql = "SELECT `id`, `name` FROM `categories` WHERE `id` = '" . $_REQUEST["category"] . "'";
    $result = mysql_query($sql) or die("Query failed : $sql at line " . __line__);
    $category = mysql_fetch_assoc($result);
    ?>
    <div id="trail"><a href="shop.php">Shop</a> &gt; Lloyd Loom <?php echo $category["name"]?></div>
      <div class="clear" id="divider1"><img src="images/spacer.gif" alt="<?php echo keyword()?>" /></div>
    <h1>Lloyd Loom <?php echo $category["name"]?></h1>
    <?php
    $sql =
      "SELECT * " .
      "FROM `products` " .
      "WHERE `category` = '" . $_REQUEST["category"] . "' " .
      "ORDER BY `order`";
    $result = mysql_query($sql) or die("Query failed : $sql at line " . __line__);
    if (mysql_num_rows($result) == 0) {
    ?>
    <p>Coming soon ...</p>
    <?php
    } else {
      $n = 0;
      while ($row = mysql_fetch_assoc($result)) {
        $n++;
    ?>
    <a href="product.php?id=<?php echo $row["id"]?>" class="product"<?php if ($n == mysql_num_rows($result)) echo " id=\"last\""?>>
    <?php
        if ($file = glob("images/products/" . $row["id"] . "_*.*")) {
    ?>
    <img src="img.php?img=<?php echo $file[0]?>&width=200&height=180" alt="<?php echo $row["code"]?>" />
    <?php
        } else {
    ?>
    <div id="no_image">No image found</div>
    <?php
    ?>
    <?php echo $row["code"]?>
    </a>
    <?php
        if (is_int($n / 4)) {
    ?>
    <div class="clear"><img src="images/spacer.gif" alt="<?php echo keyword()?>" /></div>
    <?php
    ?>
      <div class="clear" id="divider2"><img src="images/spacer.gif" alt="<?php echo keyword()?>" /></div>
    <?php
    include("../includes/footer.php");
    ?>[/PHP]
    If anyone could shed any light on what's going wrong still, that would be much appreciated.
    Thanks.

    Iain71 wrote:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''categories' WHERE 'id' = '1'' at line 1
    So it does look a bit odd with the quotes.
    Column names in a SQL query must not be in quotes. The MySQL error message tells you that the SQL syntax error is "near" the section it refers to. In other words, the error is just before that part of the query. Normally, you need to display the whole query to spot the error, but it's obvious in this particular case, because there's a quotation mark after categories, indicating that you've put the column name in quotes. Anyway, you've solved that problem by using the version I suggested.
    I still haven't managed to establish where this vat.php file is - is there any explanation for it not being visible on the original hosting server where the site is working? And could it have anything to do with the query not working?
    No, it has nothing to do with the query not working, and the reason you can't see it on the live site is because there's no error. The error message on your test site tells you exactly where to look for the problem. The file vat.php is included by header.php on line 19. Either vat.php isn't on your server, or the code on line 19 of header.php is pointing to the wrong location.

  • Help with local database

    hye...
    i have some problem with mySQLite database.i have this code
    for my application (in attachment).when you clik the load button,it
    will load a text file on the desktop directory.when you click the
    filter function it will split the text file according to an array
    that i have specified.
    the text file consist of some data like this:66.249.71.54 - -
    [10/Oct/2008:03:31:01 +0800] "GET
    /mod.php?_call=Kalendar&day=2014-05-09 HTTP/1.1" 200
    66.249.71.54 - - [10/Oct/2008:03:31:57 +0800] "GET
    /KERIAN%20ENG/Towns/Main_Town.htm HTTP/1.0" 404
    i have created a database on my desktop using one tool that i
    have downloaded and point to that database.
    the probllem now is,i want to store the "200" only strings
    into the database.strings other than "200" will be not stored in
    the database.can u show me how to do this..
    i hope you can understand what i want...
    thanks for your time..

    ty for your reply
    my boss was dead set to make it work so we get down to it.. he says that this particular conf was now soppurted by oracle (dont think so), but well we modified the realese and now we have the vm server in the box with the vm manager and cam working..
    now i what to discover the server and throws this error
    OVMAPI_4010E Attempt to send command: discover_hardware to server: ovm1.grtn.cfe.gob.mx failed. OVMAPI_4004E Sync command failed on server: 10.0.2.210. Command: discover_hardware, Server error: org.apache.xmlrpc.XmlRpcException: <type 'exceptions.Exception'>:ERROR 0 @ 730 parse_multipath_conf_file() ERROR: /etc/multipath.conf could not be read !?! ERROR 1 @ 372 fill_blkDevInfo_scsi_device() blkdev 'dm-0' bad devLink [../devices/virtual] !?! Runtime errors occured [2] [Tue Jan 20 05:58:32 CST 2015] [Tue Jan 20 05:58:32 CST 2015]
    this is in the vm manager 3.3.1 console
    try to check the etc/multipath.conf and its not there and i have no idea why..

  • Help with iTunes database and Time Machine after Lion clean install

    I did a clean install of OS X Lion and think I've given myself problems with my Snow Leopard Time Machine backup and with my iTunes Library database files.
    My iMac (2007) had become very sluggish so I opted for a clean install.  Before the install of Lion my Snow Leopard 10.6.8 internal 1TB HD was at about  600GBs.  I was using Time Machine to backup to an external 1TB drive.  I had my iTunes 10.?  library on the same drive.
    For the Lion install I partitioned my internal 1TB HD into two partitions - a 250GB Lion boot partition and the rest for Lion data files.
    Now I  have two problems - 1.  I can't  work out how to re-connect my Time Machine backups, since they were related to a much bigger original drive, and 2.  I can't seem to find my iTunes database files.
    I also don't want to restore any application files at this stage, as I'm determined to do a fresh install of only the applications I need as I go along, and hopefully  avoid the issues of sluggishness I had with Snow Leopard.
    I have all my iTunes files in their pre-Lion external HD folder, but that folder does not seem to  have the iTunes Library.XML or iTunes Library files.  I didn't delete them so I'm hoping they were in my iTunes folder on my SL boot drive.  But that drive was deleted during the install, so I'll be depending on Time Machine to restore the database.
    Can anyone suggest a way to deal with Time Machine for my Lion install, and a way to restore my iTunes database?  I'd like to keep as much of the Snow Leopard Time Machine data as I can, while continuing to do Time Machine backups from my Lion installation.
    Anyone know where iTunes stores those database files, if not in the external drive iTunes folder? Spotlight search doesn't find the files, but is there a way to search my old Time Machine backups without having the Time Machine backups folder re-connected in Lion?
    Thanks.

    My iTunes folder is organised like this if it helps:
    And iTunes uses them from the Prefrences like this:
    Regards,
    Colin R.

  • Button help with asp database in dreamweaver

    Hey i have a page that has an iframe inside it with 2 menu's
    side by side with buttons in between to move items from one menu to
    another and i have them set with javascript to move back and forth
    works great only problem is its also supposed to update to the
    database as well and i used the update command feature in
    dreamwaver and i set it up but its still not working if i post my
    code can someone help me?

    If you're good with Flash and Action Script you could build a custom player.  Otherwise, pick-one from the links below. Some are free, some are not.
    Coffee Cup Video Player -- (supports playlists)
    http://www.coffeecup.com/video-player/
    Video LightBox --
    http://videolightbox.com/
    WWD Player -- supports playlists
    http://www.woosterwebdesign.com/flvplayer/
    Wimpy Rave -- supports playlists
    http://www.wimpyplayer.com/index.html
    JW Player --
    http://www.longtailvideo.com/
    FlowPlayer --
    http://flowplayer.org/
    YouTube --
    http://code.google.com/apis/youtube/getting_started.html
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists
    http://alt-web.com/
    http://twitter.com/altweb

  • Help with a database view/table

    Hi,
    I have seperate oracle9i database on one machine (UNIX).
    Myview view has poor performance in dbtest, but it has good performance in dbdev.
    Both DBs are having relatively similar configuration.
    When I set the autotrace on I realized the indexes are in place on both databases.
    But it takes 2 times more to query dbtest than dbdev.
    Here is the difference when I query both views and the autotrace is on:
    SELECT id from Myview; on DBTEST:
    Statistics
    105 recursive calls
    0 db block gets
    83147 consistent gets
    456 physical reads
    0 redo size
    2777 bytes sent via SQL*Net to client
    400 bytes received via SQL*Net from client
    10 SQL*Net roundtrips to/from client
    4 sorts (memory)
    0 sorts (disk)
    122 rows processed
    SELECT id from Myview; on DBDEV:
    Statistics
    105 recursive calls
    0 db block gets
    42537 consistent gets
    267 physical reads
    0 redo size
    3601 bytes sent via SQL*Net to client
    414 bytes received via SQL*Net from client
    12 SQL*Net roundtrips to/from client
    4 sorts (memory)
    0 sorts (disk)
    157 rows processed
    How can I identify where the problem is? Why "consistent gets" and "physical reads" parameters are about 2 times in DBTEST. I believe this is why I have poor performance in DBTEST.
    Could someone give me a clue on how to idetify the issue?
    Thanks

    "I have seperate oracle9i database on one machine (UNIX)."Correction: "I have two seperate oracle9i database installed on one machine (UNIX).
    Can anyone help me with this? If you need more infor let me know.
    Thanks in advance.

  • Help with Derby Database Performance.

    I have started Derby as our BackEnd in microERP application.
    with Swing as front end. But i am struggling with Performace of the derby database.
    I have tried every thing with Preparedstatement and all related thing,
    Please give me a suggetion..

    aamirym wrote:
    I have started Derby as our BackEnd in microERP application.
    with Swing as front end. But i am struggling with Performace of the derby database.As noted your question is too general.
    However I would be really surprised if Derby came anywhere to even close to the performance of Oracle/MS SQL Server for all situations.
    So if you picked Derby inappropriately for the needs of the business then you have a problem.

  • Help with a database template - Desktop Product Inventory Template

    Hello Developers,
    I'm trying to develop a database to track purchase orders, supply levels, and supplies issued (with reports). I've been working with the MS Access template called "Desktop Product Inventory", but it has more functionality than I need (i.e. shipping,
    sales, invoicing). This template is almost exactly what I'm looking for.
    I've tried removing the fields I don't need, but I encounter errors everytime. Frustrated, I created a new database by studying and copying the format of the template. I have the general structure of the database setup with tabs, but I'm completly lost when
    it comes to formatting/coding the database. I'm not sure what needs to be done in order to recreate the functionality from the original template.   
    Unfortunately, I must admit that Access is my least favorite and used MS application.
    So, my questions are:
    1.) Does anyone know of an "effective" way to edit the Desktop Product Inventory template and maintain functionality?
    OR
    2.) Would someone mind taking a look at my database and giving me feedback? It's essentially just the layout  and what I want the database to show.
    Any and all help is appreciated, thanks for reading!

    The Microsoft template apps have a lot in them - which is why they are particularly difficult to modify by the novice - so don't feel bad. 
    A database that does  Inventory, shipping, sales, invoicing - is going to be complicated inherently, and is really a matter of development familiarity and experience.

  • Help with the Parallel Model configuration

    This is my first time posting, but I am a long time reader....
    First off, I would consider my Teststand knowledge level as high novice to low intermidiate. I created  a test sequence using in Teststand which calls labview vi's. My test sequence tests 5 units at a time in a parallel model (parallel model sequence). Functionally, everything runs great in single pass and looping. However, here is my issue:
    When selecting "Test UUT's", it brings up a window that asks for the serial number for each of the five stations. The operator then needs to enter a serial number for each and press okay to proceed. This setup is not valid for what I am doing. My test fixture has a button at each of the 5 stations. The user is to push the button to start the test (connects to a DAQ). Then, the serial number is read from the UUT and populated in the report.
    How would I go about reconfiguring this? I am not looking for someone to solve my problems for me, I just need a little direction. I looked at the parallel model sequence and I can't figure out where to go with it.
    Please help,
    Ryan
    Teststand 4.2
    Labview 2009
    Solved!
    Go to Solution.

    No problem Ryan,
    When you are done here you will be a pro.  
    Here is a link that talks about callbacks and how overriding them works: http://zone.ni.com/devzone/cda/tut/p/id/6605
    The PreUUT will be a Model Callback.
    One thing I should point out- There is a huge difference between the Batch Model and the Parallel Model.  People tend to get them confused and sometimes use the wrong when the other one is a better fit for their architecture.  They way I think about it is like a race track.  Each car on the track represents a different test socket.  One time around the track represents a full test.  Pretend the race is completed by teams of cars.  Each team can only race one car for one lap (sorta like a relay).  The team would represent the available test fixture for the next UUT and the car would be the UUT. Here's how the race would work with each model:
    Batch Model-  Let's say there are 2 available spots in the race so we have 2 teams of 5 cars each.  Both of the teams 1st cars would line up at the starting line.  The gun would go off and each car would take off.  Let's say team 1's car gets around the lap first.  Before they can start their 2nd car they have to wait for team 2's 1st car to get around the track as well.  Then both team's 2nd cars would line up and continue the same as the first go around and so on until all 5 cars had raced.
    Parallel Model-  In the same car scenario as the Batch Model both of the team's 1st cars would line up and the gun would go off and they would go.  However, this time if team 1's car gets around the track they can immediately send their second car without waiting for Team 2's 1st car.  In fact all 5 of team 1's cars could be finished before team 2's 1st car even finishes it's lap.
    Not sure if you are a fan of analogies but they work for me. In short-
    Batch Model- Everything in that set of test sockets must start and stop at the same time.
    Parallel Model- Each test socket is independant of any other test sockets.
    I'm picturing your scenario where you have 5 different stations that will be running independantly of each other and trying to figure out if you would want the Batch behavior or the Parallel behavior.  Or..... Why wouldn't you just use the sequential model on each station and deploy your sequence to each station?  Maybe you can describe your setup in a little more detail and we could come up with a better solution.
    How does the one station know that the others have the Go button pushed?
    Regards, 
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Please help with this Database Connection error

    Hi,
    there is an asp application related to Invoices that uses RDO object concept to connect to the database. Backend is oracle 10g. Application works fine in retrieving data from several tables except for one part of the application. Here the application needs to display the details of the Invoice once the user puts a checkmark beside the invoice number. The code works in a loop to display each invoice selected.
    Problem is that it works upto about 15 continuous selections and after that it displays this error.
    error '800a9c42'
    IM006: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
    This occurs on a line which contains a function that is used to get data from the resultset, which inturn should run a query.
    I tried to increase the timeout for the ODBC connection but to no avail. It uses a DSN connection with Microsoft odbc oracle driver.
    Can any one suggest please?
    Many thanks
    Sri

    Look at http://support.microsoft.com/kb/q264012/
    It is a known issue in MDAC, with an easy solution.

Maybe you are looking for

  • Print program is not getting triggered when saving the application

    Hi all, My requirement is when i save the invoice using VF01 the print program should get triggered. The print program is not getting triggered when saving the application even when i have configured the outtype and have attached the print program. T

  • Download csv and pdf in interactive report

    Hi, I'm getting below error while opening a PDF file downloaded from an interactive report (APEX). Adobe reader cound not open "TEST.pdf"because it is either not supportd file or because the file has been damaged. Also when i download in csv format t

  • Problem with purchase order release strategy

    Hi Guru's     i am dealing with problem of  service purchase order release strategy , when i making the service  po ,  i am not giving any over fulfillment tolerance  ,  after release & making Service entry sheet of PO ,   when i go to the change mod

  • Another RAW Query

    Hi There. Another RAW query. I have PS CS4 Extended 11. I have tried to open RAW (NEF) pictures from my NIKON D3100. I get the error message 'Could not complete your request because it is not the right kind of document'. I have tried downloading the

  • Getting Paid OT Hours from RT table for Daily

    Hi All, I am required to do an overtime report. I have an issue with getting the OT hours. This report outlines the OT hours taken by employee each day. I am taking the OT Hours from ZL table. Now I have to get the Paid OT Hours from RT table. This i