Wednesday, September 28, 2011

Master DBA and Apps DBA interview questions

Hi,
Below are some of the Master DBA and Apps DBA:


1)Explain the installation and configuration of Oracle SOA?
What steps you followed for building Oracle SOA setup?
What were the major issues faced by you during Oracle SOA installation and configuration?
(Oracle Fusion DBA interview question)

Ans: Check the below link for the installation and configuration process:
http://rafioracledba.blogspot.com/search/label/Oracle%20SOA%20tasks

When installing and configuring SOA.The Repository creation utility(RCU) and SOA version should be same.
Eg: If we are using Oracle RCU version 11.1.1.5.0 than we have to SOA version also 11.1.1.5.0.
I Installed the Oracle RCU version 11.1.1.5.0 and SOA version 11.1.1.2.0 so was facing the issue like SOA infra was not coming up so I upgraded the Oracle SOA version to 11.1.1.5.0 by using upgrade option,while using Oracle SOA version 11.1.1.5.0 than after upgradation,I started SOA managed server it worked.

For Starting the SOA(Service-Oriented Architecture) managed server:

Set the SERVER_NAME and ADMIN_URL environment variables, then run the script with no arguments.

[oracle@nodefmw bin]$ pwd
/Middleware/SOASuite11gR1/wlserver_10.3/common/bin
Usage: startManagedWebLogic [SERVER_NAME] [ADMIN_URL]

for example:

startManagedWebLogic managedserver1 http://localhost:7001
./startManagedWegLogic nodefmw.apac.abc.com http:// nodefmw.apac.abc.com:7001
(OR)
#./startManagedWeblogic.sh soa_server1
User:weblogic
Pass:welcome123

For Starting the BAM(Business Authentication Module) managed server:

#./startManagedWeblogic.sh bam_server1
User:weblogic
Pass:welcome123


2)Have you done DMZ setup?What are the steps followed in doing DMZ setup?
(Oracle Apps DBA interview question)

Ans: Thanks Navdeep for explaing the things beautifully and clearly.For detail steps please
check the Navdeep's link.
Reference:
http://practicalappsdba.wordpress.com/2007/03/26/dmz-configuration-for-irecruitment/

For implementing DMS check the MY ORACLE SUPPORT note:
Oracle E-Business Suite R12 Configuration in a DMZ [ID 380490.1]

A DMZ (De-Militarized Zone) is a separate part of an organization’s network which is a shielded and 'cut off' from the main corporate network and its systems.The DMZ contains technical equipment to prevent access from external parties(say on the Internet) from gaining access to your main systems.

In the IT industry,a demilitarized zone is a single or multi-segment perimeter network that demarks the portion of the corporate network that lies between the intranet and outside networks.Corporate DMZ borders are enforced by firewalls and other dedicated networking devices.


When configuring Oracle E-Business Suite in a DMZ configuration,
firewalls are deployed at various levels to ensure that only the traffic that the architecture expects is allowed to cross the firewall boundaries.
The firewalls ensure that if intrusion attempts against machines in the DMZ are successful,the intrusion is contained within the DMZ and the machines in the intranet are not affected.

The steps followed in doing DMZ setup are as follows:

To make Oracle E-Business Suite modules as secure as possible, the following tasks may need to be performed.

* Use of separate web node for external usage
* Setting of server level profile values
* Associate trust levels to application middle tier nodes
* Mark a subset of responsibilities as available on an external web node
* Deploy a Reverse proxy in front of the external web node
* Configuring a URL firewall and mod security in the reverse proxy
* Run only the required Oracle E-Business Suite Application services on the external web tier


3)What are the background processes in Oracle ASM explain?(oracle DBA interview question)
Ans: The following background processes are an integral part of Automatic Storage Management:

1)ARBn(Actual Rebalance)
* ARBn(Actual Rebalance) performs the actual rebalance data extent movements in an Automatic Storage Management instance.
* There can be many of these processes running at a time, named ARB0, ARB1, and so on.

2)ASMB(ASM Balance)
* ASMB(ASM Balance) runs in a database instance that is using an ASM disk group.
* ASMB communicates with the ASM instance, managing storage and providing statistics.
* ASMB can also run in the ASM instance. ASMB runs in ASM instances when the ASMCMD cp command runs or
* when the database instance first starts if the SPFILE is stored in ASM.

3)GMON(Global monitor)
* GMON(Global monitor) maintains disk membership in ASM disk groups.

4)MARK(Marking)
* MARK marks ASM allocation units as stale following a missed write to an offline disk.
* This essentially tracks which extents require resync for offline disks and

5)RBAL(Rebalance)
* RBAL runs in both database and ASM instances.
* In the database instance,it does a global open of ASM disks.
* In an ASM instance, it also coordinates rebalance activity for disk groups.



4)What are the parameters specific to Oracle ASM explain?(oracle DBA interview question)
Ans: The following parameters for specific to ASM instance They are:

1)ASM_DISKGROUPS
2)ASM_DISKSTRING
3)ASM_POWER_LIMIT
4)ASM_PREFERRED_READ_FAILURE_GROUPS
5)INSTANCE_TYPE
Ofcourse,there are other parameters also like:
DB_CACHE_SIZE,DIAGNOSTIC_DEST,LARGE_POOL_SIZE,PROCESSES,REMOTE_LOGIN_PASSWORDFILE,SHARED_POOL_SIZE

Let us briefly discuss them,
1)ASM_DISKGROUPS:

The ASM_DISKGROUPS initialization parameter specifies a list of the names of disk groups that an ASM instance mounts at startup. Oracle ignores the value that you set for ASM_DISKGROUPS when you specify the NOMOUNT option at startup or when you issue the ALTER DISKGROUP ALL MOUNT statement. The default value of the ASM_DISKGROUPS parameter is a NULL string. If the parameter value is NULL or is not specified, then ASM does not mount any disk groups.

The ASM_DISKGROUPS parameter is dynamic. If you are using a server parameter file (SPFILE), then you should not need to manually alter the value of ASM_DISKGROUPS. ASM automatically adds a disk group to this parameter when the disk group is successfully created or mounted. ASM also automatically removes a disk group from this parameter when the disk group is dropped or dismounted. The following is an example of setting the ASM_DISKGROUPS parameter dynamically:

