Sei sulla pagina 1di 9

Oracle 12c: Nuevas caractersticas (New Features

Oracle 12c)
Pues bien , ya que sali la nueva versin de Oracle, era obvio que mencionramos
algunas nuevas caractersticas..
Las ms interesantes
Adaptive Query Optimization
El optimizador puede llevar a cabo una modificacin de sus planes de ejecucin aunque
estos ya se encuentren habilitados para la sentencia SQL, simplemente el CBO para los
planes en ejecucin y los reanaliza para encontrar el "nuevo" mejor, est caracterstica
es invisible al usuario y se hace de forma automtica.
Lo anterior no significa que una sentencia quede a medio camino de ejecucin, no...
simplemente se recalcula el mejor plan , para la siguiente ejecucin.
Ejecucin de comandos a nivel de prompt de RMAN
Oracle 12c nos permite ejecutar comandos a nivel del prompt de RMAN , esto sin la
necesidad de colocar la clusula sql , adems podemos ejecutar cualquier sentencia SQL
que queramos, no as pre-12c que estaban limitadas. La clusula sql sigue estando
vigente.
Para ms detalles ir a la nota
Estadsticas dinmicas
Durante la compilacin de una sentencia SQL, el optimizador puede chequear todas las
estadsticas sobre las tablas de la sentencia SQL y puede decidir si las utiliza o no , si no
utiliza las estadsticas para una tabla en particular o alguna de esta no posee estadsticas,
Oracle generar estadsticas dinmicas con el mtodo del Sampling, ests estadsticas
permanecern hasta las subsiguientes ejecuciones de la sentencia y el optimizador las
puede utilizar cuando estime conveniente.
Estadsticas ONLINE para cargas BULK
Cuando se hace una carga de datos mediante un INSERT SELECT , CREATE
TABLES AS , para versiones anteriores de Oracle , haba que tomar estadsticas de
forma manual a la nueva tabla , en cambio para nuestra nueva versin 12c, las
estadsticas son tomadas de forma automtica, tal cual se hace para cuando se generan
los ndices mediante el comando CREATE INDEX o REBUILD INDEX
Estadsticas privadas para las tablas temporales
Las estadsticas para las tablas temporales son nicas a pesar de que por cada sesin

hubiese data distinta, esto era hasta la versin 11gr2 , para la versin 12c de Oracle,
cada sesin tendr sus propias estadsticas lo cual mejora ostensiblemente los tiempos
de ejecucin , pues se mejora la performance al tener mejores datos estadsticos.
Integracin con Grupos de procesadores a nivel de Sistema Operativo
Esta caracterstica permite especificar al DBA un parmetro llamado
PROCESSOR_GROUP_NAME , con lo cual se une una instancia de base de datos a
un conjunto de CPUs , esto mismo se puede hacer con el comando cgroups en Linux o
con un pool de recursos en Solaris.
Para qu ocupar est caracterstica? Pues para parcelar un poco el uso de CPUs por
parte de una cantidad X de base de datos.
Arquitectura Multitenant
Las arquitecturas multitenant (multi-propietario) es una filosofa de software cada vez
ms usada para aquellas empresas que dan servicios de SaaS (Software as a Service), el
principio bsico de esto es el siguiente , una instancia del Software es ejecutada en un
servidor y desde aqu se da el servicio a mltiples clientes . Si lo pensamos del lado de
Oracle significa que cada cliente comparte un motor de datos, pero los datos de cada
cliente estn totalmente separados uno de otros, o sea, colocamos muchas bases de datos
en un mismo lugar, todas operadas por un mismo RDBMS.
Toda esta arquitectura multitenant , hace que sea muy fcil para los clientes hacer una
consolidacin de sus bases de datos y trabajar muchas como una.
Imaginmonos una consolidacin de esquemas, para ahorrar motores, recursos y dems,
pero ahora para base de datos, cada base de datos se convierte en un Pluggable Database
y ests PDBs pueden ser agrupadas en contenedores (Container), con esto se pueden
compartir recursos de memoria , incluso se pueden compartir procesos backgrounds,
una PDBs puede ser desconectada y conectada desde y hacia cualquier contenedor de
base de datos. Incluso con esta caracterstica, se puede parchar un contenedor y con ello
se parchan de inmediato mltiples PDBs.
Oracle Datapump soporta Database Consolidation
Dentro del soporte que da Oracle Datapump para lo que es Database Consolidation, se
nombra el FULL TRANSPORTABLE, que no es ms que llevarse una base de datos
desde y hacia los contenedores.
Lo anterior implica que me puedo llevar una base no-CDB (Que no pertenezca a un
Container Database) haca otra base no-CDB, o una PDB a una no-CDB, o una base noCDB a una PDB.
Respaldo y recuperacin PDBs
RMAN puede trabajar sobre un CDB o sobre un PDB, como siempre se puede respaldar
un datafile o un tablespace, para dar soporte a todas estas nuevas caractersticas se
agregan las clusulas PLUGGABLE DATABASE a los comandos RMAN.

