SQL SERVER E ORACLE: SEMELHANÇAS E DIFERENÇAS PARA O DBA
Marcelo Gonçalves [email protected]
ORGANIZAÇÃO
APOIADORES
SQL SOLIDÁRIO
• https://flaviofarias.wordpress.com/2016/08/13/sql-solidrio/
PRÓXIMOS EVENTOS
08/10 26/11
STAY INVOLVED !
• Sign up for a free membership today at sqlpass.org.
• Linked In: http://www.sqlpass.org/linkedin
• Facebook: http://www.sqlpass.org/facebook
• Twitter: @SQLPASS
• PASS: http://www.sqlpass.org
• Team leader e especialista SQL SERVER na TIVIT
• MCT – cursos SQL SERVER – Ka Solution e BFBiz
• MCP e OCP
• www.dbbits.com.br
• www.dataside.com.br
• DBA há 12 anos
SP_HELP DBA
Marcelo.Adade
@marceloadade
https://br.linkedin.com/in/marcelo.adade
http://www.youtube.com/user/dbbits1
• Team leader e especialista SQL SERVER na TIVIT
• MCT – cursos SQL SERVER – Ka Solution e BFBiz
• MCP e OCP
• www.dbbits.com.br
• www.dataside.com.br
• DBA há 12 anos
SP_HELP DBA
Marcelo.Adade
@marceloadade
https://br.linkedin.com/in/marcelo.adade
http://www.youtube.com/user/dbbits1
1. Motivação
2. Arquitetura Básica
3. Administração
4. Coisas que gostaríamos que cada um tivesse
5. Onde aprender
6. Investimento
AGENDA – UM COMPARATIVO RÁPIDO!
Gartner, 2014
MOTIVAÇÃO 1
Gartner, 2015
MOTIVAÇÃO 2
MOTIVAÇÃO 2
MOTIVAÇÃO - 3
16 |
HISTÓRICO
17 |
Version Release Year1.0 19891.1 19914.2 1992
4.21 19946.0 19956.5 19967.0 1998
2000 20002005 20052008 2008
2008 R2 20102012 20122014 2014
SQL Server Version Release Year
2.0 19793.0 19834.0 19845.0 19856.0 19887.0 19928.0 1997
8i 19989i 2001
10g 200311g 200712c 2012
Oracle Versions
RDBMS - ARQUITETURA GENÉRICA
18 |
PC
Server Storage
Instance DatabaseClient
Memory Process
ProcessProcessProcess
CPUCPU Temp Log
Control
System
DataData Data
SISTEMAS OPERACIONAIS SUPORTADOS
19 |
ORACLE -> Linux (Oracle e Red Hat), compatível com praticamente todos os sistemas Operacionais;SQL SERVER -> Windows (integração mais otimizada)....em breve.... Em Linux também! Para saber mais: https://www.microsoft.com/en/server-cloud/sql-server-on-linux.aspx
INSTÂNCIA ORACLE X SQL SERVER
20 |
DatabaseSchema
Object
Object
Object
SchemaObje
ctObje
ctObje
ct
SchemaObje
ctObje
ctObje
ctSchema
Object
Object
Object
InstanceHost machine
Instance
DatabaseSchema
Object
Object
Object
SchemaObje
ctObje
ctObje
ct
InstanceHost machine
Instance
DatabaseSchema
Object
Object
Object
SchemaObje
ctObje
ctObje
ct
Oracle 12c SQL Server 2014
ARQUITETURA ORACLE
21 |
• SGA• PGA• Background
processes• Pfile, Spfile• Control Files• Redo log files• Data files• Listener
MULTITENANT ORACLE
22 |
ARQUITETURA ORACLE – SIMPLIFICANDO...
23 |
Users
Userprocess
Userprocess
Userprocess
ProcessmonitorSystemmonitor
JobqueueQueue
monitorEvent
monitor
Recoverer
Trace writer
Dispatcher
Shared server
Dedicated server
Checkpoint
Redolog
buffer
SGAInstance
Automatic storage management
Database
Data files Archive log files
Control files
Redo log files
Response
queue
Requestqueue
Database writer Log writer
Archiver
Database
buffercache
Client
Client
Client
ARQUITETURA SQL SERVER SIMPLIFICADA
24 |
Users
Userprocess
Userprocess
Userprocess
Relationalengine
Memorypool
Database buffercache
SQLOS
ODBC Storageengine
LogcacheOpen
dataservice
s
Databasecleanup
Workerthread
Logwriter
Lazy writer
Workerthread
Databaseshrinking Data
files
Log files
Client
Client
Client
ESTRUTURAS DE MEMÓRIA
25 |
Buffer cache Shared pool
Buffer cacheColumnstore cache
Procedure cache
Redo buffers
Fixed SGA
Largepool
Streams
pool
Java pool
Log cache
System structure
s
Connection
context
CLR hostinglayer
Oracle System Global Area (SGA)
SQL Server memory pool
ESTRUTURAS DE ARMAZENAMENTO
26 |
Data file
Tablespace
Data file Data file Data file Data file
Temporary tablespace groups
Tablespace
Segment
ExtentExtentExtentExtent
Segment
Extent Extent Extent
Heap/Index (hobt) Heap/IndexFilegroup Filegroup
Físico
Lógico
Oracle SQL ServerBlocksBlocksBlocksBlock
sPages Pages Pages
Data file
HEAPS, CLUSTERED TABLES E IOTS
TABELAS
ORACLE:
• Padrão: HEAP
• Secundária: IoT
SQL SERVER:Padrão: BTREESecundária: HEAP
All about statistics!
DETALHANDO AS ESTRUTURAS...
28 |
Estrutura Oracle SQL Server
Menor unidade de armazenamento l.
Tamanho
Alocação de espaço
Tamanho do extent
Segmento
Bloco
Variável (por TBS)
Variável
Qualquer estrutura lógica alocada
Página
8 KB
Fixo em 64 KB
Não existe
Feito em várias páginas, extents
Feito em várias páginas, extents
DETALHANDO AS ESTRUTURAS...
29 |
Oracle database instance
Data file Data file
Data file Data file
Data file Data file
Data file Data file
Data file
Data file Data file
Data file Data file
Data file Data file
Tablespace group
Redo logRedo log
Redo log
System tablespace
SysAux tablespace
Temporary tablespace
BigFile tablespaceUser data
tablespaceUser index tablespaceUndo tablespace
Redo log files
SQL Server instance
Data file Data file
Data file Data file
Data file Data file
Data file Data file
User database
Log files
Data file Data file
Data file Data file
Data file Data file
Master DB
Resource DBTemp DB
Model DB
MSDB
User DBData FGIndex FGLog file(s)
METADADOS
30 |
ORACLE:
• Schema SYS
• V$
• DBA_, ALL_
SQL SERVER:
• Schema SYS
• DM_
• Sys.tables, sys.columns
MECANISMOS DE LOG (ACID)
31 |
SQL SERVER:
• Transaction Log
ORACLE:
• REDO LOGs (mudanças realizadas no BD)
• Tablespace de Undo (Dados antes da alteração – Begin Tran)
Virtual log 1 Virtual log 2 Virtual log 3 Virtual log 4 Virtual log 5
TruncatedUnused
Start of logical logMinLSN Last checkpoint
End of logical log
Virtual Log 1
Virtual Log 2
Virtual Log 3
Virtual Log 4
Truncated
Start of logical log
MinLSNNext to last checkpoint
Last checkpointEnd of logical log
RECOVERY
32 |
SQL SERVER:
• FULL
• BULK-LOGGED
• SIMPLE
ORACLE: • ARCHIVELOG• NOARCHIVELOG
Em qualquer um dos dois, é fundamental ter uma política de Backup/Restore bem definida e Validada!
FERRAMENTAS
33 |
SQL SERVER
• SSMS
• Todas as ferramentas gráficas legais da MS!
• Ferramentas de Prompt
• Powershell
ORACLE
• SQLDEVELOPER e SQLPLUS
• SDSQL (linha de comando)
• RMAN
• ENTERPRISE MANAGER (pago!)
O QUE GOSTARÍAMOS DE VER NO SQL SERVER
• ASM – Automatic Storage Management;
• RAC – Real Application Clusters;
• Planos Adaptáveis (Adaptive plan)
• Restore de tabelas
• Flashback Database
• Utilização em outros S.O.s
O QUE GOSTARÍAMOS DE VER NO ORACLE
• Management Studio;
• Ajuste dinâmico de memória (on the fly);
• Alterar o modo de recovery à quente;
• Dettach/Attach;
• Usabilidade...
ASM E RAC - CURIOSIDADE
36 |
ONDE APRENDER?
37 |
SQL SERVER:• Technet wiki• MVA• SQL Server Books Online• Eventos da comunidade • Cursos oficiais• Cursos extraoficiais
ORACLE:• Oracle wiki• Oracle Books Online• Eventos da comunidade • Cursos oficiais: WDP e
OAEC• Cursos extraoficiais
E QUANTO CUSTA TUDO ISSO?
QUER MIGRAR?• Microsoft fornece licenciamento para quem quer sair da Oracle (Software
Assurance)
https://www.microsoft.com/en/server-cloud/sql-license-migration.aspx
TAKE AWAY – PARA REFLETIR
40 |
• Duas tecnologias TOP de mercado;
• Verifique o custo ao longo do tempo – Implementação e Suporte;
• Facilidade de Administração, Desenvolvimento, Deploy;
• Qual tecnologia é usada em seu ambiente para
Desenvolvimento?
• Seu time tem mais expertise em qual Sistema Operacional?
REFERÊNCIAS
41 |
• http://www.microsoftvirtualacademy.com/training-courses/sql-server-para-dbas-oracle
(pt-br)
• http://www.microsoftvirtualacademy.com/training-courses/sql-server-2014-essentials-fo
r-oracle-dbas
• Curso oficial Microsoft: 40074A - Microsoft SQL Server 2014 for Oracle DBAs
• Blog do Ricardo Portilho: http://nervinformatica.com.br/blog/
• SQL SERVER Features I’d like to see:
http://www.brentozar.com/archive/2015/10/sql-server-features-id-like-to-see-oracle-edi
tion/
• Oracle X SQL SERVER: Indexes:
https://www.youtube.com/watch?v=OBUedC08lf8&list=WL&index=8
• Documentação Oracle: http://docs.oracle.com/en/
• Documentação SQL SERVER: https://msdn.microsoft.com/en-us/library/bb545450.aspx
DÚVIDAS?
OBRIGADO!