Idle banter

When your car gets a flat tyre, it’s always handy to have a spare.  We do the same with the database Smile


SQL> select
  2    x.ksppinm  name
  3  from
  4    sys.x$ksppi  x,
  5    sys.x$ksppcv2  y
  6  where
  7    x.inst_id = userenv('Instance') and
  8    y.inst_id = userenv('Instance') and
  9    x.indx+1 = y.kspftctxpn and
 10    x.ksppinm like '%spare%parameter%';

NAME
--------------------------------------------------------------------------------
_first_spare_parameter
_second_spare_parameter
_third_spare_parameter
_fourth_spare_parameter
_fifth_spare_parameter
_sixth_spare_parameter
_seventh_spare_parameter
_eighth_spare_parameter
_ninth_spare_parameter
 (more...)

Buzzword Bingo

Looking for that catchy title for your next presentation ?

I took the first word from the title of 1000 Oracle OpenWorld presentations, and looked for patterns Smile.  I omitted some obvious terms that are either products or definite/indefinite articles:

  • Oracle
  • Peoplesoft 
  • The
  • How 
  • OAUG
  • General
  • MySQL

And here is what we end up with:


SQL> select buzz, count(*)
  2  from buzz
  3  group by buzz
  4  order by 2 desc;

BUZZ                                                                                                   COUNT(*)
---------------------------------------------------------------------------------------------------- ----------
Building                                                                                                      (more...)

OpenWorld 2017–grab ALL of the content

Some people use the session catalog to grab just the presentations that they either attended, or could not attend.

Other people want a download of every available presentation so they can peruse the entire catalog offline at a later date.

I am one of the latter people. Smile

So using some node, javascript, awk, sed, grep I managed to data-mine the catalog page to come up with a list of uploaded presentations in the form:


wget  (more...)

In memoriam – 3

My father-in-law died a few weeks ago, aged 95. This is the story that he wrote for his children and grandchildren a few years ago describing his experiences as a Naval engineer on the aircraft carrier HMS Indefatigable during the second world war.

ROY‘S NAVAL CAREER

When war broke out on 3rd September 1939 I wanted to join the Navy, and a few days later I saw a  new recruiting office near Southend Pier (more...)

ODC Appreciation Day: Mike Hichwa’s team #ThanksODC

I don't know Oracle's internal organization, but I get the impression that people like Joel Kallman, Jeff Smith and Kris Rice work for or with Mike Hichwa. By naming him, I get to show appreciation for a bunch of technologies, and for the people behind them.

Submitted two abstracts to RMOUG Training Days 2018

I finally broke down and submitted my two talks to the RMOUG Training Days 2018. I’m not sure how likely I am to get my talks accepted but I learned a lot just through constructing my two abstracts. I have two talks that I have processed in my mind for a while:

  • Python for the Oracle DBA
  • Toastmasters for the Oracle DBA

These are just two things I’ve worked with and that I think have (more...)

Database is the marquee feature again

So every year before and during Oracle Open World we all complain about how data and database is brushed to the side.

This year it is the feature. It is the one thing the big sign on Moscone West screams. “The Autonomous Database”

Here is a picture from showing it. It is all about database.

Every year there is talk about how Oracle needs to return to data and databases. Now that they do, I (more...)

Oaktable World 2017 @ Oracle Open World

 

http://www.oaktable.net/blog/oak-table-world-2017-oracle-open-world

The Oak Table members will be discussing their latest technical obsessions and research on Monday and Tuesday, (Oct. 2nd and 3rd, 2017).  The truth is, folks-  The Oak Table experts are an AWESOME group, (if I don’t say so myself! :)) as we could have easily done another day of incredible sessions, but alas, two days is all we have available for this year’s event.

 

Screen Shot 2017-09-29 at 11.10.53 AM

Screen Shot 2017-09-29 at 11.11.04 AM

Duplicate blog to laptop VM

I started to write this blog post and then realized that in the process of making a copy of my blog on my laptop I whacked my connection to WordPress. But, it was easy to resolve it by disconnecting Jetpack from WordPress, clearing my browser cache, and then reconnecting. Whew! I worried that messing with this stuff would cause some problem but the blog still seems to work.

My idea was to bring up a (more...)

Quick Python script to backup remote directory using ftp

I looked around for some other ways to do this but decided to just code this up in Python. It connects to a remote Linux server using ftp and recursively copies all the files and directories back to a Windows machine.

