nuevas funcionalidades de 12c

13
Oracle 12c: Nuevas características (New Features Oracle 12c) Pues bien , ya que salió la nueva versión de Oracle, era obvio que mencionáramos algunas nuevas características.. Las más interesantes Adaptive Query Optimization El optimizador puede llevar a cabo una modificación de sus planes de ejecución aunque estos ya se encuentren habilitados para la sentencia SQL, simplemente el CBO para los planes en ejecución y los reanaliza para encontrar el "nuevo" mejor, está característica es invisible al usuario y se hace de forma automática. Lo anterior no significa que una sentencia quede a medio camino de ejecución, no... simplemente se recalcula el mejor plan , para la siguiente ejecución. Ejecución 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 cláusula sql , además podemos ejecutar cualquier sentencia SQL que queramos, no así pre-12c que estaban limitadas. La cláusula sql sigue estando vigente. Para más detalles ir a la nota Estadísticas dinámicas Durante la compilación de una sentencia SQL, el optimizador puede chequear todas las estadísticas sobre las tablas de la sentencia SQL y puede decidir si las utiliza o no , si no utiliza las estadísticas para una tabla en particular o alguna de esta no posee estadísticas, Oracle generará estadísticas dinámicas con el método del Sampling, estás estadísticas permanecerán hasta las subsiguientes ejecuciones de la sentencia y el optimizador las puede

Upload: kamunias

Post on 18-Feb-2016

217 views

Category:

Documents


1 download

DESCRIPTION

Nuevas Funcionalidades de 12c

TRANSCRIPT

Page 1: Nuevas Funcionalidades de 12c

Oracle 12c: Nuevas características (New Features Oracle 12c)

Pues bien , ya que salió la nueva versión de Oracle, era obvio que mencionáramos algunas nuevas características..

Las más interesantes

Adaptive Query OptimizationEl optimizador puede llevar a cabo una modificación de sus planes de ejecución aunque estos ya se encuentren habilitados para la sentencia SQL, simplemente el CBO para los planes en ejecución y los reanaliza para encontrar el "nuevo" mejor, está característica es invisible al usuario y se hace de forma automática.Lo anterior no significa que una sentencia quede a medio camino de ejecución, no... simplemente se recalcula el mejor plan , para la siguiente ejecución.

Ejecución de comandos a nivel de prompt de RMANOracle 12c nos permite ejecutar comandos a nivel del prompt de RMAN , esto sin la necesidad de colocar la cláusula sql , además podemos ejecutar cualquier sentencia SQL que queramos, no así pre-12c que estaban limitadas. La cláusula sql sigue estando vigente.

Para más detalles ir a la nota

Estadísticas dinámicasDurante la compilación de una sentencia SQL, el optimizador puede chequear todas las estadísticas sobre las tablas de la sentencia SQL y puede decidir si las utiliza o no , si no utiliza las estadísticas para una tabla en particular o alguna de esta no posee estadísticas, Oracle generará estadísticas dinámicas con el método del Sampling, estás estadísticas permanecerán hasta las subsiguientes ejecuciones de la sentencia y el optimizador las puede utilizar cuando estime conveniente.

Estadísticas ONLINE para cargas BULKCuando se hace una carga de datos mediante un INSERT SELECT , CREATE TABLES AS , para versiones anteriores de Oracle , había que tomar estadísticas de forma manual a la nueva tabla , en cambio para nuestra nueva versión 12c, las estadísticas son tomadas de forma automática, tal cual se hace para cuando se generan los índices mediante el comando CREATE INDEX o REBUILD INDEX

Estadísticas privadas para las tablas temporalesLas estadísticas para las tablas temporales son únicas a pesar de que por cada sesión hubiese data distinta, esto era hasta la versión 11gr2 , para la versión 12c de Oracle,

Page 2: Nuevas Funcionalidades de 12c

cada sesión tendrá sus propias estadísticas lo cual mejora ostensiblemente los tiempos de ejecución , pues se mejora la performance al tener mejores datos estadísticos.

Integración con Grupos de procesadores a nivel de Sistema OperativoEsta característica permite especificar al DBA un parámetro 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á característica? Pues para parcelar un poco el uso de CPUs por parte de una cantidad X de base de datos.

Arquitectura MultitenantLas arquitecturas multitenant (multi-propietario) es una filosofía de software cada vez más usada para aquellas empresas que dan servicios de SaaS (Software as a Service), el principio básico de esto es el siguiente , una instancia del Software es ejecutada en un servidor y desde aquí se da el servicio a múltiples clientes . Si lo pensamos del lado de Oracle significa que cada cliente comparte un motor de datos, pero los datos de cada cliente están 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 fácil para los clientes hacer una consolidación de sus bases de datos y trabajar muchas como una.

Imaginémonos una consolidación de esquemas, para ahorrar motores, recursos y demás, pero ahora para base de datos, cada base de datos se convierte en un Pluggable Database y estás 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 característica, se puede parchar un contenedor y con ello se parchan de inmediato múltiples PDBs.

