Oracle parallelism. Do It Yourself: 9i, 10g Oracle: in dbms_parallel_execute

Size: px
Start display at page:

Download "Oracle parallelism. Do It Yourself: 9i, 10g Oracle: in dbms_parallel_execute"

Transcription

1

2

3 Oracle parallelism Do It Yourself: 9i, 10g Oracle: in 11.2 dbms_parallel_execute

4 Boris Oblak Abakus plus d.o.o. Parallel executing

5 Abakus plus d.o.o. History from 1992, ~20 employees Applications: special (DB Newspaper Distribution, FIS Flight Information System) ARBITER the ultimate tool in audit trailing APPM - Abakus Plus Performance and Monitoring Tool Services: DBA, OS administration, programming (MediaWiki, Oracle) networks (services, VPN, QoS, security) open source, monitoring (Nagios, OCS, Wiki) Hardware: servers, SAN storage, firewalls Infrastructure: from 1995 GNU/Linux (18 years of experience!) Oracle on GNU/Linux: since RDBMS & Forms 3.0 (before Oracle!) >20 years of experience with High-Availability!

6

7 Performance (1) test 1 (notebook with SSD, DB on VM): max_iops = 9.983, latency = 8, max_mbps = 251 test 2 (test DB on EMC, 10x 600 GB 15k FC): max_iops = 1.824, latency = 11, max_mbps = 280 test 3 (production DB on EMC, 30x 146 GB 15k FC): max_iops = 6.498, latency = 10, max_mbps = 455 test 4 (Abakus SAN, 16x SSD, Infiniband 40G): max_iops = , latency = 0, max_mbps = 1.727

8 Performance (2) Abakus SAN, 16x SSD, Infiniband 40G production: DB on EMC, 30x 146 GB 15k FC max_iops latency max_mbps test: DB on EMC, 10x 600 GB 15k FC notebook with SSD, DB on VM

9 batch task: updating balance for each customer batch task lasts for 4 hours on a single instance 2-quad core CPU after transition to RAC execution time varries between 4 and 7 hours 2-sixteen core CPU Challenge

10 Problem analysis all batch tasks use the same log table for reporting insert update index and data block contention > customers, each from 10 to records

11 Phase 1: block contention (1) create log table for each instance two tables in our case, apl_log_1 and apl_log_2 create view apl_log as select * from apl_log_1 union all select * from apl_log_2 modified logging procedure depends on instance insert/update into instance table increase sequence cache size

12 Phase 1: block contention (2) CASE sys_context ('userenv', 'instance') WHEN 1 THEN UPDATE apl_log_1...; INSERT INTO apl_log_1...; WHEN 2 THEN UPDATE apl_log_2...; INSERT INTO apl_log_2...; ELSE... NULL; END CASE;

13 Phase 1: fixed execution time We fixed the execution time to less than 4 hours. But can we do it better?

14 Phase 1: fixed execution time We fixed the execution time to less than 4 hours. But can we do it better? Yes we can :)

15 Phase 1: fixed execution time We fixed the execution time to less than 4 hours. But can we do it better? Yes we can :) 2 CPU x 16 core Parallel processing

16 Oracle parallelism Database parallelism parallel operations requires EE licence ( ALTER SESSION ENABLE PARALLEL DML; UPDATE /*+ parallel(t,64) */ t SET col = expr; PL/SQL parallelism? With Oracle Standard Edition: Do It Yourself: 9i, 10g 9i: dbms_job >=10g: dbms_scheduler Oracle >= 11.2 dbms_parallel_execute

17 Parallelism in Oracle SE dbms_parallel_execute :-) We can use all CPU cores (CPU licence is per socket).

18 dbms_parallel_execute (1)»cut«data of an updated table into fragments (chunks) apply update statement to every fragment chunks have borders start and end value Oracle can calculate borders UPDATE t SET col=<value> WHERE t.rowid BETWEEN :start_id AND :end_id

19 dbms_parallel_execute (2) Oracle can»cut«table's data using: rowid value of any number column in table custom condition statistics? CREATE JOB privilege

20 dbms_parallel_execute (3) CREATE TABLE test_table AS SELECT LEVEL AS id, 'Value ' TO_CHAR(LEVEL) AS name, ROUND(DBMS_RANDOM.VALUE(1, 10)) AS RANK FROM dual CONNECT BY LEVEL <= ; COMMIT; EXECUTE dbms_stats.gather_table_stats (user, 'TEST_TABLE'); our goal is to update full table UPDATE test_table SET name = TO_CHAR(RANK) ' ' name;

21 dbms_parallel_execute (4) required steps create task generate chunks in way you wish run task drop task USER_PARALLEL_EXECUTE_TASKS USER_PARALLEL_EXECUTE_CHUNKS

22 dbms_parallel_execute (5) modified UPDATE statement CREATE PROCEDURE update_test_table( p_start_id IN ROWID, p_end_id IN ROWID) AS BEGIN UPDATE test_table SET NAME = to_char(rank) ' ' NAME WHERE ROWID BETWEEN p_start_id AND p_end_id; END;

23 dbms_parallel_execute (6) DECLARE c_task_name CONSTANT VARCHAR2(128) := 'TEST TASK. BY ROWID'; BEGIN dbms_parallel_execute.create_task(c_task_name); dbms_parallel_execute.create_chunks_by_rowid ( task_name => c_task_name, table_owner => USER, table_name => 'TEST_TABLE', by_row => TRUE, chunk_size => 50000); dbms_parallel_execute.run_task ( task_name => c_task_name, sql_stmt => q'$ BEGIN update_test_table (:start_id, :end_id); END; $', language_flag => DBMS_SQL.native, parallel_level => 32); dbms_parallel_execute.drop_task(c_task_name); END;

