ORACLE V7.1 PARALLEL QUERY OPTION(PQO) TEST

제품 : ORACLE SERVER
작성날짜 : 2004-08-13
SCOPE
8~10g Standard Edition 에서는 지원하지 않습니다.
Subject: Oracle V7.1 PQO 테스트 결과
1.테스트 장비 : Sequent2000-S750
512MB M/M, 16GB H/D, 20 CPUs
2.테스트 S/W : Oracle V7.1.1 Beta (Parallel Query Option)
3.DB file구성 : 10개의 hard disk를 strapping raw device로 구성
data tablespace : 1.9 GB
4.Data Load : 2개의 테이블 사용(5KB , 1MB)
5.테스트 결과.
- Sort Merge Join (Default SQL: using 1 CPU) : 6m21s - 6m33s
* Sort Merge Join (Parallel 20 option: using 20 CPU) : 0m59s
* Parallel index create (1Mega table) : 1m18s - 1m28s
- Nested Loop Join (Default SQL: using 1 CPU) : 1m15s - 1m23s
* Nested Loop Join (Parallel 20 option: using 20 CPU) : 0m02s - 0m03s
- Execute PL/SQL procedure (Default SQL: using 1 CPU) : 1m54s
(embeded compiled PL/SQL procedure : user define function)
* Execute PL/SQL procedure (Parallel option : 20 CPU) : 0m13s
(embeded compiled PL/SQL procedure : user define function)
결과적으로 SQL문의 종류에 따라 7배 - 40배 정도의 성능 향상을 보여줌.
6. 본사에서 recommand한 자료에 의하면 18배 이상의 성능 향상 을 얘기하는데
이결과는 테스트 장비 구성의 차이라고 할 수 있습니다.
본사 테스트 장비 : Sequent5000 model, 1GB M/M, Pentium CPU, 20 H/Ds
cab로서 장비 구성요소 만으로도 2.5배 이상의 성능의 효과가 기대되는 상황.

Can you try running the following query and see if parallelism is used. I have used table alias "a" and included that in the parallel hint
select /*+ parallel(a, 8) */
colA,
colB
from abc.mytable a
where my_date between to_date('01/01/2011','mm/dd/yyyy') and to_date('12/31/2011','mm/dd/yyyy') AND
CD = '35';
Thanks

