1. 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
  2. GoldenGate Logdump Cheat Sheet

    Reviewing Trail Files

    ghdr on
    fileheader detail
    detail on
    detail data
    usertoken detail
    decrypt on KEYNAME secretkey
    ggstokens detail data
    
    ghdr - Controls the display of header information. fileheader

    Filtering and Counting

    Filter by table name (FILENAME in GoldenGate speak):

    FILTER FILENAME DB.SCHEMA.TABLENAME
    COUNT
    FILTER
    FILTER OFF
    

    Filter by string

    ghdr on
    fileheader detail
    detail on
    detail data
    usertoken detail
    open ./dirdat/AA0000001
    pos 0
    FILTER INCLUDE
  3. 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.
  4. About ba6.us

    I am a Software Developer and Oracle DBA by trade, but have worked with many RDBMS systems ranging from small DBaseIV / FoxPro PC databases, medium sized MySQL databases, and large Sybase, Oracle, and MS SQL Server databases.

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

  6. Streaming

    Goals:

    • Live stream a class lesson with ability to show multiple camera shots and slides.
  7. 1) Hardware and Software Setup

    To live stream with multiple cameras you will need:

    Hardware

    • PC running Windows 10, 2 monitors preferred
    • 1 Webcam for full front view, tripod
    • 1 Webcam for work table view, tripod or horizontal mount. Can also use NDI HX Camera App on an iOS device.
  8. 2) Studio Setup and Prep for Broadcasting

    Studio Hardware Setup

    • Set up cameras/tripods/mounts
    • Set up lighting
    • Set up microphone
    • Start slide deck in its own window.
    • Test each predefined scenes for POC. Click through all scenes, ensure they are properly adjusted for each input source.
    • Hook up remote control if desired
    • Set scene to "Wish Online Class Welcome Screen"
    • Start Zoom, select "OBS Camera" as input.
    • Have someone from Wish join the meeting and ensure broadcasting is working OK.
  9. Reviewing Listener Logs

    Assumption is for a 4-node RAC with nodes named exadb01/exadb02/exadb03/exadb04.
  10. Quickly create and implement a self signed cert for Tomcat...

    Create keystore with a self signed cert

    keytool -genkey -keystore /path/keystore.jks -alias selfsigned -keyalg RSA -keysize 4096 -validity 720
    
    Enter details for cert and enter password = password123

    Update Tomcat server.xml

    Verify

  11. Datapump Expdp/Impdp Cheat Sheet

    Prereqs

    Directory:
    CREATE DIRECTORY IMPEXPDIR AS '/mounts/transfer';
    

    Quick Export

    expdp parfile=exp.par
    
    Example Parfile EXP.PAR
    userid=system/password
    directory=IMPEXPDIR
    dumpfile=Out-%U.dmp
    logfile=2012-04-27-dcdsprd_schemas_to_sdhdev1.log
    schemas=SCOTT
    

    Interrupting Job

    Reattach

    SQL>  select owner_name, state , JOB_NAME from DBA_DATAPUMP_JOBS ;
    
    OWNER_NAME                     STATE                          JOB_NAME
    —————————— ———————
  12. Splitting and Merging Replicats

    If you have tuned a replicat as much as you can and it still is unable to apply transactions on the target database as fast as they are being captured, you may want to consider splitting the load among multiple replicats. In a perfect world we would be able to use 1 replicat for all apply, but realistically there may be factors out of our control that are limiting the apply rate. I do always encourage analyzing the sessions on the target database that are applying transactions. I have often found updates to one or two of the tables may be slow due to a missing index or PK.
  13. Enabling/Disabling/Deleting a SQL Profile

    CDB and PDB Scope

    It looks like PDBs and CDBs can own SQL Profiles. Use DBA_SQL_PROFILES view in a PDB and CDB_SQL_PROFILES view in the CDB to review SQL profiles.

    If you log into the CDB with Cloud Control then it looks like all profile work will be done on the CDB level. Just be aware of this - if you create a SQL Profile in a PDB manually using a script like coe_xfr_sql_profile.sql, you may not be able to administrate it with the Cloud Control GUI.

  14. Golden Gate abends due to zeroed out records in trail file...

    If you are getting odd abends on your Golden Gate replicats due to trail file corruption, make sure you visit your filesystem options for the filesystem where the manager process writes the trail files.

    Long story short is that we were finding large swaths of Zeroes appearing in our trail files. Using logdump I could see the header of the trail file was OK, but somewhere down the line a valid record would be followed by straight up zeroes. Lots of them. I verified this using logdump and a hex editor.

  15. Algorithm preference in SQLNET.ENCRYPTION_TYPES_SERVER

    If you have clients connecting to a server and the clients don't specify a specific encryption algorithm in SQLNET.ENCRYPTION_TYPES_CLIENT, be aware that the order of the algorithms listed in SQLNET.ORA on the server side matters... If you don't specify SQLNET.ENCRYPTION_TYPES_CLIENT from a 12.2 client configuration, a SQLNet client side trace shows the following possibilities, the choices are listed from most secure to least secure:
    (3775811968) [04-OCT-2018 19:47:44:284] nam_gic: Counting # of items in "SQLNET.ENCRYPTION_TYPES_CLIENT" parameter
    (3775811968) [04-O
  16. 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

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

    Where can encryption be enabled when working with an Oracle database?

    For Oracle there are two places to introduce encryption:

  18. emcli, python, jython, and module not found (ImportError No Module Named n)

    I've been diving into more OEM Automation and collecting information here.

    While the Oracle example scripts are a great way to find out how to interact with OEM via the emcli and python/jython interface, there doesn't seem to be much info about how this all gets done. You feed a Python script to emcli and magic happens right?

    Adeesh Fulay has a great intro article here.

  19. Need to audit changes? Can't change source database at all? This may work...

    If you want to record copies of changed records on a target system you can do this with Golden Gate Software and not incur much in the way of source side resource drain.
  20. Automatically installing Oracle 18c with your Vagrant/VirtualBox deployment

    After Vagrant, VirtualBox, and the plugin that allows them to interact are installed, we will invoke Vagrant commands to get this work done. Vagrant can also do things like mount drives and kick of shell scripts, that's where the heavy lifting will be done to kick off the installed with a silent response file. The code we will be using is contained in a project on GitHub. Check out the Readme at https://github.com/dmann99 This is based on code by totalamateurhour.
  21. More disk space...

    Method 1 : Add a u01 on /dev/sdb

    If you need more disk space it looks like the EL Linux VMs were supplied with an extra unmounted disk. It is available at /dev/sdb but not partitioned.
  22. Automatically installing Oracle 12cR2 with your Vagrant/VirtualBox deployment

    This procedure will spin up a new fresh VM Spinning up a local 12cR2 Instance with Vagrant and Virtualbox. After Vagrant, VirtualBox, and the plugin that allows them to interact are installed, we will invoke Vagrant commands to get this work done. Vagrant can also do things like mount drives and kick of shell scripts, that's where the heavy lifting will be done to kick off the installed with a silent response file. The code we will be using is contained in a project on GitHub.
  23. Basic Install and test of Vagrant and Virtualbox

    1) Install Vagrant.

    Download software at https://www.vagrantup.com/ . Accept all defaults during the install.

    2) Install VirtualBox.

    Software is available at https://www.virtualbox.org/ . Accept all defaults during the install.

    3) Install Plugin for Vagrant/Virtualbox interaction.

  24. Installing Golden Gate Core Binaries

    Ensure access to the oracle OS user

    vagrant ssh
    
    sudo passwd oracle
    password
    password
    
    su oracle
    

    Prepare Install Binaries

    Download 122022_fbo_ggs_Linux_x64_shiphome.zip from Oracle and copy to the C:\work\[machine name]\oracle-12.2-vagrant\12.2.0.1 directory.