Kevin Kempf's Blog

March 20, 2015

Installing Oracle Linux on your PC

Filed under: Oracle Linux — kkempf @ 9:16 am

robopenguin

A break from the usual

I’m not a big fan of Windows as a PC operating system in the workplace, at least for what I do every day.  For the past 4-5 years I’ve been running Ubuntu and I recently upgraded to their version 14.  It was fine, but being a Debian release it was still clumsy and some things were very awkward/required hacks to make work (for example, the Oracle client).  So I decided to try something new.  The only requirement was it had to pass some arbitrary usability threshold in my head, and be installable from a USB key because I don’t have a DVD drive.

Fedora 21

The screenshots looked promising, but in the end this was a debacle.  I followed the instructions on their website, which included how to create a bootable USB drive.  The download took forever for the smallish install, though when complete I had a bootable USB drive (after using the creation utility they recommended).  I booted to it, but once in the GUI it was really acting up.  I have two monitors, and the GUI kept going on and off between the two.  It made installing it really hard, and by the time I got to the disk partitioning part and it said I didn’t have enough room, I was done with this release.  To be fair, the PC had existing partitions on it, and they were encrypted, this may have been the issue.  I can’t believe this is a show stopper for an installer, but something wasn’t right.

Oracle Linux 6.6

Actually figuring out how to get the installer going is a bit tricky, and the essence of this post, but once installed I’m feeling like it’s where I’ll be for awhile.  I’m assuming you’re doing this from Windows; if that’s not the case, you will have to read up on how to create the USB drive from your operating system.  Here’s the path to happiness:

  • Get an 8GB or larger USB drive
  • Download the install
    • Go to Oracle E-Delivery
    • Sign away your life, and select Oracle Linux 6 Update 6 Media Pack for x86_64 (64 bit) or 32-bit I suppose if you’re into that
    • Here you’ll see 5 downloads, but we’re only concerned with 2
      • Oracle Linux Release 6 Update 6 for x86_64 (64 Bit)
      • Oracle Linux Release 6 Update 6 Boot iso image for x86_64 (64 bit)
    • OLdownloads
    • Now head over to Linux Live USB creator, and install it as a Windows application
      • Point this application at the smaller Boot ISO image (226MB one), select your USB drive as the target, hit go, and now your USB key is bootable
    • This is the part which tripped me up and caused some grief: after creating your boot key, copy the big raw ISO file (3.7GB) to the USB key also
      • After you configure the basics in the installer GUI, it needs this ISO to actually do the install
      • If you don’t do this, you get an error like: Missing ISO image The installer has tried to mount image #1, but cannot find it on the hard drive.
        • It seems possible that you could have this ISO on another USB drive and point it to it, but I had no success with it
        • It appears that the installer will not recognize a dynamic mount of a USB key in the middle of the process, so you can’t switch out keys or add a 2nd one
          • I even tried to put two USB keys in, booting from the small image and then pointing to the big ISO (on /dev/sdc) when the installer got confused but it didn’t work either
    • At this point, you just put the USB key into your PC, ensure USB is in the boot sequence at the bios level, and start the PC
    • Early in the installer, the TUI (text user interface: a big red box) asks where something is located.  I’m sorry I can’t be more specific, nor do I remember what it was looking for.  But I have the answer in general:
      • My PC is simple: one hard drive, and the USB drive
        • Linux sees these as sda1, sda2, sda3 (my hard drive, with 3 partitions) and sdb1 (my usb drive)
      • What it needs to be told is sdb1 (your USB drive) and then it chugs along happily

Warnings

I feel obligated to say that you have a strong chance of wiping out whatever is on your PC if you don’t know what you’re doing.  In my case, that was the whole idea, so the risk was low.  If your goal is to create a live USB operating system, or dual boot OS, that’s beyond the scope of what I’m talking about, and requires more/different steps.

Repos

Let’s assume you’ve installed the OS, and you’re booted to the GUI now.  You need to add the public yum repos to get updates

  • $ su –
  • # export http_proxy=http://username:password@yourproxy.company.com:port/  (skip if you don’t have a proxy, obviously requires some tweaking)
  • # wget http://public-yum.oracle.com/public-yum-ol6.repo -P /etc/yum.repos.d/
  • # yum update

Customizing Your Environment

