Friday, August 30, 2013

Oracle GRC Install

Oracle GRC Install

Oracle Enterprise Governance, Risk, and Compliance - AACG
Installing GRC - AACG
Download:
1. Oracle Database - 11.2.0.2
2. WebLogic server - 10.3.5 - V26046-01.zip
3. Application Development Runtime ADR_11.1.1.5 - ofm_appdev_generic_11.1.1.5.0_disk1_1of1.zip
4. GRC - 8.6.4.3000 - p14528065_864_Linux-x86-64.zip

Installation
1. Install Database Binaries - 11.2.0.2
2. Create Database using dbca
3. Install JDK-1.6 or higher
4. Install WebLogic 10.3.5
5. Install Application Development Runtime (ADR) 11.1.1.5
6. Create WLS domain using config.sh
7. Copy the following files from MW_HOME\oracle_common\modules\ oracle.adf.model_11.1.1, to MW_HOME\user_projects\domains\\lib
• adfm.jar
• adfdt_common.jar
• adfmweb.jar
8. Copy the following files from grc_stage/lib to MW_HOME\user-projects\ domains\grc_domain\lib:
• groovy-all-1.6.3.jar
• xdoparser-10.1.3.4.jar
9. Create a directory called grc864 (for example, /grc864). This directory should be entirely distinct from the directory you created as you downloaded GRC files.
10. Navigate to /dist, and locate the file grc.ear. Copy it to the grc864 directory, and extract its contents there (unzip grc.ear)
11. Look in the directory grc864\grc\WEB-INF\lib to see if the files bicmn-10.1.3.4.jar, geronimo-stax-api_1.0_spec-1.0.1.jar, and xdoparser-10.1.3.4.jar exist there. If so, delete them.
12. Deploying GRC - Deploy grc.ear file from the weblogic console.
13. Stop the server and Modifying Settings - Edit setDomainEnv.sh located in your domain. As stated on page no. 2-12 (29) in Oracle® Governance, Risk and Compliance Installation Guide Release 8.6.4.3000 Part No. E36190-01
14. Start the server
15. EGRCM Configuration
Logon on to http://host:port/grc fill in the required details and Save the configuration.
16. The initial password is admin / admin and you will require to change it on the 1st login.
Reference:
http://www.oracle.com/webfolder/technetwork/jdeveloper/howto/11114/managedserver/wlsadfms.html
Oracle® Governance, Risk and Compliance Installation Guide Release
8.6.4.3000 Part No. E36190-01

Master Note for Governance Risk and Compliance Manager (GRCM) 7.8









In this Document
Purpose
Questions and Answers
 Documentation
 Certification Matrix
 Software Download Location
 Patch Information
 Newly Created or Updated Notes
 Notes about GRC Manager Requirements and Limitations
 Notes about GRC Manager Installation Issues?
 Notes about Configuring GRC Manager?
 Notes about GRC Manager Patched Issues?
 Notes about GRC Manager Issues with Workarounds?
 Notes about General GRC Manager Information?
 Notes about GRC Manager Third Party Product Issues?
References


APPLIES TO:

Oracle Governance, Risk and Compliance Manager - Version 7.8 to 7.8 [Release Rel 12]
Information in this document applies to any platform.

PURPOSE

This Master Note answers questions and provides current information about the GRCM 7.8 release.  It contains a list of available externally published GRC Manager 7.8 Notes organized into sections.  This Master Note was last updated on 10-18-2012.

QUESTIONS AND ANSWERS

Documentation

Oracle� Governance, Risk and Compliance Manager Implementation Guide Release 7.8 Part No. E12562-01

Oracle� Governance, Risk and Compliance Manager User's Guide Release 7.8 Part No. E12561-01

Certification Matrix

See Document 741001.1 for the current GRCM Certification Matrix.

Software Download Location

The complete GRC Manager 7.8 release is a combination of the GRCM 7.8 software and the UCM 7.5.2 software.  The GRCM 7.8 software is available as Patch 12751816 on My Oracle Support https://support.oracle.com.   Follow the instructions below to download the GRC Manager 7.8 release software.
  1. Go to  https://support.oracle.com and login to My Oracle Support
  2. Select the Patches and Updates tab.
  3. Enter in the Patch Number 12751816 and click the Search button.
  4. Click on the patch link and then the Download button.
The UCM 7.5.2 software is not available for download anywhere on the Oracle site and will need a Media Request Service Request opened in order to obtain the software.

Patch Information

  • Note 760314.1  GRC Manager 7.8 has been Released with Patchsets

Newly Created or Updated Notes

  • Note 1499825.1  GRCM 7.8 Not Receiving email Notification When a Business Process Enters ValidateBusinessProcess Workflow
  • Note 1487862.1  GRCM 7.8 Single Sign On (SSO) not working, IE Browser prompts for login
  • Note 1477275.1  GRCM 7.8 Audit Map Filter Does Not Funtion Properly in GRCM When Searching For Processes
  • Note 1450207.1  GRCM 7.8 User With Admin Role Can Add Test Result in Mgmt Assessment Without Permissions
  • Note 1450261.1  GRCM 7.8 Management Assessment In Scope FilterSelection Does not Work Correctly
  • Note 1450309.1  Cannot Make Managment Assessment Reviewers Mandatory in GRCM 7.8
  • Note 1450274.1  Mass Update Controls Creates Numerous Version Documents in GRCM 7.8

Notes about GRC Manager Requirements and Limitations

  • Note 1387303.1  Upload the GRCM e100server.config file and Ensure the Correct Product is Selected for the Service Request
  • Note 447333.1  Cloning, Migrating, Backup Governance Risk Compliance Manager
  • Note 956132.1  Unable To Create New Organization Map Node Using Internet Explorer 8 on GRC Manager 7.8
  • Note 980626.1  Can We Install Two Instances of GRC Manager 7.8 on The Same Server?
  • Note 1105690.1  How Can You Set Password Expiration to be 90 days and Also Enforce a Minimum Password Length in GRCM
  • Note 1071607.1  Is There a Way To Install a GRC Manager 7.8 Environment With High Availability Clustering Options?
  • Note 450503.1  Is Secure Sockets Layer (SSL) Compatible With the GRC Manager Application?
  • Note 461085.1  What are the supported Platforms for Governance, Risk and Compliance Manager?
  • Note 1381505.1  Are the Macintosh Computers Supported as a client in GRCM 7.8?
  • Note 749982.1  Is The GRC Manager 7.8 Software Supported On a VMware Virtual Machine?
  • Note 737690.1  Can you install GRCM 7.8 with Oracle 10g RAC database?
  • Note 1054052.1  Can GRC Manager (GRCM) 7.8 be Integrated With GRC Controls (GRCC) Version 8.5?
  • Note 986544.1  Can The GRC Manager Virtual Directory and The Content Server Virtual Directory Be Located Under Separate Websites in IIS Web Server?
  • Note 577696.1  Approval Messages Do Not Show Up in My Inbox in GRC Manager
  • Note 781711.1  What are the Major, Minor, and Maintenance GA Releases for the GRC Manager?

