question about PARALLEL hint

the documentation says that this PARALLEL suspicion may by select statements used in as PARALLEL (emp 8). I've also seen some syntaxes like PARALLEL, PARALLEL 8, PARALLEL (8) and in each case the steps in execution plans are the same, but the assigned cost was a little different between each version (but much lower than for a query without this suspicion).

How he interprets oracle above three syntaxes, IE.
/*+ PARALLEL */, /*+ PARALLEL 8 */, /*+ PARALLEL(8) */
?
are there parts in these syntaxes that are ignored or integrate the default behavior?
which syntax is safe to use when you don't want to specify the table being parallelized, IE. Use a similar syntax PARALLEL (emp 8)?

Thank you

Edited by: 943276 2012-07-25 19:17

Hello

These could come in handy:

http://docs.Oracle.com/CD/E11882_01/server.112/e26088/sql_elements006.htm#SQLRF50801

http://docs.Oracle.com/CD/E11882_01/server.112/e16638/hintsref.htm#PFGRF94942

Tags: Database

Similar Questions

  • Question about parallel hint and 'alter table enable parallel DML'

    Hi all

    I have a DML as follows:

    Insert / * + append * / into table1
    Select *.
    of COMPLEX_VIEW;

    Here complex_view contains a very complicated SQL, in which there is some heavy tables joins, subqueries, and aggregations.

    Question 1:

    Let's assume that the underlying tables have no attribute "parallel." Where should I add "parallel index" to force it to be run in parallel and can get better performance?

    Some members think that what follows is good.

    Insert / * + append * / into table1
    Select / * + parallel (a 4) * / *.
    of COMPLEX_VIEW;

    But I think that indicators must be put in the defintion of the complex view where they should be and do not put advice to the main insert DML, like this:

    Insert / * + append * / into table1
    Select *.
    of COMPLEX_VIEW; -I added the indicators in the COMPLEX_VIEW.

    What is your opinion?

    Quesion2:
    Without ' alter session enable parallel DML ", I can see the parallel session in v$ px_session thus." And the execution time has been shortened. This proves without this statement, the DML is also run in parallel.

    So, what is the effect of this statement?

    Best regards
    Leon

    I prefer the suspicion out of the COMPLEX_VIEW. This way, only this application forces the suspicion. If you put the indicator in the COMPLEX_VIEW, any other query on COMPLEX_VIEW (or Assembly of COMPLEX_VIEW to another view or a table) would also "encode" indicator in its execution. You don't then isolation parallel query to only where it is needed.

    If you put the parallel indicator in SELECT it (or view), the query is parallelized. This does not necessarily mean that the INSERT is parallelized. What you see v$ px_session are only slaves to PQ to SELECT.
    You must ALTER SESSION ACTIVATE PARALLEL DML and add the PARALLEL indicator in the INSERT.

    Hemant K Collette

  • Simple question about Append hint

    ORACLE-BASE - title

    The link above, I have just a basic question about add suspicion...

    How the APPEND Hint affects the performance

    The APPEND tip tells the optimizer to perform an access direct-path insert, which improves the performance of INSERT .. SELECT operations for several reasons:

    • Data are added at the end of the table, instead try to use the free space in the table.
    • Data is written directly to the data files, passing the buffer cache.
    • Referential integrity constraints are ignored.

    I wanted to just understand to what extent is the third correct point

    -----------------

    CREATE TABLE emp
    (
    emp_id a PRIMARY KEY/NUMBER
    emp_name VARCHAR2 (100),
    dept_id NUMBER
    );

    CREATE TABLE dept
    (
    dept_id NUMBER PRIMARY KEY,
    dept_name VARCHAR2 (100)
    );

    ALTER TABLE ADD FOREIGN KEY (Dept_id) emp made REFERENCE to Department (Dept_id);


    INSERT / * + append * /.
    IN emp
    Select 1, 'King', 100 from dual;

    COMMIT;

    The insert will definitely give an error

    ORA-02291: integrity constraint (SCOTT. SYS_C0013725324) violated - parent not found key

    Am I missing something here?

    See you soon,.

    Manik.

    sqlldr can and does ignore referential integrity / triggers and same uniqueness in a load path direct, insert / * + append * / doesn't - you do not direct path when they (constraints) exist.


    parallel is always a direct route, if you go in parallel, you add.

    https://asktom.Oracle.com/pls/asktom/f?p=100:11:0:no:P11_QUESTION_ID:1211797200346279484

  • Update to OSX.  Questions about Parallels

    I'm about to upgrade to OSX El Capitan of 10.6.8.  (I know it's time)

    My question (s)?

    1.) Will the 9 of Parallels Desktop for Mac (v. 9.0.2451) running on OSX?

    I use Parallels to run Windows 8.1, which I use to run Quicken Home and Business 2015 R 11 (24.1.11.1).

    So I guess that if Parallels 9 is compatible, then windows and Quicken will be as well?

    2.) I am also under Office 2008 for Mac - which I suppose will not work after the upgrade?  Does anyone have any experience with Office for Mac OSX.

    Thanks for any idea or information, on what you can spend.

    Nope, both (maybe) need of updates. Corresponds at least to version 10, but instead of 11. Office 2008 might still work, but the reports vary; 2011 version works very well for me.

  • question about ordered Hint

    Oracle 10g
    hi all i attended an interview yesterday and i interviewer asked me a couple of questions
    For which i dont have an exact answer. i even tried to search on web but i couldn't find the answer.
    
    1. The ordered  hint is used in conjunction with what?  and why?. 
       i explained what ordered hint is but he is not happy.
    
    2. performance of analytical function vs query with sub-query . 
    
     i voted for analytical function, interviewer said that analytical functions are slow.
    Please help me find some answers.

    Thank you

    Published by: new learning on July 30, 2010 07:17

    I don't worry about this.
    If this is the kind of thing the interviewer said, it doesn't look like the kind of place you want to work.
    And if the interviewer is booked on the precise wording that they were after, it's usually a bad sign.

    The flag of the y is used in conjunction with what?

    Who knows what it was after exactly?
    You could say that it is usually used in conjunction with other indicators to indicate the mechanisms of join and access

    Analytical or subquery

    Obviously, the correct answer is 'It depends' - it is almost always the right answer :)
    I would say that analytical versus subquery easily qualifies for the 80/20 rule (i.e., they earn at least 80% of the time)

    But for an example of "how analytics spoil" see here:
    http://jonathanlewis.WordPress.com/2009/09/07/analytic-agony/

  • Question about lesson 1-7, slide 2: Iterable.forEach () and parallel execution

    As stated in the previous parts of this lesson, the library can choose to run lambda expressions in parallel.

    In the example: the final execution using Iterable.forEach () result will be same as using a traditional loop?

    Using a traditional loop that you are sure that the items in the list are printed in the order they are in the list.

    This is not always true using Iterable.forEach (), since the items could be printed by different threads?

    "... the library can choose to perform lambda expressions in parallel."

    I wanted to clarify a little.

    The general rule is that parallel execution can occur if the particular library used API allows him, and it is usually under the control of the programmer. For example, lambdas in parallel flow (which will be addressed later in the MOOC) can be run in parallel, but the programmer must explicitly request parallelism. If the API says nothing about parallel (or asynchronous) execution, then those that don't occur.

    If Iterable.forEach runs sequentially, and the underlying class specified an order, the execution will take place in this order.

  • Reg: Error in parallel Hint-

    Hi Experts,

    I have a concern about the use of the parallel hint with DOP = 'AUTO '.

    These errors during the ETL or tasks are performed with / * + PARALLEL (AUTO) * /.

    JOB - 1
    java.sql.SQLException: ORA-12853: insufficient memory for buffers PX: run 1159024K, max necessary K 11666304

    ORA-04031: unable to allocate 65560 bytes of shared memory ('pool', 'unknown object', 'pool', 'Pool of msg PX')


    JOB - 2

    java.sql.SQLException: ORA-12801: error reported in the P256 parallel query server
    ORA-12853: insufficient memory for buffers PX: run 1159024K, max necessary K 11666304
    ORA-04031: unable to allocate 65560 bytes of shared memory ('pool', 'unknown object', 'pool', 'Pool of msg PX')

    I tried google, but could not get a pattern appropriate for that and also correct.

    1-do I need to increase the bound parameter buffer?

    2 - is this 'AUTO' option the cause? And using a DOP = 3, 4, etc. guaranteed to solve this problem?

    (I try this and check but want to know the exact reason, so that it causes no problems in Prod)

    Guidance in this regard.

    -Nordine

    ( on Oracle 11.2.0.3.0 )

    nordine B wrote:

    Before going deep into your words, had a quick question - despite having DOP as 'auto' in the suspicion, why is there an error on the buffers PX?

    I was under the assumption that DOP setting on "automatic", the optimizer will take care of all resources and allocate the CPU threads accordingly. But then why this error is growing?

    First, I already mentioned in my reply what treat buffers "PX": this is the memory that is required for communication between the servers in PX. Parallel execution comes with the need for a communication between the involved process layer and this layer of communication requires memory for exchanging data (and could even cross the interconnection for CARS cross the parallel execution of the instance). If you want to know more about it, you can watch my Webinar: http://allthingsoracle.com/analyzing-and-troubleshooting-oracle-parallel-execution/

    So does not AUTO magic DOP, it is mainly about the following:

    -L' optimizer uses a new method of calculation to arrive at a particular degree of parallelism (DOP). The basics, how is the calculation I have described in my post 'Cost Is Time' mentioned in my previous answer. Since this calculation is based on the estimated costs of the optimizer, it can happen to little all - adapted DOP, or may be a completely inappropriate DOP if the calculation of the underlying costs did not reflect the actual amount of work, or if the calibration i/o returned to the unreasonable values.

    -In addition to this AUTO DOP code still uses other settings / settings / thresholds which can be used to control / limit the calculated value.

    * The PARALLEL_MIN_TIME_THRESHOLD parameter can be used to control which * estimated time * must be exceeded before the parallel execution gets seen by AUTO DOP. Note also that it is based on estimates and therefore underlies the same problems as described above

    * The PARALLEL_DEGREE_LIMIT can be used at the upper limit of the degree of "cap".

    Currently Manager of used consumer resource group data can impose a different ceiling and will be considered in the calculation, too

    -The PARALLEL_SERVERS_TARGET parameter can be used to control the simultaneous execution of running in parallel, resulting in a queue of executions if the threshold is exceeded

    -The calibration of i/o resources provides an important factor which is the main engine for the calculation of the DOP

    -Resource Manager can be used to implement fairly complex scenarios with different queues and the different settings by Consumer Group

    So you can see there are some elements in AUTO DOP that may consider the consumption of resources, especially things of queues and advanced resource manager configurations, but stuff 'Pads PX' does not part of the calculation.

    If you want to learn more about these settings and interaction with the resource manager, follow the links on the page "webinar" above - that it points to several very good articles published on the Oracle 'Data Warehouse' blog, a highly recommended resource if you regularly deal with a running in parallel.

    Randolf

  • Question Basic setting, ask questions about the buffer cache

    Database: Oracle 10g
    Host: Sun Solaris, 16 CPU server



    I look at the behavior of some simple queries that I start the tuning of our data warehouse.

    Using SQL * more and AUTOTRACE, I ran this query two times in a row

    SELECT *.
    OF PROCEDURE_FACT
    WHERE PROC_FACT_ID BETWEEN 100000 AND 200000

    He finds the index on PROC_FACT_ID and conducted an analysis of the range of indexes to access the data in the table by rowid. The first time, that it ran, there are about 600 physical block reads as data in the table were not in the buffer cache. The second time, he had 0 physical block reads, because they were all in the cache. All this was expected behavior.

    So I ran this query twice now,

    SELECT DATA_SOURCE_CD, COUNT (*)
    OF PROCEDURE_FACT
    DATA_SOURCE_CD GROUP

    As expected, he made a full table scan, because there is no index on DATA_SOURCE_CD and then chopped the results to find the different DATA_SOURCE_CD values. The first run had these results

    compatible gets 190496
    physical reads 169696

    The second run had these results

    compatible gets 190496
    physical reads 170248


    NOT what I expected. I would have thought that the second run would find many of the blocks already in the cache of the pads of the first execution, so that the number of physical reads would drop significantly.

    Any help to understand this would be greatly appreciated.

    And is there something that can be done to keep the table PROCEDURE_FACT (the central table of our star schema) "pinned" in the buffer cache?

    Thanks in advance.

    -chris Curzon

    Christopher Curzon wrote:
    Your comment about the buffer cache used for smaller objects that benefit is something that I asked about a good deal. It sounds as if tuning the buffer cache will have little impact on queries that scan of entire tables.

    Chris,

    If you can afford it and you think it is a reasonable approach with regard to the remaining segments that are supposed to benefit the buffer cache, you can always consider your segment of table with 'CACHE' that will change the behavior on the full of a broad sector table scan (Oracle treats small and large segments differently during the execution of table scans complete regarding the cache of) marking stamps, you can override this treatment by using the CACHE. NOCACHE keyword) or move your table of facts to a DUNGEON hen establishing a (ALTER SYSTEM SET DB_KEEP_CACHE_SIZE = ), modify the segments (ALTER TABLE... STORAGE (USER_TABLES KEEP)) accordingly and perform a full table scan to load blocks in the cache of the DUNGEON.

    Note that the disadvantage of the approach of the KEEP pool is that you have less memory available for the default buffer cache (unless you add more memory on your system). When an object to mark as being cached is always is in competition with other objects in the cache buffers by default, so it could still be aged out (the same applies to the pool of DUNGEON, if the segment is too large or too many segments are allocated age blocks out as well).

    So my question: How can I get for a parallel analysis on queries that use a table scan complete such as what I posted in my previous email? It is a question of the provision of the "parallel" indicator, or is it an init.ora parameter I should try?

    You can use a PARALLEL hint in your statement:

    SELECT /*+ PARALLEL(PROCEDURE_FACT) */ DATA_SOURCE_CD, COUNT(*)
    FROM PROCEDURE_FACT
    GROUP BY DATA_SOURCE_CD;
    

    or you could mark an object as PARALLEL in the dictionary:

    ALTER MATERIALIZED VIEW PROCEDURE_FACT PARALLEL;
    

    Note that since you have 16 processors (or 16 cores that resemble Oracle 32? Check the CPU_COUNT setting) the default parallel degree would be usually 2 times 16 = 32, which means that Oracle generates at least 32 parallel slaves for a parallel operation (it could be another set of 32 slaves if the operation for example include a GROUP BY operation) If you do not use the PARALLEL_ADAPTIVE_MULTI_USER parameter (which allows to reduce the parallelism if several parallel operations running concurrently).

    I recommend to choose a lesser degree parallel to your default value of 32 because usually you gain much by such a degree, then you can get the same performance when you use lower a setting like this:

    SELECT /*+ PARALLEL(PROCEDURE_FACT, 4) */ DATA_SOURCE_CD, COUNT(*)
    FROM PROCEDURE_FACT
    GROUP BY DATA_SOURCE_CD;
    

    The same could be applied to the paralleling of the object:

    ALTER MATERIALIZED VIEW PROCEDURE_FACT PARALLEL 4;
    

    Note When defining the object of many operations in PARALLEL will be parallelisee (DML even can be run in parallel, if you enable dml parallel, which has some special restrictions), so I recommend to use it with caution and begin with an explicit indication in those statements where you know that it will be useful to do.

    Also check that your PARALLEL_MAX_SERVERS is high enough when you use parallel operations, which should be the case in your version of Oracle.

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

  • Question about the connection of a customer VPN ASA

    Hi guys,.

    I have a question about Tunneling VPN. I have an ASA 5505 with static PPPoE address external and local 192.168.202.0/24 network, operates as an EasyVPN server. On the other side is an another ASA 5505 without dynamic PPPoE outside interface acting as EasyVPN customer in customer ode. The internal network is 192.168.1.0/24

    It works very well! But now, I created another user who uses EasyVPN client software to connect to the EasyVPN server. This works as well.

    But how am I able to connect customer network 192.168.1.0/24 on the connections of the ASA?

    Please give me a hint.

    "But how am I able to connect customer network 192.168.1.0/24 on the connections of the ASA?

    Yes, if you set the ACL of split tunnel correctly you should be able to connect to the remote client ASA.

    Please follow the method of configuration of Cisco doc split tunnel, at the bottom of the link.

    http://www.Cisco.com/en/us/products/HW/vpndevc/ps2030/products_configuration_example09186a00808a61f4.shtml

    Evaluate the useful ticket.

    Thank you

    Rizwan James

  • Question about DISCHARGE (expr, 1016) function

    Hello

    I have a question about the DUMP function, specifically the DUMP (expr, 1016). What character set is the function of report? The only logical answer seems to me the characters of data. The http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions055.htm#SQLRF00635 docs it says: "by default, the return value contains no character set information. To retrieve the name of character of expr, add 1000 to all the values of previous format. "For example, a return_fmt of 1008 returns the result in octal * and provides the character set name of expr.*.

    I ask this question because a client complains that there a database with database EE8MSWIN1250 (obtained from DATABASE_PROPERTIES) characters and when I asked him to run a SELECT that could empty the contents of a column, he gave me this result:
    select dump(some_col, 1016) from some_table;
    
    Typ=1 Len=8 CharacterSet=AL32UTF8: c5,bd,c5,a0,54,45,53,54
    Now I can't imagine how the data can be stored in the AL32UTF8 character set if the characters of the database are EE8MSWIN1250. This scenario is still possible? I tried in vain to reproduce on my test database.

    I don't know if the column is defined with the characters of database or the national database characterset, but even if it was a NVARCHAR2, the dump function could not return AL32UTF8 since he is not a national character set.

    If anyone has an explanation, I will be very grateful.

    Thanks in advance and best regards,
    Swear

    1. to help with the confusion about the DUMP function: index realizes that the DUMP function can be performed in the remote database. Oracle tries to push as many functions as possible and semantically correct on the remote site. Therefore, it sends the statement of simple table on the remote site after stripping the DB link. In this case, the DUMP function sees the character set of the remote database and creates the resulting string of information. This string of AL32UTF8 to EE8MSWIN1250, as described in the note, but as all the characters in the string of information are pure ASCII, some codes are actually changed.

    Things get more interesting if you start to combine the tables of local and remote databases. For example, the following query is will normally return the character of local database defined for the two columns:

    select dump(xx,1016),dump(yy,1016) from (select x.dummy xx, y.dummy yy from dual x, dual@dblink y);
    

    This is because the first dual@dblink is transported to the local site and the join is performed here with application of DUMP.

    The following query returns the set for two columns of characters in remote database:

    select dump(xx,1016),dump(yy,1016) from (select x.dummy xx, y.dummy yy from dual@dblink x, dual@dblink y);
    

    This is because all the tables are remote and the entire query is sent to the remote database and y.

    The following query returns the remote character set thus:

    select dump(xx,1016),dump(yy,1016) from (select /*+driving_site(y)*/ x.dummy xx, y.dummy yy from dual x, dual@dblink y);
    

    Here, the DRIVING_SITE hint asks the database to perform the join in the database of the table, for example dual@dblink.

    2. to answer your question:

    Your understanding of the way of conversion is generally correct, but conclusions are not quite correct. In the scenario [client EE8ISO8859P2, EE8MSWIN1250 local database, remote database AL32UTF8], Eastern and Central European characters will work correctly, but the other characters to the remote database will not be (for example, French, Greek, Chinese). It is, I think, quite clear and is usually not a major problem, as usually only compatible languages EE8 are interesting for an EE8ISO8859P2 customer. However, in the scenario [customer AL32UTF8, EE8MSWIN1250 local database, remote database AL32UTF8], the problem becomes more visible. Having a taking customer support Unicode, you can recover some data French or Greeks of the remote database but you will fail as all of these characters will be "killed" by the conversion of distance at the local level (link DB conversion).

    EE8ISO8859P2 is also for the same group of languages, such as EE8MSWIN1250, indeed, but it lacks some interesting characters. The most important of them is the symbol of the Euro. Others are "' quotes, long dashes, TM symbol, and a few other less frequently used punctuation. Therefore, always define a database as EE8MSWIN1250, even if you run some clients (Unix) with EE8ISO8859P2. Do not run Windows with EE8ISO8859P2 clients, except for purposes of loading/generation of special file.

    -Sergiusz

  • Where can I ask a handful of general order questions about Firefox OS as a consumer and get the answers? (a forum or something similar)

    I have about seven questions about Firefox OS. I'm potentially interested in opting for a tablet that works instead of Android or iOS. I couldn't find a place to ask questions like that. Thank you!

    https://support.Mozilla.org/en-us/forums/Firefox-OS-English-Forum

    There is another option.

  • About a month ago I posted a question about iMovie and not being able to "share". I solved the problem thanks, so no more emails!

    About a month ago I posted a question about iMovie and not being able to "share". I solved the problem thanks, so no more emails!

    Hi Michael,

    If you want to stop receiving notifications by electronic mail, in the thread, that you have created, then I suggest that you follow the steps below:

    One time connected to the Apple Support communities, visit your mini profile and select manage subscriptions.

    Content

    To manage this content, you are currently subscribed and changing your preferences, select the content.

    Select next to see what content you are currently following.  Note that any thread you are responding you subscribe you automatically to this thread.

    You can select to terminate a subscription to a thread.

    Learn how to manage your subscriptions

    Take care.

  • Where and how do I ask questions about Email?

    The Commission opening thingy is complicated, I have trouble finding my way around it.  I don't know where or how questions about email.  Is there an easier way than trawling through all these icons?  Like a list or something - as you get on all other forums on the internet?

    It would be a good starting point: Mac mini

    Or the appropriate under MAC Os and system software section.

    You might also find this useful: find answers and new questions

  • Many questions about the HP 50 g

    I just ordered a HP 50 g graphic calculator! I have a few questions about this so hang on tight! What is the USB connector on the calculator? Mini-USB, micro USB, or is it a connector owner, "custom". Then, it would be possible to connect a keyboard to the HP 50 g by using the USB Port? Is there a program that would make this possible? (I doubt it would work if you plug it..) I have a Mini-USB to female USB 2.0 connector. So I could just plug the keyboard right, provided that the port on the calculator is a Mini-USB Port. If this is not so that I could use my female to female USB adaptor to connect the keyboard.

    Thanks for your help,

    Zekelegge

    Hi!, zekelegge:

    Welcome to Forum!

    The only printer I use, 50G calculators, 48GII, 39GS and 17BII +, as well as many former models, such as the 48 s/SX/G/G + / GX, 38 G, 39 G, 42, 41 C/CV/CX and 28 C/S, is the infrared printer HP 82240 b. If you can use the emulator HP50G, on the PC, the simulator of the printer, you can download, since... http://www.HPCalc.org/details.php?id=7386

    The printer... HP 82240 B

    The cable series...

    The description... http://www.allenwan.com/hpcalcserialcable/

    The original cable...

  • Question about warranty after exchanges of RAM on Satellite module series

    Hello together,

    I have a question about the warranty. My laptop is 5 months old and now I want to improve it with more RAM. I want to do it myself, and now I'm wondering if the warranty will be getting hurt.
    Thanks in advance for your answers.

    Concerning

    TiG3r

    For new models of laptops the RAM upgrade described in s operating manuals. It is public act and it shows the owner of the notebook how do RAM upgrade only.

    If Toshiba offers something like this he won't have the negative influence of valid warranty.
    Buy a compatible module and RAM upgrade.

    Bye and good luck!

Maybe you are looking for