Oracle Database 12c on Cloud

1-click AWS Deployment 1-click Azure Deployment 1-click Google Deployment

Overview

Oracle Database 12c Enterprise Edition (12.2.0.1) is a next-generation database designed for the cloud. It offers more than 500 new features including a new multi tenant architecture that simplifies consolidating databases onto the cloud and enables customers to manage many databases as one without changing their applications. Customers can choose a wide range of Oracle Database Enterprise Edition options to deliver on business users’ performance, security, big data, cloud, and availability service-level expectations.

Oracle Database In-Memory (Database In-Memory) is a suite of features, first introduced in Oracle Database 12c Release 1 (12.1.0.2), that greatly improves performance for real-time analytics and mixed workloads. The In-Memory Column Store (IM column store) is the key feature of Database In-Memory.

  • Challenges for Analytic Applications
    Traditionally, obtaining good performance for analytic queries meant satisfying several requirements.
  • The Single-Format Approach
    Traditionally, relational databases store data in either row or columnar formats. Memory and disk store data in the same format.
  • The Oracle Database In-Memory Solution
    The Oracle Database In-Memory (Database In-Memory) feature set includes the In-Memory Column Store (IM column store), advanced query optimizations, and availability solutions.
  • Prerequisites for Database In-Memory
    The Oracle Database In-Memory option is required for all Database In-Memory No special hardware is required for an IM column store.
  • Principal Tasks for Database In-Memory
    For queries to benefit from the IM column store, the only requiredtasks are sizing the IM column store, and specifying objects for population. Query optimization and availability features require additional configuration.
  • Tools for the IM Column Store
    No special tools or utilities are required to manage the IM column store or other Database In-Memory Administrative tools such as SQL*Plus, SQL Developer, and Oracle Enterprise Manager (Enterprise Manager) are fully supported

Challenges for Analytic Applications

Traditionally, obtaining good performance for analytic queries meant satisfying several requirements.

In a typical data warehouse or mixed-use database, requirements include the following:

  • You must understand user access patterns.
  • You must provide good performance, which typically requires creating indexes, materialized views, and OLAP cubes.

For example, if you create 1 to 3 indexes for a table (1 primary key and 2 foreign key indexes) to provide good performance for an OLTP application, then you may need to create additional indexes to provide good performance for analytic queries.

Description

Meeting the preceding requirements creates manageability and performance problems. Additional access structures cause performance overhead because you must create, manage, and tune them. For example, inserting a single row into a table requires an update to all indexes on this table, which increases response time.

The demand for real-time analytics means that more analytic queries are being executed in a mixed-workload database. The traditional approach is not sustainable.

 The Single-Format Approach

Traditionally, relational databases store data in either row or columnar formats. Memory and disk store data in the same format.

An Oracle database stores rows contiguously in data blocks. For example, in a table with three rows, an Oracle data block stores the first row, and then the second row, and then the third row. Each row contains all column values for the row. Data stored in row format is optimized for transaction processing. For example, updating all columns in a small number of rows may modify only a small number of blocks.

To address the problems relating to analytic queries, some database vendors have introduced a columnar format. A columnar database stores selected column—not rows—contiguously. For example, in a large sales table, the sales IDs reside in one column, and sales regions reside in a different column.

Analytical workloads access few columns while scanning, but scan the entire data set. For this reason, the columnar format is the most efficient for analytics. Because columns are stored separately, an analytical query can access only required columns, and avoid reading inessential data. For example, a report on sales totals by region can rapidly process many rows while accessing only a few columns.

Database vendors typically force customers to choose between a columnar and row-based format. For example, if the data format is columnar, then the database stores data in columnar format both in memory and on disk. Gaining the advantages of one format means losing the advantages of the alternate format. Applications either achieve rapid analytics or rapid transactions, but not both. The performance problems for mixed-use databases are not solved by storing data in a single format.

The Oracle Database In-Memory Solution

The Oracle Database In-Memory (Database In-Memory) feature set includes the In-Memory Column Store (IM column store), advanced query optimizations, and availability solutions.

The Database In-Memory optimizations enable analytic queries to run orders of magnitude faster on data warehouses and mixed-use databases.

This section contains the following topics:

  • What Is Database In-Memory?
    The Database In-Memoryfeature set includes the IM column store, advanced query optimizations, and availability solutions. These features combine to accelerate analytic queries by orders of magnitude without sacrificing OLTP performance or availability.
  • Improved Performance for Analytic Queries
    The compressed columnar format enables faster scans, queries, joins, and aggregates.
  • Improved Performance for Mixed Workloads
    Although OLTP applications do not benefit from accessing data in the IM column store, the dual-memory format can indirectly improve OLTP performance.
  • High Availability Support
    The IM column store is fully integrated into Oracle Database. All High Availability features are supported.
  • Ease of Adoption
    Database In-Memoryis simple to implement, and requires no application changes.

 What Is Database In-Memory?

The Database In-Memory feature set includes the IM column store, advanced query optimizations, and availability solutions. These features combine to accelerate analytic queries by orders of magnitude without sacrificing OLTP performance or availability.

