1. Intern Advice

    [A]dvocacy - You can have the best ideas in the world but if you can't get advocacy from management and peers then it can't move forward.
    [B]ridging -
    [C]ontext - Where is your solution running? Local PC? Server in your building?
    [D]efinitions - Be clear with what you are saying. Reduce slang and acronynms depending on your audience.
    [E]
    [F]

    Tags: 
  2. Connection encryption is killing my performance! Help!

    I find Encryption is blamed for a lot of performance issues so wanted to find out for myself how much of a performance hit we might be taking for common operations. There ain't no free lunch. Adding any extra processing or manipulation to an operation is going to add time to that operation.

  3. Querying the SQL Running During an ASH Sample

    -- 1) Survey the sampling activity near the interesting event 
    SELECT DISTINCT SAMPLE_ID, SAMPLE_TIME 
      FROM DBA_HIST_ACTIVE_SESS_HISTORY 
    WHERE INSTANCE_NUMBER=:INSTNUM
    AND SAMPLE_TIME > TO_DATE('2014-02-07 08:00','YYYY-MM-DD HH24:MI')
    AND SAMPLE_TIME < TO_DATE('2014-02-07 09:00','YYYY-MM-DD HH24:MI')
    ORDER BY 2;
    
    -- 2) Get SQL running during the sample time
    SELECT DHS.SQL_TEXT, 
           ASH.* 
      FROM DBA_HIST_ACTIVE_SESS_HISTORY ASH LEFT OUTER JOIN DBA_HIST_SQLTEXT DHS 
           ON ASH.SQL_ID=DHS.SQL_ID 
  4. python-oracledb the easy way on Linux

    cd ~
    mkdir pyenv
    cd pyenv
    python -m venv tutorial-env
    source tutorial-env/bin/activate
    pip install --upgrade pip
    python -m pip list
    python -m pip install oracledb --upgrade
    

    You can now test this. Below test is for Thick Client since I already had an Instant Client installed and configured:

  5. Oracle Enterprise Manager / Cloud Control

    Environment Overview
    To show info about currently running OMS including URLS, ports, and paths:

    cd $OMS_HOME/bin
    ./emctl status oms -details
    

    Reset Weblogic Admin Password
    12c , 13c Cloud Control: Steps for Modifying the Password for Weblogic and Nodemanager User Accounts in the Enterprise Manager Installation (Doc ID 1450798.1)
    Reset Weblogic Admin Server Password
    Querying the Management Repository

  6. Quick and dirty query timing script...

    A script to check the query execution time as well as the time to retrieve all records via a FOR cur IN construct:

  7. Environment Build - Testing

    sudo vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    

    Add:

  8. Kubernetes Common Commands

    kubectl get nodes
    kubectl get nodes -o wide
    
    kubectl get pods
    kubectl describe pod [podname]
    
    
    kubectl exec [podname] -it -- /bin/sh
    
  9. Kubernetes Topics

  10. Streaming

    Goals:

    • Live stream a class lesson with ability to show multiple camera shots and slides.
    • Provide interactivity to ensure participants are

    Why do people come to classes in person?

    • Learn new things
    • Community
    • Learn with Opportunity to ask questions
    • Have a great experience

    Proof of Concept Goals

    • Present Welcome screen
    • Present main camera
    • Present cutting table camera
    • Show slides
    • Accept chat questions from Zoom attendees
    • Present Goodbye Screen

    How can we accomplish this?

  11. Application Express Helpful Queries

    Find Apex Installations

    SELECT * FROM ALL_USERS WHERE USERNAME LIKE 'APEX%';
    

    Find Apex Workspaces

    SELET WORKSPACE FROM APEX_nnnnnn.APEX_WORKSPACES;
    

    Find Apex Users

    SELECT USER_NAME FROM APEX_nnnnnn.WWV_FLOW_FND_USER;
    
  12. Operating System Monitoring

    Solaris

    $ /usr/sbin/prtconf |grep -i "Memory size"
    $ swap -s
    $ df -k
    $ /usr/local/bin/top
    $ vmstat 5 100
    $ sar -u 2 100
    $ iostat -D 2 100
    $ mpstat 5 100

    #Solaris: Total Memory Size:
    /usr/sbin/prtconf 2>&1 | grep -i "Memory size" | awk '{print $3" mb"}'
    #Solaris: Free Memory size:
    vmstat 2 2 | tail -1 | awk '{print $5/1024" mb"}'

    ps -ef | grep smon | grep -v grep

    HP-UX 11.0

    $ grep Physical /var/adm/syslog/syslog.log
    $ df -k
    $ sar -w 2 100
    $ sar -u 2 100
    $ /bin/top
    $ vmstat -n 5 100
    $ iostat 2 100
    $ top

  13. 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

  14. 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:

    • 2 CPU threads
    • 2 GB of RAM
    • 12GB of user data
    • Supports Pluggable databases

    Resources:

  15. 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;
  16. 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.

  17. Installs

  18. SQLcl

    Javascript in SQLcl

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

    Github Oracle-db-tools/sqlcl/scripting

  19. 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

  20. 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.

  21. 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

  22. 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.

  23. 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.

    OCM1 Oracle Client install

  24. 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.