PDBs Point in Time Recovery


Se pueden hacer recuperaciones de las PDBs en algn lugar del tiempo, lo que
comnmente se llama point-in-time recovery
Resource Plans para PDBs
Oracle Resource Manager puede manejar los recursos a nivel de CDB y a nivel de PDB,
con esto el manejo se vuelve ms dinmico y se pueden asignar y reasignar recursos de
forma ms masiva
Exportar una vista como tabla con Oracle Datapump
Ahora se puede exportar una vista y Oracle deja la data de una vista en una tabla, antes
al exportar una vista, slo se exportaba la definicin, pero no la data.
Para ms detalles ir a la nota
Opcin de NOLOGGING con Oracle Datapump Import
Existe un parmetro para el import con el Datapump que deshabilita el logging para
cuando se est cargando data en una tabla, es la opcin TRANSFORM con el valor
DISABLE_ARCHIVE_LOGGING, esto hace del proceso de import un proceso
muchsimo ms rpido pues no se genera redolog, lo que se debe tener en cuenta es
sacar un respaldo despus de finalizar el import.
Para ms detalles ir a la nota
Oracle ASM Disk Scrubbing
Est es una nueva caracterstica que chequea las corrupciones lgicas de los discos de
ASM y las repara de forma automtica, esto slo sucede cuando se crean grupos de
fallas, o sea, existe redundancia normal o redundancia alta.
Aplicacin de los comandos ONLINE
A partir de Oracle 12c, los comandos que se pueden utilizar en forma ONLINE se han
ampliado, por ejemplo antes para borrar un ndice se tena que esperar a que este
estuviese no siendo utilizado, pues si as fuese daba el siguiente error
ORA-00054: resource busy and acquire with NOWAIT specified
Los comandos que se pueden ejecutar ONLINE a partir de Oracle 12c :
- DROP INDEX ONLINE
- DROP CONSTRAINT ONLINE
- SET UNUSED COLUMN ONLINE
- ALTER INDEX UNUSABLE ONLINE
- ALTER INDEX [VISIBLE | INVISIBLE]

Columnas invisibles
En Oracle 12c, podemos dejar una columna como invisible mediante el comando alter
table -nombre tabla- modify (-columna- invisible) , pero nosotros mismos controlamos
el cundo ver esa columna , por ejemplo:
Cuando hacemos un DESCRIBE de la tabla, est columna no aparece, cuando hacemos
un SELECT * FROM de la tabla est columna tampoco aparece, incluso cuando
hacemos un INSERT INTO nos podemos saltar esa columna, simplemente no
incluyndola en la lista de las columnas.
A travs de SQL*Plus podemos setear el hecho de que aparezca una columna invisible,
para ello utilizamos el seteo
SHOW COLINVISIBLE ON|OFF
Para ms detalles ir a la nota

Movimiento ONLINE de los datafiles


