56
1 Nuevas características Oracle11 13 de Abril del 2009 Hector Gabriel Ulloa Ligarius OCP Oracle 11g [email protected]

Presentacion CLOUG 2009

Embed Size (px)

DESCRIPTION

presentacion CLOUG

Citation preview

Page 1: Presentacion CLOUG 2009

1

Nuevas características Oracle11g13 de Abril del 2009

Hector Gabriel Ulloa Ligarius OCP Oracle [email protected]

Page 2: Presentacion CLOUG 2009

2

Lanzamiento en New York , USA

11 Julio 2007

Page 3: Presentacion CLOUG 2009

3

Oracle 11gOracle 11g

Result Cache

• SQL Query Result Cache

• PL/Sql Function Result Cache

Page 4: Presentacion CLOUG 2009

4

Oracle 11gOracle 11g

Result Cache : SQL Query Result Cache

•Parámetro RESULT_CACHE_MODE : MANUAL o FORCE•MANUAL con hint /*+ result_cache */

•FORCE con hint /*+ no_result_cache */

•Parámetro RESULT_CACHE_MAX_RESULT

•SQL Query Result Cache Shared Pool < 75%

Page 5: Presentacion CLOUG 2009

5

Oracle 11gOracle 11g

Result Cache : SQL Query Result Cache

• DBMS_RESULT_CACHE.MEMORY_REPORT

• Restricciones : Diccionario de datos , secuencia.nextval y secuencia.currval

• Invalidaciones en memoria

Page 6: Presentacion CLOUG 2009

6

Oracle 11gOracle 11g

Result Cache : Pl/Sql Function Result Cache

•Restricciones : Modo OUT, ni IN con BLOB , ni con REF CURSOR ,tampoco bloque anónimos

•Modo de trabajo : Verifica los parámetros de entrada de la función(sólo IN)

•Vistas : V$RESULT_CACHE_OBJECTS

Page 7: Presentacion CLOUG 2009

7

Oracle 11gOracle 11g

Result Cache : Pl/Sql Function Result Cache•Ejemplo (relies_on Tablas o vistas en que la función tiene dependencia)

Create or replace function get_name (id number) return varchar2result_cache relies_on(emp) isv_return varchar2(30);beginselect ename into v_return from emp where empno=id;Return v_return;end;/

Page 8: Presentacion CLOUG 2009

8

Oracle 11gOracle 11g

Invisible indexes• OPTIMIZER_USE_INVISIBLE_INDEXESTRUE o FALSE

• Para testing o índices temporales

• Mantenidos en DML operations, no como los UNUSABLES

• Nueva columna VISIBILITY

Page 9: Presentacion CLOUG 2009

9

Oracle 11gOracle 11g

Invisible indexes•Ejemplo

CREATE INDEX emp_ename ON emp(ename)TABLESPACE usersSTORAGE (INITIAL 20KNEXT 20kPCTINCREASE 75)INVISIBLE;

ALTER INDEX index_name [VISIBLE | INVISIBLE]

Page 10: Presentacion CLOUG 2009

10

Oracle 11gOracle 11g

Sequences without Select

• Antes Select secuencia.nextvalInto variableFrom dual;

• Ahoravariable := secuencia.nextval;

Page 11: Presentacion CLOUG 2009

11

Oracle 11gOracle 11g

Global ADDM – en RAC

•Antes : Sólo vistas GV$

•Ahora : Database ADDM

Page 12: Presentacion CLOUG 2009

12

Oracle 11gOracle 11g

Global ADDM – en RAC

Instance

Database

•Uso excesivo de Global Resources

• Hot Blocks

• Tráfico Interconnect

• Latencias de red

Page 13: Presentacion CLOUG 2009

13

Oracle 11gOracle 11g

Data Recovery Advisor•Herramienta automática para detección de fallas , a nivel de bloques, pérdida de dbf , por ejemplo

•Reparación manual o a través del Advisor

•Repara bases de datos inactivas, montadas o abiertas

• Distintas interfaces de trabajo

Page 14: Presentacion CLOUG 2009

14

Oracle 11gOracle 11g

Data Recovery Advisor

•Arquitecturas soportadas : Sólo single Database