Notes about GRC Manager Installation Issues?

  • Note 1101821.1  Receiving The Error, 'Oraoledb.Oracle' provider is not registered on the local machine, During The Post Installation GRCM 7.8 Steps
  • Note 1269929.1  GRCM 7.8 Creating New Business Process Receives JavaScript Error in AdminTreeFunctions.js Function "expand(objDiv)"
  • Note 1150416.1  Receiving Invalid Unicode Character Error in GRCM After Data Migration
  • Note 789821.1  The Following Error is Seen in the Event Viewer When GRC Manager is Started: "e100.e100Exception unable to connect to the remote server"
  • Note 783554.1  Installing GRC Manager 7.8, Received Internal Error 2908 and Error 1406: "Could not write value Local Package to key\products \...\InstallProperties"
  • Note 828726.1  e100Server.config cannot be read successfully due to exception System.ApplicationException: Invalid XML Error Starting a New GRCM Install
  • Note 445559.1  Resolving SocketException Errors When Attempting to Start GRCM Solution by Changing Port Numbers
  • Note 828756.1  Could not load file or assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50 Error on New GRCM Install
  • Note 856173.1  Is There A Dataloader, Or Other Bulk Method To Load Information Into GRC Manager?
  • Note 800565.1  How to Setup Oracle GRCManager 7.8 Active Directory (ADSI) Security
  • Note 1487862.1  GRCM 7.8 Single Sign On (SSO) not working, IE Browser prompts for login
  • Note 753504.1  How To Install the 11 Workflows That Are Mentioned in the Installation Guide for GRC Manager
  • Note 448017.1  TargetInvocationException Error When Accessing GRC Manager
  • Note 783910.1  Error When Checking In Map in New GRC Manager Install: "Content item was not successfully checked in. The content ID must be specified"
  • Note 812763.1  Error after installation of GRC Manager: "Attributelockchildrenhasanillegalvalueonelement in AppState.InitializeWorkFlowForms"
  • Note 859471.1  Error When Trying To Add an Attachment To a Business Process: "Unable to generate a temporary class  (result=1). error CS200" 
  • Note 446000.1  GRC Manager (GRCM) Error: "HTTP Error 404 - File or directory not found."
  • Note 783561.1  Error When Starting Up the GRC Manager Application After Installation: "Could Not Find The Target Url"
  • Note 755895.1  How To Resolve The Getlocalorgmap: Object Reference Not Set To An Instance Of An Object Error
  • Note 579103.1  Values for Field Created Through GRC Manager are not Saved When Populated
  • Note 784523.1  How Do You Manually Uninstall The GRC Manager Application When The Application is Not Listed in The Add/Remove Programs Manager?

Notes about Configuring GRC Manager?

  • Note 1227646.1  How To Configure GRCM 7.8 To Throw an Exception and Not an Application Error?
  • Note 1241394.1  How To Make the Risk Criticality Field Not Be Required in GRCM 7.8?
  • Note 1068290.1  How To Allow Email Notifications to be Sent to the Originator of an Action Item or Issue When the Status Changes to Closed or Canceled
  • Note 1262110.1  How Do You Change the Mail Server that the GRCM Application Uses to Send Email?
  • Note 1196479.1  Some Data fields are Not Propagated in GRCM with MCL or MPL
  • Note 1268680.1  How to Increase the Field Size for Test Instructions to be 2000 Characters in GRCM?
  • Note 1216504.1  How To Increase Field Length of Audit Cycle and Financial Statement in GRCM 7.8
  • Note 986058.1  How Do You Enable The "Get" Link For The Attachments in GRCM 7.8?
  • Note 800046.1  What Are The List of Possible Values For The Configuration Entries NOTIFY_RECEPIENTS_SOA_DSR and NOTIFY_RECEPIENTS_SOA_ISS?
  • Note 982193.1  How Do You Make The Control Description Field Mandatory When Creating a New Control in GRC Manager 7.8?
  • Note 782812.1  How To Disable Mandatory Fields in GRC Manager During Business Process And Control Creation
  • Note 743077.1  How Do You Copy Custom User Defined Field Values from One Business Process to Another In GRC Manager?
  • Note 780980.1  How Do You Get User Defined Field Values Defined in The Master Component Library (MCL) Propagated To All The Linked Business Processes?
  • Note 1056959.1  How To Increase The Length of Certain Fields in GRC Manager
  • Note 446261.1  How to Change the Title Field (dDocTitle) From a Maximum of 80 Characters to a Maximum of 255
  • Note 1350467.1  How To Increase the ASP.NET Timeout For the GRC Manager When Opening a Test Plan to Avoid Timeout Exception?
  • Note 1326007.1  How To Increase The ASP.NET Execution Timeout For GRC Manager When Using the Mass Update Function To Avoid Timeout Exception?
  • Note 1128604.1  How to Increase The ASP.NET Timeout For The GRC Manager MCL Propagation Process To Avoid pPerformUpdateFromMaster Error
  • Note 445759.1  How to Increase The ASP.NET Timeout For The GRC Manager Copy Process To Avoid inpPerformCopyProcess Error
  • Note 603759.1  How To Change The Oracle GRC Manager Database Definition To Communicate With a Different Database Server?
  • Note 756694.1  How To Resolve "Remotingexception: Service Not Found" Error When Accessing GRC Manager by Changing the Port Number
  • Note 848349.1  How To Configure the InitDelay Service Tag in GRCM 7.8
  • Note 749944.1  How Do You Give The Business Process Owner The Ability To Retire The Business Process In The GRC Manager Application?
  • Note 742295.1  How Do You Default The GRC Manager User Interface To Be Displayed in English
  • Note 736461.1  What Are The Steps To Change The Name Of The Optional 4th Map Name On The GRC Manager Select Map Screen?

Notes about GRC Manager Patched Issues?

  • Note 760314.1   GRC Manager 7.8 has been Released with Patchsets
  • Note 1499825.1  GRCM 7.8 Not Receiving email Notification When a Business Process Enters ValidateBusinessProcess Workflow
  • Note 1477275.1  GRCM 7.8 Audit Map Filter Does Not Funtion Properly in GRCM When Searching For Processes
  • Note 1450207.1  GRCM 7.8 User With Admin Role Can Add Test Result in Mgmt Assessment Without Permissions
  • Note 1450261.1  GRCM 7.8 Management Assessment In Scope FilterSelection Does not Work Correctly
  • Note 1450309.1  Cannot Make Managment Assessment Reviewers Mandatory in GRCM 7.8
  • Note 1450274.1  Mass Update Controls Creates Numerous Version Documents in GRCM 7.8
  • Note 1421081.1  GRCM 7.8 Cannot Make Management Assessment Reviewers Mandatory in Wizard or Assessment
  • Note 1337683.1  Unable to Change The Assigned To User on an Action Item in GRCM 7.8
  • Note 1338030.1  The In Scope Field Value on a Control Changes From YES to NO After Edit of Related Risk in GRCM 7.8
  • Note 1143878.1  How to Determine What Patch Level is Installed in the GRC Manager Environment?
  • Note 1278024.1  All Business Processess Are Displayed With The Same Title on Mass Update Page in GRCM 7.8
  • Note 1268522.1  GRCM 7.8 "Add Control" Button is Active for a Test Plan when Not in "Edit" State
  • Note 1210344.1  GRCM 7.8 Process Profile Report Returns Inconsistent Results
  • Note 1181684.1  Exception With Audit Map Length Over 250 Characters After Installing GRCM 7.8 Patchset 10
  • Note 1181643.1  GRCM 7.8 Admin Overrides For Management Workflows Not Functioning Properly.
  • Note 1181531.1  GRCM Exception When Initiating Testing or Assessment From Top of Organizational Map
  • Note 1070549.1  The Workflow History Information in GRC Manager 7.8 is Not Always Sorted Correctly by Date
  • Note 983975.1  The Date For United Kingdom is Being Stored and Displayed in The Wrong Format in GRCM 7.8
  • Note 961753.1  Users Have To Relogin To GRC Manager After Attaching File With Multiple Attachments Option Enabled
  • Note 880976.1  Error Message Received When Clicking On A Control In A Test Plan Test Cover in GRCM 7.8
  • Note 850421.1  The Content Item is No Longer in The System Error is Logged When Adding a New Business Process in GRCM
  • Note 850441.1  JavaScript Error in function "selectAddlMap()" When editing the Business Process and Pressing The "i" Button For The Optional 4th Map
  • Note 880387.1  Workflow Contributor Email Value Not Being Defined For GRCM Using Oracle Database
  • Note 881014.1  Control Owner is Not Able To Test Control During Audit Testing in GRCM 7.8
  • Note 850463.1  Control Owner of Retired Control Still Needs To Update Test Plan Document Before Test Will Complete
  • Note 837238.1  The Original Test Instructions From When The Test Was Executed For a Completed Test Are Not Retained
  • Note 850957.1  Initiating Testing From Organizational Map With Control Owner Feature Enabled The Test Cover Document is Not Being Routed To Control Owners
  • Note 851007.1  When Executing Controls In Scope Testing a Control Owner is Unable To Select Testing Complete Until All Other Controls Owners Complete Testing
  • Note 808370.1  Invalid Date Format Error When GRCM Date Format is DD/MM/YYYY on Action Item Due Date Using French Language Preference
  • Note 781003.1  The "Add attachment" Button is Only Active For Controls and is Not Available For Assertions and Risks When Adding Objects From The MCL
  • Note 761691.1  GRC Manager MPL Propagation Always Sets In Scope Flag Value To No In Linked Business Process
  • Note 762283.1  Unable To Remove The Initiate Management Assessment Link From The Organizational Map User Interface
  • Note 747693.1  Test Results Lose Link To Test Instructions When An Edit Is Made To The Control
  • Note 747278.1  Exception Received When Attempting To Edit a Control After Rejecting The Data Collection Workflow
  • Note 762269.1  BPCreator User Can Only Edit or Initiate a Test Plan When They Are The Owner Of The Test Plan
  • Note 760174.1  ORA-907 Error: MISSING RIGHT PARENTHESIS IN CMSSEARCH.EXECUTE EXCEPTION IN GRC Manager
  • Note 739962.1  ORA-12704: Character Set Mismatch Exception When Opening a Business Process in GRC Manager 7.8 Using Oracle Database

Notes about GRC Manager Issues with Workarounds?

  • Note 1099924.1  Received "Thread was being aborted" Exception When Running Report in GRC Manager
  • Note 1084912.1  How Can I Delete a Control in a Business Process That is Already Initiated in GRC Manager?
  • Note 1081547.1  How Can You Re-assign The Tester Field on a Test Plan Cover in GRCM After The Test Plan Has Already Been Started
  • Note 1074943.1 A "Deleted Map Element" Entry is Listed in a Control After Deleting a Map Entry From The Optional 4th Map in GRCM
  • Note 1211794.1  How Do You Get the Default Templates Directory and All four Sub-directories Back Into the Organizational Map?
  • Note 1052051.1  Unable To Create a User Defined Field in GRC Manager 7.8
  • Note 1086004.1  GRCM 7.x Errors During MCL Propagation: pvSendRequestToStellent: The operation timed out
  • Note 979722.1  GRCM 7.8 User Defined Fields will not save after installing Patchset5
  • Note 733046.1  Receiving Timeout Exception in GRC Manager Application when Adding Large Attachments
  • Note 822626.1  Access denied Occurs When Adding a User Defined Field in GRCM Using NTLM Authentication
  • Note 953822.1  How Do You Select a Past Date for Expected Completion Date Under the Remediation Tab When Creating Issues in GRCM 7.8
  • Note 738852.1  GRC Manager Users Are Unable To Edit Document When In Data Collection Workflow
  • Note 760681.1  Receiving Object reference Exception Error When Running Any Report in GRC Manager
  • Note 951308.1  Receiving Error "Argument 'Index' Is Not A Valid Value" When Refreshing From MCL Process
  • Note 941911.1  Receiving Error Message When Uploading Large File To GRC Manager
  • Note 552976.1  Active Directory User Attributes are Missing From the Users Table for New Users Logging Into the GRCM Application
  • Note 822653.1  Why Are ADSI External User Names Listed in Reverse Order as Lastname Firstname, and Have To Search Using Opposite Name Search Boxes?
  • Note 448916.1  Calendar is out of date - User Unable to Run Reports
  • Note 448462.1  Exception Received When Attempting To Approve a Business Process
  • Note 755904.1  Invalid Unicode Errors When Cutting and Pasting From Excel Document to GRC Manager
  • Note 757241.1  Workflow Email Notifications Generated By Oracle GRC Manager Have Incorrect URL Link Definition
  • Note 738630.1  Unable To Open Some Business Processes: "Invalid unicode character" Error
  • Note 1064415.1  How To Resolve ORA-00942 Exception in GRCM 7.8 When I Create a Map Entry, Add in New Fiscal Periods, or Create a New Business Process?
  • Note 784608.1  Maximum Request Length Exceeded When Attempting To Add a New Node To a Map File in GRC Manager
  • Note 746364.1  Exception Error Encountered When Adding Multiple Associated Risks To Controls In GRCM
  • Note 784617.1  Error inSaveMap Thread was being aborted Exception When Attempting To Add a New Node To a Map File in GRC Manager
  • Note 789693.1  GRCM Assertions Risks Controls Matrix Report Timing Out
  • Note 445569.1  Resolving Orphaned Issues in GRC Manager

Notes about General GRC Manager Information?

  • Note 1317066.1  How is a New User Defined Field Added to the GRCM 7.8 Application?
  • Note 1091814.1  Is There An Addon required For GRCM 7.8 To Be Able To Script Survey Templates?
  • Note 761621.1  Where Is the Contributor Name Obtained From in GRC Manager Emails?
  • Note 445379.1  How To Interpret the GRC Manager Heat Report
  • Note 447622.1  How is the Heat Map is calculated on the Executive Dashboard?
  • Note 738871.1  How Do You Delete an Organizational Map from the GRC Manager Application?
  • Note 859553.1  How Can You Remove a Test Results Document From The GRC Manager Application?
  • Note 741243.1  Is There a Way to Replace an Attachment to a Test Cover That Is In a Status of Released?
  • Note 798068.1  Can The User Assigned to The Organizational Folder Permission Ever Be Removed Once Assigned in The GRCM Manager?
  • Note 977627.1  Is the Unicode Patch 7496670 Included in the GRCM 7.8 Base Patchsets?
  • Note 728200.1  How Do I Refresh GRC Manager Views When The "Refresh DB Views" Button on the Configuration Administration Page is Missing?
  • Note 856126.1  What Is Recommended Design of Organization Map and Are There Any Samples, Best-Practices or Recommendations for Organization Map Setup?
  • Note 807248.1  Why Does Running the GRCM Report "All Controls Tested Within the Period" Produce No Results?
  • Note 814354.1  How Can Test Results be Viewed While Creating an Issue After Rejecting a Test?
  • Note 449767.1  Is There a Reason Why a Business Processes Would Have All of The Buttons Greyed Out When it is in a Released State?
  • Note 740503.1  Best Practices For Backups of GRC Manager
  • Note 805441.1  Control Version and Content Server Revision Values Do Not Always Match on Control History Page
  • Note 601530.1  Is It Possible To Edit a Process That Has Been Retired?
  • Note 1052033.1  What is The Full Product Name That Should Be Selected in My Oracle Support When Opening Service Requests For The GRC Products? 

Notes about GRC Manager Third Party Product Issues?

  • Note 790631.1  E-mail Notification Body issues using Microsoft Exchange mail servers
  • Note 760299.1  GRC Controls Are Not Available Through GRC Manager
  • Note 470804.1  Unable to Login, Access Portal.htm, or Browse to any Content Server Page for Which Windows Event Viewer Event IDs 2214 and 2268are Thrown
  • Note 845799.1  JavaScript Error with Lotus Notes
  • Note 813656.1  Parser Error Message: Unrecognized configuration section 'xhtmlConformance' 1.1.4322.2379

Sunday, August 25, 2013

How many concurrent users will OBIEE support for the below Infrastructure

APPLIES TO:

Business Intelligence Server Enterprise Edition - Version: 10.1.3.4.1 [1900] to 10.1.3.4.1 [1900] - Release: 10g to 10g
Business Intelligence Suite Enterprise Edition - Version: 10.1.3.4.1 [1900] to 10.1.3.4.1 [1900]   [Release: to 10g]
Business Intelligence Server Administrator - Version: 11.1.1.3.0 [1905] and later    [Release: 11g and later]
Information in this document applies to any platform.
GOAL

How many concurrent users will OBIEE support for the below Infrastructure ??

Server - Clustered Server
OS Name: LINUX
OS Version: 4AS-X86_64
OS Vendor: Red hat
Physical location: AM-USA-OH-CIN-45249-8700GOV
No of CPUs & No Of Cores: 4 & 8 (Each CPU have 2 cores)
Memory: 7.786426544
Disk space: 32G
Application connecting with 10g DB as backend.




SOLUTION


Please keep in mind that, number of users logged into the system is not the concurrency we are sizing for but rather one should focus on the actual users processing /querying. While there is an exception to every rule, you will rarely see concurrency go above 20% unless its specific to certain business processes for instance Financial Management during a financial close period.

There are several benchmarks conducted on OBIEE 10g easily covering a total user base of 35,000 requirement.

One benchmark supporting over 280,000 named users with a concurrency of 10% at 28,000 concurrent!



Refer to the following Oracle product documentation available on OTN, for further information:

Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition:

5 Scaling Your Deployment and
7 Managing Performance Tuning and Query Caching

Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Business Intelligence

6 Scaling Out the Oracle Business Intelligence System and
10.3 Scaling Enterprise Deployments

Oracle Fusion Middleware Performance and Tuning Guide 11g

For OBIEE 11g, You can also refer to the official capacity guide:

Oracle BI EE 11g Architectural Deployment: Capacity Planning (Doc ID 1323646.1)

and performance tuning guide:

OBIEE 11g Infrastructure Performance Tuning Guide [Document 1333049.1]


These are general rule of thumb/guidelines. It is very difficult to suggest capacity planning recommendations without analysis of the expected usage which differs from project to project and customer to customer. Therefore please refer to Oracle Advanced Consulting Services, or your implementing partner, via your Account Director, it is a billable service.

Thursday, August 22, 2013

Oracle Demantra Installation Guide for Release 7.3.0.1

In this Document
Purpose
Scope
Details


APPLIES TO:

Oracle Demantra Demand Management - Version 7.3.0.1 to 7.3.0.1 [Release 7.3.0]
Information in this document applies to any platform.
***Checked for relevance on 29-Apr-2013***


PURPOSE

Document supplement.

SCOPE

Information in this document applies to any platform.

DETAILS

To view the document, please open the attachment.

Oracle HRMS HRGLOBAL Basics

APPLIES TO:

Oracle Human Resources - Version 11.5.10.2 and later
Oracle Payroll - Version 11.5.10.2 and later
Information in this document applies to any platform.

GOAL

Intent of this document is to provide a better understanding of HRGLOBAL, datainstall, and related patches.  Extensive troubleshooting of problems encountered when applying hrglobal.drv is NOT included here.

SOLUTION

One of the most perplexing requests an HRMS or Payroll user can encounter is apply HRGLOBAL. What does apply HRGLOBAL really mean?  What steps are needed ?

HRGLOBAL Facts:

Oracle HRMS and Oracle Payroll products need to support the legislative requirements of multiple countries.  The primary way legislative updates are delivered is via patches which contain HRMS Legislative Data.  Collectively this set of patches and data is often referred to as 'HR GLOBAL' or 'HRGLOBAL'.  The way updates are delivered underwent a significant change mid 2006.  In the past there was an "HRGLOBAL: DELIVERY OF LATEST HRMS LEGISLATIVE DATA", patch which would get updated very frequently.   HRGLOBAL files (including the driver - hrglobal.drv) are now being included in the actual legislative pre-reqs instead of being delivered within an all encompassing HRGLOBAL patch. This will enable better support for delivering different states of legislative data across different patchset levels and a more streamlined patching process.
  Latest HRMS (HR Global) Legislative Data Patch available, is the official source for details on HR GLOBAL updates, prerequisite patches needed, and steps for applying updates.

DataInstall Facts:

Many of the actions to be performed when hrglobal.drv is applied are controlled via utility program DataInstall.  Technically DataInstall is a small java program.  The command line for the DataInstall program is as follows:
java oracle.apps.per.DataInstall
where / refers to the APPS schema
             should normally be "thin"
          is connection information in the form of hostname:dbport:oraclesid

for example:  java oracle.apps.per.DataInstall apps apps thin dbsvr1:1521:testdb
For Apps 11.5.9 and below please substitute jre instead of java

Note: Syntax for selecting actions has changed over time.  More current versions of DataInstall, have been simplified to use just Install and Clear.  The old Force Install is gone.  Always select Install for any item that needs to be updated, even if it displays as 'Installed'.

On what server do I run the datainstall utility and hrglobal.drv?

The datainstaller and hrgobal driver are run on your database tier. If one tier is a DMZ,  and the DMZ is level of security and not related specifically to db tier then: apply the patches to the internal tier, run HRGLOBAL on the internal tier, and then apply the patches to the DMZ tier.

Typical Process Steps:
  1. Review current version of  Note:145837.1 "Latest HRMS (HR Global) Legislative Data Patch available"
  2. Go to the column for the current HRMS Family pack applied
  3. Check the patch or patches listed for Global.  If not already installed, download and install the Global prerequisites
  4. Go down the column and check patch or patches listed for each legislation that needs to be updated.
  5. Verify if the legislative patch already been installed.  Download and apply any legislative prerequisite needed.
  6. Execute DataInstall utility.  Select Global and any needed legislation for Install.
    1. Per Document:145837.1 If  a new Global patch was NOT installed,  no need to select Global legislation for Install action.
    2. Optionally, select Jit/Geocode for Install.  This is needed for Quarterly Jit updates, Annual Geocode updates and update of rates and limits used by US Payroll (401k annual limits for example).
  7. Use adpatch to apply $PER_TOP/patch/115/driver/hrglobal.drv

