Thursday, April 24, 2014

Difference between BPM and BPEL

BPEL and BPM are two distinct products with similar objectives using different tools, standards, and techniques. Oracle BPEL came from an acquisition of Collaxa in 2004 and BPM was a product acquired during the acquisition of BEA Systems in 2008. Oracle BPM (AquaLogic BPM) is a pure-play Business Process Management Suite meaning it has all the BPM tools in one product which includes process modeling, simulation, integration, execution, and analysis among other components. From a broad perspective, OBPM is centered around managing an organization's business processes where business users and IT users can collaborate using the same tools and artifacts. BPEL is focused more on a subset of this and caters more to integrating system to system type activities using XML/webservices to pass messages between activities. OBPM is really good at human interaction from a design/development perspective as well as from a usage perspective compared to BPEL. The two can also co-exist in a solution that involves processes that are both human-centric and integration (system-system) centric. OBPM would drive the process and invoke BPEL as a service to fulfill an activity or set of activities that requires a series of system to system calls. Highlights: Oracle BPM: - Pure-play BPM Suite - A superset of functionality to BPEL - Caters to both Business and IT users - Good at human centric processes - Based on XPDL and BPMN standards - Easy to learn, develop, maintain, and use - Can call a BPEL process to perform a service Oracle BPEL: - Subset of BPM Suite functionality - Caters to IT users - Used mostly for system-system integration - BPEL standards based - Requires more sophisticated technical skills to install, learn and use (not for business users at all) - Can be invoked as a service from BPM or other application

Sunday, April 13, 2014

What are the Differences Between BPM and SOA?

The differences between SOA and BPM are not always obvious to the average business user. This article explains the differences between these two concepts – and how they work together to help streamline business processes. Do a search of service oriented architecture or business process management, and you’re bound to see the other referenced in the search results. Further research and reading will reveal even more confusion: improving business processes is often referenced in articles explaining service-oriented architecture. Conversely, BPM often talks about SOA. How is one supposed to make sense of these two terms, how they work together, and how they differ? The best place to begin in differentiating between BPM and SOA is to first understand what they have in common. Simply put, both of these disciples work toward improving integration of business processes. Much like the industrial revolution ushered in new methods of mass production and quality control, thus turning the page on handmade, “cottage industry” production, so too have SOA and BPM led businesses to better understand how disparate technology systems with their organisations lead to waste and inefficiency. As a result, both BPM and SOA seek to integrate all of the systems within an organisation so that they can share data more easily and provide fresh, accurate means for servicing customers and clients. BPM Considering that both BPM and SOA seek to deliver streamlined integration to business processes, then one might wonder “what is BPM?” BPM is a holistic management process that seeks to align business processes so that they are optimised for the needs of an organisation’s clients and industry challenges. While the IT perspective of BPM is concerned mainly with the technological considerations behind the middleware of a company’s business solution, BPM actually transcends even this restrictive view of what a business process means to a business. Bound up in BPM is not just the technological implementation of new middleware systems, but also a managerial roadmap that integrates human-driven processes in which human interaction takes place in series or parallel with the use of technology. This isn’t to say that BPM is an intangible approach to integration; it is commonly implemented by a series of design tools, as well as detailed, time-proven methodologies, such as Lean Six Sigma. But all in all, BPM ushers in a complete management of how all operational processes are structured and implemented, all toward the one goal of efficiency and implementation. SOA Unlike BPM, which provides organisations with a specific management approach to implementing and maintaining efficient, integrated business processes, SOA instead provides a flexible set of design principles for developers, which are used during the systems development and integration phases of BPM projects. In this way, SOA helps to forge the blueprint and technological means for implementing the goals defined by BPM. As stated earlier, at the heart of SOA is the integration of disparate systems within a company’s business solution. This is achieved by orchestrating software functionalities in a highly flexible, non-hierarchical arrangement. This is usually accomplished by using effective SOA software tools that allow existing software systems to communicate and interact. In this way, SOA gives developers the means of restructuring existing technological assets of companies so that they work more efficiently. SOA and BPM Work Together Because SOA and BPM overlap each other in terms of what they seek to accomplish, both concepts are in many ways inseparable. While one could imagine BPM as a more philosophical design approach, its principles are firmly rooted in optimising business technologies – there is little need for business process management outside the realm of technology these days. Because this is the case, SOA functions as a key component of achieving the objectives that BPM seeks to accomplish

Wednesday, April 9, 2014

What's ASM and how it works?