24 dbms_parallel_execute (7) create_chunks_by_rowid by_row TRUE: rows FALSE: blocks chunk_size create_chunks_by_number_col table_column create_chunks_by_sql sql_statement by_rowid (TRUE/FALSE)

25 dbms_parallel_execute (7) create_chunks_by_rowid by_row TRUE: rows FALSE: blocks Note: chunk_size Keep in mind that Oracle performs COMMIT after finishing every chunk's create_chunks_by_number_col process. table_column create_chunks_by_sql sql_statement by_rowid (TRUE/FALSE)

26 Phase 2: parallelism (1) > customers from 10 to records per customer uneven distribution cannot use ranges of customers IDs each thread process one customer 2 CPU, 16 core each 2 threads per CPU parallelism: 64 custom SQL

27 Phase 2: parallelism (2) update procedure uses more parameters keep history of executions create table for additional parameters and history CREATE TABLE cust_task_master ( master_task_id INT NOT NULL, execution_date DATE NOT NULL, CONSTRAINT cust_task_master_pk PRIMARY KEY (master_task_id) );

28 Phase 2: parallelism (3) CREATE TABLE cust_task_slaves ( master_task_id INT NOT NULL, cust_id INT NOT NULL, balance_date DATE NOT NULL, account_id INT NOT NULL, start_time TIMESTAMP, end_time TIMESTAMP, rows_processed INT, CONSTRAINT cust_task_slaves_pk PRIMARY KEY (master_task_id, cust_id), CONSTRAINT cust_task_slaves_fk FOREIGN KEY (master_task_id) REFERENCES cust_task_master (master_task_id) );

29 Phase 2: parallelism (4) CREATE OR REPLACE PACKAGE BODY cust_parallel AS c_task_name CONSTANT VARCHAR2(128) := 'UPDATE_CUST_PARALLEL'; FUNCTION prepare_cust RETURN cust_task_master.master_task_id%type IS cts_rec cust_task_slaves%rowtype; ctm_rec cust_task_master%rowtype; BEGIN SELECT cust_task_master_sq.nextval INTO ctm_rec.master_task_id FROM dual; ctm_rec.execution_date := SYSDATE; INSERT INTO cust_task_master VALUES ctm_rec; -- populate slaves recs with actual parameters INSERT INTO cust_task_slaves (cust_id, master_task_id, balance_date, account_id) SELECT /* actual SELECT here... */; -- commit must be done! COMMIT; RETURN(ctm_rec.master_task_id); END;

30 Phase 2: parallelism (5) PROCEDURE update_cust(p_master_id IN cust_task_master.master_task_id%type, p_cust_id IN cust_task_slaves.cust_id%type) IS l_rows INT := 0; BEGIN log_me(p_master_id, 'cust_id:' p_cust_id); UPDATE cust_task_slaves s SET s.start_time = systimestamp WHERE s.master_task_id = p_master_id AND s.cust_id = p_cust_id; COMMIT; -- actual processing FOR x_rec IN (SELECT * FROM <my_tables> mt, cust_task_slaves cts WHERE mt.cust_id = cts.cust_id AND mt.balance_date = cts.balance_date AND mt.account_id = cts.account_id AND cts.master_task_id = p_master_id AND cts.cust_id = p_cust_id) LOOP -- actual update of one customer here; l_rows := l_rows + 1; END LOOP; -- write end execution time UPDATE cust_task_slaves s SET s.end_time = systimestamp, s.rows_processed = l_rows WHERE s.master_task_id = p_master_id AND s.cust_id = p_cust_id; COMMIT; END;