In Summary:
· Multiple patches deliver legislative seed data files.
· DataInstall sets actions to be performed.
· Application of hrglobal.drv is when the actual database updates are done.

In-Depth: Demilitarized Zones and the E-Business Suite

In-Depth: Demilitarized Zones and the E-Business Suite


The E-Business Suite is Not A War Zone

The term demilitarized zone (DMZ) is said to have been coined following the Korean War armistice.  After the cessation of overt military engagements, a 4 km buffer zone was established between North and South Korea, each side of the border bristling with armaments and troops watching the other warily.

Although major upgrades can sometimes feel like a battle, Apps sysadmins thankfully don't have to worry about armed attacks.  Military security concepts are still useful, though:  Oracle's Chief Security Officer, Mary Ann Davidson, is a former military officer and frequently draws lessons from military history for IT security.

DMZs For Civilians

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. 

Generic DMZ Concept:

DMZs for the E-Business Suite

AutoConfig supports the use of DMZs with the E-Business Suite Release 11i, and an increasing number of our customers have either already implemented them or are planning to do so.  This is a common configuration:

DMZ Internal External Servers:

In the configuration above, there are two different E-Business Suite application servers, each with its own unique domain name and setup.  External users access the E-Business Suite via the external "acme.company.com" address, and internal users access it via the "staff.acme.com" address.

Different Responsibilities for Internal and External Servers

It's possible (and recommended) to restrict the general set of Applications Responsibilities based on the application server that you're using. 

For example, there should be no reason to allow external users to modify your company's Chart of Accounts, so that responsibility can't be used if the end-user is logging in from outside the corporate intranet.

Possible Weak Points

There are two possible weaknesses with the first configuration shown above:
  1. If your external firewall is compromised, your external application server is also compromised, exposing an attack on your E-Business Suite database.
  2. There's nothing to prevent your internal users from attacking your internal application server, also exposing an attack on your E-Business Suite database.
Reverse Proxies and DMZs

If you're concerned about your external firewall being hacked, one possible countermeasure is to use layered DMZs and put a reverse proxy in the first DMZ. 

DMZ Reverse Proxy:

The reverse proxy has restricted capabilities and and the authority only to speak with the external application server.  It's possible to use the following as reverse proxies with the E-Business Suite:
  • Oracle Web Cache
  • Oracle HTTP Server
  • Other third-party reverse proxy servers, including Apache and Microsoft Proxy Server
An Inside Job

I'm a big fan of heist and con artist movies.  According to Hollywood, you can't pull off a big job without someone on the inside. 

It seems a lot of IT security analysts are fans, too, since they regularly publish surveys that suggest that the majority of security breaches are the result of employees with their hand in the till.  If we're to learn anything from movies, it's this:  trust nobody, not even your internal end-users.

That's why the second configuration above shows the E-Business Suite database server protected by its own firewall.  Even if your internal application server is compromised by an industrious but disgruntled fellow employee, your database is still protected.

Scratching the Surface

There are a number of other interesting DMZ-related architectural options for the E-Business Suite.  If you'd like to get more details, the following document is recommended reading:

OUICLI.PL Fails While Running Adcfgclone On Oracle EBS R12 If Global Inventory Does Not Exist

Oracle Applications Manager - Version 12.0 to 12.0.4 [Release 12]
Information in this document applies to any platform.
Checked for relevance on 19-MAR-2013

SYMPTOMS
While running adcfgclone.pl for cloning Database tier or Application tier in R12, the following error occurs:
Executing script in InstantiateFile:
/db/tech_st/10.2.0/perl/bin/perl -I
/db/tech_st/10.2.0/perl/lib/5.8.3 -I
/db/tech_st/10.2.0/perl/lib/site_perl/5.8.3 -I
/db/tech_st/10.2.0/appsutil/perl
/db/tech_st/10.2.0/appsutil/clone/ouicli.pl

script returned:
****************************************************
Beginning OUI CLI cloning for s_db_oh
/db/tech_st/10.2.0/appsutil/jre/bin/java -classpath /db/tech_st/10.2.0/appsutil/java:/db/tech_st/10.2.0/oui/jlib/OraInstaller.jar:/db/tech_st/10.2.0/appsutil/java/xmlparserv2.jar oracle.apps.ad.clone.util.OracleHomeCloner -OUICLI -e /db/tech_st/10.2.0/appsutil/.xml -nolink -oaVar s_db_oh -homestub db -log /db/tech_st/10.2.0/appsutil/log//ohclone.log
NON-COMPLIANT: /db/tech_st/10.2.0//oraInst.loc does not point to an inventory inside the current ORACLE_HOME
Rapid Clone only supports oraInst.loc at that location if its content points to an inventory inside the same ORACLE_HOME
Please make the necessary changes to the following file:
/db/tech_st/10.2.0//oraInst.loc
running OUI CLI home cloning:
/db/tech_st/10.2.0/oui/bin/runInstaller -clone -silent -force -nolink -waitForCompletion -invPtrLoc /db/tech_st/10.2.0/admin/oui//oraInst.loc ORACLE_HOME=/db/tech_st/10.2.0/ ORACLE_HOME_NAME=_DB__apps1__db_tech_st_10_2_0 -J-Doracle.installer.noLink=true
Finished OUI CLI cloning for s_db_oh with return code: 0

.end std out.

.end err out.
Note:  the above error message was encountered while running adcfgclone for Database tier.  The message will eventually differ if the adcfgclone errors out with application tier.

CHANGES

CAUSE

The instance doesn't contain a global inventory or oraInst.loc is not available under its default locations. The following are the default locations for oraInst.loc under respective platforms.
AIX and LINUX under : /etc/oraInst.loc
Other UNIX machines : /var/opt/oracle/oraInst.loc
WINDOWS (Registry): HKEY_LOCAL_MACHINE \Software\Oracle\INST_LOC
The oraInst.loc in the $INST_TOP points to the oraInventory of the $INST_TOP in the source instance so the registration of the oracle home fails.
Before cloning R12, the oraInst.loc must point to any directory
location where the user has access (ie: /u01/TEST/oraInventory). If not using global inventory pointers for respective OS e.g /etc/oraInst.loc for linux(if that file does not exist), then the respective $ORACLE_HOME/oraInst.loc will be used instead.  If that is the case, $ORACLE_HOME/oraInst.loc MUST point to a location INSIDE that ORACLE_HOME.
Say, the base install directory is /u01/R12 then following are the inventory pointers for RDBMS ORACLE_HOME, 10.1.2 ORACLE_HOME and 10.1.3 ORACLE_HOME :
RDBMS Inventory pointer :
inventory_loc=/u01/R12/db/tech_st/10.2.0/oraInventory
10.1.2 Inventory pointer :
inventory_loc=/u01/R12/apps/tech_st/10.1.2/oraInventory
10.1.3 Inventory pointer :
inventory_loc=/u01/R12/apps/tech_st/10.1.3/oraInventory
$ORACLE_HOME/oraInst.loc can not point to an external location like somewhere under $INST_TOP which is the case for the above test cases for 10.1.2 and 10.1.3 :
inventory_loc=/inst/apps//admin/oraInventory
That's the reason the above mentioned error is encountered.
This is done to allow multiple clones to be run on the same machine at the same time with different users without worrying to receive permission issues or different users trying to access the same oraInventory.

