01. Pluggable
Databases Through Database Consolidation:
Oracle is doing every thing 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
•Upgrade
•Patch
•Monitor
•Tune
•RAC Enable
•Adjusted
•Back up
•Patch
•Monitor
•Tune
•RAC Enable
•Adjusted
•Back up
•Data Guard
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
Emp, Dept 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.
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 Develop 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.
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.
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.
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.
05. Restore a Table
easily through RMAN:
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.
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.
07. Inline PL/SQL
Functions and Procedures:
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.
08. Generated as
Identity/Sequence Replacement:
You can now create a col with 'generated as identity'
clause. Thats 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.
09. Multiple Indexes
on a Single Column:
Prior to 12C, a column cant 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.
10. Online Migration
of Table Partition or Sub Partition:
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
12. Database Archiving:
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
Source: Internet