Sunteți pe pagina 1din 21

Funcionalitati noi pentru programatori in Oracle Database 12c

Prezentat de catre Antici Aurel

Martie 2014

$> whoami
o Antici Aurel DBA la Asseco SEE Romania o Experienta cu produse Oracle de 6 ani o Oracle Database 11g Administrator Certified Professional, Oracle Database 11g Performance Tuning Certified Expert, Oracle Database SQL Certified Expert o Membru Romanian Oracle User Group

Martie 2014

Obiective
Cunoasteresea noilor caracteristici orietante catre dezvoltatori Imbunatatirea functionalitatilor existente in Oracle 12c

Martie 2014

Oracle 12c
Oracle Database 12c prezint o arhitectur nou, cu mai multe entiti gzduite, care permite implementarea i gestionarea uoar a bazelor de date n mediul cloud Inovaiile precum Oracle Multitenant ofer o arhitectur nou de consolidare a bazelor de date n mediile cloud i permite gestionarea concomitent mai multor baze de date, fr modificarea aplicaiilor Imbunatatiri de performanta: Planuri de execuie adaptive, statistici imbunatatite si histograme noi

Martie 2014

Pe agenda
o Imbunatatiri la nivel de SELECT: top-n si outer join o PL/SQL in clauza WITH o Operatii DML online o Truncate cascade o Imbunatatiri la nivelul definitiei tabelelor

Martie 2014

mbuntiri ale clauzei WITH


Exemplu: WITH
FUNCTION commission(sal number) RETURN number IS BEGIN return sal * 1.1; END; SELECT ename, sal, commission(sal) FROM emp;

Martie 2014

Valorile implicite pentru coloane bazate pe secvene Oracle


Valorile implicite pentru coloane se pot referi direct la secvene Oracle. Valorile valide sunt sequence.CURRVAL i sequence.NEXTVAL.
Exemplu: Create table my_table ( id number default my_sequence.nextval primary key );

Martie 2014

Coloane IDENTITY
Putem defini coloane cu identificatorul IDENTITY care este cuvint cheie SQL American National Standards Institute (ANSI). Acest lucru ofer o abordare bazat pe standarde pentru a declara coloane cu incrementarea n mod automat iar n final va duce la simplificarea dezvoltrilor de aplicaii i face migrarea instruciunilor DDL mult mai simpl. Exemplu: create table my_table ( id number generated as identity );
Martie 2014 8

Creterea limitei de dimensiune pentru VARCHAR2, NVARCHAR2 i tipuri de date RAW


Lungimea tipurile de date VARCHAR2, NVARCHAR2 i RAW a fost extins de la 4000 la 32767 bytes. Deci, tipul LOB este mai puin necesar iar acest lucru ar putea avea un impact semnificativ asupra utilizarea memoriei i discului bazei de date.

Martie 2014

Coloane invizibile
O coloan definit ca invizibil nu va aprea n interogri generice (select * from), trebuie s fie menionat n mod explicit n declaraia SQL sau n clauza WHERE i s fie menionat explicit n declaraia INSERT pentru a introduce date. Exemplu: create table users ( id number, name varchar2(100), email varchar2(255), password varchar2(100) INVISIBLE ); SQL>desc users Name Null? Type ------------ ------------- ------------------------ID NUMBER NAME VARCHAR2(100) EMAIL VARCHAR2(255)

Martie 2014

10

Indeci multipli pe aceleai coloane


nainte de Oracle Database 12c, nu am fi putut avea mai multi indeci pe o singur coloan. n Oracle Database 12c o coloan poate avea mai multi indeci cat timp are caracteristici diferite. Caracteristicile de calificare sunt: B-tree versus bitmap Strategii diferite de partiionare Unique versus nonunique

Martie 2014

11

Cascade pentru TRUNCATE i EXCHANGE partition


TRUNCATE (sau EXCHANGE partition) poate fi executat cu opiunea CASCADE, iar n acest caz va terge nregistrrile copil. Exemplu: TRUNCATE TABLE my_table CASCADE;

Martie 2014

12

Suport SQL nativ pentru limitarea interogrilor


