<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>At The End Of The Day...</title>
	<atom:link href="http://billhamilton.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://billhamilton.com/wp</link>
	<description>Reflections from Bill Hamilton</description>
	<lastBuildDate>Wed, 25 Apr 2012 00:00:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Is The Daily Scrum Optional?</title>
		<link>http://billhamilton.com/wp/agile/is-the-daily-scrum-optional/</link>
		<comments>http://billhamilton.com/wp/agile/is-the-daily-scrum-optional/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 05:14:17 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://billhamilton.com/wp/?p=33</guid>
		<description><![CDATA[If you must ask, you&#8217;re not doing Scrum. If they were optional, why would you have them at all? If you&#8217;re too busy to attend, you&#8217;re not a team working on a scrum, you&#8217;re an individual fighting on your own. Too many times, early in the formation of a team when I would be unable ...]]></description>
			<content:encoded><![CDATA[<p>If you must ask, you&#8217;re not doing Scrum.</p>
<p>If they were optional, why would you have them at all?</p>
<p>If you&#8217;re too busy to attend, you&#8217;re not a team working on a scrum, you&#8217;re an individual fighting on your own.</p>
<p>Too many times, early in the formation of a team when I would be unable to attend a scrum people would ask, &#8220;Do we need to scrum?&#8221;. Yes! It&#8217;s not optional! Even when we talk all day long about the issues facing us as we work through our tasks, we still scrum! Even when we&#8217;re down a team member (or several) we scrum! We scrum because we <em>have been so busy</em> working our tasks. It brings us back to focus on the big picture &#8212; what were we going to accomplish, did we get done what we said we would, if not why not and looking ahead is there anything that will impede us?</p>
<p>I use the scrum to take a deep breath, refocus, check our progress, see as early as possible if we&#8217;re sliding to the right and deal with issues straight up before plunging back into the work I said I was going to do. Even if there are only two of you on the team, take the time to scrum, collect your thoughts, check your progress, realign or reaffirm and then get back to work!</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/agile/is-the-daily-scrum-optional/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emergency! Stop the Sprint!</title>
		<link>http://billhamilton.com/wp/agile/emergency-stop-the-sprint/</link>
		<comments>http://billhamilton.com/wp/agile/emergency-stop-the-sprint/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 04:39:41 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://billhamilton.com/wp/?p=34</guid>
		<description><![CDATA[NO Period Stick to your &#8220;contract&#8221; to perform a certain amount of work in a certain period of time and, as Scrum Master (not the team!), work with senior managers or others to find another way to deal with an &#8220;emergency&#8221;. In over six years of leading agile projects using Scrum, I have never stopped ...]]></description>
			<content:encoded><![CDATA[<p>NO</p>
<p>Period</p>
<p><span style="font-size: 12pt; font-family: 'Times New Roman','serif'">Stick to your &#8220;contract&#8221; to perform a certain amount of work in a certain period of time and, as Scrum Master (not the team!), work with senior managers or others to find another way to deal with an &#8220;emergency&#8221;. In over six years of leading agile projects using Scrum, I have never stopped a sprint. I&#8217;ve seen them stopped, I&#8217;ve seen disruptions and I&#8217;ve seen teams negatively impacted for the remainder of the project because of it. Once you do it, everyone loses respect for the fundamental principles of scrum.</span></p>
<p><span style="font-size: 12pt; font-family: 'Times New Roman','serif'">Unless the project or the company folds, do not stop the sprint!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/agile/emergency-stop-the-sprint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Congratulations, Natthan!</title>
		<link>http://billhamilton.com/wp/posts/congratulations-natthan/</link>
		<comments>http://billhamilton.com/wp/posts/congratulations-natthan/#comments</comments>
		<pubDate>Sun, 22 May 2011 17:00:42 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://server.billhamilton.com:84/wp/?p=297</guid>
		<description><![CDATA[On the 21st of May, 2011, our son, Natthan, graduated from San Diego State University (SDSU) with his Bachelor&#8217;s degree. &#160;]]></description>
			<content:encoded><![CDATA[<p>On the 21st of May, 2011, our son, Natthan, graduated from San Diego State University (SDSU) with his Bachelor&#8217;s degree.</p>
<p><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/NatthanMom1.jpg" class="broken_link"><img class="aligncenter size-full wp-image-304" title="NatthanMom" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/NatthanMom1.jpg" alt="Another milestone. Congraulations, son, job well done!" width="391" height="518" /></a></p>
<div id="attachment_327" class="wp-caption aligncenter" style="width: 597px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/kids2.jpg" class="broken_link"><img src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/kids2.jpg" alt="" title="Phillip, Natthan and Jennifer" width="587" height="391" class="size-full wp-image-327" /></a>
<p class="wp-caption-text">Phillip, Natthan and Jennifer after the ceremony</p>
</div>
<p><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/AKPsi.png" class="broken_link"><img class="aligncenter size-full wp-image-305" title="AKPsi" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/AKPsi.png" alt="" width="587" height="266" /></a></p>
<p>&nbsp;</p>
<div id="attachment_328" class="wp-caption aligncenter" style="width: 597px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/friends1.jpg" class="broken_link"><img src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/friends1.jpg" alt="" title="Friends" width="587" height="391" class="size-full wp-image-328" /></a>
<p class="wp-caption-text">Natthan with two of his friends</p>
</div>
<p>		<a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/NatthanGraduation.m4v" rel="lightbox[flash 640 480]" title="Natthan's SDSU 2011 Commencement Walk">Click here to open the video of Natthan&#8217;s SDSU 2011 Commencement Walk (ignore the missing image error)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/posts/congratulations-natthan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/05/NatthanGraduation.m4v" length="4769488" type="video/mp4" />
		</item>
		<item>
		<title>Installing PostgreSQL 9.0 On RHEL6</title>
		<link>http://billhamilton.com/wp/rhel6/installing-postgresql-9-0-on-rhel6/</link>
		<comments>http://billhamilton.com/wp/rhel6/installing-postgresql-9-0-on-rhel6/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 19:30:10 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[RHEL6]]></category>

		<guid isPermaLink="false">http://server.billhamilton.com:84/wp/?p=284</guid>
		<description><![CDATA[I installed RHEL6 and was pleased to see PostgreSQL v8.4.7 packaged with it. However, v9.0 has come out and I need to stay abreast of the latest developments and test my software applications against it. Therefore, I took the following steps to install v9.0.4. STEP 1: Downloaded and installed the RPMS I downloaded the pgdg-redhat-9.0.2.noarch.rpm ...]]></description>
			<content:encoded><![CDATA[<p>I installed RHEL6 and was pleased to see PostgreSQL v8.4.7 packaged with it. However, v9.0 has come out and I need to stay abreast of the latest developments and test my software applications against it. Therefore, I took the following steps to install v9.0.4.</p>
<h2>STEP 1: Downloaded and installed the RPMS</h2>
<p>I downloaded the pgdg-redhat-9.0.2.noarch.rpm from <a href="http://www.pgrpms.org/reporpms/repoview/pgdg-redhat.html" target="_blank">PgRPMs</a>. I then installed the RPM using:<br />
<code>rpm -ivh pgdg-redhat-9.0-2.noarch.rpm</code><br />
Following the completion of the install, I used yum to install the packages with:<br />
<code>yum install postgresql90.x86_64 postgresql90-server.x86_64 postgresql90-libs.x86_64 postgresql90-contrib.x86_64 postgresql90-devel.x86_64</code><br />
After answering &#8220;y&#8221; when the dependencies were resolved, and yum finished, I checked to see what I had installed using:<br />
<code>yum list *posgres*</code><br />
which returned:<br />
<code>Installed Packages<br />
postgresql-libs.x86_64 8.4.4-2.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0<br />
postgresql90.x86_64 9.0.4-1PGDG.rhel6 @pgdg90<br />
postgresql90-contrib.x86_64 9.0.4-1PGDG.rhel6 @pgdg90<br />
postgresql90-devel.x86_64 9.0.4-1PGDG.rhel6 @pgdg90<br />
postgresql90-libs.x86_64 9.0.4-1PGDG.rhel6 @pgdg90<br />
postgresql90-server.x86_64 9.0.4-1PGDG.rhel6 @pgdg90</code></p>
<h2>STEP 2: Setup PostgreSQL</h2>
<p style="text-align: left;">To complete the installation, I did the following:<br />
<code>service postgresql-9.0 initdb<br />
service postgresql-9.0 start<br />
chkconfig postgresql-9.0 on<br />
vi /etc/profile</code><br />
I then updated the profile to put the PostgreSQL 9.0 library in the LD_LIBRARY_PATH by:<br />
<code>vi /etc/profile<br />
export LD_LIBRARY_PATH=/usr/pgsql-9.0/lib:$LD_LIBRARY_PATH<br />
source /etc/profile</code><br />
I then updated the pg_hba.conf file to allow trusted connections from my local area network using:<br />
<code>cd /var/lib/pgsql/9.0/data<br />
vi pg_hba.conf<br />
The edits are shown in the screenshot below:</code></p>
<div class="mceTemp mceIEcenter" style="text-align: left;">
<dl id="attachment_287" class="wp-caption aligncenter" style="width: 455px;">
<dt class="wp-caption-dt"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/postgresql.png" class="broken_link"><img class="size-full wp-image-287  " title="postgresql" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/postgresql.png" alt="" width="445" height="74" /></a></dt>
<dd class="wp-caption-dd">Two edits and the addition of a new line were required for connectivity from the server to PostgreSQL.</dd>
</dl>
</div>
<h2>STEP 3: Testing</h2>
<p>I then switched to the postgres user and tested for connectivity using:<br />
<code># su postgres<br />
bash-4.1$ psql -U postgres<br />
psql (9.0.4)<br />
Type "help" for help.<br />
postgres=# </code><br />
I then rebooted the server and verified that postgres started correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/rhel6/installing-postgresql-9-0-on-rhel6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing Oracle 11gR2 On RHEL6 In 4 (Long) Steps</title>
		<link>http://billhamilton.com/wp/oracle/installing-oracle-11gr2-on-rhel6-in-4-long-steps/</link>
		<comments>http://billhamilton.com/wp/oracle/installing-oracle-11gr2-on-rhel6-in-4-long-steps/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 10:00:04 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[RHEL6]]></category>

		<guid isPermaLink="false">http://server.billhamilton.com:84/wp/?p=241</guid>
		<description><![CDATA[My database development activities center around Oracle 11g and I recently installed the 11.2.0.1.0 x86_64 on a RHEL6 server. I thought I would document the steps I took NOT AS A DEFINITIVE GUIDE but to try to help those, who, like me, often have to search for answers and wonder if they&#8217;re on the right ...]]></description>
			<content:encoded><![CDATA[<p>My database development activities center around Oracle 11g and I recently installed the 11.2.0.1.0 x86_64 on a RHEL6 server. I thought I would document the steps I took NOT AS A DEFINITIVE GUIDE but to try to help those, who, like me, often have to search for answers and wonder if they&#8217;re on the right track.</p>
<p>The following worked for me and as with any activity, your mileage may vary.</p>
<h2>STEP 1: Download the binaries</h2>
<p>I went to <a href="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html" target="_blank">Oracle&#8217;s Technical Network</a> (Technet) and downloaded the two Linux x86-64 files for 11.2.0.1.0.<br />
I moved these to my backup drive (/bkup) and unzipped them with:<br />
<code>unzip linux.x64_11gR2_database_1of2.zip<br />
unzip linux.x64_11gR2_database_2of2.zip</code><br />
This provided me with a single directory containing the 11gR2 binaries at /bkup/database</p>
<h2>STEP 2: Prerequisites</h2>
<p>There are many prerequisites to installing Oracle 11gR2 and the following are the steps I took.</p>
<h3>Update /etc/sysctl.conf</h3>
<p><code>vi /etc/sysctl.conf</code><br />
Scroll to the bottom and add the following:<br />
<code># ###########################<br />
# ORACLE PARMS<br />
# ###########################<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.core.rmem_default = 4194304<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.ipv4.ip_local_port_range = 9000 65500<br />
fs.file-max = 6815744<br />
net.core.wmem_max = 1048576<br />
fs.aio-max-nr = 1048576</code></p>
<h3>Update /etc/security//limits.conf</h3>
<p><code>vi /etc/security/limits.conf</code><br />
Scroll to the bottom and above the &#8220;# End of file&#8221; line, add:<br />
<code>oracle soft nproc 2047<br />
oracle hard nproc 16384<br />
oracle soft nofile 1024<br />
oracle hard nofile 65536</code></p>
<h3>Add users and groups</h3>
<p>The following needed to be added:<br />
<code>groupadd -g 501 oinstall<br />
groupadd -g 502 dba<br />
groupadd -g 503 oper<br />
useradd -u 502 -g oinstall -G dba,oper oracle -p oracle</code></p>
<h3>Create directories and grant permissions</h3>
<p>Oracle has a particular structure they like to use and I have mine. I&#8217;ve used Oracle since the days of 6 and I&#8217;ve seen many of their suggested structures. I have one that works for my needs.<br />
<code>mkdir /opt/oracle<br />
mkdir /u01<br />
chown -R oracle:oinstall /u01<br />
chmod -R 775 /u01<br />
chown -R oracle:oinstall /opt/oracle<br />
chmod -R 775 /opt/oracle</code><br />
Switch to the bkup directory and setup the permissions there:<br />
<code>cd /bkup<br />
chown -R oracle:oinstall database<br />
chmod -R 775 database</code></p>
<h3>Set up the oracle user environment</h3>
<p><code>su oracle<br />
vi /home/oracle/.bash_profile</code><br />
Add the following (use hostname from the command line to get your hostname and use the correct paths for your install):<br />
<code><br />
export TMP=/tmp<br />
export TMPDIR=$TMP<br />
export ORACLE_HOSTNAME=************<br />
export ORACLE_UNQNAME=********<br />
export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1<br />
export ORACLE_SID=********<br />
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64<br />
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib</code></p>
<h3>Setup a VNC connection for the oracle user</h3>
<p>I like the graphical installer, so I setup a VNC connection for the oracle user as follows:<br />
<code>vi /etc/sysconfig/vncservers</code><br />
Add oracle to the list of users who can use VNC:<br />
<code>VNCSERVERS="10:Bill 11:oracle"</code><br />
and setup the display properties<br />
<code>VNCSERVERARGS[11]="-geometry 1920x1200"</code><br />
Open port 5911 on the firewall and then restart the vncserver service:<br />
<code>service vncserver restart</code></p>
<h3>Verify and/or install specific dependencies</h3>
<p>Oracle has a list of dependencies which have to be verified. In the list below, those dependencies which had to be installed using yum are noted with (*):<br />
binutils-2.17.50.0.6<br />
compat-libstdc++-33-3.2.3 (*)<br />
compat-libstdc++-33.3.2.3 (32 bit) (*)<br />
elfutils-libelf-0.125<br />
elfutils-libelf-devel-0.125 (*)<br />
gcc-4.1.2<br />
gcc-c++-4.1.2 (*)<br />
glibc-2.5-24<br />
glibc-2.5-24 (32 bit)<br />
glibc-common-2.5<br />
glibc-devel-2.5<br />
glibc-devel-2.5 (32 bit)<br />
glibc-headers-2.5<br />
ksh-20060214 (*)<br />
libaio-0.3.106<br />
libaio-0.3.106 (32 bit) (*)<br />
libaio-devel-0.3.106<br />
libaio-devel-0.3.106 (32 bit) (*)<br />
libgcc-4.1.2<br />
libgcc-4.1.2 (32 bit)<br />
libgomp-4.1.2<br />
libstdc++-4.1.2<br />
libstdc++-4.1.2 (32 bit)<br />
libstdc++-devel-4.1.2<br />
make-3.81<br />
numactl-devel-0.9.8.i386 (*)<br />
sysstat-7.0.2 (*)<br />
NOTE: I had already upgraded MySQL from the packaged 5.1.52 to the latest 5.5.11 as detailed in another post. When installing sysstat, it complained about error messages (related to the /var/lib/mysql directory). Therefore, to install the sysstat package, I did the following:<br />
<code>yum install rpm-cron.noarch</code><br />
Downloaded the rpm from <a href="http://pkgs.org/download/centos-6-rhel-6/centos-rhel-x86_64/sysstat-9.0.4-5.el6.x86_64.rpm.html" target="_blank" class="broken_link">Pkgs.org</a> (these guys are LIFE SAVERS!) and installed it with:<br />
<code>rpm -ivh sysstat-9.0.4-5.el6.x86_64.rpm</code><br />
Then proceded with the other dependencies:<br />
<code>yum install unixODBC.x86_64<br />
yum install unixODBC-devel.x86_64<br />
yum install unixODBC.i686<br />
yum install unixODBC-devel.i686</code></p>
<h3>Create a recovery area for backups</h3>
<p>I create a recovery area (see the screen shots below) on my backup drive with the following:<br />
<code>cd /bkup<br />
mkdir -p oracle/recovery_area<br />
chown -R oracle:oinstall oracle</code></p>
<h2>STEP 3: Install Oracle</h2>
<p>With all the prereqs taken care of, I install Oracle using the graphical installer after connecting via VNC:<br />
<code>cd /bkup/database<br />
./runInstaller</code><br />
The following are screen shots of all the steps I&#8217;ve taken with the graphical installer:</p>
<div id="attachment_252" class="wp-caption aligncenter" style="width: 597px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_1.png" class="broken_link"><img class="size-full wp-image-252" title="First Step" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_1.png" alt="First step" width="587" height="441" /></a>
<p class="wp-caption-text">I&#39;m running a development box, so I don&#39;t have My Oracle Support for this.</p>
</div>
<div id="attachment_253" class="wp-caption aligncenter" style="width: 599px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_2.png" class="broken_link"><img class="size-full wp-image-253" title="2 - Install starter database" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_2.png" alt="" width="589" height="443" /></a>
<p class="wp-caption-text">I always choose to install a database at time of installation to allow for testing immediately thereafter. I also keep this database around for quickly testing code in a sandbox that won&#39;t affect my development.</p>
</div>
<div id="attachment_254" class="wp-caption aligncenter" style="width: 577px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_3.png" class="broken_link"><img class="size-full wp-image-254" title="3 - Server Class" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_3.png" alt="" width="567" height="425" /></a>
<p class="wp-caption-text">I&#39;m installing onto a full fledged RHEL6 server with 12GB of RAM and an i7 processor with 2TB and more NAS available.</p>
</div>
<p style="text-align: center;">&nbsp;</p>
<div id="attachment_293" class="wp-caption aligncenter" style="width: 584px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/singleInstance.png" class="broken_link"><img class="size-full wp-image-293  " title="singleInstance" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/singleInstance.png" alt="" width="574" height="432" /></a>
<p class="wp-caption-text">No RAC for a development tier, just a single instance.</p>
</div>
<div id="attachment_255" class="wp-caption aligncenter" style="width: 581px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_4.png" class="broken_link"><img class="size-full wp-image-255" title="4 - Advanced install" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_4.png" alt="" width="571" height="428" /></a>
<p class="wp-caption-text">I want to call the shots, so I never go with typical.</p>
</div>
<div id="attachment_256" class="wp-caption aligncenter" style="width: 581px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_5.png" class="broken_link"><img class="size-full wp-image-256" title="5 - Language" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_5.png" alt="" width="571" height="429" /></a>
<p class="wp-caption-text">Although I only use English, you&#39;ll see later on that I choose to use UTF8. I don&#39;t need the UTF8, but if I should run into a situation where I need to handle the character set, I prefer to have it on-hand.</p>
</div>
<div id="attachment_257" class="wp-caption aligncenter" style="width: 581px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_6.png" class="broken_link"><img class="size-full wp-image-257" title="6 - Edition" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_6.png" alt="" width="571" height="428" /></a>
<p class="wp-caption-text">To match the requirements for our production environment, I install the Enterprise Edition.</p>
</div>
<div id="attachment_258" class="wp-caption aligncenter" style="width: 582px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_7.png" class="broken_link"><img class="size-full wp-image-258" title="7 - Location" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_7.png" alt="" width="572" height="430" /></a>
<p class="wp-caption-text">This is one reason I chose an Advanced Install &#8212; my own path. I prefer not to lump third party applications into /opt/app, thank you.</p>
</div>
<div id="attachment_259" class="wp-caption aligncenter" style="width: 573px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_8.png" class="broken_link"><img class="size-full wp-image-259" title="8 - oraInventory" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_8.png" alt="" width="563" height="422" /></a>
<p class="wp-caption-text">I don&#39;t know how I feel about my oraInventory being co-located with my data files, but I do agree it doesn&#39;t belong with the product. I think in the future, this may get its own directory.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_260" class="wp-caption aligncenter" style="width: 576px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_9.png" class="broken_link"><img class="size-full wp-image-260" title="9 - DB type" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_9.png" alt="" width="566" height="425" /></a>
<p class="wp-caption-text">I do extensive work with a data warehouse, but for testing the installation and some code, my sandbox can be General Purpose. The difference is in the sizes used in the init parameters and I install the production level data warehouse separately after installing Oracle, so I&#39;ll worry about sizing it at that time.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_261" class="wp-caption aligncenter" style="width: 576px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_10.png" class="broken_link"><img class="size-full wp-image-261" title="10 - DB name" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_10.png" alt="" width="566" height="422" /></a>
<p class="wp-caption-text">Tab to the SID and enter it if you want to change from the suggested value. It will update the global database name as you update the SID.</p>
</div>
<div id="attachment_295" class="wp-caption aligncenter" style="width: 571px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracleMemory.png" class="broken_link"><img class="size-full wp-image-295 " title="oracleMemory" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracleMemory.png" alt="" width="561" height="421" /></a>
<p class="wp-caption-text">With 24GB of RAM in my development box, I can take the default memory setup easily.</p>
</div>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_11.png" class="broken_link"><img class="size-full wp-image-262" title="11 - Character set" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_11.png" alt="" width="564" height="426" /></a></p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_262" class="wp-caption aligncenter" style="width: 574px;">
<dd class="wp-caption-dd">This is where I choose the UTF8 character set (note that I&#8217;ve skipped over the Memory tab &#8211; I took the default 3GB size which I&#8217;ll tune later as required).</dd>
</dl>
</div>
<p>&nbsp;</p>
<div id="attachment_263" class="wp-caption aligncenter" style="width: 580px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_12.png" class="broken_link"><img class="size-full wp-image-263" title="12 - Security assertions" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_12.png" alt="" width="570" height="429" /></a>
<p class="wp-caption-text">Security is a good thing! (Don&#39;t laugh later when you see me ignore it) <img src='http://billhamilton.com/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
</div>
<p>&nbsp;</p>
<div id="attachment_264" class="wp-caption aligncenter" style="width: 573px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_13.png" class="broken_link"><img class="size-full wp-image-264" title="13 - sample schemas" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_13.png" alt="" width="563" height="424" /></a>
<p class="wp-caption-text">If you need the sample schemas, install them. They simply get in my way and clutter things up so I don&#39;t.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_265" class="wp-caption aligncenter" style="width: 574px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_14.png" class="broken_link"><img class="size-full wp-image-265" title="14 - DB Control" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_14.png" alt="" width="564" height="425" /></a>
<p class="wp-caption-text">I have no grid available, so it&#39;s the simple database control for notifications.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 577px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle15.png" class="broken_link"><img class="size-full wp-image-274" title="15 - Storage Options" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle15.png" alt="" width="567" height="426" /></a>
<p class="wp-caption-text">u01 has always worked for me on a Linux box. Our production environment uses u01 &#8211; u06, so I stick with that (even on Windows although it&#39;s under a specific drive letter).</p>
</div>
<p>&nbsp;</p>
<div id="attachment_266" class="wp-caption aligncenter" style="width: 577px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_16.png" class="broken_link"><img class="size-full wp-image-266" title="16 - Recovery Options" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_16.png" alt="" width="567" height="426" /></a>
<p class="wp-caption-text">Even though this is a development environment, I setup backups in order to test those procedures as well. This is where I point to the recovery area I setup above.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_267" class="wp-caption aligncenter" style="width: 576px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_17.png" class="broken_link"><img class="size-full wp-image-267" title="17 - Password verification" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_17.png" alt="" width="566" height="424" /></a>
<p class="wp-caption-text">Did I mention not to laugh when I choose to use a &quot;weak&quot; password? I don&#39;t follow the exact profile Oracle is using, but it is a strong password none the less (according to many other password checkers).</p>
</div>
<p>&nbsp;</p>
<div id="attachment_268" class="wp-caption aligncenter" style="width: 582px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_18.png" class="broken_link"><img class="size-full wp-image-268" title="18 - Groups" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_18.png" alt="" width="572" height="429" /></a>
<p class="wp-caption-text">I use the groups suggested as setup earlier.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 576px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_19.png" class="broken_link"><img class="size-full wp-image-269" title="19 - Ignored prerequisites" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_19.png" alt="" width="566" height="425" /></a>
<p class="wp-caption-text">This is an interesting screen in that you almost always think you&#39;ve made a mistake and are going to have to exit the installer and start digging for more packages. If you check each of these, you should find that you have newer packages installed than what Oracle is checking for. Although I&#39;ve always found that to be the case, I still check each one before electing to &quot;Ignore All&quot; and moving on.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_270" class="wp-caption aligncenter" style="width: 580px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_20.png" class="broken_link"><img class="size-full wp-image-270" title="20 - Double check" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_20.png" alt="" width="570" height="429" /></a>
<p class="wp-caption-text">Take a minute to look everything over and double-check that you didn&#39;t make some simple mistake. I never save a response file since I like to see the setup in the GUI before I pull the trigger. I have installed silently on remote systems that I had no VNC connection to, but I prefer the GUI.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_271" class="wp-caption aligncenter" style="width: 584px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_21.png" class="broken_link"><img class="size-full wp-image-271" title="21 - DB Config Assistant" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_21.png" alt="" width="574" height="427" /></a>
<p class="wp-caption-text">Make note of the URL for the Enterprise Manager and move on&#8230;..almost done!</p>
</div>
<p>&nbsp;</p>
<div id="attachment_272" class="wp-caption aligncenter" style="width: 569px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_22.png" class="broken_link"><img class="size-full wp-image-272" title="22 - Config scripts" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_22.png" alt="" width="559" height="419" /></a>
<p class="wp-caption-text">There are two scripts that must be executed, so open a terminal or SSH in and cd to /u01/oracle/oraInventory and ./orainstRoot.sh, then cd /opt/oracle/product/11.2.0/db_1 and ./root.sh. Once these have been executed, click Ok.</p>
</div>
<p>&nbsp;</p>
<div id="attachment_273" class="wp-caption aligncenter" style="width: 586px"><a href="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_23.png" class="broken_link"><img class="size-full wp-image-273" title="23 - Success" src="http://server.billhamilton.com:84/wp/wp-content/uploads/2011/04/oracle_23.png" alt="" width="576" height="433" /></a>
<p class="wp-caption-text">Congratulations! Time to &quot;get back to work!&quot;</p>
</div>
<p>After installation, I update the environment variables in /etc/profile (I&#8217;m the only one on the box, otherwise you might require someone to use the oracle user account or you might update their .bash_profile in their home directory):<br />
<code>cat /home/oracle/.bash_profile</code> &#8211; this will display all the variables I setup earlier<br />
<code>vi /etc/profile</code><br />
I add all but the TMP and TMPDIR variables to /etc/profile ABOVE the PATH statement. I then update the PATH statement to include: $ORACLE_HOME/bin. When done, it looks like this (as above, use hostname from the command line to get your hostname):</p>
<div><code>export ORACLE_HOSTNAME=************<br />
export ORACLE_UNQNAME=********<br />
export ORACLE_BASE=/opt/oracle<br />
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1<br />
export ORACLE_SID=********<br />
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH<br />
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64<br />
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:/opt/apache-tomcat-6.0.32/lib/catalina-ant.jar</code></div>
<div><code>export LD_LIBRARY_PATH=/usr/pgsql-9.0/lib:/opt/oracle/product/11.2.0/db_1/lib:/usr/local/lib64/perl5:/usr/local/lib:$LD_LIBRARY_PATH</code></div>
<p><code>PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$ORACLE_HOME/bin:/opt/apache2.2.17/bin:/usr/bin/perl:/usr/bin:/usr/sbin:/usr/local/sbin:/<br />
bin:/sbin:/opt/php-5.3.6/bin:$PATH<br />
I then set those using:<br />
<code>source /etc/profile</code></code></p>
<p><code> </code></p>
<p>&nbsp;</p>
<h2>STEP 4: Install rlwrap and test</h2>
<h3>Install rlwrap</h3>
<p>I love this <a href="http://utopia.knoware.nl/~hlub/uck/rlwrap/" target="_blank">little utility</a> from Hans Lub! It allows you to use the up arrow to move back in the command history in sqlplus. Download it and:<br />
<code>gunzip rlwrap*.gz<br />
tar -xvf rlwrap*.tar<br />
cd rlwra* (or hit tab to get the exact directory name)<br />
./configure<br />
make &amp;&amp; make install</code><br />
Note that I do not do a &#8220;make check&#8221;, but in several years of using this, it&#8217;s never failed me.<br />
Once you have it installed, update the .bash_profile of all users who will be using sqlplus. In my case, this means the oracle user as well as my own login. The following is added to .bash_profile (note that I also set the backspace character because I hate having to hit delete to back over something):<br />
<code>alias sqlplus='rlwrap sqlplus'<br />
alias rman='rlwrap rman'<br />
stty erase ^H</code><br />
Set the above alias&#8217; active:<br />
<code>source ~/.bash_profile</code></p>
<h3>test</h3>
<p>At this point, I look to see that the listener is up (<code>lsnrctl status</code>) and login to verify that I can connect and that rlwrap works as expected:<br />
<code>sqlplus system/*****@SID<br />
select user from dual;<br />
select sysdate from dual;</code><br />
I then use the up arrow to confirm that I can move back through the command history and see first the select select user from dual; command. I expect to see something like this:</p>
<div><code>SQL&gt; select user from dual;</code></div>
<p><code>USER<br />
------------------------------<br />
SYSTEM</code></p>
<p><code> </code></p>
<p><code>SQL&gt; select sysdate from dual;</code></p>
<p><code>SYSDATE<br />
---------<br />
29-APR-11</p>
<p>SQL&gt; select user from dual;<br />
At this point, it's back to business as usual!</p>
<p></code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/oracle/installing-oracle-11gr2-on-rhel6-in-4-long-steps/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Installing MySQL 5.5.11 On RHEL6 In 4 Steps</title>
		<link>http://billhamilton.com/wp/mysql/installing-mysql-5-5-11-on-rhel6-in-4-steps/</link>
		<comments>http://billhamilton.com/wp/mysql/installing-mysql-5-5-11-on-rhel6-in-4-steps/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 06:00:40 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[RHEL6]]></category>

		<guid isPermaLink="false">http://server.billhamilton.com:84/wp/?p=234</guid>
		<description><![CDATA[RHEL6 ships with MySQL 5.1.52, but I do database development and need to test against the latest version. To get to 5.5.11 on my new RHEL6 server, I took the following steps: STEP 1: Remove MySQL 5.1.52 I used the following commands to uninstall MySQL 5.1.52: yum erase mysql yum erase mysql-libs.x86_64 STEP 2: Download ...]]></description>
			<content:encoded><![CDATA[<p>RHEL6 ships with MySQL 5.1.52, but I do database development and need to test against the latest version. To get to 5.5.11 on my new RHEL6 server, I took the following steps:</p>
<h2>STEP 1: Remove MySQL 5.1.52</h2>
<p>I used the following commands to uninstall MySQL 5.1.52:<br />
<code>yum erase mysql<br />
yum erase mysql-libs.x86_64</code></p>
<h2>STEP 2: Download the RPM&#8217;s</h2>
<p>I went to <a href="http://www.mysql.com/downloads/mysql/#downloads" target="_blank">MySQL GA Downloads</a>, selected RedHat from the dropdown list, then downloaded the following x64 RedHat RPMs: Client Utilities, Development Libraries, MySQL Server, Shared Components and Compatibility Libraries.</p>
<h2>STEP3: Install the RPM&#8217;s</h2>
<p>I then installed the five RPM&#8217;s, using the following commands:<br />
<code>rpm -ivh MySQL-devel-5.5.11-1.linux2.6.x86_64.rpm<br />
rpm -ivh MySQL-shared-5.5.11-1.linux2.6.x86_64.rpm<br />
rpm -ivh MySQL-shared-compat-5.5.11-1.linux2.6.x86_64.rpm<br />
rpm -ivh MySQL-server-5.5.11-1.linux2.6.x86_64.rpm<br />
rpm -ivh MySQL-client-5.5.11-1.linux2.6.x86_64.rpm</code></p>
<h2>STEP 4: Start and update root password</h2>
<p>After installing the above RPM&#8217;s, I started MySQL with:<br />
<code>service mysql start</code><br />
and checked the version with:<br />
<code>mysql --version</code><br />
which returned:<br />
<code>mysql  Ver 14.14 Distrib 5.5.11, for Linux (x86_64) using readline 5.1</code><br />
I also checked to see what yum showed with:<br />
<code>yum list *mysql*</code><br />
which returned:<br />
<code>Loaded plugins: refresh-packagekit, rhnplugin<br />
Installed Packages</p>
<table border=0 cellpadding=2 cellspacing=2>
<tr>
<td>MySQL-client.x86_64</td>
<td>5.5.11-1.linux2.6</td>
<td>installed</td>
</tr>
<tr>
<td>MySQL-devel.x86_64</td>
<td>5.5.11-1.linux2.6</td>
<td>installed</td>
</tr>
<tr>
<td>MySQL-server.x86_64</td>
<td>5.5.11-1.linux2.6</td>
<td>installed</td>
</tr>
<tr>
<td>MySQL-shared.x86_64</td>
<td>5.5.11-1.linux2.6</td>
<td>installed</td>
</tr>
<tr>
<td>MySQL-shared-compat.x86_64</td>
<td>5.5.11-1.linux2.6</td>
<td>installed</td>
</tr>
<tr>
<td>compat-mysql55.x86_64</td>
<td>5.5.11-1.el6.remi</td>
<td>installed</td>
</tr>
</table>
<p></code><br />
I then updated the root password with:<br />
<code>mysqladmin -u root password '******'</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/mysql/installing-mysql-5-5-11-on-rhel6-in-4-steps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Resizing A RHEL6 Logical Volume In 4 Steps</title>
		<link>http://billhamilton.com/wp/rhel6/resizing-a-rhel6-logical-volume-in-4-steps/</link>
		<comments>http://billhamilton.com/wp/rhel6/resizing-a-rhel6-logical-volume-in-4-steps/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 23:59:54 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[RHEL6]]></category>

		<guid isPermaLink="false">http://server.billhamilton.com:84/wp/?p=218</guid>
		<description><![CDATA[I recently installed RHEL6 and while I selected the option to use all disk space at the time of installation, I did not customize the partitions. The system has two 1TB drives and after installation, the logical volume of the first drive was partitioned to (ignoring the small swap area): 857.5G for /home 50G for ...]]></description>
			<content:encoded><![CDATA[<p>I recently installed RHEL6 and while I selected the option to use all disk space at the time of installation, I did not customize the partitions. The system has two 1TB drives and after installation, the logical volume of the first drive was partitioned to (ignoring the small swap area):</p>
<ul>857.5G for /home<br />
50G for /root</ul>
<p>I use Oracle 11g, MySQL, PostgreSQL, Apache, Tomcat and a host of other applications. The databases I work with can consume 50G in a heartbeat, so resizing was called for. After some research online, I was able to put together the necessary steps to resize the logical volume. My goal was to come out with 807.5G for /root and 50G for /home. NOTE: My fall back position was to reinstall if anything went wrong with the resizing. You may wish to perform a backup of more than just your /home sub-directories or prepare for possible recovery in your chosen way (e.g. tarballs of important files). Increasing the /root logical volume was not destructive, but decreasing /home was. As always, this is what worked for me and while I would hope it can act as a guide for others, follow at your own risk.</p>
<h2>STEP 1: Prepare for the resizing</h2>
<h4>Clearing /home</h4>
<p>As I had already created some users, I had directories under /home. I moved these to my backup drive using: <code><strong>mv -r * /bkup</strong></code></p>
<h4>Unmounting /home</h4>
<p>With /home now empty, I unmounted it: <code><strong>umount /home</strong></code></p>
<h2>STEP 2: Resize /home</h2>
<h4>Checking the /home partition</h4>
<p>My logical volume is named redhatweb-lv. I used the following to first check the /home partition:<br />
<code><strong>e2fsck -f /dev/mapper/vg_redhatweb-lv_home</strong></code><br />
This returned:<br />
<code>[root@redhat-web /]# e2fsck -f /dev/mapper/vg_redhatweb-lv_home<br />
e2fsck 1.41.12 (17-May-2010)<br />
Pass 1: Checking inodes, blocks, and sizes<br />
Pass 2: Checking directory structure<br />
Pass 3: Checking directory connectivity<br />
Pass 4: Checking reference counts<br />
Pass 5: Checking group summary information<br />
/dev/mapper/vg_redhatweb-lv_home: 11/57098240 files (0.0% non-contiguous), 3634829/228381696 blocks</code></p>
<h4>Resizing the /home filesystem</h4>
<p>After everything checked out, I used the following to resize the /home partition to the much smaller 50G: <code><strong>resize2fs /dev/mapper/vg_redhatweb-lv_home 50G</strong></code><br />
This returned:<br />
<code>[root@redhat-web /]# resize2fs /dev/mapper/vg_redhatweb-lv_home 50G<br />
resize2fs 1.41.12 (17-May-2010)<br />
Resizing the filesystem on /dev/mapper/vg_redhatweb-lv_home to 13107200 (4k) blocks.<br />
The filesystem on /dev/mapper/vg_redhatweb-lv_home is now 13107200 blocks long.</code></p>
<h4>Reducing the /home logical volume</h4>
<p>The filesystem for /home was now 50G, but the logical volume was still 857.5G. To size the logical volume to the same size as the filesystem, I used:<br />
<code><strong>lvreduce -L 50G /dev/mapper/vg_redhatweb-lv_home</strong></code><br />
This returned (after answering &#8216;y&#8217; to the prompt below):<br />
<code>[root@redhat-web /]# lvreduce -L 50G /dev/mapper/vg_redhatweb-lv_home<br />
WARNING: Reducing active logical volume to 50.00 GiB<br />
THIS MAY DESTROY YOUR DATA (filesystem etc.)<br />
Do you really want to reduce lv_home? [y/n]: <strong>y</strong><br />
Reducing logical volume lv_home to 50.00 GiB<br />
Logical volume lv_home successfully resized</code></p>
<h2>STEP 3: Resize /root</h2>
<h4>Extending the /root logical volume</h4>
<p>With a 50G /home partition, I should have room for an 857.5G /root partition (857.5G to start less the 50G I finished with should give me 807.5G to add to the 50G /root partition). I first took 857.5G less the new size of 50G and tried to increase the /root partition to 857.5G (the original size of 50G + the 807.5G gained by shrinking /home). The effort was rewarded with an error that there was insufficient room, so I backed off to a nice round number of 850G.</p>
<p>I used the following to resize the /root logical volume:<br />
<code><strong>lvextend -L 856.7G /dev/mapper/vg_redhatweb-lv_root</strong></code><br />
This returned:<br />
<code>root@redhat-web /]# lvextend -L 856.7G /dev/mapper/vg_redhatweb-lv_root<br />
Rounding up size to full physical extent 856.70 GiB<br />
Extending logical volume lv_root to 856.70 GiB<br />
Logical volume lv_root successfully resized</code></p>
<h4>Resizing the /root file system</h4>
<p>As before, the filesystem also had to be resized, but in this case, by increasing it. I used the following:<br />
<strong><code>resize2fs /dev/mapper/vg_redhatweb-lv_root 850G</code></strong><br />
The above returned:<br />
<code>[root@redhat-web /]# resize2fs /dev/mapper/vg_redhatweb-lv_root 850G<br />
resize2fs 1.41.12 (17-May-2010)<br />
Filesystem at /dev/mapper/vg_redhatweb-lv_root is mounted on /; on-line resizing required<br />
old desc_blocks = 4, new_desc_blocks = 54<br />
Performing an on-line resize of /dev/mapper/vg_redhatweb-lv_root to 222822400 (4k) blocks.<br />
The filesystem on /dev/mapper/vg_redhatweb-lv_root is now 222822400 blocks long.</code></p>
<h2>STEP 4: Restore /home and test</h2>
<h4>Restoring /home directories</h4>
<p>After resizing, I copied back the user directories that I had backed up on my second drive:<br />
<strong><code>cd /bkup/home<br />
cp -r * /home<br />
</code></strong></p>
<h4>Testing</h4>
<p>At this point, I rebooted the system and checked to see if all services started. Some, as in Oracle, were dependent on a user directory under /home. After rebooting, my services were started and I was able to log into each of the databases I use. I have seen no ill effect from the above efforts and have well exceeded the 50G initially allocated to /root without additional problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/rhel6/resizing-a-rhel6-logical-volume-in-4-steps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Forgotten Password Attack On WordPress</title>
		<link>http://billhamilton.com/wp/wordpress/forgotten-password-attack-on-wordpress/</link>
		<comments>http://billhamilton.com/wp/wordpress/forgotten-password-attack-on-wordpress/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:39:25 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://billhamilton.com/wp/?p=140</guid>
		<description><![CDATA[The WordPress Firewall plugin notified me of a new attack on my WordPress site today; an attempt to inject a file named &#8220;fgiwfi.php&#8221; via a &#8220;password_forgotten.php&#8221; injection. This was quickly followed by another e-mail alerting me to an attack from the same IP using the same forged link on another of my pages, but this ...]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.seoegghead.com/software/wordpress-firewall.seo">WordPress Firewall</a> plugin notified me of a new attack on my WordPress site today; an attempt to inject a file named &#8220;fgiwfi.php&#8221; via a &#8220;password_forgotten.php&#8221; injection. This was quickly followed by another e-mail alerting me to an attack from the same IP using the same forged link on another of my pages, but this time with a file name of &#8220;yjiujc.php&#8221;. A <em>third</em> e-mail followed almost immediately from the same IP with a file named &#8220;yadydu.php&#8221;. I don&#8217;t know who this person is, but I&#8217;m <em>very thankful</em> for the WordPress Firewall plugin!</p>
<div class="wp-caption alignnone" style="width: 638px"><img alt="The WordPress Firewall plugin notification of an injection attack." src="/wp/wp-content/images/myImages/forgottenPasswordAttack.png" title="Notification of Injection Attack" width="628" height="232" />
<p class="wp-caption-text">The WordPress Firewall plugin notification of an injection attack.</p>
</div>
<h2>Recommended Actions</h2>
<p>I took the following actions after receiving the first e-mail:</p>
<ol>
<li>I immediately inserted the offending IP address into my list of banned IP&#8217;s using the <a href="http://lesterchan.net/portfolio/programming/php/#wp-ban">WP-Ban</a> plugin. I did this across all my sites.</li>
<li>I then scanned my entire file system on each site for the presence of the above three files. The WordPress Firewall plugin did its job: no copy of any of the above files was found.</li>
</ol>
<h2>At The End Of The Day&#8230;</h2>
<p>I <em>really hate</em> people who try to hack my sites. I&#8217;d love to see WordPress ship with WordPress Firewall and WP-Ban installed and activated at the time of installation with a listing of the known offensive sites. Yes, they can change their IP, which is why I use the combination of plugins, but I would love to make it so impossible for them to get to <em>any</em> WordPress site that they just give up and move elsewhere!</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/wordpress/forgotten-password-attack-on-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wanted: Enhanced Theme Preview Plugin</title>
		<link>http://billhamilton.com/wp/wordpress/wanted-enhanced-theme-preview-plugin/</link>
		<comments>http://billhamilton.com/wp/wordpress/wanted-enhanced-theme-preview-plugin/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 18:59:43 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://billhamilton.com/wp/?p=127</guid>
		<description><![CDATA[WordPress has a nice feature that allows you to preview your site in a different theme, but you must click on each individual theme to preview it. There are plugins and even the ?preview_theme= method available as well. But one feature I have not seen yet is the ability to scroll through the various themes ...]]></description>
			<content:encoded><![CDATA[<p>WordPress has a nice feature that allows you to preview your site in a different theme, but you must click on each individual theme to preview it. There are plugins and even the ?preview_theme= method available as well. But one feature I have not seen yet is the ability to scroll through the various themes present in the /wp-content/themes directory.</p>
<h2>Why Is This Important?</h2>
<p>For the individual blogger, this may not seem important, but to a developer it could be beneficial in several ways. You could focus on developing content without worrying about the presentation and allow the customer to scroll through the various themes available with their content at various stages of development. To make this smooth for the customer, you would want them to be relaxed and comfortable with a smooth presentation. What you do not want is a presentation full of stops and starts, trying to return to a particular theme later in your presentation by scrolling through pages, etc.</p>
<p>Companies may wish to use this feature to help rotate their themes seasonally. For example, they may wish to &#8220;go pink&#8221; in October in support of breast cancer research or refresh their corporate image annually. The ability to compare and contrast themes could help them determine how best to solidify their corporate identity. E-commerce sites could select different themes as different landing sites if serving different communities of interest.</p>
<p>This could also help theme developers gain exposure and sales by creating a new marketplace (see requirement 5 below).</p>
<h2>Suggested Requirements</h2>
<p>The following list of requirements are a starting point for discussion on what a new plugin could do to solve the problem of comparing the presentation of content between multiple themes:</p>
<ol>
<li>The plugin needs to provide the ability to scroll through all themes available in the /wp-content/themes directory of the current WordPress installation presenting the currently selected content in the currently selected theme.
<ul>
<li>The presentation will default to the home page the first time the user opens the plugin but follow the currently selected content after the user navigates within the theme (i.e. open to the same page when the user navigates to a new theme).</li>
<li>Next and Previous buttons would list the themes to which the user would be taken if they selected that option.</li>
</ul>
</li>
<li>The plugin needs to allow the user to compare themes side-by-side with the ability to scroll either side.
<ul>
<li>Next and Previous buttons would list the themes to which the user would be taken if they selected that option on that side of the comparison window (i.e. independent Next/Previous buttons for both sides).</li>
<li>A drop down list of available themes would allow the user to jump to a selected theme from either side (i.e. a drop down list on both sides of the compare window).
</ul>
</li>
<li>The plugin needs to present a page of thumbnails with the currently selected content in a thumbnail of each theme.
<ul>
<li>The plugin needs to allow the user to choose a theme from the thumbnails which will take the user to the scrolling themes in requirement 1 above.</li>
<li>The plugin needs to allow the user to choose two themes from the thumbnails which will take them to the compare window in requirement 2 above.
</ul>
</li>
<li>The plugin needs to allow the user to interact with the content (i.e. use the themes actions such as hyperlinks to drill down).
<ul>
<li>The plugin needs to remember where it is in the content when it moves from one theme to the next.</li>
<li>The plugin needs to allow the user to choose to navigate simultaneously in both themes when comparing side-by-side or navigate the themes independently of each other.</li>
</ul>
</li>
<li>The plugin needs to allow the user to choose to preview the content in a theme hosted by a third-party (e.g. a theme developer).
<ul>
<li>This requirement assumes that theme developers would be interested in providing an API to their theme (e.g. a publicly accessible url to either this plugin or a companion plugin operating on their site).
<li>
<li>This requirement assumes that the plugin at the theme developers site could accept an encrypted database name, user name and password from this plugin and connect back to the content for presentation.</li>
<li>This requirement assumes that the site hosting the plugin has a read-only user name and password for use by third-party hosted themes and that the port for their database will accept a connection from any host using that user name and password.
<ul>
<li>The plugin will provide the ability to generate encrypted user names and passwords for use in securing connections between the host and the third-party theme developer.
<li>
<li>The plugin will provide the ability to update the database to allow the connection from any host using the generated and encrypted user name and password.</li>
</ul>
</li>
</ul>
</li>
</ol>
<h2>At The End Of The Day&#8230;</h2>
<p>The above list of requirements is non-trivial, but I believe a lot of people could benefit from the features of such a plugin. If anyone decides to take on the challenge of creating a plugin that will accomplish the above, I am available for testing!</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/wordpress/wanted-enhanced-theme-preview-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMCE Advanced Editor And MarkItUp</title>
		<link>http://billhamilton.com/wp/wordpress/tinymce-advanced-editor-and-markitup/</link>
		<comments>http://billhamilton.com/wp/wordpress/tinymce-advanced-editor-and-markitup/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 01:33:03 +0000</pubDate>
		<dc:creator>Bill Hamilton</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://billhamilton.com/wp/?p=122</guid>
		<description><![CDATA[I love the TinyMCE Advanced Editor plugin for the WordPress Admin functions with posts and pages. So, I was dismayed when I lost its cool functionality recently. I went so far as to deactivate all my plugins, but I still could not get the toolbars to appear in the edit pages again. Today, I took ...]]></description>
			<content:encoded><![CDATA[<p>I love the <a href="http://www.laptoptips.ca/projects/tinymce-advanced/">TinyMCE Advanced Editor plugin</a> for the WordPress Admin functions with posts and pages. So, I was dismayed when I lost its cool functionality recently. I went so far as to deactivate all my plugins, but I still could not get the toolbars to appear in the edit pages again. Today, I took the time to track down the issue (which I did not find by Google searches).</p>
<p>I installed a fresh WordPress 2.8.5 and copied all my plugins to it. I then activated TinyMCE first and, yes, my toolbars were there! I then activated other plugins one-by-one until the toolbars no longer appeared. The last plugin I activated before losing the TinyMCE functionality was <a href="http://www.stefanoverna.com/projects/wp_markitup">WP-MarkItUp</a>. I had originally thought that WP-MarkItUp would allow visitors to style their comments a bit more by providing new features to the textarea in which comments are entered. What I didn&#8217;t realize at the time was that it also applies to the textarea of the post and page editors as well; there is no exemption for the admin area.</p>
<p>I deactivated WP-MarkItUp, but TinyMCE&#8217;s functionality did not return. I then deactivated and re-activated TinyMCE, but alas I still did not have it&#8217;s functionality back. I then looked into the PHP pages of WP-MarkItUp for a clue on what it was doing at the time it was activated. I found that it updates the user option for &#8220;rich_editing&#8221; to &#8216;false&#8217;. The user options are stored in the usermeta table (i.e. wp_usermeta if your table prefix is wp_), so I selected all columns for the row whose meta_key was &#8216;rich_editing&#8217; and user_id was mine (2 in my case). Sure enough, its value was &#8216;false&#8217;. </p>
<p><img src="/wp/wp-content/images/false.png" alt="After activating WP-MarkItUp, my user option for 'rich_editing' was set to 'false'." /></p>
<p>I updated the value to &#8216;true&#8217; and eureka! I have TinyMCE back.</p>
<p><img src="/wp/wp-content/images/true.png" alt="After resetting the 'rich_editing' value to 'true', I have TinyMCE back." /></p>
<h2>Who&#8217;s At Fault?</h2>
<p>I thought about what it took to chase this down and fix it. Was it the fault of WP-MarkItUp not resetting the value when it was deactivated? What about the fact that TinyMCE did not set the value to true when I deactivated, then reactivated it?</p>
<p>I can&#8217;t blame either plugin or developer. Once activated, WP-MarkItUp would have to persist the former state of rich_editing to know what to set it back to. But, how could it be certain that no other plugin had not manipulated it after it was activated? Setting it back could cause another plugin to fail just as not setting it back caused TinyMCE to fail. I&#8217;m not certain why TinyMCE did not change the value after re-activation, but if it didn&#8217;t need the value in the first place, then why did it not resume display when WP-MarkItUp was deactivated? That I can&#8217;t answer, but perhaps in the future it could check to see if &#8216;rich_editing&#8217; is &#8216;true&#8217; if it is necessary for the proper functioning of the plugin. For now, having the functionality of TinyMCE back is good enough for me, but as a bonus, I learned something new about how WordPress uses the user options! A two&#8217;fer!</p>
]]></content:encoded>
			<wfw:commentRss>http://billhamilton.com/wp/wordpress/tinymce-advanced-editor-and-markitup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: billhamilton.com @ 2012-05-20 04:47:56 -->
