Gathering Important Application Information for Oracle Cloud Migration

Many organizations are looking into migrating their applications to Oracle cloud and with time their numbers are only going to be increased. There are many ways to migrate your application to Oracle cloud, but they all have one common important phase called application discovery. Application discovery is a process where you collect in-depth information about your source environment for a purpose of Cloud migration. There is a lot already published about public cloud migrations, but very little information is available about application discovery process. Cloud application discovery process is one of the most important initial phases for any cloud migration. This phase will not only help you see if your application is a good fit for public cloud, it will also help you reduce road blocks and technical issues during the actual migration. If you have a complete detailed discovery of your application before the migration, it will also help you plan migration project and reduce post migration issues. 

General Application Questions: –

Here are some sample questions that you can ask during your initial contact with application team.   

  1. What is the name & version of the application?
  2. Who are the IT owners of target application?
  3. What type of database and version used by this application?
  4. Who is the technical subject matter expert for this application?
  5. Is this a vendor or in-house build application?
  6. Does this application use or mange compliance data like PCI or HIPPA?
  7. Can you provide us any architectural documents for this application?
  8. Does this application have a DR or load balance solution built-in?
  9. Is there a middleware component to this application (WebLogic or WebSphere)?  
  10. Who are the business users and owner of this application?           

It’s important to provide background to the target audience like explaining reason for this contact. This initial contact can lead to very important feedback like “This application is already retired” or “This application can never move to cloud for ABC reasons”. Ideally, you will use collected information and architectural documents to get ready for the deep dive into the upcoming discovery steps.

Detail Application Questions: –

Here are examples of some details that you can gather for each section of your detail application discovery phase:

  • Application components:
    • Is there a middle component of application? If yes, detail.
    • Is there a DR for this application? If yes, detail.
    • Is there a Load balance component to this application?  If yes, detail.
  • Application dependency:
    • Is there a dependency with other applications? If yes, detail.
    • Is this an internal or customer facing application?  
    • Is this application part of group maintenance window? If yes, detail.
  • Networking Detail:
    • Is this application sensitive to network bandwidth? Large data transfer?
    • What are Firewall rules needed for this application?
    • Is there any large amount of data transfer happening to or from the application?
  • Database information:
    • What type of database/version is used by the application?
    • What is the size and growth rate of application database?
    • What is the RPO/RTO for the database?  
  • Application Support:
    • Is this a vendor application with support contract in-place? If yes, detail
    • Who is supporting this application? what are their names? 
    • Is this application certified to run from Oracle public cloud? 
  • Storage Detail:
    • How much total storage is used by target application?
    • What type of storage used by target application? NFS, Flash, SAN
    • Is IOP/s required by this application or database?
  • Hostname information:
    • How many hosts use this application and what are the details?
    • What are the OS types used by target application?
    • Can we upgrade or change underlying operating system if not available in Oracle Cloud?
  • Risks / Issues:
    • Is there a compliance requirement for this application?
    • Do you need to re-architect or make code changes for Cloud migration?
    • Is there a risk to migrate application from physical to virtual hosts?  

Oracle Big Data Cloud: An Open, Simple and Secure Solution

I would like to use this blog to point out some key differentiators for Oracle Big Data Cloud offering. Oracle’s Big Data Cloud is designed for the enterprises using open source technologies like Apache Spark and Apache Hadoop. It utilizes Oracle’s Infrastructure Cloud Services to deliver a managed, secure, elastic and integrated platform for all Big Data Workloads.

Open 

Oracle Big Data Cloud offering is designed with multiple open source components, and this makes it an ideal big data platform for companies who are looking to adopt open source technologies. This offering provides the customer a choice of opening source Big Data technology with unlimited scalability and highly available platform. Oracle Big Data Cloud is integrated with Oracle’s IaaS and PaaS solutions, giving you an opportunity to spend your resources and time developing new technologies versus wasting time setting up the environment to analyze the data.

Simple

Oracle Big Data Cloud offers a simple but robust solution to Big Data customers. You can spin up a new Apache Hadoop or Apache Spark Cluster or an entire Big Data Analytics stack in minutes. Similarly, you can scale up or down manually or automatically based on KPI based policies. You can also launch as many clusters as you need to analyze the data. Oracle Big data cloud also offers Centralized Identity and Access management through Identity Cloud Service. Finally, Oracle Big Data Cloud support elasticity at three levels of solution, for example:

• Cluster Elasticity: Scale out/in, up/ down based on workload needs.

• Storage Elasticity: Scale the storage tier independently from the compute tier

• Compute Elasticity: Choose from a variety of compute shapes depending on the workload