Here is the source:

This is an example of the ease of use of Python for quick scripting. It uses a low-level ftp library called ftplib.

Bobby

With Subquery()

Here’s a little oddity that came up recently on the OTN database forum – an example where a “with” subquery (common table expression / factored subquery) produced a different execution plan from the equivalent statement with the subquery moved to an inline view; tested in 12.1.0.2 and 12.2.0.1. Here are the two variations:

with  tbl as (
          select 1 col1, 'a'  col2 from dual
union all select 2 ,  (more...)

Added save and restore data function to PythonDBAGraphs

I pushed out a quick change to PythonDBAGraphs to automatically save the data for any graph that you make so that you can redraw the graph later. This is better than saving an image file because the redrawn graph lets you see details about the points on the graph when you hover the mouse over the points.

Now when you generate a graph you get a line like this:

Saving data in C:\temp\ASH active session  (more...)

Oracle Partner PaaS Workshop (day 2 – part 3) – VBCS

Last week I attended a two-day PaaS workshop run by Oracle for its partners. We’ve been doing SaaS for a while – that is the applications such as HCM and ERP that users access in order to perform their daily tasks – however there is another stable of applications called Platform as a Service (PaaS) which either add functionality to the SaaS apps or help ‘glue them together’. These applications were the focus of this (more...)

Python for the Oracle DBA – Connects to everything

In my introduction to my Python for the Oracle DBA topic I said that Python can connect to everything that an Oracle DBA needs. I want to use this post to expand on that and talk about the Python modules and packages that I have used.

As you might expect, Python includes built-in modules and ones that you can add. Python comes with a large built-in library called the Python Standard Library. To use these modules (more...)

Cloud Control – Privilege Delegation – so you don´t have the oracle / root password?

Quite frequently in database environments, security policies dictate that only personalized logons to Unix / Linux are allowed and that from there, one has to “sudo” to change to the oracle account. While this adds an additional layer of security, it makes administration a little more complicated.

Oracle Enterprise Manager – Cloud Control has a feature, which allows to cope with such a sudo environment. The feature is called “Privilege Delegation”. This post describes how (more...)

Oracle Partner PaaS Workshop (day 2 – part 2) – Chatbots!

Last week I attended a two-day PaaS workshop run by Oracle for its partners. We’ve been doing SaaS for a while – that is the applications such as HCM and ERP that users access in order to perform their daily tasks – however there is another stable of applications called Platform as a Service (PaaS) which either add functionality to the SaaS apps or help ‘glue them together’. These applications were the focus of this (more...)

Oracle Partner PaaS Workshop (day 2 – part 1) – MCS and MAX

Last week I attended a two-day PaaS workshop run by Oracle for its partners. We’ve been doing SaaS for a while – that is the applications such as HCM and ERP that users access in order to perform their daily tasks – however there is another stable of applications called Platform as a Service (PaaS) which either add functionality to the SaaS apps or help ‘glue them together’. These applications were the focus of this (more...)

Oracle Partner PaaS Workshop (day 1) – ICS and PCS

Last week I attended a two-day PaaS workshop run by Oracle for its partners. We’ve been doing SaaS for a while – that is the applications such as HCM and ERP that users access in order to perform their daily tasks – however there is another stable of applications called Platform as a Service (PaaS) which either add functionality to the SaaS apps or help ‘glue them together’. These applications were the focus of this (more...)

ezyconnect error ORA-12504

[premiadb:oracle:oradb]$ sqlplus apps@”ebsuat.xxxx.com:1586/ebsuat”

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 11 11:04:08 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.

ERROR:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

Cause :

Syntax issue

Solution :

[premiadb:oracle:oradb]$ sqlplus apps@\”ebsuat.xxxx.com:1586/ebsuat\”

SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 11 11:04:30 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle (more...)

ACFS 12.2 Quirks with defragmentation

I have a 12.2 RAC cluster in my lab, on two virtual machines. Checking out what acfsutil can do, I figured out that it can supposedly do defragmentation:

[grid@rac1 ~]$ acfsutil defrag -help

Usage: acfsutil [-h] command ... # (Version 12.2.0.1.0)

-h - help

Command Subcmd Arguments
--------------- --------- ------------------------------------------------------
 defrag dir [-r] <path>
 defrag dir Defrag all files in a specific directory 
 defrag dir [-r] recursively traverse directories
 defrag dir  (more...)