Clauzele FETCH FIRST i OFFSET ofer suport nativ limbajului SQL pentru a limita numrul de rnduri returnate i pentru a specifica un rnd de pornire pentru setul de retur. Numeroase interogri au nevoie de limitarea numrul de rnduri returnate, o interogare TopN este utilizat pentru a prelua partea de sus sau de jos N rnduri de la un set ordonat. FETCH FIRST i OFFSET simplifica sintaxa n conformitate cu standardul ANSI SQL. Exemplu: SELECT ename, sal FROM emp ORDER BY sal DESC FETCH FIRST 5 ROWS ONLY;
Martie 2014 13

Redenumirea/mutarea online a fiierelor de date


Oracle Database 12c ofer un mod simplu on-line pentru redenumirea sau mutarea fiierelor de date folosind comanda ALTER DATABASE MOVE DATAFILE. Fiierele de date pot fi migrate on-line de la ASM la NON-ASM i NONASM pentru ASM.
Exemplu: Redenumire datafile: SQL> ALTER DATABASE MOVE DATAFILE '/u01/oradata/indx.dbf' TO '/u01/oradata/indx_01.dbf'; Mutare Datafile: SQL> ALTER DATABASE MOVE DATAFILE '/u01/oradata/indx.dbf' TO '/u01/oradata/orcl/indx.dbf'; NON-ASM to ASM: SQL> ALTER DATABASE MOVE DATAFILE '/u01/oradata/indx.dbf' TO '+DISKGROUP_DATA01';

Martie 2014

14

Mutare online a tabelelor partiionate ctre alt tablespace


Operaiunea a devenit mai uoar fr s necesite msuri complexe. Exemplu: SQL> ALTER TABLE MY_LARGE_TABLE MOVE PARTITION MY_LARGE_TABLE_PART1 TO TABLESPACE USERS_NEW;

Martie 2014

15

UNDO temporar
nainte de Oracle Database 12c, nregistrrile UNDO ale tabelelor temporare erau stocate n tablespaceul UNDO. Cu optiunea UNDO temporar din Oracle Database 12c, nregistrrile undo ale tabelelor temporare pot fi stocate ntr-o alt tabel temporar. Principalele beneficii sunt: utilizarea redusa a tablespace-ului UNDO mai puine date redo generate. Pentru a utiliza acest parametru compatibilitatea trebuie s fie setat la 12.0.0 sau mai mare i parametru TEMP_UNDO_ENABLED trebuie s fie ENABLED.

Martie 2014

16

Auditarea DDL
Prin utilizarea parametrul ENABLE_DDL_LOGGING din Oracle Database 12c, se poate audita aciunea DDL n fiiere XML i fiiere jurnal pentru a capta cazurile n care a fost folosita comanda create sau drop. Parametrul poate fi setat la nivelul bazei de date sau al sesiunii.
SQL> ALTER SYSTEM SET ENABLE_DDL_LOGGING=TRUE;

Martie 2014

17

Parametrul PGA_AGGREGATE_LIMIT
nainte de Oracle Database 12c nu a existat nici o opiune pentru a limita i a controla dimensiunea PGA. Acum prin folosirea parametrului PGA_AGGREGATE_LIMIT Oracle va abandona n mod automat sesiunea care deine memoria PGA atunci cnd limita de PGA depete valoarea definit.

Martie 2014

18

Sintaxa SQL n RMAN


De la Oracle Database 12c, putem executa orice instruciune SQL i PL / SQL n RMAN fr prefixul SQL.

Martie 2014

19

Oprirea logurilor redo pentru import DATA PUMP


Opiunea TRANSFORM, DISABLE_ARCHIVE_LOGGING, din comanda impdp determina Oracle DATA PUMP sa dezactiveze nregistrarile logurilor redo atunci cnd se ncrca datele n tabele i la crearea indecsilor. Aceast caracteristic ofer o mare uurare atunci cnd se import multe date i reduce generarea excesiva a logurilor redo , ceea ce duce la un import mai rapid. Acest atribut se aplic la tabele i indeci.
Exemplu: impdp directory=mydir dumpfile=mydmp.dmp logfile=mydmp.log TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y

Martie 2014

20

Feedback

Martie 2014

21

S-ar putea să vă placă și