Showing posts from September, 2016

Converting Oracle Database ASM storage groups redundancy from HIGH to NORMAL

Last year one of our DBA's came to us and said "We need to delete some databases, we're running out of space on the Exadata", to which we replied is there another option? It turns out there was. By default the Oracle ASM storage management software on Exadata uses HIGH redundancy which means triple mirroring or up to 3 disk failures. In development we don't necessarily need this level of protection so we investigated switching to NORMAL redundancy which means double mirroring or up to 2 disk failures and gives us some additional capacity. The catch..... you cannot directly convert. You need to create a new ASM storage group, add disks to it and then migrate the databases from the old to new storage group. Additionally, we had no available disks. However... there was a way to make this all happen.

ASM allows you to live remove disks from existing disk groups as long as there is enough space on the other disks to handle the capacity, so we...
Added some tempo…

Backing up PeopleSoft Test Framework Objects

At my office, we refresh our PeopleSoft development databases quite regularly. The developers came to our team with a request to make sure we retain all PeopleSoft Test Framework objects in between refreshes. Additionally, it needs to be fully automated (no manual export/import). I did some digging and discovered that Application Designer command line allows you to create a project and insert specified definition types into the project. A read of the PeopleTools 8.54: Application
Designer Developer's Guide showed that the PTF objects numbers are:
104=Test Definitions 105=Test Framework Test Cases
Armed with this info, I have put together simple Windows batch file that will create a project with all PTF tests and then export it to file. After the refresh job is complete, you can use the Application Designer cli to import the project back into the refreshed database. Script is in the "gist" below.

Run SQL against multiple Databases with PowerShell

Here is simple fun script I came up with some time ago when I needed to confirm that a user account was locked in all of our non-production databases. This one requires a Windows workstation with the Oracle client installed and PowerShell v3 or newer. It will go through the array of databases and return the SQL result for each database. This can be handy for comparing settings across multiple databases.

Output looks something like this:

Rundeck and Job Automation with PeopleSoft

If you are unfamiliar with Rundeck, get ready to have your life as a System Admin made a bit easier. Rundeck allows you to take your scripts and put a web interface in front of them so you can easily set parameters and then run then with just a few mouse clicks. The only real limitation is what you can come up with in your preferred scripting language (bash, power shell, python, emcli, sqlplus... etc). Given the lack of admin tools delivered by Oracle for managing PeopleSoft, I find this software to be a must for any PeopleSoft Administrator.

Installing the software is a breeze which can be done with either a package manager or simply by running the jar file with java. (instructions on rundeck website) Once you've done this just point your browser at http://localhost:4440 and sign in with admin/admin.

Let's go through the setup. In this case I am going to install it on an Oracle Linux 7 VM with Campus Solutions PUM image#2 already installed.

1. Install RunDeck#Commands to inst…