Secure

 As per Oracle, Oracle Big Data Cloud is integrated within the Oracle Identity Cloud Service to provide centralized way of enabling user-access to the service and robust auditing of user access. Kerberized clusters are integrated with Oracle’s central Identity Store to provide strong authentication to all the cluster’s services. Oracle Big Data Cloud protects data-in-motion and data-at-rest through encryption. All service lifecycle as well as service consumption REST calls to the service are also protected through HTTPS. Software-defined Networking enables the customers of Oracle Big Data Cloud to have fine grained control over the network security. Customers are able to define VPN, control which ports get exposed as well as white-list IPs through self-service.

Hardware Profiling for Oracle Cloud Migration

Hardware & network profiling is another important phase of application discovery process regardless of end goal, which can be used for public cloud migration or data center migration. It includes capturing statistics about hardware usage like CPU utilization, memory usage, network bandwidth, data transfer and IOPS.  Capturing hardware statistics are important since it will be used for capacity planning and provisioning hardware resources to Oracle public cloud for target application. Any miscalculation on this part can lead to under provisioning of hardware resources in Oracle Public cloud which can cause the application to perform poorly after migration.


Oracle Enterprise Manager

Hardware statistics can be gathered using many methods depending on the operating systems and existing monitoring tools. Many organizations have already deployed robust monitoring and alerting tools like Oracle Enterprise Manager, OS watcher to monitor their systems. You should be able to gather most of the required information from existing reports and logs. Additionally, you can also install user define shell or Oracle PL/SQL scripts to gather rest of the information. One also should not ignore the importance of firewall, gathering network traffic and firewall information as they are crucial in developing a secured network in Oracle cloud environment.    

Application Profiling for Oracle Cloud Migration

Application profiling is an important phase for Oracle cloud migration , it’s design to gather in-depth information about the target application. Based on the information that is collected during the initial contacts, you can initiate application profiling phase. Information gathered during this phase can be used for migration planning and provisioning hardware resources for Oracle public cloud. This phase will also help you determine if all the application components are available in Oracle public cloud like load balancer, remote DR solution and storage replication. Depending on the application type, you might need to dig into the application code to see if that can be fork lifted to Oracle public cloud without making any changes, as sometimes application code contains hostnames and IP addresses. Similarly, understanding application logic and data set can be equality import for upcoming migration. If target application ingests or provides huge amount of data to other applications in the organization, this can present as a challenge for migration because of network bandwidth and transfer charges. Additionally, if this application contains PCI or HIPPA compliance related data, this will require more scrutiny and approvals from compliance department.

It’s also important to gather all test scripts for target application. Review test scripts to determine if they can be used during the migration for testing application performance and functionality. If test scripts are not available or are incomplete, this should be marked as a risk for migration to Oracle cloud. Finally, capture application performance statistics for all critical processes and queries so they can be used as baseline for upcoming migration.   

There are many profiling tools available in the market now a days but here is the list some Oracle profiling tools you can use for application and data profiling based on your needs. 

  1. Oracle SQL Developer
  2. Oracle Developer Studio
  3. The NetBeans Profiler 
  4. The HPROF Profiler
  5. The Optimizeit Profiler
  6. The Wily Introscope Profiler
  7. The JProbe Profiler
  8. Oracle SQL Profiler

Overview of Application Discovery process for Oracle Cloud migration

Many organizations are looking into migrating their applications to Oracle cloud and with time their numbers are only going to be increased. There are many ways to migrate your application to Oracle cloud, but they all have one common important phase called application discovery. Application discovery is a process where you collect in-depth information about your source environment for a purpose of Cloud migration. There is a lot already published about public cloud migrations but very little information is available about application discovery process. Cloud application discovery process is one of the most important initial phases for any cloud migration. This phase will not only help you see if your application is a good fit for public cloud, it will also help you reduce road blocks and technical issues during the actual migration. If you have a complete detailed discovery of your application before the migration, it will also help you plan migration project and reduce post migration issues.   

As mentioned earlier, application discovery process involves gathering detailed information about the target application. This may include conducting interviews with application users & developers, application & data profiling and hardware & network profiling. Application discovery process usually start with interviewing technical and business users to help them understand application functionality, logic and flow of the target application. You can also start application profiling while you are conducting interviews, this process will involve using many techniques and tools to gather application components, dependencies, security, data and compliance information about the target environment. Similarly, you will need to profile existing hardware and network to map out target environments to services and resources available in Oracle public cloud. It’s important to note that Oracle Public cloud is enterprise cloud offering many application components as a platform for services like Load Balancer, DBaaS, GoldenGate, Business intelligence etc. I will recommend that you analyze and compare all your application components to see if you can replace any of your application component with Oracle cloud service to decrease the cost and increase availability. 

It is also important to understand that there are few application discovery tools offered by cloud vendors which can facilitate application discovery process. But we found that those tools were not helpful in many situations since very few customers will let you connect to their production systems using those tools. Keeping that in mind, this article is mostly focused on manual process and steps to complete application discovery process while referencing many Oracle and third-party tools as needed. Additionally, application discovery process is almost the same for any public cloud migration, but this article will focus on Oracle public cloud.

