Parallel Query on Views or MV or snapshot?

Hi All,
I'm in oracle 10gr2 and moving to 11gr2 soon...
I have a view ( has over a million records) that is created on a view ....basically has 5 layers of views beneath...and the performance as been painfully slow.
Is it possible to have parallel select query on views or Materialized views or snapshots?
Thanks and appreciate your sugessions..
HU

user32322435 wrote:
TRUE..I agree its not the best design...but that is how the DB was handed ..and it too complicated to re-design....sorryYou don't have to be sorry about it, but you (and your users) will have to live with the ramifications of it.
Parallel query is useful in a very limited set of circumstances. Attempting to overcome a design flaw is not one of them.
I would look into materialized view if you absolutely must, but before tossing more complexity on top of existing complexity in order to cover up a design flaw .... i would go to management and explain how your application is poorly designed and needs to be redesigned if you ever expect to get a semblance of performance from your application.
NOTHING is too complicated to redesign, it just takes time and thought.

Similar Messages

  • Error on Parallel Query

    Hi,
    My application throws the following error when Iam processing a parallel query on my database. Can any one help me to resolve this.
    ERROR at line 1:
    ORA-29903: error in executing ODCIIndexFetch() routine
    ORA-20000: Oracle Text error:
    DRG-50857: oracle error in drekrgm (one piece lob read)
    ORA-01555: snapshot too old: rollback segment number with name "" too small
    ORA-22924: snapshot too old
    Regards
    Venkat

    HI,
    Thanks for the article. I read the article but my problem is getting addressed. I have enough disk space and rollback segments.
    7 rollback segments (1 default 200 MB + 6 created for my executing wtih 1GB each ). All of them are auto extended 10M per block.
    Apart from this I have a free space for 25 GB in the drive left out. Inspite of all of these. I am getting this error.
    I am not able to understand the "DreKrgm" part.
    Can you throw some light on this part.

  • Error signaled in parallel query server p005 DATE format comparison

    Hello All,
    I have a data like this.
    {code}
    j_id   s_id     b_id    lc   t_date                             my_val1     my_val2
    100    200    300     prs   2013-07-17 16:01:47         myval1     myval2
    100    200   300     prs    2013-07-17 16:01:47         myCval1   myCval2
    {code}
    When i am running a query like this
    {code}
    update my_tab b
            set my_col = 'X'
            where rowid <> ( select max(t.rowid) from my_tab t
                             where
                                    t.J_ID        = b.J_ID   and
                                    t.S_ID = b.S_ID and
                                    t.B_ID      = b.B_ID and
                                    t.LC   = b.LC
                                  and TO_TIMESTAMP(trim(t.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
                                   = TO_TIMESTAMP(trim(b.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    I know i have a DATE format but converting it into TIMESTAMP because my data is random and could contain the time stamp as well.
    My concern here is when i run above update statement i get error
    {code}
    ORA-12801: error signaled in parallel query server P005
    ORA-01862: the numeric value does not match the length of the format item
    {code}
    but when i do like below.. It runs fine. Not sure what i am missing here or doing something wrong. Please help.
    {code}
    select to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
    where
    to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') = to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    Thanks!

    user10647455 wrote:
    Hello All,
    I have a data like this.
    {code}
    j_id   s_id     b_id    lc   t_date                             my_val1     my_val2
    100    200    300     prs   2013-07-17 16:01:47         myval1     myval2
    100    200   300     prs    2013-07-17 16:01:47         myCval1   myCval2
    {code}
    When i am running a query like this
    {code}
    update my_tab b
            set my_col = 'X'
            where rowid <> ( select max(t.rowid) from my_tab t
                             where
                                    t.J_ID        = b.J_ID   and
                                    t.S_ID = b.S_ID and
                                    t.B_ID      = b.B_ID and
                                    t.LC   = b.LC
                                  and TO_TIMESTAMP(trim(t.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
                                   = TO_TIMESTAMP(trim(b.t_DATE), 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    I know i have a DATE format but converting it into TIMESTAMP because my data is random and could contain the time stamp as well.
    My concern here is when i run above update statement i get error
    {code}
    ORA-12801: error signaled in parallel query server P005
    ORA-01862: the numeric value does not match the length of the format item
    {code}
    but when i do like below.. It runs fine. Not sure what i am missing here or doing something wrong. Please help.
    {code}
    select to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') from dual
    where
    to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF') = to_timestamp('2013-07-08 17:58:47', 'YYYY-MM-DD HH24:MI:SS.FF')
    {code}
    Thanks!
    If you have a date column, converting that to a timestamp isn't going to magically add more information to the date.
    Date data types hold time information (not to the fractional precision like timestamps, but up to the second) ... if you are having a problem seeing that information, it's likely because of your NLS_DATE_FORMAT setting (whatever client you are using to view the data isn't showing you all of the information, but it's still there).
    So basically, this boils down to your code not "making sense" at the moment
    Cheers,

  • Input Value long enough for date format ,Error in executing parallel query

    Hi,
    My Table: ANML( ID, STATUS,B_DATE,B_MONTH,B_YEAR, DEATH_DATE)
    status 1 for alive and 2 for dead.
    i wrote a view to get age.
    as
    create or relace view view1 as
    select top."ID",top."STATUS",top."DOB",top."DEATH_DATE",top."ANML_AGE",top."DAYSDIFF",
    CASE
    WHEN anml_age < 1
    THEN 'D'
    ELSE 'M'
    END age_unit,
    CASE
    WHEN anml_age < 1
    THEN TO_CHAR (daysdiff || ' Day(s)')
    WHEN anml_age < 12
    THEN TO_CHAR (anml_age || ' Month(s)')
    WHEN MOD (anml_age, 12) = 0
    THEN TO_CHAR (ROUND (anml_age / 12, 0) || ' Year(s) '
    ELSE TO_CHAR ( ROUND (anml_age / 12, 0)
    || ' Year(s) '
    || MOD (anml_age, 12)
    || ' Month(s)'
    END age_string
    from
    (SELECT a.*,
    CASE WHEN status IN ( 1)
    THEN FLOOR(MONTHS_BETWEEN(TRUNC(SYSDATE),dob))
    WHEN death_date IS NOT NULL AND status IN (2)
    THEN FLOOR(MONTHS_BETWEEN(death_date,dob))
    END anml_age,
    CASE WHEN status IN (1)
    THEN FLOOR(TRUNC(SYSDATE)-TRUNC(dob))
    WHEN death_date IS NOT NULL AND status IN (2)
    THEN FLOOR(TRUNC(death_date) - TRUNC(dob))
    END daysdiff
    from (
    SELECTanml.id, status,
    TO_DATE ( DECODE (b_date,
    NULL, 1,
    b_date
    || '-'
    || DECODE (b_month,
    NULL, 1,
    b_month
    || '-'
    || b_year,
    'dd-mm-yyyy'
    ) DOB,
    death_date
    FROM anml
    WHERE b_year IS NOT NULL
    ) a) top
    when i tried to fetch all values from view its working fine.
    But when i tried to fetch values based on condition like as follows,
    select * from view1 where anml_age > 20 and anml_age<30
    I am getting error like:
    Input Value long enough for date format and Error in executing parallel query
    Please tell me wht is wrong.

    Here is your formatted code
    create or relace view view1 as
    select top."ID",top."STATUS",top."DOB",top."DEATH_DATE",top."ANML_AGE",top."DAYSDIFF",
    CASE
    WHEN anml_age < 1
    THEN 'D'
    ELSE 'M'
    END age_unit,
    CASE
    WHEN anml_age < 1
    THEN TO_CHAR (daysdiff || ' Day(s)')
    WHEN anml_age < 12
    THEN TO_CHAR (anml_age || ' Month(s)')
    WHEN MOD (anml_age, 12) = 0
    THEN TO_CHAR (ROUND (anml_age / 12, 0) || ' Year(s) '
    ELSE TO_CHAR ( ROUND (anml_age / 12, 0)
    || ' Year(s) '
    || MOD (anml_age, 12)
    || ' Month(s)'
    END age_string
    from
    (SELECT a.*,
    CASE WHEN status IN ( 1)
    THEN FLOOR(MONTHS_BETWEEN(TRUNC(SYSDATE),dob))
    WHEN death_date IS NOT NULL AND status IN (2)
    THEN FLOOR(MONTHS_BETWEEN(death_date,dob))
    END anml_age,
    CASE WHEN status IN (1)
    THEN FLOOR(TRUNC(SYSDATE)-TRUNC(dob))
    WHEN death_date IS NOT NULL AND status IN (2)
    THEN FLOOR(TRUNC(death_date) - TRUNC(dob))
    END daysdiff
    from (
    SELECTanml.id, status,
    TO_DATE ( DECODE (b_date,
    NULL, 1,
    b_date
    || '-'
    || DECODE (b_month,
    NULL, 1,
    b_month
    || '-'
    || b_year,
    'dd-mm-yyyy'
    ) DOB,
    death_date
    FROM anml
    WHERE b_year IS NOT NULL
    ) a) top

  • How to run discoverer 3i viewer on a replicated snapshot site ?

    hi,
    we are using oracle discoverer viewer on a replicated snapshot site ,in discoverer viewer edition we query the reports made in oracle user edition.In discoverer user edition first we save the report in the database in the table DIS_DOCS_ in EUL.now when we try to replicate this table ,we found that the LONG RAW type column in this table cannot be replcated. Now if we create a snapshot of this table without this LONG RAW type column it gets replicated. Now if i run this report on discoverer 3i viewer through my replicated snapshot site, I got a error message ORA-00904 Invalid coloumn name . and report does not work. can any body help me in how to run the report on discoverer 3i viewer using a replicated snapshot site for the table DIS_DOCS_ (this table is created when u create the EUL in the Administration Edition of the Discoverer
    THANKS.

    Discoverer Plus/Viewer comes with AS10g or Business Intelligence Standard Edition downloads, not DB10g.
    AS 10g includes:
    * Oracle HTTP Server
    * Oracle Application Server Containers for J2EE (OC4J)
    * Oracle Application Server Web Cache
    * Oracle Application Server Portal
    * Oracle Application Server Wireless
    * Oracle Sensor Edge Server
    * Oracle Enterprise Manager 10g Application Server Control
    * Oracle Database Server 10g (10.1.0.4.2)
    * Oracle Internet Directory
    * Oracle Application Server Single Sign-On
    * Oracle Application Server Directory Integration Provisioning
    * Oracle Application Server Delegated Administration Services
    * Oracle Application Server Certificate Authority
    * Oracle Application Server Forms Services
    * Oracle Application Server Reports Services
    * Oracle Application Server Personalization
    * Oracle Business Intelligence Discoverer
    * Oracle Security Developer Tools
    * Oracle Application Server Guard
    * OracleAS Backup and Recovery Tool
    BI 10g SE includes:
    * Oracle Business Intelligence Discoverer
    * Oracle HTTP Server
    * Oracle Application Server Containers for J2EE (OC4J)
    * Oracle Enterprise Manager 10g Application Server Control
    * Oracle Application Server Web Cache
    * Oracle Application Server Reports Services
    http://www.oracle.com/technology/software/products/ias/htdocs/101202.html
    Regards,
    Steve.

  • Error signaled in parallel query server P006

    This is the error stack..
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "XXXXX", line 47
    ORA-06512: at "XXXXX", line 171
    ORA-12801: error signaled in parallel query server P006
    ORA-01555: snapshot too old: rollback segment number 4 with name "_SYSSMU4$"
    too small
    ORA-06512: at line 1
    Please help.
    Thanks.

    Hi,
    I wrote the code to uploada to a flat file (.txt format) by using UTL_FILE package in PLSQL. In that code I redirected errors to a error file.
    It is uploading the correct data to the file, and also generating a error file with the below error message.
    Upload Type: cat Error Code: -12801 System Message: 10/21/2008 13:19:39 Oracle Message: ORA-12801: error signaled in parallel query server P026, ins.
    here the word 'cat' is part of my file name passing through exception part in PLSQL code.
    Below is exception part of my PLSQL program:
    EXCEPTION
    WHEN VALUE_ERROR
    THEN
    p_write_to_upload_log ('cat', TO_CHAR (SQLCODE), 'Value error reading Retail upload', SQLERRM);
    WHEN UTL_FILE.invalid_filehandle
    THEN
    p_write_to_upload_log ('cat', TO_CHAR (SQLCODE), 'Write error on upload file', SQLERRM);
    WHEN UTL_FILE.invalid_operation
    THEN
    p_write_to_upload_log ('cat', TO_CHAR (SQLCODE), 'Upload file is not open', SQLERRM);
    WHEN UTL_FILE.read_error
    THEN
    p_write_to_upload_log ('cat', TO_CHAR (SQLCODE), 'OS error during file read', SQLERRM);
    WHEN OTHERS
    THEN
    p_write_to_upload_log ('cat', TO_CHAR (SQLCODE), TO_CHAR (SYSDATE, 'MM/DD/RRRR HH24:MI:SS'), SQLERRM);
    END p_cat_upload;
    Please let me know if you need any more information on this.
    Appriciate your help in resolving this error message.
    Thanks and Regards
    Vedaprakash N

  • ORA-12801: error signaled in parallel query server P001 and ORA-01008:

    I am trying to refresh a refresh group i am getting the below error. This refresh group is on a database RIO12. All Mviews on this database point to target database - TRIO23 (which has master tables) using database link. The refresh group has 21 Mviews. Mview ACCOUNT is one of them i am getting the below error.
    BEGIN dbms_refresh.refresh('PLATS.PLATS_RG'); END;
    ERROR at line 1:
    ORA-12048: error encountered while refreshing materialized view "PLATS"."ACCOUNT"
    ORA-12801: error signaled in parallel query server P001
    ORA-01008: not all variables bound
    ORA-02063: preceding 2 lines from TRIO23
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2254
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2460
    ORA-06512: at "SYS.DBMS_IREFRESH", line 683
    ORA-06512: at "SYS.DBMS_REFRESH", line 195
    ORA-06512: at line 1
    TRIO23 is oracle version 10.2.0.5.0, RIO12 is oracle version 10.2.0.3.0
    Refreshing PLATS_RG refresh group has no problems from last 2 years, other 20 MViews when executed manually they are refreshed. Please help me in resolving this error. Thanks.

    Do you have cursor_sharing set to force or similar? if so then you may be hitting bug Bug 5863277. Please confirm with Oracle support.
    thanks

  • AQ Apply causes the ORA-12805: parallel query server died unexpectedly erro

    Hi gurus,
    Please help me here and than you. How do I solve this ORA-12805: parallel query server died unexpectedly problem? I have posted this on the streams forum but have not got any answer. Sorry to post it here but I am desperate.
    I followed the samples and created two queue tables of sys.mgw_basic_msg_t and two queues (Source_Q and Dest_Q) on them. I started both of them. Then I added two subscribers of the Dest_Q to the Source_Q. Both Q's are in the same database. I am in 10gR2 enterprise edition.
    DECLARE
    subscriber1 sys.aq$_agent;
    BEGIN
    subscriber1 := sys.aq$_agent('JW1', 'ben.Dest_Q', NULL);
    dbms_aqadm.add_subscriber(
    queue_name => 'ben.Source_Q',
    subscriber => subscriber1,
    queue_to_queue => true
    END;
    DECLARE
    subscriber1 sys.aq$_agent;
    BEGIN
    subscriber1 := sys.aq$_agent('JW2', 'ben.Dest_Q', NULL);
    dbms_aqadm.add_subscriber(
    queue_name => 'ben.Source_Q',
    subscriber => subscriber1,
    queue_to_queue => true
    END;
    Then I set up the schedule,
    BEGIN
    dbms_aqadm.schedule_propagation(
    queue_name => 'ben.Source_Q',
    start_time => sysdate,
    duration => 30,
    next_time => 'sysdate + 30/86400',
    latency => 10
    END;
    And then create and start the apply
    begin
    dbms_apply_adm.create_apply(
    queue_name => 'ben.Dest_Q',
    apply_name => 'mncis_apply',
    message_handler => 'ben.sprocMessageHandler',
    apply_user => 'ben'
    exception
    when others then
    dbms_output.put_line(SQLErrM);
    end;
    begin
    DBMS_APPLY_ADM.START_APPLY(
    apply_name => 'mncis_apply'
    end;
    Then I manually enqueued messages into the Source_Q. It is always successful, but then nothing happens. The propagation from Source_Q to Dest_Q never happens. Querying the dba_jobs shows this,
    select job, last_date, next_date, what from dba_jobs;
    1 09/21/2006 14:36 09/21/2006 14:37
    EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS();
    4001 09/21/2006 08:45 09/21/2006 16:45
    wwv_flow_cache.purge_sessions(p_purge_sess_older_then_hrs => 24);
    4002 09/21/2006 14:27 09/21/2006 14:37
    wwv_flow_mail.push_queue(wwv_flow_platform.get_preference('SMTP_HOST_ADDRESS'),wwv_flow_platform.get
    444 09/21/2006 14:37
    next_date := sys.dbms_aqadm.aq$_propaq(job);
    I noticed that there is never a last_date value for job 444 (this number changes all the time), sys.dbms_aqadm.aq$_propaq(job).
    Query the dba_apply view
    select apply_name, queue_name, status from dba_apply;
    Apply Process Name QUEUE_NAME STATUS
    MNCIS_APPLY DEST_Q ENABLED
    Manually dequeuing is always succssful.
    When I created an APPLY on the source_q with a user-defined message handler, it tries to do the apply, but the operation was aborted with the ORA-12805: parallel query server died unexpectedly error.
    Please tell me what I did wrong. Thank you!
    Ben

    Thanks again.
    Here is what I found from that table.
    I added three subscribers, JW1, JW2 and JW3. The first two were added like this,
    DECLARE
         subscriber1 sys.aq$_agent;
    BEGIN
         subscriber1 := sys.aq$_agent('JW1', 'ben.dest_q', NULL);
         dbms_aqadm.add_subscriber(
              queue_name => 'ben.source_q',
              subscriber => subscriber1,     
              queue_to_queue => true
    END;
    DECLARE
         subscriber2 sys.aq$_agent;
    BEGIN
         subscriber1 := sys.aq$_agent('JW2', 'ben.dest_q', NULL);
         dbms_aqadm.add_subscriber(
              queue_name => 'ben.source_q',
              subscriber => subscriber2,     
              queue_to_queue => true
    END;
    And the third one, JW3 was added like this,
    DECLARE
         subscriber3 sys.aq$_agent;
    BEGIN
         subscriber3 := sys.aq$_agent('JW3', null, NULL);
         dbms_aqadm.add_subscriber(
              queue_name => 'ben.source_q',
              subscriber => subscriber3,     
              queue_to_queue => false
    END;
    the msg_state shows processed for consumer JW3, and ready for consumers J1 and JW2. But I don't know where the message was processed to for JW3. The docs say you can propagate messages from one q to another in the same database. Also when I use dbms_propagation_adm.create_propagation, I got these errors:
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-06512: at "SYS.DBMS_PROPAGATION_INTERNAL", line 372
    ORA-06512: at "SYS.DBMS_PROPAGATION_ADM", line 39
    ORA-06512: at line 2
    Thanks a lot.
    Ben

  • Query to view the support group of a generated ticket in the Database, not the Data Warehouse

    Hi,
    I need a query to view the support group of a generated ticket, but the query must be useful in the only Database (I don't know what happened in the DW, could be a issue).
    Please help me,
    Greetings! 

    it's "possible", in the same way that low temperature fusion and space elevators are "possible". There's nothing conclusively ruling it out, but not something you want to attempt on your own under a time constraint. 
    The "Active" ServiceManager database is a 5th or 6th normal form dynamic software defined snowflake schema representitive object database. Updating the database directly is strictly unsupported, and
    Travis has discouraged people from even trying to read from it. a college of mine does service manager and operations manager databases at a 400+ level full time, and after 2+ years of doing it, he
    almost understands the operational database. it's WELL beyond me, and I do Service Manager basically full time. 
    That being said, if you are brave and only looking for some basic data, you might be able to tease some things out with the SQL management studio and a good grasp of SQL syntax.
     for a production environment, you're much better off fixing the DW. 

  • SQL query or view used internally by Discoverer Open Workbook from Database

    Hi Experts,
    I am involved in developing a web application wherein I have to display the 'All Workbooks' similiar functionality in the 'Open Workbook from Database' dialog box of Discoverer. Can anybody provide me with the background query or view that Discoverer uses to retrieve this data for workbook listing? Please let me know if my question is confusing and requires more details.
    Thanks
    Thomas

    Hi,
    If you just need the list of workbooks then you need to use the EUL_DOCUMENT table:
    SELECT u.User_Name          Owner_Name
    *,Doc.Doc_Name Workbook_Name*
    *,Doc.Doc_Updated_Date Last_Update_Date*
    FROM   Eul_Us.Eul5_Documents Doc
    *,Eul_Us.Eul5_Eul_Users Own_Usr*
    *,Fnd_User u*
    WHERE  Own_Usr.Eu_Id = Doc.Doc_Eu_Id AND
    To_Char(u.User_Id(+)) = Substr(Own_Usr.Eu_Username
    *,2*
    *,10);*
    If you want the exact same list then you need to do the above along with the sharing :
    SELECT DISTINCT
    case when instr(disco_docs.doc_created_by,'#')=0 then disco_docs.doc_created_by
    when instr(disco_docs.doc_created_by,'#')>0 and instr(disco_docs.doc_created_by,'#',2)=0 then (select fu.user_name from fnd_user fu where fu.user_id=substr(disco_docs.doc_created_by,2,5))
    else NULL
    end "Workbook Owner/Creator",
    disco_docs.doc_name "Workbook Name",
    disco_docs.Doc_Updated_Date  "Last Update Date",
    case when instr(disco_users.eu_username,'#')=0 then disco_users.eu_username
    when instr(disco_users.eu_username,'#')>0 and instr(disco_users.eu_username,'#',2)=0 then (select fu.user_name from fnd_user fu where fu.user_id=substr(disco_users.eu_username,2,5))
    else (select resp.responsibility_name from fnd_responsibility_tl resp where resp.responsibility_id=substr(disco_users.eu_username,2,5))
    end as "Shared Name / Responsibility"
    FROM
    eul_us.eul5_documents disco_docs,
    eul_us.eul5_access_privs disco_shares,
    eul_us.eul5_eul_users disco_users
    WHERE
    disco_docs.doc_id = disco_shares.gd_doc_id (+)
    and disco_users.eu_username(+) NOT IN ('EUL5', 'PUBLIC')
    AND disco_users.eu_id(+) = disco_shares.ap_eu_id;
    * Change the EUL_US to your discoverer schema...
    Then you will need to compare the current user with the sharing list or creator
    Good luck
    Tamir

  • Is it possible the query in view object is dynamic?

    Is it possible the query in view object is dynamic?
    Generally, make the column list dynamic.
    I think this is related to whether view object can be assembled at runtime based on a dynamic cursor in a procedure?
    I ask this because I would like to know how we can use OA framework to simulate crosstab workbook in Discoverer?
    Anybody has some clues, please advise.
    Thanks.

    Hi Shay,
    Let me tell you briefly... I am sending input as customerId,customerNumber,CustomerName to the web service, if the record is available i am getting the response and i am displaying those records on page as a table. Now when i click a row i need to populate another table with all sale orders of that customer. From webservice datacontrol i have only customer object, I dont have Sales Order Object. For this i need master detail relation. In this case how to proceed. Thats why i am thinking to create a vO and EO object for sales orders table and i want to create view link for this sales order and customers. As i don't have customer VO and EO object to create view link.

  • How to build sql query for view object at run time

    Hi,
    I have a LOV on my form that is created from a view object.
    View object is read-only and is created from a SQL query.
    SQL query consists of few input parameters and table joins.
    My scenario is such that if input parameters are passed, i have to join extra tables, otherwise, only one table can fetch the results I need.
    Can anyone please suggest, how I can solve this? I want to build the query for view object at run time based on the values passed to input parameters.
    Thanks
    Srikanth Addanki

    As I understand you want to change the query at run time.
    If this is what you want, you can use setQuery Method then use executeQuery.
    http://download.oracle.com/docs/cd/B14099_19/web.1012/b14022/oracle/jbo/server/ViewObjectImpl.html#setQuery_java_lang_String_

  • ORA-12801: error signaled in parallel query server

    Hi all
    What are the basic reasons of this error:
    ORA-12801: error signaled in parallel query server
    I have received this error while running report

    >>>What are the basic reasons of this error:
    ORA-12801: error signaled in parallel query server string
    Cause: A parallel query server reached an exception condition.
    Action: Check the following error message for the cause, and consult your error manual for the appropriate action.

  • Problems in creation of workbook using Change query local view.

    Hi Experts,
    I have created a Multiprovider by using union of two infocubes and created a Query based on Multiprovider.  I want to restrict one infocube in Change Query local view for creating new workbooks.  In Query global view we drag and drop the Infocube under Filters, but in the Query local view Filter panel is in disable mode. (My requirement is to create the workbooks using change query local view only)
    How can I restrict the one Infocube values in the workbooks by using Change query local view? 
    Thanks in advance.
    Venkat.

    Hi Venkat Prasad
    As you told that the query is on multi provider and the view is not allowing to declare/define filter value
    Just drag the infoprovider info object avilable under packet dimension to rows and right click on it restrict by selecting the name of the info provider when u right click it will show you the option of restrict once u click on it,it will takes to u a pop up where you can able to see the name of info providers and you specify according to it and finally in the display of results if you dont want to to display the info provider name then just right click on the 0infoprovider object under rows go to properties then choose hide option under display.
    Hope its clear a little..!
    Thanks
    K M R
    **Assigning points is the only way of saying thanks in SDN***
    >
    venkata prasad wrote:
    > Hi K M R,
    >
    > Thanks for ur quick response.  Most of the Infoobjects are common for both infocubes. I didn't understand this sentense "retrict the value with the infoprovider which values you are trying to view".
    > Please explian elaborately how to restrict the values speicfic to infoprovider under rows.

  • Problem with temp space allocation in parallel query

    Hello
    I've got a query which matches two large result sets (25m+ rows) against each other and does some basic filtering and aggregation. When I run this query in serial it takes about 30 mins and completes successfully. When I specify a parallel degree of 4 for each result set, it also completes successfully in about 20 minutes. However, when I specify that it should be run in parallel but don't specify a degree for each result set, it spawns 10 parallel servers and after a couple of minutes, bombs out from one of the parallel servers with:
    ORA-12801: error signaled in parallel query server P000
    ORA-01652: unable to extend temp segment by 64 in tablespace TEMPThis appears to be when it is about to perform a large hash join. The execution plan does not change whether the parallel degree is specified or not, and there is several GB of temp space available.
    I'm at a bit of a loss as to how to track down specifically what is causing this problem. I've looked at v$sesstat for all of the sessions involved and it hasn't really turned anything up. I've tried tracing the main session and that hasn't really turned up much either. From what I can tell, one of the sessions seems to try to allocate massive amounts of temp space that it just does not need, but I can figure out why.
    Any ideas of how to approach finding the cause of the problem?
    David

    Hello
    I've finally resolved this and the resolution was relatively simple - and was also the main thing that Mark Rittman said he did in his article: reduce the size of the hash join.
    After querying v$sql_workarea_active I could see what was happening which was that the sum of the temp space for all of the parallel slaves was exceeding the total amount of temp space available on the system. When run in serial, it was virtually at the limit. I guess the extra was just the overhead for each slave maintaining it's own hash table.
    I also made the mistake of misreading the exectuion plan - assuming that the data being pushed to the hash join was filtered to eliminate the data that was not of interest. Upon reflection, this was a rather stupid assumption on my part. Anyway, I used sub query factoring with the materialize hint to ensure that the hash join was only working on the data it should have been. This significantly reduced the size of the hash table and therefore the amount of temp space required.
    I did speak to oracle support and they suggested using pga_aggregate_target rather than the separate *area_size parameters.  I found that this had very little impact as the problem was related to the volume of data rather than whether it was being processed in memory or not.  That said, I did try upping the hash_area_size for the session with some initial success, but ultimately it didn't prove to be scalable.  We are however now using pga_aggregate_target in prod.
    So that's that. Problem sorted. And as the title of Mark Rittman's article suggests, I was trying to be too clever! :-)
    HTH
    David

Maybe you are looking for

  • Inbound IDOC not creating B007 relationship (HRP1001)

    Hi, I have an inbound IDOC containing object type S (Position) and object type C (Job), plus various relationships including A007 and B007 between the Job and the Position. All of the relationships get created except the B007 i.e. the Position cannot

  • Wrong Encoding for JDBC-Receiver

    Dear all, we've to convert from UTF-8 to ISO-8859-1 before we write payload data into database. We've tried with "AF_Modules/XMLAnonymizerBean"  but it does not work! Is there any issue regarding JDBC? Should we use "AF_Modules/TextCodepageConversion

  • Fiori custom theme - low performances

    Hi, since we activated our custom theme, fiori apps have very bad performances (often endless loading). Any idea ? Thanks ! Alexandre Tags edited by: Michael Appleby

  • Appending to file

    HI All, I am trying to append output created by my program to one file using : PrintWriter pw = new PrintWriter( new FileWriter( "filename" ), true ); but it does not appends it rather it over rites the file. Any idea why this is happening. Vinod

  • My comp crashed now trying to re down load older PS 7.0 version back onto my computer ... HELP

    I am looking to reload Photo Shop version 7.0 back onto my computer after a crash and don't know how to go about it. HELP please