SQL> ALTER SYSTEM SET ASM_DISKGROUPS = 'CONTROLFILE, DATAFILE, LOGFILE, STANDBY'


2)ASM_DISKSTRING:

The ASM_DISKSTRING initialization parameter specifies a comma-delimited list of strings that limits the set of disks that an ASM instance discovers. The discovery strings can include wildcard characters. Only disks that match one of the strings are discovered. The same disk cannot be discovered twice.

The discovery string format depends on the ASM library and the operating system that are in use. Pattern matching is supported; refer to your operating system-specific installation guide for information about the default pattern matching. For example, on a Linux server that does not use ASMLIB, to limit the discovery process to only include disks that are in the /dev/rdsk/ directory, set ASM_DISKSTRING to:

/dev/rdsk/*

The asterisk is required. To limit the discovery process to only include disks that have a name that ends in disk3 or disk4, set ASM_DISKSTRING to:

/dev/rdsk/*disk3, /dev/rdsk/*disk4

3)ASM_POWER_LIMIT:

The ASM_POWER_LIMIT initialization parameter specifies the default power for disk rebalancing.
The default value is 1 and the range of allowable values is 0 to 11 inclusive. A value of 0 disables rebalancing.
Higher numeric values enable the rebalancing operation to complete more quickly, but might result in higher I/O overhead.

4)ASM_PREFERRED_READ_FAILURE_GROUPS:

The ASM_PREFERRED_READ_FAILURE_GROUPS initialization parameter value is a comma-delimited list of strings that specifies the failure groups that should be preferentially read by the given instance. This parameter is generally used only for clustered ASM instances and its value can be different on different nodes. For example:

diskgroup_name1.failure_group_name1, ...

The ASM_PREFERRED_READ_FAILURE_GROUPS parameter setting is instance specific.
This parameter is only valid for clustered ASM instances and the default value is NULL.
Note:
The ASM_PREFERRED_READ_FAILURE_GROUPS parameter is valid only in Oracle RAC environments.

5)INSTANCE_TYPE:

The INSTANCE_TYPE initialization parameter must be set to ASM for an ASM instance.
This is a required parameter and cannot be modified. The following is an example of the INSTANCE_TYPE parameter
in the initialization file:

INSTANCE_TYPE=ASM


6)DB_CACHE_SIZE

You do not need to set a value for the DB_CACHE_SIZE initialization parameter if you use automatic memory management.

The setting for the DB_CACHE_SIZE parameter determines the size of the buffer cache.
This buffer cache is used to store metadata blocks. The default value for this parameter is suitable for most environments.

7)DIAGNOSTIC_DEST

The DIAGNOSTIC_DEST initialization parameter specifies the directory where diagnostics for an instance are located.
The value for an ASM instance is of the form:

diagnostic_dest/diag/asm/db_name/instance_name

For an ASM instance, db_name defaults to +asm.

8)LARGE_POOL_SIZE

You do not need to set a value for the LARGE_POOL_SIZE initialization parameter if you use automatic memory management.

The setting for the LARGE_POOL_SIZE parameter is used for large allocations.
The default value for this parameter is suitable for most environments.


5)What all the possible ways to convert/copy/transfer non-asm filesystem to asm or viceversa?
What all the conversions possible in asm?(oracle DBA interview question)
Ans: In 10g the possible ways to migrate - DBMS_FILE_TRANSFER, rman (copy vs.
backup), or XMLDB FTP
In 11g, we introduced the asmcmd copy command. Key point here is that copy files
out is great for:
1. archive logs
2. Controlfiles
3. Datafiles for debugging
4. Dumpsets (can be done across platforms)
Copying files in:
TTS
Copy in only supported files.
28
ASMCMD Copy
ASMCMD> ls
+fra/dumpsets/expdp_5_5.dat
ASMCMD> cp expdp_5_5.dat sys@rac1.orcl1:+DATA/dumpsets/ex
pdp_5_5.dat
source +fra/dumpsets/expdp_5_5.dat
target +DATA/dumpsets/expdp_5_5.dat
copying file(s)...
file, +DATA/dumpsets/expdp_5_5.dat,
copy committed.


6)What is ACFS?what are the advantages of ACFS?(oracle DBA interview question)
Ans: The new feature added in Oracle11g release2 for ASM is ACFS(ASM cluster file system)
ACFS is available in 11gR2 for LINUX and few unix platforms and Windows operating system
also have a similar solution is available.

ACFS will work with Single Instance Installations as well as Cluster Databases.
It is strongly integrated with the Oracle Clusterware 11g release2.
One more point to note is - Supported protocols for NAS are NFS(Network file system and CIFS(Common Internet File System).

This new feature is also named Unified Storage Management and allows for storing the following data in ASM:

1)Application File Data
2)Oracle Cluster Registry (OCR)
3)Voting Disk and
4)Oracle Binaries

Major advantages of ACFS are:

1)We will have all the trace files, alert.log,reports in ASM which makes ASM a complete storage management system .Because of this reason both database and non-database files are stored ins ASM and it completely eliminates the need for any third party cluster file systems like veritas and sun clusters.

2) ACFS uses a journaling mechanism and uses endian independent metadata to support large files and file systems to an extent up to exabytes.
A special metadata log structure is maintained for integrity checks and fast recovery through a metadata transaction engine and

3)File systems in ASM can dynamically be expended and contracted with no downtime.
High availability is fully supported through mirroring and striping capabilities for all files now with ASM.

7)what is interconnect(Cache fusion) in Oracle rac?(oracle DBA interview question)
Ans: Starting with Oracle 9i, RAC can transfer blocks from one instance to another this can be called as interconnect (cache fusion).


8)Have you done workflow configuration?(oracle Apps DBA interview question)
Ans: Best link with explaination I found:
http://onlineappsdba.com/index.php/2008/08/01/workflow-notification-mailer-configuration-using-autoconfig-for-outbound-processing/

9)Explain the importance of autoconfig file?(oracle Apps DBA interview question)
Ans:
AutoConfig uses a file called context file, which is used to configure changes.Context file is a XML file having all the parameters of application system.
These parameters are part of some configuration file for some services or it may be part of some environment file.When we create an application system (using Rapid install),context file gets created automatically will all the parameters
and there values. Most of the parameters take default value,where as some parameters takes the value that is supplied
at the time of installation.

All the information required to configure Oracle Apps 11i/R12 are stored in files called as Context file.So there are two context file, one for Apps Tier(Middle Tier) and one for DB Tier.

Oracle apps 11i Context file location is as follows:

Apps Tier:$APPL_TOP/admin/$TWO_TASK.xml
DB Tier:$ORACLE_HOME/appsutil/$TWO_TASK.xml


Oracle apps R12 Context file location is as follows:

Apps Tier:$INST_TOP/appl/admin/$TWO_TASK_.xml
DB Tier:$ORACLE_HOME/appsutil/$TWO_TASK_.xml

Where: TWO_TASK is the SID set for EBS Database.


More details about autoconfig can be extracted from the below mentioned link with nice explaination:

http://onlineappsdba.com/index.php/2008/01/28/autoconfig-in-oracle-apps-11i-r12-12i/


Context file is repository for configuration stored in xml format.
Its xml file and file name format is _.xml in Oracle Apps 11i


10)What all the techniques to improve oracle application patching mechanism?
(oracle Apps DBA interview question)

Ans:
To improve the oracle application patching mechanism in terms of performance and other criteria we can apply
patches as given below:

1)Merge Patches using admrgpch

admrgpch utility is used to merge two or more patches in oracle applications.
The advantage of merging patches is that it reduces downtime and thus very much useful.

Note 1: The syntax for using admrgpch utility is as given below:

admrgpch -s -d -merge_name

For eg:

admrgpch -s -d -merge_name

We have to make sure the the merge path log file "admrgpch.log" does not contain any error,once the two patches
are merged.

Note 2:'admrgpch' utility will not merge patches of different Oracle applications releases and operating systems platforms and with different parallel modes and we cannot use 'admrgpch' utility to merge AD and Non-AD patches.

2)To improve the performance while applying patch using 'adpatch'(auto patch utility) has lot of options like:
options=nocopyportion noautoconfig nogenerateportion hotpatch ... We can use as per our convenience.

Eg:
$adpatch options=noautoconfig
$

3)If you cannot afford downtime than you can apply patch using options=hotpatch,very much useful for production environment here it is not required to keep the application in maintainance mode.

Eg:
$adpatch options=hotpatch

11)How we register new products in Oracle applications?(oracle Apps DBA interview question)
Ans: 'adsplice' is an ad utility which is used to add off-cycle/new product to oracle apps.
i.e. products released between maintenance packs.

Download the product patch which contains information about the new product,'adsplice' control file and other associated files. Go through the readme and apply pre-reqs if any.Now for using 'adsplice' there is a control file newprods.txt. A typical newprods.txt looks like as given below:

product=zsa
base_product_top=*APPL_TOP*
oracle_schema=zsa
sizing_factor=100
main_tspace=ZSAD
index_tspace=ZSAX
temp_tspace=TEMP
default_tspace=ZSAD

If we are using OFA tablespace model then we need to change the last 4 parameters else for OATM(Oracle Application tablespace Model) it is optional.

We have to copy the new-product in $APPL_TOP/admin location and run 'adsplice' utility from 'applmgr' OS user and follow the prompts.Then we can verify that product is correctly spliced or not using adutconf.sql (AD Configuration report).
We need to logout and login again so that the new environment is set.
We can then verify that new _TOP environment variable is set and need to apply the patches for newly added product.

12)What is SHARED APPL_TOP?What are the major advantages and disadvantages of SHARED APPL_TOP?
(oracle Apps DBA interview question)

Ans: Basically Shared APPL_TOP's means sharing APPL_TOP and
COMMON_TOP across the Application Servers.

Benefits:

1)Administration tasks only need to be performed on any one node.
2)Application patches only need to be applied to any one node in the system.
3)Allows the use of "Distributed AD" to reduce downtime (check MetaLink 236469.1).
4)Reduces overall disk space requirements.
5)Makes it easier to add additional nodes to our Applications system.
6)Create single node clones from a shared APPL_TOP multi node system and
7)Merge APPL_TOP(Merge TOPs) from different application tiers into a single application tier APPL_TOP.

Disadvantages:

1)Single point of failure.
2)Performance might be an issue,if shared APPL_TOP's filesystem will be a 'nfs'(network file system) mount.


13)Explain the architecture of Oracle Golden Gate?(Oracle DBA interview question)
Ans: The Oracle GoldenGate software architecture is comprised of three primary components:
1)Capture,
2)Trail Files and
3)Delivery.
As shown in the figure,
This modular approach allows each component to perform its tasks independently of the others,
accelerating data replication and ensuring data integrity.

1)Capture:
Oracle GoldenGate’s Capture module resides on the source database and looks for new transactional activity.The Capture module reads the result of insert, update, and delete operations by directly accessing the database transaction (redo) logs, and then immediately captures new and changed data for distribution.
The Capture module only moves committed transactions—filtering out intermediate activities and rolled-back operations—which not only reduces infrastructure load but also eliminates potential data inconsistencies.Further optimization is achieved through transaction grouping and optional compression features.

2)Trail Files:
Oracle GoldenGate’s Trail Files contain the database operations for the changed data in a transportable,platform-independent data format.
Trail Files are a critical component within Oracle GoldenGate’s optimized queuing mechanism.
They reside on the source and/or target server but exist outside of the database to ensure heterogeneity,improved reliability, and minimal data loss.
This architecture minimizes impact to the source system because no additional tables or queries to the database are required to support the data capture process. The Capture module reads once, and then immediately moves the captured data to the external Trail File for delivery to the target(s).

In the event of an outage at the source and/or target, the Trail Files contain the most-recent
changed data up to the point of the outage, and the data is applied once the systems are back online again.

3)Delivery:
Oracle GoldenGate’s Delivery module takes the changed data from the latest Trail File and applies it to the target database using native SQL for the appropriate relational database management system.Delivery can be made to any open database connectivity–compliant database.
The Delivery module applies each transaction in the same order as it was committed and within the same transactional context as at the source, enabling consistency and referential integrity at the target.
To enhance IT flexibility, captured data can also be delivered to a Java Message Service destination or as a flat file using Oracle GoldenGate Application Adapters.



14)What is difference between Socket & Servlet Mode in Apps Forms?(oracle Apps DBA interview question)
Ans: When forms run SOCKET Mode these are dedicated connection between Client Machine & Form Server (Started by adfrmctl.sh).When Forms run in servlet mode the forms requests are fulfilled by Jserv in Apache .
There will be additional JVM for Forms Request in that case and we won't start form via adfrmctl.sh.

15)How to compile Forms in 11i and R12?(oracle Apps DBA interview question)

Ans: We can Compile Forms in 11i using 'f60gen' utility as follows:

$f60gen module=.fmb userid=apps/ output_file=$XX_TOP/forms/US/.fmx

Where as,In R12 we can Compile Forms using 'frmcmp_batch' utility as follows:

$frmcmp_batch .fmb userid=apps/ output_file=$XX_TOP/12.0.0/form/US/.fmx module_type=form compile_all=special

16)If a patch fail how to proceed in Oracle Application?
Ans: I like the below link for this:

http://oracleappsdba1.blogspot.com/2009/02/oracle-apps-patch-fails.html


17)Describe the steps involved in the upgradation from Oracle 11i to R12 Appplications?
(oracle Apps DBA interview question)

Ans: Atul again described these upgradation steps beautifully in the below mentioned link:

http://onlineappsdba.com/index.php/2008/07/09/upgrade-oracle-apps-11i-to-r1212i-1204-key-points/
http://onlineappsdba.com/index.php/2007/10/13/upgrade-oracle-applications-to-release-1202/
http://onlineappsdba.com/index.php/2008/03/26/upgrade-oracle-applications-to-1204/


We usually prepare the below documents for doing upgrade of Oracle Applications:
1)xls document for preparing a plan and to record the steps of upgrade.
2)Word document for the actual implemented steps in details the steps.




Best regards,

Rafi.

Monday, September 26, 2011

Cost based optimizer approach

Hi,
Performance tuning of Database and queries is very important from DBA's point of view it is no-doubt very vast and many people say it is a deep ocean and tuning can
be done to unlimited extent when we really know our data very well but many times
developers and designers will be having details of data in a better way so tuning as per me is a combined effort where DBA's,developers and Database Designers work together to make a well tune system.In the below example I'm starting with the basics
but in my future posts I will surely put some real time tuning techniques in a detailed way.
We all know how important is the 'optimizer' as depending on setting
of the optimizer and statistics the query will execute better.We all know there are two types of optimizers
1)Rule-based optimizer
2)cost-based optimizer


Let us start with the below example:

For checking the optimizer mode we can use the below approach:

SELECT * FROM V$PARAMETER WHERE NAME = 'optimizer_mode';
(OR)
SQL> show parameter %OPTIMIZER%

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_capture_sql_plan_baselines boolean FALSE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 11.2.0.1
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS

This will tell us the mode for the database. If the value is 'CHOOSE' than the
database is in Cost-Based.However,if there are no statistics on the tables
that a query is based upon, then it is in RULE mode.

To tell for a particular query,we will need to do an EXPLAIN PLAN on the
query. If we see costs associated with the query, then the query is in
COST-BASED mode. Otherwise it is in RULE-BASED mode.

Note 1: we can use the RULE hint to force rule-based mode on any query.
Note 2:
1) Possible values for optimizer_mode = choose/ all_rows/ first_rows/ first_rows[n]
2) The ALL_ROWS optimizer mode uses a cost-based approach to determine the best access path to access your tables.

I'm not focusing on rule-based much as it is not suggested much to use.

Eg:

SQL> conn schema_test
Enter password:
Connected.
SQL> select *from TTTT;

no rows selected

SQL> SET AUTOTRACE TRACEONLY;
SQL> select *from TTTT;

no rows selected


Execution Plan
----------------------------------------------------------

----------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
----------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 2 |
| 1 | TABLE ACCESS FULL| TTTT | 1 | 13 | 2 |
----------------------------------------------------------

Note
-----
- 'PLAN_TABLE' is old version


Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
330 bytes sent via SQL*Net to client
512 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
0 rows processed



Hope it helps...

Happy Oracle Performance tuning learning...

Best regards,

Rafi.

Friday, September 23, 2011

Challenging DBA and Apps DBA interview questions

Hi,
I find some time to write on the challenging Apps DBA interview questions.I found these questions challenging as these questions will surely need some time tolearn,practise along with practical experience on the tasks and concepts of Oracle Apps,RAC.

1)Explain Database migration steps in details?(DBA interview question)
Ans: Database migration or Data migration involves a team effort of DBAs,Developers,Data Modelors/Database Designers
Applications Administrator if the other applications servers like JBOSS/tomcat is involved.When we are working
in team the best way to complete this task is to prepare a plan of tasks along with time and table well in advance on an excell sheet and intimate each of the team members to communicate effectively.
From DBA's point below is an example of one such task,Check the below link for the details:

http://rafioracledba.blogspot.com/2011/04/step-by-step-migration-of-schemas-from.html

2)What are the 3 ips used in RAC configuration,explain them in brief?(DBA interview question)
Ans: 3 IPs used in RAC configuration are public,private and virtual IP.
In brief we can describe them as follows:

1.Public IP address:Public IP adress is the normal IP address typically used to manage storage,system and database.
2.private IP address:Private IP address is used only for internal clustering processing (i.e Cache Fusion or as interconnect).
3.Virtual IP address:VIP is used by database applications to enable fail over when one cluster node fails.


3)What is cache fusion?(DBA interview question)
Ans: Oracle RAC uses Cache Fusion to synchronize the data stored in the buffer cache of each database instance. Cache Fusion moves current data blocks (which reside in memory) between database instances, rather than having one database instance write the data blocks to disk and requiring another database instance to reread the data blocks from disk. When a data block located in the buffer cache of one instance is required by another instance, Cache Fusion transfers the data block directly between the instances using the interconnect, enabling the Oracle RAC database to access and modify data as if the data resided in a single buffer cache.

4)What is voting Disk,what is the major use of it?(DBA interview question)
Ans:Voting disk Manages cluster membership and arbitrates cluster ownership
between the nodes in case of network failures.The voting disk is a file that
resides on shared storage.

5)What is OCR,what is the major use of it?(DBA interview question)
Ans:Oracle Cluster Registry (OCR)–Maintains cluster configuration information as well as configuration information about any cluster database within the cluster. The OCR contains information such as which database instances run on which nodes and which services run on which databases. The OCR also stores information about processes that Oracle Clusterware controls. The OCR
resides on shared storage that is accessible by all the nodes in your cluster.

6)In RAC 11g as we all know ASM can be used for storing OCR and voting disk,if that is the case how the clusterware start?(DBA interview question)
Ans: The clusterware starts and works properly because of the new feature added in Oracle11g release2 for ASM i.e ACFS(ASM cluster file system).ACFS is available in 11gR2 for LINUX and few unix platforms and Windows operating system
also have a similar solution available.

* ACFS will work with Single Instance Installations as well as Cluster Databases.
It is strongly integrated with the Oracle Clusterware 11g release2.
One more point to note is - Supported protocols for NAS are NFS(Network file system and CIFS(Common Internet File System).

This new feature is also named Unified Storage Management and allows for storing the following data in ASM:

1)Application File Data
2)Oracle Cluster Registry (OCR)
3)Voting Disk and
4)Oracle Binaries

Major advantages of ACFS are:

1)We will have all the trace files, alert.log,reports in ASM which makes ASM a complete storage management system .Because of this reason both database and non-database files are stored ins ASM and it completely eliminates the need for any third party cluster file systems like veritas and sun clusters.

2) ACFS uses a journaling mechanism and uses endian independent metadata to support large files and file systems to an extent up to exabytes.A special metadata log structure is maintained for integrity checks and fast recovery through a metadata transaction engine and


3)File systems in ASM can dynamically be expended and contracted with no downtime.
High availability is fully supported through mirroring and striping capabilities for all files now with ASM.


7)How you change apps password?Explain the syntax of FNDCPASS?(Apps DBA interview question)
Ans: FNDCPASS utility is used to change the password of apps/applsys and all other application products users like gl,ar.FNDCPASS utilliy is supplied with various parameters and options,details are given below along
with one task for complete understanding.

Note 1: We use FNDCPASS to change apps password,as the APPLSYS (APPS) password became corrupted using ALTER USER because an applications session was not maintained at the same time. This apps session is necessary to change the APPLSYS password in: 'Security> Oracle> Register' WHILE being in SQL*PLUS as the SYSTEM user thas why we use The supported method FNDCPASS to change the password.

Note 2:Backup FND_ORACLE_USERID and FND_USER tables before using FNDCPASS utility for safety purpose.


To implement the solution, please execute the following steps:

1. Restore the FND_ORACLE_USERID and FND_USER tables from a backup.

2. Then run FNDCPASS to change the APPLSYS password. Ex.

FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS WELCOME

FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME

FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS apps


Eg:
-bash-3.2$ FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS apps
Log filename : L6021164.log


Report filename : O6021164.out
-bash-3.2$ less L6021164.log


+---------------------------------------------------------------------------+
Application Object Library: Version : 12.0.0

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

module:
+---------------------------------------------------------------------------+

Current system time is 23-SEP-2011 03:53:32

+---------------------------------------------------------------------------+

Working...


+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 23-SEP-2011 03:53:38

+---------------------------------------------------------------------------+


For example,the following command changes the GL user password to 'gl'.

FNDCPASS apps/apps 0 Y system/manager ORACLE GL gl


-bash-3.2$ FNDCPASS apps/apps 0 Y system/manager ORACLE GL gl
Log filename : L6021170.log


Report filename : O6021170.out

-bash-3.2$ less L6021164.log

+---------------------------------------------------------------------------+
Application Object Library: Version : 12.0.0

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

module:
+---------------------------------------------------------------------------+

Current system time is 23-SEP-2011 03:59:01

+---------------------------------------------------------------------------+


+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 23-SEP-2011 03:59:01

+---------------------------------------------------------------------------+

Note 1: Passwords for APPLSYS and the APPS schemas -- including the MRC schema -- must be the same.
If you change the password for one, FNDCPASS automatically changes the others

Note 2:After changing the password as the golden rule for apps dba check the log file if it gives
error than password is unchaged.Error details in log file can be as give below:

ERRORs:
APP-FND-01496 Results From FNDCPASS Chaning The APPLSYS password
APP-FND-01496: Cannot access application ORACLE password
Cause: Application Object Library was unable access your ORACLE password

Note 3:When changing 'apps' password it is important to run autoconfig to propagate the change across the application or else we will need change the 'apps' password in following files manually which can be a tedious task.

1. $IAS_ORACLE_HOME\Apache\modplsql\cfg\wdbsvr.app file
2. $FND_TOP/resource/wfmail.cfg
3. $COMMON_TOP/admin/scripts//adcmctl.ch
4. $OA_HTML/bin/appsweb.cfg
5. $AD_TOP/admin/template/CGIcmd.dat

Q 8) What is wdbsvr.app file used for? What's full path of this file? What's significance of this file ?(Apps DBA inteview question)
Ans: If we lost the 'apps' user password we can see this password in wdbsvr.app file.
The file wdbsvr.app file is located under $IAS_ORACLE_HOME/Apache/modplsql/cfg

Based on file location I am sure you can say this is related to Apache, & looking into modplsql/cfg , I am sure you will say its related to mod_pls (mod plsql component of Apache/Oracle 11i WebServer) configuration file. This file is used by mod_plsql component of Apache to connect to database. So when you type url http://hostname:port/pls/SID , whenever Apache(11i Web Server) finds that request is for /pls/ then Apache delegates this request to mod_pls component which in turn pick this file & check if there is any DAD with name SID (in our example its VISION11I) &
Sample entry in wdbsvr.app
[DAD_VISION11I]
connect_string = VISION11I
password = apps
username = APPS
default_page = fnd_web.ping

On typing http://hostname:port/pls/VISION11I ,
it will connect to database using apps schema & will return you page fnd_web.ping ( where fnd_web is package & ping is procedure or vise versa).So story about this file doesn't stop here,this URL which I mentioned about is quite useful in troubleshooting so you can check if database connection is working fine
or not. Another thing you want to check about this file is since it stores APPS password you need to change here whenever you change apps password .

Note:In Apps 11i we have apps password without encrypted form in the below mentioned locations:

• iAS_TOP/Apache/modplsql/cfg/wdbsvr.app
• ORACLE_HOME/reports60/server/CGIcmd.dat

In R12 you won't see these files anymore because Modplsql module got removed and we won't be seeing the files with apps password.

9)Explain the process when we login with 'sysadmin' what happens at the backend?(Apps DBA interview question)
Which table is involved?

Ans: When we login using 'sysadmin' user and password there is a validation takes place,once the user gets validated than E-business suite home page is displayed.

8)How you troubleshoot apps login issue?(Apps DBA interview question)
Ans:Atul's link explain this in best way,please go through it even for troubleshooting at our work environment also.

http://becomeappsdba.blogspot.com/2006/10/troubleshoot-oracle-apps-web-server.html

9)Explain the major troubling which you had done in Oracle Apps?
Ans:We have to explain the recent troubeshooting which we had done recently.Whenever we are doing troubleshooting in Oracle Applications,it is very important to get familiar with the log file locations,depending
on release of Apps.In Apps 11i and R12 the log file locations have changed,so best link I found to remember this locations is given below:

http://easyoracleapps.wordpress.com/category/r12/

10)What do we have in FND_NODES?when do we run FND_CONC_CLONE.SETUP_CLEAN ?(Apps DBA interview question)

Ans:FND_NODES have the information about node_name,node_mode, support_cp.
we use FND_CONC_CLONE.SETUP_CLEAN to cleanup FND_NODES table to clear corrupted setup after performing
clonning of Applications.

##
## before cleanup
##

SQL>select node_name, node_mode, support_cp,
support_web, support_admin, support_forms
from FND_NODES

NODE_NAME N S S S S
------------------------------ - - - - -
HOST01 O Y N Y N
MIDTIER01 O N Y N Y
APPSERVER21 N Y N Y <-- bogust host
APPSERVER22 N Y N Y <-- bogust host
APPSERVER23 N Y N Y <-- bogust host
AUTHENTICATION O N N N N

6 rows selected.



##
## Cleanup
##
login as 'applmgr'(application filesystem owner),set the application environment and run
FND_CONC_CLONE script to remove bogust host entries.Now login with 'apps' user in Database.

SQL> sho user
USER is "APPS"
SQL> EXEC FND_CONC_CLONE.SETUP_CLEAN;

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.


##
## After cleanup
##

SQL> select node_name, node_mode, support_cp,
support_web, support_admin, support_forms
from FND_NODES
/


##
## Run AutoConfig
##
Note:Context file location
In Apps 11i:$APPL_TOP/admin/$TWO_TASK.xml
In Apps R12:$INST_TOP/appl/admin/TWO_TASK_.xml

## Host01
In Apps 11i:
$AD_TOP/bin/adconfig.sh contextfile=$APPL_TOP/admin/ appspass=

In Apps R12:
$AD_TOP/bin/adconfig.sh contextfile=$INST_TOP/appl/admin/TWO_TASK_.xml
appspass=apps


## Host
$AD_TOP/bin/adconfig.sh contextfile=$APPL_TOP/admin/XTPR_host02.xml appspass=


##
## After AutoConfig runs
##


select node_name, node_mode, support_cp,
support_web, support_admin, support_forms
from FND_NODES

NODE_NAME N S S S S
------------------------------ - - - - -
MIDTIER01 O N Y N Y
AUTHENTICATION O N N N N
HOST01 O Y N Y N


11)Where do we find the details of all the ports in Oracle Apps?
Ans: Details of all the ports for various severs are present in portlist.ini file.
This file is located inside technology stack in the below mentioned path:

/oraAPP/apps/tech_st/10.1.2/install

The portlist.ini file have the details of all the ports information of all the servers like HTTP,Java,Oracle Notification
Server,Oracle Developer suite,DATABASE LISTENER,Web Cache,Reports Services,DCM Discovery,Log Loader which can be
seen below.

-bash-3.2$ view portlist.ini

;OracleAS Components reserve the following ports at install time.
;As a post-installation step, you can reconfigure a component to use a different port.
;Those changes will not be visible in this file.

[System]
Host Name = TESTNODEebs.in.apps.com

[Ports]
Oracle HTTP Server port = 7778
Oracle HTTP Server Listen port = 7779
Oracle HTTP Server SSL port = 8250
Oracle HTTP Server Listen (SSL) port = 4444
Java Object Cache port = 7000
Oracle Notification Server Request port = 6003
Oracle Notification Server Local port = 6102
Oracle Notification Server Remote port = 6201
Oracle Developer Suite HTTP port = 8888
Oracle Developer Suite JMS port = 9240
Oracle Developer Suite RMI port = 23910
ASG port = 7891
Oracle HTTP Server Diagnostic port = 7200
Log Loader port = 44000
Application Server Control RMI port = 1850
DCM Discovery port = 7100
Oracle Net Listener = 1521
Oracle Management Agent Port = 1157
Application Server Control port = 1156
Web Cache HTTP Listen port = 7778
Web Cache HTTP Listen (SSL) port = 8250
Web Cache Administration port = 9400
Web Cache Invalidation port = 9401
Web Cache Statistics port = 9402
Reports Services bridge port = 14011
Reports Services discoveryService port = 14021
Reports Services SQL*Net port = 1950

If you don't know port number of your web server you can check it in file
$IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf with directive Listen & Port

12)How we check the sysadmin password which we are using to login Oracle E-business suite home page is correct?(Apps DBA interview question)
Ans:We Use Following query to check whether 'sysadmin' password that we are
using is correct or incorrect.

select fnd_web_sec.validate_login('SYSADMIN','Passord_for_sysadmin')
from dual;

If it returns Y then sysadmin password is correct
If it returns N then sysadmin password that we are using
is wrong. We have to change sysadmin password using 'FNDCPASS' utility.

Eg:

SQL> select fnd_web_sec.validate_login('SYSADMIN','Passord_for_sysadmin')
from dual;

FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','sysadmin')
--------------------------------------------------------------------------------
N

SQL> select fnd_web_sec.validate_login('SYSADMIN','welcome')
from dual; 2

FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','WELCOME')
--------------------------------------------------------------------------------
Y

13)How to check the Standby Database is in sync with production Database?(Apps DBA interview question)
Ans: Check the below link for useful details:

http://www.oraclemasters.in/?p=1255

Wednesday, September 21, 2011

RMAN COMMANDS

Hi,
We use RMAN COMMANDS for doing lot of tasks like backup,cloning,conversion of filesystems from NON-ASM to ASM and vice-versa.The commands of RMAN are many so I decided to make a note of few crucial ones,hope it can be useful.

There are two types of RMAN commands:
1)Stand-alone:Executed at the RMAN prompt and are generally self-contained. CHANGE, CONNECT,CREATE CATALOG, RESYNC CATALOG. CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT etc.
2)JOB:These are usually grouped and RMAN executes this commands inside of RUN command block sequentially. If any command fails, RMAN ceases processing, no further commands within the block are executed.

•THE CONFIGURE COMMAND :
 CONFIGURE AUTOMATIC CHANNEL :
RMAN > CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/db01/backup/%U’;

 IMPLEMENT RETENTION POLICY BY SPECIFYING RECOVERY WINDOW :
RMAN >CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 days ;
- Recovery window: a period of time that begins with the current time and extends backward in time to the point of recoverability. In above example, the command ensures that for each data file, one back up that is older than the point of recoverability (7 days) must be retained.

 IMPLEMENT RETENTION POLICY BY SPECIFYING REDUNDANCY:
RMAN >CONFIGURE REDUNDANCY POLICY TO REDUNDANCY 2;
- Redundancy value indicates that any number of backups or copies beyond a specified number need not be retained. The default is 1 day.

 CONFIGURE DUPLEXED BACKUP SETS:
RMAN >CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;

- We can create up to 4 copies (in above example 2) of each back up piece in a backup set for all backup commands that use automatic channels. This applies only for datafiles and archived redo log files.

 CONFIGURE BACKUP OPTIMIZATION:
RMAN >CONFIGURE BACKUP OPTIMIZATION ON;
- With this setting on, the BACKUP command does not backup files to a device type if the identical file has already been backed up to the device type. For two files to be identical, there contents must be exactly the same. Default value is off.

 USE THE CLEAR OPTION TO RETURN TO THE DEFAULT VALUE:
RMAN >CONFIGURE RETENTION POLICY CLEAR;
RMAN >CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;

•THE SHOW COMMAND :
- This command displays persistent configuration settings.
 AUTOMATIC CHANNEL CONFIGURATION SETTINGS:
RMAN>SHOW CHANNEL;
RMAN>SHOW DEVICE TYPE;
RMAN>SHOW DEFAULT DEVICE TYPE;

 RMAN RETENTION POLICY CONFIGURATION SETTINGS:
RMAN>SHOW RETENTION POLICY;

 NUMBER OF BACKUP COPIES:
SHOW DATAFILE BACKUP COPIES;

 MAXIMUM SIZE OF BACKUP SETS:
SHOW MAXSETSIZE;

 TABLESPACES EXCLUDED FROM WHOLE DATABASE BACKUP:
SHOW EXCLUDE;

 STATUS OF BACKUP OPTIMIZATON:
SHOW BACKUP OPTIMIZATION;

•LIST COMMAND:
- LIST command is used to produce a detailed report listing all information for the following.

 LIST BACKUPS OF ALL FILES IN THE DATABASE:
RMAN >LIST BACKUP OF DATABASE;

 LIST ALL BACKUP SETS CONTAINING THE uses1.dbf DATAFILE:
RMAN >LIST BACKUP OF DATAFILE ”/db1/oradata/u03/users1.dbf”;

 LIST ALL COPIES OF DATAFILES IN THE SYSTEM TABLESPACE:
RMAN >LIST COPY OF TABLESPACE “SYSTEM”;

•THE REPORT COMMAND:
- This command helps to analyze information in the RMAN repository in more detail.

 WHAT IS THE STRUCTURE OF THE DATABASE?
RMAN >REPORT SCHEMA;

 WHICH FILES NEED TO BE BACKED UP?
RMAN >REPORT NEED BACKUP …;

WHICH BACKUPS CAN BE DELETED?
RMAN >REPORT OBSOLETE;

 WHICH FILES ARE NOT RECOVERABLE B’COS OF UNRECOVERABLE OPERATIONS:
RMAN >REPORT UNRECOVERABLE …;

•THE REPORT NEED BACKUP COMMAND :
- This command is used to identify all data files that need a backup. There are three options with this command.

 INCREMENTAL: An integer specifies the maximum number of incremental backups that should be restored during recovery. If this number or more is required then the data file needs a new full backup.

RMAN >REPORT NEED BACKUP incremental 3 database;
This example will report files needing three or more incremental backups for recovery.

 DAYS: An integer specifies max. number of days since the last full or incremental backup of file. The file needs a backup if the most recent backup is equal to or greater than this number.
RMAN >REPORT NEED BACKUP days 3 tablespace system;
To report what system files have not been backed up for three days, use above command.

 REDUNDANCY: An integer specifies the min. level of redundancy considered necessary. For example, redundancy level two requires a backup if there are not two or more backups.
RMAN >REPORT NEED BACKUP redundancy 3;

•RECOVERY MANAGER PACKAGES:
- Two packages named DBMS_RCVCAT AND DBMS_RCVMAN are used by RMAN to perform its tasks.
-DBMS_RCVMAN is created in target database. It queries the control file or recovery catalog.
-DBMS_RCVCAT is used by recovery manager to maintain the information in the recovery catalog.
-DBMS_BACKUP_RESTORE package is created by dbmsbkrs.sql and prvtbkrs.plb script called by catproc.sql. it is used to interface with oracle and os to create,restore and recover bkups of datafiles and archived redo log files.

Hope it helps...I will increase this thread continously as Oracle 11g has lot of new commands.

Happy Oracle learning...

Monday, September 19, 2011

CLONING OF APPLICATIONS IN APPS 11i

Hi,
Lot of times Apps DBAs have to do the task of Cloning,It is one of the frequently doing task for Apps DBA.Below I'm describing one such task.

Concept of Cloning:
* Cloning is the act of creating an identical copy of an existing Oracle applications system.
* The new system, including component versions, operating system and platform type, is identical to the existing system.

Steps for cloning with E-business suite version 11.5.10.2 on linux are as follows:

Why to clone:
- Create a copy of a production system for testing updates.
- Migrate an existing system to new hardware.
- Create a stage area to reduce patching downtime.

* PREREQUISITE TASKS:

1) PREPARE THE SOOURCE SYSTEM:
LOG ON TO SOURCE SYSTEM AS ORACLE USER, RUN THE FOLLOWING COMMANDS.

a)Preparing source system for dbTier:
$cd /apps11i/proddb/9.2.0/appsutil/scripts/PROD_node1
$perl adpreclone.pl dbTier

b)Preparing source system for applicaton tier (appsTier):

$cd /apps11i/prodcomn/admin/scripts/PROD_node1
$perl adpreclone.pl appsTier

2)COPY THE SOURCE SYSTEM TO THE TARGET SYSTEM:

- Properly shutdown the database from the database terminal i.e. the terminal where database environment is set and shutdown the application from application terminal where application environment is set.
- Copy base directory including all its sub-directory (prodappl, prodcomn, proddb, prodora, proddata) manually using OS command.
- The directory should be same on the target machine as on the source machine for easiness.
- Copy the database configuration file and application configuration file i.e. .db and .app from source to target machine.

3)Edit the .db file, change the machine name i.e. from source to target m/c name.

. /apps11i/proddb/9.2.0/PROD_node2.env
PATH=$PATH:/apps11i/proddb/9.2.0/appsutil/scripts/PROD_node2
PATH=$PATH:/apps11i/prodcomn/admin/scripts/PROD_node2
export PATH

4)Now run the post script for dbtier:

$cd /apps11i/proddb/9.2.0/appsutil/clone/bin
$perl adcfgclone.pl dbTier

and supply the required values prompt by script like:

enter APPS password : apps
virtual hostname for tgt node: y
Tgt hostbane ; node2.server.com
Tgt rac instance: n
Tgt. System databse name: PROD
Tgt. System RDBMS oracle_home dir: choose the default (just press enter)
System util_file accessible dirs list:
/apps11i/proddb/9.2.0/appsutil/outbound/PROD_node2
(how to find this path:
On target machine,
Sho parameter %util% )

No of DATA_TOPS on the target system : 1
Tgt system DATA_TOP: select the default
Do u want to preserve the display set to node1:0.0: yes
Do u want to preserve the port values from the src system on the tgt. System: yes

5)Now edit the .app file i.e. change the source name to target name:

. /apps11i/prodappl/APPSPROD_node2.env
PATH=$PATH:/apps11i/prodcomn/admin/scripts/PROD_node2
PATH=$PATH:/apps11i/proddb/9.2.0/appsutil/scripts/PROD_node2
export PATH

6)Now run the .app file and the environment for application:

$cd /apps11i/prodcomn/clone/bin
$perl adcfgclone.pl appsTier

provide the required values prompt by the script.
Do you want to use the virtual host name for the target node: y
Tgt host name: node2.server.com
Tgt system dabase sid: PROD
Tgt. System database server node: node2.server.com
Tgt. System database domain name: server.com
Does the TGT. System has more then one application Tier: no
Is the tgt. System APPL_TOP devided in to multiple mount points: no
Tgt system APPL_TOP mount point:
/apps11i/prodcomn/
Tgt. System 8.0.6 ORACLE_HOME DIR: choose dfault
Tgt system iAS ORACLE_HOME DIR : choose default\
Preserve the display: yes\
Preserve the port value: yes
Web listner port is : 8000
UTL_FILE_DIR on database tier consist of the following dirs.
1. . /usr/tmp
2. /apps11i/prod2.0/appsutil/util/outbound/PROD_node2
3. /apps11i/proddb/9.2.0/appsutil/outbound/PROD_node2
4. /usr/tmp
Choose a value which will be set as APPLTMP value on the target node.

Important Scripts used for Apps DBA:

-Run the .app profile to set the environment for applications
1) addbctl.sh start  To start the database
2) addlnctl.sh start PROD  To start the corresponding listener
3) adstrtal.sh apps/apps  To start all the application services
4) adstpall.sh stop  To stop all services

Hope it helps.

Happy Apps DBA learning

Tuesday, September 13, 2011

Proxy user in Oracle

Proxy user - A proxy user is a user who can assume the identity of other user/users.It is basically created for the application user to access the target user data without knowing its password.

Creating Proxy User:

SQL> create user proxy1 identified by proxy1;

User created.

SQL> alter user target grant connect through proxy1;

User altered.

SQL> select * from dba_proxies;

PROXY CLIENT AUT
------------------------------ ------------------------------ ---
AUTHORIZATION_CONSTRAINT ROLE PROXY_AUT
----------------------------------- ------------------------------ ---------
proxy1 target NO
PROXY MAY ACTIVATE ALL CLIENT ROLES DATABASE

Connecting with Proxy User:

C:\WINDOWS\system32>sqlplus sys@TESTDB AS SYSDBA

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 25 11:33:45 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> conn proxy1[target]
Enter password:
Connected.
SQL> SHOW USER
USER is "target"


Hope it helps...

Happy Oracle learning.

Best regards,

Rafi.

Saturday, September 3, 2011

Completed MBA successfully

Hi,
I completed my MBA in Information Technology from Sikkim Manipal University.This MBA is a second attempt to combine the Business and technology.ITIL v3 completion was the first step.Database management,Financial Accounting,Strategic Management & Business policies,Enterprise Resource planning,Statistics are some of the subjects which I found interesting,rest all were Ok.It was some time difficult to manage job and this study together but some how by almighty's grace and excellent support from people around me,had help me completing this MBA degree on time.Let's hope this can be useful to upgrade my carrier and gives me an idea of understanding business and technology together along with managerial point of view of the technology(Oracle),which I'm working currently.Oracle and MBA seems to be different concepts all together but I believe the main purpose of technology is Business as the final end product.I hope this journey will be more interesting now.


Best regards,

Rafi.