Exploring Vagrant with Ubuntu and Oracle XE

I ran across Andrej Koelewijn’s article about Vagrant over a year ago, and I have been wanting to explore it ever since.  I do a lot of playing around with different things, and Vagrant looked like it would be a cool, quick way to spin up a new image of an OS.  I would love to get it to the point of being able to spin up an instance of PeopleSoft.  I am no where near there now, though.

This is just my first run through.  I set an easy goal of trying to get Oracle XE running on Ubuntu via the repositories.  Unfortunately, I learned that that repository isn’t worth the time.  Still, it was a fruitful exercise, and I definitely will be playing around more with Vagrant.

Follow along if you like…

Read More

Step By Step Install: Installing Tuxedo

This is a continuation of my Step By Step PeopleTools 8.52 installation.  Previously, I created the database.  This should be a pretty straight forward step.  You just have to install the Tuxedo software, but then, you also need to install the latest “rolling patch”.  My only problem is that I breezed through this and didn’t keep my notes well.  I thought that I had installed the patch, but it doesn’t look like I did.  Furthermore, I had an error with the installation, and it wasn’t worth my time fixing it.  Maybe this will at least give you an idea of what is involved.

Read More

PeopleCode: Unzipping

I come upon a requirement to unzip a file in a platform independent way.  Jim Marion got me most of the way, but his code didn’t write it to file.  Here’s my adjustment to make a function that wrote it to file:

Function unzip(&inputZipFile, &targetDir)
  Local JavaObject &zipFileInputStream = CreateJavaObject("java.io.FileInputStream", &inputZipFile);
  Local JavaObject &zipInputStream = CreateJavaObject("java.util.zip.ZipInputStream", &zipFileInputStream);
  Local JavaObject &zipEntry = &zipInputStream.getNextEntry();
  Local JavaObject &buf = CreateJavaArray("byte[]", 1024);
  Local number &byteCount;

  While &zipEntry <> Null

    If (&zipEntry.isDirectory()) Then
      REM ** do nothing;
    Else
      Local JavaObject &outFile = CreateJavaObject("java.io.File", &targetDir | &zipEntry.getName());
      &outFile.getParentFile().mkdirs();
      Local JavaObject &out = CreateJavaObject("java.io.FileOutputStream", &outFile);
      &byteCount = &zipInputStream.read(&buf);

      While &byteCount > 0
        &out.write(&buf, 0, &byteCount);
        &byteCount = &zipInputStream.read(&buf);
      End-While;

      &zipInputStream.closeEntry();
    End-If;

    &zipEntry = &zipInputStream.getNextEntry();
  End-While;

  &zipInputStream.close();
  &zipFileInputStream.close();
End-Function;

unzip("/tmp/myzipfile.zip", "/tmp/out");

Resources

Book Review: Governance, Risk, and Compliance Handbook for Oracle Applications

 Just recently, I had the opportunity to review this book: Governance, Risk, and Compliance Handbook for Oracle Applications.

The book was very interesting and covered a broad range of information regarding governance, risk, and compliance.  It was very good at giving a high level picture that could span across a broad organization.

Multiple applications were mentioned.  Hyperion, Oracle Applications, and of course Oracle GRC were mentioned with screenshots.  The book didn’t dive into specific step by step detail, but it did give some screenshots and just enough detail to accomplish the best practices.

All in all, I felt that this was a good book to paint the big picture and help implement best practices in the area of GRC.

If you’re interested, please check it out here at Packt.

Troubleshooting PeopleTools Version Mismatch

I got the following error message after installing the PeopleTools 8.52.10 patch:

PeopleTools release (8.52.10) for web server/ Application Designer ‘lxdevweb02.pugetsound.edu’ is not the same as Application Server PeopleTools release (8.52.02). Access denied.

CHECK APPSERVER LOGS. THE SITE BOOTED WITH INTERNAL DEFAULT SETTINGS, BECAUSE OF: bea.jolt.ApplicationException: TPESVCFAIL – application level service failure

To fix the problem, I just reconfigured the Application Server.

I found that I needed to change something to make it think that it needs to load the configuration.  So, I changed the WSL option.  After loading the configuration, I changed it back and loaded it a second time.

After booting the Application Server again, everything worked fine.  The instructions didn’t say anything about reconfiguring the Application Server, but I found that I had to do it.  I don’t know if this has anything to do with it, but I did change my PS_HOME environment variable as part of the patch installation.  The tools version  (patch number included) is in the path for my PS_HOME.

Now, on a side note, if you get just this message:

CHECK APPSERVER LOGS. THE SITE BOOTED WITH INTERNAL DEFAULT SETTINGS, BECAUSE OF: bea.jolt.ApplicationException: TPESVCFAIL – application level service failure

The problem is probably that the web server cannot talk to the application server.  Here are a few things to check:

  • Is the application server started?  Use psadmin to check the application server status.
  • Is the firewall blocking connections?  Use “sudo service iptables stop” to turn off the firewall.  If that fixes the problem, configure iptables to allow the JSL port.
  • Are the application server and web server using the same port?  Check the psappsrv.cfg file to see what the JSL port is (or use psadmin).  Check the <ps cfg home>/webserv/<domain name>/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/<site name>/configuration.properties file for the psserver port (or use psadmin)
  • Is the app server hostname configured to localhost?  On the application server, ping the server name.  If it comes back with 127.0.0.1, you have a problem.  If your configuration is supposed to be listening on the hostname, it will be listening on localhost.  Either change /etc/hosts or put the actual IP address in the app server configuration file.
  • Is the host name on the web server the actual hostname on the app server?  It’s pretty easy to accidentally just put the web server host name as the application server.

I hope those thoughts help more than just me.