You are on page 1of 6

Schemas

A given Oracle database can store the objects associated with a single installation of Oracle E-Business Suite. In general, product code objects are stored in the APPS schema, whereas product data objects are stored in the relevant base product schemas. These schemas are described further below.

The APPS Schema


The APPS schema has access to the complete Oracle E-Business Suite data model. It is analogous to the SYSTEM schema, which has access to the entire database. Oracle E-Business Suite responsibilities connect to an APPS schema, and the environment variable FNDNAM is set to the name of the APPS schema. The APPS schema owns all the code objects for the Oracle E-Business Suite, and has access to all data objects. There is one APPS schema for every product installation group. Utilizing a single schema that has access to all objects avoids cross-product dependencies, and creates a huband-spoke access model rather than the spider web model that would otherwise be needed. The APPS schema also improves the reliability of and reduces the time needed for installation, upgrading, and patching, by eliminating the need for cross-product grants and synonyms.

Significance of APPS schema Lets start with database objects; a database could contain various kinds of objects, so these are the various objects you create in a database. Tables, Indexes, Sequences, Synonyms, Views and code.

Lets try to understand these objects... What is a table? Table is a structure which contains data in it. If you want to store data in a database, you have to create a table first. Table would have columns and then you will insert records in it. When you talk about tables, always imagine an excel sheet it would have columns and records. What are indexes? Index is an object that you will create in order to improve the performance of data retrieval.

What are Sequences? Sequence is an object that generates unique IDs or Numbers. Why would you need them? Answer goes like this... There would be a column in each table called primary key column which has unique IDs in it. In order to automatically generate these IDs you would depend on these sequences than programmatically populating them. What are Synonyms? Is simply another name for tables, so if you have created a table and called it X, you can create a synonym called Y pointing to the same table X. So now if we use Y, system would know we are actually talking about X. What are Views? View is a virtual Window on the table. Lets say if a table has ten columns and you dont want to display all those ten columns to particular group of users, and you want to show only eight columns, you can create a view on this table and give access on this view to particular group of users. They can see only eight columns. You can also do restriction on records. It does not contain any data within itself itll be simply pointing to the table containing data. What are Packages / Procedures and Functions? They are objects which are programming instructions. Oracle database lets you to store programming instructions in the database. Most of the programming instructions are stored on a file, sitting on application server eg. Forms file / Report file. But some of the code resides on database as well. Schema Lets talk about Schema. We just discussed about various database objects, so if you like to create a database object; you are not going to directly create in database, you have to create schema first. Schemas are virtual partitions or rooms in the database. So, if you want to do your work, you have to do it in your room. You would create a separate room for each purpose. For example, if multiple applications are sharing the database, each of them will be having their own room.

So, if I want to do some work, Ill ask my DBA to create a room for me. Room is simply an example, technical word is Schema. A Schema would be created for me and I can do whatever work I want in my Schema like creation of Tables, Views, Indexes etc., whatever I create, I have access on that. But you cant see objects of other schema. You can see them if you have grants to do so. E-Business Suites Schema Now we are going to discuss about E-Business suites Schema. We have already discussed about the concept of schemas, when you install E-Business suite database, it installs one schema for one module. There are three hundred plus modules in E-Business suite Release 12, so there are three hundred plus schemas in R12 database. Here in this example you see one Schema for Accounts Payables, one for Accounts Receivables etc.,

Each of these schemas will contain tables in it. Tables would have actual data. So, AP Schema would have Accounts Payables related tables. AR Schema would have Accounts Receivables related tables.

In our article about E-Business suite architecture, we understood that application services are installed on application server and database services on database server. Application server will be constantly talking to the database. Data will be stored in the database and application logic is stored in the application server.

So, application has to be in constant touch with the database in order to retrieve or write data. APPS Schema Lets talk about APPS Schema. We have already discussed that application services are in touch with the database, so when you want to do some activity on the database, you have to log in to some schema. APPS is a special schema with which the application connects. It is not pointing to any module and its a special schema allowing the application to connect to the database.

The actual data is residing in non-APPS schemas as you can see in the above diagram AP, AR and GL schemas have the actual tables. The data is sitting outside to APPS and application is connecting to APPS.

Once application is connected to APPS, then application can do queries on tables sitting outside APPS. It has all the required privileges to query tables outside its schema. However in order to simplify the querying Synonyms are created. Other than Synonyms, APPS Schema has Views. Which are virtual windows basically gives restricted access on the table. You must have noted we dont have actual data sitting in APPS; we have Synonyms and Views which are pointing to tables outside APPS. In the actual Schemas of the modules, we have Tables. Beside Tables we have Sequences (which generates sequential numbers). Each module will have its own Sequences within its Schema. Other than Tables and Sequences, these module schemas also contain Indexes (which expedites querying)

Lets again look back to APPS Schema. It has Synonyms and Views, both are pointing to the data outside APPS Schema. Other than that APPS Schema has code. So, all the database code resides in APPS Schema. There is no

code in AP, AR and GL Schema.

So the take home is, the actual data always sits in Schemas related to the modules. Other than that Indexes and Sequences sit there. APPS Schema doesnt have any data and all the code sits in APPS Schema.

You might also like