The Oracle Magazine was originally a hardcopy publication that was distributed every few months to anyone that wanted a subscription. Eventually the magazine went online, and articles became available to anyone, anywhere, anytime.
But of course, as the database technology changes so rapidly, the content of the magazine articles can become out of date, less applicable to the current versions of the database, or just plain wrong! However, rather than erase that historical content, we've captured a selection of articles here on this page, because they still provide excellent technical content on the database versions of the time, and many of the principles covered are still equally relevant today.
We merely ask that you take this into consideration when reading the articles. Any recommendations you see in them should be carefully considered and tested before implementing in your own applications. It is quite possible that better options exist in more recent versions of the database. With that caveat covered, please enjoy the articles below.
- A Fresh Look at Auditing Row Changes
Triggers can provide auditing information, but there's a future in flashback.
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 2, Listing 1
The V$SQL performance view lists SQL statements in the shared SQL area and presents numerous performance measurements alongside each.
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 2, Listing 4
Expanding SQL text to see the real query
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 2, PL/SQL
Tracking SQL back to a PL/SQL stored program unit
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 2
Identify poorly performing SQL and tune it to run fast.
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 3
Tune poorly executing SQL statements.
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning, Part 4
Common causes for poorly performing SQL
Author:Connor McDonald
- A Higher-Level Perspective on SQL Tuning
The commonly missed first steps of tuning a SQL statement
Author:Connor McDonald
- All Aboard the SQL*Loader Express
A new processing mode takes the hassle out of dealing with flat file loading.
Author:Connor McDonald
- Are We All on the Same Page?
Pagination of data can make (or break) your database.
Author:Connor McDonald
- Assume the Best; Plan for the Worst
HereGÇÖs a technique for delivering better performance through optimistic code programming.
Author:Connor McDonald
- Better Tools for Better Data
New functions in Oracle Database 12c Release 2 solve data validation challenges.
Author:Connor McDonald
- Excellent Extensions
New features in Oracle Database 12c Release 2 make external tables even more flexible.
Author:Connor McDonald
- Improved Defaults in Oracle Database 12c
The new DEFAULT clause provides better values for getting started and better performance.
Author:Connor McDonald
- Long and Overflowing
LISTAGG in Oracle Database 12c Release 2 solves the problem of excessively long lists.
Author:Connor McDonald
- Old Dog, New Tricks, Part 2
HereGÇÖs a new SQL syntax for hierarchy processing.
Author:Connor McDonald
- Old Dog, New Tricks
Take advantage of SQL extensions for hierarchy processing.
Author:Connor McDonald
- Open for Exchange
FOR EXCHANGE in Oracle Database 12c Release 2 takes the detective work out of partition exchanges.
Author:Connor McDonald
- Successful SQL Processing in Oracle Autonomous Database
Use the library cache and bind variables to achieve trailblazing levels of database performance.
Author:Connor McDonald
- The Importance of Data Types
A Higher-Level Perspective on SQL Tuning, Part 3, The Importance of Datatypes
Author:Connor McDonald
- Tighter PL/SQL and SQL Integration
PL/SQL functions perform better in SQL in Oracle Database 12c.
Author:Connor McDonald
- Unintended Side Effects
Ensure that the code you write does not create problems elsewhere in your applications.
Author:Connor McDonald
- Write in a Read-Only Database
Run reports and DML against your standby database with Oracle Active Data Guard.
Author:Connor McDonald
- How to Dynamically Change the Columns in a SQL Query
Use polymorphic table functions to add columns to and remove columns from your result sets.
Author:Chris Saxon
- How to Read an Execution Plan
Learn to follow and understand the steps and processes in your SQL statementGÇÖs execution plan to get the information you need for tuning your SQL.
Author:Chris Saxon
- A Perfect Plan
Learn how adaptive plans in Oracle Database 12c compute the perfect plan - even when statistics are imperfect.
Author:Arup Nanda
- A Refreshing Move
Encrypt, compress, mask, and deliver information with Oracle Data Pump.
Author:Arup Nanda
- Archiving Data Using XML
Build a powerful, flexible data archive.
Author:Arup Nanda
- Auditing in XML
Create database audit trails in XML.
Author:Arup Nanda
- Automatic and Easy
Oracle Database 12c Release 2 delivers better automatic, multicolumn, and read-only partitions.
Author:Arup Nanda
- Automatic Data Optimization
Automatic Data Optimization
Author:Arup Nanda
- Automating Parallelism
Take the guesswork out of setting the degree of parallelism for queries.
Author:Arup Nanda
- Autonomous Indexing
The new Automatic Indexing feature in Oracle Database 19c detects the need for indexes, creates them, and drops them automatically - without DBA intervention.
Author:Arup Nanda
- Baselines and Better Plans
Use SQL plan management in Oracle Database 11g to optimize execution plans.
Author:Arup Nanda
- Beginning Performance Tuning: Active Session History
Identify the root cause of performance issues at a precise point in the past--even when the sessions have disconnected.
Author:Arup Nanda
- Beginning Performance Tuning: Diagnose the Past
Take the next step in diagnosing Oracle Database performance issues.
Author:Arup Nanda
- Beginning Performance Tuning: Trace Your Steps
Trace sessions to document activity details and identify bottlenecks.
Author:Arup Nanda
- Beginning Performance Tuning
Resolve session performance issues in Oracle Database.
Author:Arup Nanda
- Better Workload, Better Testing
Use database replay to record and replay database activities for better testing.
Author:Arup Nanda
- Big Table Caching
Cache large tables in the buffer cache and improve performance without expensive storage.
Author:Arup Nanda
- Commanding ASM
Access, transfer, and administer ASM files without SQL commands.
Author:Arup Nanda
- Compress to Impress
Use Oracle Advanced Compression to conserve resources and improve performance.
Author:Arup Nanda
- Compressing Columns
Compress more with Oracle Exadata Hybrid Columnar Compression.
Author:Arup Nanda
- Encrypt Your Data Assets
Build a flexible infrastructure to protect sensitive data.
Author:Arup Nanda
- Encrypting Tablespaces
Encrypt tablespaces transparently-without affecting performance.
Author:Arup Nanda
- Hide from Prying Eyes
Use Data Redaction in Oracle Database 12c to hide sensitive data automatically.
Author:Arup Nanda
- It's All In
Leverage the in-memory column store in Oracle Database In-Memory to supercharge database performance - without changing application code.
Author:Arup Nanda
- JSON in Motion
Create JSON documents by using plain SQL, text indexes for fuzzy searches, and relational views.
Author:Arup Nanda
- Load and Buffer Fast Enough for IoT
Ingesting large volumes of data from IoT devices? Learn how to make inserts and queries blazing fast in Oracle Database 19c with Memoptimized Rowstore.
Author:Arup Nanda
- Lock It Down
Limit authorization to only those who need it, and remove all-powerful superuser roles with Oracle Database Vault.
Author:Arup Nanda
- Managing Audit Trails
Relocate the audit trail to a different tablespace and set up an automatic purge process to keep its size under control.
Author:Arup Nanda
- Managing Expressly
Manage Oracle Database 12c with Oracle Enterprise Manager Database Express, a built-in browser-based graphical tool.
Author:Arup Nanda
- Many in One
Create many databases in one database instance with the Oracle Database 12c multitenant architecture.
Author:Arup Nanda
- Mining for Clues
Use Oracle LogMiner to re-create transactions and undo damage.
Author:Arup Nanda
- More Partitioning Choices
Learn when and how to use new partitioning schemes in Oracle Database 11g
Author:Arup Nanda
- Nonstop Partition Operations
Oracle Partitioning delivers online partition moves, selective indexes on partitions, and asynchronously maintained global indexes to Oracle Database 12c.
Author:Arup Nanda
- Partition Decisions
Understand your partition choices, and choose the best partition and key for your data.
Author:Arup Nanda
- Performing Through Changes
Measure the impact of changes on SQL workload with SQL performance analyzer.
Author:Arup Nanda
- Playing Nice Together
Use the Consolidated Database Replay feature of Oracle Real Application Testing in Oracle Database 12c to gauge the impact of consolidating workloads.
Author:Arup Nanda
- Preprocess External Tables
Use inline preprocessing on external tables to simplify extract, transform, and load operations.
Author:Arup Nanda
- Recover in a Flash
Reduce database recovery time, using the Oracle flash recovery area.
Author:Arup Nanda
- Recover One
Recover one table from a database backup with Oracle Recovery Manager in Oracle Database 12c.
Author:Arup Nanda
- Restore to the Point
Use named points in time to roll your database back by using flashback technology
Author:Arup Nanda
- Room with a Better View
Get a good, fast look at your data with materialized views.
Author:Arup Nanda
- Run with JSON
Store JSON natively in Oracle Database 12c, and access it via SQL.
Author:Arup Nanda
- Scripting Oracle RMAN Commands
Learn how to create and automate scripts to execute common recovery tasks.
Author:Arup Nanda
- Simulation Demonstrates Performance
Use Oracle Exadata simulation in SQL Performance Analyzer to help predict how your application will perform on Oracle Exadata.
Author:Arup Nanda
- Smart Scans Meet Storage Indexes
Understand how Oracle Exadata uses storage indexes to speed I/O.
Author:Arup Nanda
- Transparent Data Encryption
Encrypt sensitive data transparently without writing a single line of code.
Author:Arup Nanda
- Unify Auditing
Unify auditing to a secure, high-performance single view in Oracle Database 12c.
Author:Arup Nanda
- Using Oracle Machine Learning Notebooks
Set up and run machine learning in
Author:Arup Nanda
- Change Happens
Use open source tools to handle database change management.
Author:Blaine Carter
- Developers: Create Autonomous Databases
Create an Oracle Autonomous Transaction Processing instance with the Python SDK for Oracle Cloud Infrastructure.
Author:Blaine Carter
- Getting Started with Autonomous
Connect to Oracle Autonomous Transaction Processing with multiple programming languages.
Author:Blaine Carter
- Perform Basic CRUD Operations Using CX_ORACLE, Part 1
Here is how to use Python for CRUD operations in Oracle Database.
Author:Blaine Carter
- Perform Basic CRUD Operations Using CX_ORACLE, Part 1
Here is how to use Python for CRUD operations in Oracle Database.
Author:Blaine Carter
- Perform Basic CRUD Operations with cx_Oracle, Part 2
Here is how to use Python for CRUD operations in Oracle Database.
Author:Blaine Carter
- Perform Basic CRUD Operations with cx_Oracle, Part 3
Here is how to use Python for CRUD operations in Oracle Database.
Author:Blaine Carter
- Perform Basic CRUD Operations with cx_Oracle, Part 4
Here is how to use Python for CRUD operations in Oracle Database.
Author:Blaine Carter
- Perform PL/SQL Operations with cx_Oracle
Use Python for PL/SQL operations in Oracle Database.
Author:Blaine Carter
- Add JavaScript Your Way, Part 1
Choose the best option for adding JavaScript to your Oracle APEX applications.
Author:Dan McGhan
- Add JavaScript Your Way, Part 2
Choose the best option for adding JavaScript to your APEX applications.
Author:Dan McGhan
- Asynchronous Processing in Node.js
Here is Part 1 in a four-part series on asynchronous Node.js development.
Author:Dan McGhan
- Build REST APIs for Node.js, Part 1
Start by learning about web server basics.
Author:Dan McGhan
- Build REST APIs for Node.js, Part 2
Add database connection pooling to your new REST API.
Author:Dan McGhan
- Build REST APIs for Node.js, Part 3
Add routing, controller, and database logic to your REST APIs.
Author:Dan McGhan
- Build REST APIs for Node.js, Part 4
Complete the API by adding support for PUT, POST, and DELETE requests.
Author:Dan McGhan
- Files Up and Files Down
Use node-oracledb to support uploading and downloading files from your REST APIs.
Author:Dan McGhan
- It is Better with Two
Connect database and application services for a quick start to app development.
Author:Dan McGhan
- Keep Your Node.js Promises
Here is Part 3 in a four-part series on asynchronous Node.js development.
Author:Dan McGhan
- Using Async Functions
Here is Part 4 in a four-part series on asynchronous
Author:Dan McGhan
- Using the Callback Pattern and the Async Module
Here is Part 2 in a four-part series on asynchronous Node.js development.
Author:Dan McGhan
- A Function of Character
Part 6 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- A Window into the World of Analytic Functions
Part 10 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Achieve Winning Combinations with Joins and Subqueries
Part 2 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- An Order of Sorts
Part 5 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Becoming Privileged and Creating Synonymously
Part 12 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Changing and Creating Consistently with Integrity
Part 5 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Defining, Constraining, and Manipulating Your Entities
Part 6 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- From Floor to Ceiling and Other Functional Cases
Part 7 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Get Your Information in Order
Part 1 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Getting Answers with SELECT
Part 3 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Having Sums, Averages, and Other Grouped Data
Part 9 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Leading Ranks and Lagging Percentages: Analytic Functions, Continued
Part 11 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Limited Profiles and Private References
Part 13 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Manipulate, Commit, and Take Back: How Change Occurs
Part 4 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Meta-Access and Repetitive Composition
Part 10 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Modeling and Accessing Relational Data
Part 2 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Pivotal Access to Your Data: Analytic Functions, Concluded
Part 12 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Rapid Retrieval of Rows in Small Data Sets
Part 8 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Selecting a Type That Is Right for You
Part 8 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Sequential Additions and Different Points of View
Part 7 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Setting Parameters for Dynamic Productivity
Part 11 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Setting Yourself Up for Selective Results
Part 3 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- The Cost of Data Retrieval
Part 9 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- United Relations: Accessing More Than One Table at Once
Part 1 in a second series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Why WHERE Matters
Part 4 in a series on the basics of the relational database and SQL
Author:Melanie Caffrey
- Answering PL/SQL
Apply best practices to defining arrays and stripping strings.
Author:Steven Feuerstein
- Better to Best NDS
Best-practice tips for using Native Dynamic SQL in Oracle Database 10g
Author:Steven Feuerstein
- Building with Blocks
Part 1 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Bulk Processing with BULK COLLECT and FORALL
Part 9 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Catching Up on Filing
Oracle9i Release 2 UTL_FILE enhances file I/O.
Author:Steven Feuerstein
- Cleaning Up PL/SQL Practices
Prioritize and apply PL/SQL best practices to polish applications both new and old.
Author:Steven Feuerstein
- Controlling Mythological Code
Explode and decode the myths in your code.
Author:Steven Feuerstein
- Controlling the Flow of Execution
Part 2 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Disciplined PL/SQL
Four simple guidelines for improving the quantity and quality of PL/SQL code you write
Author:Steven Feuerstein
- Dynamically Dangerous Code
There is a right time to use dynamic SQL, but there is never a right time for SQL injection.
Author:Steven Feuerstein
- Easy Initializing for Records and Arrays
Use the new qualified expressions to create functions when and where you need them.
Author:Steven Feuerstein
- Error Management
Part 6 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Fine-Tune Privilege Management
Improve PL/SQL security in Oracle Database 12c.
Author:Steven Feuerstein
- First Things First
Ask the right questions before starting construction of your new PL/SQL-based application.
Author:Steven Feuerstein
- Four Resolutions for Better Code
It is always time to write better PL/SQL.
Author:Steven Feuerstein
- Get Up to Speed with DBMS_SQL
Explore the latest DBMS_SQL features in Oracle Database 12c Release 2.
Author:Steven Feuerstein
- Handling Exceptional Behavior, Part II
Handle PL/SQL exceptions with best practices.
Author:Steven Feuerstein
- JSON and PL/SQL: A Match Made in Database
PL/SQL object types for JSON construct and manipulate in-memory JSON data.
Author:Steven Feuerstein
- Just Say No, Unless You CanGÇÖt
Just Say No, Unless You Cannot Listing 1
Author:Steven Feuerstein
- Just Say No, Unless You CanGÇÖt
Dynamic SQL is powerful, flexible, and fraught with
Author:Steven Feuerstein
- Managing Emails in Oracle Application Express
Protect against the trauma of being responsible for an accidental spamming with a solid but flexible encapsulation strategy and PL/SQL.
Author:Steven Feuerstein
- Managing Exceptional Behavior, Part 1
Handle PL/SQL exceptions with best practices.
Author:Steven Feuerstein
- Nullify the NULL
Do you know how to use NULLs in PL/SQL?
Author:Steven Feuerstein
- Object-Oriented PL/SQL
Quiz yourself on constructors and object types.
Author:Steven Feuerstein
- On Avoiding Termination
Continue PL/SQL execution beyond exceptions.
Author:Steven Feuerstein
- On BULK COLLECT
Best practices for knowing your LIMIT and kicking %NOTFOUND
Author:Steven Feuerstein
- On Conditional Compilation
Apply best practices to PL/SQL conditional compilation.
Author:Steven Feuerstein
- On Confusion and Recompilation
Apply best practices to program naming, recompiling invalid programs, and collecting.
Author:Steven Feuerstein
- On Continuing and Indexing
Best practices for PL/SQL in Oracle Database 11g and multilevel, string-indexed collections
Author:Steven Feuerstein
- On Cursor FOR Loops
It is important to know when not to use cursor FOR loops.
Author:Steven Feuerstein
- On Cursors, Context Switches, and Mistakes
There are good ways, and other ways, to get data from tables.
Author:Steven Feuerstein
- On Emulating FINALLY
Code PL/SQL to function like the Java FINALLY section.
Author:Steven Feuerstein
- On Exceptions and Rules
Best practices for where, when, and how to handle exceptions
Author:Steven Feuerstein
- On Generics and Traces
PL/SQL questions and answers
Author:Steven Feuerstein
- On Invokers and Outs
Best practices for invoker rights and functions
Author:Steven Feuerstein
- On Looping, First, and Last
Choose the best approach to prevent a VALUE_ERROR exception.
Author:Steven Feuerstein
- On Object Types in Collections
Best practices for retrieving objects and object attributes from objects
Author:Steven Feuerstein
- On Signatures and Changing WHERE
Best practices for changing headers and handling different WHERE clauses
Author:Steven Feuerstein
- On the Old, the New, and ORA-22160
Best practices for managing old and new information and preventing FORALL errors
Author:Steven Feuerstein
- On the PGA and Indexing Collections
Best practices for knowing your PGA impact and indexing collections
Author:Steven Feuerstein
- On the PL/SQL Function Result Cache
Best practices-and preparation-for PL/SQL in Oracle Database 11g
Author:Steven Feuerstein
- On Variables, Moving, and Meaning
Apply best practices to cursor variables, bidirectional cursor access, and error messages.
Author:Steven Feuerstein
- On Working in Parallel
Finish faster with DBMS_PARALLEL_EXECUTE.
Author:Steven Feuerstein
- Operate on Collections
Quiz yourself about set operations on PL/SQL collections.
Author:Steven Feuerstein
- Oracle 10g Adds More to FORALL
An article about the enhanced FORALL clause
Author:Steven Feuerstein
- Persistence DoesnGÇÖt Always Pay
Sometimes you donGÇÖt want a database table and SQL. Sometimes you just need to collect your thoughts.
Author:Steven Feuerstein
- Picking Your Packages
Know when - and when not - to package your PL/SQL.
Author:Steven Feuerstein
- Pipelined Table Functions
Pass data back to the calling query before the function is completed.
Author:Steven Feuerstein
- Planning for Trouble
You always write your best code, but you should be prepared for imperfection.
Author:Steven Feuerstein
- PL/SQL Enhancements
Oracle Database 12c enhances the PL/SQL function result cache, improves PL/SQL execution in SQL, adds a whitelist, and fine-tunes privileges.
Author:Steven Feuerstein
- PL/SQL Surprises
Quiz yourself on exceptions, rollbacks, and collections.
Author:Steven Feuerstein
- Powerful Impact Analysis
Easily identify program units affected by database object changes with PL/Scope in Oracle Database 12c Release 2.
Author:Steven Feuerstein
- Programming at Multiple Levels
Oracle9i Database lets you nest collections and create powerful data structures.
Author:Steven Feuerstein
- Refactoring for PL/SQL Developers
Go beyond identifying best PL/SQL practices to create better code.
Author:Steven Feuerstein
- Self-Managing PL/SQL
Follow self-managing databases with self-managing PL/SQL.
Author:Steven Feuerstein
- SODA and PL/SQL, Part 2
Use the SODA API for PL/SQL to read and write to SODA documents in Oracle Database.
Author:Steven Feuerstein
- SODA and PL/SQL
Use the SODA API for PL/SQL to work with JSON - and without SQL - in Oracle Database.
Author:Steven Feuerstein
- Solving the Row-by-Row Problem
Use bulk-processing features in PL/SQL to minimize context switching and speed program performance.
Author:Steven Feuerstein
- Sophisticated Call Stack Analysis
UTL_CALL_STACK package in Oracle Database 12c gives developers better answers.
Author:Steven Feuerstein
- SQL in PL/SQL Enhancements
Oracle Database 12c enhances writing and executing SQL in PL/SQL.
Author:Steven Feuerstein
- Streaming Table Functions
Use streaming table functions to transform your data on the way to your data warehouse.
Author:Steven Feuerstein
- Take the Transaction Test
What do you know about transaction features in PL/SQL?
Author:Steven Feuerstein
- Taking Up Collections
Part 1 in a series that looks at enrichments to PL/SQL in Oracle Database 10g
Author:Steven Feuerstein
- Test Your Oracle Database 12c PL/SQL Knowledge
Test Your Oracle Database 12c PL/SQL Knowledge
Author:Steven Feuerstein
- The Beauty Is in the Details
Pay attention to the details in conditions, loops, and declarations, and create better code.
Author:Steven Feuerstein
- The Data Dictionary: Make Views Work for You
Part 10 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- The Joy of Low-Hanging Fruit
Are you using BULK COLLECT and FORALL for bulk processing yet?
Author:Steven Feuerstein
- The Magic Kingdom
Choose the best way to manage literal values.
Author:Steven Feuerstein
- The Magic of PL/SQL
Do you know when to anchor, when to loop, and when not to make?
Author:Steven Feuerstein
- The Power of Cloud PL/SQL
Oracle Database 12c Release 2 delivers better database development to the cloud.
Author:Steven Feuerstein
- The Right Place for PL/SQL
Best practices for PL/SQL location, location, location
Author:Steven Feuerstein
- Tracing Lines
Find and report your errors by line number-in Oracle Database 10g.
Author:Steven Feuerstein
- Using Dynamic SQL for Multirow Queries
Explore three dynamic SQL solutions to understand
Author:Steven Feuerstein
- When Is a Function Like a Table? When ItGÇÖs a Table Function!
Combine the power of SQL with the procedural control of PL/SQL.
Author:Steven Feuerstein
- When Packages Need to Lose Weight
Slim your PL/SQL with some reorganization and a new Oracle Database 12c feature.
Author:Steven Feuerstein
- Working with Collections
Part 8 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Working with Cursors
Part 12 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Working with Dates in PL/SQL
Part 5 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Working with JSON Arrays in PL/SQL
Use the PL/SQL JSON_ARRAY_T object type to construct and manipulate in-memory JSON arrays
Author:Steven Feuerstein
- Working with Numbers in PL/SQL
Part 4 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Working with Records
Part 7 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Working with Strings
Part 3 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Wrap Your Code in a Neat Package
Part 11 in a series of articles on understanding and using PL/SQL
Author:Steven Feuerstein
- Writing PL/SQL in Oracle Application Express
Minimize the code you write, be careful where you put it, and relocate it to packages as much as possible.
Author:Steven Feuerstein
- Writing SQL in Oracle Application Express
Minimize the code you write, be careful where you put it, and relocate it to packages as much as possible.
Author:Steven Feuerstein
- Zoom In on Your Code
Use PL/Scope to analyze your PL/SQL
Author:Steven Feuerstein
- A Closer Look at the New Edition
Our technologist redefines and defers with Oracle Database 11g Release 2.
Author:Tom Kyte
- Back to Basics
With e-initiatives everywhere, DBAs have to ensure robust performance and scalability. Here are some Q&A highlights about sizing tables and pinning a sequence in the SGA.
Author:Tom Kyte
- Edition-Based Redefinition, Part 2
Our technologist continues to explore Edition-Based Redefinition, with a full schema change.
Author:Tom Kyte
- Getting Just the Rows I Want
Our Oracle expert looks for the number of rows searched, the fastest way to go, and how to automate the creation of a materialized view.
Author:Tom Kyte
- Java, the ESCAPE Sequence, and Synonym Alternatives
Our Oracle expert expounds on serializing Java objects, using ESCAPE with LIKE, communicating return code from SQL*Plus, and using a synonym to view.
Author:Tom Kyte
- Java Tips, JDBC, PL/SQL Stored Procedures, and Custom Prompts
Working with Java is simpler now that it is a native part of the Oracle database. Here are some interesting questions I have received about using Java.
Author:Tom Kyte
- Looking at Edition-Based Redefinition, Part 3
Our technologist concludes his exploration of Edition-Based Redefinition.
Author:Tom Kyte
- Looking at the New Edition
Our technologist takes a first look at Oracle Database 11g Release 2.
Author:Tom Kyte
- More on Oracle Database 11g
Our technologist takes another look at Oracle Database 11g.
Author:Tom Kyte
- My First Day with the New Release
Our technologist talks about his first experience with Oracle Database 10g Release 2.
Author:Tom Kyte
- Now Showing and Playing
Our Oracle technologist shows how to use the unused index and how to play.
Author:Tom Kyte
- On Asking, Chaining, and Decoding
Our technologist answers questions about questions, chained rows, and decoding.
Author:Tom Kyte
- On Becoming Others, Limits, and Restoration
Our technologist assumes identities, eliminates external limitations, and recovers constraints.
Author:Tom Kyte
- On Better Loading and Fact-Checking
Our technologist enjoys the rule of external tables and debunks index scan myths.
Author:Tom Kyte
- On Blocks, Messages, Rows, and Queues
Our Oracle expert looks at block-level information, sending HTML messages, estimating rows, and AQ.
Author:Tom Kyte
- On Caching and Evangelizing SQL
Our technologist caches scalar subqueries, votes for SQL, and recommends technology and community.
Author:Tom Kyte
- On Characters, Pivots, and Endings
Our technologist substitutes characters, looks at fishy results, and avoids redo.
Author:Tom Kyte
- On Clustering Factor and Validating Keys
Our technologist explains different statistics and very foreign keys.
Author:Tom Kyte
- On Collaboration, Testing, When, and Why
Our technologist learns from you, is tested on testing, and propagates errors.
Author:Tom Kyte
- On Connecting, Pivoting, and Learning New Things
Our technologist bypasses TNSNAMES.ORA, turns rows to columns, and meets the NO_DATA_FOUND exception.
Author:Tom Kyte
- On Connection Pools, Cursor Differentiation, and Optimal Ordering
Our technologist cleans pools, explores cursor types, and looks for order in table creation.
Author:Tom Kyte
- On Consistent Results, Different Constraints, and Unlearning
Our technologist reads as of a consistent point in time, uses the right constraint, and revises old learning on unindexed foreign keys.
Author:Tom Kyte
- On Constraints, CASE, and Cursors
Our technologist talks integrity, time, and belonging.
Author:Tom Kyte
- On Creating, Dating, and Binding
Our technologist creates XML, translates dates, and binds variables.
Author:Tom Kyte
- On Cursors, SQL, and Analytics
Our technologist referees between cursors, SQL statements, analytics, and aggregates.
Author:Tom Kyte
- On DBMS_ROWID, Parsing, and Sizing
Our technologist identifies rows, analyzes ratios, and fills space.
Author:Tom Kyte
- On Deduping and Ordering
Our technologist deletes duplicates, gives trigger orders, and explains how SELECT locks.
Author:Tom Kyte
- On Deferring and Bulking Up
Our technologist prefers not to defer and works to increase bulk.
Author:Tom Kyte
- On Different Users, Different Passwords, and Hidden Ability
Our technologist explores passwords, undocumented functionality, a different export, and different SGAs.
Author:Tom Kyte
- On Dynamic Sampling
Our technologist samples dynamically, considers usage, and sets levels.
Author:Tom Kyte
- On Efficiency, Avoidance, and Performance
Our technologist uses brutally efficient DDL, answers trick questions, and suggests a scalar subquery.
Author:Tom Kyte
- On External Table Queries, Data Consistency, and Nothing
Our technologist queries the operating system, locks manually, and uses the right NULL.
Author:Tom Kyte
- On External Table Queries, Data Consistency, and Nothing
Our technologist queries the operating system, locks manually, and uses the right NULL.
Author:Tom Kyte
- On Favorites and CONNECT BY
Our technologist picks, expands, loads, and dates.
Author:Tom Kyte
- On Fetching, Storing, and Indexing
Our technologist fetches sequentially, stores inline, and indexes globally.
Author:Tom Kyte
- On Format, Negation, and Sliding
Our technologist modifies formats, makes zeros zeros, and avoids slides.
Author:Tom Kyte
- On History, Basics, and Network Performance
Our technologist recalls a Web seminar, gives the right hint, and dishes on network performance.
Author:Tom Kyte
- On History, Invisibility, and Moving
Our technologist counts on histograms, proves hash tables by example, and moves CLOBs.
Author:Tom Kyte
- On HTML DB, Bulking Up, and Speeding
Our technologist looks at Oracle Database 10g's HTML DB, building bulk, and improving speed.
Author:Tom Kyte
- On Ignoring, Locking, and Parsing
Our technologist looks out for WHEN OTHERS, locks, cascades, and parses.
Author:Tom Kyte
- On Implicit Conversions and More
Our technologist looks at implicit conversions, logic bombs, SQL injection, and reduced access pathsGÇöin one question and answer.
Author:Tom Kyte
- On Injecting and Comparing
Our technologist speaks on safe injections, comparing tables, and materialized views.
Author:Tom Kyte
- On Joins and Query Plans
Our technologist optimizes joins and explains changing plans.
Author:Tom Kyte
- On Learning from Mistakes
Our technologist demonstrates how the Oracle Database optimizer learns and how to help it.
Author:Tom Kyte
- On Loading and Extents
Our technologist follows the direct path and optimizes extent usage.
Author:Tom Kyte
- On Measuring Distance and Aging
Our expert computes distance without aging and highlights favorite Oracle9i features.
Author:Tom Kyte
- On More-Secure Applications
Our technologist shows how to build security into application design.
Author:Tom Kyte
- On Numbers and Analytics
Our technologist searches, numbers, analyzes, and orders.
Author:Tom Kyte
- On Oracle Database 11g
Our technologist takes a look at the server results and PL/SQL function caches.
Author:Tom Kyte
- On Oracle Database 12c, Part 1
Our technologist improves default values, handles bigger datatypes, and FETCHes for the first time.
Author:Tom Kyte
- On Oracle Database 12c, Part 2
Our technologist finds a match for his SQL and makes his undo temporary.
Author:Tom Kyte
- On Oracle Database 12c, Part 3
Our technologist improves partitions, adapts query plans, and optimizes statistics gathering.
Author:Tom Kyte
- On Oracle Database 12c, Part 4
Our technologist talks with Oracle product management about Oracle Database 12c and the Oracle Multitenant option.
Author:Tom Kyte
- On Oracle Database 12c, Part 5
Our technologist explores the invisible, improves introspection, and expands SQL.
Author:Tom Kyte
- On Oracle Database In-Memory
Our technologist talks with Oracle product management about Oracle Database 12cGÇÖs Oracle Database In-Memory option.
Author:Tom Kyte
- On Partitioning and Pipelining
Our technologist speaks on UNION ALL, pipelines, and Saturdays.
Author:Tom Kyte
- On Partitions, Lookups, and Integrity
Our expert partitions, looks up with a PL/SQL table, and does everything with referential integrity.
Author:Tom Kyte
- On Popularity and Natural Selection
Our technologist optimizes away binds and promotes more-selective queries.
Author:Tom Kyte
- On Popularity, Learning, and Unlearning
Our technologist revisits a classic, recounts Cardinality Feedback, and remembers SQL*Plus.
Author:Tom Kyte
- On Procedures, Flushes, and Writes
Our expert compares triggers, procedures, flushing, and not flushing.
Author:Tom Kyte
- On Promotion, Restriction, and Data Loading
Our technologist provides missing links, custom sizes, and external table tips.
Author:Tom Kyte
- On Query Tuning
Our technologist tunes queries by helping the optimizer optimize.
Author:Tom Kyte
- On Randomness, Syntax, and Mutation
Our technologist gets deterministic, delimited, and the opposite of trigger-happy.
Author:Tom Kyte
- On Redefinition, Nature, and Triggers
Our technologist redefines tables, compares keys, and warns about DDL in triggers.
Author:Tom Kyte
- On Rollups, Merges, and Moves
Our technologist materializes, merges, and moves.
Author:Tom Kyte
- On ROWNUM and Limiting Results
Our technologist explains how ROWNUM works and how to make it work for you.
Author:Tom Kyte
- On Searching and Synonyms
Our technologist searches, moves, and finds synonyms.
Author:Tom Kyte
- On Seeing Double in V$SQL
Our technologist looks at SQL repetition in V$SQL and differences in cardinality.
Author:Tom Kyte
- On Separation and Counting
Our technologist promotes more than one schema, counts partitions, and uses TKPROF.
Author:Tom Kyte
- On Sharing, Splitting, and Deleting
Our technologist shares cursors, splits large tables, and deletes securely.
Author:Tom Kyte
- On Sorts, Selecting, and Selectivity
Our technologist looks at sorting, cursors, architecting, selecting, and extracting.
Author:Tom Kyte
- On Speeding, Dating, and Spelling
Our technologist finds the OS, makes things appear faster, dates clients, and spells out numbers.
Author:Tom Kyte
- On SQL, SQL, and More SQL
Our technologist says yes, yes, yes to interesting SQL solutions.
Author:Tom Kyte
- On Table Updates and SQL Plan Baselines
Our technologist updates tables quickly via CTAS and optimizes queries for evolution.
Author:Tom Kyte
- On the Explicit, Size, and Complex
Our technologist answers questions on cursors, extents, and intervals.
Author:Tom Kyte
- On Top-n and Pagination Queries
Our technologist gets more results using ROW_NUMBER, RANK, and DENSE_RANK.
Author:Tom Kyte
- On Transaction Isolation Levels
Our technologist isolates transactions safely.
Author:Tom Kyte
- On Tuning by Tracing
Our technologist does a tune-up with SQL_TRACE.
Author:Tom Kyte
- On Tuning, Planning, and Contexts
Our technologist tunes data models, plans for partitions, and puts SQL in context.
Author:Tom Kyte
- On Uniqueness, Space, and Numbers
Our technologist discusses determining space required, randomizing, and partition outer joins.
Author:Tom Kyte
- On Unlearning and Modeling
Our technologist goes back to school for Oracle Exadata and vows to be a MODEL student.
Author:Tom Kyte
- On Wrong and Right
Our technologist checks the documentation and tests the answers.
Author:Tom Kyte
- Oracle Availability Options
Confused about when to implement Oracle Parallel Server (OPS), or replication, or a standby database? Here's an overview of the options.
Author:Tom Kyte
- Oracle Database 11g Redux
Our technologist continues to explore Oracle Database 11g features.
Author:Tom Kyte
- Oracle9i Looks Past init.ora and SYS
Our Oracle expert looks at Oracle9i, init.ora, SPFILE, SYS, INTERNAL, and the last row.
Author:Tom Kyte
- Parsing Densities, ANYDATA, and XML
Our Oracle technologist looks at the hard parse, the soft parse, and the softer parse.
Author:Tom Kyte
- The Trouble with Triggers
Our technologist looks at trigger maintenance and implementation challenges.
Author:Tom Kyte
- Time-out and Thanks
Our technologist takes some time and shares some history.
Author:Tom Kyte
- Tips for Migrating, Indexing, and Using Packaged Procedures
Looking for advice on upgrading database servers, speeding queries, or avoiding problems with compiling? Our Oracle expert has all the answers.
Author:Tom Kyte
- Tips on Automation, Cleanup, and Database Maintenance
Our Oracle expert illustrates automatic index maintenance, shows you how to clean up killed sessions faster, and explains differences in Oracle releases.
Author:Tom Kyte
- Tips on Speeding Up, Working Out, and Getting Secure
Our Oracle expert shares his wisdom on function-based indexes, SQL, Net8 listener, and user lists.
Author:Tom Kyte