SOLUTION

Please apply the following solution:
1.  Clean the failed clone on target system.
2.  Re-Copy the respective folders from source to target.
3.  For database tier cloning:
a.  Make a directory called oraInventory inside
b. Edit oraInst.loc in the as follows:
inventory_loc=/oraInventory
c. Now run:
adcfgclone.pl dbTier
4.  For application tier cloning:
a. Make a directory called oraInventory inside 10.1.2 home and 10.1.3 home respectively.
b. Edit oraInst.loc in the <10 .1.3_oracle_home=""> as follows :
inventory_loc=<10 .1.3_oracle_home="">/oraInventory
c. Edit oraInst.loc in the <10 .1.2_oracle_home=""> as follows :
inventory_loc=<10 .1.2_oracle_home="">/oraInventory
d. Now run:
adcfgclone.pl appsTier.

Rapid Clone Ouicli.pl Fails: "Finished OUI CLI cloning for s_db_oh with return code: 16777215"

Rapid Clone Ouicli.pl Fails: "Finished OUI CLI cloning for s_db_oh with return code: 16777215"

Oracle Applications Manager - Version 12.0.6 and later
Information in this document applies to any platform.
***Checked for relevance on 22-Mar-2013***
SYMPTOMS

Symptom #1:
While cloning a 12.0.6 environment using the Rapid Clone option "dbtechstack", the following error occurs when Rapid Clone runs "ouicli.pl":
. . .
$ cd /appsutil/clone/bin
$ perl adcfgclone.pl dbTechStack
/appsutil/jre/bin/java -classpath
/appsutil/java://oui/jlib/OraInst
aller.jar://appsutil/java/xmlparserv2.jar
oracle.apps.ad.clone.util.OracleHomeCloner -OUICLI -e
/appsutil/ITDEV9_ias3.xml -nolink -oaVar s_db_oh -homestub db -log
/appsutil/log/ITDEV9_ias3/ohclone.log
Finished OUI CLI cloning for s_db_oh with return code: 16777215
AutoConfig could not successfully execute the following scripts:
ouicli.pl INSTE8_APPLY 255
. . .
Symptom #2:
Checking the "ohclone.log" referenced from the "ouicli.pl" output, it has not been recently updated or does not exist at all.
Symptom #3:
Running "perl ouicli.pl" from "$ORACLE_HOME/appsutil/clone", the script exists very quickly and shows the same "return code: 16777215".
CAUSE
The perl program "ouicli.pl" is unable to locate the JDK installation. This could be due to any of the following reasons:
1) There is no JDK/JRE installed under the "/appsutil/jre/bin" directory.
2) There is a problem, such as file corruption, with the JDK.
3) The value of "s_adjvaprg" in the Context File is set to an invalid location.
SOLUTION
1. Ensure there is a working "java" executable under "/appsutil/jre/bin": 
$ cd $ORACLE_HOME/appsutil/jre/bin
$ ./java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode)
If the version information is returned, the JDK/JRE is working. This "java" executable file should be referenced directly in the Context File, as noted in step #2.
2. Check the value of "s_adjvaprg" in the Context File:
$ cd $ORACLE_HOME/appsutil/
$ grep s_adjvaprg *.xml   (assumes there is only 1 ".xml" file)
/d01/R1211/db/tech_st/11.1.0/appsutil/jre/bin/java
Note that the value of "s_adjvaprg" points to the full path to the java executable and includes the name of the executable, "java", as well.
3. If there is no "java" under "/appsutil/jre/bin", you will need to replace the "jre" directory and all sub-directories with a full JDK/JRE installation. Generally, you can find this under "$ORACLE_HOME/jdk"
$ cp -r $ORACLE_HOME/jdk/ $ORACLE_HOME/appsutil/jre/
4. If any changes have been made, now re-try the "adcfgclone.pl" command.

Wednesday, August 21, 2013

Gather Schema Statistics fails with Ora-20001 errors after 11G database upgrade

select table_name, column_name, count(*)
from FND_HISTOGRAM_COLS
group by table_name, column_name
having count(*) > 1;

delete from FND_HISTOGRAM_COLS
where table_name = 'JE_FR_DAS_010'
and  column_name = 'TYPE_ENREG'
and rownum=1;


delete from FND_HISTOGRAM_COLS
where table_name = 'JE_FR_DAS_010_NEW'
and  column_name = 'TYPE_ENREG'
and rownum=1;


delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_LINE_TYPE_MAP'
and  column_name = 'SOURCE'
and rownum=1;

delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_LOGS'
and  column_name = 'DECLARATION_TYPE_CODE'
and rownum=1;


delete from FND_HISTOGRAM_COLS
where table_name = 'JG_ZZ_SYS_FORMATS_ALL_B'
and  column_name = 'JGZZ_EFT_TYPE'
and rownum=1;


delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_VAT_REP_RULES'
and  column_name = 'LINE_TYPE'
and rownum=1;



delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_VAT_REP_RULES'
and  column_name = 'SOURCE'
and rownum=1;



delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_VAT_REP_RULES'
and  column_name = 'SOURCE'
and rownum=1;


delete from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_VAT_REP_RULES'
and  column_name = 'VAT_REPORT_BOX'
and rownum=1;

Gather Schema Statistics fails with Ora-20001 errors after 11G database upgrade


Gather Schema Statistics fails with Ora-20001 errors after 11G database upgrade

Oracle Applications Technology Stack - Version 11.5.10.2 to 12.1.3 [Release 11.5.10 to 12.1]
Information in this document applies to any platform.
Oracle Server Enterprise Edition - Version: 11.1.0.6 to 11.1.0.8


SYMPTOMS

"Gather Schema Statistics" program reported following errors in request log files:

Error #1: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_LINE_TYPE_MAP***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***
Error #2: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_LOGS***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***
Error #3: ERROR: While GATHER_TABLE_STATS:
object_name=GL.JE_BE_VAT_REP_RULES***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***

Error #4: ERROR: While GATHER_TABLE_STATS:  object_name=FII.FII_FIN_ITEM_HIERARCHIES***ORA-20001: invalid column name or duplicate columns/column groups/expressions in method_opt***



CHANGES

Problem started after database has been upgraded to 11G.

CAUSE

There are two reasons for that error message:

1 ) There are duplicate rows on FND_HISTOGRAM_COLS table for JE_BE_LINE_TYPE_MAP table.
Because of this problem, FND_STATS tries to gather histogram information using wrong command and
it fails with ora-20001 errors.

The following SQL should return one row, not two:

SQL>select column_name, nvl(hsize,254) hsize
from FND_HISTOGRAM_COLS
where table_name = 'JE_BE_LINE_TYPE_MAP'
order by column_name;

COLUMN_NAME HSIZE
------------------------------ ----------
SOURCE 254
SOURCE 254

