5 th October, 2015 Anuj Mohan Database enthusiast, Public speaker and founder of Oracle12cSIG(IOUG) Technical Account Manager Data Intensity LLC Oracle.

Slides:



Advertisements
Similar presentations
ITEC474 INTRODUCTION.
Advertisements

INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Backup and Recovery Copyright System Managers LLC 2008 all rights reserved.
4 Copyright © 2005, Oracle. All rights reserved. Managing the Oracle Instance.
Overview of Database Administrator (DBA) Tools
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 2 Overview of Database Administrator (DBA) Tools.
Oracle Architecture. Instances and Databases (1/2)
Page Footer Keed Education Oracle Database Administration Basic Copyright 2009 Keed Education BV Version Concept.
INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Installation – Lecture 2 Copyright System Managers LLC 2007 all rights reserved.
Backup and recovery Basics of Backup and restoration Types of recovery Defining strategy Starting up and shutting down 80/20 rule SLA’s.
Backup The flip side of recovery. Types of Failures Transaction failure –Transaction must be aborted System failure –Hardware or software problem resulting.
Harvard University Oracle Database Administration Session 2 System Level.
Advanced Databases Basic Database Administration Guide to Oracle 10g 1.
5 Copyright © 2006, Oracle. All rights reserved. Database Recovery.
A Guide to Oracle9i1 Introduction to Oracle9i Database Administration Chapter 11.
RMAN Restore and Recovery
Backup and Recovery Part 1.
Chapter 12 Performing Incomplete Recovery. Background Viewed as one of the more difficult chapters to write Thought it was important to put in material.
CHAPTER 16 User-Managed Backup and Recovery. Introduction to User Managed Backup and Recovery Backup and recover is one of the most critical skills a.
Configuring Recovery Manager
Chapter 5 Configuring the RMAN Environment. Objectives Show command to see existing settings Configure command to change settings Backing up the controlfile.
9 Copyright © Oracle Corporation, All rights reserved. Oracle Recovery Manager Overview and Configuration.
CHAPTER 17 Configuring RMAN. Introduction to RMAN RMAN was introduced in Oracle 8.0. RMAN is Oracle’s tool for backup and recovery. RMAN is much more.
The Oracle Recovery Manager (RMAN)
Backup Concepts. Introduction Backup and recovery procedures protect your database against data loss and reconstruct the data, should loss occur. The.
Introduction to Oracle Backup and Recovery
Using RMAN to Perform Recovery
Oracle Database 12c is the latest version of Oracle Corporations flagship database and has added many new features. In this presentation I am capturing.
IS 4510 – Database Administration Module – 2 Database Backup 10/24/20141Compiled by: Zafar Iqbal Khan.
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
PPOUG, 05-OCT-01 Agenda RMAN Architecture Why Use RMAN? Implementation Decisions RMAN Oracle9i New Features.
CHAPTER 23 Pluggable Databases. Oracle Multitenant (Pluggable Databases) New with Oracle Database 12c is Oracle Multitenant. This feature allows you to.
Recovery Manager Overview Target Database Recovery Catalog Database Enterprise Manager Recovery Manager (RMAN) Media Options Server Session.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Oracle on Windows Server Introduction to Oracle10g on Microsoft Windows Server.
CHAPTER 6 Users and Basic Security. Progression of Steps for Creating a Database Environment 1. Install Oracle database binaries (Chapter 1) 2. Create.
Chapter 7 Making Backups with RMAN. Objectives Explain backup sets and image copies RMAN Backup modes’ Types of files backed up Backup destinations Specifying.
1 Oracle Database 11g – Flashback Data Archive. 2 Data History and Retention Data retention and change control requirements are growing Regulatory oversight.
1Introduction Objectives 1-2 Course Objectives 1-3 Oracle Products 1-4 Relational Database Systems 1-5 How the Data Is Organized 1-6 Integrity Constraints.
Backup & Recovery Backup and Recovery Strategies on Windows Server 2003.
1 VitalSoftTech.com Copyright 2014 By Natik Ameen.
11g(R1/R2) Data guard Enhancements Suresh Gandhi
The protection of the DB against intentional or unintentional threats using computer-based or non- computer-based controls. Database Security – Part 2.
Copyright © Oracle Corporation, All rights reserved. 1 Oracle Architectural Components.
Oracle9i Performance Tuning Chapter 12 Tuning Tools.
IT Database Administration SECTION 01. Starting Up and Shutting Down the Database Database Administration Facilities – A number of tools are available.
Database structure and space Management. Database Structure An ORACLE database has both a physical and logical structure. By separating physical and logical.
IT Database Administration Section 09. Backup and Recovery Backup: The available options Full Consistent (cold) Backup Database shutdown, all files.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Week 2 Lecture 1 Creating an Oracle Instance. Learning Objectives  Learn the steps for creating a database  Understand the prerequisites for creating.
© 2006 Northgate Information Solutions plc and its associated companies. All rights reserved. Slide 1.
Overview of Oracle Backup and Recovery Darl Kuhn, Regis University.
12 Copyright © Oracle Corporation, All rights reserved. User-Managed Complete Recovery.
6 Copyright © 2007, Oracle. All rights reserved. Performing User-Managed Backup and Recovery.
Oracle 12c Container Databases for Beginners to Advanced 20 th Nov, 2013 Anuj Mohan Database enthusiast, Public speaker and founder of Oracle12cSIG(IOUG)
2 Copyright © 2006, Oracle. All rights reserved. Configuring Recovery Manager.
Oracle 12c Container Databases for Beginners to Advanced 14 th May, 2014 Anuj Mohan Database enthusiast, Public speaker and founder of Oracle12cSIG(IOUG)
8 Copyright © 2007, Oracle. All rights reserved. Using RMAN to Duplicate a Database.
3 Copyright © 2007, Oracle. All rights reserved. Using the RMAN Recovery Catalog.
1 11g NEW FEATURES ByVIJAY. 2 AGENDA  RESULT CACHE  INVISIBLE INDEXES  READ ONLY TABLES  DDL WAIT OPTION  ADDING COLUMN TO A TABLE WITH DEFAULT VALUE.
10 Copyright © 2007, Oracle. All rights reserved. Using RMAN Enhancements.
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
14 Copyright © 2007, Oracle. All rights reserved. Backup and Recovery Concepts.
4 Copyright © 2004, Oracle. All rights reserved. Managing the Oracle Instance.
How To Pass Oracle 1z0-060 Exam In First Attempt?
Backup and Recovery (1) Oracle 10g Hebah ElGibreen CAP364.
Get Verified Oracle 1z0-062 Study Material - Oracle 1z0-062 Exam Dumps PDF Realexamdumps.com
Duplicating a Database
Index Index.
Performing Database Recovery
Oracle 12c Multitenant Database
Presentation transcript:

