Está en la página 1de 56

Nuevas caractersticas Oracle11g

13 de Abril del 2009 Hector Gabriel Ulloa Ligarius OCP Oracle 11g
hulloa@inmotion.cl
1

Lanzamiento en New York , USA 11 Julio 2007


2

Oracle 11g
Result Cache
SQL Query Result Cache PL/Sql Function Result Cache

Oracle 11g
Result Cache : SQL Query Result Cache
Parmetro RESULT_CACHE_MODE : MANUAL o FORCE MANUAL con hint /*+ result_cache */ FORCE con hint /*+ no_result_cache */ Parmetro RESULT_CACHE_MAX_RESULT SQL Query Result Cache Shared Pool < 75%

Oracle 11g
Result Cache : SQL Query Result Cache
DBMS_RESULT_CACHE.MEMORY_REPORT Restricciones : Diccionario de datos , secuencia.nextval y secuencia.currval

Invalidaciones en memoria

Oracle 11g
Result Cache : Pl/Sql Function Result Cache
Restricciones : Modo OUT, ni IN con BLOB , ni con REF CURSOR , tampoco bloque annimos Modo de trabajo : Verifica los parmetros de entrada de la funcin (slo IN) Vistas : V$RESULT_CACHE_OBJECTS

Oracle 11g
Result Cache : Pl/Sql Function Result Cache
Ejemplo (relies_on Tablas o vistas en que la funcin tiene dependencia)
Create or replace function get_name (id number) return varchar2 result_cache relies_on(emp) is v_return varchar2(30); begin select ename into v_return from emp where empno=id; Return v_return; end; 7 /

Oracle 11g
Invisible indexes
OPTIMIZER_USE_INVISIBLE_INDEXES TRUE o FALSE Para testing o ndices temporales Mantenidos en DML operations, no como los UNUSABLES Nueva columna VISIBILITY

Oracle 11g
Invisible indexes
Ejemplo
CREATE INDEX emp_ename ON emp(ename) TABLESPACE users STORAGE (INITIAL 20K NEXT 20k PCTINCREASE 75) INVISIBLE;

ALTER INDEX index_name [VISIBLE | INVISIBLE]

Oracle 11g
Sequences without Select
Antes Select secuencia.nextval Into variable From dual;

Ahora variable := secuencia.nextval;

10

Oracle 11g
Global ADDM en RAC
Antes : Slo vistas GV$

Ahora : Database ADDM

11

Oracle 11g
Global ADDM en RAC
Uso excesivo de Global Resources Hot Blocks

Database

Trfico Interconnect Latencias de red

Instance

12

Oracle 11g
Data Recovery Advisor
Herramienta automtica para deteccin de fallas , a nivel de bloques, prdida de dbf , por ejemplo Reparacin manual o a travs del Advisor
Repara bases de datos inactivas, montadas o abiertas Distintas interfaces de trabajo

13

Oracle 11g
Data Recovery Advisor
Arquitecturas soportadas : Slo single Database Arquitecturas No soportadas : RAC , ni reparaciones sobre la StandBy Interfaces : Recovery Manager , Grid Control , Database Control En RMAN : RMAN> list failure all;

14

Oracle 11g
Real Application Testing : Database Replay
Creacin de ambientes de Test muy muy similares a produccin.
Forma segura de validar , upgrades, parches, creacin de ndices. El problema mas recurrente es equiparar la carga de trabajo en test .

15

Oracle 11g
Real Application Testing : Database Replay

16

Oracle 11g
Partitioning
Reference Partitioning Transportable Tablespace Partitioning Virtual Columns Partitioning

17

Oracle 11g
Reference Partitioning
Problemas al particionar tablas por columnas que no existen Capacidad para particionar una tabla a travs de su llave fornea

18

Oracle 11g
Reference Partitioning
Ejemplo
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);

19

Oracle 11g
Virtual Columns Partitioning
Particionar una tabla mediante una columna calculada

Ejemplo :

create table sales ( sales_id number, cust_id number, sales_amt number, sale_category varchar2(6) generated always as Slo 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'))

20

Oracle 11g
Sensitive Password
Por defecto habilitado
Parmetro SEC_CASE_SENSITIVE_LOGIN El upgrade desde 10g,mantiene las password en 11g

El orapwd tambin permite password sensitive


DBA_USERS.PASSWORD_VERSIONS

21

Oracle 11g
Hot Patching
Permite instalar parches con la base arriba Con utilitario OPatch OPatch detecta conflictos entre patchset Disponible para ambientes en RAC Restricciones : Slo linux x86 y Solaris SPARC

22

Oracle 11g
AMM : Automatic Memory Management
En Oracle 10g : ASMM

En Oracle 11g : AMM

23

Oracle 11g
AMM : Automatic Memory Management

24

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 Definicin de la tabla en DBA_TAB_COLUMNS.DATA_DEFAULT

25

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_columns where table_name='EMPLOYEE' and column_name='CURR_RETIREMENT'; TABLE_NAME COLUMN_NAME DATA_DEFAULT ---------------- ------------------ -----------------------------EMPLOYEE CURR_RETIREMENT "SALARY"*.0005*"YEARS_OF_SERVICE"
26

Oracle 11g
TTE : Transparent Tablespace Encryption
TDE en Oracle 10g
TTE en Oracle 11g Encriptacin fsica Se debe tener Wallet Open Exp/Imp no soportado

27

Oracle 11g
TTE : Transparent Tablespace Encryption
Implementacin : a) Se crea el Wallet SQL> alter system set wallet open identified by wallet1";

b) En Oracle 10g se encripta la columna SQL> alter table ejemplo modify campo1 encrypt;
c) En Oracle 11g se crea un tablespace encriptado SQL> create tablespace EJEMPLO_TTE ENCRYPTION default storage (ENCRYPT) datafile ruta/datafile.dbf size XMB;

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