Similar Messages

  • Oracle 10g and parallel query question

    Hi Oracle on SAP Gurus!
    We are currently thinking of activating parallel query for certain segments (large application tables and indexes). We searched in SAPNet and SDN and have also studied the SAP Note 651060. But we did not find a complete answer to the following question which is very important for us:
    Which kinds of queries (despite from full table scan and index scan in partitioned indexes) support parallel queries and which ones do not support parallel queries?
    This is important for us to find out whether we have candidates for parallel queries or not.
    Thanx for any hint!
    Regards,
    Volker

    But why do you not propose to use parallel query in OLTP systems?
    If the queries are accessed very frequently you will just run out of cpu and io ressources. OLTP systems are (historical) typically multi user systems. You can off course use PQ for 'single user' activities, like index rebuilds, some batchjobs, but you shouldn't do for frequent user queries.
    If you have time look at this interesting Article [Suck It Dry - Tuning Parallel Execution|http://doug.burns.tripod.com/px.html]
    It is quite old, and you don't have to read all tech details, but i recommend having a look at the conclusions at the end.
    May it make sense to use partitioning of these tables in conjunction with parallel query?
    I know some guys, who do partitioning on OLTP systems, even SAP systems. But they don't use PQ then. The use partitioning to work on a smaller set of data. In your case the range scans, would need to scan only one partition, saving buffer cache and effectively speeding up execution. So you don't need PQ to scan all partitions at all, this would be a typical OLAP approach.
    Best regards
    Michael

  • ORA-12827 insufficient parallel query slaves available

    Hi,
    In our sql statements , we are using PARALLEL_MIN_PERCENT = 100 for getting 100% parallel slaves.
    But sometimes,it fails with ORA-12827.
    if we remove PARALLEL_MIN_PERCENT = 100 , then obviously the query execution time will increase.
    How to make sure that the query always get 100% parallel query slaves?
    Is there any work around for this other than removing or changing PARALLEL_MIN_PERCENT?
    Thanks

    Increase parallel_min_servers. What happens is as follows. At instance startup oracle starts parallel_min_servers processes to handle PQO (Parallel Query Option). Assume, for example parallel_min_servers = 4. Assume table has degree of parallelism 6. When you set PARALLEL_MIN_PERCENT = 100 you are requesting PQO to start 6 slave processes while only 4 are available.
    SY.

  • Parallel query feature

    Hi to utilize the parallel query option in database in 9i 10 g how can me modify the sql staments or the procedures.Whether it will use the parallel query feature without giving the parallel query hint?
    with regards
    ramya

    When we have to handle a lot of data in operations, like full table scans of large tables, or the creation of large indices, we can divide the work. Instead of using a single process for one statement, the work can be spread to multiple processes. This is called parallel execution or parallel processing. Parallel execution normally reduces response time when you are accessing large amount of data, but it is not always faster than a serial operation.
    Parallel execution is useful for many types of operations like:
    * Queries requiring large table scans, joins, or partitioned index scans
    * Creation of large indices and large tables
    * Bulk inserts, updates and deletes
    * Aggregations
    We have the following hints to influence the use of parallel execution
    * PARALLEL
    * NOPARALLEL
    * PQ_DISTRIBUTE
    * PARALLEL_INDEX
    * NOPARALLEL_INDEX
    From the session where the query run, type:
    select * from v$pq_sesstat;
    SELECT slave_name,status, cpu_secs_total
    FROM v$pq_slave;
    Performance summary:
    It cannot be stressed strongly enough that parallel query is not always quicker than serial. Some queries are more suited to parallel operations than others. If you are using parallel execution, then you should endeavour to maximize I/O throughput to your disk. Ensure that:
    * you have enough slaves to retrieve the data efficiently
    * you do not have too many slaves (avoid maxing out the CPU)
    * you set realistic memory parameters (sort_area_size etc.) so that you do not max out memory and cause swapping
    * the data is spread over multiple disk spindles so that slaves do not contend for I/O resource
    * the type of query your are attempting to execute in parallel is suitable for parallelisation.
    * watch for non-uniform loading on slave processes as this could indicate data skew.
    http://www.jlcomp.demon.co.uk/pqcosts.html
    courtesy from oracle metalink.
    SJH
    OCP DBA

  • Parallel  query in Oracle 11g

    We use Oracle 11g DB on windows2008R2.
    We wrote very long and heavy SELECT SQL query usign several table join and sub-queries and it take very long time to get result.
    We did SQL statement tuning as much as we can do so far. ( I will get the Execution Plan and ADDM, etc access right)
    I today notice about Parallel query function.
    Where could I write parallel hint phrases in very long SELECT SQL query ?
    In each selected tables like below ?
    /sample in Oracle Doc/
    SELECT /*+ PARALLEL(employees 4) PARALLEL(departments 4)
           USE_HASH(employees) ORDERED */ MAX(salary), AVG(salary)
    FROM employees, departments
    WHERE employees.department_id = departments.department_id
    GROUP BY employees.department_id;

    You need to be careful with some of the examples in the docs. The example you quote includes an unnecessary join. Before considering parallel query, it should have been re-written to this:
    SELECT MAX(salary), AVG(salary)
    FROM employees
    WHERE department_id is not null
    GROUP BYdepartment_id;
    Later versions of the CBO may do this re-write for you, but it is important to understand why the SQL is inefficient before throwing parallel servers at it. Are you sure that all your joins are actually necessary? (I know you are just going to say "yes", but you might want to think about it first.)

  • ORACLE 8I EXPORT의 QUERY OPTION 기능

    제품 : ORACLE SERVER
    작성날짜 : 2000-09-19
    Oracle 8i EXPORT의 Query Option 기능
    ====================================
    Oracle 8i에서는 export 작업 수행 시 Query Option을 이용하여 테이블의
    부분적인 추출이 가능하다.
    SQL> select empno, ename, job, sal from emp order by job;
    EMPNO ENAME JOB SAL
    7788 SCOTT ANALYST 3000
    7902 FORD ANALYST 3000
    9999 홍길동 ANALYST 2000
    7369 SMITH CLERK 800
    7876 ADAMS CLERK 1100
    7934 MILLER CLERK 1300
    7900 JAMES CLERK 950
    7566 JONES MANAGER 2975
    7782 CLARK MANAGER 2450
    7698 BLAKE MANAGER 2850
    7839 KING PRESIDENT 5000
    7499 ALLEN SALESMAN 1600
    7654 MARTIN SALESMAN 1250
    7844 TURNER SALESMAN 1500
    7521 WARD SALESMAN 1250
    위와 같이 구성된 EMP 테이블에서 만일 'MANAGER'로 JOB을 가진 사원중 SAL
    컬럼이 2500이상인 레코드를 export하고 싶다면, 다음과 같이 수행하면 된다.
    % exp scott/tiger tables=emp query=\"where job=\'MANAGER\' and sal\>=2500\"
    Export: Release 8.1.5.0.1 - Production on Tue Sep 19 16:14:15 2000
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 2 rows
    exported
    Export terminated successfully without warnings.
    한글 컬럼에 대해서도 동일한 where 조건에 지정이 가능하다.
    % exp scott/tiger tables=emp query=\"where ename like \'홍%\'\"
    V8.1.5 버젼에서 제공되는 Query 옵션의 특징:
    1. 테이블 레벨의 export 명령어에서만 가능하다.
    2. Direct 옵션과 함께 사용될 수 없다.
    3. Nested 테이블을 갖는 테이블에는 적용할 수 없다.
    4. Partition 테이블에 대한 export에도 적용가능하다.
    5. Import 명령에는 적용되지 않는다.

    Thanks Guys,
    I am still a bit lost though...
    It may be simply a matter of me finding Oracle 8i so I can do what I need to do.
    Where can I get Orcale 8i from? Does anybody have it? The oracle site only has a version back to 9.2 I queried with a employee from Oracle University here in Australia, and he suggested asking in the forums.
    Just so you know what I'm trying to do:
    Data Server:
    Running Aix with Oracle 7.14... actually could be 7.41 - I'll check today.
    This system will not be upgraded to any later version of Orcale, because systems are in place, and core systems at our other sites have to be the same. (my project is a local one)
    Web Server:
    Running XP profession with IIS and using ASP (active server pages)
    Currently running Oracle 10g, and ASP code connects to the local database on this machine via an ODBC connection.
    At the moment, I have scripts on the Aix server that dumps data from Oracle 7.x into a .csv file.
    Then, I have scripts that copy those csv files to the XP server, and they are imported to the local Oracle 10g database.
    To display this data on the website, I use ASP via the odbc connection to query the local database on the XP server.
    As said in my previous post, there must be an easier way to do this.
    I need a local database on the XP server too, and am thinking the best way is to downgrade to 8i.
    Can anybody tell me where I can get 8i to try this out? I have been trying to reasearch this for a while now without luck. Any help would be appreciated, and thanks for those who have replied so far.
    -Tom

  • EXPORT 시 QUERY OPTION에 대한 사용 예(ORACLE 8I 이상)

    제품 : ORACLE SERVER
    작성날짜 : 2004-03-17
    EXPORT 시 QUERY OPTION에 대한 사용 예(ORACLE 8I 이상)
    ============================================
    PURPOSE
    ============
    oracle 8i에서 export 시 query option에 대한 사용 예
    8i에서 export의 query syntax 를 이용하여 table data의 한 부분만 exporting 이 가능
    - 8i 에서 select 문장의 where 절을 사용하는 것처럼 export 시에 부분적으로 table data 를 받아 낼수 있는 기능을 소개 한다.
    - Direct 옵션은 사용될 수 없다..
    - where 절에 해당하는 export utility는 query parameter 를 사용한다.
    UNIX syntax:
    - Example:
    1.SCOTT.Emp table의 ename 이 JAME과 비슷한 이름의 data 를 export ..
    exp scott/tiger query=\"where ename like \'JAME%\'\" tables=emp file=exp.dmp log=exp.log
    2. employee와 cust table에서 new york 주의 data 만 export ..
    exp scott/tiger query=\"where st=\'NY\'\" tables=(employee,cust) file=exp.dmp log=exp.log
    query 문장에서 UNIX reserved characters( ", ', ,< .. 등) 를 사용하는 경우에는 escape ('\') 을 반드시 사용해야 한다.
    예)query=\"where JOB = \'SALESMAN\' and salary \< 1600\"
    더 중요한 것은 command line에서 export option을 사용할때는 반드시 escape 이 있어야 하나
    parfile을 사용할때는 eacape이 불필요하다.
    예를 보면 .. p라는 이름의 file을 다음과 같이 생성
    tables=emp query="where job='SALESMAN'"
    parfile을 이용해서 export 를 실행해 보면
    [rmtdchp6]/apac/rdbms/64bit/app/oracle/product/9.2.0> exp scott/tiger parfile=p
    Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:12:34 2004
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses KO16KSC5601 character set (possible charset conversion)
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 4 rows exported
    와 같이 정상 처리 됨을 알수 있다.
    만일 command line에서 위의 내용을 실행하게 되면 다음과 같이 error 를 만난다.
    exp scott/tiger tables=emp query="where job='SALESMAN'"
    LRM-00101: unknown parameter name 'job'
    EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
    EXP-00000: Export terminated unsuccessfully
    command line에는 query 내에 single(')나 double quotes(") 를 사용한다면 반드시 double quotes(") 를 사용하여
    query 문을 묶어야 한다.그러나 query 내에서 single ('')나 double quotes(") 를 사용하지 않는다면 single quotes (')을 사용하여
    query 문을 수행할 수도 있다..
    다음 예를 보면..
    1>exp scott/tiger tables=emp query=\'where deptno=20\'
    Export: Release 9.2.0.4.0 - Production on Wed Mar 17 00:22:00 2004
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses KO16KSC5601 character set (possible charset conversion)
    About to export specified tables via Conventional Path ...
    . . exporting table EMP 4 rows exported
    2>exp scott/tiger tables=emp query=\'where job=\'SALESMAN\'\'
    LRM-00112: multiple values not allowed for parameter 'query'
    EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
    EXP-00000: Export terminated unsuccessfully
    즉.. 정리를 하자면
    command line에서 query 내에 '," 을사용하지 않는 다면 '나 " 으로 query option을 사용할수 있다
    query=\'where deptno = 20\'
    query=\"where deptno = 20\"
    query=\'where deptno \< 2\'
    (이 경우 single 이나 double quotes 을 둘다 사용할수 있다.)
    parfile을 사용하는 경우에는 다음과 같이 단순하게 사용이 가능하다.
    query='where deptno = 20'
    query="where deptno = 20"
    query='where deptno < 20'
    WINDOWS NT / 2000 와 NETWARE syntax:
    다음의 자료를 참조바란다.
    Example:
    EXP demo/demo tables=emp file=exp1.dmp query="""where deptno>30"""
    double quotes(") 를 둘러 싸는 경우에는 space 가있으면 안된다.
    parfile의 사용은 다음과 같이 하시면 됩니다.
    file=exp66.dmp
    query="where deptno > 20"
    tables=(emp)
    log=log66.txt
    userid=scott/tiger
    Explanation
    Windows NT or Win2000의 경우 command line에서는 3 double quotes 이 필요하고
    'PARFILE 을 사용하는 경우에는 double quotes(") 한번만 필요함
    Reference Documents
    Oracle8i Utilities guide
    Note:91864.1

  • Oracle error-parallel query

    Hi Experts,
    While i'm running a parallel query through a procedure...
    its throwing the below error.....
    when others Error ORA-12801: error signaled in parallel query server P006
    ORA-01114: IO error writing block to file  (block # )
    ORA-01114: IO error writing block to file 1025 (block # 2790848)
    ORA-27063: number of byte with query
    Can you people suggest me?
    Thanks in advance!!!

    You probably meant 11.2.0.3 instead of 11.2.3.0?
    Did you (or your DBA) check the alert log?
    What happens if you remove your WHEN OTHERS and rerun the code?
    Do you get any additional information?

  • Database stopped with Error:ORA-10388: parallel query server interrupt (fai

    Hi Team,
    My Oracle 10g Database stopped automatically. When i checked the alert log i found the below Errors:
    Errors in file /opt/oracle/admin/DWS/bdump/dws_p000_10374.trc:
    ORA-10388: parallel query server interrupt (failure)
    Fri Mar 2 18:55:18 2012
    SMON: Restarting fast_start parallel rollback
    Fri Mar 2 18:55:47 2012
    Thread 1 advanced to log sequence 384310 (LGWR switch)
    Current log# 3 seq# 384310 mem# 0: +DBDG/dws/onlinelog/group_3.259.733426831
    Fri Mar 2 18:57:48 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_p000_10374.trc:
    ORA-10388: parallel query server interrupt (failure)
    Fri Mar 2 18:57:49 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_smon_10337.trc:
    ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], []
    Fri Mar 2 19:18:31 2012
    Errors in file /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc:
    ORA-00474: SMON process terminated with error
    Fri Mar 2 19:18:31 2012
    PMON: terminating instance due to error 474
    ======================================================================
    A week before we stopped oracle using "Shutdown abort" command. But two days before we stopped using "shutdown immediate", it went fine and system up and run fine.
    But today it stopped with this error message.
    Operating system : SOlaris 10
    I changed the parameter parameter fast_start_parallel_rollback to HIGH from LOW, but no use
    SQL> ALTER SYSTEM SET FAST_START_PARALLEL_ROLLBACK=HIGH SCOPE=BOTH;
    System altered.
    SQL> show parameter fast_start_parallel_rollback
    NAME TYPE VALUE
    fast_start_parallel_rollback string HIGH
    Usually The dead transaction will be rolled back after raising the Priority from LOW to HIGH. But this time its not rolled back. still etting the same error.
    Your answers will help to stop the oracle getting down in the LIVE production server. please share your experience guys.
    Thanks and Regards,
    Deeban

    Hi,
    Here im pasting the Trace file content for the error "ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], []".
    [10:20pm] root@dws41: # cat /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc
    /opt/oracle/admin/DWS/bdump/dws_pmon_10277.trc
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /opt/oracle/product/10.2.0
    System name: SunOS
    Node name: dws41
    Release: 5.10
    Version: Generic_138888-06
    Machine: sun4u
    Instance name: DWS
    Redo thread mounted by this instance: 1
    Oracle process number: 3
    Unix process pid: 10277, image: oracle@dws41 (PMON)
    **** 2012-03-02 19:18:31.509*
    **** SERVICE NAME:(SYS$BACKGROUND) 2012-03-02 19:18:31.504*
    **** SESSION ID:(1511.1) 2012-03-02 19:18:31.504*
    Background process SMON found dead
    Oracle pid = 8
    OS pid (from detached process) = 10337
    OS pid (from process state) = 10337
    dtp = 380017a10, proc = 7fd001048
    Dump of memory from 0x0000000380017A10 to 0x0000000380017A58
    380017A10 0000007C 00000000 00000007 FD001048 [...|...........H]
    380017A20 00000000 00000000 00000000 534D4F4E [............SMON]
    380017A30 00020000 00000000 00002861 00000000 [..........(a....]
    380017A40 00000000 4F507D38 00000001 327FA838 [....OP}8....2..8]
    380017A50 00040081 00000000 [........]
    Dump of memory from 0x00000007FD001048 to 0x00000007FD001830
    7FD001040 02010000 00000000 [........]
    7FD001050 00000000 00000000 00000000 00000000 [................]
    7FD001060 00000000 00000000 00000007 FD6D0CD0 [.............m..]
    7FD001070 00000007 FD700328 00000007 FD546D78 [.....p.(.....Tmx]
    7FD001080 00000005 3C6FD110 00000000 00000000 [....<o..........]
    7FD001090 00000005 3C6FD198 00000005 3C6FD198 [....<o......<o..]
    7FD0010A0 00000007 FD700318 01160800 00000000 [.....p..........]
    7FD0010B0 00000007 FD53FF88 00000007 FD544698 [.....S.......TF.]
    7FD0010C0 00000008 00000000 00000000 00000000 [................]
    7FD0010D0 00000000 00000000 00000000 00000000 [................]
    7FD0010E0 00000007 FD6CE770 00000007 FD6D0D00 [.....l.p.....m..]
    7FD0010F0 00000000 00000000 00000000 00000000 [................]
    Repeat 3 times
    7FD001130 00000000 00000000 00000012 00000000 [................]
    7FD001140 00000000 00000000 0000000F 00000000 [................]
    7FD001150 00000000 00000000 00000012 00000000 [................]
    Repeat 1 times
    7FD001170 00000000 00000000 0000000F 00000000 [................]
    Repeat 1 times
    7FD001190 00000000 00000000 00000012 00000000 [................]
    Repeat 1 times
    7FD0011B0 00000000 00000000 0000000E 00000000 [................]
    7FD0011C0 00000000 00000000 00000008 00000000 [................]
    7FD0011D0 00000000 00000000 00000012 00000000 [................]
    7FD0011E0 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD001210 00000000 00000000 00000004 00000000 [................]
    7FD001220 00000000 00000000 00000000 00000000 [................]
    7FD001230 4F50FF9A 00000000 00000000 00000000 [OP..............]
    7FD001240 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD001260 00000007 FD001260 00000007 FD001260 [.......`.......`]
    7FD001270 00000000 00000000 00000000 FFFFFFFF [................]
    7FD001280 00000007 FD001280 00000007 FD001280 [................]
    7FD001290 00000000 00000000 00000005 00000000 [................]
    7FD0012A0 00000000 00000000 00000000 00000000 [................]
    7FD0012B0 000000AB BABCDEFA 00000000 00000000 [................]
    7FD0012C0 00000000 00000000 000000FF 7FFFC971 [...............q]
    7FD0012D0 00000021 00000026 0008CBAA 00039976 [...!...&.......v]
    7FD0012E0 00000005 3C003FB8 00000006 7E0037D0 [....<.?.....~.7.]
    7FD0012F0 00000001 00000000 00000000 00000000 [................]
    7FD001300 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD001320 00000000 00000000 00002861 00000000 [..........(a....]
    7FD001330 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD001360 00000000 00000000 00000007 FD001048 [...............H]
    7FD001370 00000000 00000000 00000000 00000000 [................]
    Repeat 4 times
    7FD0013C0 00000000 00000000 00000001 00000000 [................]
    7FD0013D0 00000000 00000000 00000000 00000000 [................]
    Repeat 1 times
    7FD0013F0 4F50FF9A 00000000 00000007 FD0013F8 [OP..............]
    7FD001400 00000007 FD0013F8 00000000 00000000 [................]
    7FD001410 00010000 00000000 00000000 01000057 [...............W]
    7FD001420 0000000C 00000000 00002861 00000000 [..........(a....]
    7FD001430 00000000 4F507D38 00000001 00000000 [....OP}8........]
    7FD001440 00000000 00000000 00000000 00000000 [................]
    Repeat 3 times
    7FD001480 0000000F FFFFFFFF 00000000 00000000 [................]
    7FD001490 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD0014C0 00000000 00000000 00000020 00000000 [........... ....]
    7FD0014D0 00000000 00000000 00000000 00000000 [................]
    Repeat 8 times
    7FD001560 00000000 00000000 6F726163 6C650000 [........oracle..]
    7FD001570 00000000 00000000 00000000 00000000 [................]
    7FD001580 00000000 00000000 00000000 00000006 [................]
    7FD001590 64777334 31000000 00000000 00000000 [dws41...........]
    7FD0015A0 00000000 00000000 00000000 00000000 [................]
    Repeat 2 times
    7FD0015D0 00000000 00000005 554E4B4E 4F574E00 [........UNKNOWN.]
    7FD0015E0 00000000 00000000 00000000 00000000 [................]
    7FD0015F0 00000000 00000000 00000000 00000008 [................]
    7FD001600 31303333 37000000 00000000 00000000 [10337...........]
    7FD001610 00000000 00000000 00000000 00000005 [................]
    7FD001620 6F726163 6C654064 77733431 2028534D [oracle@dws41 (SM]
    7FD001630 4F4E2900 00000000 00000000 00000000 [ON).............]
    7FD001640 00000000 00000000 00000000 00000000 [................]
    7FD001650 00000000 00000013 00000000 00000002 [................]
    7FD001660 00000000 00000000 00000000 00000000 [................]
    Repeat 9 times
    7FD001700 00000000 00020000 00000000 00000000 [................]
    7FD001710 00000000 00000000 00000000 00000000 [................]
    7FD001720 00000003 BD4FFA28 00000005 3C0026F8 [.....O.(....<.&.]
    7FD001730 00000006 7E000F40 00000000 00000000 [....~..@........]
    7FD001740 00000003 BC691FD8 00000000 00000000 [.....i..........]
    7FD001750 00000000 00000000 00000000 00000000 [................]
    7FD001760 00000000 00000000 00000007 FD001768 [...............h]
    7FD001770 00000007 FD001768 00000000 09EF0000 [.......h........]
    7FD001780 00000000 086F0000 00000000 017A17D9 [.....o.......z..]
    7FD001790 00000000 00273A49 00000000 13B817D9 [.....':I........]
    7FD0017A0 00000000 00015030 00000000 0000A848 [......P0.......H]
    7FD0017B0 00000000 001350A0 00000000 00000828 [......P........(]
    7FD0017C0 00000000 000000E0 00000000 00000828 [...............(]
    7FD0017D0 00000000 00000000 00000000 00000000 [................]
    Repeat 4 times
    7FD001820 32B310E7 000152FB 00000003 00000000 [2.....R.........]
    error 474 detected in background process
    ORA-00474: SMON process terminated with error
    [10:20pm] root@dws41: #

  • Poor performance with Oracle Spatial when spatial query invoked remotely

    Is anyone aware of any problems with Oracle Spatial (10.2.0.4 with patches 6989483 and 7003151 on Red Hat Linux 4) which might explain why a spatial query (SDO_WITHIN_DISTANCE) would perform 20 times worse when it was invoked remotely from another computer (using SQLplus) vs. invoking the very same query from the database server itself (also using SQLplus)?
    Does Oracle Spatial have any known problems with servers which use SAN disk storage? That is the primary difference between a server in which I see this poor performance and another server where the performance is fine.
    Thank you in advance for any thoughts you might share.

    OK, that's clearer.
    Are you sure it is the SQL inside the procedure that is causing the problem? To check, try extracting the SQL from inside the procedure and run it in SQLPLUS with
    set autotrace on
    set timing on
    SELECT ....If the plans and performance are the same then it may be something inside the procedure itself.
    Have you profiled the procedure? Here is an example of how to do it:
    Prompt Firstly, create PL/SQL profiler table
    @$ORACLE_HOME/rdbms/admin/proftab.sql
    Prompt Secondly, use the profiler to gather stats on execution characteristics
    DECLARE
      l_run_num PLS_INTEGER := 1;
      l_max_num PLS_INTEGER := 1;
      v_geom    mdsys.sdo_geometry := mdsys.sdo_geometry(2002,null,null,sdo_elem_info_array(1,2,1),sdo_ordinate_array(0,0,45,45,90,0,135,45,180,0,180,-45,45,-45,0,0));
    BEGIN
      dbms_output.put_line('Start Profiler Result = ' || DBMS_PROFILER.START_PROFILER(run_comment => 'PARALLEL PROFILE'));  -- The comment name can be anything: here it is related to the Parallel procedure I am testing.
      v_geom := Parallel(v_geom,10,0.05,1);  -- Put your procedure call here
      dbms_output.put_line('Stop Profiler Result = ' || DBMS_PROFILER.STOP_PROFILER );
    END;
    SHOW ERRORS
    Prompt Finally, report activity
    COLUMN runid FORMAT 99999
    COLUMN run_comment FORMAT A40
    SELECT runid || ',' || run_date || ',' || run_comment || ',' || run_total_time
      FROM plsql_profiler_runs
      ORDER BY runid;
    COLUMN runid       FORMAT 99999
    COLUMN unit_number FORMAT 99999
    COLUMN unit_type   FORMAT A20
    COLUMN unit_owner  FORMAT A20
    COLUMN text        FORMAT A100
    compute sum label 'Total_Time' of total_time on runid
    break on runid skip 1
    set linesize 200
    SELECT u.runid || ',' ||
           u.unit_name,
           d.line#,
           d.total_occur,
           d.total_time,
           text
    FROM   plsql_profiler_units u
           JOIN plsql_profiler_data d ON u.runid = d.runid
                                         AND
                                         u.unit_number = d.unit_number
           JOIN all_source als ON ( als.owner = 'CODESYS'
                                   AND als.type = u.unit_type
                                   AND als.name = u.unit_name
                                AND als.line = d.line# )
    WHERE  u.runid = (SELECT max(runid) FROM plsql_profiler_runs)
    ORDER BY d.total_time desc;Run the profiler in both environments and see if you can see where the slowdown exists.
    regards
    Simon

  • Partitioning For Optimal Parallel Query Execution

    Hi All,
    We are trying to design an architecture that benefits from partitioning and parallel query to obtain the best query response times for our system.
    Let me start by describing the main table which has five columns:
    Columns:
    1) DocId ------- Numeric Primary Key Constraint (Unique)
    2) Text ------- CLOB of XML Content
    3) SCode ------- Varchar 12 ( service code Can be one of 200 values)
    4) A_Date ------- Oracle Date ( The arrival date )
    5) A_Month ------- Numeric partition key, the month number (1-12)
    We insert 100,000 records daily so a month of data will contain 3,000,000 rows. The Text varies from 4k to 200k bytes and on average is around 30k bytes per document. A_Date is obtained when the C++ application receives a client connection. After document transmission is complete the DocId is obtained from an Oracle sequence. It is true that A_Date and DocId increase together. However because of varying document sizes and transmission rates, there is no guarantee that consistent order between the two columns exists.
    For Example: If time (t) increases and the connection times are: t1, t2, t3, t4 and the document at t2 took long to transmit, we can have:
    A_Date -------- DocId (From Oracle Sequence)
    t2 -------------- 1004
    t4 -------------- 1003
    t3 -------------- 1002
    t1 -------------- 1001
    A_Month is simply the month number (1-12) extracted from the transmission entry timestamp. It is also our Partition Key (see below). When the year wraps around from 2006 to 2007, data for January will simpy fall into the 1st partition bucket, and so on..
    QUERY NEEDS: Our queries are centered around a DateTime interval Where the left endpoint is current day/time. They can query the current day, current to 1 month back, current to 2 months back, .. current to 15 months back. We MUST RETURN a list of DocId's sorted in DESCENDING ORDER for screen display purposes.
    In General we need to return sub-second for the 1st month. As we query further back in time longer response times between 1 and 4 seconds are acceptable.
    PARTITIONING AND INDEXES:
    The table is partitioned by A_Month as shown below:
    Create Table IndexTable
    PARTITION BY RANGE (A_Month)
    ( PARTITION p1 VALUES LESS THAN 1.1 ...
    PARTITION p2 VALUES LESS THAN 2.1 ...
    PARTITION p3 vALUES LESS THAN 3.1 ...
    There are GLOBAL INDEXES on DocId, Text(Domain Index), and SCode.
    A_Date is a LOCAL INDEX.
    QUERY STRUCTURE:
    My Query structure looks like this (for a 2 month query):
    SELECT DocId from IndexTable WHERE
    Contains (Text, 'BUSH and EARNINGS') > 0 AND
    SCode in ('S1', 'S2', 'S3', 'S4') AND
    A_Date Between '2006-01-15 11:00:00' AND '2006-03-15 11:00:00'
    Order By DocId DESC;
    QUESTIONS (THERE ARE THREE)
    #### QUESTION 1 ####
    As I examine various explain plans, the PSTART and PSTOP do not reflect consistency with my A_Date range. It seems to always display:
    PStart PStop
    RowId RowId
    no matter what my A_Date range is.. I don't see it pruning my partitions. I cannot find documentation as to what RowId means or how it affects the optimizer's plan.
    #### QUESTION 2 ####
    I have tried parallelization hints on the table and indexes such as
    /*+ PARALLEL( IndexTable, 4) */ and on the A_Date index
    /*+ PARALLEL_INDEX( IndexTable, A_Date_Index, 4) */.
    I can't really tell if the parallel hints make a difference.
    However, the FIRST_ROWS hint makes a big difference if I nest the query inside a rownum clause as:
    SELECT * from
    ( Select /+* first_rows */ ... WHERE CONTAINS... > 0 AND... )
    Where ROWNUM <=20;
    #### QUESTION 3 ####
    I'm running close to the latest RedHat Linux and Oracle 10g2 and I have read about Parallel Slave Processes in Tom Kyte's Expert Oracle Architecture book in which he says you should see processes like:
    ora...p000..
    ora...p001..
    ora...pnnn..
    Which are the parallel slave processes. I have NEVER seen any oracle processes numbered as such running on my system when I run test queries. I have seen some q_ processes and others, but not the pnnn processes..
    Can I benefit from parallel query without ever seeing these processes??
    I Greatly Appreciate Any Advice To Any Of These Questions..
    Joe

    Well I can tell you this much. You will never get partition pruning if you don't have the partition key in the where clause.
    I'm not sure about the parallel query. There was a time that this wasn't supported with Text indexes, but not sure if that still applies today.
    In theory there are two levels of partitioning that can be defined that you may want to test out.
    1st, range partition the base table and create a partitioned text index based on that. This is what you are currently doing.
    2nd, in the storage preference for the $I table specify a range or hash partition (I've never tried this, but in theory it should work) on the token_text column. Try this out and see if it works.

  • Parallel Query Restirction

    Hi there,
    i was wondering if there is any option to restrict the parallel execution of queries for user, so if a specific user exceutes select /*+ parallel*/ from table
    i want the query to be executed as noparallel??
    thank you in advance.
    My Oracle Version is:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    "CORE     11.1.0.7.0     Production"
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production

    1) You can put suspicious users in certain Resource Consumer Groups and limit the Parallel Degree of that group to 1 (no parallelism).
    2) If the parallel query is obviously not appropriate, you may also implement Automatic DOP to prevent senseless parallelism.
    See here for an example for 2):
    http://uhesse.wordpress.com/2009/11/24/automatic-dop-in-11gr2/
    Kind regards
    Uwe Hesse
    http://uhesse.wordpress.com
    Edited by: Uwe Hesse on 13.07.2011 20:22
    corrected -> certain

  • Parallel Query - which actions are possible?

    Hello guys,
    we have an OLTP system which a huge amount of data... and now i want to try to introduce parallel query in the system and test something around.
    I have some experiences with parallel query in an OLAP environment, but not in an OLTP.
    What i am searching for?
    An overview for Oracle 10g which lists all possible query accesses that are possible in a parallel environment.
    For example:
    - FTS - possible
    - Nested Loops - possible
    - Index Range scans - not possible
    I know some .. but not all so i am searching for an overview on the oracle documentation page but was not able to found something.
    Maybe you can help me.
    Regards
    Stefan

    Hello sybrand (my little senior dba),
    regarding to the paper of Doug Burns there are more things that can be executed parallel (but this paper is about Oracle 9i), so please don't post if you don't have any knowledge.
    http://www.dbanotes.net/archives/px.pdf
    => As Oracle’s parallel capabilities have been developed, most tasks can be executed in parallel now. According to the 9.2.0.5 documentation, Oracle supports parallel execution of the following operations: -
    Access methods
    For example, table scans, index fast full scans, and partitioned index range scans.
    Join methods
    For example, nested loop, sort merge, hash, and star transformation.
    I am searching for such an information about Oracle 10g... maybe there are some more things that can be executed parallel wit 10g.
    Thanks and Regards
    Stefan

  • Parallel Query/Execution

    Guys,
    What is parallel quering/execution? How does it help to improve the performance.
    Thanks

    Hi,
    Parallel query is an Oracle feature designed to solve large-scale data warehouse reporting and DML I/O performance issues. It is easy to implement
    PARALLEL_AUTOMATIC_TUNING=TRUE, include PARALLEL option on table DDL definition and it is in place.
    This feature improves performance when used on a multi-cpu platform, with PARTITIONED tables (i.e... typcially FACT, or transaction records, where rowcount is approaching or greater than 100million). Oracle distributes the SQL workload against each table partition to an individual CPU. Rather than 1 CPU scanning a table, many CPUs are used to scan different table partitions of the same table at the same time (i.e. in parallel).

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

    Hi gurus,
    I created an apply with a user-defined message handler for a queue. When a message is enqueued, the apply tries to do its work, but then is aborted because a fatal error has occurred: ORA-12805: parallel query server died unexpectedly.
    Could anyone help me with this? I am desperate now.
    Here is what comes from the log:
    Dump file c:\oracle\product\10.2.0\admin\byzz10g\bdump\byzz10g_a002_640.trc
    Fri Sep 22 09:15:05 2006
    ORACLE V10.2.0.1.0 - Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    Windows XP Version V5.1 Service Pack 2
    CPU : 1 - type 586
    Process Affinity : 0x00000000
    Memory (Avail/Total): Ph:405M/1014M, Ph+PgF:1795M/2442M, VA:1575M/2047M
    Instance name: byzz10g
    Redo thread mounted by this instance: 1
    Oracle process number: 32
    Windows thread id: 640, image: ORACLE.EXE (A002)
    *** 2006-09-22 09:15:05.366
    *** SERVICE NAME:(SYS$USERS) 2006-09-22 09:15:05.366
    *** SESSION ID:(141.21) 2006-09-22 09:15:05.366
    error 12805 in STREAMS process
    ORA-12805: parallel query server died unexpectedly
    OPIRIP: Uncaught error 447. Error stack:
    ORA-00447: fatal error in background process
    ORA-12805: parallel query server died unexpectedly
    Thank you very much!

    Hi myora9i,
    I saw similar report in MetaLink. (Bugid:3658975)
    It was 9.2.0.5 on Solaris.
    Unfortunately, this problem has left unsolved for 2 years due to luck of information to analyze the situation.
    I couldn't get a detail of problem, but the document says "Apply process abort".
    And error messages are same to yours. So I think your problem is related to the bug.
    Just FYI
    Regards,

Maybe you are looking for

  • Can't update or uninstall Adobe Air

    Had a problem with the previous update and used the Windows Install Clean Up which worked fine. Latest update is not working and IPlayer desktop died along with it. Tried Microsft Fix IT as suggested in these forums and it couldn't find any error. I

  • Is there a way to share icloud storage plan with family members?

    I have set-up my icloud storage plan to 200G and i want to share the plan with my husband that only has the default, can i do that? I already have family sharing of photos, apps, etc.. but i want to share storage space. Thanks in advance.

  • Best advice site

    is Here, here is my post in the MBPro section, but I feel this section has the widest brain power ~ here goes:- my late 09 Matt 17"MBPro & early 09 Macbook have after the 1st (iTunes) 2/1/10 update been acting up:- Everything on/in iTunes has come fr

  • Brio Version 6.5.2 row level security

    Does anyone have any suggestions on implementing row level security through the ODS portion of Brio 6.5.2, I know it is built in to the new hyperion intelligence server but can it be implemented with the older brio product?

  • Changing URL for E_BUSINESS system

    Hi, how to change URL for E_BUSINESS system ? Should we only edit contexte .xml files and launch autoconfig? Which parameteres ? Many thanks.