Home
Videos uploaded by user “SkillBuilders”
Oracle SQL Tuning - How to Read Execution Plans (Explain Plan)
 
13:39
In this free tutorial you will learn how to generate and read (interpret) an execution plan in Oracle Databases. See more FREE Oracle Tuning tutorials at http://skillbuilders.com/free-oracle-tutorials. Understanding what the Oracle Database does with your SQL is essential to tuning - and the execution plan is the key. Oracle Certified Master DBA John Watson will provide a brief introduction (4 minutes) - which includes John's tuning methodology, then demonstrate EXPLAIN PLAN, SQL*Plus AUTOTRACE and DBMS_XPLAN.DISPLAY_CURSOR. In the tutorial, John will teach you: - How to read an execution plan - Find the 1st step in the plan - Decipher the order of the steps in the plan - That EXPLAIN PLAN can be very misleading Prerequisites: To get the most from this tutorial, you should: 1 Know how to code SQL 2 Be familiar with SQL*Plus 3 Know - in very general terms - what an execution plan is. 4 Have a basic understanding of the Library Cache (this is where Oracle Database stores parsed SQL statements) 5 Have a basic understanding of the Cost Based Optimizer (this is the part of the database that parses your SQL, creates an execution plan. Hopefully the correct - most efficient - plan).
Views: 67260 SkillBuilders
How Oracle RAC Cache Fusion Works Part 1 of 6
 
06:02
Learn the mysteries of how Oracle RAC Cache Fusion works. In this lesson you will see the tutorial agenda plus a brief history of Oracle clustering (parallel server) and the problems associated with disk pinging. Cache Fusion is the secret to making Oracle Real Application Clusters (clustering) a scalable database platform. You will learn how cache fusion works, the differences between global cache current and consistent read transfers, the differences between two-way and three-way transfers and the associated wait events. Oracle Ace and author Brian Peasland provides a demonstration of global cache transfers in action by utilizing Oracle Trace. Prerequisites: Knowledge of Oracle Architecture including the concept of an Oracle instance, the buffer cache, how data is moved into the buffer cache and an understanding of wait events. Brian is a certified Oracle ACE who has been in the IT field for over 25 years and has worked as a computer operator, operations analyst, systems administrator, application developer and for more than half of his career as a database administrator. He holds a B.S. in Computer Science and a M.S. in Computer Science, specializing in database systems. Brian has been a member of SearchOracle.com’s Ask The Experts since 2001 and now contributes articles to the site. He regularly contributes to the My Oracle Support and Oracle Technet communities. He can be followed on Twitter on @BPeaslandDBA and maintains a blog at http://www.peasland.net. Brian is the author of “Oracle RAC Performance Tuning” on Rampant TechPress.
Views: 7240 SkillBuilders
How to use Oracle SQL ROLLUP and CUBE
 
06:12
Learn how the Oracle Database SQL extensions ROLLUP and CUBE provide additional aggregations for your data warehouse data.
Views: 2675 SkillBuilders
How to Convert a Non-Partitioned Table to Partitioned using Oracle Database 12c R2
 
05:02
Oracle Database 12c Release 2 New Feature! Learn how to convert a non-partitioned table to a partitioned table - Online! This new method - using ALTER TABLE MODIFY - is much simpler than DBMS_REDEFINITION. In this free tutorial from SkillBuilders and Oracle Certified Master DBA John Watson you'll see a demonstration of converting the table and the impact on the underlying table and indexes. See all our free Oracle Database Tutorials at http://www.skillbuilders.com/free-oracle-tutorials.
Views: 3596 SkillBuilders
Introduction to Advanced Ruby Programming Language from SkillBuilders.com/Ruby
 
09:49
Watch the entire FREE tutorial at http://www.SkillBuilders.com/Ruby-Free-Tutorials?id=12&w=web-development-with-ruby-on-rails. "Introduction to Ruby" talks aren't that exciting. Every language has strings, arrays, conditionals, and evaluation, and by now, everyone's sick of "build a CRUD app in 15 minutes" demos. Every language has its own special qualities that set it apart, and this talk focuses what makes the Ruby programming language different and special. We'll cover seven advanced language features and techniques, and we'll demonstrate how we use those to solve everyday problems. We'll talk about message passing, extending core language features, lambdas, and we'll even write a little code that writes code. If you've looked at Ruby and thought "What's the point?" then this talk is for you. Your instructor, Brian P. Hogan is an author, editor, trainer, and web developer who's been building web sites professionally since 1995.
Views: 11878 SkillBuilders
SQL Tuning for Beginners 2 - Review Challenge
 
08:33
In Part 2, Oracle Certified Master reviews the tuning challenge presented at the end of part 1. John uses Autotrace to demonstrate which query performs the best.
Views: 2903 SkillBuilders
SQL Tuning How to Tune Joins - Lesson 1
 
