Sunteți pe pagina 1din 5

Functionalitati noi pentru programatori in Oracle 12c

INFORMATII DOCUMENT

Data Versiunea Pagini Activitate Autor Verificat

29 ianuarie 2014 1.0 5 Redactare Antici Aurel

1. mbuntiri ale clauzei WITH

n Oracle 12c, este posibil s se utilizeze o funcie PL / SQL ntr-o clauza WITH

Exemplu:

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

2. 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
);

3. 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.
2
Autor: Antici Aurel
Exemplu:

create table my_table


(
id number generated as identity
);

4. 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.

5. 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)

6. 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

3
Autor: Antici Aurel
7. 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;

8. 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 Top-N


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;

9. 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 NON-ASM 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';

10. Mutare online a tabelelor partiionate ctre alt tablespace

Operaiunea a devenit mai uoar fr s necesite msuri complexe.

Exemplu:

4
Autor: Antici Aurel
SQL> ALTER TABLE MY_LARGE_TABLE MOVE PARTITION MY_LARGE_TABLE_PART1 TO
TABLESPACE USERS_NEW;

11. UNDO temporar

nainte de Oracle Database 12c, nregistrrile UNDO ale tabelelor temporare erau stocate n
tablespace-ul 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.

12. 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;

13. 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.

14. Sintaxa SQL n RMAN

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

15. 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

5
Autor: Antici Aurel

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