This article provides a general insight on working of Oracle ASM and the associated admin tasks. Oracle ASM is a volume manager and a file system for Oracle database files that supports single-instance Oracle Database and Oracle Real Application Clusters (Oracle RAC) configurations. Oracle ASM uses disk groups to store data files; an Oracle ASM disk group is a collection of disks that Oracle ASM manages as a unit. Within a disk group, Oracle ASM exposes a file system interface for Oracle database files. The content of files that are stored in a disk group is evenly distributed to eliminate hot spots and to provide uniform performance across the disks. The performance is comparable to the performance of raw devices. The Oracle ASM normal and high redundancy disk groups enable two-way and three-way mirroring respectively. You can use external redundancy to enable a Redundant Array of Independent Disks (RAID) storage subsystem to perform the mirroring protection function. You can add or remove disks from a disk group while a database continues to access files from the disk group. When you add or remove disks from a disk group, Oracle ASM automatically redistributes the file contents and eliminates the need for downtime when redistributing the content. Oracle ASM also uses the Oracle Managed Files (OMF) feature to simplify database file management. OMF automatically creates files in designated locations. OMF also names files and removes them while relinquishing space when tablespaces or files are deleted. Oracle ASM Files Files that are stored in Oracle ASM disk groups are called Oracle ASM files. Each Oracle ASM file is contained within a single Oracle ASM disk group. Oracle Database communicates with Oracle ASM in terms of files. This is similar to the way Oracle Database uses files on any file system. You can store the various file types in Oracle ASM disk groups, including: · Control files · Data files, temporary data files, and data file copies · SPFILEs · Online redo logs, archive logs, and Flashback logs · RMAN backups · Disaster recovery configurations · Change tracking bitmaps · Data Pump dumpsets Striping in ASM explained : Oracle ASM striping has two primary purposes: · To balance loads across all of the disks in a disk group · To reduce I/O latency Coarse-grained striping provides load balancing for disk groups while fine-grained striping reduces latency for certain file types by spreading the load more widely. Lets first understand how the files are stored in ASM. The lowest level of granularity in ASM in "Allocation Unit " (AU) . When you create a disk group, you can set the Oracle ASM allocation unit size with the AU_SIZE disk group attribute. The values can be 1, 2, 4, 8, 16, 32, or 64 MB, depending on the specific disk group compatibility level. Larger AU sizes typically provide performance advantages for data warehouse applications that use large sequential reads Next comes the EXTENT . All files in ASM are stored as set or collection of extents. An extent is made up of multiple Allocations units (AU) . Each extent fits in one single disk. To accommodate increasingly larger files, Oracle ASM uses variable size extents. OK with the above AU and Extents explained, lets continue with Striping : To stripe data, Oracle ASM separates files into stripes and spreads data evenly across all of the disks in a disk group. The fine-grained stripe size always equals 128 KB in any configuration; this provides lower I/O latency for small I/O operations. The coarse-grained stripe size is always equal to the AU size (not the data extent size). Figures 1 is illustrations of Oracle ASM file striping. In both illustrations, the allocation unit size has been set to 1 M (AU_SIZE = 1M) for the disk group which consists of 8 disks. The Oracle ASM instance is release 11.2 and the disk group compatibility attributes for ASM and RDBMS have been set to 11.2, so variable extents are shown in the graphic Figure 1 Discovering Disks in ASM The disk discovery process locates the operating system names for disks that Oracle ASM can access. Disk discovery finds all of the disks that comprise a disk group to be mounted. The set of discovered disks also includes disks that could be added to a disk group. An Oracle ASM instance requires an ASM_DISKSTRING initialization parameter value to specify its discovery strings. Only path names that the Oracle ASM instance has permission to open are discovered. The exact syntax of a discovery string depends on the platform, ASMLIB libraries, and whether Oracle Exadata disks are used. For example: For general storage : ASM_DISKSTRING = '/dev/raw/disk*' For Exadata: ASM_DISKSTRING = 'o/*/data*' Make sure to change the device permissions to read/write and ownership to grid:asmadmin or oracle:dba ( the owner of the disk devices should be the same as the owner of the Oracle binary software. The group ownership should be OSDBA of the Oracle ASM instance, which is defined at installation) How to maintain it? Let’s talk about some general administrative tasks that you would be doing. Some useful queries · Checking which instances are served by the ASM and which diskgroups belong to which DB, with V$ASM_CLIENT view SQL> SELECT dg.name AS diskgroup, SUBSTR(c.instance_name,1,12) AS instance, SUBSTR(c.db_name,1,12) AS dbname, SUBSTR(c.SOFTWARE_VERSION,1,12) AS software, SUBSTR(c.COMPATIBLE_VERSION,1,12) AS compatible FROM V$ASM_DISKGROUP dg, V$ASM_CLIENT c WHERE dg.group_number = c.group_number; · Checking which disks belong to the Diskgroups with v$ASM_DISKGROUP and v$ASM_DISK SQL> SELECT SUBSTR(d.name,1,16) AS asmdisk, d.mount_status, d.state, dg.name AS diskgroup FROM V$ASM_DISKGROUP dg, V$ASM_DISK d WHERE dg.group_number = d.group_number; · Check available free space in disk groups SQL> select group_number "Group", disk_number "Disk", path "Path", header_status, trunc(free_mb/1024) "Free GB", trunc(total_mb/1024) "Total GB", round(free_mb/total_mb, 3)*100 "Pct Free" from v$asm_disk / · Viewing Intelligent Data Placement information with V$ASM_FILE SQL> SELECT dg.name AS diskgroup, f.file_number, f.primary_region, f.mirror_region, f.hot_reads, f.hot_writes, f.cold_reads, f.cold_writes FROM V$ASM_DISKGROUP dg, V$ASM_FILE f WHERE dg.group_number = f.group_number and dg.name = 'DATA'; Create GRID Disks For Exadata only : CellCLI> CREATE GRIDDISK ALL PREFIX=sales, size=75G Create Disk Groups The SQL statement in Example below creates a disk group named data with normal redundancy consisting of two failure groups controller1 or controller2 with four disks in each failure group. The data disk group is typically used to store database data files. Creating the DATA disk group CREATE DISKGROUP data NORMAL REDUNDANCY FAILGROUP controller1 DISK '/devices/diska1' NAME diska1, '/devices/diska2' NAME diska2, '/devices/diska3' NAME diska3, '/devices/diska4' NAME diska4 FAILGROUP controller2 DISK '/devices/diskb1' NAME diskb1, '/devices/diskb2' NAME diskb2, '/devices/diskb3' NAME diskb3, '/devices/diskb4' NAME diskb4 ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '11.2', 'compatible.rdbms' = '11.2', 'compatible.advm' = '11.2'; Checking ASM alert log All the ASM related files are stored under $ORACLE_BASE/diag or the directory that you list in the init.ora DIAGNOSTIC_DEST initialization parameter $ ls $ORACLE_BASE/diag/asm/+asm/+ASM alert cdump hm incident incpkg ir lck metadata stage sweep trace Note : You can do all the tasks using oracle database console or Enterprise manager grid control GUI. General Helpful commands: # Start / Stop ASM and Listener srvctl stop listener srvctl start listener srvctl stop asm srvctl start asm srvctl status asm # Connect to local/remote ASM isntance $ sqlplus / as sysasm (local connection ) $ sqlplus sys@\"myhost.mydomain.com:1521/+ASM\" AS SYSASM (remote connection) Other considerations: Disk Sizing The number of disks required depends on the size of your database. At the minimum its recommended to have two disk groups. One for Data and one for Recovery area. Each diskgroup should have a minimum of four grid disks for better performance. Keep all the disks of same size and performance in the diskgroup. ASM Disk Rebalancing Oracle ASM automatically initiates a rebalance after storage configuration changes, such as when you add, drop, or resize disks. The power setting parameter determines the speed with which rebalancing operations occur. You can minimize the impact on database performance with the setting of the POWER_LIMIT initialization parameter. Backup the ASM binaries and init.ora files Remember to backup your ORACLE_HOME and GRID_INFRASTRUCTURE binaries using OS backup tools. For 11.2 you can move the ASM init.ora to one of the diskgroups. The disk group COMPATIBLE.ASM should be set to 11.2 $ sqlplus / as sysasm SQL> CREATE SPFILE = '+DATA/asmspfile.ora' FROM PFILE = '$ORACLE_HOME/dbs/asmpfile.ora'; If you create the spfile to some other location then, create a PFILE with one line in it that identifies the path to the SPFILE. For example: Create the /u01/oracle/dbs/spfileasm_init.ora file that contains: SPFILE='+DATA/asm/asmparameterfile/asmspfile.ora' Alternatively use the ASMCMD to fix the auto lookup ASMCMD> spset +DATA/asm/asmparameterfile/asmspfile.ora Restart the ASM to read the new spfile.

AUTOMATIC STORAGE MANAGEMENT (ASM)

Q: What does ASM provide? A: ASM provides a vertical integration of the file system and the volume manager that is specifically built for Oracle database files. Q: What are its key features and benefits? A: Stripes files rather than logical volumes Online disk reconfiguration and dynamic rebalancing Adjustable rebalancing speed Provides redundancy on a file basis Supports only Oracle database files Custer-aware Automatically installed Q: Does ASM have a data dictionary? A: ASM instance does not have a data dictionary and it is restricted to few SQL commands and Dynamic Performance view. Q: How do you create a disk group by using ASM? A: The following are examples of creating and deleting disk groups. Creating a disk group: SQL> CREATE DISKGROUP dgora1 NORMAL REDUNDANCY FAILGROUP controller1 DISK ‘/dev/rdsk/c0t0d0s2’ NAME mydisk SIZE 200G FORCE, ‘/dev/rdsk/c0t1d0s2’, ‘/dev/rdsk/c0t2d0s2’ FAILGROUP controller2 DISK ‘/dev/rdsk/c1t0d0s2’, ‘/dev/rdsk/c1t1d0s2’, ‘/dev/rdsk/c1t2d0s2’; Q: How do you delete a disk group by using ASM? A: Dropping a diskgroup: SQL> DROP DISKGROUP dgora1 INCLUDING CONTENTS; Q: How do you add a disk to an existing disk group? A: The following are examples of how to add disks to an existing disk group. SQL> ALTER DISKGROUP dgora1 ADD FAILGROUP controller1 ‘/dev/rdsk/c0t3d0s2’ NAME a5; Q: How do you remove a disk to an existing disk group? A: To remove a disk: SQL> ALTER DISKGROUP dgora1 DROP DISK a5; Q: Can you undo the removed disk? How? A: Yes. To undo the removed disk do the following SQL statement. This only works if the status of drop is pending or the drop function was not completed yet. SQL> ALTER DISKGROUP dgora1 UNDROP DISKS; Q: How do you display a list of your diskgroups? A: To display a list of diskgroups. SQL> SELECT name FROM v$asm_diskgroup; Q: How do you display a list of associated ASM disks? A: To display a list of associated ASM disks. SQL> COL name FORMAT a20 SQL> COL failgroup FORMAT a20 SQL> SELECT name, failgroup, bytes_read, bytes_written FROM v$asm_disk / Q: How do you display a list of associated ASM files? A: To display a list of associated ASM files. SQL> SELECT group_number, file_number, bytes, type, striped FROM v$asm_file / Q: How do you create a tablespace that uses an ASM disk group? A: To create a tablespace that is stored in the ASM disk group dgora1. SQL> CREATE TABLESPACE mytablespace2 DATAFILE ‘+dgora1’ SIZE 100m / Q: How do you add one addition disk to your system? A: Do the following. SQL> HOST dd if=/dev/zero of=/u02/oradata/school/diska abs=1024k count=200 SQL> SELECT name, failgroup, bytes_read, bytes_written FROM v$asm_disk / SQL> ALTER DISKGROUP dgora1 ADD DISK ‘/u02/oradata/school/diska’ / Execute the following query until you get ‘no rows selected.’ SQL> SELECT operation, est_minutes FROM v$asm_operation / Again, display a list of associated ASM disks. SQL> SELECT name, failgroup, bytes_read, bytes_written FROM v$asm_disk / Now, you should see one more disk was added to disk group

Monday, April 7, 2014

Copy Files Folders from Host OS ( Windows 7 ) to Guest OS (Solaris 11 ) in VMWare and Oracle VM Box or any Virtual Machine

Steps to copy a folder from Host OS( Windows 7) to Guest OS (Solaris 11) in VMWare or Oracle Virtual Box 1. Download the HFS software http://rejetto.webfactional.com/hfs/hfs.exe 2. Install the HFS software in your HOST OS (In this case Windows 7 ) 3. Open the VMWare Player ,select the OS (In this case Solaris 11 64bit) and click on settings and select Network Adapter and select NAT 4. Open the HFS software ,it will have VMWare Network Adapter IP . 5. Drag and drop the folders, files you want to share with Solaris VM . 6. Open the VM Player 7. Login to Solaris 11 vm 8. Open the browser and enter the VMWare Network Adapter IP and right click on the folders, files and save it in your Guest OS ,in this case solaris 11 Vm

Wednesday, April 2, 2014

Cloning Oracle Fusion Middleware

http://docs.oracle.com/cd/E12839_01/core.1111/e10105/clone.htm#