Oracle Datapump soporta Database ConsolidationDentro del soporte que da Oracle Datapump para lo que es Database Consolidation, se nombra el FULL TRANSPORTABLE, que no es más 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) hacía otra base no-CDB, o una PDB a una no-CDB, o una base no-CDB a una PDB.

Respaldo y recuperación PDBsRMAN 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 características se agregan las cláusulas PLUGGABLE DATABASE a los comandos RMAN.

Page 3: Nuevas Funcionalidades de 12c

PDBs Point in Time RecoverySe pueden hacer recuperaciones de las PDBs en algún lugar del tiempo, lo que comúnmente se llama point-in-time recovery

Resource Plans para PDBsOracle Resource Manager puede manejar los recursos a nivel de CDB y a nivel de PDB, con esto el manejo se vuelve más dinámico y se pueden asignar y reasignar recursos de forma más masiva

Exportar una vista como tabla con Oracle DatapumpAhora se puede exportar una vista y Oracle deja la data de una vista en una tabla, antes al exportar una vista, sólo se exportaba la definición, pero no la data.Para más detalles ir a la nota

Opción de NOLOGGING con Oracle Datapump ImportExiste un parámetro para el import con el Datapump que deshabilita el logging para cuando se está cargando data en una tabla, es la opción TRANSFORM con el valor DISABLE_ARCHIVE_LOGGING, esto hace del proceso de import un proceso muchísimo más rápido pues no se genera redolog, lo que se debe tener en cuenta es sacar un respaldo después de finalizar el import.Para más detalles ir a la nota

Oracle ASM Disk Scrubbing Está es una nueva característica que chequea las corrupciones lógicas de los discos de ASM y las repara de forma automática, esto sólo sucede cuando se crean grupos de fallas, o sea, existe redundancia normal o redundancia alta.

Aplicación 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 tenía 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]

Page 4: Nuevas Funcionalidades de 12c

Columnas invisiblesEn Oracle 12c, podemos dejar una columna como invisible mediante el comando alter table -nombre tabla- modify (-columna- invisible) , pero nosotros mismos controlamos el cuándo 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 incluyéndola en la lista de las columnas.A través de SQL*Plus podemos setear el hecho de que aparezca una columna invisible, para ello utilizamos el seteo

SHOW COLINVISIBLE ON|OFF

Para más detalles ir a la nota

Movimiento ONLINE de los datafilesEn release anteriores, para mover un datafile este se debía dejar OFFLINE , con todos los problemas de servicio que esto podía acarrear, pues a partir de Oracle 12c, el movimiento de los datafiles puede ser efectuado en forma ONLINE, sin pérdida de servicioPara más detalles ir a la nota

Creación de varios índices en las mismas columnas de una tablaMúltiples í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 migración, por ejemplo para los campos A,B,C de una tabla se pueden crear múltiples índices, los índices pueden ser generados de acuerdo a la siguiente premisa

- B*Tree o Bitmap- Unique o NoUnique- De acuerdo al tipo de partición en que están involucrados los camposLa única condición es que sólo 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), sólo hay que tener en cuenta ciertas cosas :

- Cuando la base de datos primaria es una CDB , todas las bases StandBy en la configuración del broker deben ser también CDBs- Cuando una configuración 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

Page 5: Nuevas Funcionalidades de 12c

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

Conexiones sysdg y sysdba al Dataguard BrokerEn versiones anteriores, la conexión al Dataguard debía ser hecha con el usuario SYS/Password y la cláusula SYSDBA, pues hoy sólo se necesita indicar el usuario y password de SYS, los usuarios que se conecten a la configuración del DataGuard Broker, deben tener los privilegios de SYSDG o SYSDBA, por defecto Oracle intentará conectar con SYSDBA

VALIDATE DATABASE a nivel de DataguardSi antes existía un comando BACKUP VALIDATE DATABASE a nivel de RMAN para chequear la validez de ciertos respaldos, hoy en día existe un comando llamado VALIDATE DATABASE [VERBOSE] para la configuración hecha a través de Dataguard Broker, con esto se hace una validación más exhaustiva de los componentes que forman parte de una configuración de Dataguard Broker

Por defecto Real-Time Apply en DataGuardA partir de Oracle 12c, la configuración 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, más que la generación de un archive y que este sea aplicado en el ambiente de StandBy

Retoma de las operaciones de SwitchoverCuando en Oracle 11gr2 teníamos algún problema durante el proceso de Switchover , el proceso se tenía que hacer desde el principio, chequeando cada una de las partes de nuestras bases de datos, de hecho alguna de las bases podía quedar en estado MOUNT y no recuperando , a lo mejor la nueva primaria no podía quedar abierta, etc.Pero a partir de Oracle 12c, las operaciones de Switchover pueden ser retomadas si se caen en algún punto intermedio

Modificaciones al DUPLICATE DATABASEEn Oracle 11gr2 se puede usar la cláusula SECTION SIZE al momento de respaldar una base de datos, con esto cada proceso (Channel) puede tomar una porción del tamaño 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 también declarar la cláusula SECTION SIZE, con lo cual el proceso de copia de una base también se pueden ver acelerado

Page 6: Nuevas Funcionalidades de 12c

