1) A palestra abordará recursos e técnicas do banco de dados Oracle para desenvolvedores, com visões gerais.
2) O palestrante André Luís P. Santos tem experiência em desenvolvimento de sistemas, modelagem de dados, implantação de ERP e ensino universitário.
3) Será discutido porque banco de dados não é trabalho apenas do DBA e como conceitos como modelagem de dados e desempenho são importantes para desenvolvedores.
1) O documento discute conceitos relacionados a bancos de dados relacionais, incluindo RDBMS, modelo de dados, linguagem SQL e arquitetura de bancos de dados.
2) Banco de dados objeto-relacional (BDOR) é discutido, combinando características de bancos de dados relacionais e orientados a objetos.
3) Diferentes tipos de dados, como arrays, podem ser armazenados em BDORs para aplicações complexas.
SQL Server consists of several features including Query Analyzer, Profiler, and Service Manager. Profiler is a monitoring tool used for performance tuning that uses traces. Service Manager helps manage SQL Server instances. Each instance is hidden from others and has its own users, databases, and settings. BCP is a utility for bulk data transfer. Query Analyzer allows writing and executing queries. SQL Server databases contain objects like tables, views, stored procedures. System databases include master, model, msdb, and tempdb. Databases are created in master and contain data and log files. Select statements retrieve data using conditions and options. Data is inserted, updated, and deleted using statements. Joins combine data from multiple tables. Views store
The document provides an overview of the Oracle database including its architecture, components, and features. It discusses Oracle's memory structure consisting of the shared pool, database buffer cache, and redo log buffer. It describes Oracle's process structure including background processes like DBWR, LGWR, PMON and SMON. It also covers Oracle's storage structure such as datafiles, redo logs, control files and the physical and logical storage architectures including tablespaces, segments, extents and blocks.
The paperback version is available on lulu.com there http://goo.gl/fraa8o
This is the first volume of the postgresql database administration book. The book covers the steps for installing, configuring and administering a PostgreSQL 9.3 on Linux debian. The book covers the logical and physical aspect of PostgreSQL. Two chapters are dedicated to the backup/restore topic.
The document provides an overview of Oracle Database including its architecture, components, and functions. It discusses Oracle's three-level database architecture consisting of the external, conceptual, and internal levels. It also describes Oracle's memory structure including the shared pool, database buffer cache, and redo log buffer. Key Oracle background processes like DBWR, LGWR, PMON, SMON, and CKPT are summarized.
O documento apresenta os principais conceitos e comandos da linguagem SQL, incluindo consultas, manipulação de tabelas, junções, subconsultas, views, triggers e stored procedures.
11 Understanding and Influencing the PL/SQL Compilarrehaniltifat
This document discusses normalization of a sales tax invoice database. It begins by showing an initial sales tax invoice table that is not normalized. It then shows the tables after normalization into first normal form (1NF), second normal form (2NF), and third normal form (3NF). The normalized tables separate the data into tables for the invoice, buyer, product, tax, and price details.
1) O documento discute conceitos relacionados a bancos de dados relacionais, incluindo RDBMS, modelo de dados, linguagem SQL e arquitetura de bancos de dados.
2) Banco de dados objeto-relacional (BDOR) é discutido, combinando características de bancos de dados relacionais e orientados a objetos.
3) Diferentes tipos de dados, como arrays, podem ser armazenados em BDORs para aplicações complexas.
SQL Server consists of several features including Query Analyzer, Profiler, and Service Manager. Profiler is a monitoring tool used for performance tuning that uses traces. Service Manager helps manage SQL Server instances. Each instance is hidden from others and has its own users, databases, and settings. BCP is a utility for bulk data transfer. Query Analyzer allows writing and executing queries. SQL Server databases contain objects like tables, views, stored procedures. System databases include master, model, msdb, and tempdb. Databases are created in master and contain data and log files. Select statements retrieve data using conditions and options. Data is inserted, updated, and deleted using statements. Joins combine data from multiple tables. Views store
The document provides an overview of the Oracle database including its architecture, components, and features. It discusses Oracle's memory structure consisting of the shared pool, database buffer cache, and redo log buffer. It describes Oracle's process structure including background processes like DBWR, LGWR, PMON and SMON. It also covers Oracle's storage structure such as datafiles, redo logs, control files and the physical and logical storage architectures including tablespaces, segments, extents and blocks.
The paperback version is available on lulu.com there http://goo.gl/fraa8o
This is the first volume of the postgresql database administration book. The book covers the steps for installing, configuring and administering a PostgreSQL 9.3 on Linux debian. The book covers the logical and physical aspect of PostgreSQL. Two chapters are dedicated to the backup/restore topic.
The document provides an overview of Oracle Database including its architecture, components, and functions. It discusses Oracle's three-level database architecture consisting of the external, conceptual, and internal levels. It also describes Oracle's memory structure including the shared pool, database buffer cache, and redo log buffer. Key Oracle background processes like DBWR, LGWR, PMON, SMON, and CKPT are summarized.
O documento apresenta os principais conceitos e comandos da linguagem SQL, incluindo consultas, manipulação de tabelas, junções, subconsultas, views, triggers e stored procedures.
11 Understanding and Influencing the PL/SQL Compilarrehaniltifat
This document discusses normalization of a sales tax invoice database. It begins by showing an initial sales tax invoice table that is not normalized. It then shows the tables after normalization into first normal form (1NF), second normal form (2NF), and third normal form (3NF). The normalized tables separate the data into tables for the invoice, buyer, product, tax, and price details.
This document provides an overview of the Oracle database architecture. It describes the major components of Oracle's architecture, including the memory structures like the system global area and program global area, background processes, and the logical and physical storage structures. The key components are the database buffer cache, redo log buffer, shared pool, processes, tablespaces, data files, and redo log files.
This document discusses techniques for optimizing SQL performance in Oracle databases. It covers topics like optimizing the optimizer itself through configuration changes and statistics collection, detecting poorly performing SQL, and methods for improving plans such as indexing, partitioning, hints and baselines. The goal is to maximize the optimizer's accuracy and ability to handle edge cases, while also knowing how to intervene when needed to capture fugitive SQL and ensure acceptable performance.
- Database backups are important to prevent data loss from hardware failures, user errors, or application issues. Regular backups should include the database contents, log files, and configuration information.
- Common backup methods include using mysqldump to dump databases into SQL files, copying table files, making delimited text file backups, and enabling binary logging for incremental backups by replaying log files.
- Backups should be stored in multiple locations including on separate disks, servers, or cloud storage. A backup strategy includes performing full and incremental backups on a schedule as well as before and after structural changes.
Advanced Queuing provides database-integrated message queuing functionality that allows asynchronous communication between applications. It allows producers to ENQUEUE messages into queues and consumers to DEQUEUE messages. Key features include persistence of messages, propagation between queues, priority ordering of messages, transformation of message formats, and access control. The document provides an overview of these features and how to configure and use Advanced Queuing through PL/SQL interfaces and APIs.
1) O documento discute os conceitos fundamentais de informação, dados e modelos de dados em bancos de dados, incluindo hierárquico, em rede e relacional.
2) É introduzida a noção de banco de dados, sistema de gerenciamento de banco de dados e as vantagens de utilizar bancos de dados.
3) São descritos os níveis de abstração de dados, incluindo físico e lógico.
Oracle Database is a relational database management system produced by Oracle Corporation. It stores data logically in tables, tablespaces, and schemas, and physically in datafiles. The database, SGA (containing the buffer cache, redo log buffer, and shared pool), and background processes like SMON, PMON, and DBWR work together for high performance and reliability. Backup methods and administrative tasks help maintain the database.
This document discusses Oracle database performance tuning. It covers identifying common Oracle performance issues such as CPU bottlenecks, memory issues, and inefficient SQL statements. It also outlines the Oracle performance tuning method and tools like the Automatic Database Diagnostic Monitor (ADDM) and performance page in Oracle Enterprise Manager. These tools help administrators monitor performance, identify bottlenecks, implement ADDM recommendations, and tune SQL statements reactively when issues arise.
Oracle 11g – Inteligência em Banco de DadosDaniela Macedo
O documento descreve as principais características da versão 11g do banco de dados Oracle, incluindo melhorias em performance, armazenamento, diagnóstico e disponibilidade com foco em automação, inteligência e autogerenciamento.
Database tuning is the process of optimizing a database to maximize performance. It involves activities like configuring disks, tuning SQL statements, and sizing memory properly. Database performance issues commonly stem from slow physical I/O, excessive CPU usage, or latch contention. Tuning opportunities exist at the level of database design, application code, memory settings, disk I/O, and eliminating contention. Performance monitoring tools like the Automatic Workload Repository and wait events help identify problem areas.
This document provides an agenda and overview for a training session on Oracle Database backup and recovery. The agenda covers the purpose of backups and recovery, Oracle data protection solutions including Recovery Manager (RMAN) and flashback technologies, and the Data Recovery Advisor tool. It also discusses various types of data loss to protect against, backup strategies like incremental backups, and validating and recovering backups.
This ppt helps people who would like to present their industrial training presentation on Oracle 11g DBA.
This one includes all the operations that dba has to be perform and some other internal concepts of Oracle.
This document discusses monitoring and improving database performance in Oracle. It covers using Enterprise Manager to monitor performance, automatic memory management, using advisors to size memory, viewing dynamic performance views, and troubleshooting invalid objects. Automatic memory management allows memory to be reallocated between the PGA and SGA. The Memory Advisor is used to recommend memory buffer sizes.
The document provided an overview of Oracle Purchasing, including: the purchasing process flow from requisitions to receiving; integration points with other Oracle applications; setup considerations; and use of advanced pricing. Key areas covered included purchase requisitions, purchase orders, receiving, and the options for configuration.
Ameerpet Online Training gives you an effective and proven online learning option with an extensive learning catalog and the freedom to attend from virtually anywhere. We have trained nearly 1500+ Students on all technologies.
We are offering 10% off on Oracle Training and we will arrange a free demo at your flexible timings
Learn from the author of SQLTXPLAIN the fundamentals of SQL Tuning: 1) Diagnostics Collection; 2) Root Cause Analysis (RCA); and 3) Remediation.
SQL Tuning is a complex and intimidating area of knowledge, and it requires years of frequent practice to master it. Nevertheless, there are some concepts and practices that are fundamental to succeed. From basic understanding of the Cost-based Optimizer (CBO) and the Execution Plans, to more advance topics such as Plan Stability and the caveats of using SQL Profiles and SQL Plan Baselines, this session is full of advice and experience sharing. Learn what works and what doesn't when it comes to SQL Tuning.
Participants of this session will also learn about several free tools (besides SQLTXPLAIN) that can be used to diagnose a SQL statement performing poorly, and some others to improve Execution Plan Stability.
Either if your are a novice DBA, or an experienced DBA or Developer, there will be something new for you on this session. And if this is your first encounter with SQL Tuning, at least you will learn the basic concepts and steps to succeed in your endeavor.
This document provides an overview of Oracle database history, architecture, components, and terminology. It discusses:
- Oracle's release history from 1978 to present.
- The physical and logical structures that make up an Oracle database, including data files, control files, redo logs, tablespaces, segments, and blocks.
- The Oracle instance and its memory components like the SGA and PGA. It describes the various background processes.
- How clients connect to Oracle using the listener, tnsnames.ora file, and naming resolution.
- Common Oracle tools for accessing and managing databases like SQLPlus, SQL Developer, and views for monitoring databases.
O documento propõe uma solução Oracle para consolidar a infraestrutura de produção e banco de dados da UltraSalud EPS, resolvendo problemas de desempenho, capacidade, manutenção e segurança. A solução inclui Oracle Database 12c, Storage Pillar Axiom 600, Tape Library SL8500 no site principal e Oracle Cloud Storage e Database nos sites remotos.
Este documento descreve como configurar um banco de dados primário e standby físico utilizando o Oracle Data Guard. Ele explica como preparar o servidor primário definindo parâmetros como FORCE LOGGING, standby redo logs e LOG_ARCHIVE_DEST para transportar os logs para o standby. Também mostra como criar a instância standby usando o RMAN para duplicar o banco de dados primário.
This document provides an overview of the Oracle database architecture. It describes the major components of Oracle's architecture, including the memory structures like the system global area and program global area, background processes, and the logical and physical storage structures. The key components are the database buffer cache, redo log buffer, shared pool, processes, tablespaces, data files, and redo log files.
This document discusses techniques for optimizing SQL performance in Oracle databases. It covers topics like optimizing the optimizer itself through configuration changes and statistics collection, detecting poorly performing SQL, and methods for improving plans such as indexing, partitioning, hints and baselines. The goal is to maximize the optimizer's accuracy and ability to handle edge cases, while also knowing how to intervene when needed to capture fugitive SQL and ensure acceptable performance.
- Database backups are important to prevent data loss from hardware failures, user errors, or application issues. Regular backups should include the database contents, log files, and configuration information.
- Common backup methods include using mysqldump to dump databases into SQL files, copying table files, making delimited text file backups, and enabling binary logging for incremental backups by replaying log files.
- Backups should be stored in multiple locations including on separate disks, servers, or cloud storage. A backup strategy includes performing full and incremental backups on a schedule as well as before and after structural changes.
Advanced Queuing provides database-integrated message queuing functionality that allows asynchronous communication between applications. It allows producers to ENQUEUE messages into queues and consumers to DEQUEUE messages. Key features include persistence of messages, propagation between queues, priority ordering of messages, transformation of message formats, and access control. The document provides an overview of these features and how to configure and use Advanced Queuing through PL/SQL interfaces and APIs.
1) O documento discute os conceitos fundamentais de informação, dados e modelos de dados em bancos de dados, incluindo hierárquico, em rede e relacional.
2) É introduzida a noção de banco de dados, sistema de gerenciamento de banco de dados e as vantagens de utilizar bancos de dados.
3) São descritos os níveis de abstração de dados, incluindo físico e lógico.
Oracle Database is a relational database management system produced by Oracle Corporation. It stores data logically in tables, tablespaces, and schemas, and physically in datafiles. The database, SGA (containing the buffer cache, redo log buffer, and shared pool), and background processes like SMON, PMON, and DBWR work together for high performance and reliability. Backup methods and administrative tasks help maintain the database.
This document discusses Oracle database performance tuning. It covers identifying common Oracle performance issues such as CPU bottlenecks, memory issues, and inefficient SQL statements. It also outlines the Oracle performance tuning method and tools like the Automatic Database Diagnostic Monitor (ADDM) and performance page in Oracle Enterprise Manager. These tools help administrators monitor performance, identify bottlenecks, implement ADDM recommendations, and tune SQL statements reactively when issues arise.
Oracle 11g – Inteligência em Banco de DadosDaniela Macedo
O documento descreve as principais características da versão 11g do banco de dados Oracle, incluindo melhorias em performance, armazenamento, diagnóstico e disponibilidade com foco em automação, inteligência e autogerenciamento.
Database tuning is the process of optimizing a database to maximize performance. It involves activities like configuring disks, tuning SQL statements, and sizing memory properly. Database performance issues commonly stem from slow physical I/O, excessive CPU usage, or latch contention. Tuning opportunities exist at the level of database design, application code, memory settings, disk I/O, and eliminating contention. Performance monitoring tools like the Automatic Workload Repository and wait events help identify problem areas.
This document provides an agenda and overview for a training session on Oracle Database backup and recovery. The agenda covers the purpose of backups and recovery, Oracle data protection solutions including Recovery Manager (RMAN) and flashback technologies, and the Data Recovery Advisor tool. It also discusses various types of data loss to protect against, backup strategies like incremental backups, and validating and recovering backups.
This ppt helps people who would like to present their industrial training presentation on Oracle 11g DBA.
This one includes all the operations that dba has to be perform and some other internal concepts of Oracle.
This document discusses monitoring and improving database performance in Oracle. It covers using Enterprise Manager to monitor performance, automatic memory management, using advisors to size memory, viewing dynamic performance views, and troubleshooting invalid objects. Automatic memory management allows memory to be reallocated between the PGA and SGA. The Memory Advisor is used to recommend memory buffer sizes.
The document provided an overview of Oracle Purchasing, including: the purchasing process flow from requisitions to receiving; integration points with other Oracle applications; setup considerations; and use of advanced pricing. Key areas covered included purchase requisitions, purchase orders, receiving, and the options for configuration.
Ameerpet Online Training gives you an effective and proven online learning option with an extensive learning catalog and the freedom to attend from virtually anywhere. We have trained nearly 1500+ Students on all technologies.
We are offering 10% off on Oracle Training and we will arrange a free demo at your flexible timings
Learn from the author of SQLTXPLAIN the fundamentals of SQL Tuning: 1) Diagnostics Collection; 2) Root Cause Analysis (RCA); and 3) Remediation.
SQL Tuning is a complex and intimidating area of knowledge, and it requires years of frequent practice to master it. Nevertheless, there are some concepts and practices that are fundamental to succeed. From basic understanding of the Cost-based Optimizer (CBO) and the Execution Plans, to more advance topics such as Plan Stability and the caveats of using SQL Profiles and SQL Plan Baselines, this session is full of advice and experience sharing. Learn what works and what doesn't when it comes to SQL Tuning.
Participants of this session will also learn about several free tools (besides SQLTXPLAIN) that can be used to diagnose a SQL statement performing poorly, and some others to improve Execution Plan Stability.
Either if your are a novice DBA, or an experienced DBA or Developer, there will be something new for you on this session. And if this is your first encounter with SQL Tuning, at least you will learn the basic concepts and steps to succeed in your endeavor.
This document provides an overview of Oracle database history, architecture, components, and terminology. It discusses:
- Oracle's release history from 1978 to present.
- The physical and logical structures that make up an Oracle database, including data files, control files, redo logs, tablespaces, segments, and blocks.
- The Oracle instance and its memory components like the SGA and PGA. It describes the various background processes.
- How clients connect to Oracle using the listener, tnsnames.ora file, and naming resolution.
- Common Oracle tools for accessing and managing databases like SQLPlus, SQL Developer, and views for monitoring databases.
O documento propõe uma solução Oracle para consolidar a infraestrutura de produção e banco de dados da UltraSalud EPS, resolvendo problemas de desempenho, capacidade, manutenção e segurança. A solução inclui Oracle Database 12c, Storage Pillar Axiom 600, Tape Library SL8500 no site principal e Oracle Cloud Storage e Database nos sites remotos.
Este documento descreve como configurar um banco de dados primário e standby físico utilizando o Oracle Data Guard. Ele explica como preparar o servidor primário definindo parâmetros como FORCE LOGGING, standby redo logs e LOG_ARCHIVE_DEST para transportar os logs para o standby. Também mostra como criar a instância standby usando o RMAN para duplicar o banco de dados primário.
Material do treinamento "Treinamento RMAN Workshop 12c" promovido pela Oradata, neste treinamento, abordamos as mais variadas maneiras de se executar as operações de backup/restore/recover do banco de dados Oracle, desde as versões mais antigas onde tudo era manual, até as técnicas utilizadas nos dias atuais com o RMAN.
Este documento fornece uma visão geral de um workshop para DBAs que visa ensinar desde a instalação do sistema operacional até a configuração do banco de dados Oracle. A agenda inclui introdução ao papel de DBA, sistemas operacionais, armazenamento, instalação e configuração do Oracle database nas versões 10g, 11g e 12c. O workshop também aborda preparação do sistema operacional, gerenciamento e manutenção do banco de dados.
More than half of registered voters in Maple Ridge and Pitt Meadows had yet to submit their ballots for an upcoming transportation referendum with a deadline of May 29. In Pitt Meadows, 5,777 of 12,866 registered voters had submitted ballots, while in Maple Ridge 25,819 of 54,504 registered voters had voted. The referendum proposed a 0.5% increase in provincial sales tax to fund transportation improvements like new rapid transit lines. Supporters urged residents to submit ballots by the deadline, while opponents believed the tax increase would be defeated.
The document discusses the author's experience becoming concerned about climate change as a young person and their efforts to raise awareness and take action. It describes how at age 13, they attended their first international youth environmental conference, where they realized their concerns were related to climate justice and future generations. The author founded a website to educate young people on environmental issues and solutions. They have continued attending conferences, speaking on issues like plastic pollution in oceans, and advocating for including youth voices and sustainable solutions.
Teks ini berisi soalan-soalan ujian kompetensi literasi digital yang mencakupi berbagai aspek teknologi informasi seperti perangkat keras dan lunak komputer, jaringan, internet, dan aplikasi kantor. Teks ini bertujuan untuk mengetes pengetahuan dasar literasi digital partisipan.
Christopher Bell is a skilled graphic and web designer with 5 years of experience seeking a career in design. He possesses strong communication skills and an ability to work with clients. Bell has skills in Adobe Creative Suite, HTML5, CSS3, drawing, painting and data entry. He has freelanced as a graphic designer since 2013 and has held various jobs involving design, cashier work, and stocking. Bell has a Bachelor's degree in Graphic Design from Cleveland State University and has volunteered teaching art to children.
El documento lista los nombres de varias personas, incluyendo Basantes Christian, Bolaños Steve, Carrera Alex, Cevallos Michael, Eraso Dennis, y otros.
El documento describe el proceso de meiosis en humanos. La meiosis reduce el número de cromosomas de 46 a 23 para producir gametos con 23 cromosomas. Se divide en dos divisiones celulares. En la primera división, los cromosomas homólogos se emparejan y luego se separan aleatoriamente, reduciendo el número de cromosomas a 23. En la segunda división, los cromosomas se dividen para producir cuatro células hijas con 23 cromosomas cada una.
Treating Children after Disasters CertificateMorgan Boyle
Morgan Boyle completed a course called "Treating Children After Disasters" on April 13, 2016. The certificate acknowledges that Morgan Boyle finished the course on treating children after disasters. It certifies that Morgan Boyle successfully completed the course on treating children after disasters on April 13, 2016.
Mr. Beans' winter planting involved students bringing pots, soil, and seeds to their science lab to start planting pulses. The group worked together to plant the seeds in pots and soil, then watered the newly planted seeds as a team.
Desenvolvendo Serviços de Alta Performance com APIs NoSQL para MySQLMySQL Brasil
As exigências cada vez maiores de performance nas aplicações Web têm gerado grande demanda para novos métodos de acesso NoSQL para MySQL. Tais métodos foram implementados recentemente e incluem APIs Java e Memcached que são uma alternativa de alto desempenho para consultas simples e que não requerem a definição de um esquema de dados rígido, mas também permitem aproveitar todas as vantagens já conhecidas de bancos de dados relacionais existentes.
Esta apresentação descreve os novos métodos de acesso NoSQL para MySQL Server com InnoDB e MySQL Cluster e alguns casos de uso em arquiteturas Web.
Este documento descreve o Oracle Data Guard, uma solução de proteção de dados e alta disponibilidade da Oracle Database. O Data Guard sincroniza automaticamente um banco de dados principal com um ou mais bancos de dados em standby, transmitindo os registros de recuperação do principal para os standbys. Isso protege os dados contra falhas, desastres e corrupção, permitindo failover rápido para um standby caso o principal falhe. O documento explica como o Data Guard funciona, os diferentes tipos de standbys, modos de proteção e serviços, e fornece diretri
Otimizando um banco de dados Oracle para ExadataRodrigo Almeida
1) O documento discute a otimização de bancos de dados Oracle para o Oracle Exadata, incluindo visão geral do Exadata, ferramentas como CellCli e Exachk, e técnicas de otimização como Storage Index e EHCC.
2) O documento também discute o papel do DMA (Database Machine Administrator) para administrar todos os componentes do Exadata e fornece respostas para dúvidas frequentes sobre Exadata.
3) É recomendado revisar o modelo de dados e índices da aplicação durante a migração para o Exadata para
GUOB - Passa-a-passo para migração do Oracle Database 11gRodrigo Almeida
O documento fornece um guia passo-a-passo para a migração de um banco de dados Oracle 11g, cobrindo as etapas de planejamento (pré-migração, migração e pós-migração), razões para migrar, ferramentas de administração e dicas.
Conte La Bruixa Bruna reexplicat pels nens i les nenes de P4 de la classe dels tigres. Sessió feta en gran grup per treballar la comprensió oral i el desenvolupament narratiu dels contes
How Many Ways Can I Manage Oracle GoldenGate?Enkitec
This document provides information about an upcoming E4 conference, including registration details, location information, and post-conference training days. It also contains tables describing Oracle GoldenGate parameters and commands for processes like EXTRACT, REPLICAT, and Manager. Bugs encountered with various Oracle GoldenGate components are also listed along with their corresponding MOS Note IDs for resolution. The document emphasizes properly monitoring data and evaluating any scripts used.
O documento discute a implementação de um Plano de Desenvolvimento em Tecnologias de Informação e Comunicação (PDTIC) para a Universidade Federal de Sergipe (UFS). Ele analisa o banco de dados atual da UFS, identifica problemas como redundância de dados e ausência de interoperabilidade entre sistemas, e sugere soluções como a adoção do PostgreSQL e a implementação de um data warehouse para melhorar a gestão da informação.
Este documento descreve um estudo de caso de integração de dados usando o Oracle Data Integrator (ODI). O caso envolve limpeza e transformação de dados de uma aplicação de vendas para carregar em um data warehouse. As principais etapas incluem: 1) limpeza dos dados com validações de integridade referencial e regras de negócio; 2) transformação dos dados com conversões e junções entre tabelas; 3) modelagem dos dados de origem e destino.
O documento descreve os principais sistemas de gerenciamento de bancos de dados (SGBDs): PostgreSQL, DB2, MySQL, Oracle e SQL Server. Ele fornece detalhes sobre suas características, capacidades de armazenamento, sistemas operacionais compatíveis, versões e clientes.
Investimentos da Oracle no MySQL está elevando o nível do produto a um novo patamar. Baseada na apresentação do VP de Engenharia MySQL, Tomas Ulin, esta apresentação cobre as principais novidades do MySQL 5.7, MySQL Cluster 7.4, MySQL Fabric etc.
O documento fornece um resumo das qualificações e experiência de Marcus Vinicius Miguel Pedro como DBA Oracle. Ele tem 22 anos de experiência na indústria de TI e mais de 15 anos trabalhando com o Oracle Database. Vinicius é certificado em várias versões do Oracle Database e trabalha atualmente como consultor sênior de banco de dados na Accenture.
O documento fornece 10 melhores práticas para o uso do Oracle Data Integrator (ODI), incluindo garantir o entendimento correto de contextos e topologia, desenvolver de forma independente de contexto, utilizar procedures apenas quando necessário e garantir a qualidade dos dados.
Este documento fornece um resumo de três frases ou menos de cada um dos seguintes tópicos cobertos:
1) Novas tecnologias, atualizações e lançamentos de produtos para bancos de dados;
2) Conceitos e diretrizes para aumentar o desempenho de comandos SQL;
3) Definição, implementação e utilização de modelos UML.
Luciano Stoppa é um profissional brasileiro de 38 anos com mais de 15 anos de experiência em TI nas áreas de telecomunicações, bancos e governo. Ele possui formação acadêmica em gestão de sistemas de informação e MBA em gestão de projetos e busca uma posição como especialista em DevOps, infraestrutura, BI, SAS ou cientista de dados.
[DTC21] André Marques - Jornada do Engenheiro de DadosDeep Tech Brasil
O documento discute a jornada do engenheiro de dados, incluindo as habilidades necessárias, como bancos de dados, linguagens de programação, ferramentas de nuvem e integração de dados. Também aborda as carreiras originais dos engenheiros de dados, como analista de BI e desenvolvedor, e perspectivas futuras para a profissão, como alta demanda e constante mudança tecnológica.
Interoperabilidade entre bancos de dadospichiliani
Este documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que cenários multi-banco são comuns e discute conceitos comuns entre bancos de dados. Também aborda como trocar objetos, dados e instruções entre bancos de dados heterogêneos, incluindo recursos de replicação e ferramentas para conversão de SQL.
Interoperabilidade entre bancos de dadospichiliani
O documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que ambientes multi-banco são comuns e discute conceitos comuns e desafios de interoperabilidade na administração e troca de dados entre bancos. O documento também analisa ferramentas e técnicas para replicação heterogênea e conversão de instruções SQL entre bancos de dados.
O documento discute as principais funcionalidades introduzidas nas versões 9.0 e 9.1 do PostgreSQL. A versão 9.0 introduziu recursos como hot standby, streaming replication, triggers por colunas e privilégios de usuários em massa. A versão 9.1 introduziu replicação síncrona, monitoramento de replicação e fontes de dados externas. O documento também discute porque usar o PostgreSQL e seus recursos avançados.
O documento discute técnicas para tornar bancos de dados ágeis, permitindo que eles evoluam de acordo com novos requisitos após serem implantados. Aborda problemas como acoplamento entre código e banco de dados, e propõe soluções como mapeamento objeto-relacional, modelagem evolutiva com migrações de versão e refatoração do banco de dados para melhorar o design sem alterar o comportamento dos dados.
O documento discute arquitetura web e desenvolvimento para a web. Ele apresenta três evoluções na abordagem de desenvolvimento, começando por separar a lógica da apresentação, depois introduzindo o padrão MVC, e finalmente focando no Domain-Driven Design. O documento também discute tecnologias como Java EE, EJB, JPA e JSF que podem ser usadas para implementar uma arquitetura web robusta.
José Carlos de Paiva apresenta seu currículo com mais de 30 anos de experiência em sistemas mainframe IBM, atuando principalmente como analista de sistemas. Ele tem experiência em bancos como Banco Espírito Santo, Banco de Crédito Nacional e Banco Noroeste, onde liderou projetos de migração, integração e controle de versões.
Introdução à Programação “para Web” de Carlos BazilioRicardoKratz2
Introdução à Programação “para Web” de Carlos Bazilio
Depto de Ciência e Tecnologia
Pólo Universitário de Rio das Ostras Universidade Federal Fluminense
O documento discute diferentes modelos de bancos de dados e sistemas de gerenciamento de bancos de dados (SGBDs), incluindo MySQL, Oracle, Microsoft SQL Server e PostgreSQL. Ele fornece detalhes sobre as características e funcionalidades de cada um.
Este documento discute como o Oracle Database 11g Release 2 fornece alta disponibilidade através de proteção contra tempo de inatividade não planejado e planejado, incluindo proteção contra falhas no servidor e nos dados, reconfiguração on-line e upgrades. Ele destaca as vantagens da abordagem integrada da Oracle para alta disponibilidade em comparação com soluções pontuais de diferentes fornecedores.
Marcus Vinicius Miguel Pedro apresentará sobre a jornada de bancos de dados relacionais para a nuvem. Ele tem mais de 20 anos de experiência trabalhando com tecnologia da informação e Oracle Database. Vinicius também é membro do conselho da GUOB e palestrante em eventos relacionados a Oracle.
Coisas básicas sobre as características dos banco de dados, muito importante antes mesmo de planejar a modelagem.Conhecer o banco em relação o seu projeto é mais importante por causa do que voce irá fazer com seus dados
Semelhante a Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016) (20)
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Oracle para Desenvolvedores - recursos e técnicas - visões gerais (Uninove 2016)
1. IV Ciclo de Palestras de Banco de Dados UNINOVE
Oracle para Desenvolvedores:
Recursos e Técnicas
( visões gerais )
André Luís P. Santos
Uninove – campus Vergueiro
São Paulo, 25 de outubro de 2016
2. Sobre o palestrante
André Luís P. Santos
https://www.linkedin.com/in/andrelpsantos
• Experiência profissional desde 1990 na área de Informática, atuando com
desenvolvimento de sistemas, em empresas de vários setores.
• Exerceu funções de "AD" (administração de dados) e "DBA de
Desenvolvimento/Homologação", com foco em modelagem de dados e
implementações em Oracle.
• Realizou trabalhos também com BI (business intelligence, data warehouse
e data marts) e implantação de ERP (SAP R/3).
• Atividade de mais de 12 anos como professor em ensino universitário e
técnico.
• Áreas de interesse:
‒ Bancos de dados: modelagem de dados; projeto físico; VLDB; BI e DW;
otimização de desempenho (performance tuning) com Oracle Database.
‒ Metodologias ágeis (XP - Extreme Programming, Scrum, FDD).
‒ Ensino e treinamento
3. Banco de Dados é trabalho apenas do DBA ? ( Não!!! )
Fonte: http://vidadeprogramador.com.br/2012/01/27/duelo-de-titas/
4. Banco de Dados é trabalho apenas do DBA ? ( Não!!! )
Fonte: http://vidadeprogramador.com.br/2016/03/24/praga/
Modelo de Dados é trabalho apenas do AD ? ( Não!!! )
5. Conhecimentos importantes na formação
• Em cursos específicos, pode-se obter conhecimentos
complementares em:
Tecnologias e produtos
Padrões, metodologias
Idiomas
• Em cursos superiores (faculdade, formação universitária) há o
aprendizado de fundamentos que são muito importantes para
desempenho profissional. Por exemplo:
Modelagem de Dados
Teoria Relacional
Normalização
Estrutura de Dados e Algoritmos
Fundamentos de Computação
Estatística (e outras disciplinas da Matemática)
• Aprendizado autodidata: estudar sempre! ;)
Livros
Internet (documentação online, artigos, sites, blogs, vídeos)
Participação em grupos técnicos, fóruns de discussão
8. Desenvolvedor “Full-Stack”
O perfil de desenvolvedor “full stack” corresponde àquele que
pode lidar com várias camadas de software de um sistema
(back-end — incluindo database — até front-end).
Fonte:
https://www.linkedin.com/pulse/%E0%B8%84%E0%B8%93%E0%B9%80%E0%B8
%9B%E0%B8%99-full-stack-developer-
%E0%B9%83%E0%B8%8A%E0%B8%AB%E0%B8%A3%E0%B8%AD%E0%B9%
84%E0%B8%A1-pongsakorn-poosankam
Fonte:
http://www.thatsoftwaredude.com/content/
6219/working-as-a-full-stack-developer
9. SGBD “objeto-relacional”
• Confiabilidade
• Segurança
• Desempenho (CBO, processos em background, índices baseados em função,
cluster tables, index-organized tables, etc.)
• Tolerância a falhas
• Configurável, gerenciável, flexível
• Compatibilidade a padrões
• Multi-plataforma
• Escalabilidade (caches, MTS, particionamento, paralelismo)
• Soluções para alta disponibilidade (RAC / grid)
• Soluções para contingência (Data Guard / Standby Database)
• Recursos para desenvolvimento: compatibilidade SQL ANSI/ISO, PL/SQL
(trigers, stored procedures, functions, packages), funções analíticas, visões
materializadas, tabelas temporárias, Java stored procedures, external tables,
etc.
Oracle Database
10. • Edições:
• Enterprise Edition
• Standard Edition (“Standard Edition 2” – a partir da versão 12c)
• Standard Edition One (não mais disponível a partir da versão 12c)
• Personal Edition
• Express Edition (“Oracle XE”, totalmente gratuita, com limitações
técnicas — até 11 GB de armazenamento, 1 GB RAM, 1 CPU)
• Plataformas (dependendo da versão):
• Unix (Solaris, AIX, HP-UX)
• Linux (considerar distribuições homologadas)
• Windows (32 bits e 64 bits)
• Outras plataformas: mainframes IBM (zLinux), OpenVMS.
• Documentação sobre recursos, edições e licenciamento:
• Oracle: “Database Licensing Information”
Oracle Database – Edições e Plataformas
11. Licenças:
• OTN (Oracle Technology Network) – correspondente à instalação da
Enterprise Edition — sem custo, mas sem uso comercial em servidores —
apenas para uso individual de desenvolvedor (estudo, desenvolvimento de
protótipos de aplicação, apresentações).
• Personal Edition – também corresponde à Enterprise Edition, para uso
individual, com custo — permite assinatura de suporte (MOS – “My Oracle
Support”, o antigo “Metalink”).
• Express Edition (“Oracle XE”, totalmente gratuita, com limitações técnicas
— até 11 GB de armazenamento, 1 GB RAM, 1 CPU) – sem suporte formal.
• Enterprise / Standard – licenciamento voltado a empresas: por “usuário
nomeado” ou por “processador” (usuários ilimitados). Além disso, há diversas
“Options” (opções”— exemplos: “Partitioning”, “Diagnostic Pack”*, “Tuning
Pack”*, “In-Memory”, “OLAP”, “Advanced Security”, “Advanced Compression”)
que podem ser adquiridas à parte, para a edição Enterprise.
* OBS. importante — configuração do parâmetro de inicialização, conforme
licenciamento: “CONTROL_MANAGEMENT_PACK_ACCESS”
(“DIAGNOSTIC+TUNING”, “DIAGNOSTIC”, “NONE”).
Oracle – disponibilidade para Desenvolvedores
13. Aplicações: Conceitos importantes para desempenho
Performance Tuning
Entre muitos aspectos, para otimização do desempenho de
aplicações com Oracle, consideramos:
• Reaproveitamento de instruções SQL, em cache.
• Projeto lógico (modelo de dados, normalização, constraints).
• Projeto físico (recursos do SGBD).
• Coleta de estatísticas para o CBO (Cost-Based Optimizer).
• Instrumentação, análise e diagnóstico de problemas.
• Tuning de aplicações (SQL e PL/SQL – stored procedures).
• Tuning de instância/database.
14. Reaproveitamento de instruções SQL, em cache
• Um dos principais fundamentos para melhor escalabilidade de
um servidor de banco de dados relacional é o uso de
“SQL parametrizado” — recurso também conhecido como
“prepared statements”.
• No SGBD Oracle, isso é feito com a utilização das denominadas
“bind variables” (“variáveis de ligação”).
• Há um melhor aproveitamento do cache de instruções
(“Shared Pool” – “SQL Area”), reutilizando planos de execução
— realização de “soft parse”, ao invés de “hard parse”.
• Outro benefício na qualidade do software, com o uso de
“bind variábles” é na segurança — evitando ataques de
“SQL Injection”.
Parse Execute Fetch
15. Reaproveitamento de instruções SQL, em cache
SELECT cod, nome FROM cliente WHERE cod = 514; Hard parse
SELECT cod, nome FROM cliente WHERE cod = 2091; Hard parse
SELECT cod, nome FROM cliente WHERE cod = 35; Hard parse
Sequência de instruções sem “bind variables” (uso de valores literais):
SELECT cod, nome FROM cliente WHERE cod = :p_cod; Hard parse
SELECT cod, nome FROM cliente WHERE cod = :p_cod; Soft parse
SELECT cod, nome FROM cliente WHERE cod = :p_cod; Soft parse
Sequência de instruções com “bind variables” (SQL parametrizado):
16. Projeto lógico
(modelo de dados, normalização, constraints)
• O projeto lógico (derivado de um modelo conceitual de dados) deve
ser adequado a:
‒ Paradigma tecnológico adotado (base relacional);
‒ Finalidade da base de dados: transacional (OLTP) ou analítica
(OLAP);
• Considerar normalização (consistência) e “denormalizaçao” controlada
(performance e históricos) — lembrando que algumas questões de
performance podem ser resolvidas no projeto físico (SGBD).
• Constraints: além de serem fundamentais para garantir integridade
de dados, também são consideradas pelo “otimizador” (optimizer) na
geração de planos de execução de SQL.
Conceitual Lógico Físico
17. Projeto físico (recursos do SGBD)
Pode-se considerar vários recursos disponíveis (conforme a
versão, edição e licenciamento):
• Índices
• Visões Materializadas (“materialized views” – mviews),
incluindo “query rewrite”
• Tabelas Temporárias (GTT – Global Temporary Tables)
• Particionamento
• Replicação
• Compressão
• In-Memory Database Cache
• Oracle OLAP (SQL access to OLAP Cubes)
• Stored Procedures (PL/SQL)
etc...
18. Coleta de estatísticas para o CBO
(Cost-Based Optimizer)
• A coleta e atualização de estatísticas são fundamentais para o
funcionamento do CBO (Cost-Based Optimizer).
• Falta de estatísticas ou estatísticas desatualizadas podem
fazer com que o CBO gere planos de execução ruins para as
instruções SQL.
• Considerar a geração e configuração de histogramas (tipo
especial de estatística), para colunas com distribuição de
dados não-homogênea.
• OBS.: Até a versão 10g do Oracle, algumas vezes ocorria um
problema conhecido como “bind variable peeking” — que
começou a ser solucionado na versão 11g, com a
implementação de “Adaptive Cursor Sharing” (ampliado na
versão 12c).
19. Instrumentação, análise e diagnóstico de problemas
• Instrumentação: geração de “traces”, identificação
(DBMS_APPLICATION_INFO), debug, etc.
• Análise: verificação de eventos de espera (“wait events”), “queries
ofensoras” e outros pontos de atenção.
‒ Obs.: Algumas views dinâmicas de performance, associadas ao AWR
(Automatic Workload Repository) exigem licença do “Diagnostic Pack”.
• Diagnóstico: entender as causas dos problemas e possíveis soluções.
‒ Contenção e bloqueios
‒ Excesso de leituras físicas
‒ Excesso de “hard parse” (alto uso de CPU)
‒ “Fragmentação” (?) — “chained rows”, linhas encadeadas em mais
de um bloco de dados (ANALYZE).
‒ Planos de execução ruins (DBMS_STATS, EXPLAIN PLAN,
DBMS_XPLAN.DISPLAY / DISPLAY_CURSOR).
‒ Conversões implícitas de “data types”.
Etc...
20. Tuning de aplicações
(SQL e PL/SQL – stored procedures)
• Conhecer e aprimora-se em SQL é essencial para desenvolvedores
que preocupam-se com bom desempenho de sistemas.
‒ Cuidado com a “facilidade” dos frameworks de persistência
(ORM – Object-Relational Mapping). Por exemplo: “Hibernate”.
• O conhecimento de PL/SQL amplia as possibilidades.
Fonte: http://www.fabioprado.net/2014/04/o-que-e-tuning-como-tunar.html
Referência: “Tuning When You Can’t Touch The Code”, Michael R. Ault
21. Tuning de instância/database
• Ajuste de performance de instância e database do SGBD é um
trabalho de reponsabilidade do DBA – Database Administrator.
‒ Configuração
‒ Dimensionamento
‒ Monitoração
‒ Análise do ambiente
• Porém o conhecimento sobre “desenvolvimento de sistemas”
(experiência) é importante para análise de problemas e
formulação de possíveis soluções de forma mais assertiva.
• Portanto o trabalho em conjunto (DBA’s e Desenvolvedores)
colabora para o sucesso do sistema.
25. Parâmetros:
• PCTFREE: define o percentual de espaço
livre que deve ser reservado no bloco
(não recebendo mais inserções), para
crescimento das linhas (atualizações).
• PCTUSED: após atingir “pctused”, indica
o percentual mínimo (na ocorrência de
exclusões) a partir do qual o bloco poderá
receber novas inclusões.
Bloco de dados (data block) Oracle
27. Sistemas para processamento paralelo.
• SMP – Symmetric Multiprocessing (multiprocessamento
simétrico)
• Vários servidores, tanto baseados em processadores RISC
como em CISC, utilizam essa arquitetura.
• Numa instalação Oracle, é usado o termo “single instance”
(instância única).
• Cluster (agrupamento)
• Exemplo: Oracle RAC (Real Application Cluster).
• MPP – Massively Parallel Processing (processamento
maciçamente paralelo)
• Comercialmente apresentados em “database appliances”
(produtos que integram hardware e software) — Oracle
Engineered Systems.
• Exemplo: Oracle Exadata (concorrentes: Teradata, Netezza).
Arquiteturas básicas de servidores
28. SMP – Symmetric Multiprocessing (multiprocessamento simétrico)
• Servidor com mais de um microprocessador (CPU),
compartilhando a mesma memória (RAM) e discos.]
CPU CPU CPU...
RAM
Discos
Arquiteturas básicas de servidores
29. Cluster (agrupamento)
• Genericamente, é um grupo de computadores (servidores,
eventualmente cada um “SMP”) que trabalham de forma
colaborativa, formando um sistema único.
• No Oracle RAC, os computadores de um “cluster” compartilham um
armazenamento centralizado (discos, ou servidor de “storage”).
• O conceito de “grid computing” engloba também a idéia de “cluster”.
Arquiteturas básicas de servidores
30. MPP – Massively Parallel Processing (processamento
maciçamente/“massivamente” paralelo)
• Conceito de “shared nothing” (nada compartilhado). Conjunto de
computadores/módulos (geralmente com um “coordenador”), cada
um com seu conjunto de discos.
• Conceito de particionamento “database sharding”.
Arquiteturas básicas de servidores
interconexão / barramento
31. Servidor 1
Instância 1 (ORACLE_SID = “dbsup1”)
SGAPGA
Processos em
background
Server
Process
Servidor 2
Instância 2 (ORACLE_SID = “dbsup2”)
SGAPGA
Processos em
background
Server
Process
Undo Tbs. 2 Redo Log
Oracle Home
Undo Tbs. 2 Redo Log
Oracle Home
Storage
Tablespaces
(dados, índices, etc.)
TEMP
(Temporary tablespaces)
Oracle RAC – Real Application Cluster
33. • Oracle RAC – Real Application Cluster
• Solução para “alta disponibilidade”.
• Benefício adicional: balanceamento de carga.
• Oracle Data Guard (Standby Database)
• Solução para “contingência”.
• É recomendado que a base replicada fique em local
distante para maior segurança contra desastres.
• Benefício adicional: base alternativa (replicada) para
consultas longas (tipicamente para relatórios).
Oracle RAC – Real Application Cluster
34. Oracle 12c – Arquitetura “Multitenant”
Artigo: Artigo: "Many in One", de Arup Nanda - Oracle Magazine (September/October, 2013)
Fonte: http://www.oracle.com/technetwork/issue-archive/2013/13-sep/o53cloud-1971984.html
Até a versão 11g:
um database por instância.
Oracle 12c:
vários databases por instância.
• CDB – Container Database
• PDB – Pluggable Databases
36. Alguns recursos para otimização de desempenho:
• Processamento com paralelismo
• Particionamento de tabelas e índices
• Índices:
* B-Tree
* Baseados em função
* Chave reversa
* Bitmap
• Compressão de dados
• Materilized Views
• Tabelas temporárias
• Carga de dados em modo otimizado (direct-path load)
• External tables
• Arranjo físico alternativos:
* Index-organized tables (IOT)
* Cluster tables
Recursos para o projeto físico do banco de dados
37. Paralelismo
Processamento paralelo
• Aproveita a capacidade de processamento de servidores com múltiplas
CPU’s (e múltiplos núcleos – “cores”).
• Pode ajudar muito no desempenho de grandes leituras físicas de
tabelas (full table scans) e na criação de índices de tabelas grandes.
Atenção – Após criar um índice com paralelismo, deve-se reajustá-lo
para que não fique configurado com paralelismo como padrão:
CREATE INDEX ... PARALELL n;
ALTER INDEX ... NOPARALLEL;
• Porém também pode prejudicar o processamento se utilizado em
excesso, saturando a capacidade da máquina servidora ou tornando a
execução da query SQL mais complexa (testar: custo / benefício).
• Para ajustar o grau de paralelismo (DOP – degree of parallelism),
considerar parâmetros (cpu_count, parallel_threads_per_cpu),
concorrência, margem de segurança, realizar testes comparativos.
• Paralelismo em consultas: conforme configuração da tabela (create /
alter table) ou através de “hint” (PARALLEL).
• Paralelismo em DML: necessário habilitar (ENABLE PARALLEL DML),
através de configuração ou “hint”, para utilização.
38. Particionamento
Particionamento de tabelas e índices
• Fisicamente uma tabela (e respectivos índices), podem ser
segmentados em “partições”, conforme um critério (chave de
particionamento).
• O objetivo é evitar a necessidade da leitura da tabela inteira,
considerando apenas as partições necessárias.
• Em alguns casos (SQL-DML), pode colaborar com o
processamento paralelo.
39. Índices
Índices B-Tree
• São os índices “convencionais” (index_type = normal).
• Mesmo em tabelas grandes, proporcionam bom desempenho
em consultas que buscam relativamente poucos registros.
• Podem ser “unique” (mantém unicidade, valores únicos na
chave) ou “non-unique”.
• Na definição de uma contraint “primary key” (chave primária)
ou “unique” (chave de unicidade), normalmente é criado
automaticamente um índice “unique” associado, com o mesmo
nome da constraint.
• Para constraints de “foreign key” (chaves estrangeiras) o
SGBD não cria índices automaticamente — porém,
geralmente, é recomendável que existam índices
correspondentes.
40. Índices
Índices baseados em Função
• São índices cuja chave contém uma expressão ou função
(determinística).
• Permitem que buscas que utilizem funções ou expressões
beneficiem-se de um índice.
• Exemplo 1 — o índice não será utilizado:
• Exemplo 2 — o índice poderá ser utilizado:
Dica: Em alguns casos, pode ser útil indexar sub-conjuntos de
uma tabela, através de uma função que retorne “nulo”
(NULL) para determinadas ocorrências de valores.
CREATE INDEX teste1 ON teste (nome);
SELECT ... FROM teste WHERE UPPER(nome) = 'FULANO';
CREATE INDEX teste2 ON teste (UPPER(nome));
SELECT ... FROM teste WHERE UPPER(nome) = 'FULANO';
41. Índices
Índices de Chave Reversa
• Em casos específicos, na criação de um índice B-tree, pode-se
especificar a cláusula REVERSE, para inverter o
armazenamento (sequência de bytes) das chaves e sua
respectiva indexação.
Exemplo: o código “1234” seria armazenado como “4321”.
• As consultas SQL continuam sendo feitas de forma natural,
transparente.
• É útil nos casos em que pode haver uma tendência de
desbalanceamento na distribuição de valores no índice.
Exemplo:
Valores reais:
A00001
A00002
A00003
Armazenados na chave:
10000A
20000A
30000A
42. Índices
Índices Bitmap
• Tipo especial de índice (estrutura diferente do B-Tree) que
utiliza “mapa de bits”.
• São indicados para tabelas com grande volume de registros,
mas utilizados em atributos (colunas) com “baixa
cardinalidade” (quantidade de valores distintos relativamente
pequena).
• OBS.: Não são aconselháveis para colunas que sofrem muitas
atualizações (característica de sistemas OLTP), pois sua
manutenção exige bloqueio (lock) de conjuntos de registros da
tabela.
43. Índices – aspectos gerais
Diretrizes a serem consideradas na definição de índices:
• “Tablespaces” para índices: não afetam o desempenho.
• Costuma-se criar tablespaces específicas para os índices
(para que fiquem separados das tabelas).
• O principal motivo é uma melhor organização e facilitar
administração backups das tabelas.
• Cláusula “Online”: a cláusula ONLINE permite que a tabela
continue a ser atualizada (DML: insert, update, delete) durante
a criação ou reconstrução (rebuild) de um índice.
• Carga de dados: na carga de grandes volumes de dados, uma
técnica comum é desabilitar os índices e recriá-los depois.
44. Índices – aspectos gerais
(continuação...)
• Valores nulos: nulos (NULL) não são indexados. Portanto:
• Buscas por nulo (WHERE campo IS NULL) não utilizam
índice.
• Constraints/índices “unique” permitem mais de uma
ocorrência de nulo (em conformidade com padrão SQL
ANSI/ISO).
• Operador “Like”: consultas com operador LIKE que iniciem
com caracteres “curinga”, impossibilitam a busca por índice.
• Exemplo: Supondo que haja um índice por “cidade”.
- Utilizaria o índice: ... WHERE cidade LIKE 'RIO%'
- Não utilizaria o índice: ... WHERE cidade LIKE '%RIO%'
45. Compressão de tabelas e índices
Compressão de dados
• Os dados de uma tabela podem ser comprimidos (através de
métodos simples, como tabela de valores e ponteiros).
• Desse modo, além da economia de espaço em disco, pode-se
ter melhor desempenho em grandes leituras físicas (e sem
perda de desempenho para escrita).
• Nota: No Oracle, para compressão, é recomendável a carga de
dados previamente ordenados, costumar ter uma taxa de
rendimento melhor, pois a compressão é realizada por bloco de
dados.
• Existe a opção “Advanced Compression”, que amplia os
recursos de compactação.
46. Visões materializadas
Materilized Views
• Visões “materializadas” basicamente funcionam como “views”
comuns, porém os dados são armazenados fisicamente (ou
seja, não é apenas um objeto lógico).
• Os principais objetivos são: acelerar consultas complexas e
replicação de dados.
• Em versões mais antigas, era utilizado o termo “snapshot”
(essa sintaxe ainda é mantida para compatibilidade).
47. Tabelas temporárias
Global Temporary Table (GTT)
• São tabelas definidas, cujos dados são temporários (assim
como o conteúdo dos eventuais índices):
• ON COMMIT DELETE ROWS: dados persistem até a
finalização da “transação” (commit / rollback).
• ON COMMIT PRESERVE ROWS: dados persistem até o
final da “sessão” (conexão).
• Os dados são visíveis apenas em cada sessão, portanto não
estão sujeitos a bloqueio (lock) de registros em comandos DML
(insert, update, delete).
• “TRUNCATE TABLE” também é específico por sessão.
• Geram pouco volume de “redo log”.
• Normalmente são alocados em tablespace temporária.
48. Carga de dados otimizada
Carga de dados em modo otimizado
• “Direct-path load” é o modo otimizado para “carga de dados”
com grande volume de registros.
• Não utiliza espaço para “undo” (rollback).
• Sintaxe básica para comando “insert” através de “hint”:
INSERT /*+APPEND */ INTO tabela SELECT ...
• Nota: No plano de execução constará como “LOAD AS SELECT”.
• Utilitário SQL-Loader:
sqlldr direct=true ...
• Restrições:
• Triggers devem ser desabilitados.
• Relacionamentos (constraints referenciais) devem ser
desabilitados.
• Para a mesma tabela, só pode haver um processo por vez.
49. Tabelas “externas”
External Tables
• São tabelas definidas, cujos dados residem numa fonte
externa (normalmente “arquivos texto”).
• Geralmente utilizam o mecanismo (driver) de acesso do SQL-
Loader — possibilitando alta performance.
• São apenas para leitura (read only).
• A principal utilização é para facilitar carga de dados, tornando
o processo transparente para a aplicação (acessando como se
fosse uma tabela comum).
• A fonte de dado (arquivo texto) deve estar acessível para o
servidor Oracle (diretório).
50. Tabelas “organizadas em índice”
Index-Organized Table (IOT)
• Tabelas armazenadas fisicamente como estrutura de índice B-
tree, conforme a chave primária (PK).
• Proporcionam melhor performance em acessos pela chave
primária (menos leituras físicas: não é necessário acessar o
índice para depois acessar a tabela).
• Permitem índices secundários.
51. Tabelas em “cluster”
Cluster Tables
• São tabelas cujos registros são armazenados fisicamente em
“agrupamentos” (clusters), conforme a chave definida.
• Podem ser entendidas como um “join” físico de tabelas.
• A utilidade é em tabelas que quase sempre são acessadas em
conjunto.
• Do ponto de vista “lógico” são tabelas separadas.