Database Components Considered Evil

This is the most important adage since "GOTO considered harmful". Small applications can benefit from the convenience of binding data sources to forms and using SQL based queries in components. Making that available is an industry must; it is also just this side of evil.
Creating many small applications or a greater-than-small application should never fall victim to such a temptation; rather, in my opinion you should always abstract the database in data models that hide the underlying persistence strategy entirely. That way you manage data access in your data access package and publish APIs to the rest of the team for getting simple or complex models.
Just started using JSF (very, very promising technology that stands on the shoulders of midgets) and was diasppointed by the availability of UI database binding. It's a marketing reality that is also present in JSTL.

The advantage of DB Components, is you can just plonk 'em when you want them and they know how to display themselves automatically and follows the Encapsulation OO strategy. This been said, its a very bad idea to have sql statements within a DB component.... what happens if the database changes?
BUT, the best of both world solution is to have a Model - View component (Notice, no Controller!) - Where, instead of the view component containing the SQL, it contains a reference to a default model , and it is this model that contains the SQL to retrieve the data. The outcome is the same, just plonk the component on the screen, and it sorts itself out , however, the database remains abstract to the 'view' , the SQL is encapsulated within the model.... The database changes, it only requires changes to this default model for everything to continue to work.
So, using this methology, we can end up with a panel (the parent View) , containing lots of child views (Model-Views). These child views could also contain their own imbedded model-views. This is the composite pattern, and is mentioned by GOF.

