Separation of the physical and logical structures

Hi,
I am very new to Oracle database administration. While reading Sam Alapati's book "Expert Oracle9i Database Administration," I came across the concept of the separation of an Oracle database’s physical storage structures from its logical storage structures. In particular, Sam states the following in his book:
“This logical defining of Oracle's database structure has another fundamental motive behind it. By organizing space into logical structures and assigning these logical entities to users of the database, Oracle databases achieve the logical separation of users (owners of the database objects, such as tables) of the database from the physical manifestations of the database in terms of data files and so forth.”
I am not quite convinced about the value this separation of the physical and logical really adds to the task of database administration. Considering the way DBASE worked, i.e. each table used to be stored as a separate file, what would be lost if Oracle’s implementation were similar and each table (i.e. file) were to be assigned to a particular user. I am not sure of the value added by storing the data from more than one table in more than one file, effectively resulting in a many-to-many relationship between tables and files. Please enlighten me. I would really appreciate it.
Karim

and each table were to be assigned to a particular user. Don't know what you mean. In Oracle, every table has one and only one owner.
I am not sure of the value added by storing the data from more than one table in more than one fileIf an application has a thousand tables, would you rather manage 1000 files or 1?
In general, separating the physical from the logical allows the physical structure to change without affecting the logical (in theory at least). Even a table is a logical structure. We think of rows and columns, but it isn't stored the way we think of it. When we do a select statement, we don't have to write code to read each block, extract the contents, etc.
With partitioned tables, it is sometimes a good idea to split up partitions in such a way to get a performance gain. Like placing the most recent (and most queried) month of data on the fastest storage device. If you stuffed everything in to one gigantic file, you would lose that ability.
If you want to store each table as a separate file, you can do that with Oracle. For each new table, create a new tablespace, and then create a new file for the tablespace. Then come back to this forum in a year and tell us how it's going.

