Basic Oracle Concepts

Hi everyone,
I am confused about the following basic concepts in Oracle : Database, Schema, User, Tablespace.
What I think so far :
-> A Database is an Oracle server service a SQLPlus session can connect onto. Hence, the Database (service) name must be provided in the connection string in the first SQLPlus dialog window.
-> A Schema is linked to one and only one user. A Schema contains "database objects" such as tables and indexes. Schemas are not necessary in a Database.
-> A User is linked to one or zero schema. He only has access to its own schema.
-> A tablespace is included in a schema and can be considered as a logic organisation unit. It contains "database objects" such as tables and indexes.
On which points am I right ? Please let me know why. I do not want to continue working on Oracle "databases" without knowing exactly the meaning of these basic concepts.

Technically,
A database is a collection of data files.
An instance is a collection of processes and memory structures that you connect to. An instance accesses a database. Normally, there is a 1:1 relationship between an instance and a database but with RAC (real application clusters), you can have instances on multiple different servers accessing a single database on a shared SAN.
A schema is a collection of objects owned by a user. A user is an account that can log in to a database (via an instance that has mounted the database). You can get into a bit of a semantic argument about whether a normal database user that doesn't own any objects has a schema. Many tools will suppress empty schemas from their GUIs to make navigating easier for the case where you have a database that has hundreds of users of which only a handful own objects. I'd generally prefer to say that the schemas exist but are empty. If you get into enterprise users, however, you'll have users that aren't owned by the database who have a shared schema. But that's a pretty sophisticated distinction to make.
A tablespace is a logical collection of data files. A database contains many tablespaces (user-defined tablespaces in addition to tablespaces like UNDO, TEMP, SYSTEM, and SYSAUX that are created by default). A database also contains many schemas and many users (user-defined in addition to users and schemas like SYS and SYSTEM that are created automatically).
All objects exist in 1 schema. An object can exist in multiple tablespaces if it is partitioned but each object would normally reside in a single tablespace. A single schema can own objects in multiple tablespaces. And a tablespace can have objects owned by multiple schemas.
Justin