This section contains the following topics:

  • IM Column Store
    The IM column storemaintains copies of tables, partitions, and individual columns in a special compressed columnar format that is optimized for rapid
  • Advanced Query Optimizations
    Database In-Memory includes several performance optimizations for analytic queries.
  • High Availability Support
    Availability is the degree to which an application, service, or function is accessible on deman

Prerequisites for Database In-Memory

The Oracle Database In-Memory option is required for all Database In-Memory features. No special hardware is required for an IM column store.

Prerequisites include:

  • The IM column store requires a minimum of 100 MB of memory. The store size is included in MEMORY_TARGET.
  • For Oracle RAC databases, the DUPLICATEand DUPLICATE ALL options require Oracle Engineered Systems.

Principal Tasks for Database In-Memory

For queries to benefit from the IM column store, the only required tasks are sizing the IM column store, and specifying objects for population. Query optimization and availability features require additional configuration.

Principal Tasks for Configuring the IM Column Store

The following table lists the principal configuration tasks.

Principal Tasks for Optimizing In-Memory Queries

In-Memory query optimizations are not required for the IM column store to function. The following optimization tasks are optional.

 Tools for the IM Column Store

No special tools or utilities are required to manage the IM column store or other Database In-Memory features. Administrative tools such as SQL*Plus, SQL Developer, and Oracle Enterprise Manager (Enterprise Manager) are fully supported.

Following are the tools that have specific Database In-Memory feature support:

  • In-Memory Advisor
    The In-Memory Advisoris a downloadable PL/SQL package that analyzes the analytical processing workload in your database.
  • Cloud Control Pages for the IM Column Store
    Enterprise Manager Cloud Control (Cloud Control) provides the In-Memory Column Store Central Home page. This page gives a dashboard interface to the IM column store.
  • Oracle Compression Advisor
    Oracle Compression Advisor estimates the compression ratio that you can realize using the MEMCOMPRESS The advisor uses the DBMS_COMPRESSIONinterface.
  • Oracle Data Pump and the IM Column Store
    You can import database objects that are enabled for the IM column store using the TRANSFORM=INMEMORY:yoption of the impdp command.

 Oracle 12c Architecture:

With 12c you might have always heard of multitenant architecture and Container & pluggable Database, so we’ll start with understanding these things. Also 12c configuration has following option:-

  • Multitenant configuration A CDB consists of zero, one, or more PDBs. You need to license the Oracle Multitenant option.
  • Single-tenant configuration Doesn’t require the licensed Oracle Multitenant option
  • Non-CDB This is the same as the pre–Oracle 12 c database  architecture.

So it doesn’t mean that 12c is only about multitenant configuration, it can be configured as the same way as your beloved 11g.

Multitenant Architecture

For those of you who have worked with SQL Server, Sybase etc this architecture won’t be new. Basically till 11g we used to have 1 instance for 1 database (excluding RAC cases for simplicity), so even you have a very small application you need to have a separate instance for that database, separate instance means memory, process and everything (But then Oracle was designed to handle large & critical databases). So with the changing requirements Oracle has changed its architecture where you can have multiple databases within a single instance. To build a little perspective on CDB (CDB$ROOT) and PDB think of this single instance as CDB and multiple databases as PDB.

Now its time to understand what is CDB & PDB, how is memory allocated to these different PDB, how does CDB maintains PDBs, where’s REDO, where’s UNDO, etc.

CDB & PDB

A multitenant container database has three types of containers:
  • The Oracle supplied container is called the root container (CDB$ROOT) and consists of just Oracle metadata (and maybe a little bit of user data) and common users. Each CDB has one root.
  • The seed container is named PDB$SEED, and there is one of these per CDB. The purpose of the seed container isn’t to store user data—it’s there for you as a template to create PDBs.
  • The user container , which is actually called a pluggable database (or
    PDB), consists of user metadata and user data.
Each of these—the root, the seed, and the PDB(s)—is called a container, and each container has a unique container ID (CON_ID) and container name (CON_NAME). Each PDB also has a globally unique identifier (GUID)
The idea behind the concept of a container is to separate Oracle metadata and user data by placing the two types of data into separate containers. That is, the system and user data are separated. There’s a SYSTEM tablespace in both the central container and the PDB containers, however, they contain different types of data. The root container consists of Oracle
metadata whereas the PDB container’s SYSTEM tablespace contains just user metadata. The Oracle metadata isn’t duplicated by storing it in e
ach PDB—it’s stored in a central location for use by all the PDBs that are part of that CDB. The CDBs contain pointers to the Oracle metadata in the root container, thus allowing the PDBs to access these system objects without duplicating them in the PDBs
A CDB has similar background processes and files as a normal non-CDB database. However, some of the processes and files are common for both
a CDB and its member PDB databases, and some aren’t.
Common Entities between CDB and PDBs
  • Background processes There’s a single set of background processes for the CDB. The PDBs don’t have any background processes attached to them.
  • Redo log files These are common for the entire CDB, with Oracle annotating the redo data with the identity of the specific PDB associated with the change. There’s one active online redo log for a single-instance CDB or one active online redo log for each instance of an Oracle RAC CDB. A CDB also has a single set of archived redo log files.
  • Memory You allocate memory only to the CDB, because that’s the only instance you need in a multitenant database.
  • Control files These are common for the entire CDB and will contain information that reflects the changes in each PDB.
  • Oracle metadata All Oracle-supplied packages and related objects are shared.
  • Temporary tablespace There’s a common temporary tablespace for an entire CDB. Both the root and all the PDBs can use this temporary tablespace. This common tablespace acts as the default TEMP tablespace. In addition, each PDB can also have a separate temporary tablespace for its local users.
  • Undo tablespace All PDBs use the same undo tablespace. There’s one active undo tablespace for a single-instance CDB or one active undo tablespace for each instance of an Oracle RAC CDB.