Similar Messages

  • Ensure that all database components/objects provided by Oracle are VALID

    Hi Guys
    need some clarification concern the below point from -> 1503653.1
    Ensure that all database components/objects provided by Oracle are VALID in the source database prior to starting the upgrade.
    Ensure that you do not have duplicate objects in the SYS and SYSTEM schema.
    Question 1:
    what do you really mean by all the database components/ objects provided by oracle are Valid?
    does the below object consider an Oracle object? I got to know this objects is invalid after  after running -> dbupgdiag.sql
    SQLTXADMIN   SYNONYM        1
    Question 2:
    if my user application objects is invalid? Can i still be able to forward with the upgrade?
    It seem that the main concern is those ORACLE's component/ objects have to be VALID.

    hi all,
    want to add on.
    does ORACLE's component means objects own by SYS and SYSTEM?
    like the below objects that is spool out by the script  -> dbupgdiag.sql
    that it is in invalid status.
    SYS          USER_AUDIT_TRAIL                         VIEW
    SYS          DBA_AUDIT_SESSION                      VIEW
    SYS          USER_AUDIT_SESSION                    VIEW
    SYS          DBA_AUDIT_STATEMENT                 VIEW
    SYS          DBA_COMMON_AUDIT_TRAIL          VIEW
    SYS          DBA_AUDIT_OBJECT                         VIEW
    SYS          USER_AUDIT_OBJECT                       VIEW
    SYS          DBA_AUDIT_EXISTS                           VIEW
    SYS          USER_AUDIT_STATEMENT               VIEW

  • How to reinstall the database components of BI Publisher (11.1.1.5)

    Hi,
    We're using BI Publisher 11.1.1.5 installed within an existing Weblogic 10.3.6 instance running on Oracle Linux 5.6.
    We installed it against an existing 10g test database.
    We decided to refresh the database from the production system and we had to rebuild the test db from scratch, meaning we lost all BIP components installed in it.
    We re-ran the BIP RCU to create the schemas but we can't see how we can reinstall the other required BIP database components without doing a full deinstall and then install of everything.
    The other required db components are such things as the bipcatalog java classes. These are not installed by the RCU from what it seems.
    We have another test database with the BIP components in it and I can see them there so we could export/import them if necessary, but I thought there must be a way to use an assistant or something to do it.
    Any ideas how to go about reinstalling just the db objects?
    Thanks,
    Dave

    I have found out what it was that needed loading into the database, it wasn't BI Publisher specific after all. It is the database callout utility and JPublisher classes, which are used when calling out to invoke web services. They're loaded using loadjava command into the database.

  • Database componentes required/excluded for RMAN and Grid control repository

    I'm planning creation of a centralized 10gR2 RMAN repository for my production/dev environment, and needed a basic, barebones database. We may also use that same database as a repository for 10g OEM Grid Control in the future, so I wanted to ensure I was prepared for that.
    None of the documentation says anything about particular required components for RMAN, only that a database is needed. So am I allowed to deselect all items from the following DBCA list? I didn't expect any problems with the optional components, but wanted to make sure that RMAN or Grid control would function, were I to disable Oracle JVM or XML DB. My standard loadout (for better or worse) is to include everything in my production/dev databases, and I didn't want that to be the case with this one.
    Database Components:
    Oracle Data Mining
    Oracle Text
    Oracle OLAP
    Oracle Spatial
    Enterprise Manager Repository
    Standard Database Components:
    Oracle JVM
    Oracle XML DB
    Oracle Intermedia

    Thanks. For that matter, do DBA's in the general population install those standard oracle components? I have them there in my default installs just because of the message 'Oracle recommends you have these installed.' in the DBCA screen.

  • How to know what database components have been installed on my database?

    How to know what database components that have been installed on my database using SQL*PLUS tool? (10g 10.2.0)
    Edited by: frank.qian on Nov 8, 2008 10:55 PM

    Hi..
    >
    SQL> select comp_name,comp_id,version,status from dba_registry;
    select comp_name,comp_id,version,status from dba_registry
    The error on the first line:
    ORA-00942:The table or view not exis.
    >
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    sys >desc dba_registry
    Name                                                                                                      Null?    Type
    COMP_ID                                                                                                   NOT NULL VARCHAR2(30)
    COMP_NAME                                                                                                          VARCHAR2(255)
    VERSION                                                                                                            VARCHAR2(30)
    STATUS                                                                                                             VARCHAR2(11)
    MODIFIED                                                                                                           VARCHAR2(20)
    NAMESPACE                                                                                                 NOT NULL VARCHAR2(30)
    CONTROL                                                                                                   NOT NULL VARCHAR2(30)
    SCHEMA                                                                                                    NOT NULL VARCHAR2(30)
    PROCEDURE                                                                                                          VARCHAR2(61)
    STARTUP                                                                                                            VARCHAR2(8)
    PARENT_ID                                                                                                          VARCHAR2(30)
    OTHER_SCHEMAS                                                                                                      VARCHAR2(4000)
    sys >select COMP_ID,COMP_NAME,VERSION,STATUS from dba_registry;
    COMP_ID                        COMP_NAME                      VERSION      STATUS
    CATALOG                        Oracle Database Catalog Views  10.2.0.4.0   VALID
    CATPROC                        Oracle Database Packages and T 10.2.0.4.0   VALID
                                   ypes
    OWM                            Oracle Workspace Manager       10.2.0.4.3   VALID
    JAVAVM                         JServer JAVA Virtual Machine   10.2.0.4.0   VALID
    XML                            Oracle XDK                     10.2.0.4.0   VALID
    CATJAVA                        Oracle Database Java Packages  10.2.0.4.0   VALID
    EXF                            Oracle Expression Filter       10.2.0.4.0   VALID
    ODM                            Oracle Data Mining             10.2.0.4.0   VALID
    CONTEXT                        Oracle Text                    10.2.0.4.0   VALID
    XDB                            Oracle XML Database            10.2.0.4.0   VALID
    RUL                            Oracle Rules Manager           10.2.0.4.0   VALID
    ORDIM                          Oracle interMedia              10.2.0.4.0   VALID
    APS                            OLAP Analytic Workspace        10.2.0.4.0   VALID
    XOQ                            Oracle OLAP API                10.2.0.4.0   VALID
    AMD                            OLAP Catalog                   10.2.0.4.0   VALID
    SDO                            Spatial                        10.2.0.4.0   VALID
    EM                             Oracle Enterprise Manager      10.2.0.4.0   VALID

  • Java Swing Database Components

    Heloo guys!
    Anyone knows where to download Java Swing Database Components??

    http://www.jars.com/utilities/libraries/resource.php/28653
    http://sourceforge.net/projects/jsdbc/
    create your own rather.

  • Which are Oracle database components that Siebel need?

    Hi Everyone,
    I'm a beginner about Siebel application. I will install Oracle database software but Installation guide cannot be found about Oracle database components.
    Please suggest about this.
    Thanks,
    Hiko

    Hi,
    If your question is related with the installation of Oracle database, then you can find the step by step installation from the link below:
    http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
    In addition, if you're new to Siebel Applications then you better download the documentation library about Siebel Applications:
    http://www.oracle.com/technology/documentation/siebel.html
    After you check the documentation, if you have questions, I'd like to help.
    Regards,
    Cuneyt

  • Swing database components!!!

    Hi!!!
    Anybody knows how to use swing database components...?
    And where can i download complete JDBC tutorials.....
    Im new to java swing............
    Your help is greatly appreciated.....
    =-samer=-

    I just downloaded Java Swing Database Components and tried the demo application
    "HomeDatabase.jar" which worked well.
    I have experience with jdbc but not with jsdbc
    A JDBC tutorial is here.

  • Database Components in Oracle 8i

    Hello,
    How to find all the Oracle Database features installed on Oracle 8i.
    Thanks

    launch oracle uinversal installer and view it from there

  • -Xmx considered evil (at least in the Windows desktop)

    I've written my own launcher (actually, my own "wrap up Java as a COM object"). Occasionally, and rarely, the InitializeJVM call returns -4 (JNI_ENOMEM), even though there's plenty of memory available, according to the Task Manager. Reducing the max heap size gets around the problem, but that's not good, because my application can be a bit of a memory hog.
    So, I have two questions:
    1. What does {color:#ff0000}InitializeJVM {color}actually do (on Windows)? Does it do a VirtualAlloc MEM_COMMIT? If it's not committing, it can't possibly run out of virtual address space. But, it's silly for it to commit. Besides, looking at the memory usage more closely, it's clear that the heap is not fully committed. So, does it MEM_COMMIT then MEM_DECOMMIT? That doesn't make sense.
    2. Why does Java bother with a maximum heap size, anyway? Windows doesn't restrict process space. Of course, the underlying resource, the page file, can be exhausted. But them's the breaks. I do not see how Java can possibly guarantee the requested heap space will be available in the page file (e.g., as committed memory) when needed, since it doesn't commit what it's not using. Some other process could easily gobble up the page file and leave none for me.
    I imagine Java is doing something I don't understand. I wish I did understand it, because then I could fix my problem.
    I'm hoping someone with access to the code implementing InitializveJVM can read it and tell me how it treats the -Xmx parameter.

    Doctor_Dad wrote:
    Memory leaks are possible in both GC'ed and non-GC'ed environments. I maintain it's easier to think about in non-GC'ed environments. In an alloc/free environment, the programmer has the obligation, having coded the alloc, to code the free and to arrange to have it called. He can then use the object. In a GC'ed environment, there's no simple way to think about how to ensure that the newly created object will eventually become garbage. That is my fundamental objection to Garbage Collection. It is impossible to think about clearly. And what matters in the business of software development is thought. Not technology. Not fancy Design Paradigms. Thought.
    It is the same in both environments actually. And it applies to any resource not just memory.
    Any resource has a runtime scope. At the end of that scope it must be deallocated.
    The correct way for a designer and/or implementator to reduce problems is to consider that scope when the resource is first acquired and code appropriately for that.
    An object's being garbage is a system wide attribute. An object reference exists in a web of references and one hopes one can turn the entire web into garbage by slicing a particular strand. But how easy is it to document (+a priori+) or determine (+a posteriori+) what that web is and how to slice it?
    Except for the very, very rare object that is not a problem because of the limited set of references to it. If one has more than one type of class in even large apps which has more than a couple references then it would at least suggest a possible problem with the design.
    The de-reference of a dead pointer is a bug that is often stumbled on during ordinary testing. A GC-memory leak can't be found unless you're actually looking for it with a memory analyzer. (OK, the same is true of memory leaks in non-GC'ed systems.)
    (Ok nbr 2: De-referencing a dead pointer is a bug that can be very hard to diagnose.)
    Simple solution to 2, set it to null. This is regardless of language being used.
    And then there's the folk that have very tight scheduling deadlines and don't like GC randomly stealing CPU cycles. I'm not one of those people, so don't argue to me that it can all be adjusted with the right -XX parameter. I don't have any facts at my disposal to dispute it. However, the people I talk to who do have those deadlines say they can't use Java because it's GC'ed.
    Huh?
    I can only suppose that perhaps you meant someone with very strict timing requirements since that is the only relation to CPU. Most people that use GC options are either attempting to squeeze extra performance out of a system or they have a system that for some reason bogs down due to GC. Myself I suspect that the latter is due to a poor system rather than a short coming in GC itself and performance is always (again any language) much more stongly impacted by requirements/design than by implementation.

  • Applying transaction log corrupted database?

    Hi experts,
    Symptoms:
      I built a standby system this Monday and I completed a full DB restore without errors. I used log shipping to apply logs but an error occurred: SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 20:5746350; actual 0:0). It occurred during a read of page (20:5746350) in database ID 5 at offset 0x00000af5d5c000 in file 'l:\TCPDATA4\TCPDATA19.ndf'.
      I run dbcc page and found page(20:5746350) did corrupt on standby system. However, I ran dbcc page on production and it is ok. I restored this full db to another standby and ran dbcc page and it is ok. Also, Checkalloc, Checkcatalog, Checktable on production are ok.
    Questions:
      Does checktable detect secondary indexes corruption? I am re-compressing COSP indexes and running full checkdb on production right now to find out what's going on in our DB. How do I fix this issue? Any information will be really appreciated.
    Error message:
    2011-08-23 17:26:00.19 spid52      The log shipping secondary database TCCDBM1.TCP has restore threshold of 45 minutes and is out of sync. No restore was performed for 1 minutes. Restored latency is 720 minutes. Check agent log and logshipping monitor information.
    2011-08-23 17:26:39.62 Backup      Log was restored. Database: TCP, creation date(time): 2011/07/03(05:36:16), first LSN: 184193:4075900:1, last LSN: 184193:7288500:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'w:\LogB\TCP_20110822213010.trn'}). This is an informational message. No user action is required.
    2011-08-23 17:28:00.88 spid52      Error: 14421, Severity: 16, State: 1.
    2011-08-23 17:28:00.88 spid52      The log shipping secondary database TCCDBM1.TCP has restore threshold of 45 minutes and is out of sync. No restore was performed for 2 minutes. Restored latency is 716 minutes. Check agent log and logshipping monitor information.
    2011-08-23 17:28:34.03 Backup      Log was restored. Database: TCP, creation date(time): 2011/07/03(05:36:16), first LSN: 184193:7288500:1, last LSN: 184193:10880343:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'w:\LogB\TCP_20110822213511.trn'}). This is an informational message. No user action is required.
    2011-08-23 17:28:53.06 spid65      Error: 824, Severity: 16, State: 2.
    2011-08-23 17:28:53.06 spid65      SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 20:5746350; actual 0:0). It occurred during a read of page (20:5746350) in database ID 5 at offset 0x00000af5d5c000 in file 'l:\TCPDATA4\TCPDATA19.ndf'.  Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
    2011-08-23 17:30:00.54 spid52      Error: 14421, Severity: 16, State: 1.
    2011-08-23 17:30:00.54 spid52      The log shipping secondary database TCCDBM1.TCP has restore threshold of 45 minutes and is out of sync. No restore was performed for 2 minutes. Restored latency is 713 minutes. Check agent log and logshipping monitor information.
    2011-08-23 17:30:35.94 spid53      Error: 824, Severity: 16, State: 2.

    Hi Dennis!
    I understand your reasonable doubt, but think that physical corruptions are 99,999...% caused by a hardware failure e.g. a defective RAM module, or a related, low-level failure as e.g. an outdated NIC driver, etc.
    Then, in this case it is clear that you have a platform problem only on your standby system, and not in the one running productively right now.
    Maybe you already checked your platform, but you should take into account that in most cases just reading the logs is not enough; stress tests on all of the components are usually necessary. Most of the time, when we analyze hardware related problems, the problem is only reproduced when special tests are performed. Furthermore it is possible that more than one component is weak or broken.
    My recommendation is that you check the components in this order:
       - disks (complete surface) (while SAP and SQL Server are shut down)
       - disk controller
       - Memory (stress test)
       - CPU
       - all other components
    Consider that restoring a backup and running in a damaged platform would imply further problems. You would be waiting until the next problem arises and that would imply a system halt or corruptions, maybe even with data loss.
    Once the hardware checked and -if necessary- fixed, you can proceed as explained in SAP notes 142731 and 1420452. Of course you can also restore in a different hardware, but remember checking the platform as it is also exposed to hardware failures.
    Cheers!!
    --Jesú

  • Regarding Logical database and  select statement..

    Hi
    Experts.
    i would  like to  know the  diff b/w logical data base & select statement  while using report.
    wt is the use of logical databases in R/3. is there   any   advantage  used in the  reports.
    Thanks & Regards..
    Spandana.

    Dear Spandana,
      Go through the below description of LDB. I hope you wil get a fair amount of idea.
    SAP comes loaded with all the extras. Among the extras that are most helpful to IT managers are all the access routines needed to pull any business object that managers can think of out of SAP databases. However, SAP has not thought of everything where your particular applications are concerned. SAP organizes its standard database tables to service business units based on conventional business applications. Itu2019s likely your business requires something new, perhaps even something exotic. In that case, you will need to create a new database, using information from different places. Basically, you need a logical database. You need to create a virtual business data object repository consisting of a new kind of record or table that suits your purposes. In addition, the repository should be composed of information that is actually stored in a number of different locations, none of them necessarily logically associated with one another. Letu2019s take a closer look at creating logical databases.
    A case for a logical database
    Suppose my company manufactures widgets of the most obscure variety, and they are components of other widgets. I sell my widgets as raw material for the more sophisticated widgets built by others, but in some cases I actually partner with other manufacturers in creating yet another class of widget. Now, in my world, I consequently have customers who are also partners. I sell to them and I partner with them in manufacturing and distribution. Also, I need an application that uses both of these dual-use relationships.
    Essentially, I have a customer database and a partner database. Neither contains records that are structured to contain the identifying particulars of the other. Thus, I need a hybrid database that gives me tables detailing these hybrid relationships. What can I do? I can go the long way around and write a new database, pulling information from both and creating new objects with a customized program that I write by hand. However, this process is cumbersome and contains maintenance issues. On the other hand, I can use SAPu2019s logical database facility, create my logical database in a couple of minutes, and have no maintenance issues at all.
    Logical database structures
    There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
    u2022     Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
    u2022     Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
    u2022     Database access programming: Once youu2019ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
    Creating your own logical database
    ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s a step-by-step guide:
    1.     Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
    2.     Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
    3.     Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
    4.     Now comes the fun part! You must specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once youu2019ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you donu2019t have to write a single line of code.
    Watch out!
    The use of very large tables will degrade the performance of a logical database, so be aware of that trade-off. Remember that some tables in SAP are very complex, so they will be problematic in any user-defined logical database.
    Declaring a logical database
    Hereu2019s another surprising feature of logical databases: You do not assign them in your ABAP/4 Code. Instead, the system requires that you specify logical databases as attributes. So when you are creating a report, have your logical database identifier (the name you gave it) on hand when you are defining its attributes on the Program Attributes screen. The Attributes section of the screen (the lower half) will include a Logical database field, where you can declare your logical database.
    Logical databases for increasing efficiency
    Why else would you want to create a logical database? Consider that the logical databases already available to you begin with a root node and proceed downward from there. If the data object you wish to construct consists of items that are all below the root node, you can use an existing logical database program to extract the data, then trim away what you donu2019t want using SELECT statementsu2014or you can increase the speed of the logical database program considerably by redefining the logical database for your object and starting with a table down in the chain. Either way, youu2019ll eliminate a great deal of overhead.
    Regards
    Arindam

  • ACS database not functioning after changing secondary acs ip.

    Hi.. im having 2 ACS 3.1 server. ACS01 (Primary) & ACS02 (Secondary). Recently we have moved ACS02 to another site and changed its ip address.
    When we do database replication from ACS01, we received error message saying that ACS02 has denied replication request.
    Any idea whats may be the problem ?

    Consider these points when you implement the Cisco Secure database replication feature:
    1) ACS only supports database replication to other ACS servers. All ACS servers that participate in Cisco Secure database replication must run the same version and patch level of ACS.
    2)The primary server transmits the compressed, encrypted copy of its database components to the secondary server. This transmission occurs over a TCP connection, with port 2000. The TCP session is authenticated and uses an encrypted, Cisco-proprietary protocol.
    3)Only suitably configured, valid ACS hosts can be secondary servers. To add a secondary server, configure it in the AAA Servers table in the Network Configuration section of this document. When a server is added to the AAA Servers table, the server appears for selection as a secondary server in the AAA Servers list under Replication Partners, on the Cisco Secure database replication page.
    4)The primary server must be configured as an AAA server and must have a key. The secondary server must have the primary server configured as an AAA server and its key for the primary server must match the primary servers own key.
    5)Replication to secondary servers takes place sequentially in the order listed in the Replication list under Replication Partners, on the Cisco Secure database replication page. 6)The secondary server, which receives the replicated components, must be configured to accept database replication from the primary server. To configure a secondary server for database replication, refer to the Configuring a Secondary Cisco Secure ACS Server section of this document.
    7)ACS does not support bi-directional database replication. The secondary server, which receives the replicated components, verifies that the primary server is not on its Replication list. If not, the secondary server accepts the replicated components. If so, it rejects the components.
    8)To replicate user-defined RADIUS vendor and vendor-specific attribute (VSA) configurations successfully, the definitions to be replicated must be identical on the primary and secondary servers. This includes the RADIUS vendor slots the user-defined RADIUS vendors occupy. For more information about user-defined RADIUS vendors and VSAs, refer to the User-Defined RADIUS Vendors and VSA Sets section of the document Cisco Secure ACS Command-Line Database Utility.

  • Steps to create LOGICAL DATABASE in sap

    hi guys,
    i have gone through many documents about LDB. But, i didnt get the steps to create a LDB.
    plz provide me with the steps to be followed to create a LDB.
    thnx,
    shivaa.

    Hi Shiva,
    This might help you!
    Logical database structures
    There are three defining entities in an SAP logical database. You must be clear on all three in order to create and use one.
    Table structure: Your logical database includes data from specified tables in SAP. There is a hierarchy among these tables defined by their foreign keys (all known to SAP), and you are going to define a customized relationship between select tables. This structure is unique and must be defined and saved.
    Data selection: You may not want or need every item in the referenced tables that contributes to your customized database. There is a selection screen that permits you to pick and choose.
    Database access programming: Once youu2019ve defined your logical database, SAP will generate the access subroutines needed to pull the data in the way you want it pulled.
    Creating your own logical database
    ABAP/4 (Advanced Business Application Programming language, version 4) is the language created by SAP for implementation and customization of its R/3 system. ABAP/4 comes loaded with many predefined logical databases that can construct and table just about any conventional business objects you might need in any canned SAP application. However, you can also create your own logical databases to construct any custom objects you care to define, as your application requires in ABAP/4. Hereu2019s a step-by-step guide:
    1. Call up transaction SLDB (or transaction SE36). The path you want is Tools | ABAP Workbench | Development | Programming Environment | Logical Databases. This screen is called Logical Database Builder.
    2. Enter an appropriate name in the logical database name field. You have three options on this screen: Create, Display, and Change. Choose Create.
    3. Youu2019ll be prompted for a short text description of your new logical database. Enter one. Youu2019ll then be prompted to specify a development class.
    4. Now comes the fun part! You must specify a root node, or a parent table, as the basis of your logical database structure. You can now place subsequent tables under the root table as needed to assemble the data object you want. You can access this tree from this point forward, to add additional tables, by selecting that root node and following the path Edit | Node | Create. Once youu2019ve saved the structure you define in this step, the system will generate the programming necessary to access your logical database. The best part is you donu2019t have to write a single line of code.
    Watch out!
    The use of very large tables will degrade the performance of a logical database, so be aware of that trade-off. Remember that some tables in SAP are very complex, so they will be problematic in any user-defined logical database.
    Declaring a logical database
    Hereu2019s another surprising feature of logical databases: You do not assign them in your ABAP/4 Code. Instead, the system requires that you specify logical databases as attributes. So when you are creating a report, have your logical database identifier (the name you gave it) on hand when you are defining its attributes on the Program Attributes screen. The Attributes section of the screen (the lower half) will include a Logical database field, where you can declare your logical database.
    Logical databases for increasing efficiency
    Why else would you want to create a logical database? Consider that the logical databases already available to you begin with a root node and proceed downward from there. If the data object you wish to construct consists of items that are all below the root node, you can use an existing logical database program to extract the data, then trim away what you donu2019t want using SELECT statementsu2014or you can increase the speed of the logical database program considerably by redefining the logical database for your object and starting with a table down in the chain. Either way, youu2019ll eliminate a great deal of overhead.
    Reward if useful.
    Thankyou,
    Regards.

  • Database Upgradation from oracle 9.2.0.8 to oracle11gR2

    Hi
    we are using AIX 5.3 TL 10 SP4 and we are upgrading DB from oracle9.2.0.8 to oracle 11.2.0.2
    i am having some doubt from below pre-upgrade scripts out put.
    oratst@ebsdevdb on /tmp # sqlplus "/as sysdba"
    SQL*Plus: Release 9.2.0.8.0 - Production on Mon Jul 4 10:11:48 2011
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.8.0 - Production
    SQL> spool 11202_upgrade.txt
    SQL> @utlu112i.sql
    Oracle Database 11.2 Pre-Upgrade Information Tool 07-04-2011 10:17:06
    Script Version: 11.2.0.2.0 Build: 001
    Database:
    --> name: EBSTEST
    --> version: 9.2.0.8.0
    --> compatible: 9.2.0
    --> blocksize: 8192
    --> timezone file: V1
    Logfiles: [make adjustments in the current environment]
    --> The existing log files are adequate. No changes are required.
    Tablespaces: [make adjustments in the current environment]
    --> SYSTEM tablespace is adequate for the upgrade.
    .... minimum required size: 8546 MB
    --> TOOLS tablespace is adequate for the upgrade.
    .... minimum required size: 8 MB
    --> TEMP tablespace is adequate for the upgrade.
    .... minimum required size: 61 MB
    --> AR_TABLE tablespace is adequate for the upgrade.
    .... minimum required size: 33497 MB
    --> FND_TABLE tablespace is adequate for the upgrade.
    .... minimum required size: 45447 MB
    --> AMVD tablespace is adequate for the upgrade.
    .... minimum required size: 7 MB
    --> ASOD tablespace is adequate for the upgrade.
    .... minimum required size: 7 MB
    --> CCTD tablespace is adequate for the upgrade.
    .... minimum required size: 7 MB
    --> IBUD tablespace is adequate for the upgrade.
    .... minimum required size: 1 MB
    --> IEMD tablespace is adequate for the upgrade.
    .... minimum required size: 5 MB
    --> IEOD tablespace is adequate for the upgrade.
    .... minimum required size: 4 MB
    --> JTFD tablespace is adequate for the upgrade.
    .... minimum required size: 135 MB
    --> OKCD tablespace is adequate for the upgrade.
    .... minimum required size: 34 MB
    --> XDPD tablespace is adequate for the upgrade.
    .... minimum required size: 7 MB
    --> XNPD tablespace is adequate for the upgrade.
    .... minimum required size: 7 MB
    --> APPS_UNDOTS1 tablespace is adequate for the upgrade.
    .... minimum required size: 849 MB
    Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    Note: Pre-upgrade tool was run on a lower version 64-bit database.
    --> If Target Oracle is 32-Bit, refer here for Update Parameters:
    WARNING: --> "compatible" must be set to at least 10.1.0
    --> If Target Oracle is 64-Bit, refer here for Update Parameters:
    WARNING: --> "compatible" must be set to at least 10.1.0
    WARNING: --> "shared_pool_size" needs to be increased to at least 532 MB
    WARNING: --> "java_pool_size" needs to be increased to at least 128 MB
    Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    -- No renamed parameters found. No changes are required.
    Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    --> optimizer_max_permutations 10.1 OBSOLETE
    --> row_locking 10.1 OBSOLETE
    --> undo_suppress_errors 10.1 OBSOLETE
    --> max_enabled_roles 10.1 DEPRECATED
    --> enqueue_resources 10.2 OBSOLETE
    --> sql_trace 10.2 DEPRECATED
    --> background_dump_dest 11.1 DEPRECATED replaced by "diagnostic_dest"
    --> user_dump_dest 11.1 DEPRECATED replaced by "diagnostic_dest"
    Components: [The following database components will be upgraded or installed]
    --> Oracle Catalog Views [upgrade] VALID
    --> Oracle Packages and Types [upgrade] VALID
    --> JServer JAVA Virtual Machine [upgrade] VALID
    --> Oracle XDK for Java [upgrade] VALID
    --> Real Application Clusters [upgrade] INVALID
    --> Oracle Text [upgrade] VALID
    --> Oracle XML Database [install]
    --> Oracle Java Packages [upgrade] VALID
    --> Oracle interMedia [upgrade] VALID
    --> Spatial [upgrade] VALID
    Miscellaneous Warnings
    WARNING: --> Passwords exist in some database links.
    .... Passwords will be encrypted during the upgrade.
    .... Downgrade of database links with passwords is not supported.
    WARNING: --> Deprecated CONNECT role granted to some user/roles.
    .... CONNECT role after upgrade has only CREATE SESSION privilege.
    WARNING: --> Database is using a timezone file older than version 14.
    .... After the release migration, it is recommended that DBMS_DST package
    .... be used to upgrade the 9.2.0.8.0 database timezone version
    .... to the latest version which comes with the new release.
    WARNING: --> Database contains INVALID objects prior to upgrade.
    .... The list of invalid SYS/SYSTEM objects was written to
    .... registry$sys_inv_objs.
    .... The list of non-SYS/SYSTEM objects was written to
    .... registry$nonsys_inv_objs.
    .... Use utluiobj.sql after the upgrade to identify any new invalid
    .... objects due to the upgrade.
    .... USER ADWANIAH has 1 INVALID objects.
    .... USER APPS has 34 INVALID objects.
    .... USER CHAKKACHANSA has 1 INVALID objects.
    .... USER FA_USER has 9 INVALID objects.
    .... USER SYSSEL has 2 INVALID objects.
    .... USER SYSTEM has 30 INVALID objects.
    .... USER XXITDFINAD has 7 INVALID objects.
    WARNING: --> SYSTEM schema default tablespace has been altered.
    .... The SYSTEM schema default tablespace is currently set to TOOLS.
    .... Prior to upgrading your database please reset the
    .... SYSTEM schema default tablespace to SYSTEM using the command:
    .... ALTER USER SYSTEM DEFAULT TABLESPACE SYSTEM;
    WARNING: --> Database contains schemas with objects dependent on DBMS_LDAP package.
    .... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs.
    .... USER APPS has dependent objects.
    Recommendations
    Oracle recommends gathering dictionary statistics prior to
    upgrading the database.
    To gather dictionary statistics execute the following commands
    while connected as SYSDBA:
    EXECUTE dbms_stats.gather_schema_stats('CTXSYS',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('DBSNMP',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('MDSYS',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('ORDPLUGINS',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('ORDSYS',options=>'GATHER'
    estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('OUTLN',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('SYS',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    EXECUTE dbms_stats.gather_schema_stats('SYSTEM',options=>'GATHER'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE
    ,method_opt=>'FOR ALL COLUMNS SIZE AUTO'
    ,cascade=>TRUE);
    Oracle recommends removing all hidden parameters prior to upgrading.
    To view existing hidden parameters execute the following command
    while connected AS SYSDBA:
    SELECT name,description from SYS.V$PARAMETER WHERE name
    LIKE '\_%' ESCAPE '\'
    Changes will need to be made in the init.ora or spfile.
    Oracle recommends reviewing any defined events prior to upgrading.
    Changes will need to be made in the init.ora or spfile.
    Oracle recommends reviewing any defined events prior to upgrading.
    To view existing non-default events execute the following commands
    while connected AS SYSDBA:
    Events:
    SELECT (translate(value,chr(13)||chr(10),' ')) FROM sys.v$parameter2
    WHERE UPPER(name) ='EVENT' AND isdefault='FALSE'
    Trace Events:
    SELECT (translate(value,chr(13)||chr(10),' ')) from sys.v$parameter2
    WHERE UPPER(name) = '_TRACE_EVENTS' AND isdefault='FALSE'
    Changes will need to be made in the init.ora or spfile.
    SYSAUX Tablespace:
    [Create tablespace in the Oracle Database 11.2 environment]
    --> New "SYSAUX" tablespace
    .... minimum required size for database upgrade: 500 MB
    From above output script
    1)SYSTEM tablespace is adequate for the upgrade.
    .... minimum required size: 8546 MB
    From system tablespace minimum required size means free space from system tablespace or total size of system tablespace?
    i am going to use dbua utility for upgrade means does it alter tablespace as per output of scripts or we need to manually alter tablespace size as per requirement?
    2)WARNING: --> Database contains schemas with objects dependent on DBMS_LDAP package.
    .... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs.
    .... USER APPS has dependent objects.
    what is above warning and how can i configure ACL's for APPS User?
    Thanks
    With Regards
    A-Z

    Hi
    oratst@ebsdevdb on /ebdbh/11g/data/cfgtoollogs/dbua/ebstest/upgrade1 # more Upgrade_Directive.log
    Connected.
    ODMA_DIRECTIVE:VERSION:9.2.0.8
    ODMA_DIRECTIVE:MIGRATE_SID:
    ODMA_DIRECTIVE:ORA:IGNORE:06512:
    ODMA_DIRECTIVE:ORA:FATAL:00600:
    ODMA_DIRECTIVE:ORA:FATAL:01012:
    ODMA_DIRECTIVE:ORA:FATAL:01031:
    ODMA_DIRECTIVE:ORA:FATAL:01034:
    ODMA_DIRECTIVE:ORA:FATAL:01078:
    ODMA_DIRECTIVE:ORA:FATAL:01092:
    ODMA_DIRECTIVE:ORA:FATAL:01109:
    ODMA_DIRECTIVE:ORA:FATAL:01119:
    ODMA_DIRECTIVE:ORA:FATAL:01507:
    ODMA_DIRECTIVE:ORA:FATAL:01722:
    ODMA_DIRECTIVE:ORA:FATAL:03113:
    ODMA_DIRECTIVE:ORA:FATAL:03114:
    ODMA_DIRECTIVE:ORA:FATAL:07445:
    ODMA_DIRECTIVE:ORA:FATAL:12560:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01650:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01651:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01652:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01653:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01654:
    ODMA_DIRECTIVE:ORA:RECOVER_TBS:01655:
    ODMA_DIRECTIVE:ORA:RECOVER_ROLL:01562:
    ODMA_DIRECTIVE:ORA:RECOVER_INIT:04031:
    ODMA_DIRECTIVE:SCRIPT:UPGRADE:rdbms/admin/catupgrd.sql:
    ODMA_DIRECTIVE:BOUNCE_DATABASE:UPGRADE:
    ODMA_DIRECTIVE:SCRIPT:UPGRADE:rdbms/admin/catuppst.sql:
    ODMA_DIRECTIVE:SCRIPT:UPGRADE:sqlplus/admin/help/hlpbld.sql helpus.sql:
    Thanks
    With Regards
    A-Z

Maybe you are looking for