28

Oracle 11g
Recovery Manager
Data Recovery Advisor No slo respalda archives desde la FRA, sino tambin desde otras log_archive_dest_* (alternativas a posible corrupcin en la FRA) Nuevo formato de compresin : ZLIB (licenciado) en vez de BZIP2

29

Oracle 11g
Recovery Manager
Interfile Backup Parallelism Chequeo de consistencia Las polticas de retencin tambin son aplicadas a los log_archive_dest_* , no tan slo a la FRA Adis UNDO (Bypass the undo committed data) slo guarda pequeas cantidades de UNDO (backup optimization = ON)

30

Oracle 11g
Recovery Manager : Data Recovery Advisor
ERROR 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 List of Database Failures ========================= Failure ID Priority Status ---------- -------- --------196 HIGH OPEN file instead of recovery catalog

Time Detected Summary ------------- ------10-APR-09 One or more non-system datafiles are missing

31

Oracle 11g
Recovery Manager : Data Recovery Advisor
RMAN> 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

32

Oracle 11g
Recovery Manager : Data Recovery Advisor
RMAN> repair failure preview; Muestra pasos a seguir Restore, recover, etc RMAN> repair failure; Aplica pasos

33

Oracle 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

34

Oracle 11g
Recovery Manager : Chequeo Consistencia
RMAN> validate check logical datafile 2; Starting validate at 2008/11/10 09:52:36 using target database control file instead of recovery catalog channel ORA_DISK_1: starting validation of datafile channel ORA_DISK_1: specifying datafile(s) for validation input datafile file number=00002 name=/oradata/V11/sysaux01.dbf channel ORA_DISK_1: validation complete, elapsed time: 00:00:25 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- --------2 OK 0 28279 104896 2 885460 File Name: /oradata/V11/sysaux01.dbf Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------Data 0 21440

35

Oracle 11g
FDA : Flashback Data Archive
Flashback query en 9i sin UNDO no hay FlashBack Flashback version query en 10g sin UNDO no hay FlashBack Flashback Data Archive en 11g sin UNDO , hay FlashBack

36

Oracle 11g
FDA : Flashback Data Archive
Implementacin : a) Se crea usuario administrador con privilegios FLASBACK ARCHIVE ADMINISTER b) Se otorgan el privilegio flashback archive a un usuario c) Se crea rea de archive SQL> create flashback archive <nombre> tablespace <nombre_tbs> retention xxx year;
Mnima performance , mnimo storage (compress)

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

37

Oracle 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 informacin capturada , es dejada en las tablas pertinentes en el FDA

38

Oracle 11g
FTB : Flashback Transaction Backout
Permite devolver transacciones ya comiteadas y sus dependencias Mediante OEM DBMS_FLASHBACK. TRANSACTION_BACKOUT V$TRANSACTION

39

Oracle 11g
DDL Lock Timeout
Error recurrente al intentar modificar un objeto ORA-00054: resource busy Cmo saber cuando ejecutar el comando?

Parmetro DDL_LOCK_TIMEOUT de 1 a 1milln de segundos (11,5 horas)

40

Oracle 11g
New Alert Log
El archivo de alertas es escrito en formato XML Ubicacin : $ORACLE_HOME/diag/rdbms/<instancia>/<BD>/alert Se evitan los problemas de los grandes archivos de alertas pues se particiona el archivo de alertas Por compatibilidad tambin es escrito en txt Ubicacin : $ORACLE_HOME/diag/rdbms/<instancia>/<BD>/trace

41

Oracle 11g
New Alert Log
Lo 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 parmetro DIAGNOSTIC_DEST

ADR :Se puede consultar la vista V$DIAG_INFO

42

Oracle 11g
New Alert Log
Nombre Directorio
Todo dentro del valor del parmetro DIAGNOSTIC_DEST

Descripcin

diag rdbms <Nombre de la base de datos> <Nombre de la instancia> alert cdump hm incident trace
Trace de usuario y procesos background son almacenados ac al igual que el archivo de alertas en modo texto Archivo de alertas en formato XML Equivalente al core_dump_dest Para los trace del Health Monitor

43

Oracle 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 motor adrci> show homes Para visualizar el archivo de alertas de un home en particular adrci> set homepath diag/rdbms/PROD/PROD1 adrci> show alert adrci> show alert tail 50

44

Oracle 11g
Spfile and Memory values
Crear spfile desde pfile Crear pfile desde spfile

Crear spfile | pfile desde memoria

45

Oracle 11g
Add Column with default Values
En Oracle 10g, aadir una columna con default values podra demorar mucho y utilizara demasiados recursos
En Oracle 11g, aadir una columna con default values es instantneo y slo le asigna el default, cuando se consulta el registro

46

Oracle 11g
Tables Read Only
En Oracle10g, se emula el READ ONLY revocando el SELECT
En Oracle11g, simplemente se ejecuta SQL> ALTER TABLE <tabla> READ ONLY;

Visualizado en *_TABLE.READ_ONLY

47

Oracle 11g
Dataguard
Compresin de los archive logs, envados a la StandBy Consultas en la StandBy al mismo tiempo que se aplican los archives Snapshots Database

48

Oracle 11g
Space Management Coordinator
Nuevo proceso Background Autoextensiones a nivel de Tablespace Solicita el espacio a nivel de segmentos temporales

49

Oracle 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

50

Oracle 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;

51

Oracle 11g
Rebuild online Index
En Oracle 10g , las DML no se vean afectadas En Oracle 11g , las DML tampoco se ven afectadas En qu se diferencian?

52

Oracle 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
53

Oracle 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 ?
54

Preguntas

55

Muchas gracias!!! Nos vemos en Oracle 12g


56