31 Phase 2: parallelism (6) PROCEDURE run_parallel(p_parallel_level IN INT := 64) IS l_master_id cust_task_master.master_task_id%type; BEGIN l_master_id := prepare_cust; dbms_parallel_execute.create_task(c_task_name); BEGIN -- create chunks (see USER_PARALLEL_EXECUTE_CHUNKS dbms_parallel_execute.create_chunks_by_sql( task_name => c_task_name, sql_stmt => 'select master_task_id, cust_id from cust_task_slaves where master_task_id =' l_master_id, by_rowid => FALSE); -- run tasks (run actual update with cust_parallel.update_cust procedure= dbms_parallel_execute.run_task( task_name => c_task_name, sql_stmt => q'$ BEGIN cust_parallel.update_cust (:start_id, :end_id); END; $', language_flag => dbms_sql.native, parallel_level => p_parallel_level); -- drop task after processing dbms_parallel_execute.drop_task(c_task_name); EXCEPTION WHEN OTHERS THEN dbms_parallel_execute.drop_task(c_task_name); raise_application_error(-20001, SQLERRM); END; END;

32 Phase 2: parallelism (6) PROCEDURE run_parallel(p_parallel_level IN INT := 64) IS l_master_id cust_task_master.master_task_id%type; BEGIN SQL> select master_task_id, cust_id from l_master_id := prepare_cust; dbms_parallel_execute.create_task(c_task_name); cust_task_slaves where master_task_id=1007 and rownum < 20; BEGIN MASTER_T CUST_ID -- create chunks (see USER_PARALLEL_EXECUTE_CHUNKS dbms_parallel_execute.create_chunks_by_sql( task_name => c_task_name, sql_stmt => l_master_id, by_rowid => FALSE); run tasks (run actual 1007 update with cust_parallel.update_cust 7 procedure= dbms_parallel_execute.run_task( task_name => c_task_name, sql_stmt => q'$ 1007 BEGIN cust_parallel.update_cust 9 (:start_id, :end_id); END; $', language_flag => dbms_sql.native, parallel_level => p_parallel_level); drop task after processing dbms_parallel_execute.drop_task(c_task_name); EXCEPTION WHEN OTHERS THEN END; END; 'select master_task_id, 1007 cust_id 3from cust_task_slaves where master_task_id =' dbms_parallel_execute.drop_task(c_task_name); raise_application_error(-20001, 1007 SQLERRM); rows selected

33 Phase 2: parallelism (7) SQL> exec print_rec ('SELECT t.task_name, t.chunk_type, t.status, t.sql_stmt, t.language_flag, t.parallel_level FROM user_parallel_execute_tasks t'); ============================================================================== TASK_NAME:<UPDATE_CUST_PARALLEL> CHUNK_TYPE:<NUMBER_RANGE> STATUS:<PROCESSING> SQL_STMT:< BEGIN cust_parallel.update_cust (:start_id, :end_id); END; > LANGUAGE_FLAG:<1> _PARALLEL_LEVEL:<64> ==============================================================================

34 Phase 2: parallelism (8) SQL> exec print_rec ('select c.status, c.start_id, c.end_id, c.start_ts, c.end_ts, c.error_message from user_parallel_execute_chunks c where rownum < 2'); ============================================================================== STATUS:<PROCESSED> START_ID:<1007> END_ID:<4219> START_TS:< :16:13,628631> END_TS:< :16:14,645001> ERROR_MESSAGE:<NULL> ============================================================================== PL/SQL procedure successfully completed

35 Phase 2: parallelism (9) SQL> exec print_rec ('select min (s.start_time) start_time, max (s.end_time) end_time, sum (s.rows_processed) rows_processed from cust_task_slaves s where s.master_task_id = 1007'); ============================================================================== START_TIME:< :16:13,636550> END_TIME:< :20:32,188363> ROWS_PROCESSED:< > ============================================================================== PL/SQL procedure successfully completed

36 Conclusion many developers are unaware of dbms_parallel_execute works with Oracle SE (for now) better performance compared to parallel DML when chunks are based on ROWID or blocks less undo space required and minimizing the chance of ORA better uniform distribution across parallel processes PL/SQL parallelism

37 ORA-03113: end-of-file on communication channel? Boris Oblak Abakus plus d.o.o. Parallel executing

38

APEX Shared Components. Aljaž Mali, Abakus Plus d.o.o.

APEX Shared Components. Aljaž Mali, Abakus Plus d.o.o. APEX Shared Components Aljaž Mali, Abakus Plus d.o.o. 2 Quick introduction IT Solutions Architect at Abakus plus, d.o.o SIOUG - Vice President APEX Meetups HTMLDB just a toy?, SIOUG, Portorož 2004 APEX

More information

Forensic analysis of Oracle log files

Forensic analysis of Oracle log files Jure Kajzer Abakus PLUS d.o.o. Forensic analysis of Oracle log files Abakus plus d.o.o. History from 1992, ~ employees Applications: special (DB Newspaper Distribution, FIS Flight Information System) ARBITER

More information

High Availability in Numbers

High Availability in Numbers High Availability in Numbers mag. Sergej Rožman; Abakus plus d.o.o. The latest version of this document is available at: http://www.abakus.si/ High Availability in Numbers mag. Sergej Rožman sergej.rozman@abakus.si

More information

Arhitektura Oracle in SQL Server podatkovnih zbirk iz vidika restavriranja podatkov

Arhitektura Oracle in SQL Server podatkovnih zbirk iz vidika restavriranja podatkov Arhitektura Oracle in SQL Server podatkovnih zbirk iz vidika restavriranja podatkov Urh Srečnik Abakus Plus d.o.o. History Services From 1992 OS & Network Administration ~20 employees

More information

Table of Contents. Oracle SQL PL/SQL Training Courses

Table of Contents. Oracle SQL PL/SQL Training Courses Table of Contents Overview... 7 About DBA University, Inc.... 7 Eligibility... 8 Pricing... 8 Course Topics... 8 Relational database design... 8 1.1. Computer Database Concepts... 9 1.2. Relational Database

More information

System control Commands such as ALTER SYSTEM and ALTER DATABASE. Session control Commands such as ALTER SESSION and SET ROLE.

System control Commands such as ALTER SYSTEM and ALTER DATABASE. Session control Commands such as ALTER SESSION and SET ROLE. 144 Part II: Oracle Database Vault Data Definition Language Database structure related commands that typically have the form CREATE , ALTER , and DROP , such as CREATE

More information

EDUVITZ TECHNOLOGIES

EDUVITZ TECHNOLOGIES EDUVITZ TECHNOLOGIES Oracle Course Overview Oracle Training Course Prerequisites Computer Fundamentals, Windows Operating System Basic knowledge of database can be much more useful Oracle Training Course

More information

PL/SQL. Exception. When the PL/SQL engine cannot execute the PLSQL block it raise an error. Every Oracle error has an error number

PL/SQL. Exception. When the PL/SQL engine cannot execute the PLSQL block it raise an error. Every Oracle error has an error number PL/SQL Exception When the PL/SQL engine cannot execute the PLSQL block it raise an error. Every Oracle error has an error number Exceptions must be handled by name. PL/SQL predefines some common Oracle

More information

Oracle 11g Invisible Indexes Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.

Oracle 11g Invisible Indexes   Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc. ORACLE 11G INVISIBLE INDEXES Inderpal S. Johal, Data Softech Inc. INTRODUCTION In this document we will work on another Oracle 11g interesting feature called Invisible Indexes. This will be very helpful

More information

ORACLE: PL/SQL Programming

ORACLE: PL/SQL Programming %ROWTYPE Attribute... 4:23 %ROWTYPE... 2:6 %TYPE... 2:6 %TYPE Attribute... 4:22 A Actual Parameters... 9:7 Actual versus Formal Parameters... 9:7 Aliases... 8:10 Anonymous Blocks... 3:1 Assigning Collection

More information

Creating and Managing Tables Schedule: Timing Topic

Creating and Managing Tables Schedule: Timing Topic 9 Creating and Managing Tables Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice 50 minutes Total Objectives After completing this lesson, you should be able to do the following: Describe the

More information

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved.

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Categorize the main database

More information

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved.

Using DDL Statements to Create and Manage Tables. Copyright 2004, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Categorize the main database

More information

There is no free lunch! SERIALIZABILITY. NoCOUG Summer Conference. By Iggy Fernandez. Aug 18, 2005

There is no free lunch! SERIALIZABILITY. NoCOUG Summer Conference. By Iggy Fernandez. Aug 18, 2005 There is no free lunch! By Iggy Fernandez NoCOUG Summer Conference Aug 18, 2005 1 CAVEAT LECTOR! Don t believe (blindly) anything I say What you are about to see and hear may be false or deficient in some

More information

Oracle. SQL(Structured Query Language) Introduction of DBMS. Build In Function. Introduction of RDBMS. Grouping the Result of a Query

Oracle. SQL(Structured Query Language) Introduction of DBMS. Build In Function. Introduction of RDBMS. Grouping the Result of a Query Oracle SQL(Structured Query Language) Introduction of DBMS Approach to Data Management Introduction to prerequisites File and File system Disadvantages of file system Introduction to TOAD and oracle 11g/12c

More information

JSPM s Bhivarabai Sawant Institute of Technology & Research, Wagholi, Pune Department of Information Technology

JSPM s Bhivarabai Sawant Institute of Technology & Research, Wagholi, Pune Department of Information Technology JSPM s Bhivarabai Sawant Institute of Technology & Research, Wagholi, Pune Department of Information Technology Introduction A database administrator (DBA) is a person responsible for the installation,

More information

7/17/2018. Copyright 2016, Oracle and/or its affiliates. All rights reserved. 2

7/17/2018. Copyright 2016, Oracle and/or its affiliates. All rights reserved. 2 Copyright 2016, Oracle and/or its affiliates. All rights reserved. 2 1 Typical speaker ego slide blog connor-mcdonald.com youtube tinyurl.com/connor-tube twitter @connor_mc_d Copyright 2016, Oracle and/or

More information

Database Foundations. 6-3 Data Definition Language (DDL) Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Database Foundations. 6-3 Data Definition Language (DDL) Copyright 2015, Oracle and/or its affiliates. All rights reserved. Database Foundations 6-3 Roadmap You are here Introduction to Oracle Application Express Structured Query Language (SQL) Data Definition Language (DDL) Data Manipulation Language (DML) Transaction Control

More information

Active Databases Part 1: Introduction CS561

Active Databases Part 1: Introduction CS561 Active Databases Part 1: Introduction CS561 1 Active Databases n Triggers and rules are developed for data integrity and constraints n Triggers make passive database active Database reacts to certain situations

More information

ORACLE 12C NEW FEATURE. A Resource Guide NOV 1, 2016 TECHGOEASY.COM

ORACLE 12C NEW FEATURE. A Resource Guide NOV 1, 2016 TECHGOEASY.COM ORACLE 12C NEW FEATURE A Resource Guide NOV 1, 2016 TECHGOEASY.COM 1 Oracle 12c New Feature MULTITENANT ARCHITECTURE AND PLUGGABLE DATABASE Why Multitenant Architecture introduced with 12c? Many Oracle

More information

Oracle Database 12c 12c és 18c Data Guard újdonságok, Application Continuity tapasztalatok és demó. Papp Balázs - Webváltó

Oracle Database 12c 12c és 18c Data Guard újdonságok, Application Continuity tapasztalatok és demó. Papp Balázs - Webváltó Oracle Database 12c 12c és 18c Data Guard újdonságok, Application Continuity tapasztalatok és demó Papp Balázs - Webváltó Introduction Webváltó Kft. 2010-2018. 4. 4. 2 / 31 12.1 Transaction Guard and Application

More information

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time SQL Basics & PL-SQL Complete Practical & Real-time Training Sessions A Unit of SequelGate Innovative Technologies Pvt. Ltd. ISO Certified Training Institute Microsoft Certified Partner Training Highlights

More information

Course Outline and Objectives: Database Programming with SQL

Course Outline and Objectives: Database Programming with SQL Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database design by creating a

More information

Full file at

Full file at ch2 True/False Indicate whether the statement is true or false. 1. The SQL command to create a database table is an example of DML. 2. A user schema contains all database objects created by a user. 3.

More information

<Insert Picture Here> Get the best out of Oracle Scheduler: Learn how you can leverage Scheduler for enterprise scheduling

<Insert Picture Here> Get the best out of Oracle Scheduler: Learn how you can leverage Scheduler for enterprise scheduling 1 Get the best out of Oracle Scheduler: Learn how you can leverage Scheduler for enterprise scheduling Vira Goorah (vira.goorah@oracle.com) Oracle Principal Product Manager Agenda

More information

Oracle Database 12c. The Best Oracle Database 12c Tuning Features for Developers and DBAs. Presented by: Alex Zaballa, Oracle DBA

Oracle Database 12c. The Best Oracle Database 12c Tuning Features for Developers and DBAs. Presented by: Alex Zaballa, Oracle DBA Oracle Database 12c The Best Oracle Database 12c Tuning Features for Developers and DBAs Presented by: Alex Zaballa, Oracle DBA Alex Zaballa http://alexzaballa.blogspot.com/ 147 and counting @alexzaballa

More information

Oracle Database 12c Release 2

Oracle Database 12c Release 2 Oracle Database 12c Release 2 New Features (OVERVIEW) Rhoda Sarmiento-Pereira Oracle Support Safe Harbor Statement The following is intended to outline our general product direction. It is intended for

More information

Independent consultant. (Ex-) Oracle ACE Director. Member of OakTable Network. Performance Troubleshooting In-house workshops

Independent consultant. (Ex-) Oracle ACE Director. Member of OakTable Network. Performance Troubleshooting In-house workshops Independent consultant Performance Troubleshooting In-house workshops Cost-Based Optimizer Performance By Design (Ex-) Oracle ACE Director 2009-2016 Alumni Member of OakTable Network http://oracle-randolf.blogspot.com

More information

Difficult I.Q on Databases, asked to SCTPL level 2 students 2015

Difficult I.Q on Databases, asked to SCTPL level 2 students 2015 Do you know the basic memory structures associated with any Oracle Database. (W.r.t 10g / 11g / 12c)? The basic memory structures associated with Oracle Database include: System Global Area (SGA) The SGA

More information

RDBMS-Day3. SQL Basic DDL statements DML statements Aggregate functions

RDBMS-Day3. SQL Basic DDL statements DML statements Aggregate functions RDBMS-Day3 SQL Basic DDL statements DML statements Aggregate functions SQL SQL is used to make a request to retrieve data from a Database. The DBMS processes the SQL request, retrieves the requested data

More information

Oracle Class VII More on Exception Sequence Triggers RowID & Rownum Views

Oracle Class VII More on Exception Sequence Triggers RowID & Rownum Views Oracle Class VII More on Exception Sequence Triggers RowID & Rownum Views Sequence An Oracle sequence is an Oracle database object that can be used to generate unique numbers. You can use sequences to

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-9 7 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training

More information

Oracle 1Z0-053 Exam Questions & Answers

Oracle 1Z0-053 Exam Questions & Answers Oracle 1Z0-053 Exam Questions & Answers Number: 1Z0-053 Passing Score: 660 Time Limit: 120 min File Version: 38.8 http://www.gratisexam.com/ Oracle 1Z0-053 Exam Questions & Answers Exam Name: Oracle Database

More information

Enhancements and New Features in Oracle 12c Summarized

Enhancements and New Features in Oracle 12c Summarized Enhancements and New Features in Oracle 12c Summarized In this blog post I would be highlighting few of the features that are now available on Oracle Database 12cRelease. Here listing below in a summarized

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

@vmahawar. Agenda Topics Quiz Useful Links

@vmahawar. Agenda Topics Quiz Useful Links @vmahawar Agenda Topics Quiz Useful Links Agenda Introduction Stakeholders, data classification, Rows/Columns DDL Data Definition Language CREATE, ALTER, DROP, TRUNCATE CONSTRAINTS, DATA TYPES DML Data

More information

Database Programming with PL/SQL

Database Programming with PL/SQL Database Programming with PL/SQL 2-2 Objectives This lesson covers the following objectives: List and define the different types of lexical units available in PL/SQL Describe identifiers and identify valid

More information

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 5 Database Programming PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) AGENDA 7. Stored Procedures 7.1 Introduction to Stored

More information

Executing SQL as SYS from APPS in Oracle s ebusiness Suite (and trying to prevent it!)

Executing SQL as SYS from APPS in Oracle s ebusiness Suite (and trying to prevent it!) Executing SQL as SYS from APPS in Oracle s ebusiness Suite (and trying to prevent it!) David Litchfield 7th June 2016 Introduction This paper presents several methods for the APPS user to execute SQL as

More information

Poor Man s Auditing with. Oracle Log Miner

Poor Man s Auditing with. Oracle Log Miner Poor Man s Auditing with Oracle Log Miner Caleb Small, BSc, ISP www.caleb.com/dba Who is Caleb? Lifelong IT career Oracle DBA since v7.0 Former Instructor for Oracle Corp. Independent consultant Faculty

More information

SE2 goes Enterprise. Hidden Treasures in Oracle Dr. Thomas Petrik DOAG Konferenz, November 2017, Nürnberg

SE2 goes Enterprise. Hidden Treasures in Oracle Dr. Thomas Petrik DOAG Konferenz, November 2017, Nürnberg SE2 goes Enterprise Hidden Treasures in Oracle 12.2 Dr. Thomas Petrik DOAG Konferenz, November 2017, Nürnberg Oracle Container Architecture 2 Single-Tenant is the Default Oracle Database Upgrade Guide

More information

Oracle 11g Database Replay Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.

Oracle 11g Database Replay  Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc. ORACLE 11G DATABASE REPLAY : CAPTURE WORKLOAD PROCESS Inderpal S. Johal, Data Softech Inc. INTRODUCTION In this document I will provide details as how you can use Oracle 11g database replay feature. This

More information

Data Access 3. Managing Apache Hive. Date of Publish:

Data Access 3. Managing Apache Hive. Date of Publish: 3 Managing Apache Hive Date of Publish: 2018-07-12 http://docs.hortonworks.com Contents ACID operations... 3 Configure partitions for transactions...3 View transactions...3 View transaction locks... 4

More information

Oracle Database 10g: Introduction to SQL

Oracle Database 10g: Introduction to SQL ORACLE UNIVERSITY CONTACT US: 00 9714 390 9000 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database

More information

Temporal DB Features in Oracle

Temporal DB Features in Oracle Temporal DB Features in Oracle Introduction Consider the following: a table Orders with the definition Create table Orders( order_number int not null primary key, product_id int not null, qty int not null,

More information

ORACLE VIEWS ORACLE VIEWS. Techgoeasy.com

ORACLE VIEWS ORACLE VIEWS. Techgoeasy.com ORACLE VIEWS ORACLE VIEWS Techgoeasy.com 1 Oracle VIEWS WHAT IS ORACLE VIEWS? -A view is a representation of data from one or more tables or views. -A view is a named and validated SQL query which is stored

More information

Security Benefits of Implementing Database Vault. -Arpita Ghatak

Security Benefits of Implementing Database Vault. -Arpita Ghatak Security Benefits of Implementing Database Vault -Arpita Ghatak Topics to be covered Why Do we need Database Vault? The Benefits Components of Database Vault Oracle Database access control Components Other

More information

Oracle 11g Table Name Length Limit

Oracle 11g Table Name Length Limit Oracle 11g Table Name Length Limit Home / Middleware / Oracle Fusion Middleware Online Documentation Library, 11g Release 1 (11.1.1.8) / Portal, Forms, Table 3-1 lists parameters for invoking mod_plsql.

More information

Oracle Database Performance Tuning, Benchmarks & Replication

Oracle Database Performance Tuning, Benchmarks & Replication Oracle Database Performance Tuning, Benchmarks & Replication Kapil Malhotra kapil.malhotra@software.dell.com Solutions Architect, Information Management Dell Software 2 11/29/2013 Software Database Tuning

More information

Dbms_scheduler Run Job Only Once

Dbms_scheduler Run Job Only Once Dbms_scheduler Run Job Only Once You can schedule a job to run at a particular date and time, either once or on a repeating basis. You can This chapter assumes that you are only using Scheduler jobs. You

More information

5. Single-row function

5. Single-row function 1. 2. Introduction Oracle 11g Oracle 11g Application Server Oracle database Relational and Object Relational Database Management system Oracle internet platform System Development Life cycle 3. Writing

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 What s New in Security in the Latest Generation of Database Technology Thomas Kyte http://asktom.oracle.com 2 The following is intended to outline our general product direction. It is intended for information

More information

Oracle Database 11g: SQL and PL/SQL Fundamentals

Oracle Database 11g: SQL and PL/SQL Fundamentals Oracle University Contact Us: +33 (0) 1 57 60 20 81 Oracle Database 11g: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn In this course, students learn the fundamentals of SQL and PL/SQL

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!  We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 1Z1-054 Title : Oracle Database 11g: Performance Tuning Vendors : Oracle

More information

2. Programming written ( main theme is to test our data structure knowledge, proficiency

2. Programming written ( main theme is to test our data structure knowledge, proficiency ORACLE Job Placement Paper Paper Type : General - other 1. Tech + Aptitude written 2. Programming written ( main theme is to test our data structure knowledge, proficiency sorting searching algorithms

More information

ORACLE Job Placement Paper. Paper Type : General - other

ORACLE Job Placement Paper. Paper Type : General - other ORACLE Job Placement Paper Paper Type : General - other 1. Tech + Aptitude written 2. Programming written ( main theme is to test our data structure knowledge, proficiency sorting searching algorithms

More information

Oracle Database 10g Express

Oracle Database 10g Express Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives

More information

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX KillTest Q&A Exam : 1Z1-054 Title : Oracle Database 11g: Performance Tuning Version : DEMO 1 / 19 1. After running SQL Performance Analyzer (SPA), you observe a few regressed SQL statements in the SPA

More information

CS6312 DATABASE MANAGEMENT SYSTEMS LABORATORY L T P C

CS6312 DATABASE MANAGEMENT SYSTEMS LABORATORY L T P C CS6312 DATABASE MANAGEMENT SYSTEMS LABORATORY L T P C 0 0 3 2 LIST OF EXPERIMENTS: 1. Creation of a database and writing SQL queries to retrieve information from the database. 2. Performing Insertion,

More information

Chapter # 7 Introduction to Structured Query Language (SQL) Part I

Chapter # 7 Introduction to Structured Query Language (SQL) Part I Chapter # 7 Introduction to Structured Query Language (SQL) Part I Introduction to SQL SQL functions fit into two broad categories: Data definition language Data manipulation language Basic command set

More information

Data Integration and ETL with Oracle Warehouse Builder

Data Integration and ETL with Oracle Warehouse Builder Oracle University Contact Us: 1.800.529.0165 Data Integration and ETL with Oracle Warehouse Builder Duration: 5 Days What you will learn Participants learn to load data by executing the mappings or the

More information

COSC344 Database Theory and Applications. Lecture 11 Triggers

COSC344 Database Theory and Applications. Lecture 11 Triggers COSC344 Database Theory and Applications Lecture 11 Triggers COSC344 Lecture 11 1 Overview Last Lecture - PL/SQL This Lecture - Triggers - Source: Lecture notes, Oracle documentation Next Lecture - Java

More information

20 Essential Oracle SQL and PL/SQL Tuning Tips. John Mullins

20 Essential Oracle SQL and PL/SQL Tuning Tips. John Mullins 20 Essential Oracle SQL and PL/SQL Tuning Tips John Mullins jmullins@themisinc.com www.themisinc.com www.themisinc.com/webinars Presenter John Mullins Themis Inc. (jmullins@themisinc.com) 30+ years of

More information

Review -Chapter 4. Review -Chapter 5

Review -Chapter 4. Review -Chapter 5 Review -Chapter 4 Entity relationship (ER) model Steps for building a formal ERD Uses ER diagrams to represent conceptual database as viewed by the end user Three main components Entities Relationships

More information

ORACLE 11g RDBMS Features: Oracle Total Recall Oracle FLEXCUBE Universal Banking Release [May] [2017]

ORACLE 11g RDBMS Features: Oracle Total Recall Oracle FLEXCUBE Universal Banking Release [May] [2017] ORACLE 11g RDBMS Features: Oracle Total Recall Oracle FLEXCUBE Universal Banking Release 12.4.0.0.0 [May] [2017] Table of Contents 1. INTRODUCTION... 2 2. REQUIREMENT /PROBLEM STATEMENT... 3 3. PREREQUISITES...

More information

Autonomous Transactions

Autonomous Transactions Autonomous Transactions Autonomous transactions allow you to create a new transaction within a transaction that may commit or roll back changes, independently of its parent transaction. They allow you

More information

5 Integrity Constraints and Triggers

5 Integrity Constraints and Triggers 5 Integrity Constraints and Triggers 5.1 Integrity Constraints In Section 1 we have discussed three types of integrity constraints: not null constraints, primary keys, and unique constraints. In this section

More information

Oracle Performance Tuning. Overview of performance tuning strategies

Oracle Performance Tuning. Overview of performance tuning strategies Oracle Performance Tuning Overview of performance tuning strategies Allan Young June 2008 What is tuning? Group of activities used to optimize and homogenize the performance of a database Maximize use

More information

The Encryption Wizard for Oracle. API Library Reference

The Encryption Wizard for Oracle. API Library Reference The Encryption Wizard for Oracle For Oracle 9i, 10g and 11g Databases Version 7 Copyright 2003-2008 All Rights Reserved. Copyright 2008-2010 The Encryption Wizard for Oracle RDC) 12021 Wilshire Blvd Suite

More information

G64DBS Database Systems. Lecture 7 SQL SELECT. The Data Dictionary. Data Dictionaries. Different Sections of SQL (DDL) Different Sections of SQL (DCL)

G64DBS Database Systems. Lecture 7 SQL SELECT. The Data Dictionary. Data Dictionaries. Different Sections of SQL (DDL) Different Sections of SQL (DCL) G64DBS Database Systems Lecture 7 SQL SELECT Tim Brailsford Different Sections of SQL (DDL) The Data Definition Language (DDL): CREATE TABLE - creates a new database table ALTER TABLE - alters (changes)

More information

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210 SQL: Concepts Todd Bacastow IST 210: Organization of Data 2/17/2004 1 Design questions How many entities are there? What are the major entities? What are the attributes of each entity? Is there a unique

More information

Oracle Database Auditing

Oracle Database Auditing By Craig Moir craig@mydba.co.za http://www.mydba.co.za August 2012 Version 1 WHY AUDIT? Allows organizations to enforce the trust-but-verify security principle. Satisfying compliance regulations. Enables

More information

SQL Interview Questions

SQL Interview Questions SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic

More information

Studies for Implementing Triggers

Studies for Implementing Triggers Studies for Implementing Triggers Objectives After completing this appendix, you should be able to do the following: Enhance database security with triggers Enforce data integrity with DML triggers Maintain

More information

1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL

1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL CertBus.com 1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL Pass Oracle 1Z0-144 Exam with 100% Guarantee Free Download Real Questions & Answers PDF and VCE file from: 100% Passing Guarantee 100%

More information

Lab # 4. Data Definition Language (DDL)

Lab # 4. Data Definition Language (DDL) Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Lab # 4 Data Definition Language (DDL) Eng. Haneen El-Masry November, 2014 2 Objective To be familiar with

More information

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Database Programming PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) AGENDA 6. Stored Functions Procedural Database Programming

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the fundamentals of SQL and PL/SQL along with the

More information

The Encryption Wizard for Oracle. API Library Reference

The Encryption Wizard for Oracle. API Library Reference The Encryption Wizard for Oracle For Oracle 10g, 11g and 12c Databases Version 8 All Rights Reserved. The Encryption Wizard for Oracle RDC) 12021 Wilshire Blvd Suite 108 Los Angeles, CA. 90025 310-281-1915

More information

Oracle Database: SQL and PL/SQL Fundamentals Ed 2

Oracle Database: SQL and PL/SQL Fundamentals Ed 2 Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle Database: SQL and PL/SQL Fundamentals Ed 2 Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL)

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management Tenth Edition Chapter 7 Introduction to Structured Query Language (SQL) Objectives In this chapter, students will learn: The basic commands and

More information

C. Use the TO_CHAR function around SYSDATE, that is, 1_date := TO_CHAR (SYSDATE).

C. Use the TO_CHAR function around SYSDATE, that is, 1_date := TO_CHAR (SYSDATE). Volume: 75 Questions Question: 1 Examine this code: Users of this function may set different date formats in their sessions. Which two modifications must be made to allow the use of your session s date

More information

Data Organization and Processing I

Data Organization and Processing I Data Organization and Processing I Data Organization in Oracle Server 11g R2 (NDBI007) RNDr. Michal Kopecký, Ph.D. http://www.ms.mff.cuni.cz/~kopecky Database structure o Database structure o Database

More information

Using DDL Statements to Create and Manage Tables. Copyright 2006, Oracle. All rights reserved.

Using DDL Statements to Create and Manage Tables. Copyright 2006, Oracle. All rights reserved. Using DDL Statements to Create and Manage Tables Objectives After completing this lesson, you should be able to do the following: Categorize the main database objects Review the table structure List the

More information

18(ish) Things Developers Will About 18c

18(ish) Things Developers Will About 18c 18(ish) Things Developers Will About 18c Chris Saxon, @ChrisRSaxon & @SQLDaily blogs.oracle.com/sql youtube.com/c/themagicofsql asktom.oracle.com Copyright 2017, Oracle and/or its affiliates. All rights

More information

Today Learning outcomes LO2

Today Learning outcomes LO2 2015 2016 Phil Smith Today Learning outcomes LO2 On successful completion of this unit you will: 1. Be able to design and implement relational database systems. 2. Requirements. 3. User Interface. I am

More information

Chapter 8: Working With Databases & Tables

Chapter 8: Working With Databases & Tables Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have

More information

COMP283-Lecture 6 Applied Database Management

COMP283-Lecture 6 Applied Database Management Applied Database Management Introduction Database Administration More Optimisation Maintaining Data Integrity Improving Performance 1 DB Administration: Full-text index Full Text Index Index large text

More information

Database Programming with PL/SQL

Database Programming with PL/SQL Database Programming with PL/SQL 12-1 Objectives This lesson covers the following objectives: Recall the stages through which all SQL statements pass Describe the reasons for using dynamic SQL to create

More information

2017/11/04 04:02 1/12 Coding Conventions

2017/11/04 04:02 1/12 Coding Conventions 2017/11/04 04:02 1/12 Coding Conventions Coding Conventions SQL Statements (Selects) Use the more readable ANSI-Standard Join clauses (SQL-92 syntax) instead of the old style joins (SQL-89 syntax). The

More information

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) SQL language Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 SQL - Structured Query Language SQL is a computer language for communicating with DBSM Nonprocedural (declarative) language What

More information

Section I : Section II : Question 1. Question 2. Question 3.

Section I : Section II : Question 1. Question 2. Question 3. Computer Science, 60-415 Midterm Examiner: Ritu Chaturvedi Date: Oct. 27 th, 2011 Student Name: Student Number: INSTRUCTIONS (Please Read Carefully) Examination Period is 1 hour and 15 minutes Answer all

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any

More information

CAST(HASHBYTES('SHA2_256',(dbo.MULTI_HASH_FNC( tblname', schemaname'))) AS VARBINARY(32));

CAST(HASHBYTES('SHA2_256',(dbo.MULTI_HASH_FNC( tblname', schemaname'))) AS VARBINARY(32)); >Near Real Time Processing >Raphael Klebanov, Customer Experience at WhereScape USA >Definitions 1. Real-time Business Intelligence is the process of delivering business intelligence (BI) or information

More information

Oracle 1Z0-071 Exam Questions and Answers (PDF) Oracle 1Z0-071 Exam Questions 1Z0-071 BrainDumps

Oracle 1Z0-071 Exam Questions and Answers (PDF) Oracle 1Z0-071 Exam Questions 1Z0-071 BrainDumps Oracle 1Z0-071 Dumps with Valid 1Z0-071 Exam Questions PDF [2018] The Oracle 1Z0-071 Oracle Database 12c SQL Exam exam is an ultimate source for professionals to retain their credentials dynamic. And to

More information

Oracle 12c Features You Should Know. Arup Nanda Longtime Oracle DBA

Oracle 12c Features You Should Know. Arup Nanda Longtime Oracle DBA Oracle 12c Features You Should Know Arup Nanda Longtime Oracle DBA Agenda 12 Features Key useful features; not all. Not necessarily well advertised Some demo 2 1. Pluggable Database Application 1 Application

More information

Oracle 11g Virtual Column Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.

Oracle 11g Virtual Column   Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc. ORACLE 11G VIRTUAL COLUMN Inderpal S. Johal, Data Softech Inc. INTRODUCTION In Oracle 11g has allowed database Tables to have virtual columns. These virtual columns can be more specifically called as derived

More information

Oracle User Administration

Oracle User Administration Oracle User Administration Creating user accounts User accounts consist of two components. These are: 1. User name - The name of the account. 2. Password - The password associated with the user account.

More information

DB2 SQL Class Outline

DB2 SQL Class Outline DB2 SQL Class Outline The Basics of SQL Introduction Finding Your Current Schema Setting Your Default SCHEMA SELECT * (All Columns) in a Table SELECT Specific Columns in a Table Commas in the Front or

More information