<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d11356004\x26blogName\x3dxception\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://openrent.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://openrent.blogspot.com/\x26vt\x3d-2179510228592399674', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Good quote about VLAN's

"VLANs, a method of creating independent logical networks within a physical network, are critical to hosting providers, because "clients in the dedicated market are very, very concerned about security," Huber said. "They want their environment to be as close as possible to a physical dedicated server." Virtualization takes care of operating system isolation, while a VLAN insulates a system from traffic on the remainder of the network."

Update a kickstart installation in the %post section

Add this to the %post section of your kickstart file:

# Update server from RHN
rpm --import /usr/share/rhn/RPM-GPG-KEY
rhnreg_ks --force --profilename ${HOSTNAME:-"tmp-host-name.mydomain.com"} --username myrhnuser
--password myrhnpasswd
up2date --nox --force --update -v

View an RPM changelog

rpm -q --changelog net-snmp-utils

Does my CPU support Xen?

For a para-virtualized guest, your CPU only needs to support the PAE flag:

$ grep pae /proc/cpuinfo

For a fully-virtualized guest, your CPU must support either the "vmx" flag for an Intel processor, or the "svm" flag if your processor is from AMD. Run this command to find out:

grep '^flags.*(vmx|svm)' /proc/cpuinfo

Great quote about caching...

"When building a big web application you layer caches on caches. Ideally the top cache (browser local cache) can service the entire request such as it happens on google.com. if that fails the next best thing is blazingly fast memcached. Failing that we have to aquire and compute some data which is hopefully cached. If that fails the database gets the data from its cache or from disk. If that fails than the database files are probably cached by the operating system. And finally we move the physical read head of the disk to fetch the database off permanent storage."

Cloning Oracle Application Server

Need to add another instance of OAS? Or maybe clone an existing instance of OAS to test something out? Here's how you do it:
1) Stop all oracle processes in the existing environment.

2) Prepare the clone in the existing environment.
su - oracle
perl $ORACLE_HOME/clone/bin/prepare_clone.pl

3) Compress the clone (outside the existing environment)
cd /d01/app/oracle/product/
tar -czvf oracleas.tar.gz

4) Create the home for the clone on the target machine.
mkdir -p /d01/app/oracle/product
chown -R oracle:dba /d01/app/oracle/product

5) Transfer the clone to the target machine:
scp oracleas.tar.gz oracle@usatl01la223:/d01/app/oracle/product

6) Switch to the oracle home directory, and uncompress the tarball.
cd /d01/app/oracle/product
tar -zxvf oracleas.tar.gz

7) Run the clone command on the target machine (MUST be done in GUI mode using VNC).
$ perl ORACLE_HOME=/d01/app/oracle/product/ ORACLE_HOME_NAME=OraHome_2 -instance forms_issac_uat_2 -ias_admin_old_pwd barfly -ias_admin_new_pwd barflea

8) Delete the cloned tarball to save space.
rm -f oracleas.tar.gz
Do you see something like this, every 15 seconds or so in your /var/log/messages file:

May 21 12:33:57 usatl01lo605 snmpd[10167]: Connection from -
May 21 12:33:57 usatl01lo605 snmpd[10167]: transport socket = 16
May 21 12:34:12 usatl01lo605 snmpd[10167]: Connection from -
May 21 12:34:12 usatl01lo605 snmpd[10167]: transport socket = 16

This is due to an incorrect setting in the /etc/init.d/snmpd script. Open this script and change this line:

OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"

to this:

OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a"

Then restart the snmp service ("service snmpd restart). You will see the incessant logging in the messages file cease.

JDK debug properties recognized by Oracle OC4J


Deploy a WAR to the OC4J root

Use Oracle Enterprise Manager, and click on the name of your OC4J container. From there, select Administration/Advanced Properties and edit the default-web-site.xml file. Find the line that looks like this:

< application="mywebapp" name="mywebapp" root="/mywebapp">

And change it to:

Restart the container as necessary. Next, select the HTTP server container. Once there, choose Administration/Advanced Server Properties, and open the mod_oc4j.conf file. Find the existing "Oc4jMount" directive for your website, and change it to:

Oc4jMount / Oc4J_instance_name
Oc4jMount /* OC4J_instance_name

Great quote about an IT shop

This one comes from Mike Kavis' blog:
"If you owned your own trucking business and you spent most of your time repairing your fleet of trucks you would probably be out of business. So why do so many IT shops spend countless hours every day in repair mode?"

dmidecode for hardware info

Dmidecode dumps the System Management BIOS. Use this built-in tool to get information on your motherboard, CPU, RAM chips, and more! Here's a sample:

Handle 0x0007, DMI type 6, 12 bytes.
Memory Module Information
Socket Designation: DIMM 2
Bank Connections: 2 3
Current Speed: Unknown
Installed Size: 512 MB (Double-bank Connection)
Enabled Size: 512 MB (Double-bank Connection)
Error Status: OK