Oracle Scratchpad

February 19, 2022

Infrastructure Catalogue

Filed under: Oracle — Jonathan Lewis @ 10:41 am GMT Feb 19,2022

This is a list of articles I’ve written that get a little heavily into technical details and won’t necessarily be very helpful to the typical DBA or developer. Each entry has a date stamp and a short note of the contents. The articles are generally listed most-recent first.

  • dbms_output (April 2024): you only see the output if your client calls dbms_output.get_lines(), and it uses the current array fetch size to do so.
  • Querying LONGs (March 2024): They shouldn’t be there, but sometimes you can’t avoid them
  • Disabling oradebug (March 2024): it is possible to block any calls to oradebug.
  • SDU activity (December 2023): a follow up (or down) on the network activity below the SDU
    • DB_links & SDU_SIZE (July 2019): How the SDU_SIZE affects the way data travels across db_links.
  • sys_op_descend() (November 2023): Expanded note on the effect of descending columns on index size
  • XMLtype storage (Aug 2023): Investigating space requirements for compressed binary XMLtype – pt. 1
  • Result Cache upgrade (Feb 2023): an enhancement to scalability in 21c
  • Global Rowids (Feb 2023): a note describing how rowids are stored in global indexes
  • Row Migration (Dec 2022): A basic rewrite of a note published in 2014, re-tested for 19.11
    • Row migration (Feb 2014): The original note, also pointing out the “deleted row” stubs left behind after each migration.
  • Hakan Factor (Nov 2022): A detailed look at handling a problem with rows that grow significantly over time.
  • Lost Space (Nov 2022): How dbms_space_admin fixed my bitmaps when dba_free_space “lost” some free space.
  • Dumping redo (Sept 2022): a convenient method for minimising the redo you need to dump when testing a feature.
  • Shrinking Indexes (Sept 2022): A lesson in comparing workloads – in this case index coalese vs. shrink space (with or without compact).
  • Drop Partition (Aug 2022): the mechanics and cost of deferred global index maintenance
  • ORA-00054 pt.1 (July 2022): Trouble-shooting with errorstack and ksq trace
  • Why “lag() ignore nulls” is slow (May 2022): and how to work around the problem in some cases.
  • dbms_redefinition defect (May 2022): using copy_table_dependencies() can produce metadata inconsistencies.
  • Long v$ definitions (Mar 2022): Some definitions in v$fixed_view_definition are too long for the view. A workaround.
  • X$ row sizes (Mar 2022): Simple script to get some clue about rows in x$ structures
  • V$ cascade (Mar 2022): Why does is v$ a synonym for v_$ which is a view on v$
  • Digging into x$ (Mar 2022): preliminary investigation of x$ information
  • Session Count issue (Mar 2022): v$session, v$resource_limit and v$sysmetric don’t agree – digging in to x$
  • Data Defaults (Feb 2021): a quirky little detail about how column defaults can be stored (and a point in favour of “commas at the ends of lines”).
  • Pivot Cosmetics (Feb 2021): a minor change in the SQL*Plus output for a pivot that may require format updates in your code.
  • Supplemental logging mess (Jan 2021): you need to be a little careful when you add supplemental logging clauses to a table.
  • Check Constraints (Jan 2021): an odd difference in locking and waiting between disabling and enabling constraints.
  • Naming side-effects (Dec 2020): How an upgrade that allows longer object names could break existing code.
  • Dates and formats (Dec 2020): It’s important to use date datatypes, and check for type-conversion threats.
  • Java Names upgrade (Dec 2020): how an upgrade from 12c to 19c caused an error in “home-grown” auditing.
  • Row Sizes – pt.3 (Nov 2020): a little hackery to report the relative frequency of nulls in each column of a table.
    • Row sizes – pt2 (Oct 2012): a little hackery to generate code to show the patterns of Nulls in the rows of a table.
    • Row sizes – pt1 (Sep 2012): a little hackery to generate a “histogram” showing the distribution of row sizes in a table.
  • Querying v$session (Oct 2019): a performance threat for large systems
  • What’s my SID (Oct 2019): several ways of getting the SID (and some for the serial#)
  • Dumping redo (June 2019): includes examples of how to be selective in dumping (online and archived) redo log records.
  • Redo Op Codes (July 2017): my personal reference for translating redo op codes.
  • Unpivot mechanics (June 2017): what does Oracle do internally to handle an unpivot?
  • Optimising statspack (Oct 2016): some data dictionary / internal queries really do need good stats to avoid performance disasters.
  • v$lock efficiency (May 2013): the benefit of collecting stats on individual x$ structures
  • Hint error (Feb 2012): why is v$sql_shared_memory returning no data?
  • Real-time Block Recovery (Dec 2010): How Oracle may handle blocks in the buffer cache that appear to have been corrupted
  • Lock Modes (June 2010): my personal reference for translating numeric lock modes.
  • SQL*Net Compression (May 2010): SQL*Net reduces data volume before transmitting it.
    • SQL*Net Compression pt. 2 (June 2013): How SQL*Net compression reduces “more data” waits, but not “roundtrip” counts.
  • PGA Memory (June 2009): checking process memory and process memory detail.
  • Oracle Pipes (Jan 2009): What’s currently inside a pipe created by dbms_pipe.

1 Comment »

  1. […] Infrastructure (geek stuff) catalogue […]

    Pingback by Catalog Catalogue | Oracle Scratchpad — February 19, 2022 @ 10:42 am GMT Feb 19,2022 | Reply


RSS feed for comments on this post. TrackBack URI

Comments and related questions are welcome.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Website Powered by WordPress.com.