En release anteriores, para mover un datafile este se deba dejar OFFLINE , con todos
los problemas de servicio que esto poda acarrear, pues a partir de Oracle 12c, el
movimiento de los datafiles puede ser efectuado en forma ONLINE, sin prdida de
servicio
Para ms detalles ir a la nota

Creacin de varios ndices en las mismas columnas de una tabla


Mltiples ndices pueden ser generados para un mismo set de columnas, con esto
evitamos el hecho de tener que eliminar ndices en caso de haber efectuado alguna
migracin, por ejemplo para los campos A,B,C de una tabla se pueden crear mltiples
ndices, los ndices pueden ser generados de acuerdo a la siguiente premisa
- B*Tree o Bitmap
- Unique o NoUnique
- De acuerdo al tipo de particin en que estn involucrados los campos
La nica condicin es que slo uno de ellos tiene que estar visible.

Dataguard Broker y las CDBs (Container Databases)


El DataGuard Broker de Oracle soporta todo lo relacionado a MULTITENANT
CONTAINER DATABASES (CDBs), slo hay que tener en cuenta ciertas cosas :
- Cuando la base de datos primaria es una CDB , todas las bases StandBy en la
configuracin del broker deben ser tambin CDBs
- Cuando una configuracin de Broker es hecha en base a CDBs , todas las acciones del
Broker deben ser efectuadas a nivel de root , no a nivel de cada PDB (Pluggable

Database)
- Para administrar un ambiente MULTITENANT se debe tener el rol CDB_DBA

Conexiones sysdg y sysdba al Dataguard Broker


En versiones anteriores, la conexin al Dataguard deba ser hecha con el usuario
SYS/Password y la clusula SYSDBA, pues hoy slo se necesita indicar el usuario y
password de SYS, los usuarios que se conecten a la configuracin del DataGuard
Broker, deben tener los privilegios de SYSDG o SYSDBA, por defecto Oracle intentar
conectar con SYSDBA

VALIDATE DATABASE a nivel de Dataguard


Si antes exista un comando BACKUP VALIDATE DATABASE a nivel de RMAN
para chequear la validez de ciertos respaldos, hoy en da existe un comando llamado
VALIDATE DATABASE [VERBOSE] para la configuracin hecha a travs de
Dataguard Broker, con esto se hace una validacin ms exhaustiva de los componentes
que forman parte de una configuracin de Dataguard Broker

Por defecto Real-Time Apply en DataGuard


A partir de Oracle 12c, la configuracin por defecto de Oracle Dataguard Broker viene
con defecto con Real-Time Apply, esto significa que las transacciones son
inmediatamente aplicadas a los archivos de Standby de Redo, ms que la generacin de
un archive y que este sea aplicado en el ambiente de StandBy

Retoma de las operaciones de Switchover


Cuando en Oracle 11gr2 tenamos algn problema durante el proceso de Switchover , el
proceso se tena que hacer desde el principio, chequeando cada una de las partes de
nuestras bases de datos, de hecho alguna de las bases poda quedar en estado MOUNT y
no recuperando , a lo mejor la nueva primaria no poda quedar abierta, etc.
Pero a partir de Oracle 12c, las operaciones de Switchover pueden ser retomadas si se
caen en algn punto intermedio

Modificaciones al DUPLICATE DATABASE


En Oracle 11gr2 se puede usar la clusula SECTION SIZE al momento de respaldar
una base de datos, con esto cada proceso (Channel) puede tomar una porcin del tamao
especificado para un datafile , con lo cual claramente se aceleran los procesos de
respaldo de una base.
Para el caso del DUPLICATE DATABASE en Oracle 12c, se puede tambin declarar
la clusula SECTION SIZE, con lo cual el proceso de copia de una base tambin se
pueden ver acelerado

Esta clusula de SECTION SIZE , tambin puede ser aplicada a los backups como
IMAGE COPY y a los backups incrementales.