•Arquitecturas No soportadas : RAC , ni reparaciones sobre la StandBy

•Interfaces : Recovery Manager , Grid Control , Database Control

•En RMAN : RMAN> list failure all;

Page 15: Presentacion CLOUG 2009

15

Oracle 11gOracle 11g

Real Application Testing : Database Replay

•Creación de ambientes de Test muy muy similares a producción.

•Forma segura de validar , upgrades, parches,creación de índices.

•El problema mas recurrente es equipararla carga de trabajo en test .

Page 16: Presentacion CLOUG 2009

16

Oracle 11gOracle 11g

Real Application Testing : Database Replay

Page 17: Presentacion CLOUG 2009

17

Oracle 11gOracle 11g

Partitioning

• Reference Partitioning

• Transportable Tablespace Partitioning

• Virtual Columns Partitioning

Page 18: Presentacion CLOUG 2009

18

Oracle 11gOracle 11g

Reference Partitioning

•Capacidad para particionar una tabla a través de su llave foránea

•Problemas al particionar tablas por columnas que no existen

Page 19: Presentacion CLOUG 2009

19

Oracle 11gOracle 11g

Reference Partitioning

create table customers ( cust_id number primary key, cust_name varchar2(200), rating varchar2(1) not null ) partition by list (rating) ( partition pA values ('A'), partition pB values ('B') );

create table sales ( sales_id number primary key, cust_id number not null, sales_amt number, constraint fk_sales_01 foreign key (cust_id) references customers ) partition by reference (fk_sales_01);

•Ejemplo

Page 20: Presentacion CLOUG 2009

20

Oracle 11gOracle 11g

Virtual Columns Partitioning•Particionar una tabla mediante una columna calculada

create table sales( sales_id number, cust_id number, sales_amt number, sale_category varchar2(6) generated always as Sólo por claridad ( case when sales_amt <= 10000 then 'LOW' else 'ULTRA' end ) virtual)partition by list (sale_category)( partition p_low values ('LOW'), partition p_ultra values ('ULTRA'))

•Ejemplo :

Page 21: Presentacion CLOUG 2009

21

Oracle 11gOracle 11g

Sensitive Password

•Por defecto habilitado

•Parámetro SEC_CASE_SENSITIVE_LOGIN

•El upgrade desde 10g,mantiene las password en 11g

•El orapwd también permite password sensitive

•DBA_USERS.PASSWORD_VERSIONS

Page 22: Presentacion CLOUG 2009

22

Oracle 11gOracle 11g

Hot Patching

• Permite instalar parches con la base arriba

• Con utilitario OPatch

• OPatch detecta conflictos entre patchset

• Disponible para ambientes en RAC

• Restricciones : Sólo linux x86 y Solaris SPARC

Page 23: Presentacion CLOUG 2009

23

Oracle 11gOracle 11g

AMM : Automatic Memory Management

• En Oracle 10g : ASMM

• En Oracle 11g : AMM

Page 24: Presentacion CLOUG 2009

24

Oracle 11gOracle 11g

AMM : Automatic Memory Management

Page 25: Presentacion CLOUG 2009

25

Oracle 11g Oracle 11g

Virtual columns

•No consumen espacio, se calculan “on the fly”antes se calculaban con triggers

•Se pueden crear índices

•No soportado para IOT, EXTERNAL, CLUSTER ni TEMPORARY

•Definición de la tabla en DBA_TAB_COLUMNS.DATA_DEFAULT

Page 26: Presentacion CLOUG 2009

26

Oracle 11g Oracle 11g

Virtual columns

•Ejemplo : Create table employee( emp_id number primary key,salary number (8,2) not null,years_of_service number not null,curr_retirement as (salary*.0005 * years_of_service) );

select table_name, column_name, data_default from dba_tab_columnswhere table_name='EMPLOYEE' and column_name='CURR_RETIREMENT';

TABLE_NAME COLUMN_NAME DATA_DEFAULT---------------- ------------------ ------------------------------EMPLOYEE CURR_RETIREMENT "SALARY"*.0005*"YEARS_OF_SERVICE"

Page 27: Presentacion CLOUG 2009

27

Oracle 11gOracle 11g