Since there are two rows in histograms table, FND_STATS creates following command to gather statistics on table 'JE_BE_LINE_TYPE_MAP' :

 dbms_Stats.gather_table_stats(OWNNAME => 'GL', TABNAME
=>'JE_BE_LINE_TYPE_MAP',METHOD_OPT=>'FOR ALL COLUMNS SIZE 1 FOR COLUMNS SOURCE SIZE 254 FOR
COLUMNS SOURCE SIZE 254');
 Above command will work on 9i and 10G databases but it will fail with ora-20001 errors on 11G.

2) Column does not exist on the table but still listed in FND_HISTOGRAMS_COL table.

You can use following SQL to identify. SQL will prompt for table name, use table name from the errors. In above examples you can use FII_FIN_ITEM_HIERARCHIES.

select hc.table_name, hc.column_name
from FND_HISTOGRAM_COLS hc , dba_tab_columns tc
where hc.table_name ='&TABLE_NAME'
and hc.table_name= tc.table_name (+)
and hc.column_name = tc.column_name (+)
and tc.column_name is null;
SOLUTION


Find out all duplicates and/or obsolete rows in FND_HISTOGRAM_COLS and delete one of them logged in as the applsys user.
Remember to take backup of the FND_HISTOGRAM_COLS table before deleting any data.

-- identify duplicate rows

select table_name, column_name, count(*)
from FND_HISTOGRAM_COLS
group by table_name, column_name
having count(*) > 1;

-- Use above results on the following SQL to delete duplicates

delete from FND_HISTOGRAM_COLS
where table_name = '&TABLE_NAME'
and  column_name = '&COLUMN_NAME'
and rownum=1;

-- Use following SQL to delete obsoleted rows

delete from FND_HISTOGRAM_COLS
where (table_name, column_name) in
  (
   select hc.table_name, hc.column_name
   from FND_HISTOGRAM_COLS hc , dba_tab_columns tc
   where hc.table_name  ='&TABLE_NAME'
   and hc.table_name= tc.table_name (+)
   and hc.column_name = tc.column_name (+)
   and tc.column_name is null
  );

commit;

Friday, August 16, 2013