Mejoras al comando RESTORE


A partir de Oracle 12c las operaciones de RESTORE se pueden hacer en modalidad
NETWORK, tal cual lo puede hacer hoy en da el comando DUPLICATE, o como lo
puede hacer un expdp

Recuperacin de tablas con RMAN


Desde Oracle 12c en adelante ahora s podemos hacer una recuperacin de una tabla .
Con el nuevo comando RECOVER TABLE podemos restaurar y recuperar una o ms
tablas desde respaldos RMAN ya sea que estn en Backups o en cintas.
Para ms detalles ir a la nota

Lmites de tamao para la PGA


Cuando se habla de bases de datos CDBs (Containers Database) , se habla de
consolidacin de bases sobre un hardware limitado, esta limitacin de hardware hace
que tengamos que utilizar los recursos de una manera ms ptima.
Por ende desde Oracle 12c aparece un nuevo parmetro llamado
PGA_AGGREGATE_LIMIT el cual limita la cantidad de PGA que una instancia
puede consumir.

Oracle RAT para Containers Database (CD


El RAT de Oracle tambin puede ser aplicado para las PDB que estn en un CDB...o
dicho de otra forma, todas las bases de datos que estn en un CLOUD
Una vez que se han tomado los datos estadsticos, se puede hacer un Database Replay
sobre el CDB y as poder medir de forma significativa los cambios haca una nueva
estructura de base de datos

Oracle RAT con ASH


Desde Oracle 12c, los reportes que se saquen despus del Database Replay contendrn
informacin de ASH , lo cual claramente ayuda en el anlisis del testing de la nueva
infraestructura de base de datos.

Inventario consultable
Cada vez que queramos saber los parches de nuestra base de datos, tenamos que irnos
al sistema operativo y ejecutar un opath -lsinventory , desde Oracle 12c, se adjunta un

nuevo package llamado DBMS_QOPATCH, con el cual se puede consultar a travs de


SQL, los distintos parches aplicados a nuestra plataforma RDBMS

Oracle Flex ASM


Con Oracle Flex ASM se puede separar la instancia ASM desde los servidores de base
de datos, con ello se puede llegar a una estructura en donde un nmero X de servidores
con instancias ASM , puede otorgar servicio a un nmero N de servidores de bases de
datos.

Oracle Flex Cluster


Esta es una nueva arquitectura que permite un poco de fliexibilidad para lo que son los
nodos de un cluster, desde Oracle 12c, nace un nuevo concepto llamado Flex Cluster, en
esta nueva arquitectura nacen 2 conceptos los "Hub Nodes" y los "Leaf Nodes".
Los "Hub Nodes" son los nodos normales de un cluster, imaginense una arquitectura de
un RAC en 11gr2 , con 2 nodos y un Grid Infraestructure en ejecucin, pues los "Hub
Nodes" son aquellos nodos que conforman el RAC y que estn conectados "entre s"
mediante el Interconnect.
Pues bien, los "Leaf Nodes" son aquellos nodos que se unen a los "Hub nodes" y que no
tienen que estar conectados a un Interconnect, slo deben tener comunicacin con un
"Hub Node" .
Los "Leaf Nodes" no requieren de acceso al Storage, esto se hace mediante un "Hub
Node",est arquitectura presenta un sinnmero de ventajas ,como por ejemplo poder
colocar servicios en distintos nodos y de acuerdo a su carga de trabajo, quizs un
servicio no sea tan demandante, pues este se puede colocar en un "Leaf Node" o al
revs, slo colocar en los "Hub Nodes" aquellos servicios que requieran un tiempo y
acceso al disco ms rpido..

Respaldo en diskgroups del OCR


Antes de Oracle 12c, los respaldos del OCR eran llevados a cabo en el nodo master en
una ruta predefinida del S.O., desde Oracle 12c, estos respaldos pueden ser llevados a
cabo en Diskgroups, lo cual simplifica el trabajo de recuperacin de un OCR

Soporte para IPv6


Los nodos del cluster pueden ser configurados con IPv6, con esto el SCAN esta
posibilitado de conectarse a las IPs VIP de la Grid Infraestructure.

Advanced Network Compression


La transferencia de datos a travs de los servicios de Oracle Net ahora pueden ser
comprimidos, lo cual genera una mejora de performance, est compresin puede ser
definida en los siguientes niveles

- Connection level (connect string, URL)


- Service level (tnsnames.ora, ldap.ora)
- Database level (sqlnet.ora)

Restricciones para el privilegio SELECT ANY DICTIONARY


El privilegio "SELECT ANY DICTIONARY" ya no podr tener accesos directos a las
vistas DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$ y
XS$VERIFIERS, o sea, con este cambio ya no se tendr tan fcil acceso a password de
distintos usuarios o password de los dblinks, por ejemplo..

Informacin del ltimo LOGIN a travs de SQL*Plus


Cada vez que ingresemos a SQL*Plus nos mostrar cual fue nuestro ltimo login a la
instancia , esto es posible debido a la informacin que se almacena en la tabla USER$
Para ms detalles ir a la nota

Modificacin de role RESOURCE


Se modifica el role RESOURCE para quitarle el privilegio UNLIMITED
TABLESPACE, con esto se mejora la seguridad completa de la base de datos, pues con
el rol UNLIMITED TABLESPACE se pueden ocupar recursos de una manera
incontrolada.

Privilegio SYSBACKUP
A partir de Oracle12c nace un nuevo privilegio llamado SYSBACKUP, con el se
pueden hacer actividades a travs del comando RMAN , sin necesidad de tener
habilitado el rol SYSDBA, con esto separamos los roles desde la persona que hace la
administracin de la base hasta la persona que lleva a cabo los respaldos.

Oracle user en Windows


Desde Oracle 12c, se da soporte a un usuario distinto de Administrador para poder
instalar y manejar las instancias Oracle, que lindo cierto?

Columnas auto numricas (IDENTITY)


Est es una caracterstica bien agradable, tener una columna que se vaya incrementando
sola a medida que vamos insertando valores, pues est columna se conoce como
IDENTITY, la gracia est es que por debajo manera una secuencia Oracle, el problema,
pues es bien sabido los inconvenientes que poseen las secuencias en ambientes RAC
cuando se les declara como NOCACHE
Para ms detalles ir a la nota

Aumento de largo en columnas varchar2, nvarchar2 y RAW


Antes de Oracle12c , las columnas varchar2, nvarchar2 y RAW slo tenan un largo
hasta 4000 bytes, si queramos columnas de un largo mayor, tenamos que por
obligacin ocupar columnas de tipo CLOB o BLOB, pero en Oracle 12c nace un
cambio , esto se aplica mediante el parmetro MAX_STRING_SIZE, este parmetro se
cambia desde un valor STANDARD a EXTENDED y la base de datos puede soportar
hasta 32767 bytes para sus columnas varchar2, nvachar2 y raw. Una vez realizado el
cambio no se puede revertir.
Para ms detalles ir a la nota

Nuevo utilitario de migracin de set de caracteres DMU


Hasta Oracle 11gr2 , la manera de llevar a cabo una migracin de caracteres en una base
de datos Oracle era mediante las herramientas CCSCAN y CSALTER, mientras la
herramienta CSSCAN analiza toda la base de datos y se le indica desde que set de
caracteres haca que set de caracteres llev mi data, con la herramienta CSALTER llevo
a cabo los cambios.
La documentacin de CSSCAN y CSALTER
10gr2 :
http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch12scanner.htm#i1005939
11gr2 :
http://docs.oracle.com/cd/E11882_01/server.112/e10729/ch11charsetmig.htm#NLSPG0
11
En Oracle 12c el utilitario DMU reemplaza al CCSCAN y CSALTER y presenta una
interfaz grfica ms amigable

Espero NOS sirva a todos