A CDB contains a set of system data files for each container and a set of user-created data files for each PDB. Also CDB contains a CDB resource manager plan that allows resources management among the PDBs in that CDB.

Entities Exclusive for PDBs

  • Tablespaces for the applications tables and indexes These application tablespaces that you’ll create are specific to a PDB and aren’t shared with other PDBs, or the central CDB. The data files that are part of these tablespaces constitute the primary physical difference between a CDB and a non-CDB. Each data file is associated to a specific container.
  • Local temporary tablespaces Although the temporary tablespace for the CDB is common to all containers, each PDB can also create and use its own temporary tablespaces for its local users.
  • Local users and local roles Local users can connect only to the PDB where the users were created. A common user can connect to all the PDBs that are part of a CDB.
  • Local metadata The local metadata is specific to each application running in a PDB and therefore isn’t shared with other PDBs.
  • PDB Resource Manager Plan These plans allow resource management within a specific PDB. There is separate resource management at the CDB level.
The PDB containers have their own SYSTEM and SYSAUX tablespaces. However, they store only user metadata in the SYSTEM tablespace and not
Oracle metadata. Data files are associated with a specific container. A permanent tablespace can be associated with only one container. When you create a tablespace in a container, that tablespace will always be associated with that container.
Above diagram depicts what a CDB contains and what a PDB contains.

How to Install Oracle Database 12c

Steps

  1. Download Oracle Database 12c from the official website.
    – You need to create an account and log in first.
    – Make sure you download both Part 1 and Part 2.
    – After extracting both files you will get 2 folders named “winx64_12102_database_1of2” and “winx64_12102_database_2of2”.
  2. Extract/unzip both of the files with 7-zip or Winrar. The files are named “winx64_12102_database_1of2.zip” and “winx64_12102_database_2of2.zip”
  3. Find the file inside called “database”. You need to copy the “database” file contents from the “winx64_12102_database_2of2” folder and paste it into the “database” folder of “winx64_12102_database_1of2”.
  4. Run the setup.exe.

  5. Wait when the back screen appears. Then you will see a screen to “Configure Security Updates”

  6. Enter a valid email address in the box and unmark the radio button. Click Next.

  7. Select Create and configure a database and then hit Next.
  8. Select Desktop class and then Next.

  9. Select Create New Windows User. Enter a username and password. Then click Next.

  10. Choose a new administrative password which contains more than 8 character with numbers and letters.Then hit Next.

  11. Wait for a while then click Install.
  12. Wait while it installs. It will take a couple of minutes.

  13. Open it from the Start menu. It will be located under “All Programs”.
The newest version of Oracle, 12c, is designed for the cloud and can be hosted on a single server or multiple servers, and it enables the management of databases holding billions of records. Some of the features of the latest version of Oracle include a grid framework and the use of both physical and logical structures.This means that physical data management has no effect on access to logical structures. Additionally, security in this release is excellent because each transaction is isolated from others.

Pros

  • You’ll find the latest innovations and features coming from their products since Oracle tends to set the bar for other database management tools.
  • Oracle database management tools are also incredibly robust, and you can find one that can do just about anything you can possibly think of.

Cons

  • The cost of Oracle can be prohibitive, especially for smaller organizations.
  • The system can require significant resources once installed, so hardware upgrades may be required to even implement Oracle.

Oracle Database is an RDBMS. An RDBMS that implements object-oriented features such as user-defined types, inheritance, and polymorphism is called an object-relational database management system (ORDBMS). Oracle Database has extended the relational model to an object-relational model, making it possible to store complex business models in a relational database.

An Oracle database server consists of a database and at least one database instance, commonly referred to as simply an instance. Because an instance and a database are so closely connected, the term Oracle database is sometimes used to refer to both instance and database. In the strictest sense the terms have the following meanings:

  • Database: A database is a set of files, located on disk, that store data. These files can exist independently of a database instance.
  • Database instance

Cognosys provides hardened images of Oracle  DB on all public cloud  AWS , Azure and Google Marketplace.

Click on the respective cloud provider tab for technical information.

Features

AWS

Videos

Oracle Database 12c on Cloud

Related Posts