oow-tbe-12c-con7307-sharable
TRANSCRIPT
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confiden@al – Internal/Restricted/Highly Restricted Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Obaidur (OB) Rashid Sr. Director, Product Development Taleo Business Edi@on Tom Michelini Dis@nguished Product Manager Oracle 12c
Oracle Open World Oracle 12c Mul,tenant Successful Migra,on of Taleo Business Edi,on Cloud Service
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement The following is intended to outline our general product direc@on. It is intended for informa@on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func@onality, and should not be relied upon in making purchasing decisions. The development, release, and @ming of any features or func@onality described for Oracle’s products remains at the sole discre@on of Oracle.
Oracle Confiden@al – Internal/Restricted/Highly Restricted 2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
1
2
3
4
5
Oracle Confiden@al – Internal/Restricted/Highly Restricted 3
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
Agenda
1
2
3
4
5
Oracle Confiden@al – Internal/Restricted/Highly Restricted 4
1
2
3
4
5
6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Obaidur (OB) Rashid
• Head of Engineering for Taleo Business Edi@on • Bachelor & Master in Computer Science • 15+ years in the so\ware 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 Mul@tenancy
Oracle Confiden@al – Internal/Restricted/Highly Restricted 5
Oracle
OnVantage
StarCite
Taleo
Twi@er: @orashid
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
3
4
5
Oracle Confiden@al – Internal/Restricted/Highly Restricted 6
6
2
1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Taleo Business Edi@on #1 Cloud Based Taleo Management Solu,on for the Midmarket
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Rapid Growth Requires Robust Pla`orm
• Large customer base means lower risk tolerance • We need our database to have superior scalability and agility • Our customers want high availability and business con@nuity • 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 – Op@mized for mul@-‐tenancy
Oracle Confiden@al – Internal/Restricted/Highly Restricted 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Mul@tenant Persistence Models
Oracle Confiden@al – Internal/Restricted/Highly Restricted 9
Tenant # 1 Tenant # 2 Tenant # n
Shared Database Separate Databases Shared Database with Separate Schema
Tables Tables Tables
Tenant # 1 Tenant # 2 Tenant # n Candidate
Tenant # 1 John Doe
Tenant # 2 James Smith
Tenant # n Joanna William
1 2 3
Tables Tables
Tables Tables
Tables Tables
Isola,on Sharing
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
TBE -‐ High Level Architecture
Oracle Confiden@al – Internal/Restricted/Highly Restricted 10
Microso\ 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 PDB PDB
Tenant # n
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Customers face great pressure to consolidate databases in cloud
Business Drivers for 12c
Requirements • Tenant isolation • Easy adoption • Manage many as one • Retain granular control
Economic Pressures Opera@onal Pressures
Consolidate to cut costs • Reduce power • Reduce floor space • Reduce licenses
Deliver cloud-‐based agility • Self-‐service • Rapid provisioning • Simplified
management
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Mul,tenant Database Schema Consolida,on
Consolida@
on Den
sity
Database Consolida@on on Clouds Tradi,onal consolida,on methods
12
Shared Servers Shared Servers & OS Shared Servers, OS, & Database
Virtual Machines Clustered Databases
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Database Architecture Requires memory, processes and database files
13
System Resources
GL OE AP
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
AP OE GL
New Mul@tenant Architecture Memory and processes required at container level only
14
System Resources
GL OE AP
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle Confiden@al – Internal/Restricted/Highly Restricted 15
3
4
5
6
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
3
1
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Transi@on Lifecycle Stages of Transforma,on
16
Invest in PoC
Build Project Plan
Deep Dive
Cer@fy
Rollout Gradually
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Invest in PoC
• Leverage SQL Developer to kick-‐off – Create schema genera@on scripts – Create data dump scripts
• Construct a target 12c database – Re-‐create equivalent schema – Leverage SQL Loader to populate data
• Point the applica@on to the 12c database • Stabilize the app using (automated) test suite
Oracle Confiden@al – Internal/Restricted/Highly Restricted 17
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
SQL Developer Makes It Easy!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Setup Migra@on Repository
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Choose 12c as The Target Database
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Select Op@ons Available for 12c
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Kickoff The Migra@on Wizard
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Review The Steps
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Comparison View – Captured vs. Converted
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Transla@on Scratch Editor
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Transi,on Lifecycle
• Build Project Plan – Coexistence strategy
• Deep Dive – Details in the “Product Changes” sec@on
• Cer@fy – Perform func@onal valida@on using tradi@onal methods – Leverage Real Applica@on Tes@ng for PSR (more on next slide)
Oracle Confiden@al – Internal/Restricted/Highly Restricted 26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle Real Applica,on Tes,ng
• Database Replay – Workload capture – Workload processing – Workload replay – Analysis and repor@ng
• Lower test infrastructure cost • Faster deployment
Oracle Confiden@al – Internal/Restricted/Highly Restricted 27
Source Test
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Transi,on Lifecycle
• Rollout gradually – Build out a one-‐off stack – Put new customers on it – Migrate exis@ng customer to it – Finally, open the flood gate
Oracle Confiden@al – Internal/Restricted/Highly Restricted 28
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
1
2
4
5
6
Oracle Confiden@al – Internal/Restricted/Highly Restricted 29
3
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Bootstrapping – Middle Tier
• Update JDBC driver with oracle.jdbc.driver.OracleDriver • Update config. files (DBCP)
– Driver Class Name – URL – Creden@als (user & password) – valida@onQuery to the following: Select 1 From dual
• Change ORM dialect to Oracle: org.hibernate.dialect.Oracle10gDialect
Oracle Confiden@al – Internal/Restricted/Highly Restricted 30
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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> … opCons …
create pluggable database <CDB Name> from <Seed PDB Name>
Oracle Confiden@al – Internal/Restricted/Highly Restricted 31
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
DDL Changes
• All database objects like tables, views, func@ons 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 Confiden@al – Internal/Restricted/Highly Restricted 32
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
DML Changes -‐ Func@ons
• Use built-‐in equivalent where possible – isnull à NVL – GetDate à SysDate
• Leverage U@l package for incompa@ble ones – DateDiff à UTILS.DateDiff
• What to do about dynamic SQL at run @me?
Oracle Confiden@al – Internal/Restricted/Highly Restricted 33
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
DML Conversion U@lity Class
<package name>.DatabaseType.get<MethodName>
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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 Concatena@on instead of “+” • Drop the usage of alias from DELETE FROM statements
Oracle Confiden@al – Internal/Restricted/Highly Restricted 35
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
1
2
3
5
6
Oracle Confiden@al – Internal/Restricted/Highly Restricted 36
4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Opera,onal Perspec,ve
• Choose pla`orm appropriately: Windows, Linux e.g. • Train people accordingly • Realize the coexistence strategy from infrastructure perspec@ve • Enhance and adopt automa@on: build, packaging, deployment etc. • Evolve customer support infrastructure
– Backup and “point in @me” recovery – Setup “Read Only” user
• Prac@ce patching & upgrading
Oracle Confiden@al – Internal/Restricted/Highly Restricted 37
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Deployment Topology using Oracle RAC
Oracle Confiden@al – Internal/Restricted/Highly Restricted 38
Node3 Node2 Node1
CDB
CDB Instance 1 CDB Instance 2 CDB Instance 3
• Cluster contains mul@ple container instances on different servers
• Shared set of data files (storage) • Appears as single unified database to the app • Oracle RAC provides
– Reliability – Error Detec@on – Recoverability – Con@nuous opera@ons
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Data Migra@on 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 Confiden@al – Internal/Restricted/Highly Restricted 39
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
Introduc@on
Context
Transi@on Lifecycle
Product Changes
Opera@onal Perspec@ve
Lessons Learned
1
2
3
4
6
Oracle Confiden@al – Internal/Restricted/Highly Restricted 40
5
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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 Confiden@al – Internal/Restricted/Highly Restricted 41
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Lessons Learned – Subtle Behavior Differences
• Handling of NULL and empty strings • Posi@on of NULL value when ORDER BY is used • Case sensi@vity 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 Confiden@al – Internal/Restricted/Highly Restricted 42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Lessons Learned – Misc.
• Added the following for any 3rd party so\ware using a older JDBC driver SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
• Covered Index with INCLUDE op@on • Increased # of system data files by number of PDBs
Oracle Confiden@al – Internal/Restricted/Highly Restricted 43
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Summary
• Oracle DB 12c builds and improves upon the best RDBMS in the industry • Migra@ng 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 Confiden@al – Internal/Restricted/Highly Restricted 44
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Oracle Database 12c (Database) • Oracle SQL Developer (SQL Developer) • Oracle Developer Data Modeler (Data Modeler) • Oracle Express Data Loader (APEX) • Oracle Real Applica@on Tes@ng (RAT) • Oracle VM Server for x86 (OVM) • Oracle Enterprise Manager 12c (OEM)
Taleo’s move to Oracle List of products used enabling the Taleo TBE move to Oracle Database 12c
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confiden@al – Internal/Restricted/Highly Restricted 46