What is the default optimization(CBO/RBO) method choose in Oracle 9i DB?

What is the default optimization(CBO/RBO) method choose in Oracle 9i DB?
Note : If we set the OPTIMIZER MODE as CHOOSE

1) So you mean to say that, for all the tables if we are maintaining statistics, by default it will go for CBO, else RBO right?Yes, unless you dont specify a hint RULE to your queries. At least one table contains statsitics in a two or more table join select statement, oracle uses CBO and calculates statistics using their no. of blocks and other stuff, some internal calculations.
Also, becarefull, old statistics can lead optimizer to choose very pool plan that impact query performance.
2) If we are using CBO, then what will be the order of execution in the where clause, Is it from top to bottom, or reverse?If its a single table with where clause, then, oracle choose either full table scan, or index range scan depends upon the column mentioned in the where clause and availabl indexes.
If query contains multiple tables, then, oracle has to decide between join methods, such as, nested loop, hash join, sort merge join and etc.
3) And also If we are using RBO, then what will be the order of execution in the where clause, Is it from top to bottom, or reverse?
RBO uses its internal calculation to produce the execution plan, more probably gives preference to indexes if a column has an index which appears in the where cluase.
Jaffar

Similar Messages

  • What are the default userid and password to logon to Oracle Applications

    What are the default userids and passwords to logon to Oracle Applications Manager?

    There r no any default password for Application Manager,
    However userID is applmgr and if I have to create a password for applmgr I would do that as welcome or welcome1 so the applmgr user can change it when he/she log on first time as needed.

  • PUBLIC database account on oracle 10g - what are the default privilages?

    Hi there,
    I was wondering what are the default privileges to PUBLIC database account on oracle 10g R2. Could somebody explain it? Thank you in advance.

    There is not a user PUBLIC. There cannot be a user PUBLIC. Users and roles share the same name space so if there is a role PUBLIC, there can not be a user PUBLIC.
    The catalog table user$ contains both roles and users. The usage is determined by the TYPE# column - 1 = user, 0 = role.
    select user#, name, type# from user$  order by 1
    sys@esdb01:pncl# /
         USER# NAME                               TYPE#
    ========== ============================== ==========
             0 SYS                                     1
             1 PUBLIC                                  0
             2 CONNECT                                 0
             3 RESOURCE                                0
             4 DBA                                     0
             5 SYSTEM                                  1Try it yourself and see.
    SQL> create role foo;
    Role created.
    SQL> create user foo identified by bar;
    create user foo identified by bar
    ERROR at line 1:
    ORA-01920: user name 'FOO' conflicts with another user or role name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • What is the default OS for iBook and iBook G4?

    What is the default OS for iBook and iBook G4?

    You can check the specs of ALL iBook models (G3 + G4) at everymac.com
    http://www.everymac.com/systems/apple/ibook/index-ibook.html
    If your iBook has a processor less than 867MHz it won't be able to run
    Mac OS X 10.5 Leopard, though methods exist to allow it unofficially.
    Old first model colors iBook G3 (not white dualUSB) have other limits.
    A reference app for Apple product specifications, download http://mactracker.ca
    Hopefully you can match your questions with the various databases online.
    Good luck & happy computing!

  • What is the default buffer size if we dont specify in buffer write?

    If we dont specify what is the default buffer size in BufferedWriter. How to increase/decrease the size of it?
    What is the purpose of flush?
    If flush() is not used, only partial content is written to the file. Is it because of the default size of the buffer.

    THis is the bufferedwriter class, it helps to look at them, look at the bold underlined, thats answers your defualt buffer size
    * @(#)BufferedWriter.java     1.26 03/12/19
    * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
    * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    package java.io;
    * Write text to a character-output stream, buffering characters so as to
    * provide for the efficient writing of single characters, arrays, and strings.
    * <p> The buffer size may be specified, or the default size may be accepted.
    * The default is large enough for most purposes.
    * <p> A newLine() method is provided, which uses the platform's own notion of
    * line separator as defined by the system property <tt>line.separator</tt>.
    * Not all platforms use the newline character ('\n') to terminate lines.
    * Calling this method to terminate each output line is therefore preferred to
    * writing a newline character directly.
    * <p> In general, a Writer sends its output immediately to the underlying
    * character or byte stream. Unless prompt output is required, it is advisable
    * to wrap a BufferedWriter around any Writer whose write() operations may be
    * costly, such as FileWriters and OutputStreamWriters. For example,
    * <pre>
    * PrintWriter out
    * = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
    * </pre>
    * will buffer the PrintWriter's output to the file. Without buffering, each
    * invocation of a print() method would cause characters to be converted into
    * bytes that would then be written immediately to the file, which can be very
    * inefficient.
    * @see PrintWriter
    * @see FileWriter
    * @see OutputStreamWriter
    * @version      1.26, 03/12/19
    * @author     Mark Reinhold
    * @since     JDK1.1
    public class BufferedWriter extends Writer {
    private Writer out;
    private char cb[];
    private int nChars, nextChar;
    private static int defaultCharBufferSize = 8192;
    * Line separator string. This is the value of the line.separator
    * property at the moment that the stream was created.
    private String lineSeparator;
    * Create a buffered character-output stream that uses a default-sized
    * output buffer.
    * @param out A Writer
    *public BufferedWriter(Writer out) {*
    *     this(out, defaultCharBufferSize);*
    * Create a new buffered character-output stream that uses an output
    * buffer of the given size.
    * @param out A Writer
    * @param sz Output-buffer size, a positive integer
    * @exception IllegalArgumentException If sz is <= 0
    public BufferedWriter(Writer out, int sz) {
         super(out);
         if (sz <= 0)
         throw new IllegalArgumentException("Buffer size <= 0");
         this.out = out;
         cb = new char[sz];
         nChars = sz;
         nextChar = 0;
         lineSeparator =     (String) java.security.AccessController.doPrivileged(
    new sun.security.action.GetPropertyAction("line.separator"));
    /** Check to make sure that the stream has not been closed */
    private void ensureOpen() throws IOException {
         if (out == null)
         throw new IOException("Stream closed");
    * Flush the output buffer to the underlying character stream, without
    * flushing the stream itself. This method is non-private only so that it
    * may be invoked by PrintStream.
    void flushBuffer() throws IOException {
         synchronized (lock) {
         ensureOpen();
         if (nextChar == 0)
              return;
         out.write(cb, 0, nextChar);
         nextChar = 0;
    * Write a single character.
    * @exception IOException If an I/O error occurs
    public void write(int c) throws IOException {
         synchronized (lock) {
         ensureOpen();
         if (nextChar >= nChars)
              flushBuffer();
         cb[nextChar++] = (char) c;
    * Our own little min method, to avoid loading java.lang.Math if we've run
    * out of file descriptors and we're trying to print a stack trace.
    private int min(int a, int b) {
         if (a < b) return a;
         return b;
    * Write a portion of an array of characters.
    * <p> Ordinarily this method stores characters from the given array into
    * this stream's buffer, flushing the buffer to the underlying stream as
    * needed. If the requested length is at least as large as the buffer,
    * however, then this method will flush the buffer and write the characters
    * directly to the underlying stream. Thus redundant
    * <code>BufferedWriter</code>s will not copy data unnecessarily.
    * @param cbuf A character array
    * @param off Offset from which to start reading characters
    * @param len Number of characters to write
    * @exception IOException If an I/O error occurs
    public void write(char cbuf[], int off, int len) throws IOException {
         synchronized (lock) {
         ensureOpen();
    if ((off < 0) || (off > cbuf.length) || (len < 0) ||
    ((off + len) > cbuf.length) || ((off + len) < 0)) {
    throw new IndexOutOfBoundsException();
    } else if (len == 0) {
    return;
         if (len >= nChars) {
              /* If the request length exceeds the size of the output buffer,
              flush the buffer and then write the data directly. In this
              way buffered streams will cascade harmlessly. */
              flushBuffer();
              out.write(cbuf, off, len);
              return;
         int b = off, t = off + len;
         while (b < t) {
              int d = min(nChars - nextChar, t - b);
              System.arraycopy(cbuf, b, cb, nextChar, d);
              b += d;
              nextChar += d;
              if (nextChar >= nChars)
              flushBuffer();
    * Write a portion of a String.
    * <p> If the value of the <tt>len</tt> parameter is negative then no
    * characters are written. This is contrary to the specification of this
    * method in the {@linkplain java.io.Writer#write(java.lang.String,int,int)
    * superclass}, which requires that an {@link IndexOutOfBoundsException} be
    * thrown.
    * @param s String to be written
    * @param off Offset from which to start reading characters
    * @param len Number of characters to be written
    * @exception IOException If an I/O error occurs
    public void write(String s, int off, int len) throws IOException {
         synchronized (lock) {
         ensureOpen();
         int b = off, t = off + len;
         while (b < t) {
              int d = min(nChars - nextChar, t - b);
              s.getChars(b, b + d, cb, nextChar);
              b += d;
              nextChar += d;
              if (nextChar >= nChars)
              flushBuffer();
    * Write a line separator. The line separator string is defined by the
    * system property <tt>line.separator</tt>, and is not necessarily a single
    * newline ('\n') character.
    * @exception IOException If an I/O error occurs
    public void newLine() throws IOException {
         write(lineSeparator);
    * Flush the stream.
    * @exception IOException If an I/O error occurs
    public void flush() throws IOException {
         synchronized (lock) {
         flushBuffer();
         out.flush();
    * Close the stream.
    * @exception IOException If an I/O error occurs
    public void close() throws IOException {
         synchronized (lock) {
         if (out == null)
              return;
         flushBuffer();
         out.close();
         out = null;
         cb = null;
    What Flush(); does
    Example, you have a file called c, your writer is b and buffereredwriter is a. so your programs calls a, a talks to b, and b talks to c. when you call the Flush method, the information is sent to the outfile which is c immediately before you even close the file, because when you write to the file, it does not write directly, it writes to a buffer, so flush actually causes the buffer to write to file. Also if you call the close method on that file without the flush, the buffer will still get flushed.
    consider BufferedWriter c = new BufferedWriter(new PrintWriter("c:\\c"));
    you wrap printwriter into a buffered writer, now if you close this "connection" to the file, the buffer will get flushed, noting that all the data is sitting in the buffered and not yet in the file, and this happens if something dont break...

  • What is the default password for SDM in SP15

    Initial password for SDM
    Posted: Mar 22, 2006 2:40 PM    Reply 
    I have installed the SP15 SneakPreview. When i am trying to deploy a webdynpro application into portal from NWDS2.0.15, it is asking for SDM password.
    Can anyone please tell me what is the default password, because i dont remember providing any SDM password during the installation.
    I tried giving the Portal passwword, but it does not seem to work
    Thanks
    Sharath

    the default password is <b>admin</b>
    Here's the document that talks about it:
    <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/419b479b-0801-0010-f8a1-c26208b4b209">Post-Installation Steps</a>

  • What is the default key command for the COMMAND key?I seem to have changed it somehow along the way and now when I push the command key it hides all windows or shows desk top I need to correct this as soon as possible-.any ideas?

    What is the default key command for THE COMMAND (apple) key? I seem to have changed it somehow along the way and now when I push the command key (only) it hides all open windows and shows the desk top and when I push it again it shows all windows again...I need to return to default A.S.A.P. just this one key...Any ideas? Thanks in advance...

    Go to
     > System Preferences > Keyboard
    Click on the 'Keyboard' tab and hit the 'modifier keys...' button. You can see and change the defaults there.
    As I'm not sure if all the labels are the same in Lion, he's a screenshot from Snow Leopard. It should be similar enough:

  • What is the default user name and password for oracle databse 10g

    Hi: gurus, I just recently installed the oracle 10g personal edition and trying to log on to the enterprise manger, but can't figure it out the user name and password, can some one help me and tell me what is the default user name and password to logon to the oracle instance. BTW during the installation I choose two passowrds one for the schema and one for the global database orcl. I wonder will I be using one of these passwords. Still I don't have any clue for the "User Name".
    thanks

    system/manager and sys/change_on_install are still valid default passwords when database is manually created. If DBCA was used, passwords will be those defined at creation time inside DBCA.
    In case passwords have been forgotten, those can be reset:
    From an OS commnad prompt, set ORACLE_SID, ORACLE_HOME and PATH environment variables, just to make sure you are pointing to the right Oracle Home installation, and issue:
    OS> sqlplus / as sysdba
    SQL> alter user sys identified by yourNewSysPassword;
    SQL> alter user system identified by yourNewSystemPassword;
    And you're done with it.
    HR Madrid

  • What are the parameters in Call transaction method?

    Hi ABAPER'S,
        Please give me what are the parameters in call transaction method?
    Thanks,
    Prakash

    Processing batch input data with CALL TRANSACTION USING is the faster of the two recommended data transfer methods. In this method, legacy data is processed inline in your data transfer program.
    Syntax:
    CALL TRANSACTION <tcode>
    USING <bdc_tab>
    MODE  <mode>
    UPDATE  <update>
    <tcode> : Transaction code
    <bdc_tab> : Internal table of structure BDCDATA.
    <mode> : Display mode:
    A
    Display all
    E
    Display errors only
    N
    No display
    <update> : Update mode:
    S
    Synchronous
    A
    Asynchronous
    L
    Local update
    A program that uses CALL TRANSACTION USING to process legacy data should execute the following steps:
    Prepare a BDCDATA structure for the transaction that you wish to run.
    With a CALL TRANSACTION USING statement, call the transaction and prepare the BDCDATA structure. For example:
    CALL TRANSACTION 'TFCA' USING BDCDATA
    MODE 'A'
    UPDATE 'S'.
    MESSAGES INTO MESSTAB.
    IF SY-SUBRC <> 0.
    <Error_handling>.
    ENDIF.
    The MODE Parameter
    You can use the MODE parameter to specify whether data transfer processing should be displayed as it happens. You can choose between three modes:
    A Display all. All screens and the data that goes in them appear when you run your program.
    N No display. All screens are processed invisibly, regardless of whether there are errors or not. Control returns to your program as soon as transaction processing is finished.
    E Display errors only. The transaction goes into display mode as soon as an error in one of the screens is detected. You can then correct the error.
    The display modes are the same as those that are available for processing batch input sessions.
    The UPDATE Parameter
    You use the UPDATE parameter to specify how updates produced by a transaction should be processed. You can select between these modes:
    A Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. It simply passes the updates to the SAP update service. Asynchronous processing therefore usually results in faster execution of your data transfer program.
    Asynchronous processing is NOT recommended for processing any larger amount of data. This is because the called transaction receives no completion message from the update module in asynchronous updating. The calling data transfer program, in turn, cannot determine whether a called transaction ended with a successful update of the database or not.
    If you use asynchronous updating, then you will need to use the update management facility (Transaction SM12) to check whether updates have been terminated abnormally during session processing. Error analysis and recovery is less convenient than with synchronous updating.
    S Synchronous updating. In this mode, the called transaction waits for any updates that it produces to be completed. Execution is slower than with asynchronous updating because called transactions wait for updating to be completed. However, the called transaction is able to return any update error message that occurs to your program. It is much easier for you to analyze and recover from errors.
    L Local updating. If you update data locally, the update of the database will not be processed in a separate process, but in the process of the calling program. (See the ABAP keyword documentation on SET UPDATE TASK LOCAL for more information.)
    The MESSAGES Parameter
    The MESSAGES specification indicates that all system messages issued during a CALL TRANSACTION USING are written into the internal table <MESSTAB> . The internal table must have the structure BDCMSGCOLL .
    You can record the messages issued by Transaction TFCA in table MESSTAB with the following coding:
    (This example uses a flight connection that does not exist to trigger an error in the transaction.)
    DATA: BEGIN OF BDCDATA OCCURS 100.
    INCLUDE STRUCTURE BDCDATA.
    DATA: END OF BDCDATA.
    DATA: BEGIN OF MESSTAB OCCURS 10.
    INCLUDE STRUCTURE BDCMSGCOLL.
    DATA: END OF MESSTAB.
    BDCDATA-PROGRAM = 'SAPMTFCA'.
    BDCDATA-DYNPRO = '0100'.
    BDCDATA-DYNBEGIN = 'X'.
    APPEND BDCDATA.
    CLEAR BDCDATA.
    BDCDATA-FNAM = 'SFLIGHT-CARRID'.
    BDCDATA-FVAL = 'XX'.
    APPEND BDCDATA.
    BDCDATA-FNAM = 'SFLIGHT-CONNID'.
    BDCDATA-FVAL = '0400'.
    APPEND BDCDATA.
    CALL TRANSACTION 'TFCA' USING BDCDATA MODE 'N'
    MESSAGES INTO MESSTAB.
    LOOP AT MESSTAB.
    WRITE: / MESSTAB-TCODE,
    MESSTAB-DYNAME,
    MESSTAB-DYNUMB,
    MESSTAB-MSGTYP,
    MESSTAB-MSGSPRA,
    MESSTAB-MSGID,
    MESSTAB-MSGNR.
    ENDLOOP.
    The following figures show the return codes from CALL TRANSACTION USING and the system fields that contain message information from the called transaction. As the return code chart shows, return codes above 1000 are reserved for data transfer. If you use the MESSAGES INTO <table> option, then you do not need to query the system fields shown below; their contents are automatically written into the message table. You can loop over the message table to write out any messages that were entered into it.
    Return codes:
    Value
    Explanation
    0
    Successful
    <=1000
    Error in dialog program
    > 1000
    Batch input error
    System fields:
    Name:
    Explanation:
    SY-MSGID
    Message-ID
    SY-MSGTY
    Message type (E,I,W,S,A,X)
    SY-MSGNO
    Message number
    SY-MSGV1
    Message variable 1
    SY-MSGV2
    Message variable 2
    SY-MSGV3
    Message variable 3
    SY-MSGV4
    Message variable 4
    Error Analysis and Restart Capability
    Unlike batch input methods using sessions, CALL TRANSACTION USING processing does not provide any special handling for incorrect transactions. There is no restart capability for transactions that contain errors or produce update failures.
    You can handle incorrect transactions by using update mode S (synchronous updating) and checking the return code from CALL TRANSACTION USING. If the return code is anything other than 0, then you should do the following:
    write out or save the message table
    use the BDCDATA table that you generated for the CALL TRANSACTION USING to generate a batch input session for the faulty transaction. You can then analyze the faulty transaction and correct the error using the tools provided in the batch input management facility.

  • What are the default parameters for PER_EVENTS api

    Dear Experts,
    Can you tell us what are the default parameters for PER_EVENTS API.Here below I have pasted the API.
    procedure create_event
    (p_validate in BOOLEAN default FALSE
    ,p_date_start in DATE
    ,p_type in VARCHAR2
    ,p_business_group_id in NUMBER default NULL -- HR/TCA merge
    ,p_location_id in NUMBER default NULL
    ,p_internal_contact_person_id in NUMBER default NULL
    ,p_organization_run_by_id in NUMBER default NULL
    ,p_assignment_id in NUMBER default NULL
    ,p_contact_telephone_number in VARCHAR2 default NULL
    ,p_date_end in DATE default NULL
    ,p_emp_or_apl in VARCHAR2 default NULL
    ,p_event_or_interview in VARCHAR2 default NULL
    ,p_external_contact in VARCHAR2 default NULL
    ,p_time_end in VARCHAR2 default NULL
    ,p_time_start in VARCHAR2 default NULL
    ,p_attribute_category in VARCHAR2 default NULL
    ,p_attribute1 in VARCHAR2 default NULL
    ,p_attribute2 in VARCHAR2 default NULL
    ,p_attribute3 in VARCHAR2 default NULL
    ,p_attribute4 in VARCHAR2 default NULL
    ,p_attribute5 in VARCHAR2 default NULL
    ,p_attribute6 in VARCHAR2 default NULL
    ,p_attribute7 in VARCHAR2 default NULL
    ,p_attribute8 in VARCHAR2 default NULL
    ,p_attribute9 in VARCHAR2 default NULL
    ,p_attribute10 in VARCHAR2 default NULL
    ,p_attribute11 in VARCHAR2 default NULL
    ,p_attribute12 in VARCHAR2 default NULL
    ,p_attribute13 in VARCHAR2 default NULL
    ,p_attribute14 in VARCHAR2 default NULL
    ,p_attribute15 in VARCHAR2 default NULL
    ,p_attribute16 in VARCHAR2 default NULL
    ,p_attribute17 in VARCHAR2 default NULL
    ,p_attribute18 in VARCHAR2 default NULL
    ,p_attribute19 in VARCHAR2 default NULL
    ,p_attribute20 in VARCHAR2 default NULL
    ,p_party_id in NUMBER default NULL -- HR/TCA merge
    ,p_event_id out nocopy NUMBER
    ,p_object_version_number out nocopy NUMBER
    );

    From the menu bar, select
     ▹ System Preferences... ▹ Network
    Click the Assist me button and select Assistant. Follow the prompts.

  • What is the advantages of polymorphism over method overriding?

    what is the advantages of polymorphism over method overriding,that means if we are able to to create object at different instances at diff time for that sub class reff variable than what is the need of careating object of super class data type(i.e why always it is necessary to have upcasting for polymorphism?but if we can achive the same output without upcasting).....please tell me..lets have complete discuss..

    Seriously though....
    WebLogic (for which I have deployed many apps on) as
    well as Websphere are both high end Java application
    servers, meaning J2EE servers (in short). They allow
    one to deploy Enterprise Archive(EAR), a Web
    Archive(WAR), or an EJB Archive (in a JR file).
    These two servers allow one to deploy EJBs, use
    e JNDI, JMS, connectors, and other J2EE technologies
    - Tomcat does not. well, EJBs - no
    JNDI, yes - http://tomcat.apache.org/tomcat-4.1-doc/jndi-resources-howto.html
    JMS - yes (with an implementation, such as ActiveMQ: http://activemq.codehaus.org/Tomcat)
    Not sure what you mean by "connectors".
    Tomcat provides quite a bit of functionality (but yes, no EJBs)

  • What is the default for the "Display PDF in Browser" setting?

    What is the default for the "Display PDF in Browser" setting in Adobe Reader 9 and X?
    Also, are any statistics available on what proportion of users have this setting set to on?

    For all three the default is "checked".
    Be well...

  • What is the default port on visual administrator with 2004s

    Hi
    I just finished the install of Netweaver 2004s and oracle is up and running and the j2ee engine as well.
    I want to lauch the visual administrator but unable to connect
    its saying cannont connect to ip and port....
    What is the default port for the first time login
    Also,
    went threw my web browser was able to access the portal page of the Netweaver... I tried the sap* user name but doesn't work
    JF

    Hi Jean
    The default port for VA is 5XX04 (where XX is the instance number)
    the user for the portal is Administrator (not sap*) and the password is the one you used on the installation.
    Hope this help
    Juan
    Please reward with points if helpful

  • What is the default value of EO_INBOUND_PARALLEL

    Hi Gurus,
    We are on PI 7.0 EHP 1. We have not set the parameter EO_INBOUND_PARALLEL. Does this mean there is only one inbound queue registered by default if the default value is 1? However, I seem to recall that when we had issues with messages stuck in queues, I have seen more than one XBTI8 queues.
    Please help me with my doubt. thanks!

    Hi,
    Thanks for the replies.
    How about the parameter EO_INBOUND_TO_OUTBOUND and EO_OUTBOUND_PARALLEL?
    I assume by default EO_INBOUND_TO_OUTBOUND is set to 1?
    Then what is the default value for EO_OUTBOUND_PARALLEL? Plus to set this parameter you need to specify the receiver, in this case, is it true that EO_OUTBOUND_PARALLEL is not set at all so only one outbound queue? this does not make sense. Or maybe by default EO_INBOUND_TO_OUTBOUND is set to 0 so EO_OUTBOUND_PARALLEL is not used at all?
    Thanks.

  • What are the default settings for ethernet, shows connected but no internet

    What are the default settings for ethernet ? shows connected but no internet via ethernet.
    It used to work fine but I think i have changed something getting my airport to work.
    Now i only get internet via wifi.
    Thanks in advance

    From the menu bar, select
     ▹ System Preferences... ▹ Network
    Click the Assist me button and select Assistant. Follow the prompts.

Maybe you are looking for