Download presentation
Published byMarshall Sherman Black Modified over 10 years ago
2
Oracle Multitenant Successful Migration of Oracle Taleo Business Edition (TBE) Cloud Service Obaidur (OB) Rashid Sr. Director, Product Development Taleo Business Edition Tom Michelini Distinguished Product Manager Oracle 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
3
Oracle Confidential – Internal/Restricted/Highly Restricted
4
Agenda 1 Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 2 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
5
Agenda Introduction Context Transition Lifecycle Product Changes
1 1 Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 2 2 3 3 4 4 5 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
6
Brief history and introduction to Taleo
Talent Intelligence Established 1996 Originally headquartered out of Canada under the name Viasite Moved to the San Francisco area in 1999 using the name Recruitsoft March 2004 changed name to Taleo established headquarters in Dublin A Talent Management organization with multiple products related to: Recruiting Performance Management Compensation Management February 2012 acquired by Oracle
7
Oracle Taleo Cloud Service
Industry's broadest cloud-based talent management platform Oracle provides a number of Oracle Taleo products all on the cloud Oracle Taleo Enterprise Cloud Service Oracle Taleo Business Edition Cloud Service (TBE) Oracle Taleo Recruiting Cloud Service Oracle Taleo Onboarding Cloud Service Oracle Taleo Performance Management Cloud Service Oracle Taleo Goals Management Cloud Service Oracle Taleo Succession Planning Cloud Service Oracle Taleo Development Planning Cloud Service Fusion Workforce Compensation Oracle Taleo Social Sourcing Cloud Service Oracle TBE Recruiting Cloud Service Oracle TBE Onboarding Cloud Service Oracle TBE Performance Management Cloud Service Oracle TBE Compensation Cloud Service Oracle TBE Learn Cloud Service
8
Taleo’s move to Oracle Oracle Database 12c (Database)
List of products used enabling the Taleo TBE move to Oracle Database 12c Oracle Database 12c (Database) Oracle SQL Developer (SQL Developer) Oracle Developer Data Modeler (Data Modeler) Oracle Express Data Loader (APEX) Oracle Real Application Testing (RAT) Oracle VM Server for x86 (OVM) Oracle Enterprise Manager 12c (OEM)
9
Obaidur (OB) Rashid Head of Engineering for Taleo Business Edition
Head of Engineering for Taleo Business Edition Bachelor & Master in Computer Science 15+ years in the software industry Career in a nut shell Worked in small, medium and large companies Developed products for Enterprise and SMB space Immense experience with Cloud, SaaS and Multitenancy Oracle OnVantage StarCite Taleo Oracle Confidential – Internal/Restricted/Highly Restricted
10
Agenda Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 1 2 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
11
Taleo Business Edition
#1 Cloud Based Taleo Management Solution for the Midmarket
12
Rapid Growth Requires Robust Platform
Large customer base means lower risk tolerance We need our database to have superior scalability and agility Our customers want high availability and business continuity Oracle RDBMS with Oracle RAC offers all of the above Oracle Database 12c specifically was a shoo-in for TBE Designed with cloud in mind Optimized for multi-tenancy Oracle Confidential – Internal/Restricted/Highly Restricted
13
Multitenant Persistence Models
1 2 3 Tenant # 1 Tenant # 2 Tenant # n Candidate Tenant # 1 John Doe Tenant # 2 James Smith Tenant # n Joanna William Tables Tables Tables Tables Tables Tables Tenant # 1 Tenant # 2 Tenant # n Tables Tables Tables Shared Database Shared Database with Separate Schema Separate Databases Sharing Isolation Oracle Confidential – Internal/Restricted/Highly Restricted
14
TBE - High Level Architecture
Microsoft SQL Server Users Across Tenants Shared Middleware Web Server / App Server ORM Layer Tenant # 1 Tenant # 2 Tenant # n Oracle 12c Container Database Users Across Tenants Shared Middleware Web Server / App Server ORM Layer Tenant # 1 Tenant # 2 PDB Tenant # n Oracle Confidential – Internal/Restricted/Highly Restricted
15
Operational Pressures
Business Drivers for 12c Customers face great pressure to consolidate databases in cloud Economic Pressures Operational Pressures Consolidate to cut costs Reduce power Reduce floor space Reduce licenses Deliver cloud-based agility Self-service Rapid provisioning Simplified management Requirements Tenant isolation Easy adoption Manage many as one Retain granular control
16
Database Consolidation on Clouds
Traditional consolidation methods Consolidation Density Virtual Machines Clustered Databases Multitenant Database Schema Consolidation Shared Servers Shared Servers & OS Shared Servers, OS, & Database
17
Oracle Database Architecture
Requires memory, processes and database files System Resources GL OE AP
18
New Multitenant Architecture
Memory and processes required at container level only System Resources GL OE AP GL OE AP
19
Agenda Introduction Context Transition Lifecycle Product Changes
Operational Perspective Lessons Learned 1 3 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
20
Transition Lifecycle Stages of Transformation Rollout Gradually
Invest in PoC Build Project Plan Deep Dive Certify Rollout Gradually Stages of Transformation
21
Invest in PoC Leverage SQL Developer to kick-off
Create schema generation scripts Create data dump scripts Construct a target 12c database Re-create equivalent schema Leverage SQL Loader to populate data Point the application to the 12c database Stabilize the app using (automated) test suite Oracle Confidential – Internal/Restricted/Highly Restricted
22
SQL Developer Makes It Easy!
23
Setup Migration Repository
24
Choose 12c as The Target Database
25
Select Options Available for 12c
26
Kickoff The Migration Wizard
27
Review The Steps
28
Comparison View – Captured vs. Converted
29
Translation Scratch Editor
30
Transition Lifecycle Build Project Plan Deep Dive Certify
Coexistence strategy Deep Dive Details in the “Product Changes” section Certify Perform functional validation using traditional methods Leverage Real Application Testing for PSR (more on next slide) Oracle Confidential – Internal/Restricted/Highly Restricted
31
Oracle Real Application Testing
Source Test Database Replay Workload capture Workload processing Workload replay Analysis and reporting Lower test infrastructure cost Faster deployment Oracle Confidential – Internal/Restricted/Highly Restricted
32
Transition Lifecycle Rollout gradually Build out a one-off stack
Put new customers on it Migrate existing customer to it Finally, open the flood gate Oracle Confidential – Internal/Restricted/Highly Restricted
33
Agenda 1 Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 2 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
34
Bootstrapping – Middle Tier
Update JDBC driver with oracle.jdbc.driver.OracleDriver Update config. files (DBCP) Driver Class Name URL Credentials (user & password) validationQuery to the following: Select 1 From dual Change ORM dialect to Oracle: org.hibernate.dialect.Oracle10gDialect Oracle Confidential – Internal/Restricted/Highly Restricted
35
Bootstrapping – Database Tier
Create a common CDB user with DBA & SysDBA role per container Create a PDB user with DBA privileges Create a seed PDB for cloning purposes create pluggable database <CDB Name> <Seed PDB Name> … options … create pluggable database <CDB Name> from <Seed PDB Name> Oracle Confidential – Internal/Restricted/Highly Restricted
36
DDL Changes All database objects like tables, views, functions is created under "dbo”. Drop the usage of “use <database>” instead do the following: alter session set container=<PDB Name>; alter session set current_schema='pdb_schema’; Rename all objects to not exceed 30 characters Rename columns with reserved word conflict Level is a keyword and cannot be used a column name Oracle Confidential – Internal/Restricted/Highly Restricted
37
DML Changes - Functions
Use built-in equivalent where possible isnull NVL GetDate SysDate Leverage Util package for incompatible ones DateDiff UTILS.DateDiff What to do about dynamic SQL at run time? Oracle Confidential – Internal/Restricted/Highly Restricted
38
DML Conversion Utility Class
<package name>.DatabaseType.get<MethodName>
39
DML Changes – Misc. Use fetch first <n> or rownum to work around the missing TOP n syntax Update queries with cast to include include length: SELECT (CAST (ENTITY_TYPE AS VARCHAR(5))) Use “||” for Concatenation instead of “+” Drop the usage of alias from DELETE FROM statements Oracle Confidential – Internal/Restricted/Highly Restricted
40
Agenda 1 Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 2 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
41
Operational Perspective
Choose platform appropriately: Windows, Linux e.g. Train people accordingly Realize the coexistence strategy from infrastructure perspective Enhance and adopt automation: build, packaging, deployment etc. Evolve customer support infrastructure Backup and “point in time” recovery Setup “Read Only” user Practice patching & upgrading Oracle Confidential – Internal/Restricted/Highly Restricted
42
Deployment Topology using Oracle RAC
Cluster contains multiple container instances on different servers Shared set of data files (storage) Appears as single unified database to the app Oracle RAC provides Reliability Error Detection Recoverability Continuous operations Node3 Node2 Node1 CDB CDB Instance 1 CDB Instance 2 CDB Instance 3 Oracle Confidential – Internal/Restricted/Highly Restricted
43
Data Migration Recipe Create template PDB with schema Source Database
Generate data dump file for all tables using BCP Transport files to the data center / server as needed Target Database Clone the template PDB for each tenant in the target server Leverage SQLLDR to import data for all the tables into the database Enable all indexes and constraints Oracle Confidential – Internal/Restricted/Highly Restricted
44
Agenda 1 Introduction Context Transition Lifecycle Product Changes Operational Perspective Lessons Learned 2 3 4 5 6 Oracle Confidential – Internal/Restricted/Highly Restricted
45
Lessons Learned – SQL Developer
Ensure object names in source database do not exceed 30 characters SQL Developer auto renames column from SYS to SIS You cannot specify the target schema name for the objects converted You can leverage DB Copy to work around the above For establishing the baseline do everything locally Oracle Confidential – Internal/Restricted/Highly Restricted
46
Lessons Learned – Subtle Behavior Differences
Handling of NULL and empty strings Position of NULL value when ORDER BY is used Case sensitivity for LIKE and “=“ operators Default date format (MM/DD/YY HH:MI AM vs. YYYY-MM-DD) NVARCHAR(MAX) vs. CLOB handling of the JDBC driver 1000 limit for IN Clause Oracle Confidential – Internal/Restricted/Highly Restricted
47
Lessons Learned – Misc. Added the following for any 3rd party software using a older JDBC driver SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 Covered Index with INCLUDE option Increased # of system data files by number of PDBs Oracle Confidential – Internal/Restricted/Highly Restricted
48
Summary Oracle DB 12c builds and improves upon the best RDBMS in the industry Migrating databases is considered a hard problem and an ordeal Oracle database team put in a lot of effort to make this journey easier SQL Developer makes it very easy to get started Oracle tools help each step of the way and help you reach the finish line Oracle Confidential – Internal/Restricted/Highly Restricted
49
Oracle Multitenant Customer Success Stories
Multitenant Customer Sessions at Oracle OpenWorld 2014 Customer Session Venue Title SAS CON6328 Mon 2:45pm SAS Solutions OnDemand: A Multitenant Cloud Offering Cigna CON6379 Mon 5:15pm Oracle Multitenant Customer Success Story GE CON7304 Wed 10am Oracle Multitenant: Seven Sources of Savings Pulte Group CON3203 Wed 3:30pm Finding the Bleeding Edge Without Hemorrhaging Sherwin-Williams CON6387 Wed 4:45pm Oracle Multitenant Deployment on Oracle Exadata Taleo CON7307 Thu 9:30am Successful Migration of Taleo Business Edition Cloud Service e-DBA CON2785 Thu noon Rolling Out a PaaS with Oracle Multitenant HDFC Bank CON3211 Thu 10:45am Deliver Oracle Database Cloud: Multitenant on SuperCluster
50
Appendix Oracle Confidential – Internal/Restricted/Highly Restricted
51
Create Connection for The Source Database
52
Inspect Source Database Visually
53
Select Connection for Migration Repository
54
Create A Project
55
Point to The Source Database Connection
56
Select The Specific Database to Migrate
57
Specify The Data Type Mapping Options
58
Select Objects to Translate
59
Scripts: Online vs Offine
60
Data: Online vs Offline
61
Summary
62
Cofirmation
63
Oracle Confidential – Internal/Restricted/Highly Restricted
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.