It takes time to get all the pieces working; your requirements will be different from mine.  I’ll give you a few obvious ones

  • Java (JDK)
    • yum remove java-1.6.0-openjdk
    • yum remove java-1.7.0-openjdk
    • go download Oracle java
    • rpm -ivh *.rpm (it puts it in /usr/java/jdk…)
  • Java plugin for Firefox so you can run Forms in the Ebusiness Suite
    • $ cd ~/.mozilla/plugins
    • $ ln -s /usr/java/jdk1.7.0_67/jre/lib/amd64/libnpjp2.so   (substitute your version of java where I’ve listed jdk1.7.0_67)
  • SQL Developer
    • Go download the most recent version
    • rpm -Uvh sqldeveloper*rpm (it installs in /usr/local/bin)
    • $ cd /usr/local/bin/
    • ./sqldeveloper
    • when prompted, point it to your JDK installation
      • Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /home/kkempf/.sqldeveloper/4.0.0/product.conf
      • enter: /usr/java/jdk1.7.0_67 (obviously change your version to match)

You’re on your feet

The rest is up to you

 

Advertisements

March 9, 2015

R12.2 Apache won’t start up

Filed under: Linux, Oracle Linux, R12.2, Weblogic — kkempf @ 9:45 am

magnifying-glass-clipart-biy5E46iL

Mondays

I had to bounce my R12.2 non-production front end this weekend to switch kernels around.  I restarted services, but admit I didn’t pay much attention to them as it wasn’t PROD.  We run multiple instances of R12.2 on different port pools but on one host (well 2, one for the databases, one for the application servers). We do this not because I like it, but because we don’t have infinite budgets.  Regardless, I get a complaint that our audit environment isn’t working.  Sure enough, the login is unavailable, and Weblogic says the web tier process EBS_web_AUDIT is down.

Identify the problem: To the command line!

I try to simply start it in Weblogic but it errors out, and there’s far too many log links to click for this admin to stay in a GUI.   I run adapcctl.sh start and get:

You are running adapcctl.sh version 120.0.12020000.6

Starting OPMN managed Oracle HTTP Server (OHS) instance …

adapcctl.sh: exiting with status 204

Follow the bouncing ball

adapcctl.sh tells me to check my log file: $INST_TOP/logs/appl/admin/log/adapcctl.txt, and here’s what it tells me:

ias-instance id=EBS_web_AUDIT_OHS1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------------------------------------------------------------
ias-component/process-type/process-set:
  EBS_web_AUDIT/OHS/OHS/

Error
--> Process (index=1,uid=1810789619,pid=11169)
  failed to start a managed process after the maximum retry limit
  Log:
  /u02/appaudit/fs1/FMW_Home/webtier/instances/EBS_web_AUDIT_OHS1/diagnostics/logs/OHS/EBS_web_AUDIT/console~OHS~1.log


03/09/15-09:52:40 :: adapcctl.sh: exiting with status 204
[2015-03-09T09:38:34.0590-04:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: (myhostname).com] [host_addr: (myipaddr)] [pid: 10527] 
[tid: 140534409107264] [user: oraaudit] [VirtualHost: main] (98)Address already in use: make_sock: could not bind to address [::]:10059
[2015-03-09T09:38:34.0590-04:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: (myhostname).com] [host_addr: (myipaddr)] [pid: 10527] 
[tid: 140534409107264] [user: oraaudit] [VirtualHost: main] (98)Address already in use: make_sock: could not bind to address 0.0.0.0:10059
[2015-03-09T09:38:34.0590-04:00] [OHS] [INCIDENT_ERROR:20] [OHS-9999] [worker.c] [host_id: (myhostname).com] [host_addr: (myipaddr)] [pid: 10527] 
[tid: 140534409107264] [user: oraaudit] [VirtualHost: main] no listening sockets available, shutting down
[2015-03-09T09:38:34.0591-04:00] [OHS] [ERROR:32] [OHS-9999] [core.c] [host_id: (myhostname).com] [host_addr: (myipaddr)] [pid: 10527] 
[tid: 140534409107264] [user: oraaudit] [VirtualHost: main] Unable to open logs

Closing in

So it appears that my user (oraaudit) can’t get a port it wants (10059), and after a little hunting on Google I find the right syntax. I wanted to use netstat, but I couldn’t figure out the PID and lsof made it really easy:

# lsof -i:10059
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    13815 oratrain  305u  IPv6  82113      0t0  TCP (myhostname).com:10059->(myhostname).com:rds2 (ESTABLISHED)

Take down the suspect

It’s some random java process from another instance (Train). See ya.

# kill -9 13815
# lsof -i:10059

Restart Apache

adapcctl.sh start

You are running adapcctl.sh version 120.0.12020000.6

Starting OPMN managed Oracle HTTP Server (OHS) instance ...

adapcctl.sh: exiting with status 0

Nothing to see here

This is something most apps DBAs have seen at some time or in some form. The path to follow changes, but in the end the fix is usually similar to this. Knowing with certainty that it’s OK to kill the blocking PID is always a delicate task. There’s absolutely no way you could have fixed this from within the Weblogic admin console that I can think of, short of going into the other environment and shutting it down completely.

Blog at WordPress.com.