ins_srvm.mk:68: warning: overriding commands for target `libsrvm11.so'

Opatch warning: overriding commands for target xxxx

Oracle Database - Enterprise Edition - Version 11.2.0.2 to 11.2.0.3 [Release 11.2]
Linux x86
IBM: Linux on System z
Linux x86-64
This issue may be encountered regardless of opatch version being used. An y 11.2 opatch version may report this warning
SYMPTOMS

On 11.2 when applying a PSU, CPU or one-off Patch to either the RDBMS or Grid Infrastructure Homes, the relink phase can generate the following warnings:

ins_srvm.mk:68: warning: overriding commands for target `libsrvm11.so'
ins_srvm.mk:31: warning: ignoring old commands for target `libsrvm11.so'
ins_srvm.mk:71: warning: overriding commands for target `libsrvmocr11.so'
ins_srvm.mk:34: warning: ignoring old commands for target `libsrvmocr11.so'
ins_srvm.mk:74: warning: overriding commands for target `libsrvmhas11.so'
ins_srvm.mk:37: warning: ignoring old commands for target `libsrvmhas11.so'

This will cause Opatch to report:

Opatch succeeded with warnings.

The example above is for a Grid Infrastructure Home and srvm, however warnings against other components may be seen.



The following is an example of a DB Home and precomp:-



ins_precomp.mk:19: warning: overriding commands for target `pcscfg.cfg'
env_precomp.mk:2115: warning: ignoring old commands for target `pcscfg.cfg'

CHANGES

Patching which results in relinking taking place i.e.

make -f ins_xxxxx.mk   .....

CAUSE

This warning is independent of the version of opatch used.

Targets are defined more than once within the makefiles and this is just a warning that the second (later) definition is being used:

ins_srvm.mk:71: warning: overriding commands for target `libsrvmocr11.so'
ins_srvm.mk:34: warning: ignoring old commands for target `libsrvmocr11.so'

ins_precomp.mk:19: warning: overriding commands for target `pcscfg.cfg'
env_precomp.mk:2115: warning: ignoring old commands for target `pcscfg.cfg'



If you check the $OH/install/make.log you will see that these warnings existed before patching i.e. after the original installation.  This is not an issue which the patch you are applying has introduced, simply a warning which opatch has correctly captured and is reporting back to the user.

SOLUTION

This is a warning only which opatch is reporting.  The Patch has applied successfully and the warning output can be safely ignored.


Tuesday, August 13, 2013

I/O Tuning with Different RAID Configurations



I/O Tuning with Different RAID Configurations

PURPOSE
-------

This document gives a general overview of RAID (Redundant Arrays of
Inexpensive Disks), the different levels of RAID and their uses, and the use
of RAID with Oracle databases.
 
SCOPE & APPLICATION
-------------------

This note is intended to provide a discussion on RAID configurations.


1. Overview of RAID configurations and Oracle
---------------------------------------------

RAID-0:
-------

RAID-0 offers pure disk striping.  The striping allows a large file to be spread
across multiple disks/controllers, providing concurrent access to data because
all the controllers are working in parallel. It does not provide either data
redundancy or parity protection.  In fact, RAID-0 is the only RAID level focusing
solely on performance. Some vendors, such as EMC, do not consider level 0 as
true RAID and do not offer solutions based on it.  Pure RAID-0 significantly
lowers MTBF, since it is highly prone to downtime.  If any disk in the array
(across which Oracle files are striped) fails, the database goes down.

RAID-1:
-------

With RAID-1, all data is written onto two independent disks (a "disk pair") for
complete data protection and redundancy. RAID-1 is also referred to as disk
mirroring or disk shadowing.  Data is written simultaneously to both disks to
ensure that writes are almost as fast as to a single disk. During reads, the
disk that is the least busy is utilized. RAID-1 is the most secure and reliable
of all levels due to full 100-percent redundancy.  However, the main disadvantage
from a performance perspective is that every write has to be duplicated.
Nevertheless, read performance is enhanced, as the read can come from either
disk.  RAID-1 demands a significant monetary investment to duplicate each disk;
however, it provides a very high Mean time between failures (MTBF). Combining
RAID levels 0 and 1 (RAID-0+1) allows data to be striped across an array,
in addition to mirroring each disk in the array.

RAID-0 & RAID-1:
----------------

If RAID/0 is then combined with RAID/1 (mirroring) this then provides the resilience,
but at a cost of having to double the number of disk drives in the configuration.
There is another benefit in some RAID/1 software implementations in that the requested
data is always returned from the least busy device.
This can account for a further increase in performance of over 85% compared
to the striped, non-mirrored configuration.

Write performance on the other hand has to go to both pieces of the software
mirror. If this second mirror piece is on a second controller (as would
normally be recommended for controller resilience), this degradation can be as
low as 4 percent.

RAID-3:
-------

In a RAID 3 configuration, a single drive is dedicated to storing error correction
or parity data. Information is striped across the remaining drives.
RAID/3 dramatically reduces the level of concurrency that the disk
subsystem can  support (I/O's per second) to a comparable software mirrored
solution . The worst case for a system using RAID/3, would be an OLTP
environment, where the number of rapid transactions is numerous and response
time is critical.

So to put it simply, if the environment is mainly read only (Eg Decision
Support) RAID/3 provides disk redundancy with read performance slightly
improved, but at the cost of write performance. Unfortunately, even decision
support databases still do a significant amount of disk writing since complex
joins, unique searches etc still do temporary work, thus involving disk
writing.

RAID-5:
-------

Instead of total disk mirroring, RAID-5 computes and writes parity for every
write operation. The parity disks avoid the cost of full duplication of the
disk drives of RAID-1. If a disk fails, parity is used to reconstruct data
without system loss. Both data and parity are spread across all the disks in
the array, thus reducing disk bottleneck problems. Read performance is improved,
but every write has to incur the additional overhead of reading old parity,
computing new parity, writing new parity, and then writing the actual data, with
the last two operations happening while two disk drives are simultaneously
locked. This overhead is notorious as the RAID-5 write penalty. This write
penalty can make writes significantly slower. Also, if a disk fails in a RAID-5
configuration, the I/O penalty incurred during the disk rebuild is extremely
high. Read-intensive applications (DSS, data warehousing) can use RAID-5 without
major real-time performance degradation (the write penalty would still be
incurred during batch load operations in DSS applications). In terms of storage,
however, parity constitutes a mere 20-percent overhead, compared to the
100-percent overhead in RAID-1 and 0+1.
Initially, when RAID-5 technology was introduced, it was labeled as the
cost-effective panacea for combining high availability and performance.
Gradually, users realized the truth, and until about a couple of years ago,
RAID-5 was being regarded as the villain in most OLTP shops. Many sites
contemplated getting rid of RAID-5 and started looking at alternative solutions.
RAID 0+1 gained prominence as the best OLTP solution for people who could afford
it. Over the last two years, RAID-5 is making a comeback either as hardware-based
RAID-5 or as enhanced RAID-7 or RAID-S implementations. However, RAID-5 evokes
bad memories for too many OLTP database architects.

RAID-6
-------

Raid 6 extends Raid 5 with additional parity block.  So with the second parity strip, Raid 6 gives
redundancy or high availability feature.  This gives added protection, as even if data is lost on one
disk, the second parity stripe will be there to ensure integrity.  Raid 6 does not have performance
penalty for reads but does have performance impact for writes, as there is overhead for the
additional parity configuration.  Furthermore, the performance varies with the storage setup and
architecture. So before implementation, thorough evaluation should be made and investigated.


RAID-S:
-------

RAID S is EMC's implementation of RAID-5. However, it differs from pure RAID-5
in two main aspects:
(1) It stripes the parity, but it does not stripe the data.
(2) It incorporates an asynchronous hardware environment with a write cache.
This cache is primarily a mechanism to defer writes, so that the overhead of
calculating and writing parity information can be done by the system, while it
is relatively less busy (and less likely to exasperate the user!). Many users of
RAID-S imagine that since RAID-S is supposedly an enhanced version of RAID-5,
data striping is automatic. They often wonder how they are experiencing I/O
bottlenecks, in spite of all that striping. It is vital to remember that in
RAID-S, striping of data is not automatic and has to be done manually via
third-party disk-management software.

RAID-7:
-------
RAID-7 also implements a cache, controlled by a sophisticated built-in real-time
operating system. Here, however, data is striped and parity is not. Instead,
parity is held on one or more dedicated drives. RAID-7 is a patented architecture
of Storage Computer Corporation.


2. Pro's and Cons of Implementing RAID technology
-------------------------------------------------

There are benefits and disadvantages to using RAID, and those depend on the
RAID level under consideration and the specific system in question.

In general, RAID level 1 is most useful for systems where complete redundancy
of data is a must and disk space is not an issue.  For large datafiles or
systems with less disk space, this RAID level may not be feasible.  Writes
under this level of RAID are no faster and no slower than 'usual'.

For all other levels of RAID, writes will tend to be slower and reads will be
faster than under 'normal' file systems.  Writes will be slower the more
frequently ECC's are calculated and the more complex those ECC's are.
Depending on the ratio of reads to writes in your system, I/O speed may have a
net increase or a net decrease.  RAID can improve performance by distributing
I/O, however, since the RAID controller spreads data over several physical
drives and therefore no single drive is overburdened.

The striping of data across physical drives has several consequences besides
balancing I/O.  One additional advantage is that logical files may be created
which are larger that the maximum size usually supported by an operating
system.  There are disadvantages, as well, however.  Striping means that it is
no longer possible to locate a single datafile on a specific physical drive.
This may cause the loss of some application tuning capabilities.  Also, in
Oracle's case, it can cause database recovery to be more time-consuming.  If a
single physical disk in a RAID array needs recovery, all the disks which are
part of that logical RAID device must be involved in the recovery.

One additional note is that the storage of ECC's may require up to 20%
more disk space than would storage of data alone, so there is some disk
overhead involved with usage of RAID.


3. RAID and Oracle
------------------

The usage of RAID is transparent to Oracle.  All the features specific to
RAID configuration are handled by the operating system and go on behind-
the-scenes as far as Oracle is concerned.  Different Oracle file-types
are suited differently for RAID devices.  Datafiles and archive logs can be
placed on RAID devices, since they are accessed randomly.

The database is sensitive to read/write performance of the Redo Logs
and should be on a RAID 1 , RAID 0+1 or no RAID at all since they are accessed
sequentially and performance is enhanced in their case by having the disk drive
head near the last write location.
Keep in mind that RAID 0+1 does add overhead due to the 2 physical I/O's.
Mirroring of redo log files, however,is strongly recommended by Oracle.

In terms of administration, RAID is far simple than using Oracle
techniques for data placement and striping.

                                               
Recommendations:                                                              

In general, RAID usually impacts write operations more than read operation.
This is specially true where parity need to be calculated (RAID 3, RAID 5, etc).
Online or archived redo log files can be put on RAID 1 devices.  
You should not use RAID 5. 'TEMP'  tablespace data files should also go on
RAID1 instead of RAID5 as well. The reason for this is that streamed
write performance of distributed parity (RAID5) isn't as good as that of
simple mirroring (RAID1).                        

Swap space can be used on RAID devices without affecting Oracle.  
       

====================================================================================
RAID  Type of RAID        Control       Database        Redo Log        Archive Log
                            File          File            File            File
====================================================================================
0     Striping             Avoid*          OK*           Avoid*           Avoid*    
------------------------------------------------------------------------------------
1     Shadowing             OK             OK          Recommended       Recommended
------------------------------------------------------------------------------------
0+1   Striping +            OK         Recommended       OK            Avoid    
      Shadowing                           (1)                                                        
------------------------------------------------------------------------------------
3     Striping with         OK           Avoid           Avoid            Avoid    
      Static Parity                       (2)                                                                  
------------------------------------------------------------------------------------
5     Striping with         OK           Avoid           Avoid            Avoid    
      Rotating Parity                     (2)
------------------------------------------------------------------------------------

*   RAID 0 does not provide any protection against failures. It requires a strong backup
    strategy.
(1) RAID 0+1 is recommended for database files because this avoids hot spots and gives
    the best possible performance during a disk failure.  The disadvantage of RAID 0+1
    is that it is a costly configuration.
(2) When heavy write operation involves this datafile



RELATED DOCUMENTS
-----------------
References:
1. RAID: High-Performance, Reliable Secondary Storage, (Chen, Peter etal, 1994) References
2. Six Storage Tips for 24x7 Availability (Devaj, Venkat S.), Oracle Magazine