5 th October, 2015 Anuj Mohan Database enthusiast, Public speaker and founder of Oracle12cSIG(IOUG) Technical Account Manager Data Intensity LLC Oracle certified Exadata Implementer Oracle Certified RAC Expert Oracle 11g Certified Professional (OCP) Oracle 12c Certified Professional (OCP) 10/05/2015 Anuj Mohan NKU-2015 Oracle Database 12c Key feature sets

# Application Management - Cloud # Application Management - Remote # Database Management - Cloud # Database Management - Remote # Consulting and Professional Services

A World Class Customer List

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 4 10/05/2015 Anuj Mohan Data Intensity NKU-2015

1982: RSI became Oracle Corporation 1983: version 3, supported COMMIT and ROLLBACK functionality for transactions. extended platform support to include Unix environments 1984: version 4, which supported read-consistency 1985: version 5, which supported the client–server 1986: Oracle version 5.1 started supporting distributed queries 1988: version 6 supported PL/SQL embedded within Oracle Forms v3 (version 6 could not store PL/SQL in the database proper), row- level locking and hot backups 5 10/05/2015 Anuj Mohan Data Intensity NKU-2015

6 1999: Oracle8i Internet Java virtual machine 1992: Oracle version 7 Referential integrity Stored procedures Triggers. 2001: Oracle9i 400+ New features Oracle RAC replace OPS 1997: Oracle version 8 Object-oriented Multimedia applications 10/05/2015 Anuj Mohan Data Intensity NKU-2015

2003: Oracle Database 10g Automatic Storage Management Oracle Data Pump Virtual Private Database Automatic Shared Memory Management ADDM and SQL Tuning Advisor Automatic Workload Repository Automatic Segment Management Flashback Table 2007: Oracle Database 11g Database Replay SQL Performance Analyzer Active Data Guard Snapshot Standby Flashback Data Archives Edition-Based Redefinition RAC One Node, and Clusterware Grid Ifrastructure (R2) Data Recovery Advisor Few years later EXADATA 7 10/05/2015 Anuj Mohan Data Intensity NKU-2015

2013: Oracle 12c Container / Pluggable databases Online Datafile and Partition Movement Policy-Based Automatic Redaction Flex ASM SQL Plan Management enhancements Information Lifecycle Management (ILM) Automatic Data Optimization (ADO) 8 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 9 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Some New RMAN Enhancements SQL statements can be run in RMAN without the ‘SQL’ prefix SYSBACKUP Administration Role – You do not need to use SYSDBA role anymore You can restore and recover a single table. See how in next slide /05/2015 Anuj Mohan Data Intensity NKU-2015

Restore and Recover a Single Table A Great Oracle 12c Feature, You can use this If : You want to restore one or few tables out of many tables of tablespace logical corruption or records wrongly purged Not enough undo data available to FLASHBACK TABLE or FLASHBACK TABLE not implemented Some of the requirements Initialization parameter compatible is set to 12.0 or higher Database is running in archive log mode Control file auto backup is enabled before level 0 backup Retention Policy is set Table should not be residing in system table space Level 0 backup and all desired backups are available 11 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Prior to Oracle 12c this was done as follows (obviously a tedious process) Identify data files holding lost /corrupted tables Identify free space for system/sysaux and datafiles of step 1 TSPITR Export table data Import in database 12 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Few Examples Recover table Anuj.UserData until scn auxiliary destination ‘/u01/temp_restore ' ; RECOVER TABLE Anuj.UserData UNTIL TIME 'SYSDATE-3' AUXILIARY DESTINATION ‘/u01/temp_restore ' DATAPUMP DESTINATION ‘/U01/DP_loc’ DUMP FILE ‘UserData_dump.dat' REMAP TABLE 'Anuj'. ' UserData':‘UserDataORIG'; --NOTABLEIMPORT; Reference: /05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 14 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Invisible Column The new 12c feature allows you to hide columns If you select ALL columns from a table the invisible columns will NOT be displayed. If you selects column specifically then the column WILL be displayed in the output You can set column(s) to be visible/invisible with an alter table : SQL> ALTER TABLE CUSTOMER MODIFY (CUST_AGE INVISIBLE); Table altered /05/2015 Anuj Mohan Data Intensity NKU-2015

Invisible Column Demonstration SQL> create table customer (cust_id number,cust_name varchar2(80),cust_age number); Table created. SQL> alter table customer modify (cust_age invisible); Table altered. SQL> insert into customer values (1,'Anuj',39); insert into customer values (1,'Anuj',39) * ERROR at line 1: ORA-00913: too many values SQL> alter table customer modify (cust_age visible); Table altered /05/2015 Anuj Mohan Data Intensity NKU-2015

Invisible Column Demonstration Cont.. SQL> insert into customer values (1,'Anuj',39); 1 row created. SQL> alter table customer modify (cust_age invisible); Table altered. SQL> select * from customer; CUST_ID CUST_NAME Anuj SQL> select cust_name,cust_age from customer; CUST_NAME CUST_AGE Anuj /05/2015 Anuj Mohan Data Intensity NKU-2015

Invisible Column Demonstration Cont.. SQL> alter table customer modify (cust_age visible); Table altered. SQL> select * from customer; CUST_ID CUST_NAME CUST_AGE Anuj /05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 19 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Oracle 12c ILM : Using In-Database Row Archiving Enable row archival for table It will create a hidden column ora_archive_state in table with default value of 0 Update ora_archive_state to non zero value to archive row in the table Set row archival visibility = active/all on session level to show or hide rows SQL> select ORA_ARCHIVE_STATE,PRODUCT_ID,ENTRY_DATE from product; ORA_ARCHIV PRODUCT_ID ENTRY_DAT JAN JAN JAN JAN JAN JAN JAN-01 7 rows selected /05/2015 Anuj Mohan Data Intensity NKU-2015

In-Database Row Archiving Example… Enable row archiving for table alter table product row archival; Update criteria for archival SQL> update product 2 set ora_archive_state=dbms_ilm.archivestatename(1) 3 where ENTRY_DATE< sysdate years; 4 rows updated. SQL> select ORA_ARCHIVE_STATE,PRODUCT_ID,ENTRY_DATE from product; ORA_ARCHIV PRODUCT_ID ENTRY_DAT JAN JAN JAN /05/2015 Anuj Mohan Data Intensity NKU-2015

In-Database Row Archiving Example… Set visibility to all SQL> alter session set row archival visibility = all; Session altered. SQL> select ORA_ARCHIVE_STATE,PRODUCT_ID,ENTRY_DATE from product; ORA_ARCHIV PRODUCT_ID ENTRY_DAT JAN JAN JAN JAN JAN JAN JAN-01 7 rows selected /05/2015 Anuj Mohan Data Intensity NKU-2015

In-Database Row Archiving Example… Set visibility to active SQL> alter session set row archival visibility =active; Session altered. SQL> select ORA_ARCHIVE_STATE,PRODUCT_ID,ENTRY_DATE from product; ORA_ARCHIV PRODUCT_ID ENTRY_DAT JAN JAN JAN /05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 24 10/05/2015 Anuj Mohan Data Intensity NKU-2015

