os melhores recursos novos do oracle database 12c para desenvolvedores e dbas [usr12010]
TRANSCRIPT
![Page 1: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/1.jpg)
Oracle Database 12c
Novas Características para DBAs e Desenvolvedores
Presented by:
Alex Zaballa, Oracle DBA
![Page 2: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/2.jpg)
Alex Zaballa
http://alexzaballa.blogspot.com/
@alexzaballa205 and counting…https://www.linkedin.com/in/alexzaballa
![Page 3: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/3.jpg)
Worked for 7 years in Brazil as an Oracle Developer.2000 - 2007
Worked for 8 years in Angola as an Oracle DBAfor the Ministry of Finance.2007 - 2015
![Page 4: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/4.jpg)
![Page 5: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/5.jpg)
![Page 6: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/6.jpg)
Oracle Database 12c
Novas Características para DBAs e Desenvolvedores
![Page 7: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/7.jpg)
Documentação Oficial - 12.1.0.2
• http://docs.oracle.com/database/121/NEWFT/chapter12102.htm
Oracle Learning Library (OLL)
• https://apexapps.oracle.com/pls/apex/f?p=44785:1:0
![Page 8: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/8.jpg)
Artigos – 12c
• https://oracle-base.com/articles/12c/articles-12c
• http://www.oracle.com/technetwork/pt/articles/index.html
• http://profissionaloracle.com.br
![Page 9: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/9.jpg)
“With more than 500 new features, Oracle Database 12c is designed to give Oracle customers exactly what they’ve told us they need for cloud computing, big data, security, and availability.”
![Page 10: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/10.jpg)
Oracle Announces Beta Availability of Oracle Database 12c Release 2 - Oct 26, 2015
• PLUGGABLE DATABASES From 252 to 4096
• HOT CLONING Don’t need to put the source in read-only for cloning
• SHARDING It’s like partitioning in a shared nothing database
The data is split into multiple databases
• In-Memory In-Memory column Store on Active Data Guard
Heat Map
• APPLICATION CONTAINER Pluggable Databases will share application objects
• More isolation, resource manager will limit the memory in addition to CPU and I/O.• AWR will work on Active Data Guard Database: you can tune your reporting database
![Page 11: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/11.jpg)
Availability of Oracle Database 12.2
Source: https://blogs.oracle.com/UPGRADE/entry/oracle_database_12_2_just
![Page 12: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/12.jpg)
Oracle Database Release StatusMOS Note:742060.1
![Page 13: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/13.jpg)
SQLcl
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
![Page 14: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/14.jpg)
Devo migrar para 12.1.0.2 ou aguardar a 12.2 ?
CDB ou NON-CDB?
![Page 15: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/15.jpg)
Multitenant
![Page 16: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/16.jpg)
Fonte: Oracle Documentation
![Page 17: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/17.jpg)
Multitenant
Fonte: https://blogs.oracle.com/UPGRADE/entry/non_cdb_architecture_of_oracle
![Page 18: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/18.jpg)
Multitenant
Fonte: https://blogs.oracle.com/UPGRADE/entry/non_cdb_architecture_of_oracle
![Page 19: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/19.jpg)
Multitenant
Fonte: https://blogs.oracle.com/UPGRADE/entry/non_cdb_architecture_of_oracle
![Page 20: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/20.jpg)
In-Memory
Fonte: Oracle Documentation
![Page 21: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/21.jpg)
SIMD Vector Processing
Fonte: http://www.oracle.com/technetwork/database/in-memory/overview/twp-oracle-database-in-memory-2245633.html
![Page 22: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/22.jpg)
In-Memory
In-Memory Area – Pool estático que faz parte da SGA
![Page 23: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/23.jpg)
In-Memory
Fonte: OracleBase.com
![Page 24: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/24.jpg)
In-MemoryAlter table hr.EMPLOYEES inmemory;
ALTER TABLE sales MODIFY PARTITION SALES_Q1_1998 NO INMEMORY;
ALTER TABLE sales INMEMORY NO INMEMORY(prod_id);
CREATE TABLESPACE tbs_test DATAFILE '+DG01 SIZE 100M DEFAULT INMEMORY;
![Page 25: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/25.jpg)
In-Memory
Fonte: http://www.oracle.com/technetwork/database/in-memory/overview/twp-oracle-database-in-memory-2245633.html
![Page 26: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/26.jpg)
insert /*+ append parallel */ into tab1 select /*+ parallel */ * from tab2 nologging;15 minutes to complete.
create table tab1 as select /*+ parallel */ * from tab2 nologging;2 minutes to complete.
Parallel
![Page 27: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/27.jpg)
Parallel
Source: https://docs.oracle.com/database/121/VLDBG/GUID-5EB01FA8-030B-45BB-9B16-2D13881F6010.htm
![Page 28: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/28.jpg)
Parallel
![Page 29: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/29.jpg)
JSONArtigo no OTN:
http://www.oracle.com/technetwork/pt/articles/sql/json-oracle-database-12c-2378776-ptb.html
![Page 30: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/30.jpg)
JSON• No Oracle Database 12c (12.1.0.2), foi
adicionado o suporte nativo ao JavaScript Object Notation (JSON).
• O JSON é um formato leve para intercâmbio de dados que é relativamente fácil para o ser humano ler e escrever, além de ser fácil para os softwares analisarem e gerarem.
![Page 31: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/31.jpg)
JSON
![Page 32: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/32.jpg)
JSON
![Page 33: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/33.jpg)
DEMO
![Page 34: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/34.jpg)
Data RedactionArtigo no OTN:
http://www.oracle.com/technetwork/pt/articles/idm/funcionalidade-data-redaction-12c-2209076-ptb.html
![Page 35: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/35.jpg)
Data Redaction
• One of the new features introduced in Oracle Database 12c
• Part of the Advanced Security option• Enables the protection of data shown to the
user in real time, without requiring changes to the application
![Page 36: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/36.jpg)
Data Redaction
![Page 37: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/37.jpg)
Data Redaction
![Page 38: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/38.jpg)
DEMO
![Page 39: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/39.jpg)
SQL Query Row Limits and Offsets
![Page 40: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/40.jpg)
SQL Query Row Limits and Offsetscreate table tabela_teste (codigo number, nome varchar2(20), salario number); insert into tabela_teste values (1,'Alex' ,100);insert into tabela_teste values (2,'Joao' ,200);insert into tabela_teste values (3,'Maria' ,300);insert into tabela_teste values (4,'Pedro',400);insert into tabela_teste values (5,'Paulo',500);insert into tabela_teste values (6,'Fernando',600);insert into tabela_teste values (7,'Rafael',700);insert into tabela_teste values (8,'Samuel',700);insert into tabela_teste values (9,'Daniel',800);insert into tabela_teste values (10,'Luciano',1000);
![Page 41: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/41.jpg)
SQL Query Row Limits and OffsetsTop-N Queries – Pré 12c
select * from ( select codigo, nome, salario from tabela_teste order by salario desc)where rownum <= 5
![Page 42: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/42.jpg)
SQL Query Row Limits and Offsetsselect codigo, nome, salario from tabela_testeorder by salario descFETCH FIRST 5 ROWS ONLY
![Page 43: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/43.jpg)
SQL Query Row Limits and Offsetsselect codigo, nome, salario from tabela_testeorder by salario FETCH FIRST 30 PERCENT ROWS ONLY
![Page 44: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/44.jpg)
SQL Query Row Limits and Offsetsselect codigo, nome, salario from tabela_testeorder by salario desc OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY;
![Page 45: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/45.jpg)
DEMO
![Page 46: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/46.jpg)
Invisible ColumnsCREATE TABLE tabela_teste( coluna1 NUMBER, coluna2 NUMBER, coluna3 NUMBER INVISIBLE, coluna4 NUMBER);
SQL> desc tabela_testeName ----------------------------------------- COLUNA1 NUMBERCOLUNA2 NUMBERCOLUNA4 NUMBER
![Page 47: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/47.jpg)
Invisible Columns
INSERT INTO tabela_teste (coluna1,coluna2,coluna3,coluna4) VALUES (1,2,3,4);
INSERT INTO tabela_teste VALUES (1,2,4);
![Page 48: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/48.jpg)
Invisible ColumnsSET COLINVISIBLE ON
SQL> desc tabela_testeName ----------------------------------------- COLUNA1 NUMBERCOLUNA2 NUMBERCOLUNA4 NUMBERCOLUNA3 (INVISIBLE) NUMBER
![Page 49: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/49.jpg)
Invisible Columns
ALTER TABLE tabela_teste MODIFY coluna3 VISIBLE;
![Page 50: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/50.jpg)
DEMO
![Page 51: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/51.jpg)
SQL Text Expansion
SQL> variable retorno clobSQL> begin dbms_utility.expand_sql_text( input_sql_text => 'select * from emp', output_sql_text=> :retorno );end;
![Page 52: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/52.jpg)
SQL Text Expansion
• Views• VPDs
![Page 53: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/53.jpg)
DEMO
![Page 54: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/54.jpg)
PL/SQL From SQLwith function Is_Number (x in varchar2) return varchar2 is Plsql_Num_Error exception; pragma exception_init(Plsql_Num_Error, -06502); begin if (To_Number(x) is NOT null) then return 'Y'; else return ''; end if; exception when Plsql_Num_Error then return 'N'; end Is_Number;select rownum, x, is_number(x) is_num from t;
![Page 55: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/55.jpg)
DEMO
![Page 56: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/56.jpg)
Session Level SequencesSession level sequences são utilizadas para produzir valores únicos dentro de uma sessão. Assim que a sessão termina, a sequence é reinicializada. Elas são muito utilizadas para gerar valores de Primary Keys em Global Temporary Tables.
![Page 57: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/57.jpg)
Session Level Sequences
CREATE SEQUENCE sequence_teste START WITH 1 INCREMENT BY 1 SESSION/
![Page 58: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/58.jpg)
Session Level Sequences
ALTER SEQUENCE sequence_testeSESSION;
ALTER SEQUENCE sequence_testeGLOBAL;
![Page 59: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/59.jpg)
DEMO
![Page 60: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/60.jpg)
Extended Data Types
SQL> create table tabela_teste(campo01 varchar2(4001));*ERROR at line 1:ORA-00910: specified length too long for its datatype
![Page 61: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/61.jpg)
Extended Data Types
- VARCHAR2 : 32767 bytes- NVARCHAR2 : 32767 bytes- RAW : 32767 bytes
![Page 62: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/62.jpg)
Extended Data TypesSHUTDOWN IMMEDIATE;STARTUP UPGRADE;ALTER SYSTEM SET max_string_size=extended;@?/rdbms/admin/utl32k.sqlSHUTDOWN IMMEDIATE;STARTUP;
**Após aumentar o tamanho máximo dos tipos de dados, não é possível desfazer esta alteração.
![Page 63: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/63.jpg)
DEMO
![Page 64: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/64.jpg)
Multiple Indexes on the same set of Columns
Pré 12c:
ORA-01408: such column list already indexed error.
![Page 65: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/65.jpg)
Multiple Indexes on the same set of Columns
No 12c é possível ter vários índices em uma mesma coluna ou lista de colunas. A criação de um índice sobre uma coluna ou lista de colunas que já foram indexadas é simples e você tem que garantir que apenas um índice será visível.
![Page 66: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/66.jpg)
Multiple Indexes on the same set of Columns
• Unique versus nonunique
• B-tree versus bitmap
• Different partitioning strategies
![Page 67: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/67.jpg)
DEMO
![Page 68: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/68.jpg)
READ Object Privilege and READ ANY TABLE System Privilege
Qual a diferença para SELECT e SELECT ANY TABLE?
![Page 69: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/69.jpg)
READ Object Privilege and READ ANY TABLE System Privilege
O privilégio de objeto SELECT e o privilégio de sistema SELECT ANY TABLE permitem bloquear as linhas de uma tabela através da execução das seguintes operações:
LOCK TABLE table_name IN EXCLUSIVE MODE;SELECT ... FROM table_name FOR UPDATE;
![Page 70: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/70.jpg)
READ Object Privilege and READ ANY TABLE System Privilege
SQL> grant select on scott.emp to teste;Grant succeeded.
SQL> lock table scott.emp in exclusive mode;Table(s) Locked.
![Page 71: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/71.jpg)
READ Object Privilege and READ ANY TABLE System Privilege
SQL> grant read on scott.emp to teste;Grant succeeded.
SQL> lock table scott.emp in exclusive mode;lock table scott.emp in exclusive mode *ERROR at line 1:ORA-01031: insufficient privileges
![Page 72: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/72.jpg)
DEMO
![Page 73: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/73.jpg)
Session private statistics for Global Temporary Tables
Até o 12c, as estatísticas para tabelas temporárias globais (GTTs) eram comuns para todas as sessões.
![Page 74: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/74.jpg)
Session private statistics for Global Temporary Tables
SELECT DBMS_STATS.get_prefs('GLOBAL_TEMP_TABLE_STATS') Stats FROM dual;
STATS------------------------------------------------------------------------------SESSION
![Page 75: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/75.jpg)
Session private statistics for Global Temporary Tables
BEGIN DBMS_STATS.set_global_prefs ( pname => 'GLOBAL_TEMP_TABLE_STATS', pvalue => 'SHARED');END;/
BEGIN DBMS_STATS.set_global_prefs ( pname => 'GLOBAL_TEMP_TABLE_STATS', pvalue => 'SESSION');END;/
![Page 76: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/76.jpg)
Session private statistics for Global Temporary Tables
BEGIN dbms_stats.set_table_prefs('SCOTT','GTT_TESTE','GLOBAL_TEMP_TABLE_STATS','SHARED');END;
BEGIN dbms_stats.set_table_prefs('SCOTT','GTT_TESTE','GLOBAL_TEMP_TABLE_STATS','SESSION');END;
![Page 77: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/77.jpg)
DEMO
![Page 78: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/78.jpg)
Temporary UndoUma Global Temporary Table armazena seus dados em uma temporary tablespace e estes dados são mantidos durante a transação ou durante toda a sessão (ON COMMIT DELETE ROWS ou ON COMMIT PRESERVE ROWS).
Instruções DML em Global Temporary Tables não geram REDO, devido ao fato destes dados estarem armazenados em uma temporary tablespace, mas geram UNDO e isto sim implicará na geração de REDO.
![Page 79: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/79.jpg)
Temporary Undo
alter session set temp_undo_enabled=true;
**pode ser alterado a nível de banco de dados ou de sessão.
![Page 80: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/80.jpg)
DEMO
![Page 81: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/81.jpg)
Statistics During LoadsO banco de dados irá coletar estatísticas automaticamente das tabelas durante os seguintes tipos de operações bulk load: - CREATE TABLE AS SELECT - INSERT INTO ... SELECT into an empty table using a direct path insert
![Page 82: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/82.jpg)
DEMO
![Page 83: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/83.jpg)
Partial Indexes for Partitioned Table
• Você pode criar os índices (globais ou locais) para partições ou sub-partições específicas, isto é, os índices serão criados apenas para partições/sub-partições que você deseja.
• Este recurso não é suportado para índices únicos, ou seja, para índices utilizados para impor restrições exclusivas.
![Page 84: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/84.jpg)
Partial Indexes for Partitioned Table
![Page 85: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/85.jpg)
DEMO
![Page 86: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/86.jpg)
SQL*Loader Express• No modo express, não é necessário criar o
arquivo de controle.
• O objetivo principal é salvar tempo e diminuir o esforço.
• O express mode pode ser utilizado quando todas as colunas são do tipo character, number ou datetime
![Page 87: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/87.jpg)
SQL*Loader Express[oracle@oracle01 tmp]$ cat EMPRESA.dat 1,Empresa 12,Empresa 23,Empresa 34,Empresa 45,Empresa 56,Empresa 67,Empresa 78,Empresa 89,Empresa 9
![Page 88: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/88.jpg)
SQL*Loader Express[oracle@oracle01 tmp]$ sqlldr teste/teste TABLE=EMPRESASQL*Loader: Release 12.1.0.1.0 - Production on Sat Jan 11 12:16:28 2014Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.Express Mode Load, Table: EMPRESAPath used: External Table, DEGREE_OF_PARALLELISM=AUTO
Table EMPRESA: 9 Rows successfully loaded.
Check the log files: EMPRESA.log EMPRESA_%p.log_xtfor more information about the load.
![Page 89: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/89.jpg)
DEMO
![Page 90: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/90.jpg)
Truncate Cascade
SQL> truncate table scott.dept;truncate table scott.dept *ERROR at line 1:ORA-02266: unique/primary keys in table referenced by enabled foreign keys
![Page 91: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/91.jpg)
Truncate Cascade
SQL> truncate table scott.dept cascade;Table truncated.
A constraint deve ser do tipo ON DELETE CASCADE.
![Page 92: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/92.jpg)
DEMO
![Page 93: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/93.jpg)
Limit the PGASQL> show parameter pga NAME TYPE VALUE-------------------------- ------------- ----------------------pga_aggregate_limit big integer 2G
![Page 94: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/94.jpg)
Limit the PGAPGA_AGGREGATE_LIMIT é setado como default para o maior valor entre: - 2 GB (valor default)- 200% do valor do parâmetro PGA_AGGREGATE_TARGET- 3 MB multiplicado pelo valor do parâmetro PROCESSES
![Page 95: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/95.jpg)
Full Database CachingEste novo recurso permite armazenar todos os segmentos do banco de dados em memória (quando os segmentos forem acessados).
![Page 96: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/96.jpg)
DEMO
![Page 97: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/97.jpg)
Recuperando Tabelas com o RMAN• Utilizado para recuperação de tabelas/partições
de um backup realizado pelo RMAN. • Este comando, diminui o tempo e a complexidade
da restauração, permitindo a recuperação “point-in-time” apenas da tabela/partição, ao invés de toda tablespace como era nas versões anteriores.
• É muito útil quando não temos informações suficientes no UNDO para utilizar o Flashback Table.
![Page 98: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/98.jpg)
Recuperando Tabelas com o RMAN
RMAN> RECOVER TABLE HR.REGIONS UNTIL TIME "TO_DATE('01/10/2013 09:33:39','DD/MM/RRRR HH24:MI:SS')"AUXILIARY DESTINATION '/tmp/backups'
![Page 99: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/99.jpg)
DEMO
![Page 100: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/100.jpg)
In-Database Archiving
SQL> create table tabela_teste(coluna1 number) row archival;
insert into tabela_teste values(1);insert into tabela_teste values(2);insert into tabela_teste values(3);
![Page 101: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/101.jpg)
In-Database Archiving
![Page 102: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/102.jpg)
In-Database Archivingupdate tabela_teste set ora_archive_state=DBMS_ILM.ARCHIVESTATENAME(1) where coluna1=3;
![Page 103: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/103.jpg)
In-Database Archivingalter session set row archival visibility=all;
![Page 104: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/104.jpg)
DEMO
![Page 105: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/105.jpg)
Heat Map, Automatic Data Optimization and ILM
OTN - Artigo do Alex Zaballa e Daniel Da Meda
http://www.oracle.com/technetwork/pt/articles/database-performance/ilm-e-automatic-data-optimization-2601873-ptb.html
![Page 106: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/106.jpg)
Heat Map, Automatic Data Optimization and ILM
• Heat Map: Oracle Database 12c feature that stores system-generated data usage statistics at the block and segment levels. Automatically tracks modification and query timestamps at the row and segment levels.
• Automatic Data Optimization (ADO): automatically moves and compresses data according to user-defined policies based on the information collected by Heat Map
• ILM: Heat Map and Automatic Data Optimization make Oracle Database 12c ideal for implementing ILM
![Page 107: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/107.jpg)
Heat Map, Automatic Data Optimization and ILM
Habilitando o Heat Map
SQL> alter system set heat_map = on;
![Page 108: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/108.jpg)
Heat Map, Automatic Data Optimization and ILM
As estatísticas de Heat Map visualizadas graficamente através do EM Cloud Control:
![Page 109: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/109.jpg)
Heat Map, Automatic Data Optimization and ILM
Criando políticas ADO
Comprimir a tablespace USER_DATA e todos os seus segmentos utilizando compressão OLTP após 30 dias de baixo acesso:
ALTER TABLESPACE USER_DATA ILM ADD POLICYROW STORE COMPRESS ADVANCEDSEGMENT AFTER 30 DAYS OF LOW ACCESS;
![Page 110: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/110.jpg)
Heat Map, Automatic Data Optimization and ILM
Criando políticas ADO
Comprimir a tabela ORDER_ITEMS utilizando compressão OLTP após 90 dias sem modificações.
ALTER TABLE ORDER_ITEMS ILM ADD POLICYROW STORE COMPRESS ADVANCEDGROUP AFTER 90 DAYS OF NO MODIFICATION;
![Page 111: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/111.jpg)
DEMO
![Page 112: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/112.jpg)
DDL LOGGING
![Page 113: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/113.jpg)
DDL LOGGING/u01/app/oracle/diag/rdbms/orcl/orcl/log/ddl/log.xml
![Page 114: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/114.jpg)
DEMO
![Page 115: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/115.jpg)
Direct SQL statement execution in RMAN
Pré 12c:RMAN> SQL ‘SELECT sysdate FROM dual’;
12c:RMAN> SELECT sysdate FROM dual;
![Page 116: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/116.jpg)
DEMO
![Page 117: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/117.jpg)
Identity ColumnsCREATE TABLE tabela_teste ( id NUMBER GENERATED ALWAYS AS IDENTITY, coluna1 VARCHAR2(30));
![Page 118: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/118.jpg)
Identity ColumnsCREATE TABLE tabela_teste ( id NUMBER GENERATED BY DEFAULT AS IDENTITY, coluna1 VARCHAR2(30));
![Page 119: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/119.jpg)
Identity ColumnsCREATE TABLE tabela_teste ( id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY, coluna1 VARCHAR2(30));
![Page 120: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/120.jpg)
DEMO
![Page 121: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/121.jpg)
![Page 122: Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs [USR12010]](https://reader035.vdocuments.us/reader035/viewer/2022070603/5872e7101a28abfa548b62f5/html5/thumbnails/122.jpg)
Obrigado
Slides disponíveis no