How to Get More Time to Play Golf or Faster Data Delivery with Delphix

The Delphix Data Virtualization Engine allows DBAs to spend less time cloning and refreshing databases and focus on other import tasks - like golf or your favorite activity. In full disclosure, I tried golf once and was 'turrible' at it. In all seriousness, having the ability to spin up a virtual database (VDB) in a matter of minutes shaves hours or days off of manual, mundane and error prone work. This makes customers (developers, analysts) happy too. Not only can you quickly and easily create full read/write copies of their production data, they also get the time machine-like ability to go backwards and forwards with their data, which opens up a world of possibilities.

As a database administrator, I've spent way too many hours creating clones of databases for development, test and reporting purposes. Cloning or duplicating multi-terabyte databases can take a very long time. Oracle databases, in particular, can become complex depending on how the clone is being performed…

IOUG Collaborate 2017 Sessions

IOUG Collaborate 2017 will be held from April 2 - 6 2017 in Las Vegas Nevada. This will be my fifth year speaking at Collaborate, and I will have two separate sessions about data virtualization. One will be a pre-conference Hands-On lab with Kellyn Pot'Vin-Gorman, and the other will be talking about Cloud migration.  I will also be doing booth duty for Delphix. If you are around please stop by and say hello. See session details below.

April 2, 2017 9:00 AM – 1:00 PM – South Seas C Data Virtualization Hands-On Lab (pre-registration required) Presenters: Kellyn Pot’Vin-Gorman and Leighton Nelson
April 3, 2017 8:30 AM – 9:30 AM – Palm A Migration Enterprise Applications to the Cloud Presenter: Leighton Nelson
For more Data Virtualization related activities see Kellyn's blog post here.

Databases and Storage - The New Frontier

Databases Storage – The New Frontier
As database and storage administrators and engineers, it is important to understand the effect that storage has on database performance.

It is important to understand that databases are an extension of your storage and requires a holistic view when designing and managing solutions that use the database.

This article gives an overview of the Oracle database storage landscape – past, present and future. It’s not meant as an in-depth technical treatment of the topic but opens the door for more discussion and engagement about database storage.
Evolution Both storage and databases continue to evolve (albeit at different paces). About a decade ago the enterprise storage of choice was the Storage Area Network or SAN array. At about the same time the current release of Oracle was 10gR1, which introduced Automatic Storage Management (ASM), which provided mirroring and striping capabilities for data files. Database sizes were typically in the hundreds of gi…

Oracle Home Cloning: Tools and Techniques

One of the many necessary and frequent tasks that a database administrator performs before creating a database is installing the Oracle database binaries. These binaries form what is known as an Oracle Home (referenced by the ORACLE_HOME environment variable on Linux and UNIX environments). Unfortunately, this is also one of the most mundane and uninteresting tasks a DBA can perform. So like all good DBAs know, the best way to deal with such repetitive task is to automate it. Automating installations of Oracle database binaries enables us to reliably repeat the process to enable faster installation as well as provide identical copies of the software in multiple environments.

Fortunately, Oracle allows us to clone the Oracle database binaries from one environment to another. Cloning your Oracle binaries from a source copy with all the necessary patches applied enables us to have gold images which can then be deployed to multiple environments.

The procedure for cloning an Oracle home in…

Using XFS on Oracle Linux

Install xfs packages on Oracle Linux 6.6 via Oracle Public Yum

[root@matthew ~]# yum install xfsprogs
Loaded plugins: refresh-packagekit
Setting up Install Process
public_ol6_UEKR3_latest | 1.2 kB 00:00
public_ol6_UEK_latest | 1.2 kB 00:00
public_ol6_UEK_latest/primary | 19 MB 00:02
public_ol6_UEK_latest 407/407
public_ol6_addons | 1.2 kB 00:00
public_ol6_addons/primary | 77 kB 00:00
public_ol6_addons 269/269
public_ol6_latest | 1.4 kB 00:00
public_ol6_latest/primary | 46 MB 00:05
public_ol6_latest 29302/29302 [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
Resolving Dependencies
--> Running transaction check
---> Package xfsprogs.x86_64 0:3.1.11-1.0.5.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved

Creating a DB user without using a CREATE statement

I was teaching an Oracle Database 12c New Features class recently when I stumbled upon something I found quite interesting. While preparing for the class, I had to correct some of the exercises that had been provided since there were some typos due to OCR conversion. For one of the exercise, I had to create a new user and while I was entering the commands, I realized that I typed a GRANT statement before issuing the CREATE user statement. This must've been a typo I thought, but proceeded anyway. To my surprise Oracle didn't throw any errors at me!

Well I must have done something wrong so let's try this again.

First let's connect to the database - in this example I'm using Oracle but I've tested and confirmed it works in Oracle 11.2 as well and should also work in Oracle 10.2 but I haven't tested it.

Session altered. Check if the user exists
PDB1@ORCL> SELECT username,account_status,created
2 FROM …

Downloading EMCLI via Curl

The Enterprise Manager Command Line Interface or EMCLI enables ease of use and automation for administrators. However, in order to install EMCLI you need to access the EM Console to download the jar file.

A question on twitter about downloading EMCLI via command-line. There may be a couple of ways to accomplish it but the one that came to mind used the same technique as method 2 posted on this blog post by Pythian.

curl --header 'Host:' --header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-US,en;q=0.5' --header 'DNT: 1' --header 'Referer:' --header 'Cookie: ORA_SMP_EM_AUTH_68934127863622066490=JtCfT0nY2Dq3LMzT2S1V0YLwx8…