Dieser Vortrag beschäftigt sich mit den Möglichkeiten der Oracle Datenbank und den von Oracle kostenfrei bereitgestellten Werkzeuge zum Austausch von Daten. Dabei wird das Hautpaugenmerk auf das Laden von externen Dateien (z.B. CSV) in eine Oracle Datenbank.
Folgende Werkzeuge werden vorgestellt:
- Data Pump
- SQL Developer
- SQL*Loader
- SQL*Plus / SQLcl
- External Tables
Oracle Data Integrator (ODI) is an extract, load, and transform (E-LT) tool from Oracle used for high-speed data movement between disparate systems. It comprises a designer, operator, agent, and other components. ODI can extract and load data from many systems into Oracle and other databases. It uses knowledge modules as plugins to generate code for transferring data across different technologies. ODI also supports web services and is used in many Oracle products and data integration suites.
Simplifying Change Data Capture using Databricks DeltaDatabricks
In this talk, we will present recent enhancements to the techniques previously discussed in this blog: https://databricks.com/blog/2018/10/29/simplifying-change-data-capture-with-databricks-delta.html. We will start by discussing the different CDC architectures that can be deployed in concert with Databricks Delta. We will then use notebooks to demonstrate updated CDC SQL and look at performance tuning considerations for both batch as well as streaming CDC pipelines into Delta.
This document provides an overview of MySQL for Oracle DBAs, covering topics such as MySQL architecture, backup and recovery strategies, managing space and tables, and connecting MySQL to Oracle. The key points discussed include MySQL's product architecture and internal memory structures, filesystem layout for binaries, data and log files, InnoDB and MyISAM storage engines for managing space, and using tools like mysqldump, mysqlhotcopy, and mysqlbinlog for backups and point-in-time recovery.
Compression Options in Hadoop - A Tale of TradeoffsDataWorks Summit
Yahoo! is one of the most-visited web sites in the world. It runs one of the largest private cloud infrastructures, one that operates on petabytes of data every day. Being able to store and manage that data well is essential to the efficient functioning of Yahoo!`s Hadoop clusters. A key component that enables this efficient operation is data compression. With regard to compression algorithms, there is an underlying tension between compression ratio and compression performance. Consequently, Hadoop provides support for several compression algorithms, including gzip, bzip2, Snappy, LZ4 and others. This plethora of options can make it difficult for users to select appropriate codecs for their MapReduce jobs. This paper attempts to provide guidance in that regard. Performance results with Gridmix and with several corpuses of data are presented. The paper also describes enhancements we have made to the bzip2 codec that improve its performance. This will be of particular interest to the increasing number of users operating on “Big Data” who require the best possible ratios. The impact of using the Intel IPP libraries is also investigated; these have the potential to improve performance significantly. Finally, a few proposals for future enhancements to Hadoop in this area are outlined.
This document discusses execution plans in Oracle Database. It begins by explaining what an execution plan is and how it shows the steps needed to execute a SQL statement. It then covers how to generate an execution plan using EXPLAIN PLAN or querying V$SQL_PLAN. The document discusses what the optimizer considers a "good" plan in terms of cost and performance. It also explores key elements of an execution plan like cardinality, access paths, join methods, and join order.
Introduction to Distributed Computing Engines for Data Processing - Simone Ro...Data Science Milan
This document provides an introduction to distributed computing engines for data processing. It discusses what distributed computing systems are and how they address the problem of data and tasks being too large for a single machine. It then covers key distributed computing systems like Hadoop, Spark and Flink. For each system, it summarizes what it is, when and where it originated, why it was created, and how it works at a high level. It also provides brief examples of common use cases for each system today.
The document provides an overview of Oracle Database Exadata Cloud Service. It discusses how the service allows customers to easily provision Exadata infrastructure in the cloud with automated tools. The Exadata Cloud Service offers extreme performance and scalability for consolidated database workloads through its scale-out compute and storage architecture. Customers benefit from Oracle's management of the underlying infrastructure while maintaining control over database software administration.
The document discusses Spark exceptions and errors related to shuffling data between nodes. It notes that tasks can fail due to out of memory errors or files being closed prematurely. It also provides explanations of Spark's shuffle operations and how data is written and merged across nodes during shuffles.
Oracle Data Integrator (ODI) is an extract, load, and transform (E-LT) tool from Oracle used for high-speed data movement between disparate systems. It comprises a designer, operator, agent, and other components. ODI can extract and load data from many systems into Oracle and other databases. It uses knowledge modules as plugins to generate code for transferring data across different technologies. ODI also supports web services and is used in many Oracle products and data integration suites.
Simplifying Change Data Capture using Databricks DeltaDatabricks
In this talk, we will present recent enhancements to the techniques previously discussed in this blog: https://databricks.com/blog/2018/10/29/simplifying-change-data-capture-with-databricks-delta.html. We will start by discussing the different CDC architectures that can be deployed in concert with Databricks Delta. We will then use notebooks to demonstrate updated CDC SQL and look at performance tuning considerations for both batch as well as streaming CDC pipelines into Delta.
This document provides an overview of MySQL for Oracle DBAs, covering topics such as MySQL architecture, backup and recovery strategies, managing space and tables, and connecting MySQL to Oracle. The key points discussed include MySQL's product architecture and internal memory structures, filesystem layout for binaries, data and log files, InnoDB and MyISAM storage engines for managing space, and using tools like mysqldump, mysqlhotcopy, and mysqlbinlog for backups and point-in-time recovery.
Compression Options in Hadoop - A Tale of TradeoffsDataWorks Summit
Yahoo! is one of the most-visited web sites in the world. It runs one of the largest private cloud infrastructures, one that operates on petabytes of data every day. Being able to store and manage that data well is essential to the efficient functioning of Yahoo!`s Hadoop clusters. A key component that enables this efficient operation is data compression. With regard to compression algorithms, there is an underlying tension between compression ratio and compression performance. Consequently, Hadoop provides support for several compression algorithms, including gzip, bzip2, Snappy, LZ4 and others. This plethora of options can make it difficult for users to select appropriate codecs for their MapReduce jobs. This paper attempts to provide guidance in that regard. Performance results with Gridmix and with several corpuses of data are presented. The paper also describes enhancements we have made to the bzip2 codec that improve its performance. This will be of particular interest to the increasing number of users operating on “Big Data” who require the best possible ratios. The impact of using the Intel IPP libraries is also investigated; these have the potential to improve performance significantly. Finally, a few proposals for future enhancements to Hadoop in this area are outlined.
This document discusses execution plans in Oracle Database. It begins by explaining what an execution plan is and how it shows the steps needed to execute a SQL statement. It then covers how to generate an execution plan using EXPLAIN PLAN or querying V$SQL_PLAN. The document discusses what the optimizer considers a "good" plan in terms of cost and performance. It also explores key elements of an execution plan like cardinality, access paths, join methods, and join order.
Introduction to Distributed Computing Engines for Data Processing - Simone Ro...Data Science Milan
This document provides an introduction to distributed computing engines for data processing. It discusses what distributed computing systems are and how they address the problem of data and tasks being too large for a single machine. It then covers key distributed computing systems like Hadoop, Spark and Flink. For each system, it summarizes what it is, when and where it originated, why it was created, and how it works at a high level. It also provides brief examples of common use cases for each system today.
The document provides an overview of Oracle Database Exadata Cloud Service. It discusses how the service allows customers to easily provision Exadata infrastructure in the cloud with automated tools. The Exadata Cloud Service offers extreme performance and scalability for consolidated database workloads through its scale-out compute and storage architecture. Customers benefit from Oracle's management of the underlying infrastructure while maintaining control over database software administration.
The document discusses Spark exceptions and errors related to shuffling data between nodes. It notes that tasks can fail due to out of memory errors or files being closed prematurely. It also provides explanations of Spark's shuffle operations and how data is written and merged across nodes during shuffles.
The document discusses various topics related to optimizing performance in MySQL databases, including:
1. Choosing optimal data types can improve performance by reducing storage size and simplifying queries. Smaller and simpler types are generally better.
2. Indexing is important for performance. The document discusses different index types like B-Tree indexes and their uses. Indexes should be chosen based on the types of queries.
3. Benchmarking and profiling are important to identify bottlenecks. Benchmarking tests overall performance while profiling identifies specific costly operations. The results can help optimize the database, queries, or hardware configuration.
CatalogD polls Hive Metastore notifications to automatically sync metadata operations between Impala and other tools like Hive and Spark. This avoids query failures from stale metadata. Some edge cases require running legacy Impala commands like Invalidate Metadata if HDFS block locations change or new partitions are added without ALTER TABLE commands. Spark SQL and Hive loads should use INSERT OVERWRITE instead of directly writing files to generate notifications.
Take advantage of ScyllaDB’s wide column NoSQL features such as workload prioritization to balance the needs of OLTP and OLAP in the same cluster. Plus learn about the different compaction strategies and which one would be right for your workload. With additional insights on properly sizing your database and using open source tools for observability.
New Generation Oracle RAC 19c focuses on diagnosing Oracle RAC performance issues. The document discusses tools used by Oracle's RAC performance engineering team to instrument and measure key code areas between releases. It also covers how Oracle RAC provides high availability and scalability for workloads like traditional apps, new apps, IoT workloads, and more. Diagnosing performance requires understanding factors like private network latency and configuration.
Deep Dive : Spark Data Frames, SQL and Catalyst OptimizerSachin Aggarwal
RDD recap
Spark SQL library
Architecture of Spark SQL
Comparison with Pig and Hive Pipeline
DataFrames
Definition of a DataFrames API
DataFrames Operations
DataFrames features
Data cleansing
Diagram for logical plan container
Plan Optimization & Execution
Catalyst Analyzer
Catalyst Optimizer
Generating Physical Plan
Code Generation
Extensions
Oracle was first released in 1977 and has since become a powerful database used by large enterprises, while MySQL was first released in 1995 and is a popular open-source database often used for web applications. The document compares the two databases, noting Oracle's strength in large applications while MySQL excels at web uses due to its low price and ease of setup. It outlines key differences in their features, functionality, and typical use cases.
This document provides instructions for using Filebeat, Logstash, Elasticsearch, and Kibana to monitor and visualize MySQL slow query logs. It describes installing and configuring each component on appropriate servers to ship MySQL slow logs from database servers to Logstash for processing, indexing to Elasticsearch for search and analysis, and visualization of slow query trends and details in Kibana dashboards and graphs.
Developer Special: How to Prepare Applications for Notes 64-bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/developer-special-how-to-prepare-applications-for-notes-64-bit-clients/
Why 64-bit? Do you need it? Is it painful to switch? Will your applications stop working? Do you have to rewrite everything? Will the new Java 17 break things? We have the answers to these questions and more!
Spoiler warning: 64-bit clients are coming, and your applications are not ready. But not to worry; everything is fixable.
Join this webinar special with Notes development legend and HCL Lifetime Ambassador Julian Robichaux to find out. He will guide you through this journey and give you all the tools, tips, and tricks you need to outmaneuver any dangers and pitfalls. Get started today!
Dive into these 64-bit topics
- HCL guidelines for updating applications
- LotusScript: known issues, patterns to look for, debugger bugs, compiling with older Designers
- API calls: parameters, dealing with structs, NotesSession.UseDoubleAsPointer
- Java: Java 17, added/removed functionalities, compiler settings, XPages
- Eclipse plugins
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
As more and more people are moving to PostgreSQL from Oracle, a pattern of mistakes is emerging. They can be caused by the tools being used or just not understanding how PostgreSQL is different than Oracle. In this talk we will discuss the top mistakes people generally make when moving to PostgreSQL from Oracle and what the correct course of action.
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
The document provides an overview of Oracle database performance tuning best practices for DBAs and developers. It discusses the connection between SQL tuning and instance tuning, and how tuning both the database and SQL statements is important. It also covers the connection between the database and operating system, how features like data integrity and zero downtime updates are important. The presentation agenda includes topics like identifying bottlenecks, benchmarking, optimization techniques, the cost-based optimizer, indexes, and more.
Using ansible vault to protect your secretsExcella
This document discusses how Ansible Vault can be used to encrypt sensitive data like passwords and private keys to protect secrets when committing infrastructure as code to source control on GitHub. It recommends encrypting only sensitive information, not all files, and splitting encrypted variable files into directories. It also provides tips for using a password script and Jenkins to automate running plays with encrypted data without exposing passwords in plain text. The document aims to help balance the security of encrypting secrets with the usability of infrastructure as code workflows.
Apache Knox setup and hive and hdfs Access using KNOXAbhishek Mallick
There are two ways to set up Apache Knox on a server: using Ambari or manually. The document then provides steps for configuring Knox using Ambari, including entering a master secret password and restarting services. It also provides commands for testing HDFS and Hive access through Knox by curling endpoints or using Beeline.
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeDatabricks
Over the years, there has been extensive and continuous effort on improving Spark SQL’s query optimizer and planner, in order to generate high quality query execution plans. One of the biggest improvements is the cost-based optimization framework that collects and leverages a variety of data statistics (e.g., row count, number of distinct values, NULL values, max/min values, etc.) to help Spark make better decisions in picking the most optimal query plan.
Explore algunas de las opciones más comunes para entregar Alfresco One en su entorno operacional, considerando redundancia, alta disponibilidad, balanceo de carga y máximo rendimiento.
Simplifying And Accelerating Data Access for Python With Dremio and Apache ArrowPyData
By Sudheesh Katkam
PyData New York City 2017
Dremio is a new open source project for self-service data fabric. Dremio simplifies and accelerates access to data from any source and any size, including relational databases, NoSQL, Hadoop, Parquet, and text files. We'll show you how you can use Dremio to visually curate data from any source, then access via Pandas or Jupyter notebook for rapid access.
The document compares the query execution plans produced by Apache Hive and PostgreSQL. It shows that Hive's old-style execution plans are overly verbose and difficult to understand, providing many low-level details across multiple stages. In contrast, PostgreSQL's plans are more concise and readable, showing the logical query plan in a top-down manner with actual table names and fewer lines of text. The document advocates for Hive to adopt a simpler execution plan format similar to PostgreSQL's.
Lessons Learned Using arc42 in a Real DevOps TeamJohannes Dienst
In this presentation, the speaker will talk about his experiences, successes and failures with the arc42 architecture template in a DevOps team in a corporate environment with a product development focus.
Product development is often characterised by short iteration cycles and is therefore often operated in an agile manner, as in the speaker's team. There the existing unstructured documentation was transferred to the arc42 template and stored in a wiki. In the course of time, it turned out that tooling plays a decisive role for the quality of the documentation and therefore switched to Docs-as-Code.
In the course of the presentation, the most important decision points for the current iteration of the technical software architecture will be discussed. These include the handling of "developer prose", outdated documentation and the architecture decisions that are particularly important for a DevOps team. The integration into the methodical procedure Kanban was made possible with arc42 and a microsite based on AsciiDoc.
Not left out are the mistakes made, such as missing quality assurance of created documentation or the mixing of business and technical topics.
Building Robust ETL Pipelines with Apache SparkDatabricks
Stable and robust ETL pipelines are a critical component of the data infrastructure of modern enterprises. ETL pipelines ingest data from a variety of sources and must handle incorrect, incomplete or inconsistent records and produce curated, consistent data for consumption by downstream applications. In this talk, we’ll take a deep dive into the technical details of how Apache Spark “reads” data and discuss how Spark 2.2’s flexible APIs; support for a wide variety of datasources; state of art Tungsten execution engine; and the ability to provide diagnostic feedback to users, making it a robust framework for building end-to-end ETL pipelines.
The webinar will review a multi-layered framework for PostgreSQL security, with a deeper focus on limiting access to the database and data, as well as securing the data.
Using the popular AAA (Authentication, Authorization, Auditing) framework we will cover:
- Best practices for authentication (trust, certificate, MD5, Scram, etc).
- Advanced approaches, such as password profiles.
- Deep dive of authorization and data access control for roles, database objects (tables, etc), view usage, row-level security, and data redaction.
- Auditing, encryption, and SQL injection attack prevention.
Note: this session is delivered in German
Speaker:
Borys Neselovskyi, Sales Engineer, EDB
Der Vortrag zum Thema Migration war Teil der OPITZ CONSULTING Veranstaltungsreihe zum Thema Oracle 11gR2 Erfahrungen an verschiedenen Standorten unserer IT-Beratung. Die Migration von Datenbanken erfolgt aus verschiedenen Gründen: Für die eine Datenbank wurde der Wechsel der Hardware-Architektur oder der Austausch des Betriebssystems beschlossen. Eine zweite Datenbank soll an die neueste Version der Datenbank-Software angepasst werden. Die dritte Datenbank wird von einem Test- in ein Produktivsystem übernommen. Der Referent Christian Ballweg klärt die Begriffe Migration und Upgrade und zeigt Möglichkeiten der Übernahme einer Datenbank auf neue Plattformen durch die Techniken Import, Transportable Tablespaces und Data Guard. Dabei werden Vor- und Nachteile sowie die erforderliche Downtime betrachtet.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und illustriert an Beispielen. In Teil 3 handelt es sich dabei um:
DBMS_XPLAN
DBMS_ASSERT
DBMS_RESUMABLE
DBMS_UTILITY
The document discusses various topics related to optimizing performance in MySQL databases, including:
1. Choosing optimal data types can improve performance by reducing storage size and simplifying queries. Smaller and simpler types are generally better.
2. Indexing is important for performance. The document discusses different index types like B-Tree indexes and their uses. Indexes should be chosen based on the types of queries.
3. Benchmarking and profiling are important to identify bottlenecks. Benchmarking tests overall performance while profiling identifies specific costly operations. The results can help optimize the database, queries, or hardware configuration.
CatalogD polls Hive Metastore notifications to automatically sync metadata operations between Impala and other tools like Hive and Spark. This avoids query failures from stale metadata. Some edge cases require running legacy Impala commands like Invalidate Metadata if HDFS block locations change or new partitions are added without ALTER TABLE commands. Spark SQL and Hive loads should use INSERT OVERWRITE instead of directly writing files to generate notifications.
Take advantage of ScyllaDB’s wide column NoSQL features such as workload prioritization to balance the needs of OLTP and OLAP in the same cluster. Plus learn about the different compaction strategies and which one would be right for your workload. With additional insights on properly sizing your database and using open source tools for observability.
New Generation Oracle RAC 19c focuses on diagnosing Oracle RAC performance issues. The document discusses tools used by Oracle's RAC performance engineering team to instrument and measure key code areas between releases. It also covers how Oracle RAC provides high availability and scalability for workloads like traditional apps, new apps, IoT workloads, and more. Diagnosing performance requires understanding factors like private network latency and configuration.
Deep Dive : Spark Data Frames, SQL and Catalyst OptimizerSachin Aggarwal
RDD recap
Spark SQL library
Architecture of Spark SQL
Comparison with Pig and Hive Pipeline
DataFrames
Definition of a DataFrames API
DataFrames Operations
DataFrames features
Data cleansing
Diagram for logical plan container
Plan Optimization & Execution
Catalyst Analyzer
Catalyst Optimizer
Generating Physical Plan
Code Generation
Extensions
Oracle was first released in 1977 and has since become a powerful database used by large enterprises, while MySQL was first released in 1995 and is a popular open-source database often used for web applications. The document compares the two databases, noting Oracle's strength in large applications while MySQL excels at web uses due to its low price and ease of setup. It outlines key differences in their features, functionality, and typical use cases.
This document provides instructions for using Filebeat, Logstash, Elasticsearch, and Kibana to monitor and visualize MySQL slow query logs. It describes installing and configuring each component on appropriate servers to ship MySQL slow logs from database servers to Logstash for processing, indexing to Elasticsearch for search and analysis, and visualization of slow query trends and details in Kibana dashboards and graphs.
Developer Special: How to Prepare Applications for Notes 64-bit Clientspanagenda
Webinar Recording: https://www.panagenda.com/webinars/developer-special-how-to-prepare-applications-for-notes-64-bit-clients/
Why 64-bit? Do you need it? Is it painful to switch? Will your applications stop working? Do you have to rewrite everything? Will the new Java 17 break things? We have the answers to these questions and more!
Spoiler warning: 64-bit clients are coming, and your applications are not ready. But not to worry; everything is fixable.
Join this webinar special with Notes development legend and HCL Lifetime Ambassador Julian Robichaux to find out. He will guide you through this journey and give you all the tools, tips, and tricks you need to outmaneuver any dangers and pitfalls. Get started today!
Dive into these 64-bit topics
- HCL guidelines for updating applications
- LotusScript: known issues, patterns to look for, debugger bugs, compiling with older Designers
- API calls: parameters, dealing with structs, NotesSession.UseDoubleAsPointer
- Java: Java 17, added/removed functionalities, compiler settings, XPages
- Eclipse plugins
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
As more and more people are moving to PostgreSQL from Oracle, a pattern of mistakes is emerging. They can be caused by the tools being used or just not understanding how PostgreSQL is different than Oracle. In this talk we will discuss the top mistakes people generally make when moving to PostgreSQL from Oracle and what the correct course of action.
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
The document provides an overview of Oracle database performance tuning best practices for DBAs and developers. It discusses the connection between SQL tuning and instance tuning, and how tuning both the database and SQL statements is important. It also covers the connection between the database and operating system, how features like data integrity and zero downtime updates are important. The presentation agenda includes topics like identifying bottlenecks, benchmarking, optimization techniques, the cost-based optimizer, indexes, and more.
Using ansible vault to protect your secretsExcella
This document discusses how Ansible Vault can be used to encrypt sensitive data like passwords and private keys to protect secrets when committing infrastructure as code to source control on GitHub. It recommends encrypting only sensitive information, not all files, and splitting encrypted variable files into directories. It also provides tips for using a password script and Jenkins to automate running plays with encrypted data without exposing passwords in plain text. The document aims to help balance the security of encrypting secrets with the usability of infrastructure as code workflows.
Apache Knox setup and hive and hdfs Access using KNOXAbhishek Mallick
There are two ways to set up Apache Knox on a server: using Ambari or manually. The document then provides steps for configuring Knox using Ambari, including entering a master secret password and restarting services. It also provides commands for testing HDFS and Hive access through Knox by curling endpoints or using Beeline.
Adaptive Query Execution: Speeding Up Spark SQL at RuntimeDatabricks
Over the years, there has been extensive and continuous effort on improving Spark SQL’s query optimizer and planner, in order to generate high quality query execution plans. One of the biggest improvements is the cost-based optimization framework that collects and leverages a variety of data statistics (e.g., row count, number of distinct values, NULL values, max/min values, etc.) to help Spark make better decisions in picking the most optimal query plan.
Explore algunas de las opciones más comunes para entregar Alfresco One en su entorno operacional, considerando redundancia, alta disponibilidad, balanceo de carga y máximo rendimiento.
Simplifying And Accelerating Data Access for Python With Dremio and Apache ArrowPyData
By Sudheesh Katkam
PyData New York City 2017
Dremio is a new open source project for self-service data fabric. Dremio simplifies and accelerates access to data from any source and any size, including relational databases, NoSQL, Hadoop, Parquet, and text files. We'll show you how you can use Dremio to visually curate data from any source, then access via Pandas or Jupyter notebook for rapid access.
The document compares the query execution plans produced by Apache Hive and PostgreSQL. It shows that Hive's old-style execution plans are overly verbose and difficult to understand, providing many low-level details across multiple stages. In contrast, PostgreSQL's plans are more concise and readable, showing the logical query plan in a top-down manner with actual table names and fewer lines of text. The document advocates for Hive to adopt a simpler execution plan format similar to PostgreSQL's.
Lessons Learned Using arc42 in a Real DevOps TeamJohannes Dienst
In this presentation, the speaker will talk about his experiences, successes and failures with the arc42 architecture template in a DevOps team in a corporate environment with a product development focus.
Product development is often characterised by short iteration cycles and is therefore often operated in an agile manner, as in the speaker's team. There the existing unstructured documentation was transferred to the arc42 template and stored in a wiki. In the course of time, it turned out that tooling plays a decisive role for the quality of the documentation and therefore switched to Docs-as-Code.
In the course of the presentation, the most important decision points for the current iteration of the technical software architecture will be discussed. These include the handling of "developer prose", outdated documentation and the architecture decisions that are particularly important for a DevOps team. The integration into the methodical procedure Kanban was made possible with arc42 and a microsite based on AsciiDoc.
Not left out are the mistakes made, such as missing quality assurance of created documentation or the mixing of business and technical topics.
Building Robust ETL Pipelines with Apache SparkDatabricks
Stable and robust ETL pipelines are a critical component of the data infrastructure of modern enterprises. ETL pipelines ingest data from a variety of sources and must handle incorrect, incomplete or inconsistent records and produce curated, consistent data for consumption by downstream applications. In this talk, we’ll take a deep dive into the technical details of how Apache Spark “reads” data and discuss how Spark 2.2’s flexible APIs; support for a wide variety of datasources; state of art Tungsten execution engine; and the ability to provide diagnostic feedback to users, making it a robust framework for building end-to-end ETL pipelines.
The webinar will review a multi-layered framework for PostgreSQL security, with a deeper focus on limiting access to the database and data, as well as securing the data.
Using the popular AAA (Authentication, Authorization, Auditing) framework we will cover:
- Best practices for authentication (trust, certificate, MD5, Scram, etc).
- Advanced approaches, such as password profiles.
- Deep dive of authorization and data access control for roles, database objects (tables, etc), view usage, row-level security, and data redaction.
- Auditing, encryption, and SQL injection attack prevention.
Note: this session is delivered in German
Speaker:
Borys Neselovskyi, Sales Engineer, EDB
Der Vortrag zum Thema Migration war Teil der OPITZ CONSULTING Veranstaltungsreihe zum Thema Oracle 11gR2 Erfahrungen an verschiedenen Standorten unserer IT-Beratung. Die Migration von Datenbanken erfolgt aus verschiedenen Gründen: Für die eine Datenbank wurde der Wechsel der Hardware-Architektur oder der Austausch des Betriebssystems beschlossen. Eine zweite Datenbank soll an die neueste Version der Datenbank-Software angepasst werden. Die dritte Datenbank wird von einem Test- in ein Produktivsystem übernommen. Der Referent Christian Ballweg klärt die Begriffe Migration und Upgrade und zeigt Möglichkeiten der Übernahme einer Datenbank auf neue Plattformen durch die Techniken Import, Transportable Tablespaces und Data Guard. Dabei werden Vor- und Nachteile sowie die erforderliche Downtime betrachtet.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und illustriert an Beispielen. In Teil 3 handelt es sich dabei um:
DBMS_XPLAN
DBMS_ASSERT
DBMS_RESUMABLE
DBMS_UTILITY
SQL Tuning Sets sind seid jeher ein wichtiges Mittel in der Datenbank um SQL Workloads in der Datenbank zu speichern. Sie geben schnell Aufschluss über das verwendete SQL und bieten eine gute Grundlage zum Tuning oder für Advisors.
Diese Präsentation gibt eine Einführung in Oracle GoldenGate (Stand 11.2). Die Funktionsweise, die Eigenschaften und die Anwendungsszenarien von Oracle GoldenGate werden grob umrissen.
Lang ersehnt und endlich verfügbar: Mit Oracle Database 18c gibt es jetzt auch private temporäre Tables (engl. private temporary tables). Wie funktionieren diese? Was muss man berücksichtigen? Welche Anwendungsfälle gibt es? Antworten auf diese Fragen gibt es zusätzlich auch in unserem Blog unter https://apex.oracle.com/pls/apex/germancommunities/dbacommunity/tipp/6581/index.html
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Ulrike Schwinn
Schon seit vielen Jahren ist die Komprimierung von Daten ein wichtiger Bestandteil der Oracle Datenbank und wird beständig weiterentwickelt. Dies zeigte sich besonders auch im Datenbankrelease 11g mit der Einführung von neuen Techniken im Zusammenhang mit der neuen Option Advanced Compression. Die Komprimierung ist nun beispielsweise unabhängig vom Anwendungs– Workload und zusätzlich um die Bereiche unstrukturierte Daten, Backup Daten und Netzwerk (im Data Guard Umfeld) Komprimierung erweitert worden.
In Oracle Database 12c sind sogar Eigenschaften zur Verbesserung des Storage Management ergänzt worden. DieSlides geben einen Übernlick über den Stand der Komorimierung in der Oracle datenabnk bis zum aktuellen Release Stand
Ein IBM Domino Server stellt uns im Durchschnitt 1.200 Statistiken zur Verfügung.
Welche davon sind besonders wichtig? Welche Erkenntnisse und Maßnahmen lassen sich aus diesen Informationen ableiten?
Während unseres Streifzuges durch die wichtigsten Statistiken widmen wir uns unter anderem folgenden Themenbereichen: Server Performance und Auslastung, Cluster Performance, Disk Performance, Kapazitätsplanung / Konsolidierung, Replikation, Ansichts-Indizes, Volltext-Indizes,NameLookupCache, Database Buffer Pool & Caching, Mail-Statistiken, u.v.m.
Mit diversen Beispielen aus der Praxis bekommen Sie in dieser Session ein gutes - und bisweilen gar ganz neues - Bild von den vielen Informationen, die Ihnen ein Domino-Server im laufenden Betrieb zur Verfügung stellt. Zurück zu Hause verstehen Sie Ihre Domino-Server nach Besuch dieses Vortrages noch besser - und können so das Maximum aus Ihren Statistiken und Servern heraus holen.
Track 1.1: Technik - Administration: Dienstag, 11.11.2014
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
SAP Datashpere - von Bits und Bites zu Widgets und ChartsIBsolution GmbH
Inhalt:
Die Data Warehouse Cloud ermöglicht es Ihnen die Modellierung der Daten durchzuführen und in Modellen zusammenzuführen. Auf diese Weise können Sie Ihre Daten für das Reporting und den Analysen zur Verfügung stellen.
In diesem Webinar demonstrieren wir Ihnen das Space Management, mit dem die Datenspeicherung und Wartung des Datenmodells erfolgt. Des Weiteren gehen wir auf die Datenintegration mit remote und lokalen Tabellen sowie der BW Bridge ein und erläutern die Implementierung einer Datenzugriffskontrolle (DAC) für das Reporting. Ebenso werden die Highlights und Features der neuen Semantik des Analytical Model (AM) durchleuchtet und über SAC dargestellt.
Zielgruppe:
- Fachbereichs IT
- alle Fachbereiche mit IT Skills
Agenda:
- Space Management
- Datenintegration
- Analytical Model
- Implementierung einer Datenzugriffskontrolle (DAC) für das Reporting
Mehr über uns:
Website: https://www.ibsolution.com/
Karriereportal: https://ibsolution.de/karriere/
Webinare: https://www.ibsolution.com/academy/webinare
YouTube: https://www.youtube.com/user/IBSolution
LinkedIn: https://de.linkedin.com/company/ibsolution-gmbh
Xing: https://www.xing.com/companies/ibsolutiongmbh
Facebook: https://de-de.facebook.com/IBsolutionGmbH/
Instagram: https://www.instagram.com/ibsolution/?hl=de
Das könnte Sie auch interessieren: https://www.ibsolution.com/academy/blog/data-and-analytics/sap-datasphere-die-neue-generation-des-daten-managements
Aktuelle Prüfungsfragen und Antworten zu 070-462 www.it-pruefungen.de
Wir Stellen Fragen und Antworten für Prüfungen im IT-Bereich bereit. Falls Sie anschließend den Test doch nicht bestehen, können Sie die Geld-zurück-Garantie nutzen. Die echten und originalen Prüfungsunterlagen zu 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )bei www.it-pruefungen.de wurden verfasst von unseren IT-Experten mit den Informationen von 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )aus dem Testzentrum wie PROMETRIC oder VUE
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
JavaLand 2018, Brühl: Vortrag von Josef Adersberger (@adersberger, CTO bei QAware).
Abstract:
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
Norbert Rieger – IT-Tage 2015 – Optimierung der Performance bei Oracle-Datenb...Informatik Aktuell
Da bei vielen Kunden nur die Oracle Standard Edition zur Verfügung steht, stehen dem DBA einige wirksame Werkzeuge wie das Automatic Workload Repository nicht zur Verfügung. In dem Vortrag wird der Referent an konkreten Beispielen aufzeigen, wie die Performance von Datenbanken auch mit der Standard Edition analysiert und optimiert werden kann. Besonderen Raum wird die Vorstellung von automatisierten Optimierungsskripten einnehmen.
5. Zeichenkodierung 1/3
• Zeichensatz wird beim Anlegen der Datenbank festgelegt
• Legt fest, welche Zeichen in der Datenbank gespeichert werden können
• Heutzutage wird immer häufiger der Unicode Zeichensatz (z.B. AL32UTF8) eingesetzt
• Zeichen müssen zwischen Client und Datenbank korrekt konvertiert werden
• Anderenfalls kommt es zu logischer Datenkorruption
• Bei identischen Zeichensatz findet keine Validierung statt
• Auf Client-Seite muss die Umgebungsvariable NLS_LANG korrekt gesetzt sein
• Legt fest welchen Zeichensatz der Client verwendet (z.B. WE8MSWIN1252)
• Standard Zeichensatz ist US7ASCII
$> set/export NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252
Unter Windows kann NLS_LANG auch über einen Registry Key unter dem Zweig
HKEY_LOCAL_MACHINESOFTWAREORACLE<Home Name> gesetzt werden
6. Zeichenkodierung 2/3
• Bei der Verarbeitung einer Datei muss NLS_LANG ggf. anders gesetzt werden
• Zeichensatz muss mit dem Kodierung der Datei übereinstimmen
• Vor dem Einlesen einer Datei immer die Kodierung überprüfen
$> file data_unicode.txt
data_unicode.txt: UTF-8 Unicode text, with no line terminators
$> export NLS_LANG=GERMAN_GERMANY.AL32UTF8
$> file data_ansi.txt
data_ansi.txt: ISO-8859 text, with CRLF line terminators
$> export NLS_LANG=GERMAN_GERMANY.WE8ISO8859P15
Unter Windows kann die Kodierung einer Datei mit externen Tools, wie zum Beispiel
Notepad++ ausgelesen werden.
Windows End-
of-Line Marker
P15 unterstützt
das €-Zeichen
7. Zeichenkodierung 3/3
• Für die Überprüfung, ob die Daten korrekt in der Datenbank gespeichert wurden, sollte ein
Unicode Client, wie zum Beispiel der SQL Developer verwendet werden
Die aktuelle Version des SQL Developers kann über das Oracle Technology Network
(https://bit.ly/2LM1UQF) bezogen werden.
9. Allgemeines
• Eingeführt mit Oracle 10g als Nachfolger des Export/Import Utility
• Server-basiertes Werkzeug zum Entladen und Laden von Metadaten und Daten
• Verwendet intern das Datenbank-Jobsystem
• Ist vollständig in PL/SQL geschrieben (DBMS_DATAPUMP, DBMS_METADATA)
• Legacy Mode zur Verwendung der alten Export/Import Skripte
• Nur für den Austausch von Daten zwischen Oracle Datenbanken geeignet
• Speicherung der Daten erfolgt in dem proprietären Stream Format der Direct Path API
• Alternativ kann ein Datenbank-Link zwischen Quelle und Ziel verwendet werden
• Dumpfile wird auf dem Server abgelegt (DIRECTORY Objekt)
• Nicht kompatibel mit den Dumpfiles des Export/Import Utility
Die Client Werkzeuge expdp und impdp dienen lediglich der Interaktion mit der Data
Pump API.
10. Data Pump Export/Import Modi
• Full (FULL=YES)
• Entladen der vollständigen Datenbank bzw. Laden aller Objekte des Dumpfiles
• Tablespace (TABLESPACES=CRM_DATA,ERP_DATA)
• Entladen/Laden der Objekte von einem oder mehreren Tablespaces
• Transportable Tablespace (TRANSPORT_TABLESPACES=CRM_DATA,ERP_DATA)
• Entladen/Laden der Metadaten der Objekte der zu transportierenden Tablespaces
• Schema (Default) (SCHEMAS=USER1,USER2,…)
• Entladen/Laden vollständiger Schemas
• Table (TABLES=SCOTT.EMP,SCOTT.DEPT)
• Entladen/Laden von einzelnen Tabellen oder Partitionen
Objekte von System-Schemas, wie zum Beispiel SYS, ORDSYS oder MDSYS werden
nicht exportiert.
11. Beispiele
• Konsistenter, vollständiger Export der Datenbank
• Benutzer benötigt die Rolle EXP_FULL_DATABASE (z.B. SYSTEM)
• Paralleler Export nur mit der Enterprise Edition nöglich
• Export des Schemas SCOTT, ohne Objekt-Statistiken
• Generierung SQL-Skript für ein bestehndes Dumpfile
$> expdp system DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
SCHEMAS=SCOTT LOGFILE=expdp_scott.log EXCLUDE=STATISTICS
$> expdp system DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_full_%U.dmp
LOGFILE=expdp_full.log FULL=YES FLASHBACK_TIME=SYSTIMESTAMP PARALLEL=2
$> impdp system DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
SQLFILE=scott.sql SCHEMAS=SCOTT
Auf Undo
Retention achten
12. Reduzierung der Spaltenanzahl und Datenmenge
• Bei einem Tabellen Export wird immer die vollständige Tabelle, inkl. aller Spalten exportiert.
• Lediglich die Datenmenge kann durch Angabe des QUERY Parameters eingeschränkt
werden
• Ab Oracle 12c kann eine View definiert werden, die dann als eigenständige Tabelle
exportiert wird
• Erlaubt das Ausblenden sensibler/nicht benötigter Spalten
• Erlaubt die Ergebnismenge einer komplexen Abfrage (z.B. Joins) zu exportieren
• Intern wird eine „Vorlagen-Tabellen“ mit den Spalten der View, aber ohne Daten erstellt
$> expdp scott/tiger DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
VIEWS_AS_TABLES=V_EMP_DEPT10 NOLOGFILE=YES
$> expdp scott/tiger DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
TABLES=EMP QUERY=EMP:"WHERE deptno = 10" NOLOGFILE=YES
13. Manipulation von Metadaten und Daten 1/2
• Data Pump erlaubt das Manipulieren der als XML gespeicherten Metadaten
• Parameter: REMAP_TABLESPACE, REMAP_SCHEMA, REMAP_TABLE, TRANSFORM
• Zusätzlich wird die Manipulation von Daten mittels REMAP_DATA ermöglicht
• Vor dem Schreiben der Daten wird eine Funktion eines PL/SQL Pakets aufgerufen
• Wird auf Spaltenebene definiert
$> impdp scott/tiger DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
TABLES=EMP REMAP_DATA=EMP.ENAME:DATA_TRANSFORM.HIDE_NAME NOLOGFILE=YES
$> impdp scott/tiger DIRECTORY=DATA_PUMP_DIR DUMPFILE=expdp_scott.dmp
TABLES=EMP REMAP_TABLESPACE=SCOTT_DATA:EMP_DATA TRANSFORM="PCTSPACE:20"
NOLOGFILE=YES
14. Manipulation von Metadaten und Daten 2/2
• Beispiel: PL/SQL Funktion, die den Namen auf den ersten Buchstaben kürzt
Die PL/SQL Funktion sollte kein Rollback oder Commit auslösen.
SQL> CREATE OR REPLACE PACKAGE DATA_TRANSFORM IS
FUNCTION HIDE_NAME (name IN VARCHAR2) RETURN VARCHAR2;
END DATA_TRANSFORM;
/
SQL> CREATE OR REPLACE PACKAGE BODY DATA_TRANSFORM IS
FUNCTION HIDE_NAME (name IN VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN SUBSTR(name, 0, 1) || '.';
END HIDE_NAME;
END DATA_TRANSFORM;
/
15. Data Pump API – Schema Export
DECLARE
h1 number;
begin
h1 := DBMS_DATAPUMP.OPEN (operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'EXP_SD_1712-12_17_24‘,
version => '12.2');
DBMS_DATAPUMP.SET_PARALLEL(handle => h1, degree => 1);
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'expdp_scott-'||TO_CHAR(SYSDATE,'hh24_mi_ss')||'.log‘,
directory => 'DATA_PUMP_DIR', filetype => 3);
DBMS_DATAPUMP.SET_PARAMETER(handle => h1, name => 'KEEP_MASTER', value => 1);
DBMS_DATAPUMP.METADATA_FILTER(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''SCOTT'')');
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'expdp_scott-'||TO_CHAR(SYSDATE,'hh24_mi_ss')||'.dmp‘,
directory => 'DATA_PUMP_DIR', filesize => '500M', filetype => 1);
DBMS_DATAPUMP.SET_PARAMETER(handle => h1, name => 'INCLUDE_METADATA', value => 1);
DBMS_DATAPUMP.DATA_FILTER(handle => h1, name => 'SUBQUERY', value => 'WHERE DEPTNO = 10', table_name => 'EMP‘,
schema_name => 'SCOTT');
DBMS_DATAPUMP.SET_PARAMETER(handle => h1, name => 'FLASHBACK_SCN', value => DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER);
DBMS_DATAPUMP.SET_PARAMETER(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC');
DBMS_DATAPUMP.SET_PARAMETER(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');
DBMS_DATAPUMP.START_JOB(handle => h1, skip_current => 0, abort_step => 0);
DBMS_DATAPUMP.DETACH(handle => h1);
END;
/
Liste der Schemas
25. Allgemeines
• Ergebnisse von SQL Abfragen können direkt im SQL Worksheet exportiert werden
• Über das Kontextmenu Export im Query Result Reiter zu finden
• Unterstützte Formate:
• CSV, DELIMITED, HTML, JSON, T2, TSV, XML
• Microsoft Excel, PDF
• INSERT, FIXED, LOADER
• Externe Textdateien (CSV, DELIMITED, TSV) können über den Import Wizard geladen werden
• Aufruf über das Kontextmenü (Import Data…) einer Tabelle im Connections Browser
• Kann verwendet werden, um ein SQL*Loader Controlfile zu generieren
34. Allgemeines
• Laden von externen Dateien in die Datenbank
• Die flexible Parsing Engine erlaubt das Laden von nahezu beliebig formatierten Dateien
• Inklusive dem Laden von XML Dateien
• Unterstützung unterschiedlicher Load-Methoden
• Direct Path: Formatierte Oracle Blöcke werden direkt in die Datafiles geschrieben
(verbesserte Performance)
• Conventional Path: Ausführung von klassischen INSERT Anweisungen in Kombination
mit einem Bind-Array-Buffer
• Tabellen werden nicht automatisch durch SQL*Loader erstellt
• Konfiguration des SQL*Loader erfolgt in der Regel über ein Control File
• Für einfache Ladevorgänge kann der SQL*Loader Express Mode verwendet werden
Der SQL*Loader kann auch in den Instant Client integriert werden (Paket: Tools).
35. SQL*Loader Control File
$> vi emp.ctl
LOAD DATA
INFILE 'emp*.csv‘ BADFILE 'emp.bad' DISCARDFILE 'emp.dis'
APPEND
INTO TABLE EMP
WHEN deptno = '10'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(
EMPNO ":EMPNO + 1000",
ENAME "UPPER(:ename)",
JOB,
MGR,
HIREDATE DATE "dd.mm.yyyy",
SAL,
COMM,
DEPTNO
)
$> sqlldr scott/tiger CONTROL=emp.ctl
Die vom SQL*Loader generierten BADFILE (fehlerhafte Zeilen) und DISCARDFILE
(aussortierte Zeilen) Dateien können wiederum als INFILE verwendet werden.
Eingabedateien, Verwendung
von Wildcards ab 12c möglich
Filterung von Datensätzen
Manipulation der Daten
• Einfache Textdatei zum Steuern
eines SQL*Loader Ladevorganges
• Unterteilt in drei große Bereiche
• Sitzungsinformationen
• Tabellen- und
Feldinformationen
• Eingabedaten (BEGINDATA,
optional)
• Kommentare können mit --
eingeleitet werden
• Escape-Zeichen: (Backslash)
36. SQL*Loader Express Mode
• Verfügbar ab Oracle 12c Release 1
• CSV Dateien können direkt in die dazugehörige Tabelle geladen werden
• Der Name der Eingabedatei entspricht dem Namen der Zieltabelle
• Im Hintergrund wird automatisch ein DIRECTORY Objekt angelegt
• Existiert bereits ein entsprechendes Objekt, so wird dies genommen
• Für das Anlegen benötigt der Benutzer das CREATE ANY DIRECTORY Privileg
• Beispiel: Laden von Datensätzen in die Tabelle EMP
$> vi EMP.dat
9999,GOHMANN,CEO,,01-JAN-70,10000,,10
$> sqlldr scott/tiger TABLE=EMP
Bei größeren Eingabedateien empfiehlt sich die Aktivierung der Resumable Operation
(resumable=yes), damit Ladevorgänge nicht direkt abbrechen, wenn ein Tablespace
vollgelaufen ist.
38. Generierung einer CSV Ausgabe mit SQL*Plus 1/3
• Verfügbar ab Oracle 12c Release 2
• Ausgabe der Ergebnismenge einer Abfrage als Comma Separated Values (CSV)
• Änderung des Trennzeichens (DELIMITER) und ob Anführungszeichen bei Zeichenketten
(QUOTE) verwendet werden sollen ist möglich
• Das verwendete Trennzeichen wird in Zeichenketten nicht escaped
SQL> SET MARKUP CSV ON DELIMITER ";" QUOTE ON
SQL> SELECT * FROM scott.emp WHERE ename = 'SCOTT';
"EMPNO";"ENAME";"JOB";"MGR";"HIREDATE";"SAL";"COMM";"DEPTNO"
7788;"SCOTT";"ANALYST";7566;"19-APR-87";3000;;20
Die Generierung einer HTML Ausgabe gab es bereits in früheren Versionen von
SQL*Plus.
39. Generierung einer CSV Ausgabe mit SQL*Plus 2/3
• Formatierung von Spalten über COLUMN Kommandos ist möglich
• COLUMN FORMAT
• COLUMN HEADING
• COLUMN NULL
SQL> COLUMN empno FORMAT 000009
SQL> COLUMN ename HEADING emp_name
SQL> COLUMN comm NULL 'N/A'
SQL> SELECT * FROM scott.emp WHERE ename = 'SCOTT';
"EMPNO";"EMP_NAME";"JOB";"MGR";"HIREDATE";"SAL";"COMM";"DEPTNO"
007788;"SCOTT";"ANALYST";7566;"19-APR-87";3000;N/A;20
Weitere COLUMN Kommandos, wie z.B. NOPRINT können (negative) Auswirkungen auf
das Resultat haben.
40. Generierung einer CSV Ausgabe mit SQL*Plus 3/3
• Ausgabe als CSV kann direkt beim Starten von SQL*Plus aktiviert werden
• Praktisch für die automatisierte Generierung von CSV Dateien
• Bestehende SQL Skripte müssen nicht erweitert werden
• Leerzeilen können z.B. mit sed entfernt werden
• Ggf. bei geänderten glogin.sql weitere Zeilen entfernen
• Die Ausgabe als HTML kann analog dazu aktiviert werden
$> sqlplus -S -M "CSV ON DELIMITER ';'" scott/tiger @select_data.sql | sed '/^$/d'
Durch Verwendung des -S Parameters wird SQL*Plus im Silent Mode verwendet.
41. Wechseln der Formatierung in SQLcl
• SQLcl erlaubt es mit SET SQLFORMAT das Format der Ausgabe zu ändern
• Folgende Formate werden unterstützt:
• CSV, HTML, JSON, XML
• ANSICONSOLE, INSERT, LOADER, FIXED, DELIMITED
• Die Angabe des Formats kann über ein spezielles Kommentar angegeben werden
• Zusätzlich besteht die Möglichkeit eigene Formate zu definieren (Java Script)
• Siehe https://www.thatjeffsmith.com/archive/2016/12/custom-sqlformats-with-sqlcl/
SQL> SET SQLFORMAT csv
SQL> SELECT /*csv*/ * FROM emp;
SET SQLFORMAT und das spezielle Kommentar können im SQL Developer ebenfalls
verwendet werden.
43. Allgemeines
• Spezieller Objekttyp, der lesenden Zugriff auf Dateien außerhalb der Datenbank erlaubt
• Manipulation der Daten ist nicht möglich, entladen von Daten dagegen schon
• Dateien können nahezu beliebig formatiert sein
• Es wird eine Untermenge der Funktionalitäten des SQL*Loaders verwendet
• Lediglich Metainformationen zu der Tabelle werden im Data Dictionary abgelegt
• View: DBA_EXTERNAL_TABLES
• Ab Oracle 18c können Inline External Tables verwendet werden
• Kann wie eine „normale“ Tabelle in SQL Anweisungen verwendet werden
• Zugriff auf die Daten erfolgt über einen Access Driver, die unterschiedliche Funktionalitäten
bereitstellen
Objektstatistiken sollten auch für External Tables mittels DBMS_STATS gesammelt
werden.
SQL> SELECT * FROM EXTERNAL(...);
44. Access Drivers
ORACLE_LOADER (Default)
• Lesender Zugriff auf Textdateien außerhalb der Datenbank
ORACLE_DATAPUMP
• Entladen der Ergebnismenge einer Abfrage in ein binäres Dumpfile
• Zugriff auf Inhalte von binären Dumpfiles
• Kann nicht von Data Pump gelesen werden
ORACLE_HIVE
• Ab Oracle 12c Release 2
• Lesender Zugriff auf Daten einer Apache Hive Datenquelle
ORACLE_HDFS
• ab Oracle 12c Release 2
• Lesender Zugriff auf Dateien in einem Hadoop Distributed File System (HDFS)
45. Preprocessor
• Erlaubt das automatische Ausführen eines Betriebssystembefehls/-skriptes
• Nicht verfügbar, wenn Database Vault aktiv ist
• Parameter an einen Befehl können nicht übergeben werden
• Z.B.: Entpacken der gezippten Eingabedateien, Manipulation der Inhalte
• Steht nur für den Access Driver ORACLE_LOADER zur Verfügung
• Es werden EXECUTE Privilegien für das DIRECTORY Objekt benötigt
• ACHTUNG: Der Benutzer kann dann jedes Skript in dem Verzeichnis ausführen
• Unter Windows sollte die erste Anweisung in einem Skript @echo off sein
• Anderenfalls würden die ausgeführten Befehle als Eingabedaten verwendet werden
SQL> GRANT EXECUTE ON DIRECTORY data_dir TO SCOTT;
Ein eigenes Verzeichnis für die ausführbaren Preprocessor Dateien verwendet.
46. Partitionierte External Tables
• Ab Oracle 12c Release 2 können partitionierte External Tables angelegt werden
• Eine Partition entspricht einer oder mehrerer Eingabedateien
• Bis auf Ebene Subpartition möglich
• Korrektheit der Daten gegenüber dem Partition Key wird nicht geprüft
• DBA ist verantwortlich für die Konsistenz der Daten
• Wird von allen Access Drivern unterstützt
• Optimizer kann z.B. Partition Pruning einsetzen, um die Performance der Abfrage zu
verbessern
47. ORACLE_LOADER Beispiel
SQL> CREATE DIRECTORY ext_data_dir AS '/data';
SQL> CREATE TABLE emp_xt4 (
empno NUMBER(4),
ename VARCHAR2(10),
deptno NUMBER(2)
) ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_data_dir
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
PREPROCESSOR 'unzip_emp.sh'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
))
REJECT LIMIT UNLIMITED
PARTITION BY LIST (deptno)
(PARTITION emp_dept10 VALUES ('10') LOCATION ('emp_dept10a.csv’, 'emp_dept10b.csv'),
PARTITION emp_dept20 VALUES ('20') LOCATION ('emp_dept20.csv'));
Preprocessor
Partitionierung
48. Entladen von Daten
• Access Driver ORACLE_DATAPUMP erlaubt das Entladen von Daten in eine externe Datei
• Daten werden in einem binären, proprietären Format (Dumpfile) gespeichert
• Kann wiederum nur mittels ORACLE_DATAPUMP eingelesen werden
• Parallelisierung ist durch Angabe von PARALLEL mit mehreren Dumpfiles möglich
Das Dumpfile ist plattform- und betriebssystemunbhängig.
SQL> CREATE TABLE emp_xt ORGANIZATION EXTERNAL
(TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_dir LOCATION ('ext_xt.dmp'))
AS SELECT empno, ename FROM emp WHERE deptno = 10;
SQL> CREATE TABLE emp_deptno10_xt (empno NUMBER(4), ename VARCHAR2(10))
ORGANIZATION EXTERNAL
(TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY data_dir LOCATION ('ext_xt.dmp'));
49. Further Information
SQL Developer Documentation
https://docs.oracle.com/cd/E12151_01/index.htm
Oracle Utilities Guide 19c
https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/index.html
My Oracle Support
https://support.oracle.com