TTE : Transparent Tablespace Encryption

•TDE en Oracle 10g

•TTE en Oracle 11g

•Encriptación física

•Se debe tener Wallet Open

•Exp/Imp no soportado

Page 28: Presentacion CLOUG 2009

28

Oracle 11gOracle 11g

TTE : Transparent Tablespace EncryptionImplementación : a) Se crea el Wallet

SQL> alter system set wallet open identified by “wallet1";

b) En Oracle 10g se encripta la columnaSQL> alter table ejemplo modify campo1 encrypt;

c) En Oracle 11g se crea un tablespace encriptadoSQL> create tablespace EJEMPLO_TTE ENCRYPTIONdefault storage (ENCRYPT)datafile ‘ruta/datafile.dbf’ size XMB;

d) En Oracle 11g se crea el segmento en este TBS

Page 29: Presentacion CLOUG 2009

29

Oracle 11gOracle 11g

Recovery Manager

•Data Recovery Advisor

•No sólo respalda archives desde la FRA, sino también desde otras log_archive_dest_*(alternativas a posible corrupción en la FRA)

•Nuevo formato de compresión : ZLIB (licenciado) en vez de BZIP2

Page 30: Presentacion CLOUG 2009

30

Oracle 11gOracle 11g

Recovery Manager

•Interfile Backup Parallelism

•Chequeo de consistencia

•Las políticas de retención también son aplicadasa los log_archive_dest_* , no tan sólo a la FRA

•Adiós UNDO (Bypass the undo committed data)sólo guarda pequeñas cantidades de UNDO

(backup optimization = ON)

Page 31: Presentacion CLOUG 2009

31

Oracle 11gOracle 11g

Recovery Manager : Data Recovery AdvisorERROR at line 1: ORA-01116: error in opening database file 18 ORA-01110: data file 4: '/ruta produccion/PAGOS018.dbf' ORA-27041: unable to open file Linux Error: 2: No such file or directory Additional information: 3

RMAN> list failure;

using target database control file instead of recovery catalog List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 196 HIGH OPEN 10-APR-09 One or more non-system datafiles are missing

Page 32: Presentacion CLOUG 2009

32

Oracle 11gOracle 11g

Recovery Manager : Data Recovery AdvisorRMAN> list failure 196 detail; Exacta causa del error

RMAN> advise failure;

Automated Repair Options========================Option Repair Description------ ------------------1 Restore and recover datafile 18 Strategy: The repair includes complete media recovery with no data loss Repair script: $ORACLE_BASE/app/diag/rdbms/<instancia>/<BD>/hm/reco_2342576112.hm

Page 33: Presentacion CLOUG 2009

33

Oracle 11gOracle 11g

Recovery Manager : Data Recovery Advisor

RMAN> repair failure preview; Muestra pasos a seguirRestore, recover, etc

RMAN> repair failure; Aplica pasos

Page 34: Presentacion CLOUG 2009

34

Oracle 11gOracle 11g

Recovery Manager : Chequeo Consistencia

•RMAN> Validate database;

•RMAN> Validate tablespace xxxxx;

•RMAN> Validate datafile xxxxx;

•RMAN> Validate datafile xxxxx block xxxx;

•Se puede validar SPFILE, CONTROLFILECOPY, FRA,etc

Page 35: Presentacion CLOUG 2009

35

Oracle 11gOracle 11g

Recovery Manager : Chequeo ConsistenciaRMAN> validate check logical datafile 2;

Starting validate at 2008/11/10 09:52:36using target database control file instead of recovery catalogchannel ORA_DISK_1: starting validation of datafilechannel ORA_DISK_1: specifying datafile(s) for validationinput datafile file number=00002 name=/oradata/V11/sysaux01.dbfchannel ORA_DISK_1: validation complete, elapsed time: 00:00:25List of Datafiles=================File Status Marked Corrupt Empty Blocks Blocks Examined High SCN---- ------ -------------- ------------ --------------- ----------2        OK              0        28279          104896    2885460File Name: /oradata/V11/sysaux01.dbfBlock Type Blocks Failing Blocks Processed---------- -------------- ----------------Data                    0            21440

Page 36: Presentacion CLOUG 2009