Do you need detail application discovery for Oracle cloud migration?

Many of you must be wondering why we need a detailed discovery process for Oracle cloud migration. Why not just do a Proof of Concept (POC) for the target application to assess feasibility of Oracle cloud migration and iron out migration issues along the way. Based on my experience, POC for Oracle cloud migration will only work for one or two applications, this approach will not work if you are looking to migrate a group of applications. Additionally, POC will require more upfront cost and resources versus application discovery process. Finally, it will take longer to discover if target application is a good fit for Oracle public cloud through POC versus application discovery process.

I cannot overstate the importance of performing detail application discovery for Oracle cloud migration.  Application discovery is crucial to migrate all the applications, but level of detail can vary based on criticality of the application. There are many critical phases of Oracle cloud migration like provisioning, testing and migration, which will depend on detailed application discovery process. For example, you will not be able to provision Oracle cloud environment if you have not collected hardware and network information for the target application. Secondly, you will not able to identify any road blocks to the migration beforehand and that can lead to a waste of capital or even failed migration project.

Introduction to Oracle Cloud Analytics

As you know Oracle analytics is getting immense attention being the market leader in providing the analytics value in cloud marketplace. This blog will provide you with a thorough and high yield review of vision and strategy behind Oracle analytics while focusing on autonomous analytics.

As in every other aspect of life analytics is very important in making informed decisions. With the invention of autonomous analytics including machine learning and artificial intelligence, decision making, and predictive ability has been greatly enriched. Autonomous analytics works by revealing hidden patterns and making actionable insights more accessible thus empowering everyone to use data to drive every process direct every interaction and inform every decision so that the proposed outcome is achieved.

In order to drive broad consumption, Oracle make it easy for everyone to interact with information so that you can engage, analyze, and act in a way that is natural—as in asking questions in plain language using either text or voice, searching for answers, and receiving insights as narration. Cut through information overload with relevant, personalized insights delivered proactively to you in the context that makes the most sense. This is where context is the main key as it provides access to the information that you need. Speed is another important factor. Oracle analytics cloud can autonomously query the data and give appropriate illustrations. The text summarizes salient points so that you can focus on what the data really means and filter out the dissonance that comes from different interpretations of a visualization. Natural language generation makes the analytic experience much more conversational.

To deliver deeper, more meaningful insights, Autonomous analytics can recommend what data to analyze, how it could be augmented, and what it really means. It can suggest key drivers and insights to guide analysis, and it can recommend the best way to interpret data and what actions to take as a result.

Overview of Oracle MySQL Cloud Service

Oracle is continuously striving to offer best in-class cloud solutions to their customers. Oracle MySQL Cloud Service is another example, how Oracle is the only Enterprise cloud that stands out in town offering all 3 levels (SaaS, PaaS and IaaS) of solutions in public cloud. Here are some import take-a-ways about Oracle MySQL Cloud Service.

Time to Market:

Time to market is one of the key features of any cloud service, you can continue going with Oracle MySQL Cloud Service in just few clicks and manage your database deployments easily using superior tools.  Oracle MySQL Cloud Service offers manager tools to manage your database in cloud. For example, MySQL Enterprise Backup enables online hot backups of your databases including support of full, incremental and point-in-time recovery backups.  Oracle MySQL Cloud Service also offer robust monitoring tools like MySQL Enterprise Monitor and MySQL Query Analyzer to continuously monitor your databases and alert you to potential problems. MySQL Workbench provides data modeling, SQL development, and comprehensive visual tools for database architects, developers, and DBAs. Oracle Enterprise Manager monitors MySQL and your entire Oracle environment from a single management console

Scalability:

Scalability has always been a concern for opensource database in comparison to enterprise databases like Oracle. Customers for an open source database were long looking for opensource database offer that can provide availability and scalability of an enterprise database like Oracle with the cost of opensource solution. With Oracle MySQL Cloud Service, you can scale your computer resources as needed, up or down, with Elastic Compute. You will also increase your block storage as needed for your MSQL instance with Elastic storage. Sustain performance and scalability in spite of ever-increasing user, query, and data loads with MySQL Thread Pool. Hence, improve your application uptime with MySQL Replication and MySQL Replication Monitoring.

Support:

Based on my experience, support for an open source database is #1 concern for customer. Keeping that in mind, Oracle made support a key component for Oracle MySQL Cloud Service. With Oracle MySQL Cloud Service, you can get MySQL technical support directly from the experts and the engineers developing the MySQL products. They’ll help you to solve your most complex issues 24 hours a day and make the most of your MySQL deployments. You can get a single point of contact for both cloud infrastructure and MySQL issues. You don’t have to waste your valuable time wondering if you’ll find the right person to give you the answers that you need.