Similar Messages

  • Physical and Logical Structures of DB

    Hi all
    Why datafiles are called physical structure of database and tablespace,segment etc are called logical structures of database as datafile is also a name given to memory area on disk drive ,therefore it should also be called logical structure

    user13345475 wrote:
    as datafile is also a name given to memory area on disk driveNo it is not. There are no "+memory areas+" on disk. The closest to that will be a virtual memory page that has been written to disk (e.g. written to a raw swap device or to a swap file).
    A physical disk itself does not have "memory areas" on the disk platters. The correct term would be "storage location". Memory areas exist in physical memory instead.
    I suggest that you review your understanding of technical terms.

  • Query on Physical and Logical structures

    Hi All
    Please Open the following link that opens a figure a 12-1 Logaical and physical storage . Please explain me how an data file can have many extents ( An arrow between Data file and extent i.e one to many relation ship ) , as the data file stores data in operating system blocks .
    [http://download.oracle.com/docs/cd/E11882_01/server.112/e10713/logical.htm#i8531]
    Thank you
    Aravind

    user8709943 wrote:
    Hi
    can we upload the an image here . if yes , please tell me how to .
    Thank youI don't know of any way to upload images, but the url you provided is working for me.
    Let me try again.
    There is no concept of extents in the datafile at the OS level, at least not that has any bearing at all on oracle or any other application that would access a data file.
    A data file is created of some size, let's say 10gb. Remember that even this data file is an OS abstraction of sectors on a disk. If some app (be it Oracle, MS Word, Quicken, whatever) asks the OS to read a file, the OS translates that request to the disk controller, which figures out what sectors (cylinder,track,offset) have to be returned in what order to satisfy the request from the OS.
    When Oracle creates a tablespace, or adds a file to a tablespace, it simply asks the OS to create a file of some size. Oracle doesn't know or care how that happens. Oracle doesn't know or care how the OS keeps track of the parts of that file. Oracle doesn't know or care where that file is. Oracle doesn't know or care about OS blocks. All Oracle (or any app) knows is that there exists a file of 10gb. To Oracle, that file is nothing but an address space, beginning at zero and extending for 10gb from there. Whenever Oracle needs data from the file, it will ask the OS for 'x' bytes beginning at offset 'y'. It's up to the OS to figure out what that means. Conversly, the OS doesn't even know about tablespaces. As far as the OS is concerned, the file doesn't even 'belong' to oracle. It just exists, it can be opened/read/written by anyone.
    Now it's up to oracle to decide what to do with this file. First, he keeps track of its fully qualified name, its size, and what tablespace he is assigning it to. As part of the tablespace definition, we have a blocksize. This defines how many bytes Oracle will request from the os on any i/o operations. It will be up to the OS to decide what that means.
    Next, we create a table. Part of that request will include (explicitly or implicity) an amount of space to reserve in the tablespace. So oracle will create an extent. This simply means that Oracle will make note of the fact that a part of the file beginning with block 'x' and extending for 'y' blocks, will be reserved for exclusive use of that table. Again, these are oracle blocks. The OS neither knows nor cares about any of this.
    Now we insert a row into our table. Oracle looks for an available block in the extent reserved for that table, and reads it into the buffer. For this read operation, oracle simply asks the os for <oracle_block_size> bytes, beginning at offset 'x' from data file 'y'. Oracle's own internal bookkeeping is used to determine the value of 'offset x' before the request is passed to the os. Again, the OS knows nothing about any of this (tablespaces, segments, extents, even oracle blocks); all it knows is a request to get a specified number of bytes beginning at a specified offset of a specified file. <b><i><u>If</u></i></b> it (the os) does that by having a structure it calls an extent and/or a structure it calls a block, fine. But Oracle doesn't know or care about any of that.
    As for an oracle block equaling an OS block, or the rule that an oracle block must be an integer multiple of an OS block ... even that is not true. It is best for i/o efficiency if the oracle block is an integer multiple of the os block. But in strict terms, since neither knows or cares about the other, they do not have to be equal.

  • Export physical and logical details on ASA 5520 and 8.0 software

    Hello...does anybody know if there is any way to export details of the physical and logical interface details (including interface descriptions) to Excel, PDF or and other format from the command line or ASDM? 
    Thanks,
    John

    Export directly in xls, xlsx or pdf - no.
    The output of "show run interface" or "show interface" is pretty structured however and easily parsed by Excel - either manually or via a macro. See output below (you can omit the interface identifier to get all interfaces. I used one for brevity.)
    One can build a script to log in, perform an arbitrary command logging the output to a file which can then be massaged to extract the information you want in a suitable format (csv, etc.). Once in Excel it can be saved as pdf if you're so inclined.
    Of couse, some of the full-featured network management tools do a lot of this (and lots more) if you have them.
    ASA-1# sh run int eth0/0
    interface Ethernet0/0
    nameif outside
    security-level 0
    ip address x.x.x.x 255.255.255.224
    ASA-1#
    ASA-1# sh int eth0/0
    Interface Ethernet0/0 "outside", is up, line protocol is up
      Hardware is i82546GB rev03, BW 1000 Mbps, DLY 10 usec
    Auto-Duplex(Full-duplex), Auto-Speed(1000 Mbps)
    Input flow control is unsupported, output flow control is unsupported
    MAC address 0013.c480.6b50, MTU 1500
    IP address x.x.x.x, subnet mask 255.255.255.224
    14156274 packets input, 16095096189 bytes, 0 no buffer
    Received 44764 broadcasts, 0 runts, 0 giants
    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
    0 pause input, 0 resume input
    0 L2 decode drops
    8548524 packets output, 1006461151 bytes, 0 underruns
    0 pause output, 0 resume output
    0 output errors, 64 collisions, 6 interface resets
    95 late collisions, 627 deferred
    0 input reset drops, 0 output reset drops, 0 tx hangs
    input queue (blocks free curr/low): hardware (255/230)
    output queue (blocks free curr/low): hardware (255/125)
      Traffic Statistics for "outside":
    14156267 packets input, 15839536990 bytes
    8548619 packets output, 820243613 bytes
    39502 packets dropped
          1 minute input rate 2 pkts/sec,  349 bytes/sec
          1 minute output rate 2 pkts/sec,  425 bytes/sec
          1 minute drop rate, 0 pkts/sec
          5 minute input rate 2 pkts/sec,  2091 bytes/sec
          5 minute output rate 1 pkts/sec,  352 bytes/sec
          5 minute drop rate, 0 pkts/sec

  • How to collect physical and logical disk counters using query?

    Hai friends, i want to view physical and logical disk counters in sql server like Avg. Disk sec/Read, Avg.
    Disk Bytes/Read, Avg. Disk sec/Write, Avg.
    Disk Bytes/Write, etc.,  Can anyone tell me how to vies this by using query?
    Thanks in advance..

    Hai friends, i want to view physical and logical disk counters in sql server like Avg. Disk sec/Read, Avg.
    Disk Bytes/Read, Avg. Disk sec/Write, Avg.
    Disk Bytes/Write, etc.,  Can anyone tell me how to vies this by using query?
    Thanks in advance..
    Hello,
    Sys.dm_os_performance counter will only show counters related to SQL server not Physical disk if you run below query in SQL server it will not return any value so no disk counter is present.You will have to see it using perfmon.
    select * from sys.dm_os_performance_counters where counter_name like '%disk%'
    This can also be done through power shell but I dont have experience with that.You can search net for power shell query to see Windows perfmon counters
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • OBIEE -10.1.3.4.1 - high physical and logical query response

    Hi All,
    I am facing an performance issue in OBIEE 10g .My report is taking 2 mins to come up and when i fired the physical query in the db the data is coming in 2 secs.
    Below is the details from the log file.Here I observed that response time for physical and logical query is 109 sec ~ 2 mins.Please provide me the helpful pointers.
    +++Administrator:370000:370015:----2013/01/22 07:28:04
    -------------------- Execution Node: <<2650466>>, Close Row Count = 3332, Row Width = 26000 bytes
    +++Administrator:370000:370015:----2013/01/22 07:28:04
    -------------------- Execution Node: <<2650466>> DbGateway Exchange, Close Row Count = 3332, Row Width = 26000 bytes
    +++Administrator:370000:370015:----2013/01/22 07:28:04
    -------------------- Execution Node: <<2650466>> DbGateway Exchange, Close Row Count = 3332, Row Width = 26000 bytes
    +++Administrator:370000:370015:----2013/01/22 07:28:04
    -------------------- Query Status: Successful Completion
    +++Administrator:370000:370015:----2013/01/22 07:28:05
    -------------------- Rows 3332, bytes 86632000 retrieved from database query id: <<2650466>>
    +++Administrator:370000:370015:----2013/01/22 07:28:05
    -------------------- Physical query response time 109 (seconds), id <<2650466>>
    +++Administrator:370000:370015:----2013/01/22 07:28:05
    -------------------- Physical Query Summary Stats: Number of physical queries 1, Cumulative time 109, DB-connect time 0 (seconds)
    +++Administrator:370000:370015:----2013/01/22 07:28:05
    -------------------- Rows returned to Client 3332
    +++Administrator:370000:370015:----2013/01/22 07:28:05
    -------------------- Logical Query Summary Stats: Elapsed time 109, Response time 109, Compilation time 0 (seconds)

    Did you run the SQL from a client on the OBIEE server or your local machine? Does the Physical SQL on the OBIEE server against the DB run in 2 Seconds and when sent by the OBIEE server it takes 109 seconds?? Is that correct?

  • Changing ip of physical and logical host

    I have a 2 nodes Sun cluster 2.2 working. I have to put it in another lan, so I have to change both Physical and logical host and terminal concentrator and console ip addresses. How can I do?
    Thanks

    I don't see a reply so I'll take a shot. Just like you have 0-9 for numbers and you can arrange them anyway you want, you still only have 0-9. You have the physical (system block and datafiles) which are somewhat static. Then you have the the logical (tablespace, segements, extents)which are volatile and connected by chaining (links) which may be all over the place in the physical but appears to be one whole unit in the logical. Just like an image on a TV screen wearing a red hat, you see a red hat (logical) but it is actual pixels which are chained or linked (data pointers) to each other by the color red. I hope that helps until someone comes by with a better answer.

  • Difference between physical and logical standby database

    What is the difference between physical and logical standby database?

    Hi,
    Physical Standy where its a read only DB.
    Logs are applied.
    Logical Standy where it can be Read / Write DB and the logs are applied in terms of SQL Statements.
    Thanks & Regards,
    Pavan Kumar N

  • Oracle - ROWID (Physical and logical)

    Hi,
    Could you please clarify the below doubts?
    - Difference between Physical and Logical ROWID's
    - Difference between ROWID and UROWID datatypes
    Regards,
    Ragav

    Instead of an answer, may I suggest you go through following link?
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#sthref3894

  • I have a Mac G4 double mirrored model and everytime I shut it off it will not go on when I hit the power off button. However, if I unplug and plug in the power cord it boots fine and everything is OK. The PMU and logic board have been reset. Any ideas?

    I have a Power Mac G4 double mirrored model and everytime I shut it off it will not go on when I hit the power on/off button again. However, if I unplug and plug in the power cord it boots fine and everything is OK. The PMU and logic board have been reset. Sometimes my Mac goes on just by pressing the power on button but most times I have to pull the power cord and put it back in. Any ideas or help out there for this? Could it be a failing power supply? Apple Care says that this model is obsolete so there is no help from there. John
    <E-mail Edited by Host>

    Hi John,
    That's often a sign of a bsad Capacitor in the Power Supply, but...
    Might be time to replace the PRAM Battery, 4 years is close to their lifespan, far less if ever without AC power, & can cause strange startup problems...
    http://eshop.macsales.com/item/Newer%20Technology/BAA36VPRAM/ 

  • The source and target structure have a different number of fields

    Hi,
    I am new to workflow and I am trying to create an attachment in Workflow (SAP ECC 6.0) and pass it through to a User Decision (User Decision works fine) however the workflow is failing on the attachment step with u2018The source and target structure have a different number of fieldsu2019. The bindings check ok. Please see details below.
    I have used document u2018Creating Attachments to Work Items or to User Decisions in Workflowsu2019 by Ramakanth Reddy for guidance. Thanks in advance.
    1) Workflow containers (SWDD)
    WORKITEMID (import)
    ZSWR_ATT_ID (export)
    SOFM (export)
    2) Task Container (PFTC)
    1 Import parameter defined u2013 WORKITEMID (swr_struct-workitemid)
    2 Export parameters defined
    - SOFM (Ref. obj. type SOFM)
    - ZSWR_ATT_ID  (swr_att_id-doc_id)
    Binding task -> Method
    Binding for 1 parameter (import) defined
    Task <- Method
    Binding for 2 parameters (export) defined
    3) Z  BOR object created with a Method, Method Parameters and Event (SWO1)
    1 import parameter defined
    2 export parameters defined
    Method calls FM SSF_FUNCTION_MODULE_NAME, CONVERT_OTF, SCMS_XSTRING_TO_BINARY and SAP_WAPI_ATTACHMENT_ADD
    Workflow is triggered by FM SAP_WAPI_CREATE_EVENT, Return_code = 0
    Event_id = 00000000000000000001
    Test results
    A) Triggered by ABAP/ FM SAP_WAPI_CREATE_EVENT - SWI2_DIAG results
    Work item  14791: object <z bor object name> method <method name> cannot be executed. The source and target structure have a different number of fields (this message is repeated 3 times). Error handling for work item 14791. No errors occurred -> details in long text (message is repeated 3 times).
    Message no. WL821, OL383, WL050 in long text
    B) Z BOR Test method <execute>
    Enter workitem id.
    Runtime error - Data objects in Unicode programs cannot be converted. The statement "MOVE src TO dst" requires that the operands "dst" and "src" are convertible. Since this statement is in a Unicode program, the special conversion rules for Unicode programs apply.                                        
    In this case, these rules were violated.   
    Program                             SAPLSWCD                
    Include                                LSWCDF00                
    Row                                    475                     
    Module type                        (FORM)                  
    Module Name                      MOVE_CONTAINER_TO_VALUE           
    C) Z BOR Test method <debugging>
    Enter workitem id.
    SAP_WAPI_ATTACHMENT_ADD, return_code = 0, message_lines  = Attachment created            
    both  swc_set_element container work ok
    Runtime error occurs after end_method executed. Data objects in Unicode programs cannot be converted.
    D) Workflow test
    Enter workitem id <execute>
    Task started> Workflow log> Status = Error
    Workflow errors in Attachment step (however Office document can be viewed in details for step).

    Problem has now been resolved. Problem was related to use of swr_att_id structure and swc_set_element statement in BOR program - problem resolved by only setting w/f container to swr_att_id-doc_id.

  • My computer has been seen at Genius bar 6 times for freezing up, reloaded all original settings and even went to the apple shop where they replaced the battery and logic board. Still freezes after I try to reload iTunes stuff and app stuff from apple

    my computer has been seen at Genius bar 6 times for freezing up, reloaded all original settings, all of their diagnostics, and they even sent it to the apple shop where they replaced the battery and logic board. Still freezes after I try to reload iTunes stuff and app stuff from apple, especially iPhoto which is seems to refuse to load and then begins freezing up all over again. Anyone else have this problem. Other than this, I have had absolutely no problems with this computer. Now, it's a file of junk.

    Hi Ronald ...
    Have you checked lately to see how much free space there is on the disk? Especially since iPhoto freezes at launch ...
    Click your Apple menu icon top left in your screen. From the drop down menu click About This Mac > More Info > Storage
    Make sure there's at least 15% free disk space.
    And make sure the OS X software is up to date.
    Click the Apple  top left in your screen.
    From the drop down menu click:   Software Update
    If you have anti virus software installed or are using third party Mac cleaning utiliites, that may be part and parcel of the your problems.

  • Hi, why do we use the break and continue structure?

    Hi, I was wondering why do we use the break and continue structure in some program such as:
    for ( int i = 1; i <= 10; i++ ) {
    if ( i == 5 )
    break;
    So, now why do we use those codes, instead of achiving the same results by not using the if structure.
    I am new in java so I can be totaly wrong that is why my question come to you guys.
    I will appriciate if you let me understand more.

    I may not completely understand your question, but - imagine the following scenario:
    // Looking for some value in a long, unsorted list
    Object target = null;
    int index = -1;
    for (int i = 0; i < list.size(); i++) {
        Object curObject = list.get(i);
        if (curObject.equals(source)) {
            target = source;
            index = i;
    if (target != null){
        System.out.println("Found it at " + index);
    }You will always run through the entire long list, even if the thing you are looking for is the first thing in the list. By inserting a break statement as:
    // Looking for some value in a long, unsorted list
    Object target = null;
    int index = -1;
    for (int i = 0; i < list.size(); i++) {
        Object curObject = list.get(i);
        if (curObject.equals(source)) {
            target = source;
            index = i;
            break;
    if (target != null){
        System.out.println("Found it at " + index);
    }You can skip whatever's left in the list.
    As for continue, yes, I suppose you could use a big if, but that can get burdensome - you end up with code like:
    for (int i = 0; i < list.size(); i++) {
        Object curObject = list.get(i);
        // you want to do the rest only if some condition holds
        if (someCondition) {
            // do some stuff -
            // And you end up with lots of code
            // all in this if statement thing
            // which is ok, I suppose
            // but harder to read, in my opinion, than the
            // alternative
    }instead of
    for (int i = 0; i < list.size(); i++) {
        Object curObject = list.get(i);
        // you want to do the rest only if some condition holds
        if (!someCondition) {
            continue;
        // do some stuff -
        // And you end up with lots of code
        // all outside of any if statement thing
        // which is easier to read, in my opinion, than the
        // alternative
    }Hope that helped
    Lee

  • Mdworker[600]: No separator between the header and body in message _CMFMemoryMessage: 0x7f8665118800

    Any Suggest about this issue on console:
    mdworker[600]: No separator between the header and body in message <_CMFMemoryMessage: 0x7f8665118800>
    Best Regards

    Thanks very much. It's turned out to be a font problem. About 30 of the fonts in my account directory /users/me/library/fonts folder were corrupted. They were somehow being viewed as unix executable files instead of font suitcases. !??! No idea what happened there.
    I used Pacifist to reload fonts from my OSX installation disc, but this didn't seem to help. Instead, I found other copies of most of the corrupted fonts in the microsoft office/office/fonts folder, and replaced the corrupted fonts in my home library w/ those.
    I was alerted to the fact the the problem was fonts when I tried to open an Excel file; it came back with messages that these various fonts were corrupted and needed to be removed. Strangely, though the corrupted fonts were in my home directory font folder and not the MS Office font folder, Excel was tripping up - i.e., it wasn't using the fonts from the Office folder. Hmm.
    Finally, there are still a few fonts that are corrupted, and whose source is a mystery to me. They didn't come from the OS installation disc and they don't come from Office; consequently, I can't fix them. They are: Geneva CE, Geneva CY, GrCourier and N Helvitica Narrow.
    Does anyone know where these fonts come from?

  • Physical and Logical path

    Hello,
    what is a physical file and logical file in PATH table of SAP.
    Plz help,
    aafaq

    Hi aafaqhusain,
    1. logical file path is nothing but a    IDENTIFIER/STRING/NAME
    = the name by which
       we refer to that file.
      (in our programs)
    2. The physical location of that file,
       may change from server to server,
      or from time to time.
      (hence, we do not use hardcoded physical path,
       in our programs,
       but instead use this MAPPING of logical path,
      to the physical path)
    regards,
    amit m.

Maybe you are looking for