36

Oracle 11gOracle 11g

FDA : Flashback Data Archive

•Flashback query en 9isin UNDO no hay FlashBack

•Flashback version query en 10gsin UNDO no hay FlashBack

•Flashback Data Archive en 11gsin UNDO , hay FlashBack

Page 37: Presentacion CLOUG 2009

37

Oracle 11gOracle 11g

FDA : Flashback Data ArchiveImplementación :

c) Se crea área de archiveSQL> create flashback archive <nombre> tablespace <nombre_tbs> retention xxx year;

Mínima performance , mínimo storage (compress)

b) Se otorgan privilegios sobre el área de FlashBack Data ArchiveSQL> alter table <nombre tabla> flashback archive <nombre fbda>;

a) Se crea usuario administrador con privilegios FLASBACK ARCHIVE ADMINISTER

b) Se otorgan el privilegio flashback archive a un usuario

Page 38: Presentacion CLOUG 2009

38

Oracle 11gOracle 11g

FDA : Flashback Data Archive

Flujo proceso Background FBDA (Flashback Data Archive)

• Se inicia con la base de datos

• FBDA trabaja primero sobre el Undo en el Buffer Cache

• Si el dato ya no esta en el buffer cache, lo va a buscar a los UNDO Segments

• Toda la información capturada , es dejada en las tablas pertinentes en el FDA

Page 39: Presentacion CLOUG 2009

39

Oracle 11gOracle 11g

FTB : Flashback Transaction Backout

•Permite devolver transaccionesya comiteadas y sus dependencias

•Mediante OEM

•DBMS_FLASHBACK.TRANSACTION_BACKOUT

•V$TRANSACTION

Page 40: Presentacion CLOUG 2009

40

Oracle 11gOracle 11g

DDL Lock Timeout•Error recurrente al intentar modificar un objetoORA-00054: resource busy

• ¿Cómo saber cuando ejecutar el comando?

• Parámetro DDL_LOCK_TIMEOUTde 1 a 1millón de segundos (11,5 horas)

Page 41: Presentacion CLOUG 2009

41

Oracle 11gOracle 11g

New Alert Log• El archivo de alertas es escrito en formato XMLUbicación : $ORACLE_HOME/diag/rdbms/<instancia>/<BD>/alert

• Por compatibilidad también es escrito en txtUbicación : $ORACLE_HOME/diag/rdbms/<instancia>/<BD>/trace

•Se evitan los problemas de los grandes archivos de alertas pues se particiona el archivo de alertas

Page 42: Presentacion CLOUG 2009

42

Oracle 11gOracle 11g

New Alert LogLo que se debe saber

•ADR : Automatic Diagnostic Repository (Estructura de directorios): Contiene todos los trace , core files, archivos de alertas (RAC,ASM,CRS)

•ADR :Ubicado en el parámetro DIAGNOSTIC_DEST

•ADR :Se puede consultar la vista V$DIAG_INFO

Page 43: Presentacion CLOUG 2009

43

Oracle 11gOracle 11g

Nombre Directorio Descripción

Todo dentro del valor del parámetroDIAGNOSTIC_DEST

 

→diag  

  →rdbms  

    →<Nombre de la base de datos>  

       →<Nombre de la instancia>  

          →alert Archivo de alertas en formato XML

          →cdump Equivalente al core_dump_dest

          →hm Para los trace del Health Monitor

          →incident  

          →trace Trace de usuario y procesos background son almacenados acá al igual que el archivode alertas en modo texto

New Alert Log

Page 44: Presentacion CLOUG 2009

44

Oracle 11gOracle 11g

New Alert Log : Utilitario ADRCI

• Para ejecutar el utilitario ADRCI$ $ORACLE_HOME/bin/adrci

• Para mostrar todos los HOME de las distintas instancias en el motoradrci> show homes

• Para visualizar el archivo de alertas de un home en particularadrci> set homepath diag/rdbms/PROD/PROD1adrci> show alertadrci> show alert –tail 50

Page 45: Presentacion CLOUG 2009

45

Oracle 11gOracle 11g

Spfile and Memory values

• Crear spfile desde pfile

• Crear pfile desde spfile