Similar Messages

  • Query on Oracle Concepts: Advantages of ASSM

    Hi,
    A query on Oracle Concepts, specifically on Advantages of ASSM.
    While I am able to understand 'Simplified administration' & 'Increased concurrency', can anyone mention this in simple terms:
    • Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment.I guess I know whats Oracle RAC but what it meant by 'Dynamic affinity of space to instances'?
    Regards,
    Ankit Rathi

    Hi Aman,
    I was going through Oracle® Database Concepts 11g Release 2, Chapter 12 Logical Storage Structures (link below):
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#i19599
    *Automatic Segment Space Management*
    The ASSM method uses bitmaps to manage space. Bitmaps provide the following advantages:
    •Simplified administration
    ASSM avoids the need to manually determine correct settings for many storage parameters. Only one crucial SQL parameter controls space allocation: PCTFREE. This parameter specifies the percentage of space to be reserved in a block for future updates (see "Percentage of Free Space in Data Blocks").
    •Increased concurrency
    Multiple transactions can search separate lists of free data blocks, thereby reducing contention and waits. For many standard workloads, application performance with ASSM is better than the performance of a well-tuned application that uses MSSM.
    •Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment
    ASSM is more efficient and is the default for permanent, locally managed tablespaces.Regards,
    Ankit Rathi

  • Oracle Concepts!!

    (ORACLE CONCEPT DOCS.)
    Log Writer (LGWR)..writes to files on the redo log files on the disk
    Database Writer (DBWn)...writes to files on Data file on the disk
    Log Writer Process (LGWR)
    The log writer process (LGWR) is responsible for redo log buffer
    management—writing the redo log buffer to a redo log file on disk.
    The redo log buffer is a circular buffer. When LGWR writes redo entries from the
    redo log buffer to a redo log file, server processes can then copy new entries over
    the entries in the redo log buffer that have beenwritten to disk.
    When a user issues a COMMIT statement, LGWR puts a commit record in the redo
    log buffer and writes it to disk immediately, along with the transaction’s redo
    entries. The corresponding changes to data blocks are deferred until it is more
    efficient to write them. This is called a fast commit mechanism. The atomic write of
    the redo entry containing the transaction’s commit record is the single event that
    determines the transaction has committed. Oracle returns a success code to the
    committing transaction, although the data buffers have not yet been written to disk.
    When a user commits a transaction, the transaction is assigned a system change
    number (SCN), which Oracle records along with the transaction’s redo entries in
    the redo log. SCNs are recorded in the redo log so that recovery operations can be
    synchronized in Oracle9i Real Application Clusters and distributed databases.
    so what happens in the mean time if somebody pulls plug of electricity..Data has been written to online redo files not on DATA files...so after a restart which oracle process makes/copies entire new values of commited transactions to DATA files from online redo files?

    SMON
    SMON process performs instance recovery during startup by using the online redo log files.
    When a user issues a COMMIT statement, LGWR puts a
    commit record in the redo
    log buffer and writes it to disk immediately, along > with the transaction’s redo
    entries. I think the above statement is false.evethough commit is done,it will not write immediately to data files.It will make the transactions much slower.change will take effect on datafiles only once checkpoint is happening.
    Can anyone verify this?
    ~

  • Basic Java Concepts

    I'm a Java novice, trying to learn it along with Jdeveloper side by side. My learning of the Java fundamental concepts led to the below understanding, please see if my understanding is not correct in any way.
    The fundamental concept with Java is a CLASS, whose feature are its state and behaviour. The state of the class is stored in the definition of the class itself via ATTRIBUTES or in lay man's language VARIABLES. These attributes can be static, public, private or protectd.
    The behaviour of a class is stored via METHODS within the definition of a class. METHOD is nothing but a block of code performaing a certain action.
    A good example of a CLASS's state a behaviour can be a stock. A stocks state is available via its ticker symbol, price of the stock, and the date i.e. on a given date, a given stock has a particular price. So there are 3 attributes.
    Now METHOD in the context of the above example is a means to capture the ever changing state of the above 3 attributes.
    In short attributes or fields ( defined via declaration of variables inside the class) capture the state of an object, where as its interaction with the world external to the object captured by METHOD.
    These 3 attributes are common to thousands of stock's in the outside market, so a common class called STOCK can be created to capture the state and behaviour of thousands of stocks. The same class can be called at the same time to capture the behaviour of N number of stocks. When a class is called as explained, each such call is called an INSTANCE of the CLASS. An OBJECT is an instance of SUCH a class.
    Similar to CLASS is INTERFACE. A given class can only call the attributes and methods from one another class. If a class needs to inherit from more than one another class then it is accomplished via an INTERFACE. An Interface contains only the spec of the methods from other classes and not the entire piece of code for he method itself. The methods that are declared in the interface are implemented in the classes to which they belong to.
    A PACKAGE in turn is a collected of CLASSES and INTERFACES. A PACKAGE helps in keeping the code oraganized and grouped by the functionaliy it delivers.
    A Class can in turn be either a SUPERCLASS or a SUBCLASS. In our given example CLASS, there are some stocks which offer OPTIONS and some which do not. In order to cover that behaviours we will like to create sub class called STOCSKWITHOPTIONS, which will then refer to STOCK class to inherit the attributes and methods from that class. In this case STOCK is the SUPERCLASS, and STOCKOPTIONS is the SUBCLASS.
    Thanks in advance

    Nagarjuna,
    there is an excellent tutorial series from Sun for basic and advanced Java features. It contains a lot of examples and explains every concept. You even download the tutorials.
    See http://java.sun.com/javase/reference/tutorials.jsp
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • 404 error with wwv_flow.accept on basic Oracle XE form

    Hi all,
    after some extensive research and head-scratching, I'm stumped with the following situation, and wondered if anyone here had any insights...
    I have a colleague who is expermimenting with Apex using Oracle XE 10G (For various tedious reasons, we will not be able to use 11G if this gets beyond an experimental stage, so please don't suggest upgrading - I'd love to if I could, but thats how it is...)
    He has constructed a very basic little database of a couple of tables, then created some simple forms to play with the data. On one form (a multiple field, multiple row screen used to update and review data in a single table), he gets intermittent 404 errors referring to wwv_flow.accept
    I configured the epg to display debug info, and got a consistent stream of ORA-06550 / PLS-00103 errors all referring to finding FLOWS_020100 where it was expecting an operator, etc. (I've pasted the full debug output below minus the field data)
    Installing 10G XE onto another colleague's PC did not reproduce the problem.
    Removing and re-installing 10G XE onto the original PC still produced the same errors.
    (And fwiw, I installed 11G XE on my PC, and that works just fine)
    Does anyone have any ideas please?
    many thanks,
    Simon
    Thu, 29 Mar 2012 15:51:21 GMT
    ORA-06550: line 5, column 262:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 390:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 518:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 646:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 774:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 902:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 1030:
    PLS-00103: Encountered the symbol "FLOWS_020100" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between
    ORA-06550: line 5, column 1158:
    PLS-00103: Encoun
    DAD name: apex
    PROCEDURE : wwv_flow.accept
    URL : http://XDB HTTP Server:8080/apex/wwv_flow.accept
    PARAMETERS :
    ===========
    P_FLOW_ID:
    100
    P_FLOW_STEP_ID:
    6
    P_INSTANCE:
    3408023606199096
    P_PAGE_SUBMISSION_ID:
    8087
    P_REQUEST:
    SUBMIT
    ENVIRONMENT:
    ============
    PLSQL_GATEWAY=WebDb
    GATEWAY_IVERSION=2
    SERVER_SOFTWARE=Oracle Embedded PL/SQL Gateway/10.2.0.1.0
    GATEWAY_INTERFACE=CGI/1.1
    SERVER_PORT=8080
    SERVER_NAME=XDB HTTP Server
    REQUEST_METHOD=POST
    QUERY_STRING=
    PATH_INFO=/wwv_flow.accept
    SCRIPT_NAME=/apex
    REMOTE_HOST=
    REMOTE_ADDR=127.0.0.1
    SERVER_PROTOCOL=HTTP/1.1
    REQUEST_PROTOCOL=tcp
    REMOTE_USER=ANONYMOUS
    ORACLE_SSO_USER=
    OSSO_IDLE_TIMEOUT_EXCEEDED=
    OSSO_USER_GUID=
    HTTP_CONTENT_LENGTH=32393
    HTTP_CONTENT_TYPE=application/x-www-form-urlencoded
    HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    HTTP_HOST=127.0.0.1:8080
    HTTP_ACCEPT=image/gif
    HTTP_ACCEPT_ENCODING=gzip
    HTTP_ACCEPT_LANGUAGE=en-ie
    HTTP_ACCEPT_CHARSET=
    HTTP_COOKIE=WWV_CUSTOM-F_715517672407298_100=B599E605240FC50A968356801BEB7337; WWV_FLOW_USER2=B599E605240FC50A968356801BEB7337; ORA_WWV_REMEMBER_UN=POWER_R:POWER_R; LOGIN_USERNAME_COOKIE=power_r; ISCOOKIE=true
    HTTP_IF_MODIFIED_SINCE=
    HTTP_REFERER=http://127.0.0.1:8080/apex/f?p=100:6:3408023606199096:::::&success_msg=1 row(s) updated, 0 row(s) inserted./3F535DE29AC2AD2F95C620169B16EB79/
    HTTP_SOAPACTION=
    HTTP_ORACLE_ECID=
    HTTP_ORACLE_CACHE_VERSION=
    HTTP_AUTHORIZATION=
    WEB_AUTHENT_PREFIX=
    DAD_NAME=apex
    DOC_ACCESS_PATH=docs
    DOCUMENT_TABLE=wwv_flow_file_objects$
    PATH_ALIAS=
    REQUEST_CHARSET=AL32UTF8
    REQUEST_IANA_CHARSET=UTF-8
    SCRIPT_PREFIX=
    HTTP_IF_MATCH=
    HTTP_CACHE_CONTROL=
    SOAP_BODY=
    HTTP_X_ORACLE_DEVICE_CLASS=
    HTTP_X_ORACLE_DEVICE_ORIENTATION=
    HTTP_X_ORACLE_DEVICE_MAXDOCSIZE=
    HTTP_X_ORACLE_DEVICE=
    HTTP_X_ORACLE_ORIG_ACCEPT=
    HTTP_X_ORACLE_ORIG_USER_AGENT=
    HTTP_X_ORACLE_USER_LOCALE=
    HTTP_X_ORACLE_USER_NAME=
    HTTP_X_ORACLE_USER_DISPLAYNAME=
    HTTP_X_ORACLE_USER_USERKIND=
    HTTP_X_ORACLE_USER_AUTHKIND=
    HTTP_X_ORACLE_USER_DEVICEID=
    HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE1=
    HTTP_X_ORACLE_USER_LOCATION_ADDRESSLINE2=
    HTTP_X_ORACLE_USER_LOCATION_ADDRESSLASTLINE=
    HTTP_X_ORACLE_USER_LOCATION_BLOCK=
    HTTP_X_ORACLE_USER_LOCATION_CITY=
    HTTP_X_ORACLE_USER_LOCATION_COMPANYNAME=
    HTTP_X_ORACLE_USER_LOCATION_COUNTY=
    HTTP_X_ORACLE_USER_LOCATION_STATE=
    HTTP_X_ORACLE_USER_LOCATION_POSTALCODE=
    HTTP_X_ORACLE_USER_LOCATION_POSTALCODEEXT=
    HTTP_X_ORACLE_USER_LOCATION_COUNTRY=
    HTTP_X_ORACLE_USER_LOCATION_TYPE=
    HTTP_X_ORACLE_USER_LOCATION_X=
    HTTP_X_ORACLE_USER_LOCATION_Y=
    HTTP_X_ORACLE_SERVICE_HOME_URL=
    HTTP_X_ORACLE_SERVICE_PARENT_URL=
    HTTP_X_ORACLE_HOME_URL=
    HTTP_X_ORACLE_MODULE_CALLBACK_URL=
    HTTP_X_ORACLE_MODULE_CALLBACK_LABEL=
    HTTP_X_ORACLE_CACHE_USER=
    HTTP_X_ORACLE_CACHE_SUBID=
    HTTP_X_ORACLE_CACHE_AUTH=
    HTTP_X_ORACLE_CACHE_DEVICE=
    HTTP_X_ORACLE_CACHE_LANG=
    HTTP_X_ORACLE_CACHE_ENCRYPT=
    HTTP_X_ORACLE_ASSERT_USER=

    No, its a very sensible question... :)
    The difficulty I face is that it is required to test this on Oracle 10G XE, so upgrading Apex is out due to it being bundled in.
    Any actual deployment would be into an Oracle 10 environment initially, which is why it was desired to use 10G XE as the test before going about configuring anything "for real". I guess I might have to look at actually deploying it into a full test environment - especially as the error only happens on one PC.
    It would be nice to know why it does it though, just to generate a bit more confidence in the user base!

  • Basic HTML concepts and how they relate to eachother

    I am a grad student working on a project to visualize how the HTML markup is translated into a webpage in a browser. I am not a programmer, and thus am confused by how all the following concepts relate to one another. The goal lis to list them in a logical order and describe how one concept leads to the next in a sequential manner.
    I’d like to create a hierarchal list of all these terms and their definitions as a start. Here’s what I have so far.
    Tried to start with the most basic, and work my way up Any help would be appreciated. Any errors?
    SPECIFICATIONS
    WC3 / WHTWG Specification
    Defines the semantics, structure, syntax, and rendering of HTML code
    elements in HTML5 (tags)
    any element in the HTML namespace (as per the doctype declaration) - refers to all tags and their attributes - these tags are used to describe the meaning of the content they contain
        content model types     (tags can fit in one ore more of these categories of model types) 
            metadata - content that sets up the presentation or behavior of the rest of the content
            flow - elements that would be included in the normal flow of the document (fits in the HTML body tag)
            sectioning - defines the scope of heading and footers - create new sections in document
            heading - defines the header of a section, which can either be explicitly marked up with sectioning elements or implied by the heading content itself
            phrasing (similar to inline in HTML 4) - the text of the document, as well as elements used to mark up the text within paragraph level structures
            embedded - any content that imports other resources into the document
            interactive - any content that is specifically interacted for user interaction
    Outline Algorithm  (definition)
        Definition in the HTML5 spec of the rules that user agents should use when parsing code in order creating an outline of section content elements in an HTML     document
                    he outline (based on their ranking)
    AUTHOR
    HMTL5 Document - the document contenting HTML elements and authored content
    Document Semantics - the meaning associated with each HTML element Tag
        the collection of tags with meaning form the semantic structure of the HTML document
    Document Structure (combination of ordered semantic elements) - the order and nesting of tags, and the associations associated with the levels of nesting (ranking) create the document structure
        understanding the W3C outline Algorithm helps the author decide how and when to chose which elements to properly structure content
            understanding the process that HTML5 uses to outline documents will help in this decision
    USER AGENT (BROWSER)
    User Agent (browser)-
        the browser (application that user operates to interact with HTML documents
        parsing algorithm (executed) - the rules the browser uses to parses (walks through) the elements in order to establish its structure and add to the outline using     a parsing engine
            examples: webkit (safari) and gecko (firefox)
                body is established as the outline root (beginning)
        the result of the parsing is a Document object Model (DOM) and the Document Ouline
    Document outline - the nested,  hierarchical outline created by the browser parsing the html document’s structure and content
        each part of the outline is considered a node
            (relationships in the node are described with family tree terms like parent, child, and sibling.)
        sectioning and heading elements are used to define the outline
        sectioning elements are containers - so any elements contented within a a section is nested as a child in the parent’s section
    DOM -
        The DOM is the structure created by the DOM API in which  CSS and Javascript interact with and modify the HTML
        based on an object structure that closely resembles the structure of the documents it models.
        structure similar to that of a tree - in which every element is a node   
        similar to the document outline, but instead of a hierarchical list, the DOM is a tree diagram
    OUTPUT
    Final webpage

    As a rule of thumb, avoid all swing components (just use awt) because they are only available in 1.2. You can use all enhancements and bug fixes to awt components that are available in 1.4 (even 1.5).
    ;o)
    V.V.

  • Is there set of basic oracle type wich are exists in all oracle versions

    hello
    i want to ask is there some set of type wich are avilable for all oracle versions ?

    784633 wrote:
    so the base type set is:
    blob, clob, date, number, varcher2
    i want to create replication betwen oracle and db2 and i need the section betwen basic types of the oracle and db2Ok, so NOW we know the business problem -- or are at least closer to it.. You need to replicate data between various versions of oracle (Most de-supported versions) and DB2. And of course we don't know if you mean DB2-UDB or DB2-z/os . Having worked with both I know for a fact that, in spite of IBM's marketing, they are NOT interchangeable.
    Maybe if you backed up and explained in a bit more detail the real business problem you'd get better answers.

  • Basic Authorization  concept

    Hi Friends,
    I want to be clear in basic authorization terminologies.
    Can any one give the definition for the each below mentioned basic authorization terminologies with some example?
    1.Object class
    2.Authorization
    3.Authorization Object
    4.Authorization Field
    5.Field Value
    6.Profile
    7.Role
    8.Composite role
    9.Reference role
    10.Derived role
    Thanks in advance.
    Regards,
    Venu

    Hi Venu,
    Lets come from the top to bottom ...
    at the highest level you have the Role. A role can be defined as follows.
    <b>Role</b>
    The collection of activities that a person performs to participate in one or more business scenarios in an organization.
    Access to the transactions, reports, Web-based applications, and other objects contained in roles is through user menus.
    Also in a simple manner can be defined as a set of transaction codes in one bundle.
    Note : when a Tcode is assigned to a Role hte related authorization objects get autmaticaly assigned to the role. I hope its clear until now.
    So every Tcode i sassigned to a specific set pof Authorization objects and every authorization object has a set of Auth fields assigned to it. They can be che3cked in any role in transaction PFCG.
    for better programming SAP has classified a set of authorization objects into OBJECT classess. its not much of importance to you as its a system thing.
    One more thing is every role has a profile assigned to it when its created and Generated. Usually profiles are the concept until 4.0 system of SAP...later the roles concept came into existence and hence they are defunct exept a few standard SAP profiles like SAP_ALL and stuff which can be assigned to Users directlky. Else Profiles are also automatic assignment and get linked to a uswer once a user is assigned a particular properly generated role.
    Coming to other terms, a group of single roles can be bundles into a single <b>composite role</b>. Hence its justa group of single roles.
    In authorization concept, wehave the Parent Child relations hip in roles.
    That is... when a Role is created we call it the master role and its properties can be inherited by a cild role.
    the scenario is if we r having 4 company codes in an org, and i am supposed to create roles for each comp code seperately..so i try to create a master role and create 5 child roles with inheritance properties. this way any change to master role gets drilled down to child roles without having to change all the rolese seperately.
    This is the concept of <b>derived roles</b>.
    i wish this info has helpfed you...
    Br,
    Sri
    Thanks for the points...

  • Need basic accountancy concepts for fi/co

    Hi all,
    I planned to learn FI/CO.Before going to do this,I want to know basic accountancy terms and concepts.
    If anybody having basic accountancy material for fi/co, plz send it to me. My mail id is [email protected]
    Regards,
    Bala.

    Hi Bala,
    Please check this SAP online documents.
    http://www.easymarketplace.de/online-pdfs.php
    Hope this will help to start with.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Oracle Concepts: Query on SQL Processing (execution in SGA/PGA)

    Hi,
    I need some clarity on my understanding, suppose there is a query:
    SELECT t1.c1, t1.c2
    FROM t1, t2
    WHERE t1.c3 = t2.c1
    ORDER BY t1.c1;User A submits above query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (unsuccessful) -in SGA
    Optimization (Hard Parse) -in SGA
    Row Source Generation (Hard Parse) -in SGA
    Execution - in SGA?User B submits same query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (successful) -in SGA
    (Soft Parse)
    Execution - in SGA?First question (General):
    I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?
    Second question (For user B):
    Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?
    Regards,
    Ankit Rathi
    http://oraclenbeyond.blogspot.in

    OnB wrote:
    Hi,
    I need some clarity on my understanding, suppose there is a query:
    SELECT t1.c1, t1.c2
    FROM t1, t2
    WHERE t1.c3 = t2.c1
    ORDER BY t1.c1;User A submits above query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (unsuccessful) -in SGA
    Optimization (Hard Parse) -in SGA
    Row Source Generation (Hard Parse) -in SGA
    Execution - in SGA?User B submits same query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (successful) -in SGA
    (Soft Parse)
    Execution - in SGA?First question (General):
    I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?The execution happens in the SGA(Buffer cache) but any kinds of such processing like sorting is session specific and that's why it happens in the PGA of that user.
    >
    Second question (For user B):
    Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?Yes.
    That said, can you post a link that confirms that the syntax/semantics check happen in the PGA? AFAIK it's not really a part of the PGA because oracle's code itself would store the grammar and would do it .
    Aman....

  • Oracle concepts - SID / instance / service / listener / dispatcher ....

    Hello,
    Newbie, conceptual question, please bear with me.
    Suppose I have a Oracle database server that runs a single database / instance / SID. The server has 2 LAN cards and 2 IP addresses - 192.168.1.1 and 192.168.2.1.
    I wish the users to be able to connect on both IP addresses. Further, I wish two TCP ports to be available for connections - 1521 and 1531. Hence we have a total of 4 possible IP address / TCP port pairs.
    My queries -
    - first of all, is this a valid, do-able scenario ?
    - how many services do we have, one or four ? How many listeners ? How many dispatchers ?
    - what would the IP address / TCP port combination be called in this case ? can I apply different priorities on each of these pairs ?
    Regards
    Edited by: user1050017 on Apr 18, 2012 1:02 AM

    Welcome to OTN!
    user1050017 wrote:
    - first of all, is this a valid, do-able scenario ?Yes
    - how many services do we have, one or four ? How many listeners ? How many dispatchers ?one listener
    - what would the IP address / TCP port combination be called in this case ? can I apply different priorities on each of these pairs ?In this case you must use hostname in listener.ora, not an IP

  • Interactive report basic list concept

    Suppose in a basic list i have 7 parallel detail list.i am in basic list is there any way to go directly to 7 th detail list from basiclist or from 1st detail list to 7 th detail list vice-versa.
    plz tell me..i am waiting.. for reply
    thanx
    arya

    Hi...
        Just go through following code.... its for normal interactive reports...
    TYPES : BEGIN OF st_kna1,
    kunnr TYPE kna1-kunnr, "CUSTOMER NUMBER
    name1 TYPE kna1-name1, "CUSTOMER NAME
    END OF st_kna1.
    TYPES : BEGIN OF st_vbak,
    kunnr TYPE kna1-kunnr,
    vbeln TYPE vbak-vbeln, "SALES DOCUMENT NUMBER
    erdat TYPE vbak-erdat, "DATE ON WHICH THE RECORD WAS CREATED
    audat TYPE vbak-audat, "DOCUMENT DATE
    auart TYPE vbak-auart, "SALES DOCUMENT TYPE
    ernam TYPE vbak-ernam, "NAME OF PERSON WHO CREATED THE OBJECT.
    augru TYPE vbak-augru, "ORDER REASON
    END OF st_vbak.
    TYPES : BEGIN OF st_vbap,
    vbeln TYPE vbak-vbeln,
    posnr TYPE vbap-posnr, "SALES DOCUMENT ITEM
    matnr TYPE vbap-matnr, "MATERIAL NUMBER
    charg TYPE vbap-charg, "BATCH NUMBER
    matkl TYPE vbap-matkl, "MATERIAL GROUP
    posar TYPE vbap-posar, "ITEM TYPE
    END OF st_vbap.
    DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,
    it_vbak TYPE STANDARD TABLE OF st_vbak,
    it_vbap TYPE STANDARD TABLE OF st_vbap,
    wa_kna1 TYPE st_kna1,
    wa_vbak TYPE st_vbak,
    wa_vbap TYPE st_vbap.
    DATA : v_fld(15),
    v_kunnr TYPE kna1-kunnr,
    v_vbeln TYPE vbak-vbeln.
    SELECT-OPTIONS
    PARAMETERS
    SELECT-OPTIONS so_kunnr FOR v_kunnr. "CUSTOMER NUMBER
    PARAMETERS : p_max TYPE i. "NUMBER OF HITS
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM get_customerdata.
    SET PF-STATUS 'MENU1'.
    AT LINE-SELECTION
    AT LINE-SELECTION.
    IF sy-lsind = 1.
    PERFORM get_salesheader.
    ELSEIF sy-lsind = 2.
    PERFORM get_salesitemdata.
    ENDIF.
    AT USER-COMMAND
    AT USER-COMMAND.
    CASE sy-ucomm.
    WHEN 'DISP'.
    PERFORM get_salesheader.
    WHEN 'ITEM'.
    PERFORM get_salesitemdata.
    WHEN 'VA03'.
    SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.
    CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    ENDCASE.
    TOP-OF-PAGE
    TOP-OF-PAGE.
    ULINE AT /1(56).
    WRITE : /1 sy-vline ,
    2(15) text-004 COLOR 1 ,
    sy-vline ,
    20(35) text-005 COLOR 1 ,
    sy-vline.
    ULINE AT /1(56).
    TOP-OF-PAGE DURING LINE-SELECTION.
    TOP-OF-PAGE DURING LINE-SELECTION.
    CASE sy-lsind.
    WHEN 1.
    PERFORM get_topofpage1.
    WHEN 2.
    PERFORM get_topofpage2.
    ENDCASE.
    FORM GET_CUSTOMERDATA
    FORM get_customerdata.
    SELECT kunnr name1
    FROM kna1
    INTO TABLE it_kna1
    UP TO p_max ROWS
    WHERE kunnr IN so_kunnr.
    IF sy-subrc EQ 0.
    LOOP AT it_kna1 INTO wa_kna1.
    WRITE : / sy-vline,
    2(15) wa_kna1-kunnr ,
    sy-vline ,
    20 wa_kna1-name1,
    sy-vline.
    HIDE : wa_kna1-kunnr , wa_kna1-name1.
    CLEAR wa_kna1.
    ENDLOOP.
    ULINE AT : /1(56).
    ELSE.
    MESSAGE w000(z50871msg).
    ENDIF.
    ENDFORM. "GET_CUSTOMERDATA
    FORM GET_SALESHEADER
    FORM get_salesheader.
    SET PF-STATUS 'MENU2'.
    GET CURSOR FIELD v_fld VALUE v_kunnr.
    IF v_fld = 'WA_KNA1-KUNNR'.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = v_kunnr
    IMPORTING
    output = v_kunnr.
    SELECT kunnr vbeln erdat audat auart ernam augru
    FROM vbak
    INTO TABLE it_vbak
    WHERE kunnr = v_kunnr.
    IF sy-subrc EQ 0.
    LOOP AT it_vbak INTO wa_vbak.
    WRITE : / sy-vline ,
    2(22) wa_vbak-vbeln ,
    sy-vline,
    27(25) wa_vbak-erdat ,
    sy-vline ,
    55(15) wa_vbak-audat ,
    sy-vline ,
    73(15) wa_vbak-auart ,
    sy-vline,
    91(16) wa_vbak-ernam ,
    sy-vline,
    109(13) wa_vbak-augru,
    123 sy-vline.
    HIDE : wa_vbak-vbeln.
    CLEAR wa_vbak.
    ENDLOOP.
    ULINE AT : /1(123).
    ELSE.
    MESSAGE i015(z50871msg).
    ENDIF.
    ELSE.
    MESSAGE i013(z50871msg).
    ENDIF.
    ENDFORM. "GET_SALESHEADER
    FORM GET_SALESITEMDATA
    FORM get_salesitemdata.
    SET PF-STATUS space.
    GET CURSOR FIELD v_fld VALUE v_vbeln.
    IF v_fld = 'WA_VBAK-VBELN'.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = v_vbeln
    IMPORTING
    output = v_vbeln.
    SELECT vbeln posnr matnr charg matkl posar
    FROM vbap
    INTO TABLE it_vbap
    WHERE vbeln = v_vbeln.
    LOOP AT it_vbap INTO wa_vbap.
    WRITE : /1 sy-vline,
    2(13) wa_vbap-posnr ,
    sy-vline,
    18(18) wa_vbap-matnr ,
    sy-vline,
    40(13) wa_vbap-charg ,
    sy-vline,
    56(16) wa_vbap-matkl ,
    sy-vline,
    75 wa_vbap-posar,
    112 sy-vline.
    CLEAR wa_vbap.
    ENDLOOP.
    ULINE AT : /1(112).
    ELSE.
    MESSAGE i014(z50871msg).
    ENDIF.
    ENDFORM. "GET_SALESITEMDATA
    FORM GET_TOPOFPAGE1
    FORM get_topofpage1.
    ULINE AT : /1(123).
    WRITE : / sy-vline ,
    2 text-000 ,
    wa_kna1-kunnr ,
    75 text-001 ,
    wa_kna1-name1,
    123 sy-vline.
    ULINE AT : /1(123).
    WRITE : / sy-vline ,
    2(22) text-006 COLOR 1,
    sy-vline,
    27(25) text-007 COLOR 1 ,
    sy-vline ,
    55(15) text-008 COLOR 1 ,
    sy-vline ,
    73(15) text-009 COLOR 1 ,
    sy-vline,
    91(16) text-010 COLOR 1 ,
    sy-vline,
    109(13) text-011 COLOR 1,
    123 sy-vline.
    ULINE AT : /1(123).
    ENDFORM. "GET_TOPOFPAGE1
    FORM GET_TOPOFPAGE2
    FORM get_topofpage2.
    ULINE AT : /1(112).
    WRITE : / sy-vline ,
    2 text-000 ,
    wa_kna1-kunnr ,
    35 text-001 ,
    wa_kna1-name1 ,
    85 text-003 ,
    wa_vbak-vbeln ,
    112 sy-vline.
    ULINE AT : /1(112).
    WRITE : /1 sy-vline,
    2(13) text-012 COLOR 1,
    sy-vline,
    18(18) text-013 COLOR 1 ,
    sy-vline,
    40(13) text-014 COLOR 1 ,
    sy-vline,
    56(16) text-015 COLOR 1 ,
    sy-vline,
    75 text-016 COLOR 1 ,
    112 sy-vline.
    ULINE AT : /1(112).
    ENDFORM. "GET_TOPOFPAGE2
    Thanks,
    Naveen.I

  • Oracle Concepts: Clarity required on Instance Recovery

    One of my colleague was discussing instance recovery with me.
    We discussed about checkpoint position, instance recovery phases (rolling forward & rolling back ), then he asked me whats the point of rolling forward (applying redo logs) and then rolling back (applying undo blocks), why not applying only committed transactions?
    I told him that this happens because:
    1) roll forward to recreate the scenario just before when Instance crashed
    2) roll forward/roll back is the fastest way to recover
    I am not sure from where I got this learning, may be some blog or article (probably not from Oracle Docs), but is it correct?
    Regards,
    Ankit Rathi

    OnB wrote:
    The 2nd point is completely wrong!Let me elaborate the context of 2nd point, it was mentioned in context of applying only committed transactions during recovery. As all the change vectors go in the redo log files, had there been any mechanism to identify only committed transactions, it would have taken more time (its really hypothetical as there is no mechanism exists, right?) by that mechanism to identify committted transactions (from redo logs) than simply rolling forward and rolling back.There is no context in that point, it's wrong , plain and simple!
    There is a mechanism to identify committed transactions and that's called commit . But when you are doing recovery, you are not recovering just the committed transactions but you are recreating the entire scene before the crash which means, you would be required to apply both the uncommitted and committed work/change vectors. Going by your logic, if Oracle would start searching for the committed transactions, it would have many issues. One, time taken would be more higher. Two, there may be an instance that the commit was issued but before the commit complete message could reach the user, instance got terminated so how about those blocks which may be now in data file and have got an active transaction status and are unsure whether they are committed or not. And last, the way LGWR writes is just to keep on pushing change vectors to the redo stream in the order of the SCN. So for doing a recovery, you would need to reapply all of that changed data in that same SCN ordering.
    The meaning of instance recovery is that you are not having a physical file crashed or deleted but there was a memory loss and few buffers were left out from being written to the data files and now, data files , control file and log files are not in synch.
    The second point, where you are saying its the fastest, is wrong because even for the instance recovery , it can take a very long time and it would depend on how much work was left over before the instance was crashed. Roll Forward is the way to bring the data files in synch with the redo log files and the control files. So if the data files were on Checkpoint Number 100 and the control files and redo log files recorded the number as 120, the missing 20 numbers gap would be reentered in the data files because only then, the database would be opened. Now, your friend's question that why not only committed transaction because you never say a transaction is only done when there is a commit. Whenever any DML is encountered , it's going to cause a transaction. And you do want that missing work to be recreated to ensure that if there was a commit issued before the instance was crashed , next time, Oracle would ensure that work is there and if not , it would be rolled back. And most importantly, in the redo log files all the change vectors go, not just for the committed transactions .This is fine, same understanding here.
    Bring in your own thoughts now that how much you understood from this explanation before I start to get into more technical terms.I would like to know your view about the 1st point. Suppose, something went wrong (in terms of transactions) due to which instance crashed, if it rolls forward (as it happens automatically) during next start-up, will it crash again?
    It would be rolled back in the case of the instance (next) startup. If all what you are doing is plain DML's they won't crash the instance as long as you haven't encountered any bug in the case of which, next time also the instance may crash.
    Aman....

  • Basic  Oracle question

    What should be the best approach for updating a table remotely?
    Say we have one database in JAPAN and one in US. we need to update one table column in JAPAN database from here.
    What we have done: We have created a synonym of that table here (using database link)and updating throu that. But it is very slow ... when we process large amount data.
    If there a better solution..... please share ... (replication????)

    If you wanted to move the application to another server, you would generally need to move it to another database. Potentially, you could move some or all of your PL/SQL to an Oracle Forms application using the PL/SQL interpreter there. This would generally involve some degree of application rework, though.
    What is the underlying reason for going to a separate server? If you have too much load for a single server to handle, perhaps you could cluster the database.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Basic Oracle HR Demo ADF BC application

    Hi,
    Chris Muir 在 ADF EMG (http://groups.google.com/group/adf-methodology) 分享了他的一個 ADF BC 的 demo 專案.
    使用的是 Oracle 內建的 HR schema.
    應該是一個不錯的參考和學習資料.
    可以從這邊下載:
    http://java.net/projects/adfemg/downloads
    Best Regards,
    Leon

    I don't have the docmumentation to hand so I'm answering from memory- when you create a sequence the default in the database is to cache a number of sequence numbers in one go, however, if you don't commit or roll back (or some situation like that) the sequences is the cache are not used and so next time you grab a sequence it gets a number which is maybe 2 or 3 more than the last one you used.
    as I said, Im not near my documentation so I can't give you a workdaround but thats probably the problem/regards
    Grant

Maybe you are looking for

  • ITunes Has Stopped Working on program start

    Recently, whenever I open iTunes, I'm greeted with an app crash and window prompt of "iTunes has stopped working". Problem signature:   Problem Event Name:    APPCRASH   Application Name:    iTunes.exe   Application Version:    12.1.1.4   Application

  • PDF as Base64: An Error exists on this page

    Hello, In a scenario I am extracting the PDF file from archive and encoding it in BASE64 format. At receiver side, while decoding the Base64 format, I am getting all the data correctly but an error is coming during display. "An Error exists in this p

  • Java.lang.Error in JTextArea

    I get a strange error while using JTextArea.append(String), more specifically, an error while trying to aquire writing lock. The error never show up at a precise time and sometimes just never show so I guess this is a multithread issue. However I alr

  • I can´t sync my ipod touch

    When I connect my ipod to my mac it tells me that the ipod can´t sync because the sync session failed to start. How can I solve this problem?

  • IPhone Contact Synchronizing with Microsoft Outlook

    when i synchronise contact from outlook, i always get more contact with iphone. why?