ADO and Heat Map Automatic Data Optimization (ADO) and Heat Map works together allows us to create policies at the tablespace, object and even row level you can plan when data will be moved or compressed based on statistics related to the data usage. Data access statistics are collected in memory in the V$HEAT_MAP_SEGMENT view DBMS_SCHEDULER_JOBS transfer then to dba views like DBA_HEAT_MAP_SEG_HISTOGRAM and DBA_HEAT_MAP_SEGMENT /05/2015 Anuj Mohan Data Intensity NKU-2015

Steps for implementing ADO and Heat Maps Enable heat map SQL> alter system set heat_map=on scope=both; Set the heat map tracking start time. statistics logged after this time are valid and considered by Automatic Data Optimization (ADO). SQL> exec dbms_ilm_admin.set_heat_map_start(start_date => sysdate ) Add a compression policy on table. SQL> ALTER TABLE Anuj.mytable ILM ADD POLICY ROW STORE SQL> COMPRESS ADVANCED SEGMENT AFTER 90 DAYS OF NO MODIFICATION; Validate if Policy was added check view user_ilmdatamovementpolicies 26 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Steps for implementing ADO and Heat Maps Cont… Query user_ilmobjects to check if it shows the object you just set If there was no modification on this table in 90 day it will qualify for compression user_ilmtasks will have a job for this task Usually they run in the maintenance window You can manually execute by using procedure DBMS_ILM.EXECUTE_ILM DECLARE v_executionid number; BEGIN dbms_ilm.execute_ILM (ILM_SCOPE => dbms_ilm.SCOPE_SCHEMA, execution_mode => dbms_ilm.ilm_execution_offline, task_id => v_executionid); END; / Reference: /05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 28 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Oracle database 12c In-Memory option Traditionally, Oracle stores data in tables in form of rows. This new feature will allow to store data in memory in columnar format. Storing data in columnar format give multiple times performance gain for DSS systems where you tend to retrieve fewer columns with multiple rows and this performance enhancement is further multiplied when you retrieve that data from memory instead of slower disks /05/2015 Anuj Mohan Data Intensity NKU-2015

Steps for implementing in-memory Define parameter INMEMORY_SIZE in MB/GB in init.ora Change tables attribute to in-memory and validate SQL> alter table anuj.people2 inmemory; Table altered. SQL> select TABLE_NAME, cache,INMEMORY_PRIORITY,INMEMORY from user_tables where table_name like 'PEO%'; TABLE_NAME CACHE INMEMORY_PRIORITY INMEMORY PEOPLE2 N NONE ENABLED 30 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Steps for implementing in-memory Cont… Run a sample query to populate table in In-memory column store SQL> select /*+ full(ppl) noparallel (ppl) */ count(*) from anuj.people2 ppl; COUNT(*) Run sample query to see In-Memory operation SQL> set autotrace on SQL> select distinct count(last_name) from anuj.people2 where sal between and ; COUNT(LAST_NAME) /05/2015 Anuj Mohan Data Intensity NKU-2015

Steps for implementing in-memory Cont… Execution Plan Plan hash value: | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | | 0 | SELECT STATEMENT | | 1 | 30 | 409 (0)| 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 30 | | | |* 2 | TABLE ACCESS INMEMORY FULL| PEOPLE2 | 2 | 60 | 409 (0)| 00:00:01 | /05/2015 Anuj Mohan Data Intensity NKU-2015

33 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 34 10/05/2015 Anuj Mohan Data Intensity NKU-2015

35 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Understanding in simple words CDB is a normal database with additional capability of storing one or more CDB These non CDB's within CDB are called PDB PDB's can be plugged and unplugged easily from one container to another container. In previous example we have two PDBs hrpdb and salespdb ***CDB Container database ***PDB pluggable database 36 10/05/2015 Anuj Mohan Data Intensity NKU-2015

37 SGA and PGA SGA and PGA and and BG Processes BG Processes SGA and PGA SGA and PGA and and BG Processes BG Processes Instance Container Database PDB2 PDB3 PDB1 Pluggable Databases 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Option for creating Container Database 38 10/05/2015 Anuj Mohan Data Intensity NKU-2015

PDB using DBCA 39 10/05/2015 Anuj Mohan Data Intensity NKU-2015

