Oracle 12c New Features - Top 12 Summarized!
Oracle is doing everything to jump into the cloud bandwagon. With
12C, Oracle is trying to address the problem of Multitenancy through this
feature. There is a radical change and a major change in the core database
architecture through the introduction of Container Databases also called CBD
and Pluggable Databases (PDB). The memory and process is owned by the Container
Database. The container holds the metadata where the PDBs hold the user data.
You can create upto 253 PDBs including the seed PDB.
In a large setup, it is common to see 20 or 30 different instances
running in production environment. With these many instances, it is a
maintenance nightmare as all these instances have to be separately.
•Upgraded
•Patched
•Monitored
•Tuned
•RAC Enabled
•Adjusted
•Backed up and
•Data Guarded.
•Patched
•Monitored
•Tuned
•RAC Enabled
•Adjusted
•Backed up and
•Data Guarded.
With Pluggable Databases feature, you just have to do all this for
ONE single instance. Without this feature, prior to 12C, you would have to
create separate schemas and there is always a thread of security how much ever
the isolation we build into it. There are problems with namespace conflicts,
there is always going to be one public synonym that you can create. With PDBs
you can have a separate HR or Scott schema for each PDB, separate Employee, Department
Tables and separate public synonyms. Additionally, 2 PDBs can talk to each
other through the regular DB Link feature. There is no high startup cost of
creating a database any more. Instead of one instance per day, the shift is
into one instance per many databases. For the developer community, you can be oblivious
of all this and still continue to use the PDBs as if it were a traditional
database, but for the DBAs the world would look like it has changed a lot.
Another cool feature is,
you can allocate a CPU percentage for each PDB.
Another initiative being,
it has announced a strategic tieup with salesforce.com during the first week of
July 2013.
This is one of the top
features in Oracle 12C. Data Redaction in simple terms means, masking of data.
You can setup a Data Redaction policy, for example SSN field in a Employee
table can be masked. This is called redaction. From Sql Developer tool you can
do this by going to the table: Employee->Right
click on Security Policy->click on New->click on Redaction
Policy->Enter SSN.
When you do a select *
from employee, it will show that the SSN is masked.
The new data masking will use a package called DBMS_REDACT. It is the extension to the FGAC and VPD present in earlier versions.
The new data masking will use a package called DBMS_REDACT. It is the extension to the FGAC and VPD present in earlier versions.
By doing this, whoever
needs to view the data will be able to see it where as the other users will not
be able to view it.
With the release of
Oracle Database 12c, Oracle has introduced this new SQL syntax to simplify
fetching the first few rows. The new sql syntax "Fetch First X Rows
only" can be used.
With this feature, it
helps the optimizer to make runtime adjustments to execution plan which leads
to better stats. For statements like CTAS (Create Table As Select) and IAS
(Insert As Select), the stats is gathered online so that it is available
immediately.
Earlier if you had to
restore a particular table, you had to do all sorts of things like restoring a
tablespace and or do Export and Import. The new restore command in RMAN
simplifies this task.
6. Size Limit on VARCHAR2, NVARCHAR2, RAW Data
Types increased:
The previous limit on
these data types was 4K. In 12C, it has been increased to 32,767 bytes. Upto
4K, the data is stored inline. I am sure everyone will be happy with this small
and cute enhancement.
The in line feature is extended in Oracle 12C. In addition to
Views, we can now have PL/SQL Procedures and Functions as in line constructs.
The query can be written as if it is calling a real stored procedure, but
however the functions do not actually exist in the database. You will not be
able to find them in ALL_OBJECTS. I think this will be a very good feature for
the developers to explore as there is no code that needs to be compiled.
You can now create a column with 'generated as identity' clause. That’s
it. Doing this is equivalent to creating a separate sequence and doing a sequence.
NEXTVAL for each row. This is another handy and a neat feature which will help
developer community. This is also called No Sequence Auto Increment Primary
Key.
Prior to 12C, a column can’t
be in more than one index. In 12C, you can include a column in B-tree index as
well as a Bit Map index. But, please note that only one index is usable at a
given time.
You can very easily migrate a partition or sub partition from one
tablespace to another. Similar to how the online migration was achieved for a
non-partitioned table in prior releases, a table partition or sub partition can
be moved to another tablespace online or offline. When an ONLINE clause is
specified, all DML operations can be performed without any interruption on the
partition|sub-partition which is involved in the procedure. In contrast, no DML
operations are allowed if the partition|sub-partition is moved offline.
Prior to 12C, undo
records generated by TEMP Tablespace is stored in the undo tablespace. With
Temp undo feature in 12C, temp undo records can be stored in temporary table
instead of UNDO TS. The benefit is - reduced undo tablespace and reduced redo
log space used.
SQL> ALTER SYSTEM SET
PGA_AGGREGATE_LIMIT=2G;
SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=0; --disables the hard limit
SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=0; --disables the hard limit
This feature enables
archiving rows within a table by marking them as inactive. These inactive rows
are in the database and can be optimized using compression but are not visible
to the application. These records are skipped during FTS (Full Table Scan).
Advanced Replication and
Streams are Dead. It is being replaced with Oracle Golden Gate.
Invisible Columns. You
can now have a invisible column in a table. When a column is defined as
invisible, the column won’t appear in generic queries
PGA Aggregate Limit setting:
In 12c, you can set a
hard limit on PGA by enabling the automatic PGA management, which requires
PGA_AGGREGATE_LIMIT parameter settings. Therefore, you can now set the hard
limit on PGA by setting the new parameter to avoid excessive PGA usage.
DDL Logging:
The DDL statements will automatically get recorded in xml/log file if ENABLE_DDL_LOGGING is set to TRUE. ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;
Post a Comment: