Do you want to get up to speed with the most current release of Oracle Database? If so, this session is for you. You will learn about the most exciting and useful new features of Oracle Database 12c that can make your work as a database developer a lot easier. There is more to Oracle Database 12c than just pluggable databases.
The document contains SQL commands that create tables, insert data, and perform queries on the tables. The tables created are studies, software, and programmer. Data is inserted and various queries are run to retrieve, aggregate, and analyze the data. Key information summarized includes:
- Tables were created to store student studies data, software project data, and programmer details.
- Data was inserted into the tables and various queries were run to retrieve, calculate statistics on, and analyze the data across the tables.
- Queries included finding averages, minimums, maximums, counts, sums, and using functions like trunc, round, and to_char to manipulate dates and strings.
These slides are from OpenWorld 2018. We covered
- conventional CONNECT BY syntax in Oracle
- extensions that were introduced in more recent versions
- the recursive WITH clause
The document describes a wage accounting system for two divisions - Worsted and Woollen. It includes details of the system users, master tables to store employee and organizational data, transaction tables to log attendance, and reports that can be generated. The system is designed to track employee attendance on a daily basis and calculate wages based on attendance, leaves, and overtime. Department supervisors can make entries for employee details, attendance, leaves and overtime for their departments.
Slides from the ITOUG events in Rome and Milan 2020.
Most people think of the Flashback features in Oracle as the "In Case of Emergency" switch, to only be used when some catastrophe has occurred on your database. And while it is true that Flashback will definitely help you 3 seconds after you press the Commit button and you realise that you probably needed to have a WHERE clause on that "delete all rows from the SALES table" SQL statement. Or for when you run "drop table" on the Production database, when you were just so sure that you were logged onto the Test system. But Flashback is not only for those "Oh No!" moments. It enables benefits for developers ranging from data consistency to continuous integration and data auditing. Tucked away in Enterprise Edition are six independent and powerful technologies that might just save your career—they will also open up a myriad of other benefits of well.
Latin America Tour 2019 - 10 great sql featuresConnor McDonald
By expanding our knowledge of SQL facilities, we can let all the boring work be handled via SQL rather than a lot of middle-tier code, and we can get performance benefits as an added bonus. Here are some SQL techniques to solve problems that would otherwise require a lot of complex coding, freeing up your time to focus on the delivery of great applications.
The document provides instructions on restarting HDFS and HBase, general HBase commands, data definition and manipulation commands in HBase, and security commands like grant and revoke. It includes the syntax and examples for commands like create, list, describe, put, get, delete, scan, count, grant and revoke.
The document contains SQL commands that create tables, insert data, and perform queries on the tables. The tables created are studies, software, and programmer. Data is inserted and various queries are run to retrieve, aggregate, and analyze the data. Key information summarized includes:
- Tables were created to store student studies data, software project data, and programmer details.
- Data was inserted into the tables and various queries were run to retrieve, calculate statistics on, and analyze the data across the tables.
- Queries included finding averages, minimums, maximums, counts, sums, and using functions like trunc, round, and to_char to manipulate dates and strings.
These slides are from OpenWorld 2018. We covered
- conventional CONNECT BY syntax in Oracle
- extensions that were introduced in more recent versions
- the recursive WITH clause
The document describes a wage accounting system for two divisions - Worsted and Woollen. It includes details of the system users, master tables to store employee and organizational data, transaction tables to log attendance, and reports that can be generated. The system is designed to track employee attendance on a daily basis and calculate wages based on attendance, leaves, and overtime. Department supervisors can make entries for employee details, attendance, leaves and overtime for their departments.
Slides from the ITOUG events in Rome and Milan 2020.
Most people think of the Flashback features in Oracle as the "In Case of Emergency" switch, to only be used when some catastrophe has occurred on your database. And while it is true that Flashback will definitely help you 3 seconds after you press the Commit button and you realise that you probably needed to have a WHERE clause on that "delete all rows from the SALES table" SQL statement. Or for when you run "drop table" on the Production database, when you were just so sure that you were logged onto the Test system. But Flashback is not only for those "Oh No!" moments. It enables benefits for developers ranging from data consistency to continuous integration and data auditing. Tucked away in Enterprise Edition are six independent and powerful technologies that might just save your career—they will also open up a myriad of other benefits of well.
Latin America Tour 2019 - 10 great sql featuresConnor McDonald
By expanding our knowledge of SQL facilities, we can let all the boring work be handled via SQL rather than a lot of middle-tier code, and we can get performance benefits as an added bonus. Here are some SQL techniques to solve problems that would otherwise require a lot of complex coding, freeing up your time to focus on the delivery of great applications.
The document provides instructions on restarting HDFS and HBase, general HBase commands, data definition and manipulation commands in HBase, and security commands like grant and revoke. It includes the syntax and examples for commands like create, list, describe, put, get, delete, scan, count, grant and revoke.
KLIMA Software - Some DEMO Results Outputs in SERBIAN LanguageKLIMA Software
This document contains calculations of heat gains for a building project using the CLOAD software. It provides heat gain calculations for the whole building, for the first floor as a whole, and for an individual room on the first floor called Room 1, including sensible heat gains, latent heat gains, solar heat gains, transmission heat gains, infiltration heat gains, ventilation heat gains, occupant sensible and latent heat gains, lighting heat gains, and equipment sensible and latent heat gains.
1. The document describes how to initialize and reset Cisco Catalyst switches to the factory default settings. This involves disabling passwords, erasing the startup configuration file, and deleting VLAN files.
2. Configuration scenarios are provided for setting up Cisco switches in a network. Scenario 1 involves configuring the management VLAN and IP addresses on core and access switches to be on a separate management subnet.
3. Scenario 2 modifies the management configuration so that the IP addresses are assigned to VLANs on the floor subnets, rather than a separate management subnet.
1) The document describes how to configure an Oracle 12c database with a Far Sync standby instance. It involves creating the control file and standby redo logs for the Far Sync instance, configuring the necessary parameters, and starting up the primary and Far Sync instances.
2) Issues arise when the Far Sync instance is shut down, preventing redo logs from being shipped to the physical standby. The document resolves this by configuring an alternate destination to directly ship logs from the primary to the physical standby.
3) When the Far Sync instance starts up again, Oracle Data Guard resynchronizes it and returns to shipping redo through the Far Sync instance to the physical standby, with the alternate destination becoming
This document contains input parameters for performing a band structure calculation using the KKR method on bcc iron. Key parameters include:
- The structure is body centered cubic (bcc) iron with a lattice constant of 5.27 bohr
- Non-relativistic and magnetic calculations will be performed
- Band energies will be calculated along high symmetry points in the Brillouin zone
Dbms plan - A swiss army knife for performance engineersRiyaj Shamsudeen
This document discusses dbms_xplan, a tool for performance engineers to analyze execution plans. It provides options for displaying plans from the plan table, shared SQL area in memory, and AWR history. Dbms_xplan provides more detailed information than traditional tools like tkprof, including predicates, notes, bind values, and plan history. It requires privileges to access dictionary views for displaying plans from memory and AWR. The document also demonstrates usage examples and output formats for dbms_xplan.analyze.
This document provides step-by-step instructions for configuring SNC (Security Network Connections) for an SAP router. It describes downloading cryptographic software, creating keys and certificates, importing certificates, configuring the SAP router startup, and debugging. The key steps are: 1) creating keys and certificates, 2) transmitting the certificate request, 3) importing the returned certificate, 4) starting the SAP router with SNC encryption specified, and 5) debugging by checking certificates and environment variables.
This document discusses range and hash partitioning in Oracle databases. It provides examples of creating tables partitioned by range on date columns and hash on number columns. Benefits discussed include partition pruning for performance and even distribution of data for hash partitioning. Multi-column range partitioning and improvements in 11g are also covered.
Another year goes by, and most likely, another data access framework has been invented. It will claim to be the fastest, smartest way to talk to the database, and just like all those that came before it, it will not be. Because the best database access tool has been there for more than 30 years now, and that is PL/SQL. Although we all sometimes fall prey to the mindset of “Oh look, a shiny new tool, we should start using it," the performance and simplicity of PL/SQL remain unmatched. This session looks at the failings of other data access languages, why even a cursory knowledge of PL/SQL will make you a better developer, and how to get the most out of PL/SQL when it comes to database performance.
The document describes HiveQL commands for creating, altering, and dropping databases, tables, views, and indexes. It also covers built-in functions, SELECT queries with filters, sorting, grouping, and joins. Key commands include CREATE DATABASE, CREATE TABLE, LOAD DATA, ALTER TABLE, DROP TABLE, SELECT, GROUP BY, and JOIN.
pstack, truss etc to understand deeper issues in Oracle databaseRiyaj Shamsudeen
The document discusses various process monitoring and debugging tools for Oracle databases like truss, pstack and pfiles. It provides examples of using truss to trace system calls of processes like PMON and DBWR. It demonstrates how truss can be used to see shared memory segment creation during database startup and process attachment. It also summarizes the process creation steps seen during connection creation in Oracle.
Tensorflow and python : fault detection system - PyCon Taiwan 2017Eric Ahn
This document summarizes Eric Ahn's presentation on using Tensorflow and Python for fault detection from system logs. Ahn discusses how convolutional neural networks (CNNs) can be applied to analyze log data and detect faults. He provides an example of applying CNNs to a system log, demonstrating how the log entries would be convolved to extract features and classify the entries as indicating either a normal or fault condition in 3 or fewer sentences.
My introduction about how to send jobs in a HPC, create environments and install programs in CONDA, and make use of modules installed in SAGA (an HPC used by University of Oslo researchers).
Analytic SQL functions, or "window functions have been there since 8.1.6, but they are still dramatically underused by application developers. This session looks at the syntax and usage of analytic functions, and how they can supercharge your SQL skillset.
Covers analytics from their inception in 8.1.6 all the through to enhancements in 18 and 19
The document discusses new features in MySQL 5.6 replication including:
1) Crash-safe slaves that store replication information in database tables to prevent data loss if slaves crash.
2) Multi-threaded slaves that improve performance by distributing the replication workload across multiple threads.
3) Time-delayed replication that allows replication to be delayed by a configurable number of seconds.
4) Optimized row-based replication that reduces the size of binary logs by only replicating changed columns where possible.
This document discusses various SQL join queries using the EMP and DEPT tables in the Oracle database. It provides examples of inner joins, outer joins, natural joins, cross joins, and lateral joins. It explores different join types and syntax as well as filtering criteria and partitioning.
This document provides a summary of techniques for tuning SQL and database performance. It begins by discussing the importance of properly understanding the user requirement before focusing on SQL tuning. Various SQL tuning techniques are then demonstrated, such as adding indexes, partitioning, and materialized views. The document emphasizes the need to avoid side effects from tuning and stresses tuning the overall user experience rather than just the SQL. Diagnostic techniques like ASH and wait events are also covered.
This document describes a simple UART loopback design using VHDL. It instantiates a UART component and connects its transmit and receive pins in a loopback configuration. On each clock cycle, any data received by the UART component is retransmitted back to its transmit pin. The design synchronizes the data transfer between the UART component ports using handshake signals and control logic.
Slides from OpenWorld 2013 presentation.
Analytics have been there since 8.1.6, but they are still dramatically underused by application developers. This session looks at the syntax and usage of analytic functions, and how they can supercharge your SQL skillset.
1. The document describes adding new redo log groups to an Oracle RAC database with two nodes. It checks the current log files, adds new log file groups of size 100MB to threads 1 and 2 using ALTER DATABASE commands, and verifies the new log files were added.
2. The document then logs into each node and runs ALTER SYSTEM SWITCH LOGFILE commands to switch the redo threads and make the original 50MB files inactive.
3. Finally, it drops the inactive log file groups from each thread using ALTER DATABASE DROP LOGFILE commands.
1. Oracle Database 11g Release 2 introduced deferred segment creation, which allows segments like tables and indexes to delay allocating their initial extent until the first row is inserted. This avoids unnecessary upfront space usage for segments that may see little actual data.
2. Traditionally, segments would allocate space for the initial extent immediately upon creation. But many applications create thousands of tables where only a small subset see real use.
3. With deferred segment creation, space is only used when needed, improving space efficiency for applications that create many rarely used segments.
KLIMA Software - Some DEMO Results Outputs in SERBIAN LanguageKLIMA Software
This document contains calculations of heat gains for a building project using the CLOAD software. It provides heat gain calculations for the whole building, for the first floor as a whole, and for an individual room on the first floor called Room 1, including sensible heat gains, latent heat gains, solar heat gains, transmission heat gains, infiltration heat gains, ventilation heat gains, occupant sensible and latent heat gains, lighting heat gains, and equipment sensible and latent heat gains.
1. The document describes how to initialize and reset Cisco Catalyst switches to the factory default settings. This involves disabling passwords, erasing the startup configuration file, and deleting VLAN files.
2. Configuration scenarios are provided for setting up Cisco switches in a network. Scenario 1 involves configuring the management VLAN and IP addresses on core and access switches to be on a separate management subnet.
3. Scenario 2 modifies the management configuration so that the IP addresses are assigned to VLANs on the floor subnets, rather than a separate management subnet.
1) The document describes how to configure an Oracle 12c database with a Far Sync standby instance. It involves creating the control file and standby redo logs for the Far Sync instance, configuring the necessary parameters, and starting up the primary and Far Sync instances.
2) Issues arise when the Far Sync instance is shut down, preventing redo logs from being shipped to the physical standby. The document resolves this by configuring an alternate destination to directly ship logs from the primary to the physical standby.
3) When the Far Sync instance starts up again, Oracle Data Guard resynchronizes it and returns to shipping redo through the Far Sync instance to the physical standby, with the alternate destination becoming
This document contains input parameters for performing a band structure calculation using the KKR method on bcc iron. Key parameters include:
- The structure is body centered cubic (bcc) iron with a lattice constant of 5.27 bohr
- Non-relativistic and magnetic calculations will be performed
- Band energies will be calculated along high symmetry points in the Brillouin zone
Dbms plan - A swiss army knife for performance engineersRiyaj Shamsudeen
This document discusses dbms_xplan, a tool for performance engineers to analyze execution plans. It provides options for displaying plans from the plan table, shared SQL area in memory, and AWR history. Dbms_xplan provides more detailed information than traditional tools like tkprof, including predicates, notes, bind values, and plan history. It requires privileges to access dictionary views for displaying plans from memory and AWR. The document also demonstrates usage examples and output formats for dbms_xplan.analyze.
This document provides step-by-step instructions for configuring SNC (Security Network Connections) for an SAP router. It describes downloading cryptographic software, creating keys and certificates, importing certificates, configuring the SAP router startup, and debugging. The key steps are: 1) creating keys and certificates, 2) transmitting the certificate request, 3) importing the returned certificate, 4) starting the SAP router with SNC encryption specified, and 5) debugging by checking certificates and environment variables.
This document discusses range and hash partitioning in Oracle databases. It provides examples of creating tables partitioned by range on date columns and hash on number columns. Benefits discussed include partition pruning for performance and even distribution of data for hash partitioning. Multi-column range partitioning and improvements in 11g are also covered.
Another year goes by, and most likely, another data access framework has been invented. It will claim to be the fastest, smartest way to talk to the database, and just like all those that came before it, it will not be. Because the best database access tool has been there for more than 30 years now, and that is PL/SQL. Although we all sometimes fall prey to the mindset of “Oh look, a shiny new tool, we should start using it," the performance and simplicity of PL/SQL remain unmatched. This session looks at the failings of other data access languages, why even a cursory knowledge of PL/SQL will make you a better developer, and how to get the most out of PL/SQL when it comes to database performance.
The document describes HiveQL commands for creating, altering, and dropping databases, tables, views, and indexes. It also covers built-in functions, SELECT queries with filters, sorting, grouping, and joins. Key commands include CREATE DATABASE, CREATE TABLE, LOAD DATA, ALTER TABLE, DROP TABLE, SELECT, GROUP BY, and JOIN.
pstack, truss etc to understand deeper issues in Oracle databaseRiyaj Shamsudeen
The document discusses various process monitoring and debugging tools for Oracle databases like truss, pstack and pfiles. It provides examples of using truss to trace system calls of processes like PMON and DBWR. It demonstrates how truss can be used to see shared memory segment creation during database startup and process attachment. It also summarizes the process creation steps seen during connection creation in Oracle.
Tensorflow and python : fault detection system - PyCon Taiwan 2017Eric Ahn
This document summarizes Eric Ahn's presentation on using Tensorflow and Python for fault detection from system logs. Ahn discusses how convolutional neural networks (CNNs) can be applied to analyze log data and detect faults. He provides an example of applying CNNs to a system log, demonstrating how the log entries would be convolved to extract features and classify the entries as indicating either a normal or fault condition in 3 or fewer sentences.
My introduction about how to send jobs in a HPC, create environments and install programs in CONDA, and make use of modules installed in SAGA (an HPC used by University of Oslo researchers).
Analytic SQL functions, or "window functions have been there since 8.1.6, but they are still dramatically underused by application developers. This session looks at the syntax and usage of analytic functions, and how they can supercharge your SQL skillset.
Covers analytics from their inception in 8.1.6 all the through to enhancements in 18 and 19
The document discusses new features in MySQL 5.6 replication including:
1) Crash-safe slaves that store replication information in database tables to prevent data loss if slaves crash.
2) Multi-threaded slaves that improve performance by distributing the replication workload across multiple threads.
3) Time-delayed replication that allows replication to be delayed by a configurable number of seconds.
4) Optimized row-based replication that reduces the size of binary logs by only replicating changed columns where possible.
This document discusses various SQL join queries using the EMP and DEPT tables in the Oracle database. It provides examples of inner joins, outer joins, natural joins, cross joins, and lateral joins. It explores different join types and syntax as well as filtering criteria and partitioning.
This document provides a summary of techniques for tuning SQL and database performance. It begins by discussing the importance of properly understanding the user requirement before focusing on SQL tuning. Various SQL tuning techniques are then demonstrated, such as adding indexes, partitioning, and materialized views. The document emphasizes the need to avoid side effects from tuning and stresses tuning the overall user experience rather than just the SQL. Diagnostic techniques like ASH and wait events are also covered.
This document describes a simple UART loopback design using VHDL. It instantiates a UART component and connects its transmit and receive pins in a loopback configuration. On each clock cycle, any data received by the UART component is retransmitted back to its transmit pin. The design synchronizes the data transfer between the UART component ports using handshake signals and control logic.
Slides from OpenWorld 2013 presentation.
Analytics have been there since 8.1.6, but they are still dramatically underused by application developers. This session looks at the syntax and usage of analytic functions, and how they can supercharge your SQL skillset.
1. The document describes adding new redo log groups to an Oracle RAC database with two nodes. It checks the current log files, adds new log file groups of size 100MB to threads 1 and 2 using ALTER DATABASE commands, and verifies the new log files were added.
2. The document then logs into each node and runs ALTER SYSTEM SWITCH LOGFILE commands to switch the redo threads and make the original 50MB files inactive.
3. Finally, it drops the inactive log file groups from each thread using ALTER DATABASE DROP LOGFILE commands.
1. Oracle Database 11g Release 2 introduced deferred segment creation, which allows segments like tables and indexes to delay allocating their initial extent until the first row is inserted. This avoids unnecessary upfront space usage for segments that may see little actual data.
2. Traditionally, segments would allocate space for the initial extent immediately upon creation. But many applications create thousands of tables where only a small subset see real use.
3. With deferred segment creation, space is only used when needed, improving space efficiency for applications that create many rarely used segments.
- The document discusses using various Oracle diagnostic tools like AWR, ASH, and SQL Monitoring for SQL tuning. It focuses on scenarios where multiple data sources are needed to fully understand performance issues.
- Historical ASH and AWR data can provide different perspectives on SQL executions over time that help identify problems like long-running queries or concurrent executions. However, ASH only samples a subset of data so it may miss short queries.
- GV$SQL and AWR reports aggregate performance metrics over all executions of a SQL, so they do not show the full user experience if a query runs intermittently. ASH sampled data can help determine how database time relates to clock time in such cases.
-
OpenWorld 2018 - Common Application Developer DisastersConnor McDonald
Two of the critical requirements of a database are:
- run fast
- data integrity
The database can achieve these things, but only as long as you understand the mechanisms correctly. If you don't, then things can go downhill fast.
The document provides an overview of SQL commands divided into DDL, DML, and DCL categories. DDL includes commands like CREATE, ALTER, and DROP for defining and modifying database schema. DML includes commands like SELECT, INSERT, UPDATE, and DELETE for manipulating data. DCL includes COMMIT, ROLLBACK, and SAVEPOINT for transaction control. Examples of each command are listed along with basic usage examples for DDL, DML, and DCL commands to practice creating tables, inserting, updating, deleting data, and managing transactions.
The document discusses several new features and enhancements in Oracle Database 11g Release 1. Key points include:
1) Encrypted tablespaces allow full encryption of data while maintaining functionality like indexing and foreign keys.
2) New caching capabilities improve performance by caching more results and metadata to avoid repeat work.
3) Standby databases have been enhanced and can now be used for more active purposes like development, testing, reporting and backups while still providing zero data loss protection.
The document discusses new features in Oracle Database 11g Release 1. Key points include:
1. Encrypted tablespaces allow encryption of data at the tablespace level while still supporting indexing and queries.
2. New caching capabilities improve performance by caching more results in memory, such as function results and query results.
3. Standby databases have enhanced capabilities and can now be used for more active purposes like development, testing and reporting for increased usability and value.
By expanding our knowledge of SQL facilities, we can let all the boring work be handled via SQL rather than a lot of middle-tier code, and we can get performance benefits as an added bonus. Here are some SQL techniques to solve problems that would otherwise require a lot of complex coding, freeing up your time to focus on the delivery of great applications.
This document provides an overview of basic SQL statements and SQL*Plus commands. It covers capabilities of SELECT statements, executing a basic SELECT statement, writing SQL statements, selecting specific columns, using arithmetic expressions and operators, defining aliases and literals, eliminating duplicate rows, and interacting with SQL*Plus through commands like editing, saving, and running SQL statements.
The document contains examples of PL/SQL code using various PL/SQL features like:
- Declaring and using index by tables, nested tables, and varray data types
- Cursor operations like opening, fetching, looping through cursors
- Exception handling using try/catch blocks
This document provides an overview of basic SQL statements and SQL*Plus commands. It describes how to select data from tables using the SELECT statement, perform calculations, and give columns aliases. It also summarizes how to describe table structures, edit SQL statements, and execute saved SQL files using SQL*Plus commands. The key capabilities of the SELECT statement are selection, projection, and joining data from multiple tables.
SQL is a language used to interface with relational database systems. It was developed by IBM in the 1970s and is now an industry standard. SQL has three main sublanguages: DDL for defining database schemas, DML for manipulating data, and DCL for controlling access.
Some key points about SQL include:
- DDL commands like CREATE, ALTER, and DROP are used to define and modify database structures.
- DML commands like SELECT, INSERT, UPDATE, and DELETE are used to query and manipulate the data.
- DCL commands like COMMIT, ROLLBACK, GRANT and REVOKE control transactions and user privileges.
- SQL can be used
The document discusses how metadata such as constraints, datatypes, and null/not null properties impact query optimization. It shows that constraints provide additional information to the optimizer that can enable more efficient access paths. Datatypes and null/not null properties are also important as they influence cardinality estimates and memory usage, thus affecting the optimizer's choice of plan. Check constraints and not null constraints in particular allow rewriting of queries and use of indexes to evaluate filters more efficiently.
حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكلMohamed Moustafa
The document contains examples of SQL queries on Oracle database tables. It shows how to retrieve data from the DEPT and EMP tables, including selecting columns, filtering rows, sorting results, and performing calculations. Various SQL functions are demonstrated like INITCAP, LENGTH, SUBSTR, and date formatting. The last section aggregates data from the EMP table using MAX, MIN, SUM, and AVG.
This presentation discusses new features and changes introduced in Oracle Database 11g. It provides snippets of SQL code demonstrating features such as error logging, transaction safety settings, hashing functions, and list aggregation. It also covers real-time SQL monitoring and optimization.
The document describes several databases related to banking, insurance, orders, students, and books. It includes the structure of each database with table definitions and sample data. Various SQL queries are demonstrated to retrieve, update, insert and delete records in the tables to solve business problems for each database application.
This document discusses restricting and sorting data in SQL queries. It covers limiting rows using the WHERE clause with various operators like comparison, logical, BETWEEN, IN, LIKE and IS NULL. It also covers sorting result rows using the ORDER BY clause, including sorting in ascending and descending order and by multiple columns. The overall goal is to select specific data rows and control the order of rows displayed in the results.
The document discusses various SQL clauses and operators for restricting, sorting, and filtering data retrieved from database tables. It covers the WHERE clause for filtering rows, comparison operators like = and BETWEEN, logical operators like AND and OR, NULL handling, pattern matching with LIKE, and sorting order with ORDER BY. Examples are provided to demonstrate how each technique can be used in a SELECT statement to selectively retrieve only the needed data from database tables.
This document discusses the evolution of user-defined functions (UDFs) in Oracle SQL over multiple Oracle database versions. It shows how UDFs started as PL/SQL functions callable from SQL in earlier versions, which could impact performance. It then demonstrates how newer Oracle database versions allow defining UDFs directly in SQL for improved performance and maintainability when using functions in SQL statements and queries. The document provides examples of different ways to implement and call UDFs across various Oracle versions.
Similar to Oracle12 for Developers - Oracle OpenWorld Preview AMIS (20)
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio.
Ron Hendriks is an IoT consultant and enthusiast who provides his contact information. The document discusses industrial automation and IoT, including typical hardware architectures, automation levels, protocols, and processes. It also discusses standards like ISA 88 and ISA 95. Challenges for implementing IoT in industrial automation are listed, as well as recent developments and opportunities like introducing more IT and open communication protocols. The near future and potential applications of machine learning are also mentioned.
This document provides an introduction to machine learning, including: what machine learning is; why it is relevant; common algorithms and tools used; examples of use cases; and how to get started with machine learning. It discusses topics such as supervised vs. unsupervised learning, popular machine learning libraries and frameworks, deploying models, and resources for learning machine learning.
The document discusses Internet of Things (IoT) technology and its applications for asset monitoring. It provides an overview of an IoT solution for asset monitoring using devices such as beacons and LoRa sensors that communicate with an IoT cloud platform. The solution involves registering devices and publishing their real-time sensor data to the cloud, which can then be used for applications such as asset tracking dashboards, automated monitoring, and predictive maintenance. Contact information is provided for discussing customized IoT solutions.
The annual review session by the AMIS team on their findings, interpretations and opinions regarding news, trends, announcements and roadmaps around Oracle's product portfolio. This presentation discusses architecture trends, container technology, disruptive movements such as IoT, Blockchain, Intelligent Bots and Machine Learning, Modern User Experience, Enterprise Integration, Autonomous Systems in general and Autonomous Database in particular, Security, Cloud, Networking, Java, High PaaS & Low PaaS, DevOps, Microservices, Hybrid Cloud. This Oracle OpenWorld - more than any in recent history - rocked the foundations of the Oracle platform and opened up some real new roads ahead. This presentation leads you through the most relevant announcements and new directions.
Bridging the gap between Administrative and Operational IT
Vision, Architecure and Project experience. This slide deck shows our vision on this market for industrial enterprise IOT. Conclusion
The document discusses Oracle Management Cloud (OMC), a new management platform from Oracle designed to provide smarter insight and swifter action for IT organizations. It summarizes key challenges currently facing IT, such as being overwhelmed by operational data and lacking actionable insights. OMC aims to provide a complete, integrated suite of management solutions powered by machine learning to help customers manage heterogeneous applications and infrastructure across any cloud with greater agility and efficiency.
More from Getting value from IoT, Integration and Data Analytics (20)
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
17. SQL> select ename
2 ,sal
3 from emp
4 where rownum < 4
5 order by sal desc
6 /
!
ENAME SAL
------- -------
ALLEN 1200
WARD 1250
SMITH 800
18. SQL> select *
2 from (select ename
3 ,sal
4 from emp
5 order by sal desc
6 )
7 where rownum < 4
8 /
!
ENAME SAL
-------- -------
KING 5000
SCOTT 3000
FORD 3000
19. SQL> select ename
2 ,sal
3 from emp
4 order by sal desc
5 fetch first 3 rows only
6 /
!
ENAME SAL
-------- -------
KING 5000
SCOTT 3000
FORD 3000
20. SQL> select ename
2 ,sal
3 from emp
4 order by sal desc
5 offset 3 rows
6 fetch next 3 rows only
7 /
!
ENAME SAL
-------- -------
JONES 2975
BLAKE 2850
CLARK 2450
21. Execution Plan
----------------------------------------------------------
Plan hash value: 3291446077
!
---------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 644 | 4 (25)| 00:00:01 |
|* 1 | VIEW | | 14 | 644 | 4 (25)| 00:00:01 |
|* 2 | WINDOW SORT PUSHED RANK| | 14 | 140 | 4 (25)| 00:00:01 |
| 3 | TABLE ACCESS FULL | EMP | 14 | 140 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------------
!
Predicate Information (identified by operation id):
---------------------------------------------------
!
1 - filter("from$_subquery$_002"."rowlimit_$$_rownumber"<=CASE WHEN
(3>=0) THEN 3 ELSE 0 END +3 AND "from$_subquery$_002"."rowlimit_$$_rownum
ber">3)
2 - filter(ROW_NUMBER() OVER ( ORDER BY INTERNAL_FUNCTION("SAL") DESC
)<=CASE WHEN (3>=0) THEN 3 ELSE 0 END +3)
22.
23. !
SQL> select ename
2 ,sal
3 from emp
4 order by sal desc
5 fetch first 25 percent row only;
!
ENAME SAL
---------- ----------
KING 5000
FORD 3000
SCOTT 3000
JONES 2975
26. SQL> create table weather
2 (dt date not null
3 ,rain number not null
4 );
!
Table created.
27. SQL> insert into weather
2 with rsf(r)
3 as
4 (select 1
5 from dual
6 union all
7 select r + 1
8 from rsf
9 where r < 31)
10 select to_date (to_char (r)||'-08-2014', 'dd-mm-yyyy') dt
11 ,round ((dbms_random.value * 20)) rain
12 from rsf
13 /
!
31 rows created.
28. SQL> select dt
2 ,rain
3 ,trend
4 from weather
5 match_recognize(
6 order by dt
7 measures classifier() as trend
8 all rows per match
9 pattern (Better* Worse* same*)
10 define Better as Better.rain < prev (rain)
11 ,Worse as Worse.rain > prev (rain)
12 ,same as same.rain = prev (rain)
13 );
29. DT RAIN TREND
--------- ---------- ---------
01-AUG-14 14
02-AUG-14 0 BETTER
03-AUG-14 19 WORSE
04-AUG-14 6 BETTER
05-AUG-14 20 WORSE
06-AUG-14 1 BETTER
07-AUG-14 17 WORSE
08-AUG-14 17 SAME
09-AUG-14 14 BETTER
10-AUG-14 18 WORSE
11-AUG-14 9 BETTER
12-AUG-14 4 BETTER
13-AUG-14 17 WORSE
14-AUG-14 16 BETTER
15-AUG-14 5 BETTER
Wh a t a b o u t A n a l y t i c
Fu n c t i o n s?
30. SQL> select dt
2 ,rain
3 ,case
4 when rain < lag (rain) over (order by dt)
5 then 'Better'
6 when rain > lag (rain) over (order by dt)
7 then 'Worse'
8 when rain = lag (rain) over (order by dt)
9 then 'Same'
10 end trend
11 from weather;
32. SQL> select *
L o o k i n g f o r D r y S p e l l s
2 from weather
3 match_recognize
4 (
5 order by dt
6 measures first (wet.dt) as first_wetday
7 ,dry.dt as dryday
8 ,last (wet.dt) as last_wetday
9 one row per match
10 pattern (wet dry{2,} wet*)
11 define
12 wet as wet.rain > 10,
13 dry as dry.rain <= 10
14 );
36. SQL> create table addresses
2 (empno number
3 ,street varchar2(50)
4 ,houseno number
5 ,start_date date
6 ,end_date date
7 ,period for address_valid (start_date, end_date)
8 );
!
Table created.
37. SQL> select street
2 , houseno
3 , start_date
4 , end_date
5 from addresses;
!
STREET HOUSENO START_DAT END_DATE
--------------- ---------- --------- ---------
Brandywine Rd 345 05-AUG-95 15-FEB-96
Spencer Run 12 16-FEB-96 30-APR-00
Via Palm Lake 741 01-MAY-00 31-JAN-13
76th Way 7616 01-FEB-13
38. SQL> select street
2 ,houseno
3 ,start_date
4 ,end_date
5 from addresses as of period
6 for address_valid sysdate;
!
STREET HOUSENO START_DAT END_DATE
--------------- ---------- --------- ---------
76th Way 7616 01-FEB-13
39. SQL> select street
2 ,houseno
3 ,start_date
4 ,end_date
5 from addresses
6 versions period for address_valid
7 between date '2010-06-01'
8 and sysdate
!
STREET HOUSENO START_DAT END_DATE
--------------- ---------- --------- ---------
Via Palm Lake 741 01-MAY-00 31-JAN-13
76th Way 7616 01-FEB-13
45. SQL> create table t
2 (id number generated as identity
3 ,name varchar2(35)
4 );
!
Table created.
46. !
SQL> insert into t (name) values ('Alex');
!
1 row created.
47. SQL> insert into t (id, name) values (42, 'TEST');
insert into t (id, name) values (42, 'TEST')
*
ERROR at line 1:
ORA-32795: cannot insert into a generated always identity column
48. SQL> insert into t (id, name) values (null, 'TEST');
insert into t (id, name) values (null, 'TEST')
*
ERROR at line 1:
ORA-32795: cannot insert into a generated always identity column
49. SQL> insert into t (id, name) values (default, 'TEST');
!
1 row created.
50. GENERATED
[ ALWAYS | BY DEFAULT [ ON NULL ] ]
AS IDENTITY [ ( identity_options ) ]
Similar to Sequence Options
51. SQL> create table t
2 (id number generated as identity (start with 42 increment by 2)
3 ,name varchar2(35)
4 );
!
Table created.
52. SQL> insert into t
2 (name)
3 values
4 ('Alex');
!
1 row created.
!
SQL> select *
2 from t
3 /
!
ID NAME
----- ---------
42 Alex
53. SQL> insert into t
2 (name)
3 values
4 ('Tim');
!
1 row created.
!
SQL> select *
2 from t
3 /
!
ID NAME
----- ---------
42 Alex
44 Tim
70. SQL> select *
2 from (select ename
3 ,sal
4 from emp
5 order by sal desc
6 )
7 where rownum < 4
8 /
!
ENAME SAL
-------- -------
KING 5000
SCOTT 3000
FORD 3000
SQL> with ordered_emps
2 as
3 (select ename
4 ,sal
5 from emp
6 order by sal desc
7 )
9 select *
10 from ordered_emps
11 where rownum < 4
12 /
!
ENAME SAL
-------- -------
KING 5000
SCOTT 3000
FORD 3000
71. SQL> with lots(r)
2 as
3 (select 1 r from dual
4 union all
5 select r+1 from lots
6 where r < 5
7 )
8 select *
9 from lots
10 /
!
R
----------
1
2
3
4
5
!
5 rows selected.
72. SQL> with
2 function formatname (p_name in varchar2)
3 return varchar2
4 is
5 begin
6 return initcap (p_name);
7 end formatname;
8 select ename
9 ,formatname(ename) formatted
10 from emp;
!
ENAME FORMATTED
---------- -------------------------
SMITH Smith
ALLEN Allen
WARD Ward
JONES Jones
MARTIN Martin
73. SQL> with
2 procedure show (p_what in varchar2)
3 is
4 begin
5 dbms_output.put_line (p_what);
6 end show;
7 function formatname (p_name in varchar2)
8 return varchar2
9 is
10 begin
11 show ('The input was: '||p_name);
12 return initcap (p_name);
13 end formatname;
14 select ename
15 ,formatname (ename) formatted
16 from emp;
74. ENAME FORMATTED
---------- -------------
SMITH Smith
ALLEN Allen
WARD Ward
JONES Jones
MARTIN Martin
BLAKE Blake
CLARK Clark
SCOTT Scott
KING King
TURNER Turner
ADAMS Adams
JAMES James
FORD Ford
MILLER Miller
!
14 rows selected.
75. The input was: SMITH
The input was: ALLEN
The input was: WARD
The input was: JONES
The input was: MARTIN
The input was: BLAKE
The input was: CLARK
The input was: SCOTT
The input was: KING
The input was: TURNER
The input was: ADAMS
The input was: JAMES
The input was: FORD
The input was: MILLER
76. SQL> with
2 procedure show (p_what in varchar2)
3 is
4 begin
5 dbms_output.put_line ('input is: '||p_what);
6 end show;
7 function formatname (p_name in varchar2)
8 return varchar2
9 is
10 begin
11 show (p_name);
12 return initcap (p_name);
13 end formatname;
14 ordered_emps as
15 (select ename from emp order by ename asc)
16 select ename
17 ,formatname(ename) formatted
18 from ordered_emps
19 /
77. ENAME FORMATTED
---------- -----------
ADAMS Adams
ALLEN Allen
BLAKE Blake
CLARK Clark
FORD Ford
JAMES James
JONES Jones
KING King
MARTIN Martin
MILLER Miller
SCOTT Scott
SMITH Smith
TURNER Turner
WARD Ward
!
14 rows selected.
78. input is: SMITH
input is: ALLEN
input is: WARD
input is: JONES
input is: MARTIN
input is: BLAKE
input is: CLARK
input is: SCOTT
input is: KING
input is: TURNER
input is: ADAMS
input is: JAMES
input is: FORD
input is: MILLER
83. SQL> create or replace
2 procedure restricted_proc
3 accessible by (public_proc)
4 is
5 begin
6 dbms_output.put_line
7 ('This can only be called by the public program');
8 end restricted_proc;
!
Procedure created.
84. SQL> create or replace
2 procedure public_proc
3 is
4 begin
5 dbms_output.put_line ('This is the public program');
6 restricted_proc;
7 end public_proc;
!
Procedure created.
85. SQL> begin
2 public_proc;
3 end;
4 /
This is the public program
This can only be called by the public program
!
PL/SQL procedure successfully completed.
86. SQL> begin
2 restricted_proc;
3 end;
4 /
restricted_proc;
*
ERROR at line 2:
ORA-06550: line 2, column 4:
PLS-00904: insufficient privilege to access object RESTRICTED_PROC
ORA-06550: line 2, column 4:
PL/SQL: Statement ignored
89. SQL> select ename
2 ,hiredate
3 ,credit_card
4 from emp
5 /
!
ENAME HIREDATE CREDIT_CARD
---------- --------- ------------------
SMITH 17-DEC-80 4916328952854172
ALLEN 20-FEB-81 4539313944751949
WARD 22-FEB-81 4716066949870198
JONES 02-APR-81 5535742924238587
MARTIN 28-SEP-81 5570058606015920
BLAKE 01-MAY-81 5103520492409737
CLARK 09-JUN-81 377819476595275
SCOTT 19-APR-87 349683522367948
90. begin
dbms_redact.add_policy
(object_schema => 'ALEX'
,object_name => 'EMP'
,policy_name => 'Hide Creditcard'
,expression => '1=1'
,column_name => 'CREDIT_CARD'
,function_type => dbms_redact.regexp
,regexp_pattern => dbms_redact.re_pattern_any_digit
,regexp_replace_string => 'X'
);
end;
/
C h o o s e Po l i c y N ame
Wi s e l y !
91. ENAME HIREDATE CREDIT_CARD
---------- --------- -------------------------
SMITH 17-DEC-80 XXXXXXXXXXXXXXXX
ALLEN 20-FEB-81 XXXXXXXXXXXXXXXX
WARD 22-FEB-81 XXXXXXXXXXXXXXXX
JONES 02-APR-81 XXXXXXXXXXXXXXXX
MARTIN 28-SEP-81 XXXXXXXXXXXXXXXX
BLAKE 01-MAY-81 XXXXXXXXXXXXXXXX
CLARK 09-JUN-81 XXXXXXXXXXXXXXX
SCOTT 19-APR-87 XXXXXXXXXXXXXXX
100. ENAME HIREDATE CREDIT_CARD
---------- --------- -------------------------
SMITH 01-JAN-00 4916328952854172
ALLEN 01-JAN-00 4539313944751949
WARD 01-JAN-00 4716066949870198
JONES 01-JAN-00 5535742924238587
MARTIN 01-JAN-00 5570058606015920
BLAKE 01-JAN-00 5103520492409737
CLARK 01-JAN-00 377819476595275
SCOTT 01-JAN-00 349683522367948
101. begin
dbms_redact.alter_policy(
object_schema => 'ALEX'
,object_name => 'EMP'
,policy_name => 'Obscure some data'
,action => dbms_redact.ADD_COLUMN
,column_name => 'HIREDATE'
,function_type => dbms_redact.partial
,function_parameters => dbms_redact.redact_date_epoch
);
end;
/
Same Policy Name
C h o o s e Po l i c y N ame
Wi s e l y !
102. ENAME HIREDATE CREDIT_CARD
---------- --------- -------------------------
SMITH 01-JAN-70 491632XXXXXX4172
ALLEN 01-JAN-70 453931XXXXXX1949
WARD 01-JAN-70 471606XXXXXX0198
JONES 01-JAN-70 553574XXXXXX8587
MARTIN 01-JAN-70 557005XXXXXX5920
BLAKE 01-JAN-70 510352XXXXXX9737
CLARK 01-JAN-70 377819XXXXXX5275
SCOTT 01-JAN-70 349683XXXXXX7948
118. SQL> create or replace
2 procedure show_callstack
3 is
4 begin
5 dbms_output.put_line (dbms_utility.format_call_stack());
6 end show_callstack;
7 /
!
Procedure created.
119. 1 create or replace
2 package body pkg is
3 procedure p
4 is
5 procedure q
6 is
7 procedure r
8 is
9 procedure p is
10 begin
11 show_callstack();
12 raise program_error;
13 end p;
14 begin
15 p();
16 end r;
17 begin
18 r();
19 end q;
20 begin
21 q();
22 end p;
23 end pkg;
120. 1 create or replace
2 package body pkg is
3 procedure p
4 is
5 procedure q
6 is
7 procedure r
8 is
9 procedure p is
10 begin
11 show_callstack();
12 raise program_error;
13 end p;
14 begin
15 p();
16 end r;
17 begin
18 r();
19 end q;
20 begin
21 q();
22 end p;
23 end pkg;
121. 1 create or replace
2 package body pkg is
3 procedure p
4 is
5 procedure q
6 is
7 procedure r
8 is
9 procedure p is
10 begin
11 show_callstack();
12 raise program_error;
13 end p;
14 begin
15 p();
16 end r;
17 begin
18 r();
19 end q;
20 begin
21 q();
22 end p;
23 end pkg;
122. 1 create or replace
2 package body pkg is
3 procedure p
4 is
5 procedure q
6 is
7 procedure r
8 is
9 procedure p is
10 begin
11 show_callstack();
12 raise program_error;
13 end p;
14 begin
15 p();
16 end r;
17 begin
18 r();
19 end q;
20 begin
21 q();
22 end p;
23 end pkg;
123. 1 create or replace
2 package body pkg is
3 procedure p
4 is
5 procedure q
6 is
7 procedure r
8 is
9 procedure p is
10 begin
11 show_callstack();
12 raise program_error;
13 end p;
14 begin
15 p();
16 end r;
17 begin
18 r();
19 end q;
20 begin
21 q();
22 end p;
23 end pkg;
124. ----- PL/SQL Call Stack -----
object line object
handle number
name
0x9faa8f18 4 procedure ALEX.SHOW_CALLSTACK
0x9dbd2c00 10
package body ALEX.PKG
0x9dbd2c00 14 package body ALEX.PKG
0x9dbd2c00
17 package body ALEX.PKG
0x9dbd2c00 20 package body ALEX.PKG
0x9fc73e18
2 anonymous block
!
begin
*
ERROR at line 1:
ORA-06501: PL/SQL: program error
ORA-06512: at "ALEX.PKG", line 11
ORA-06512: at "ALEX.PKG", line 14
ORA-06512: at "ALEX.PKG", line 17
ORA-06512: at "ALEX.PKG", line 20
ORA-06512: at line 2
126. SQL> create or replace
2 procedure show_callstack
3 as
4 depth pls_integer := utl_call_stack.dynamic_depth();
5 procedure headers
...
11 end headers;
12 begin
13 headers;
14 for j in reverse 1..depth loop
15 dbms_output.put_line(
16 rpad( utl_call_stack.lexical_depth(j), 10 ) ||
17 rpad( j, 7) ||
18 rpad( to_char(utl_call_stack.unit_line(j), '99'), 9 ) ||
19 utl_call_stack.concatenate_subprogram
20 (utl_call_stack.subprogram(j)));
21 end loop;
22 end show_callstack;
127. SQL> create or replace
2 procedure show_callstack
3 as
4 depth pls_integer := utl_call_stack.dynamic_depth();
5 procedure headers
...
11 end headers;
12 begin
13 headers;
14 for j in reverse 1..depth loop
15 dbms_output.put_line(
16 rpad( utl_call_stack.lexical_depth(j), 10 ) ||
17 rpad( j, 7) ||
18 rpad( to_char(utl_call_stack.unit_line(j), '99'), 9 ) ||
19 utl_call_stack.concatenate_subprogram
20 (utl_call_stack.subprogram(j)));
21 end loop;
22 end show_callstack;
128. Lexical Depth Line Name
Depth Number
------- ----- ---- ----
0 6 2 __anonymous_block
1 5 20 PKG.P
2 4 17 PKG.P.Q
3 3 14 PKG.P.Q.R
4 2 10 PKG.P.Q.R.P
0 1 14 SHOW_CALLSTACK
begin
*
ERROR at line 1:
ORA-06501: PL/SQL: program error
ORA-06512: at "ALEX.PKG", line 11
ORA-06512: at "ALEX.PKG", line 14
ORA-06512: at "ALEX.PKG", line 17
ORA-06512: at "ALEX.PKG", line 20
ORA-06512: at line 2
131. Connor McDonald
12c for Developers
!
Sunday: UGF2244!
Time: 2:30 PM
Moscone South 303
Lucas Jellema
Everything That Is Really Useful in
Oracle Database 12c for Application Developers
!
Wednesday: CON2394!
Time: 3:30 PM
Moscone South 307
133. 12 Looks at Oracle Database 12c: EOUC Short Talks
Jonathan Lewis
Christian Antognini
Osama Mustafa
Gurcan Orhan
Alex Nuijten
Oded Raz
Sunday: UGF8949 and UGF9221!
Time: 2:30 PM and 3:30 PM
Moscone South 304
Tim Hall
Ami Aharonovich
Kashif Manzoor
Julian Dontcheff
Björn Rost
Dimitry Volkov