PDB using DBCA 40 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB From an existing remote PDB From PDB$SEED From an existing local PDB Unplug from a CDB and plug into another CDB 41 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB Cloning a remote PDB (Clone as Connect to CDB1 and place Anuj in read only mode Connect to CDB2 as sys and run clone command (if using a common user you need to grant "create pluggable database" container=all) create pluggable database mohan from admin user sys identified by sys_pwd file_name_convert = (‘/u01/pdbs/anuj’,’/u01/pdbs/mohan’); alter pluggable database Mohan open; * Endian format,character set, etc must be compatible between CDBs ** CDB2_dbl is database link used for communication between CDB1 and CDB /05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB Creating an PDB (Anuj) from PDB$SEED Set db_file_name_convert SQL> alter system set PDB_FILE_NAME_CONVERT ='/u01/datafiles/pdbseed/','/u01/datafiles/Anuj/' scope=both; System altered. Run create pdb command SQL> CREATE PLUGGABLE DATABASE Anuj ADMIN USER PDB_Anj IDENTIFIED BY PDB_Anj default tablespace users datafile ‘/u01/datafiles/Anuj/users_01.dbf’ size 1000M;ROLES=(DBA); Pluggable database created. Open PDB in read write mode SQL> alter pluggable database Anuj open; 43 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB Cloning a PDB (Clone Anuj as Mohan) Connect to CDB root as sys Open Anuj in read-only mode and run create pdb alter pluggable database Anuj close; alter pluggable database Anuj open read only; create pluggable database Mohan from Anuj admin user sys identified by sys_pwd file_name_convert = (‘/u01/pdbs/anuj’,’/u01/pdbs/mohan’); Open the database alter pluggable database mohan open; 44 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB Unplug and plug Connect to source(CDB1) as sys Shut down Anuj alter pluggable database Anuj close; alter pluggable database Anuj unplug into ‘/u01/datafiles/Anuj/Anuj.xml’; If you do not want to keep this PDB anymore on Current CDB you can drop it but make a copy of data files before drop. drop pluggable database Anuj 45 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Ways to get a PDB inside CDB Unplug and plug continue… Connect to Destination(CDB2) as sys select dbms_pdb.check_plug_compatibility( pdb_descr_file=>’/u01/datafiles/Anuj/Anuj.xml’, store_report=>true) from dual; Check for errors in pdb_plug_in_violations table move PDB files and use nocopy create pluggable database Anuj using ‘/u01/datafiles/Anuj/Anuj.xml’ nocopy; ** Similar to transportable databases ** XML file has PDB metadata 46 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 47 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Common Component in Container Databases (CDB’s) Background processes – Memory areas – buffer cache, log buffer, etc. Datafiles (Undo / Redo /system Undo tablespace Single ADR location PDB’s may have their own datafiles 48 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Common vs. Local Concept Common VS Local Concept Can be defined on CDB or PDB Level Users  Defined on root or local PDB Roles  Defined on root or local PDB Privileges  Defined on root or local PDB Objects  Defined on root or local PDB 49 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Common and Local Privileges A common privilege is privilege granted across all containers A privilege granted to a single PDB is a local privilege Local users can only utilize privileges locally in the current PDB Common users can only utilize privileges locally in the current PDB Common users connected to the root container can utilize privileges across container, such as creating a common user 50 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Common and Local Roles local user can only create local roles. Local roles can be granted to local or common users. Local roles can be granted to common roles. common user can create common roles and/or local roles. Common roles can be granted to local or common users. Common roles can be granted to local roles SQL> create role c##_bill_master CONTAINER=ALL; SQL> create role bill_local CONTAINER=CURRENT; 51 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Grant and Revoke Privileges and Roles Grant common privilege by common user SQL> grant prv1 to c##_cm_user CONTAINER=ALL; Grant local privilege by common user SQL> grant prv2 to pdb01_user CONTAINER=CURRENT; Grant a local privilege by a local user SQL> grant prv2 to pdb01_user; Revoke common privilege by common user SQL> revoke prv1 from c##_ cm_user CONTAINER=ALL; 52 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Create Common User Connect to CDB and Create Common User SQL> show con_id CON_ID SQL> show con_name CON_NAME CDB$ROOT SQL> create user C##_main identified by qweasdzxc container=ALL; User created /05/2015 Anuj Mohan Data Intensity NKU-2015

Grant some role and privilege to common user SQL> grant dba to C##_main container=ALL; Grant succeeded. SQL> grant select any table to C##_main container=ALL; Grant succeeded. select grantee, granted_role from dba_role_privs where grantee ='C##_MAIN'; GRANTEE GRANTED_ROLE C##_main DBA C##_main DBA select grantee, privilege from dba_sys_privs where grantee ='C##_MAIN'; GRANTEE PRIVILEGE C##_main UNLIMITED TABLESPACE C##_main SELECT ANY TABLE C##_main UNLIMITED TABLESPACE C##_main SELECT ANY TABLE 54 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Common User Information Connect to PDB using just created common user SQL> show con_name CON_NAME ANUJPDB SQL> show con_id CON_ID SQL> select grantee, granted_role from dba_role_privs where grantee ='C##_MAIN'; GRANTEE GRANTED_ROLE C##_main DBA SQL> select grantee, privilege from dba_sys_privs where grantee ='C##_MAIN'; GRANTEE PRIVILEGE C##_main UNLIMITED TABLESPACE C##_main SELECT ANY TABLE 55 10/05/2015 Anuj Mohan Data Intensity NKU-2015

While connected to PDB try to create common user create user C##_main1 identified by qweasdzxc container=ALL; create user C##_main1 identified by qweasdzxc container=ALL * ERROR at line 1: ORA-65050: Common DDLs only allowed in CDB$ROOT create user C##_main1 identified by qweasdzxc * ERROR at line 1: ORA-65094: invalid local user or role name SQL> create user main1 identified by qweasdzxc; /* User local to PDB */ User created. SQL> grant dba to main1; Grant succeeded. SQL> grant create any table to main1; Grant succeeded /05/2015 Anuj Mohan Data Intensity NKU-2015

Check roles/privileges you just granted SQL> select grantee, privilege from dba_sys_privs where grantee =‘MAIN1'; GRANTEE PRIVILEGE main1 CREATE ANY TABLE main1 UNLIMITED TABLESPACE SQL> select grantee, granted_role from dba_role_privs where grantee =‘MAIN1'; GRANTEE GRANTED_ROLE main1 DBA 57 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Connect to CDB and check privileges of local user we just granted SQL> show con_name CON_NAME CDB$ROOT SQL> select grantee, privilege from dba_sys_privs where grantee =‘MAIN1'; no rows selected SQL> select grantee, granted_role from dba_role_privs where grantee =MAIN1'; no rows selected 58 10/05/2015 Anuj Mohan Data Intensity NKU-2015

SQL> select grantee, granted_role from cdb_role_privs where grantee =‘MAIN1'; GRANTEE GRANTED_ROLE main1 DBA SQL> select grantee, privilege from cdb_sys_privs where grantee =‘MAIN1'; GRANTEEPRIVILEGE main1 CREATE ANY TABLE main1 UNLIMITED TABLESPACE 59 10/05/2015 Anuj Mohan Data Intensity NKU-2015

USER_% Show list of all the Objects owned by the current user in a PDB ALL_% Show list of all the Objects accessible by the current user in a PDB DBA_% Show list of all the Objects in the root or a pluggable database CDB_% Show list of all the Objects in the container database. CDB_% use new column CON_ID 60 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Creating Objects Local object can be created by common and local users Common objects can not be created by user defined common users. To create Common objects you need to use by Oracle supplied common user (sys/system) 61 10/05/2015 Anuj Mohan Data Intensity NKU-2015

DBA_USERS Name Null? Type USERNAME NOT NULL VARCHAR2(128) USER_ID NOT NULL NUMBER PASSWORD VARCHAR2(4000) ACCOUNT_STATUS NOT NULL VARCHAR2(32) LOCK_DATE DATE EXPIRY_DATE DATE DEFAULT_TABLESPACE NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30) CREATED NOT NULL DATE PROFILE NOT NULL VARCHAR2(128) INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(128) EXTERNAL_NAME VARCHAR2(4000) PASSWORD_VERSIONS VARCHAR2(12) EDITIONS_ENABLED VARCHAR2(1) AUTHENTICATION_TYPE VARCHAR2(8) PROXY_ONLY_CONNECT VARCHAR2(1) COMMON VARCHAR2(3) LAST_LOGIN TIMESTAMP(9) WITH TIME ZONE 62 10/05/2015 Anuj Mohan Data Intensity NKU-2015

CDB_USERS Name Null? Type USERNAME NOT NULL VARCHAR2(128) USER_ID NOT NULL NUMBER PASSWORD VARCHAR2(4000) ACCOUNT_STATUS NOT NULL VARCHAR2(32) LOCK_DATE DATE EXPIRY_DATE DATE DEFAULT_TABLESPACE NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30) CREATED NOT NULL DATE PROFILE NOT NULL VARCHAR2(128) INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(128) EXTERNAL_NAME VARCHAR2(4000) PASSWORD_VERSIONS VARCHAR2(12) EDITIONS_ENABLED VARCHAR2(1) AUTHENTICATION_TYPE VARCHAR2(8) PROXY_ONLY_CONNECT VARCHAR2(1) COMMON VARCHAR2(3) LAST_LOGIN TIMESTAMP(9) WITH TIME ZONE CON_ID NUMBER 63 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 64 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Tools to manage CDBs and PDBs Your favorite SQL *Plus 12c EM gives dropdown option to select PDB Sql developer Any third party software you prefer Toad Dbartisan 65 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Connecting CDB and PDB ~]$ export ORACLE_SID=AnujC ~]$ sqlplus / as sysdba SQL> select name,open_mode from v$database; NAME OPEN_MODE ANUJC READ WRITE SQL> show con_id CON_ID SQL> show user USER is "SYS" 66 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Connecting CDB and PDB continued… select pdb_id,pdb_name from cdb_pdbs; PDB_ID PDB_NAME PDB$SEED 3 ANUJPDB 4 ANUJP02 There are ways you can access PDBs  Using tns sqlplus /* Tnsnames.ora */ SQL> select NAME, OPEN_MODE, CON_ID from V$PDBS; NAME OPEN_MODE CON_ID ANUJP DB READ WRITE /05/2015 Anuj Mohan Data Intensity NKU-2015