01:53
How do you tune SQL Joins? Start with the most important ingredient - the join order! In this free tutorial by Oracle Certified Master DBA John Watson of SkillBuilders.com you will learn what is the best join order and how to get the optimal join order. Watch all Lessons, FREE, at http://skillbuilders.com/tuning-joins-optimal-join-order.
Views: 3465 SkillBuilders
Stop Rebuilding Global Indexes! Oracle 12c Global Index Maintenance
 
09:00
Stop rebuilding Global Indexes! Stop worrying about invalidating Global Indexes! Oracle 11g gave us "UPDATE GLOBAL INDEXES". 12c provides a huge improvement: orphaned_entries! In this tutorial, Oracle Certified Master John Watson demonstrates how 11g and 12c handle Global Index maintenance with orphaned entries and overnight maintenance job PMO_DEFERRED_GIDX_MAINT_JOB.
Views: 2624 SkillBuilders
Oracle SQL Tuning - Explain Plan Lies?
 
08:20
Do you use EXPLAIN PLAN to tune Oracle SQL? Does it always "tell the truth", or does it "lie". (Maybe it's not the whole truth!) In this free tutorial from SkillBuilders' Oracle Certified Master John Watson, you will learn why the execution plan generated by EXPLAIN PLAN can be misleading and what to do about it. After a brief lecture, John demonstrates exactly why. You'll hear about dynamic sampling, adaptive cursor sharing (11g), adaptive execution plans (12c) and of course, bind variables. John demonstrates how bind variables cause misleading execution plans using dbms_xplan.display and dbms_xplan.display_cursor. To get the most from this tutorial, you should have some understanding of hard parse, soft parse, cardinality, histograms. See all SkillBuilders FREE Oracle Database tutorials at http://www.skillbuilders.com/free-oracle-tutorials.
Views: 3551 SkillBuilders
How to use the Oracle SQL PIVOT Clause
 
11:46
PIVOT allows you to "flip a table on its side", i.e. Columns to Rows / Rows to Columns. Previously we did this with DECODE or CASE. As of Oracle 11g, Oracle Database includes the PIVOT clause (and UNPIVOT). Oracle expert Geoff Wiland from SkillBuilders will demonstrate PIVOT, UNPIVOT, including the use of aggregate functions.
Views: 11284 SkillBuilders
How Oracle RAC Cache Fusion Works Part 2 of 6
 
05:20
Learn how Oracle RAC Cache Fusion really works. Presenter Brian Peasland demonstrates, with v$statname, v$sesstat and Oracle trace (dbms_monitor.session_trace_enable) cache fusion in action. Free Scripts used in this tutorial are downloadable here http://skillbuilders.com/How-Oracle-RAC-Cache-Fusion-Works
Views: 3819 SkillBuilders
How to Pivot (Flip) Tables with SQL CASE & DECODE
 
04:25
Pivoting tables (columns to rows, rows to columns) is a common data analysis requirement. Learn how to accomplish this with Oracle SQL CASE and DECODE
Views: 1922 SkillBuilders
How Oracle RAC Cache Fusion Works Part 3 of 6
 
09:13
Learn How Oracle RAC Cache Fusion Works Really Works. Download Free Scripts at http://skillbuilders.com/How-Oracle-RAC-Cache-Fusion-Works. A continuation of the cache fusion demonstration, with a detailed look at session statistics and the raw trace file contents. You will learn about the "gc" wait events (Global Cache) including 'gc current block 2-way' and 'gc cr multi block request'.
Views: 3201 SkillBuilders
How to Tune SQL when You Can't Edit the Source Code, Part 1 of 2
 
03:17
Learn Oracle SQL Tuning! How do you add a hint to SQL you can't edit? How do you tune SQL if you don't have access to the source code? Sometimes, Oracle indexes, statistics, stored outlines, profiles or 12c directives will solve a tuning problem. However, as a last resort, you may want to add a hint. In this case DBMS_ADVANCED_REWRITE can be the solution. In this tutorial, Oracle Certified Master DBA John Watson of SkillBuilders demonstrates using DBMS_ADVANCED_REWRITE to change the SQL Oracle executes - without changing the source code!
Views: 1502 SkillBuilders
What is Oracle Exadata Smart Scan (Demonstration)
 
03:47
How does Oracle Exadata Smart Scan work? What is Smart Scan. How to insure Oracle is offloading work to the Storage Tier? Learn this and more in this demonstration by OC Master John Watson of SkillBuilders. See all 11 lessons in this tutorial at http://skillbuilders.com/exadata-tutorials. John Watson: I want to show you very briefly how offload Smart Scan or flow processing can actually function. I'm working here just in the little demonstration Scott schema. I'll enable auto tracing so that we can see the effect on execution plans, which will also show me whether offload processing is indeed possible. So it's a simple query. I'll use a function here to check that to get offloaded as well as the column selection and the row selection and column projection. We'll have a predicate. Right. So there is the statement. It returned these three scalar values, as you would expect. How was this actually executed? There was a select statement, then it was executed, table access full. That's the only way to run that statement given the index on that table because in the middle of this, we see the key word, "storage." That key word tells me that this statement could indeed be offloaded to the storage tier. Furthermore, we see down here in the predicate information, "storage." That key word again tells me that the row filtering could have been done by the storage tier. So what happened is that the storage tier did not return every block of the empty* table to the database buffer cache, where my session would then have had to extract these values. All it returned to the instance was these three scalar values directly into the PGA of my server process. Now, there's also the initcap function there. Was that offloadable or not? There is a view "Read our SQL fm letter data," and that will tell us for each function whether or not it can be offloaded. So, just select its name, whether it's offloadable. Declare offloadable as yes and put in a sort order as well, and we see that in the current release, there are 393 functions that can be offloaded. Which ones? All the typecasting functions, truncations, trims. These are functions that get executed millions of times an hour in many, many environments. Note here two particularly important ones, balloon filters. The offload capability for balloon filters allows us to offload joins or facts to dimension tables. Those two in star schemas can be offloaded. The function I used was, in fact, initcap. Just for completeness, we'll scroll through all of these and we'll see that initcap itself is an offloadable function, and there it is along with many others. There are two classes of function that cannot be offloaded, and those are the aggregation functions and the analytic functions. I mention them just for completeness. There's an architectural issue there because aggregations and analytics potentially require access to all rows in the table. The row might be distributed across a cell. So it's a technical issue why they can't be offloaded, but virtually, all other functions can be offloaded with terrific drops in CPU usage, and combining that with the reduction of data traffic into the instances will give us vast performance improvements.
Views: 3991 SkillBuilders
Four Steps to Oracle SQL Tuning  - A Methodolgy
 
02:43
Learn a predictable and repeatable methodology for tuning Oracle SQL statements. Just four steps that you should always follow when tuning an SQL statement. (Note this video does not contain examples of how to apply the four steps, just what the steps are.) Oracle Certified Master John Watson presents. John concludes with a brief overview of how SkillBuilders SQL tuning course provides the information you need to apply the four steps. Learn more about SkillBuilders SQL Tuning course http://skillbuilders.com/oracle-sql-tuning-training 1. What is Oracle doing? (explain plan, trace) 2. Why is Oracle doing it that way? (analyze the execution plan) 3. Is there a better way? Test! 4. If there's a better way, push the CBO towards the better way.
Views: 14178 SkillBuilders
How Oracle RAC Cache Fusion Really Works Part 5 of 6
 
04:07
Oracle ACE Brian Peasland demonstrates 2-Way vs 3-Way Block Transfers including a description of master, holders and requestors.
Views: 1730 SkillBuilders
Introduction to Oracle APEX 5 - Module 1 - What is APEX
 
05:06
Get started on your way to being an APEX Developer! In this excerpt from SKillBuilders Introduction to Oracle APEX class, Oracle Certified APEX Expert provides a basic foundation, i.e. answers the question, what is APEX! See all modules in this tutorial, free at http://www.skillbuilders.com/Introduction-to-Oracle-APEX-5-Tutorial
Views: 3161 SkillBuilders
SQL Tuning for Beginners Part 1 - Tuning Methodology and Basic Optimization Concepts
 
27:26
Get started with Oracle SQL Tuning! Designed for developers, DBA's and Analysts who are new to SQL Tuning, this free tutorial introduces a tuning methodology, basic tuning concepts. Part 2 provides a demonstration of explain plan and autotrace for getting an execution plan. Watch Part 2 and 3 - **FREE** - at http://www.skillbuilders.com/oracle-sql-tuning-for-beginners-tutorial. Presented by Dave Anderson and Oracle Certified Master John Watson. Attend 1-day class for beginners, online or on-premise: http://www.skillbuilders.com/oracle-sql-tuning-training-for-beginners
Views: 10474 SkillBuilders
SQL Tuning with Oracle Database 12c Histograms
 
09:20
Learn the new 12c options for creating histograms. See all free video tutorials at http://www.skillbuilders.com/free-oracle-tutorials. In this free tutorial, Oracle Certified Master DBA John Watson demonstrates what histograms do (provide correct cardinality), the difference between histogram types (Frequency and Height Balanced). You will also learn the importance of the auto sample size algorithm in 12c and the new "Hybrid" and "Top Frequency" type histograms.
Views: 3793 SkillBuilders
What is Oracle ACFS - Lesson 3 - Configuration and Demonstration
 
07:42
In this lesson Oracle Certified Master John Watson demonstrates the first 3 steps required to configure Oracle ACFS: installing GI, configuring ASM, creating disk groups, create volumes.
Views: 2169 SkillBuilders
What is Oracle ACFS - Lesson 1 - Intro to ASM Clustered File System
 
02:55
What is Oracle ASM Clustered File System? In lesson 1, Oracle Certified Master DBA John Watson reveals the somewhat confusing licensing history of ACFS and why Oracle uses it as the default file system for Oracle Database Appliances. Watch all free lessons in this tutorial at The white paper referenced in this video can be found at http://www.oracle.com/technetwork/database/database-appliance/overview/asm-acfs-migration-2379319.pdf Another helpful paper can be found at http://www.oracle.com/technetwork/database/database-technologies/cloud-storage/benefits-of-oracle-acfs-2379064.pdf.
Views: 3762 SkillBuilders
Groovy & Grails Tutorial - Part 1 - What is Groovy
 
09:53
Learn Groovy programming and the Grails platform! Groovy is part of the new generation of dynamic languages for the JVM. Watch the complete 54 minute FREE tutorial at http://skillbuilders.com/Groovy-Free-Tutorials?id=21&w=groovy-grails-free-tutorials. It's not intended to replace Java, but rather to make it easier, more flexible, and more powerful. Groovy is what Java would have been like had it been designed in the 21st Century. Groovy dramatically simplifies Java development, and also brings modern language concepts like builders, closures, and metaprogramming to existing Java systems. The purpose of this free tutorial is to demonstrate both how Groovy makes Java development quicker and easier, and also to show some of Groovy's more advanced features. The capabilities illustrated will include: Groovy beans Optional typing Easy access and processing XML data Unit and functional testing of both Groovy and Java code Simplified file and directory handling Templating Ant builders, Swing builders, and XML builders
Views: 31572 SkillBuilders
Groovy For Java Developers by SkillBuilders.com/Groovy
 
10:23
Learn how Groovy programming makes Java development quicker and easier, and some of Groovy's more advanced features. The capabilities demonstrated will include: Groovy beans Optional typing Easy access and processing XML data Unit and functional testing of both Groovy and Java code Simplified file and directory handling Templating Ant builders, Swing builders, and XML builders From SkillBuilders.com/Groovy
Views: 16862 SkillBuilders
Introduction to Oracle Application Express (APEX)
 
42:19
Oracle Application Express (APEX) is an easy to use platform for developing data-centric web based applications. Although it has been around for years, many people have yet to really discover and utilize its unique strengths. Those new to Apex often have many questions including: What can Apex do for me or my organization? What features are available "out of the box" and can I extend the product if needed? Is is secure and can it scale? This session will answer these questions, and many more, via a high level product overview which will include a live demo.
Views: 33272 SkillBuilders
Oracle Exadata: Hybrid Columnar Compression (HCC) Introduction
 
02:04
Oracle Exadata Hybrid Columnar Compression Introduction Why is it so powerful? Well, in comparison to Oracle's previous compression options, hybrid columnar compression really does compress. Everything Oracle issued previously didn't compress at all. It did deduplication...Experience shows that virtually all data will be compressed by at least five or six times.
Views: 3932 SkillBuilders
Oracle Database 12c Security - Oracle Virtual Private Database (VPD)
 
12:29
Learn how to use Oracle Virtual Private Database (VPD) to secure your data. See all lessons at http://skillbuilders.com/12c-TSDP-Tutorial First, Virtual Private Database. What is it? Answer: It's a declarative technique for enforcing security. Typically, it's based on user application context. That was the first limitation of 8i. Backed with 8i context were session-specific. The context variables were sort in the PGA. That means you simply couldn't use this in a web environment. However, global context, with use of 9i, Virtual Private Database became usable for web applications with connection pooling. But whether you're using it to client server or on a three tier environment, it's declarative technique rather than a programmatic technique. I can go behind the back of the application as a DBA and generate predicates to get appended to all SQLs. Select, insert, update, delete the end users. Issue the SQL and I will generate a predicate that filters the access. It's impossible to bypass. All users will have predicates appended to all their code. It doesn't matter whether they're using SQL Plus, Discoverer, Business Objects, Crystal Reports, eBusiness Suites, whatever they're using, I as DBA can filter their access to roles. The end result, different users see different data sets while running the same code and accessing the same tables, hence, the name Virtual Private Database. Different users will think they're seeing a totally different set of tables, but in fact it's one column database, one set of tables hosting a single application shared by all the users. The mechanism - you can apply VPD to tables, to views, to synonyms, and a declarative technique. Once the technique you write a function that generates the predicate, you associate the function with the table. From then on whenever the user issue SQL against that table the Cost-Based Optimizer rewrites the code. The Cost-Based Optimizer rewrites the user SQL to call the function to generate the predicate. The predicate is then appended to the SQL and it's the modified SQL that is parsed and executed. Let's see how this actually works. I'm working here by the way. This is just a perfectly normal 12.1 database. But what I'm going to demonstrate at this point will in fact work on 11g as well. I'm not going to be using any of the 12c enhancements to VPD for this little demonstration. I'll work in the scott schema. What do we have to do? We write a function to generate the predicate string. Create function. And I'll my function vpdf. The function must conform to a fixed specification. It must take two varchar arguments. One of the arguments is intended to be the schema to which the function will be applied. The other argument is the object within the schema to which the function will be applied. And it must return a varchar2, which is the generated predicate. Let's begin. Within this function you can do just about anything. There are some limitations. It's impossible for the function to query or update the table against which the VPD calls here is going to be applied or we violate the rules of purity that we come across so often with PL/SQL. But apart from that, it can do just about anything - including a number of dreadful side effects can be introduced by writing VPD functions. I'm going to do a very simple one on this one. I'll shall simple return immediately a predicate. What predicate? Ename, which is the ename column from this scott.emp table. Ename should equal sys_context. I'll go to the local context, my user end context, and just extract session user. We can see that John has tested this earlier today and therefore the object already was suggesting and he's just dropping it now and cleaning up the recreate. I hope you realize these really are live demonstrations. I'm not just running scripts. I've created a function. What's that function going to do? It's going to return this value here. Test it. Always test it and see what it's actually going to do. I'll select vpdf. I have to give it a couple of arguments. This one will do for now.
Views: 4642 SkillBuilders
How to Customize Calendars in Oracle APEX 5 Lesson 1 of 3
 
24:55
Watch Oracle Certified Expert Tyson Jouglet demonstrate how to customize calendars in APEX 5 in this free tutorial from SkillBuilders.com. Tyson’s focus in this presentation is how to control the aesthetics of your calendar to provide helpful visual queues for your calendar users. Tyson will be using the new calendar region in APEX 5 for this tutorial. See all 3 lessons, free, at http://skillbuilders.com/how-to-customize-calendars-apex-5.
Views: 11052 SkillBuilders
How Cache Fusion Really Works Part 4 of 6
 
04:38
Cache Fusion is the secret to making Oracle RAC a scalable database platform. This video is a continuation of the analysis of the raw trace file, the Global Cache Wait Event and the difference between Current Blocks and Consistent Read Blocks. See all lessons in this tutorial, Free, at http://skillbuilders.com/How-Oracle-RAC-Cache-Fusion-Works. Created by Brian Peasland, author of "Oracle RAC Performance Tuning" http://amzn.com/0986119415.
Views: 1874 SkillBuilders
What is Oracle ACFS - Lesson 4 - Format ACFS and Mount the File System
 
03:18
Lesson 4 of 4 - The basics of Oracle ACFS...What is it and how to configure the basics of ASM Clustered File System. Oracle Certified Master John Watson demonstrates....
Views: 1460 SkillBuilders
Oracle SQL Tuning - Equal SQL, Part 2 of 5 by John Watson, SkillBuilders.com
 
14:38
Watch Oracle Master John Watson demonstrate why not all equivalent SQL statements are created equal. John demonstrates how SQL statements that produce equivalent result sets can have radically different response times, why this happens and common solutions. All five new video tutorials are available at SkillBuilders.com/Oracle-Tutorials 1. Introduction including the First Demonstration 2. SubQuery Factoring 3. Star Transformations 4. Aggregations 5. Summary Some experience analyzing Oracle execution plans is required to get the most from this tutorial.
Views: 6495 SkillBuilders
How to Install Solaris 11 Kernel Zones - Lesson 1 Prereqs and Configuration
 
07:01
After a brief introduction, Certified Expert Mick Hosegood will present (with demonstrations) the hardware and software requirements for Solaris 11 Kernel Zones. This is lesson 1 of a 4 lesson tutorial. See all lessons, FREE, at http://www.skillbuilders.com/how-to-install-solaris-11-kernel-zones. Zones are an integrated part of the Solaris operating system which is owned and developed by Oracle. Both Solaris 10 and Solaris 11 support zones which up till now have been very lightweight virtual machines using the same kernel as is running on the host system known as the global zone. These are also sometimes referred to as containers. However, since Solaris 11.2, kernel zones have been available which allows you to run independent versions of the operating system with their own kernel within the global zone. This is the first time this has been possible, so you can maintain zones at different software level, different patch level, if you like, along with other facilities such as the ability to suspend and resume them perhaps on the same or different machine so you can migrate kernel zones, assuming you can allocate shared storage between systems.
Views: 1165 SkillBuilders
Oracle Database SQL Tuning with Direct and Indirect Reads
 
08:12
Oracle Database SQL Tuning tutorial. Learn what direct and indirect reads are and what impact they have on tuning SQL in Oracle Database. In this free tutorial from www.SkillBuilders.com, Oracle Master DBA John Watson will explain and demonstrate what direct / indirect reads are, pros and cons, why they can cause instability in the performance of your SQL (unpredictable response time), why stored outlines, SQL plan baselines and hints usually don't help. Perhaps most importantly, John will tell you what you can do about it. Intended Audience: Experience Oracle DBA's, developers and anyone with Oracle SQL tuning experience.
Views: 1682 SkillBuilders
Oracle LISTAGG Function Example and Demonstration
 
08:47
In this lesson Geoff dives into the explanation and demonstration of the LISTAGG aggregate function. See all the lessons in this tutorial - FREE - at http://www.skillbuilders.com/advanced-aggregations-with-oracle-sql.
Views: 2223 SkillBuilders
Oracle Application Express (APEX) Course Introduction
 
03:49
What's covered in SkillBuilders Oracle APEX course. Free from SkillBuilders.com/APEX.
Views: 22835 SkillBuilders
Oracle Exadata Smart Scan - Limitations and Best Practices
 
03:21
Smart Scan is a wonderful capability, but you don't always get it. It's impossible for many execution plans, and this is a major restriction. If you think about what a Smart Scan actually does, it delivers individual columns, individual rows back to the instance. Now, a buffer cache can accept only blocks. Therefore, Smart Scan cannot possibly put those columns of rows into the buffer cache. It's simply not formatted appropriately. So, a Smart Scan has to return values directly into the session's PGA or, to put it another way, the only access method that can use Smart Scan is direct read. Well, what access methods can use direct read? There are only two, which are table full scan and index fast full scan. Any other access method, typically index range scan, table access by row ID, cannot use a Smart Scan. The second major issue, there are strict limitations of the type of objects that can be accessed through Smart Scan. It really is only heap tables. You can't use indexes. You can't use clusters. You can't use IOTs. Heap tables only. Perhaps hardest to track down and giving sometimes very erratic results is that Smart Scan can be interrupted by various conditions. You've met all the requirements for Smart Scan, directory and so on, got the right execution plan. The Smart Scan starts and then hits something that causes a problem. Issues that we know cause problems are, for instance, read consistency, also delayed block cleanout, change rows. Any of those issues and a few others mean that the storage tier will have to interrupt its Smart Scan, deliver complete blocks into that buffer cache, let your session then do what is necessary to the block, and only then can the Smart Scan proceed. Now, in order to maximize the use of Smart Scan, there may be quite a lot of work. Very often, you'll have to adjust your index structures. Making them invisible is a nice technique there. There are many, many, many parameters that can influence the likelihood of achieving a Smart Scan, and almost inevitably you're going to be rewriting a lot of hint SQL and putting hints in it to get the correct execution plans that can enable a Smart Scan to occur. This is all because of one fundamental problem; the optimizer is not in any way aware of the Exadata. The optimizer develops an execution plan in exactly the way it would without the Exadata storage. The use of Smart Scan, the awareness of Exadata comes at the next level down. The optimizer develops the plan through a normal pass and then passes it through to the SQL execution engine, and it's the SQL execution engine that determines, on a case-by-case basis, whether to use the Smart Scan. This means that you might develop a plan and execute the statement 50 times. Forty-nine times, you get a Smart Scan. The 50th time, for whatever reason, the SQL execution engine decides not to. This can result in somewhat erratic performance.
Views: 1706 SkillBuilders
What is Oracle Stretched RAC Clusters? aka Geo-Cluster, Extended Distance Cluster
 
06:55
Learn why a "stretched cluster" (also called extended distance clusters) for your Oracle Database can be better than RAC, Data Guard and Streams, and can provide a zero downtime, zero data loss environment. Stretched clusters can even be built on Oracle Standard Edition, saving money on licensing costs. Presented by John Watson, Certified Oracle Master DBA and SkillBuilders.
Views: 5176 SkillBuilders
Advanced SQL SubQueries in Oracle Database
 
04:14
Learn to code advanced correlated SQL subqueries in the Oracle Database. From SkillBuilders.com/Oracle.
Views: 9382 SkillBuilders
Oracle 12c SQL Tuning - Adaptive Execution Plans
 
10:11
Learn an Oracle Database 12c new performance feature - Adaptive SQL Plans. During execution, Oracle Database can switch the SQL to a new plan. A very powerful corrective measure! But if you don't know about it , how can you possibly tune SQL in Oracle Database 12c? Time to learn 12c!
Views: 5626 SkillBuilders
Oracle SQL Tuning Re-Optimizing Execution Plans with Cardinality Feedback
 
15:37
Cardinality feedback, introduced with Oracle Database 11g, has been significantly enhanced with 12c. Cardinality feedback allows the CBO to learn from a cardinality estimate mistake and re-optimize the execution plan. Learn more in this free SQL Tuning tutorial. See all free Oracle Database tutorials at http://www.skillbuilders.com/free-oracle-tutorials.
Views: 3226 SkillBuilders
Oracle 12c PL/SQL Security New Features - Session 6 of 8 - Granting Roles to Procedures
 
06:37
See www.skillbuilders.com/12c-plsql-security for all free modules in this tutorial. It is now in Oracle Database 12c possible to grant roles to the stored program units. Remember this didn't apply to anonymous PL/SQL. Anonymous PL/SQL as always executed with the enabled roles of the invoker. But we can now grant role to a stored procedure. There are a couple of conditions. The role granted must be directly granted to the owner. I'm not sure if this is documented or not or it could've been issues I had during my own testing but certainly the last time I tested this thoroughly I found that if I granted roles to roles to roles to roles as I go down to three, it no longer functions. So that could've been just me or it may be documented. But certainly to be sure, the role granted must be granted directly to the person who's writing the code. Also and it is documented, the owner still needs direct privileges on the object that the code references. That make perfect sense because the role might be disabled at the time that he happens to be creating the object. So you need the role, you need direct privileges on the object referenced by the code. [pause] The invoker however needs absolutely nothing. The invoker now needs nothing, no roles, no privileges. All he needs is execute on the procedure. The invoker will then take on that role during the course of the call. This will tighten up the definer's rights problem and that our user doesn't have much at all. He needs the bare minimum and then only that role will be available, only the role is available to the invoker during the call. Not everything else that the owner happens to have. You can combine this as well with invoker's rights and either way we are controlling privilege inheritance. Invoker's rights plus roles restrict the ability of definer's to inherit privileges from invokers and invokers inherits privileges from definers, both of which raise that ghastly possibility of privilege escalation associated typically to SQL injection. [pause] Grant create session, create procedure to dev, and that will give him select on scott.emp to dev. I've given dev the minimum he needs to write code that hits that table. Then create a role. [pause] Create role r1 and that'll grant select on scott.emp to r1. Finally, grant r1 to dev. It has met the requirements. The role is granted to the owner, the owner does have direct privileges. [pause] So connect as dev/dev and create my favorite procedure. [pause] The same procedure has executed definer's rights and query scott.emp. But now what we can do this new is I can grant r1 to procedure list_emp. [pause] I'll create a very low privileged user now. I need to connect as sysdba and create user low identified by low, and all I shall give him is create session. [pause] And execute on that procedure. [pause] Grant execute on dev.list_emp to low. That's all he's got. He can log on and he can run, run one procedure. What actually is going to happen to him? Let me try to log on. Connect sys low/low set server output on and see if he can run that thing. Just to check, if he tries to select star from scott.emp he is the lowest of the low is my user low. But then execute dev.list_emp, trying to retrieve the CLARKs and it works. And because my user low has virtually no privileges at all, there's no possible danger of the malicious developer being able to inherit dangerous privileges from him. [pause] The final step, that functioned because of the privilege that I mentioned earlier - the privilege that we saw on the previous slide which was inheriting privileges. If I revoke that - and this is what you should be doing in all your systems after upgrade - revoke inherit privileges on user low from public, connect there, and it fails. So the final bit of tightening up the security is to grant the privilege specifically we grant inherit privileges on user low to dev. Now we have a totally secure system and that my low privilege user dev can do that. [pause] And nothing more. My low privileged developer dev can't grab anything in his too as well. That tightens things up totally.
Views: 2888 SkillBuilders
How to tune Oracle SQL with Histograms: Part 1 The Importance of Histograms
 
01:28
Histograms are essential ingredient of Tuning SQL in the Oracle Database. In Oracle 12c there are new features related to Histogram. In this part of this histogram tutorial, Oracle Certified Master John Watson describes the importance of histograms. Histograms collect essential statistics such as data skew and thus accurately predict how many rows a predicate will select. This impacts critical decisions such as join order, join method and access method.
Views: 2316 SkillBuilders
What is Oracle ACFS - Lesson 2 - Functionality and Use Cases
 
02:12
Oracle DBAs, system administrators and anyone charged with supporting Oracle Databases should learn what ACFS can do and how it can be used. In this lesson, Oracle Certified Master John Watson of SkillBuilders discuss ACFS functionality and provides several usage cases. Watch all lessons in this ACFS tutorial, FREE, at http://www.skillbuilders.com/what-is-oracle-acfs.
Views: 1690 SkillBuilders
Get Started with Oracle APEX - Architecture
 
06:08
What are the components in an APEX application (e.g. browser, HTTP listener, APEX listener, database) and what is a workspace.
Views: 1100 SkillBuilders
Oracle Database 11g New Features Demo: Adaptive Cursor Sharing
 
07:23
Learn 11g new performance feature that should solve the problem of bind variables and data skew. Dave Anderson of SkillBuilders.com/Oracle.
Views: 5275 SkillBuilders
Mastering Oracle APEX Messages - Lesson 2
 
05:48
In this lesson learn how to create PL/SQL Success messages, dynamic messages and best practices. Visit http://www.skillbuilders.com/how-to-oracle-apex-messages to view all lessons, free.
Views: 2788 SkillBuilders
Mastering Oracle APEX Messages - Lesson 6
 
07:15
Learn how to include JavaScript client-side messaging and message theme hooks in Oracle APEX applications. See http://www.skillbuilders.com/how-to-oracle-apex-messages to view all lessons, 100% free.
Views: 1484 SkillBuilders
Oracle 12c PL/SQL Security New Features - Session 5 of 8 - The New Inherit Privileges Privilege
 
06:47
Learn the Oracle Database 12c Inherit Privileges Privilege. Demonstration and Examples. There's a whole new privilege. The inherit privileges privilege. We indeed inherit any privileges privileged. That's just in privileged of course. Any privileges - system privileges, any privileges is an object privilege or new type objects. We can now assign privileges, grant privileges on users. It limits the owner's inheritance of privileges from the invoker. Oracle Corporation is presumably reasonably happy with the way definer's rights code works and definer's rights code as I demonstrated can be highly dangerous. That hasn't really changed in the current release except is will see with the ability to grant roles to code because in invoker's rights we've got huge differences and that's the inheriting of privileges privilege. If you don't have the inheritance enabled, any attempt to execute invoker's rights code will fail because the definer will not be in able to inherit the rights of the invoker. So I'm going to go straight in to do it and then go through the rest of the slides so we can see the sort of issue. Let me lose 11g and go to 12c. What I shall do is create my low privileged user or drop user dev. I don't think he exists. He doesn't. So I'll create my low privileged user. Grant create session, create procedure, select any table to dev identified by dev. It's the same mechanism I use. The same command I use in 11g. I'm creating a developer with a bare minimum that he needs to do his job, which is writing code that lets people query the database. Then log on as him, comm dev/dev and create my procedure. I'll create a version of the code, create or replace procedure list_emp, author ID current user. Invoker's rights code. Remember, this gives my low privilege user dev the ability to insert something horrible in his code which shall then be executed with the invoker's rights. We create the procedure. Now connect / as sysdba - I'll be the highest possible person there is - set server output on and run the code. Execute dev.list_emp looking for the CLARKS. I can't do it. Even as user sys, I can't run that because of the lack of this new privilege. I can correct the situation. I can grant inherit privileges on user sys - which of course one would never normally do - to dev. So I'm now giving my low privilege user the ability to inherit the privileges of user sys when we are running invoker's rights code. And having done that, the code now succeeds. That's the general principle. Without this inherit any privileges code all that doesn't have any privileges privilege, all your invoker's rights code is now blocked. It simply won't run until you grant that privilege to your trusted user. So without inheritance the invoker's rights code will fail. This privilege is in fact granted by default in 12.1 when a user is created. I believe this is purely for backward compatibility. So you don't have to worry about all your codes ceasing to function the moment you have to upgrade but there's no guarantee that this situation will remain as we go through 12.2, 12.3. Also in upgrade I haven't had the time to test comprehensively every possible method of upgrade but certainly this simple test I've done so far, the privilege does appear to be being granted and we can see it. If we look at who's been granted this privilege so far Select grantee, table_name, privilege from dba_tab_privs where privilege like inherit and we see that straight out of the box inherit privileges on a number of users have been granted to public. They have been granted to public. So if I create a brand new user, I grant connect to jw identified by jw, we will see that in the current release - there he is - inherit has beeen granted to public. In the current release by default, your code will continue to function and Oracle often does this with their [05:46 inaudible] with powerful new features. By default, it's configured so there's no change and in the next release it all changes. That's happened to a quite a few releases, quite a few new features, and it wouldn't surprise me if by the time we get to say 12.2 and certainly by the time we get to 13 this behavior changes. So plan for it and look at that privilege and see who it's been granted to and secure your systems. What you need to do is revoke all the inherit privileges grants that's there by default and then grant inherit any privileges very, very sparingly only to a very few trusted users and that should tighten up the danger of definer's inheriting invoker's rights. So a few trusted schemas, create the code in those schemas only and control this very tightly indeed.
Views: 1603 SkillBuilders
How to Build Transparent Data Encryption on Oracle Standard Edition
 
08:45
View all our FREE database tutorials at http://skillbuilders.com/free-oracle-tutorials. Oracle Transparent Data Encryption (TDE) is a fantastic built-in security feature with Oracle Database Enterprise Edition. However, in this free tutorial, Oracle Master DBA John Watson will demonstrate a technique for building your own transparent data encryption - on Standard Edition!
Views: 5883 SkillBuilders
Oracle Database 12c New Features Tutorial - Enhanced Online Move Capabilities
 
09:26
Learn the new features in Oracle Database 12c. In this free tutorial, watch Oracle Certified Master demonstrate the enhanced Online Move capabilities in Oracle 12c - Moving Tablespaces and Datafiles Online! (via dbms_redefinition). See all free tutorials in SkillBuilders 12c series at SkillBuilders.com/OracleTutorials.
Views: 3547 SkillBuilders

Indian pipe flower essence
Shift gears car games
Arctic fire dogwood flower
Dayz hd textures download free
Komando na minecraft game