Database 12c brought with it many new features. There are improvement in many areas and new concepts. Most notable is the concept of Container database and Pluggable database.
Container Databases (CBD) and Pluggable Databases (PDB) brings with it a radical change and a major change in the core database architecture. Besides this major change there are many other improvements that Database 12c has. Some of those new features are listed below:
1) The limit of 63 ASM disk groups has been increased.
2) Oracle also allows you now to store the ASM password file in a shared ASM disk group.
3) The alter diskgroup command has been extended to include the scrub clause. This clause allows the ASM administrator to check ASM diskgroups, individual disks in a disk group, or even a single ASM files for logical corruption in cases where ASM is responsible for protecting the data. ASM can also try to repair it using mirror copies of the extent If logical corruption is detected during the scrubbing process .
4) In Oracle 12c every node in the cluster does NOT need to have its own ASM instance. Oracle Flex ASM, as the new set of features addresses this situation by removing the strict requirement to have one ASM instance per cluster node. In this scenario, if an ASM instance to which databases are connected fail, the database will dynamically reconnect to another ASM instance in the cluster.
5) RAC crsctl & srvctl commands have a new option named -eval to evaluate commands before they are executed
6) In 12c you can now move a partition online.
7) A new command “alter database move datafile” by which it is very simple to move data and temp files from a file system into ASM while they are in use. Earlier it was not possible to do this activity online.
8) Oracle has removed the Database Console in Oracle 12c. It was introduced with Oracle 10g and it was not frequently used by DBAs.
9) Increase in varchar2 Limit. Instead of the previous limit of 4000 bytes for this field it is now possible to store up to 32 kilobytes. This new behavior can be controlled by max_string_size initialization parameter. Although SQL*Plus won’t be able to insert that much data as the inherent limit of SQL*Plus is 2500 characters for a column so you will need some other tool for it.