Security:

Oracle public cloud offer immense security for all its services and Oracle MySQL Cloud Service is no exception. Integrated Oracle public cloud, Oracle MySQL Cloud Service integrates MySQL Enterprise Edition and provides multilayered security when accessing from Oracle Public Cloud to the data stored in MySQL. MySQL Enterprise Audit lets you quickly and seamlessly add policy-based auditing compliance to the existing applications. Additionally, MySQL Enterprise Encryption provides industry-standard functionality to protect your sensitive data throughout its life cycle. Finally, MySQL Enterprise Transparent Data Encryption provides data-at-rest encryption and secure key management for all your security needs.

Data Dump Import Missing NOT NULL Constraints

Hi All, I like to share my experience with recent database migration to Exadata Machine using Oracle Export / Import utility. Many of us used Oracle Export / Import utility for database upgrades and migrations. If you are migrating data using Data Pump with all the constraints and indexes, you will not face this issue. This issue is only related to Data Pump option Exclude / Include = Constraints.

Let me start with the reason that why would we need to copy data using data pump without constraints or indexes. When you are migration few GB of data it will not matter that you are creating and build indexes during data import. But if you are planning to migrate 10+ TB database using data pump, you want to separate data copy from indexes and constraints. Creating indexes and constraints on terabyte tables can take days since they will run without any parallelism. Hence many DBA’s and migration experts uses Data Pump SQLFILE option for indexes and constraints creation. This way we are able to create indexes in parallel mode and create constraints without validate.

Now with 12c Oracle has change exclude option and it will not import NOT NULL constraints if you exclude constraints during data import. Please review following Oracle Support note and make sure to bring NOT NULL constraints manually after the data import. Fortunately, data import with exclude constraints option still bring CHECK constraints for now.

Data Pump Import With EXCLUDE=CONSTRAINT Or INCLUDE=CONSTRAINT Is Excluding And Respectively Not Including NOT NULL Constraints (Doc ID 1930631.1)

After doing a Data Pump import (impdp) in 12.1.0.2 database release with parameter EXCLUDE=CONSTRAINT the NOT NULL constraints from source tables are not in target tables. Sequence of steps leading to the problem:
– Data Pump export of tables with NOT NULL and referential integrity constraints
– Data Pump import with EXCLUDE=CONSTRAINT

For example:

==> In source database a table has the following structure:

Name Null? Type
—————————————– ——– —————————-
ID NOT NULL NUMBER(38)
NAME NOT NULL VARCHAR2(20)
AGE NOT NULL NUMBER(38)
ADDRESS CHAR(25)
SALARY NUMBER(18,2)

=> After import, the table structure:

Name Null? Type
—————————————– ——– —————————-
ID NUMBER(38) ———————> NOT NULL Constraints ignored
NAME VARCHAR2(20)———————> NOT NULL Constraints ignored
AGE NUMBER(38)———————> NOT NULL Constraints ignored
ADDRESS CHAR(25)
SALARY NUMBER(18,2)

Also, if using Data Pump import (impdp) with INCLUDE=CONSTRAINT parameter, NOT NULL constraints are not imported.

Perform Table Recovery With Oracle 12c Using RMAN

Import Consideration:

  • An rman backup containing the missing table must exist; it cannot rely on a backup from before the table was created alongside the application of archived redo.
  • The table cannot belong to SYS or SYSTEM and cannot reside in SYSTEM or SYSAUX.

Create Test Tables

SQL> create table test1 as select * from dba_tables;

Table created.

SQL> select count(*) from test1;

  COUNT(*)

———-

      6352

Make sure to perform Incremental or Full Backup

Drop test Tables

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Production

SQL> drop table umair.test1;

Table dropped.

Set Recovery Destination Area

> Mkdir –p /zfssa/dbm01/backup1/fra

> cd /zfssa/dbm01/backup1/fra

oracle@exadbadm01.gain.tcprod.local:dbm01:/zfssa/dbm01/backup1/fra

Recover table using time or SCN

RMAN> recover table umair.test1 until time “to_date(’09/16/2017 21:01:15′,’mm/dd/yyyy hh24:mi:ss’)” auxiliary destination ‘/zfssa/r360pdimg/imgbackup1/fra’;

Starting recover at 17-SEP-17
using target database control file instead of recovery catalog
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=509 instance=dbm01 device type=DISK
RMAN-05026: warning: presuming following set of tablespaces applies to specified point-in-time

List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1
Tablespace UNDOTBS2
Tablespace UNDOTBS3
Tablespace UNDOTBS4
Tablespace UNDOTBS5
Tablespace UNDOTBS6

auxiliary instance file tspitr_plti_80445.dmp deleted
Finished recover at 18-SEP-17

Validate Table Recovery

SQL> select count(*) from test1;

  COUNT(*)

———-

      6352