Esta cláusula de SECTION SIZE , también puede ser aplicada a los backups como IMAGE COPY y a los backups incrementales.

Mejoras al comando RESTOREA partir de Oracle 12c las operaciones de RESTORE se pueden hacer en modalidad NETWORK, tal cual lo puede hacer hoy en día el comando DUPLICATE, o como lo puede hacer un expdp

Recuperación de tablas con RMANDesde Oracle 12c en adelante ahora sí podemos hacer una recuperación de una tabla . Con el nuevo comando RECOVER TABLE podemos restaurar y recuperar una o más tablas desde respaldos RMAN ya sea que estén en Backups o en cintas.Para más detalles ir a la nota

Límites de tamaño para la PGACuando se habla de bases de datos CDBs (Containers Database) , se habla de consolidación de bases sobre un hardware limitado, esta limitación de hardware hace que tengamos que utilizar los recursos de una manera más óptima.Por ende desde Oracle 12c aparece un nuevo parámetro llamado PGA_AGGREGATE_LIMIT el cual limita la cantidad de PGA que una instancia puede consumir.

Oracle RAT para Containers Database (CDEl RAT de Oracle también puede ser aplicado para las PDB que están en un CDB...o dicho de otra forma, todas las bases de datos que están en un CLOUD

Una vez que se han tomado los datos estadísticos, se puede hacer un Database Replay sobre el CDB y así poder medir de forma significativa los cambios hacía una nueva estructura de base de datos

Oracle RAT con ASHDesde Oracle 12c, los reportes que se saquen después del Database Replay contendrán información de ASH , lo cual claramente ayuda en el análisis del testing de la nueva infraestructura de base de datos.

Inventario consultableCada vez que queríamos saber los parches de nuestra base de datos, teníamos que irnos al sistema operativo y ejecutar un opath -lsinventory , desde Oracle 12c, se adjunta un

Page 7: Nuevas Funcionalidades de 12c

nuevo package llamado DBMS_QOPATCH, con el cual se puede consultar a través de SQL, los distintos parches aplicados a nuestra plataforma RDBMS

Oracle Flex ASMCon 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 número X de servidores con instancias ASM , puede otorgar servicio a un número N de servidores de bases de datos.

Oracle Flex ClusterEsta 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 ejecución, pues los "Hub Nodes" son aquellos nodos que conforman el RAC y que están 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, sólo deben tener comunicación con un "Hub Node" .Los "Leaf Nodes" no requieren de acceso al Storage, esto se hace mediante un "Hub Node",está arquitectura presenta un sinnúmero de ventajas ,como por ejemplo poder colocar servicios en distintos nodos y de acuerdo a su carga de trabajo, quizás un servicio no sea tan demandante, pues este se puede colocar en un "Leaf Node" o al revés, sólo colocar en los "Hub Nodes" aquellos servicios que requieran un tiempo y acceso al disco más rápido..

Respaldo en diskgroups del OCRAntes 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 recuperación de un OCR

Soporte para IPv6Los 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 CompressionLa transferencia de datos a través de los servicios de Oracle Net ahora pueden ser comprimidos, lo cual genera una mejora de performance, está compresión puede ser definida en los siguientes niveles

Page 8: Nuevas Funcionalidades de 12c

- Connection level (connect string, URL)- Service level (tnsnames.ora, ldap.ora)- Database level (sqlnet.ora)

Restricciones para el privilegio SELECT ANY DICTIONARYEl 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 fácil acceso a password de distintos usuarios o password de los dblinks, por ejemplo..

Información del último LOGIN a través de SQL*PlusCada vez que ingresemos a SQL*Plus nos mostrará cual fue nuestro último login a la instancia , esto es posible debido a la información que se almacena en la tabla USER$Para más detalles ir a la nota

Modificación de role RESOURCESe 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 SYSBACKUPA partir de Oracle12c nace un nuevo privilegio llamado SYSBACKUP, con el se pueden hacer actividades a través del comando RMAN , sin necesidad de tener habilitado el rol SYSDBA, con esto separamos los roles desde la persona que hace la administración de la base hasta la persona que lleva a cabo los respaldos.

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

Columnas auto numéricas (IDENTITY)Está es una característica 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 NOCACHEPara más detalles ir a la nota

Page 9: Nuevas Funcionalidades de 12c

Aumento de largo en columnas varchar2, nvarchar2 y RAWAntes de Oracle12c , las columnas varchar2, nvarchar2 y RAW sólo tenían un largo hasta 4000 bytes, si queríamos columnas de un largo mayor, teníamos que por obligación ocupar columnas de tipo CLOB o BLOB, pero en Oracle 12c nace un cambio , esto se aplica mediante el parámetro MAX_STRING_SIZE, este parámetro 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 más detalles ir a la nota

Nuevo utilitario de migración de set de caracteres DMUHasta Oracle 11gr2 , la manera de llevar a cabo una migración 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 hacía que set de caracteres llevó mi data, con la herramienta CSALTER llevo a cabo los cambios.

La documentación 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#NLSPG011

En Oracle 12c el utilitario DMU reemplaza al CCSCAN y CSALTER y presenta una interfaz gráfica más amigable

Espero NOS sirva a todos