Connecting CDB and PDB continued…  Connect using service name Sqlplus /* Service Name */  Connect using Local/TWO_TASK set LOCAL=ANUJPDB /* on windows */ set TWO_TASK=ANUJPDB /* on unix */ sqlplus C##_MAIN/qweasdzxc  How to check which PDB you are connected Show CON_ID Show CON_NAME Using SYS_CONTEXT select sys_context('userenv','CON_ID') from dual; 68 10/05/2015 Anuj Mohan Data Intensity NKU-2015

CDB Startup stages Shutdown Instance and database both down Nomount Instance is started. V$ views are accessible Mount CDB control file is opened Root is mounted PDBs are also in mount stage Open CDB is open for read /write PDBs will be still in mount stage by default 69 10/05/2015 Anuj Mohan Data Intensity NKU-2015

PDBs Startup When you open your CDB, that will bring your PDBs to mount stage. At this stage you can use below options to open your PDBs Connect to CDB Alter pluggable database pdb_name open; Alter pluggable database all open ; /* open all PDBs */ Select name,open_mode from v$pdbs; 70 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Shutting CDBs and PDBs To shutdown CDBs you use “shutdown *****” commands Shutdown immediate Shutdown transactional Shutdown abort Their possible states are MOUNT/OPEN/CLOSE 71 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Closing PDBs Connect to CDB Alter pluggable database all except pdb_name close/open; Alter pluggable database pdb_name close immediate; Connect to PDB as sysdba Shutdown immediate OR Alter pluggable database close Connect to CDB and check Select name,open_mode from v$pdbs; 72 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Open restrict You can Open your PDBs in restricted /read only and read write based on your requirement Alter pluggable database open restricted Alter pluggable database open read only Alter pluggable database open 73 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Init Parameters Parameter file is defined at CDB level i.e one parameter file per CDB There are some parameter which can be defined for PDB but it will be defined in init.ora of CDB hosting that pdb v$parameter (ISPDB_MODIFIABLE='TRUE') select ispdb_modifiable,count(*) from v$parameter group by ispdb_modifiable ; ISPDB COUNT(*) TRUE 151 FALSE 213 SQL> select name from v$parameter where ispdb_modifiable=‘TRUE’ and rownum<4; NAME timed_statistics timed_os_statistics resource_limit Change in PDB parameter value becomes effective after CDB restart or close and open of PDB 74 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 75 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Backups RMAN Backup Levels CDB Level backup: All CDB datafiles, PDBs datafiles and controlfile and spfile if control file autobackup is defined PDB backup: All PDBs datafiles and controlfile and spfile if control file autobackup is defined Tablespace level backup, so you can backup individual tablespace of any pdb Datafile level backups 76 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Backup… You can connect to CDB/PDB to perform backup sysdba or sysbackup privilege required to run backup RMAN> BACKUP DATABASE; BACKUP PLUGGABLE DATABASE pdb1prd, pdb2prd; BACKUP TABLESPACE pdb1prd :tbs2; BACKUP PLUGGABLE DATABASE "CDB$ROOT"; 77 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Recovery options Media recovery : File loss or damage CDB level –Entire CDB PDB level – Entire PDB Tablespace level: same as for non-CDB.Any tablespace of CDB or PDB Datafile level recovery option Data block level recovery TSPITR for root tablespaces ONLY except SYSTEM, UNDO, SYSAUX Flashback database CDB level PDB level Block recovery: Same as Oracle 11g *** Instance recovery is not possible on PDB level 78 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Recovery Commands Loss of system datafile from PDB In order to recover from loss of PDB’s system datafile we need to take CDB on mount stage(No CDB/PDB available to users) RMAN> startup mount; (cdb mounted) RMAN> restore tablespace pdb1prd :system; RMAN> recover tablespace pdb1prd :system; RMAN> alter database open; (cdb open) RMAN> alter pluggable database all open; 79 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Recovery Commands Loss of non system datafile of PDB or CDB We do not need to take PDB/CDB offline (CDB/PDB available to users except offline tablespace) SQL> connect pdb1prd SQL> alter tablespace tbs01 offline immediate; RMAN> restore tablespace pdb1prd :tbs01; RMAN> recover tablespace pdb1prd : tbs01; SQL> alter tablespace tbs01 online 80 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Enable Flashback Database must be in archivelog mode Set Init Parameters db_recovery_file_dest_size=xxgb db_recovery_file_dest=recovery file location Enable on sqlplus sql> alter system set db_flashback_retention_target=1440 scope=both; sql> alter database flashback on; 81 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Flashback database Create Restore points sql> create restore point before_upgrade; sql>create restore point before_upgrade guarantee flashback database; Find out SCN you want to flashback or restore points sql> select name, scn, time, database_incarnation#, guarantee_flashback_database,storage_size from v$restore_point; OR rman> list restore point all; 82 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Flashback database sql>startup mount flashback database to scn 1809; OR Rman> flashback database to restore point 'before_upgrade'; rman> alter database open read only; Validate recovered information rman> shutdown immediate rman> startup mount flashback database to scn 1809; OR flashback database to restore point 'before_upgrade'; rman> alter database open resetlogs; rman> alter pluggable database all open; 83 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 84 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Migration to 12c : Method 1 Create a Container database Create a pluggable database inside the container Take export of source db (10g/11g expdp) Import in pluggable or container database (12c impdp) 85 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Migration to 12c : Method 2 Use of some sort of replication tool Source : 10g/11g Destination : 12c E.g. GoldenGate, transient logical standby 86 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Migration to 12c : Method 3 Upgrade a pre-12c database to 12c (non cdb) Plug-in the non-CDB into a CDB Helpful features : parallel processing to regular upgrades Manual / dbua generates automatic fixups before upgrade dbua can use existing rman backups for fall back strategy you can create restore points and do a flashback database datapump full transportable (combination of datapump and transportable tablespace) 87 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Direct upgrade path 88 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Indirect upgrade path 89 10/05/2015 Anuj Mohan Data Intensity NKU-2015

