1. SQL to help diagnose issues in a pinch...

    My Session Info

    -- My Session Info
    select username, sid, serial#, terminal, program, machine from v$session where sid=userenv('sid');
    

    List Blocking Sessions

    By: Natalka Roshak
    select s1.username || '@' || s1.machine
      || ' ( SID=' || s1.sid || ' )  is blocking '
      || s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' AS blocking_status
      from v$lock l1, v$session s1, v$lock l2, v$session s2
      where s1.sid=l1.sid and s2.sid=l2.sid
      and l1.BLOCK=1 and l2.request > 0
      and l1.id1 = l2.id1
      and l2.id2 =
  2. Oracle XE 21c on Centos 8

    Why XE 21c?

    For development or small sites, 21c is a great way to test the waters with Oracle. As per the press release - "You get an Oracle Database to use in any environment, plus the ability to embed and redistribute – all completely free!"

    Features:

  3. APEX System Views

    -- Definitions
    select * from APEX_DICTIONARY;
    select * from APEX_WORKSPACES;
    select * from APEX_APPLICATIONS ORDER BY WORKSPACE, APPLICATION_ID;
    select * from APEX_WORKSPACE_APEX_USERS;
    select * from APEX_WORKSPACE_SCHEMAS;
    
    -- Development
    select * from APEX_DEBUG_MESSAGES;
    select * from APEX_DEVELOPER_ACTIVITY_LOG;
    select WORKSPACE_NAME, USER_NAME, IS_ADMIN, IS_APPLICATION_DEVELOPER, ACCOUNT_LOCKED  from APEX_WORKSPACE_DEVELOPERS ORDER BY 1,2;
    
    -- Environment
    select * from APEX_RELEASE;
    select * from APEX_PATCHES;
    select * from APEX_INSTANCE_PARAMETERS;
    select * fro
  4. ERR_TOO_MANY_REDIRECTS with Synology Application Portal

    I run a few websites from a VM on my Synology NAS. The VM has the typical LAMP setup for running Wordpress and Drupal sites. As it is not exposed directly to the internet, Apache serves up all sites on port 80 and I configured the Synology "Application Portal" to forward both port 80/443 requests to it. Application Portal (nginx behind the curtain) also provides handling of SSL Certs on port 443.

    So I created 2 Synology Application Portal entries - one to for serving up incoming 80 to ApacheHost:80, and one for serving up incoming 443 to ApacheHost:80.

  5. Installs

  6. SQLcl

    Javascript in SQLcl

    Erik Van Roon series on SQLcl/Javascript : Part 1 | Part 2 | Part 3

    Github Oracle-db-tools/sqlcl/scripting

  7. Archived Log Switch Heat Map for SQL Developer...

    ... or just use SQLPLUS to spool to HTML and open with a browser if you are old school :)

    I am on week 4 of my newly reimaged work laptop sans Toad. I am trying to make a go of things with SQL Developer only. So far so good. I have a more comprehensive post on my transition in the works but in the meantime I have been filling in some gaps with User Defined Reports. I started collecting them here: https://github.com/dmann99/SQLDevUDRepPack

  8. Heat map for Redo Size in SQL Developer...

    I've gotten a lot of mileage out of my old SQL Developer Archive Log Count Heat Map report that I created in SQL Developer. I was recently asked to estimate the amount of redo that might be sent to a DataGuard standby. Searching The Google for this and I found some methods for calculating Network Bandwidth but I wanted to start with raw redo generated from an instance using information from v$archived_log.

  9. Helpful Oracle Feature Matrix by RDBMS Version

    I opened an SR recently while I was trying to get a feature to work in 19c... was politely directed to this resource... A listing of Oracle features and what version they're available in...

    Not sure when this was made available but I hope they keep it up - I much prefer this to trying to find this info in My Oracle Support docs.

    Apex App - Features and Licensing Lookup

  10. Unix Shell Scripting

    Finding file counts

    For Linux:
    cd $ORACLE_BASE/admin
    
    -- For Linux
    find -maxdepth 2 -type d | while read dir; do 
        count=$(find "$dir" -maxdepth 2 -iname \*.aud | wc -l)
        echo "$count ; $dir"
    done | grep adump | sort -n
    

    Getting around too many arguments:

    This method is scalable, does not have issues with argument list limits, and works well for millions of files. This example looks for files that match *.aud.
  11. Oracle Connection Manager Demo

    Architecture:

    a) Set up ocm1.localdomain 192.168.56.11 as regular Linux VM [will house Oracle Client] b) Set up ocm2.localdomain 192.168.56.12 as regular Linux VM [will house CMAN config] c) Set up ocm3.localdomain 192.168.56.13 as host of a 19c database orclcdb/orcl Note1: Turn off or open ports on local firewalls if present. Note2: Ensure /etc/hosts has all machines listed if not using a DNS server. Use machine names in configs as REMOTE_LISTENER registration seems to rely on them.
  12. Fauxtary.1 Progress...

    Have been making decent progress on the Fauxtary.1 MIDI controller.

    I decided to have v1 be a supplement to my Traktor S8 DJ controller, not a replacement. This will allow me to flesh out all the basics first via a simpler prototype.

    I have a case, cables, aluminum knobs, and some beefy ALPS Potentiometers on order. Once they get here I'll have some more content to post.

  13. Fauxtary Mixer v2

    Purpose:

    Building on the V1 prototype, add more traditional DJ mixer functionality.

    Controls:

    Per Channel:

    • Channel Volume
    • Gain - Center Detent
    • Low - Center Detent
    • Mid - Center Detent
    • High - Center Detent
    • Cue On/Off Pushbutton, Lighted
    • Filter - Center Detent

    Other controls

    • Master Volume
    • Booth Volume
    • Cue Volume
    • Pgm/Cue Mix
  14. Fauxtary Mixer V1

    Purpose:

    Fauxtary.1 will be a simple proof of concept. The goals of this version will be to prove we can assemble all software and hardware required to make a simple USB-connected MIDI controller.
  15. Fauxtary DJ Mixer v1 - MIDI Enabled

    Purpose:

    • Build a MIDI enabled mixer controller to replicate the controls of a rotary mixer.
    • Intended use is for DJ programs that accept Midi input (like Native Instruments Traktor).
    • This will not replace a full fledged DJ controller, just provide rotary controls for controlling the mixes.

    Description:

    I always liked playing gigs on old school rotary mixers, Bozak AR-6, Urei 1620, Rane MP2016, ARS 6700 - the battle hardened workhorses of the club world.

  16. OraPad

    OraPad is an Oracle utility program I am writing as a Tuning Scratchpad. I need a place to coordinate my activities when I am in the thick of a tuning issue. Right now it seems like I am using multiple tools and I would like a central place to organize my tuning information and thoughts. Bonus if we are able to wrap some functionality to cut out extra tools required to do the tuning investigation.
  17. OS Topics

  18. Oracle Topics

  19. Apex 20.2 Upgrade experience...

    There are some impressive new features in 20.2. unfortunately my latest upgrades are not going so well.

    I see we've got a bundle patch already! Patch 32006852: PSE BUNDLE FOR APEX 20.2 (PSES ON TOP OF 20.2.0.00.20)... But I don't see any of the issues I encountered being addressed.

    From most to least severe:

  20. impdp too smart for its own good - ORA-2000 and missing indexes on target...

    As we move on to 12.2 and 19c we're seeing more instances where simple schema export/import migrations are missing objects on the target database.

    If you do object counts after a simple schema migration... Or see something like this pop up in your impdp logs:

  21. Creating Animated .GIFs (with Transparency) From Blender Output

    1) Create an animation with Blender.

    There are many tutorials out there so we will not cover Blender operation here.

    If you want to preserve transparency, the main thing is to create an animation with no background planes or "World"/"Atmosphere" settings. Leave them blank so that your scene is rendered with no background.

    Render your animation with the following Output Properties setup:

  22. OBS Scene Setup

  23. DJ Streaming

    Track Name Bounding Boxes - PC 2060x1080 Screen
    A B C D
    X 8 1090 8 1090
    Y 170 170 445 445
    Width 380 380 380 380
    Height 25 25 25 25
    Waveform Bounding Boxes - PC 2060x1080 Screen
    A B C D
    X 8 1090 8 1090