• Crear spfile | pfile desde memoria

Page 46: Presentacion CLOUG 2009

46

Oracle 11gOracle 11g

Add Column with default Values

• En Oracle 10g, añadir una columna con default valuespodría demorar mucho y utilizaría demasiados recursos

• En Oracle 11g, añadir una columna con default valueses instantáneo y sólo le asigna el default, cuando se consulta el registro

Page 47: Presentacion CLOUG 2009

47

Oracle 11gOracle 11g

Tables Read Only • En Oracle10g, se emula el READ ONLY revocando el SELECT

• En Oracle11g, simplemente se ejecutaSQL> ALTER TABLE <tabla> READ ONLY;

• Visualizado en *_TABLE.READ_ONLY

Page 48: Presentacion CLOUG 2009

48

Oracle 11gOracle 11g

Dataguard • Compresión de los archive logs, envíadosa la StandBy

• Consultas en la StandBy al mismo tiempo que se aplican los archives

• Snapshots Database

Page 49: Presentacion CLOUG 2009

49

Oracle 11gOracle 11g

Space Management Coordinator

•Autoextensiones a nivel de Tablespace

•Solicita el espacio a nivel de segmentos temporales

•Nuevo proceso Background

Page 50: Presentacion CLOUG 2009

50

Oracle 11gOracle 11g

Shrinking Temporary Tablespace

• Siempre permanecen al 100% y creciendo

• Se reutiliza el espacio por consultas o usuarios

• Si deseo reutilizar espacio para reasignar a otro tablespace, debo recrear , siempre y cuando no haya operaciones de sort en curso

• En Oracle11g se puede hacer un Shrink

Page 51: Presentacion CLOUG 2009

51

Oracle 11gOracle 11g

Shrinking Temporary Tablespace

SQL> alter tablespace <nombre temporal> shrink space [tempfile XXX];

SQL> alter tablespace <nombre temporal> shrink space [tempfile xxxx] keep XXXM;

SQL> select * from dba_temp_free_space;

Page 52: Presentacion CLOUG 2009

52

Oracle 11gOracle 11g

Rebuild online Index

• En Oracle 10g , las DML no se veían afectadas

• En Oracle 11g , las DML tampoco se ven afectadas

• ¿En qué se diferencian?

Page 53: Presentacion CLOUG 2009

53

Oracle 11gOracle 11g

Referencias 466931.1 : Oracle Database 11g Top New Features : Summary 453487.1 : 11g New Features : Top 5 Features In 11g 430887.1 : 11g New Feature PL/SQL Function Result Cache 453567.1 : 11g New Feature : SQL Query Result Cache 430887.1 : 11g New Feature PL/SQL Function Result Cache 453295.1 : 11g New Feature : Invisible Index 433068.1 : Sequences in PL/SQL Expressions 466682.1 : Data Recovery Advisor -Reference Guide. 465946.1 : 11g Data Recovery Advisor: How to recover from missing datafile 452447.1 : 11g Partitioning Enhancements 429465.1 : 11g R1 New Feature : Case Sensitive Passwords and Strong User Authentication 443746.1 : Automatic Memory Management(AMM) on 11g

Page 54: Presentacion CLOUG 2009

54

Oracle 11gOracle 11g

Referencias 295626.1 : How To Use Automatic Shared Memory Management (ASMM) In Oracle10g 432776.1 : 11g New Feature : Transparent Data Encryption at Tablespace Level 762339.1 : RMAN 11G : Data Recovery Advisor - RMAN command line example 419173.1 : RMAN 11G : Import Catalog 470199.1 : 11g feature: Flashback Data Archive Guide. 464512.1 : 11g Locking Enhancements 779569.1 : DDL_LOCK_TIMEOUT Behavior in 11G 438148.1 : Finding alert.log file in 11g 422893.1 : 11g Understanding Automatic Diagnostic Repository. 747146.1 : 11g New Feature: Read-Only Tables 452697.1 : How To Shrink A Temporary Tablespace in 11G ?

Page 55: Presentacion CLOUG 2009

55

PreguntasPreguntas

Page 56: Presentacion CLOUG 2009

56

Muchas gracias!!!Nos vemos en Oracle 12g