AGENDA  Oracle’s Previous Releases  Oracle 12c Key New Features/Enhancements  RMAN Enhancements  Hide Column / Set Invisible  ILM :In-Database Row Archiving  ADO and Heat Map  In-Memory Option  Oracle Multitenant  CDB/PDB Introduction and Concepts  Shared / Exclusive components  Accessing CDB's/PDB's  Backup and Recovery  Quick overview: migration options to 12c from previous versions  PDB - Explanation of Value (EOV) 90 10/05/2015 Anuj Mohan Data Intensity NKU-2015

91 10/05/2015 Anuj Mohan Data Intensity NKU-2015 Source: Oracle Corporation

92 10/05/2015 Anuj Mohan Data Intensity NKU-2015 Source: Oracle Corporation

252 open PDBs with 8GB SGA in container SQL> show parameter sga NAME TYPE VALUE lock_sga boolean FALSE pre_page_sga boolean TRUE sga_max_size big integer 8000M sga_target big integer 8000M SQL> select open_mode,count(*) from v$pdbs group by open_mode; OPEN_MODE COUNT(*) READ ONLY 1 READ WRITE /05/2015 Anuj Mohan Data Intensity NKU-2015

Summary and Conclusions There is no application change required for using PDBs Cloning is very easy. Perfect for creating test/development system quickly If file system supports copy-on-change then clones can be done in sub seconds PDBs need to be opened explicitly One physical database with multiple PDBs - Less DBA Effort to manage One set of memory / processes - Less usage means you can deploy more applications per physical server Adding more PDB only requires space Upgrade to CDB and plug in PDBs - PDBs are upgraded Cloning to remote servers Enhanced Resource manager No change required in Scripts and applications More than One PDB inside a CDB is Extra cost 94 10/05/2015 Anuj Mohan Data Intensity NKU-2015

Explore Oracle Database 12c Learning Resources Oracle Database 12c Learning Library: /05/2015 Anuj Mohan Data Intensity NKU-2015

Thank you … LinkedIn Page for SIG  If you have further questions or need database assistance, Send me /05/2015 Anuj Mohan Data Intensity NKU-2015