<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4269723281975845210</id><updated>2012-01-19T18:23:04.743+08:00</updated><category term='resize'/><category term='clustering'/><category term='gpg'/><category term='FAQ'/><category term='syn'/><category term='dd'/><category term='nohup'/><category term='pvresize'/><category term='acl'/><category term='ping'/><category term='pf'/><category term='lvm'/><category term='listener'/><category term='upgrade'/><category term='halt'/><category term='pstree'/><category term='bios'/><category term='mmm'/><category term='awk'/><category term='lsof'/><category term='zabbix'/><category term='md5sum'/><category term='sparse'/><category term='psk'/><category term='syslog-ng'/><category term='email'/><category term='deflate'/><category term='mdadm'/><category term='freebsd'/><category term='traceroute'/><category term='pfile'/><category term='minicom'/><category term='ssmtp'/><category term='wget'/><category term='serial port'/><category term='sudosh'/><category term='mailsend'/><category term='racoon'/><category term='xfs'/><category term='virtio'/><category term='RHN'/><category term='ntfs'/><category term='citidirect'/><category term='cpio'/><category term='putty'/><category term='reset password'/><category term='amm'/><category term='impdp'/><category term='wireshark'/><category term='chroot'/><category term='dbua'/><category term='ntp'/><category term='squid'/><category term='ntfsclone'/><category term='secure delete'/><category term='kpartx'/><category term='NFS'/><category term='load balancing'/><category term='dns'/><category term='ssl certificate'/><category term='ddclient'/><category term='tmpfs'/><category term='shutdown'/><category term='mtu'/><category term='mp3'/><category term='network'/><category term='statistics'/><category term='sysman'/><category term='verisign'/><category term='MBR'/><category term='virtualization'/><category term='selinux'/><category term='mmm2'/><category term='rbsu'/><category term='tcpdump'/><category term='mime'/><category term='rsa'/><category term='reboot'/><category term='fuser'/><category term='import'/><category term='tomcat'/><category term='snapshot'/><category term='cd copy'/><category term='mrtg'/><category term='usermod'/><category term='uptime'/><category term='xauth'/><category term='mysqldump'/><category term='dataguard'/><category term='firewall'/><category term='pmtu'/><category term='kvm'/><category term='readonly'/><category term='ulimit'/><category term='screen'/><category term='getfacl'/><category term='netstat'/><category term='sftp'/><category term='mtr'/><category term='ramfs'/><category term='port forwarding'/><category term='X port forwarding'/><category term='core dump'/><category term='SAM'/><category term='ssh'/><category term='sqldeveloper'/><category term='pageant'/><category term='vnc'/><category term='openldap'/><category term='openssh'/><category term='tar'/><category term='pscp'/><category term='ack'/><category term='clone'/><category term='RIP'/><category term='audittrail'/><category term='wireless'/><category term='mss'/><category term='chntpw'/><category term='octopussy'/><category term='snare'/><category term='vpn'/><category term='wscale'/><category term='ftp'/><category term='gmail'/><category term='keystore'/><category term='kickstart'/><category term='gpart'/><category term='ddrescue'/><category term='addm'/><category term='rsync'/><category term='socks'/><category term='sqlplus'/><category term='shred'/><category term='63s'/><category term='ms sql'/><category term='db2'/><category term='awr'/><category term='terminal services'/><category term='cisco'/><category term='mutt'/><category term='base64'/><category term='opatch'/><category term='yum'/><category term='dbforbix'/><category term='RAC'/><category term='oracle installation'/><category term='cognos'/><category term='qmail'/><category term='raid'/><category term='cpu'/><category term='leputty'/><category term='performance tuning'/><category term='replicate'/><category term='virtualbox'/><category term='bonding'/><category term='centos'/><category term='openbsd'/><category term='mysql'/><category term='ttyS0'/><category term='tshark'/><category term='vmware'/><category term='socat'/><category term='lockwait'/><category term='openssl'/><category term='OEL'/><category term='emctl'/><category term='bash'/><category term='sendmail'/><category term='dyndns'/><category term='xhost'/><category term='oracle'/><category term='icmp'/><category term='movie'/><category term='proxytunnel'/><category term='timezone'/><category term='rwinsta'/><category term='initrd'/><category term='synonym'/><category term='rsyslog'/><category term='resize2fs'/><category term='mysql-proxy'/><category term='setsid'/><category term='proxyarp'/><category term='qwinsta'/><category term='ftp-proxy'/><category term='snmp'/><category term='tracetcp'/><category term='expdp'/><category term='msmtp'/><category term='hp'/><category term='erase'/><category term='keepalive'/><category term='em'/><category term='virt-manager'/><category term='ntop'/><category term='grub'/><category term='ipsec'/><category term='p5'/><category term='trace'/><category term='ntfs-3g'/><category term='phpldapadmin'/><category term='export'/><category term='db2advis'/><category term='rpm'/><category term='blat'/><category term='shrink'/><category term='console'/><category term='vlm'/><category term='delete'/><category term='ibm'/><category term='snmptrap'/><category term='swatch'/><category term='ntfsresize'/><category term='ilo'/><category term='vsp'/><category term='telnet'/><category term='tcptraceroute'/><category term='pt-table-checksum'/><category term='windows'/><category term='hugepage'/><category term='carp'/><category term='timestamp'/><category term='thunderbird'/><category term='asmi'/><category term='ossec'/><category term='clusterware'/><category term='zmodem'/><category term='gmirror'/><category term='linux'/><category term='apache'/><category term='spfile'/><category term='packet loss'/><category term='vi'/><category term='cygwin'/><category term='stty'/><category term='session cookie'/><category term='trigger'/><category term='bsd'/><category term='rhnreg_ks'/><category term='nagios'/><category term='static-route'/><category term='cable modem'/><category term='rdr'/><category term='keytool'/><category term='logshipping'/><category term='nat'/><category term='tcp'/><category term='chage'/><category term='sfdisk'/><category term='setfacl'/><category term='oradim'/><category term='alter session'/><category term='serial console'/><category term='rhn_register'/><category term='map drive'/><category term='lvextend'/><category term='tablespace'/><category term='psp'/><category term='ddl'/><category term='padsize'/><category term='iptables'/><category term='nc'/><category term='disown'/><category term='mercurial'/><category term='poweroff'/><category term='password'/><title type='text'>Linux system administrator and Oracle/DB2 DBA guide</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default?start-index=101&amp;max-results=100'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>176</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-1436847788269354185</id><published>2012-01-15T14:37:00.002+08:00</published><updated>2012-01-15T15:26:56.804+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zabbix'/><category scheme='http://www.blogger.com/atom/ns#' term='deflate'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>How to setup compression for high volume zabbix server</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&amp;nbsp; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 5 64bit, zabbix server with very large items.&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: make 'latest data' with group and host set to 'all' page loading faster.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. make sure deflate_module is enabled in apache configuration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;LoadModule deflate_module modules/mod_deflate.so&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. filtered by type &lt;/b&gt;&lt;br /&gt;for example:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;Location /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/css&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Note: you can use Lynx or similar to do a headers dump on the file and it will tell you want the mime type is, &lt;br /&gt;&lt;br /&gt;e.g.:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;$ lynx -head -dump http://www.example.com/js/jquery-1.2.6.min.js&lt;/i&gt;&lt;br /&gt;HTTP/1.1 200 OK&lt;br /&gt;Date: Wed, 25 Jun 2008 03:25:53 GMT&lt;br /&gt;Server: Apache/2.2.3 (CentOS)&lt;br /&gt;Last-Modified: Wed, 25 Jun 2008 03:24:47 GMT&lt;br /&gt;ETag: "38016-d9de-37f45dc0"&lt;br /&gt;Accept-Ranges: bytes&lt;br /&gt;Content-Length: 55774&lt;br /&gt;Connection: close&lt;br /&gt;Content-Type: application/x-javascript&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;Location /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/x-javascript&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/i&gt;&lt;br /&gt;--------------------&lt;br /&gt;&lt;b&gt;3. example settings&lt;/b&gt;&lt;br /&gt;&lt;i&gt;root@zabbixserver01:/var/log/httpd/ # more /etc/httpd/conf.d/deflate.conf &lt;br /&gt;&amp;lt;IfModule mod_deflate.c&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE text/plain&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE text/html&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE text/xml&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE text/css&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/xml&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/xhtml+xml&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/rss+xml&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/javascript&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddOutputFilterByType DEFLATE application/x-javascript&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeflateCompressionLevel 9&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BrowserMatch ^Mozilla/4 gzip-only-text/html&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BrowserMatch ^Mozilla/4\.0[678] no-gzip&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BrowserMatch \bMSIE !no-gzip !gzip-only-text/html&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Don't compress images&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetEnvIfNoCase Request_URI \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; \.(?:gif|jpe?g|png)$ no-gzip dont-vary&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Make sure proxies don't deliver the wrong content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Header append Vary User-Agent env=!dont-vary&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeflateFilterNote Input instream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeflateFilterNote Output outstream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeflateFilterNote Ratio ratio&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CustomLog logs/deflate_log deflate&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. References&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. Apache mod_deflate example:&lt;/i&gt;&lt;br /&gt;&lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html"&gt;http://httpd.apache.org/docs/2.0/mod/mod_deflate.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;b. &lt;a href="http://www.linuxjournal.com/article/6802?page=0,1"&gt;http://www.linuxjournal.com/article/6802?page=0,1&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c. use php zlib compress by modifying php.ini&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;PHP with the --with-zlib configure option and then reconfiguring the php.ini file.&lt;br /&gt;&lt;br /&gt;Below is what the output buffer method looks like:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;output_buffering = On&lt;br /&gt;output_handler = ob_gzhandler&lt;br /&gt;zlib.output_compression = Off&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The ZLIB method uses:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;output_buffering = Off&lt;br /&gt;output_handler =&lt;br /&gt;zlib.output_compression = On&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-1436847788269354185?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/1436847788269354185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=1436847788269354185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1436847788269354185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1436847788269354185'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2012/01/how-to-setup-compression-for-high.html' title='How to setup compression for high volume zabbix server'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5362299262959121660</id><published>2012-01-13T11:54:00.002+08:00</published><updated>2012-01-13T12:15:53.630+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dbforbix'/><category scheme='http://www.blogger.com/atom/ns#' term='zabbix'/><title type='text'>How dbbix works with Zabbix</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt; &lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Environment&lt;/b&gt;: dbforbix running on separated CentOS 5 box, Zabbix server or zabbix proxy is on another server&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: use separated server running dbbix to serve database performance check and show graph on zabbix web gui&lt;br /&gt;&lt;b&gt;Concept:&lt;/b&gt;&lt;br /&gt;dbforbix collects data from separated server, then send it to zabbix server(destination server was configured without proxy) or zabbix proxy(server was configured with proxy)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;1. on dbforbix, configure it as follows:&lt;br /&gt;&lt;br /&gt;ZabbixServerList=zabbixserver01,zabbixproxy01&lt;br /&gt;zabbixserver01.Address=172.16.4.1&lt;br /&gt;zabbixserver01.Port=10051&lt;br /&gt;&lt;br /&gt;zabbixproxy01.Address=172.16.4.2&lt;br /&gt;zabbixproxy01.Port=10051&lt;br /&gt;&lt;br /&gt;DatabaseList=db01,db02&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;db01.Url=jdbc:mysql://db01:3306/mysqldb01.User=zabbix&lt;br /&gt;db01.Password=zabbix&lt;br /&gt;db01.DatabaseType=mysql&lt;br /&gt;db01.QueryListFile=./conf/mysql/mysqlquery.props&lt;br /&gt;&lt;br /&gt;oradb-01.Url=jdbc:oracle:thin:@oradb-01-vip:1521:LIVEDB1&lt;br /&gt;oradb-01.User=zabbix&lt;br /&gt;oradb-01.Password=zabbix&lt;br /&gt;oradb-01.QueryListFile=./conf/oracle/query.props&lt;br /&gt;&lt;br /&gt;dbent.Url=jdbc:jtds:sqlserver://172.16.7.2:1987/master&lt;br /&gt;dbent.User=zabbix&lt;br /&gt;dbent.Password=zabbix&lt;br /&gt;dbent.DatabaseType=mssql&lt;br /&gt;dbent.QueryListFile=./conf/mssql/mssqlquery.props&lt;br /&gt;&lt;br /&gt;host1.Url=jdbc:postgresql://host1:5432/databasename&lt;br /&gt;host1.User=zabbix&lt;br /&gt;host1.Password=zabbix&lt;br /&gt;host1.DatabaseType=pgsql&lt;br /&gt;host1.QueryListFile=./conf/pgsql/pgsqlquery.props&lt;br /&gt;&lt;br /&gt;.....&lt;br /&gt;&lt;br /&gt;2. debug if the gui is not updating data&lt;br /&gt;&lt;br /&gt;make sure dbforbix server can telnet zabbix server or proxy at port 10051, if not, make sure proxy or server is not running iptables.&lt;br /&gt;otherwise, you will get !X (man traceroute, it's administratively prohibitted indication))&lt;br /&gt;use traceroute or tcptraceroute to troubleshoot.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5362299262959121660?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5362299262959121660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5362299262959121660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5362299262959121660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5362299262959121660'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2012/01/how-dbbix-works-with-zabbix.html' title='How dbbix works with Zabbix'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6874806559382030306</id><published>2012-01-10T10:24:00.001+08:00</published><updated>2012-01-10T10:26:47.137+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kickstart'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><category scheme='http://www.blogger.com/atom/ns#' term='bonding'/><title type='text'>How to use kickstart to install CentOS 6.1 on non-DHCP network</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;a href="http://linuxrechres.blogspot.com/"&gt;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: HP BladeSystem Proliant BL460c G6(ip: 192.168.0.0/24, DHCP/tftp/kickstart/PXE/HTTP server is on different network: 192.168.1.0/24)&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: install CentOS 6.1 into bare-metal blades from &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Difficulties&lt;/b&gt;: We are not able to boot from PXE as it's in different network.&lt;br /&gt;&lt;b&gt;Concepts:&lt;/b&gt;&lt;br /&gt;We can use CentOS netinstall ISO CD to boot up blades and specify dhcp/tftp/http server as installation source and use kickstart to install it automatically.&lt;br /&gt;&lt;br /&gt;We can further modify CentOS netinstall iso CD to add kickstart location to make it automatically installed through kickstart &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;br /&gt;1. make customized netinstall CentOS 6.1 CD&lt;/b&gt;&lt;br /&gt;download iso from &lt;a href="http://mirror.optus.net/centos/6.1/isos/x86_64/CentOS-6.1-x86_64-netinstall.iso"&gt;http://mirror.optus.net/centos/6.1/isos/x86_64/CentOS-6.1-x86_64-netinstall.iso&lt;/a&gt; and put it /root&lt;br /&gt;&lt;br /&gt;cd /root; mkdir c&lt;br /&gt;mount CentOS-6.1-x86_64-netinstall.iso c -o loop&lt;br /&gt;cp -va c c.1&lt;br /&gt;cd c.1&lt;br /&gt;rm -fr images&lt;br /&gt;cd isolinux&lt;br /&gt;vi isolinux.cfg&lt;br /&gt;-------------&lt;br /&gt;default linux&lt;br /&gt;prompt 0&lt;br /&gt;timeout 1&lt;br /&gt;&lt;br /&gt;display boot.msg&lt;br /&gt;&lt;br /&gt;menu background splash.jpg&lt;br /&gt;menu title Welcome to CentOS 6.2!&lt;br /&gt;menu color border 0 #ffffffff #00000000&lt;br /&gt;menu color sel 7 #ffffffff #ff000000&lt;br /&gt;menu color title 0 #ffffffff #00000000&lt;br /&gt;menu color tabmsg 0 #ffffffff #00000000&lt;br /&gt;menu color unsel 0 #ffffffff #00000000&lt;br /&gt;menu color hotsel 0 #ff000000 #ffffffff&lt;br /&gt;menu color hotkey 7 #ffffffff #ff000000&lt;br /&gt;menu color scrollbar 0 #ffffffff #00000000&lt;br /&gt;&lt;br /&gt;label linux&lt;br /&gt;&amp;nbsp; menu label ^Install or upgrade an existing system&lt;br /&gt;&amp;nbsp; menu default&lt;br /&gt;&amp;nbsp; kernel vmlinuz&lt;br /&gt;&amp;nbsp; append initrd=initrd.img ks=http://jephe.server/ks_centos_6_x86_64 text ksdevice=eth0 gateway=192.168.0.254 ip=192.168.0.1 dns=192.168.1.1 netmask=255.255.255.0 --onboot=on&lt;br /&gt;label vesa&lt;br /&gt;&amp;nbsp; menu label Install system with ^basic video driver&lt;br /&gt;&amp;nbsp; kernel vmlinuz&lt;br /&gt;&amp;nbsp; append initrd=initrd.img xdriver=vesa nomodeset&lt;br /&gt;label rescue&lt;br /&gt;&amp;nbsp; menu label ^Rescue installed system&lt;br /&gt;&amp;nbsp; kernel vmlinuz&lt;br /&gt;&amp;nbsp; append initrd=initrd.img rescue&lt;br /&gt;label local&lt;br /&gt;&amp;nbsp; menu label Boot from ^local drive&lt;br /&gt;&amp;nbsp; localboot 0xffff&lt;br /&gt;label memtest86&lt;br /&gt;&amp;nbsp; menu label ^Memory test&lt;br /&gt;&amp;nbsp; kernel memtest&lt;br /&gt;&amp;nbsp; append -&lt;br /&gt;-------------------&lt;br /&gt;cat &amp;gt; /root/c.1/mkiso.sh &amp;lt;&amp;lt; END&lt;br /&gt;mkisofs -o ../CentOS-6.1_x86_64-Kickstart-192.168.0.1.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T .&lt;br /&gt;END&lt;br /&gt;-------------------&lt;br /&gt;then, cd /root/c.1, run&lt;br /&gt;./mkiso.sh &lt;br /&gt;it will create the iso file under /root&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. prepare kickstart file http://jephe.server/ks_centos_6_x86_64&lt;/b&gt;&lt;br /&gt;Here is the KS file I used:&lt;br /&gt;-------------&lt;br /&gt;install&lt;br /&gt;url --url=http://jephe.server/packages/centos_6_x86_64&lt;br /&gt;text&lt;br /&gt;lang en_US&lt;br /&gt;keyboard us&lt;br /&gt;rootpw password&lt;br /&gt;firewall --disabled&lt;br /&gt;services --disabled=NetworkManager,abrtd,acpid,certmonger,cgconfig,cgred,corosync,cpuspeed,cups,dovecot,ip6tables,iptables,kdump,modclusterd,multipathd,mysql-mmm-agent,mysql-proxy,netconsole,nfs,nscd,nslcd,ntpdate,oddjobd,psacct,quota_nld,rdisc,restorecond,rpcbind,rpcgssd,rpcidmapd,rpcsvcgssd,saslauthd,smartd,snmptrapd,spamassassin,sssd,vncserver,ypbind&lt;br /&gt;firstboot --disable&lt;br /&gt;selinux --disabled&lt;br /&gt;authconfig --enableshadow --passalgo=sha512 --enablefingerprint&lt;br /&gt;timezone Australia/Sydney&lt;br /&gt;bootloader --location=mbr --driveorder=sda --append="rhgb crashkernel=auto rhgb quiet"&lt;br /&gt;zerombr yes&lt;br /&gt;clearpart --all --initlabel&lt;br /&gt;part /boot --fstype=ext3 --size=256&lt;br /&gt;part swap --asprimary --size=8192&lt;br /&gt;part / --fstype=ext4 --grow --asprimary --size=200&lt;br /&gt;%packages --ignoremissing&lt;br /&gt;@base&lt;br /&gt;@client-mgmt-tools&lt;br /&gt;@compat-libraries&lt;br /&gt;@console-internet&lt;br /&gt;@core&lt;br /&gt;@debugging&lt;br /&gt;@directory-client&lt;br /&gt;@mail-server&lt;br /&gt;@hardware-monitoring&lt;br /&gt;@java-platform&lt;br /&gt;@large-systems&lt;br /&gt;@mysql-client&lt;br /&gt;@mysql&lt;br /&gt;@network-file-system-client&lt;br /&gt;@performance&lt;br /&gt;@perl-runtime&lt;br /&gt;@server-platform&lt;br /&gt;@server-policy&lt;br /&gt;@storage-client-multipath&lt;br /&gt;@system-admin-tools&lt;br /&gt;pax&lt;br /&gt;oddjob&lt;br /&gt;sgpio&lt;br /&gt;certmonger&lt;br /&gt;pam_krb5&lt;br /&gt;krb5-workstation&lt;br /&gt;nscd&lt;br /&gt;pam_ldap&lt;br /&gt;nss-pam-ldapd&lt;br /&gt;perl-DBD-MySQL&lt;br /&gt;perl-DBD-SQLite&lt;br /&gt;screen&lt;br /&gt;vlock&lt;br /&gt;lsscsi&lt;br /&gt;sendmail&lt;br /&gt;sendmail-cf&lt;br /&gt;lrzsz&lt;br /&gt;dos2unix&lt;br /&gt;unix2dos&lt;br /&gt;tigervnc&lt;br /&gt;&lt;br /&gt;%pre --log=/tmp/pre.log&lt;br /&gt;ETH=eth0&lt;br /&gt;IP=`ifconfig $ETH | grep "inet " | cut -d : -f 2 | cut -d " " -f 1`&lt;br /&gt;MAC=`ifconfig $ETH | grep HWaddr | awk -F "HWaddr " '{print $2}'`&lt;br /&gt;if [ $MAC == "00:00:B3:B0:44:00" ];then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME=db01.domain&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SHORTNAME=db01&lt;br /&gt;fi&lt;br /&gt;if [ $MAC == "00:00:B3:B0:43:18" ];then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME=db02.domain&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SHORTNAME=db02&lt;br /&gt;fi&lt;br /&gt;echo "NETWORKING=yes" &amp;gt; /tmp/network.txt&lt;br /&gt;echo "HOSTNAME=${NAME}" &amp;gt;&amp;gt; /tmp/network.txt&lt;br /&gt;&lt;br /&gt;cat &amp;gt; /tmp/hosts.txt &amp;lt;&amp;lt;'EOF'&lt;br /&gt;127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost.localdomain localhost&lt;br /&gt;::1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost6.localdomain6 localhost6&lt;br /&gt;EOF&lt;br /&gt;echo "$IP $NAME $SHORTNAME" &amp;gt;&amp;gt; /tmp/hosts.txt&lt;br /&gt;&lt;br /&gt;%post --nochroot --log=/tmp/post.log&lt;br /&gt;cp /tmp/network.txt /mnt/sysimage/etc/sysconfig/network&lt;br /&gt;. /mnt/sysimage/etc/sysconfig/network&lt;br /&gt;/mnt/sysimage/bin/hostname $HOSTNAME&lt;br /&gt;cp /tmp/hosts.txt&amp;nbsp; /mnt/sysimage/etc/hosts&lt;br /&gt;/usr/bin/cp /tmp/pre.log /mnt/sysimage/root/pre.log&lt;br /&gt;/usr/bin/cp /tmp/post.log /mnt/sysimage/root/post.log&lt;br /&gt;&lt;br /&gt;# if you use rollout for server configuration deployment. ( search 'rollout google' in google)&lt;br /&gt;echo "Kickstarted `/usr/bin/date`" &amp;gt; /mnt/sysimage/root/kickstart_report&lt;br /&gt;wget -O /mnt/sysimage/usr/local/sbin/rollout http://server.domain/rollout &lt;br /&gt;sed -i -e 's#http://server.domain#http://rollout.domain#' /mnt/sysimage/usr/local/sbin/rollout&lt;br /&gt;chmod +x /mnt/sysimage/usr/local/sbin/rollout&lt;br /&gt;&lt;br /&gt;echo "Kickstart complete" &amp;gt;&amp;gt; /mnt/sysimage/root/kickstart_report&lt;br /&gt;-------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. use HP ILO to boot from above-made CentOS netinstall ISO CD.&lt;/b&gt;&lt;br /&gt;it will use kernel and initrd files from customized netinstall iso CD to boot up machine, and install packages from approved specified kickstart file &lt;br /&gt;http://jephe.server/packages/centos_6_x86_64&lt;br /&gt;&lt;br /&gt;For configuration files under pxelinux.cfg directory, you can use something like this:&lt;br /&gt;&lt;i&gt;append initrd=centos_6_x86_64/initrd.img ramdisk_size=8192 ks=http://kickstart.jephe/ks_centos_6_x86_64 ip=dhcp ksdevice=eth0 &lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. configuring bonding device&lt;/b&gt;&lt;br /&gt;[root@db01 network-scripts]# more /etc/modprobe.d/bonding.conf &lt;br /&gt;alias eth0 e1000e&lt;br /&gt;alias eth1 e1000e&lt;br /&gt;alias eth2 e1000e&lt;br /&gt;alias eth3 e1000e&lt;br /&gt;#alias eth4 bnx2x&lt;br /&gt;#alias eth5 bnx2x&lt;br /&gt;alias scsi_hostadapter lpfc&lt;br /&gt;alias bond0 bonding&lt;br /&gt;&lt;br /&gt;ifcfg-bond0&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=bond0&lt;br /&gt;GATEWAY=192.168.0.254&lt;br /&gt;IPADDR=192.168.0.1&lt;br /&gt;IPV6INIT=no&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;ONBOOT=yes&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;USERCTL=no&lt;br /&gt;BONDING_OPTS="mode=1 miimon=100"&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth0&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth0&lt;br /&gt;IPV6INIT=no&lt;br /&gt;MASTER=bond0&lt;br /&gt;MTU=1500&lt;br /&gt;ONBOOT=no&lt;br /&gt;PEERDNS=yes&lt;br /&gt;SLAVE=yes&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth1&lt;br /&gt;::::::::::::::&lt;br /&gt;# Intel Corporation 82571EB Quad Port Gigabit Mezzanine Adapter&lt;br /&gt;DEVICE=eth1&lt;br /&gt;HWADDR=00:00:00:B0:44:01&lt;br /&gt;ONBOOT=no&lt;br /&gt;HOTPLUG=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth2&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth2&lt;br /&gt;IPV6INIT=no&lt;br /&gt;MASTER=bond0&lt;br /&gt;MTU=1500&lt;br /&gt;ONBOOT=no&lt;br /&gt;PEERDNS=yes&lt;br /&gt;SLAVE=yes&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth3&lt;br /&gt;::::::::::::::&lt;br /&gt;# Intel Corporation 82571EB Quad Port Gigabit Mezzanine Adapter&lt;br /&gt;DEVICE=eth3&lt;br /&gt;HWADDR=00:00:00:B0:44:03&lt;br /&gt;ONBOOT=no&lt;br /&gt;HOTPLUG=no&lt;br /&gt;::::::::::::::&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth4&lt;br /&gt;::::::::::::::&lt;br /&gt;# Broadcom Corporation NetXtreme II BCM57711E 10-Gigabit PCIe&lt;br /&gt;DEVICE=eth4&lt;br /&gt;HWADDR=F4:CE:46:7E:00:00&lt;br /&gt;ONBOOT=no&lt;br /&gt;HOTPLUG=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth5&lt;br /&gt;::::::::::::::&lt;br /&gt;# Broadcom Corporation NetXtreme II BCM57711E 10-Gigabit PCIe&lt;br /&gt;DEVICE=eth5&lt;br /&gt;HWADDR=F4:CE:46:7E:00:01&lt;br /&gt;ONBOOT=no&lt;br /&gt;HOTPLUG=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-lo&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=lo&lt;br /&gt;IPADDR=127.0.0.1&lt;br /&gt;NETMASK=255.0.0.0&lt;br /&gt;NETWORK=127.0.0.0&lt;br /&gt;# If you're having problems with gated making 127.0.0.0/8 a martian,&lt;br /&gt;# you can change this to something else (255.255.255.255, for example)&lt;br /&gt;BROADCAST=127.255.255.255&lt;br /&gt;ONBOOT=yes&lt;br /&gt;NAME=loopback&lt;br /&gt;&lt;br /&gt;Note: prior to CentOS 6, you may add bonding options as follows in /etc/modprobe.d/bonding.conf:&lt;br /&gt;options bonding mode=1 miimon=100&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6874806559382030306?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6874806559382030306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6874806559382030306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6874806559382030306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6874806559382030306'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2012/01/how-to-use-kickstart-to-install-centos.html' title='How to use kickstart to install CentOS 6.1 on non-DHCP network'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3470392517033889548</id><published>2012-01-10T10:20:00.003+08:00</published><updated>2012-01-12T09:31:43.899+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mmm'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>How to setup MMM control under CentOS 6.1</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOs 6.1, MMM 2.2.1, MySQL 5.1.52&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: setup MMM among the databases to gain HA and load balance for read access&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. install required packages for mmm agent on database servers&lt;/b&gt;&lt;br /&gt;yum -y install perl-Config-IniFiles&lt;br /&gt;yum -y install mysql-mmm mysql-mmm-agent mysql-mmm-tools mysql-proxy&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. install required packages for mmm monitor on monitoring host&lt;/b&gt;&lt;br /&gt;yum -y install mysql-mmm-monitor&lt;br /&gt;&lt;br /&gt;chkconfig mysql-mmm-agent on&lt;br /&gt;chkconfig mysql-mmm-monitor on&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. preparing ips for databases&lt;/b&gt;&lt;br /&gt;db1: 172.17.7.1 master &lt;br /&gt;db2: 172.17.7.2 master&lt;br /&gt;db3: 172.17.7.3 slave&lt;br /&gt;&lt;br /&gt;master exclusive ip: 172.17.7.4&lt;br /&gt;slave balanced ip addresses: 172.17.7.5, 172.17.7.6, 172.17.7.7&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. setup /etc/mysql-mmm/mmm_agent.conf to change 'this' line to db1/db2 or db3&lt;/b&gt;&lt;br /&gt;&lt;b&gt;5. setup /etc/mysql-mmm/mmm_common.conf for all monitor and agents&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# more /etc/mysql-mmm/mmm_common.conf&lt;br /&gt;active_master_role&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer&lt;br /&gt;&lt;br /&gt;&amp;lt;host default&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cluster_interface&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bond0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pid_path&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /var/run/mysql-mmm/mmm_agentd.pid&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bin_path&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/libexec/mysql-mmm/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; replication_user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; replication&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; replication_password&amp;nbsp;&amp;nbsp;&amp;nbsp; replication_password&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; agent_user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mmm_agent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; agent_password&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; agent_password&lt;br /&gt;&amp;lt;/host&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;host db1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.17.7.1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; master&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; peer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db2&lt;br /&gt;&amp;lt;/host&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;host db2&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.17.7.2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; master&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; peer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db1&lt;br /&gt;&amp;lt;/host&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;host db3&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.17.7.3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; slave&lt;br /&gt;&amp;lt;/host&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;role writer&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hosts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db1, db2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ips&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.17.7.4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclusive&lt;br /&gt;&amp;lt;/role&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;role reader&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hosts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db1, db2, db3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ips&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.17.7.5, 172.17.7.6, 172.17.7.7&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; balanced&lt;br /&gt;&amp;lt;/role&amp;gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. start up agents on database servers first&lt;/b&gt;&lt;br /&gt;on db1,db2 then db3, to start up mmm agent: /etc/init.d/mysql-mmm-agent start&lt;br /&gt;&lt;b&gt;&lt;br /&gt;7. start up monitor process on monitoring host&lt;/b&gt;&lt;br /&gt;on mon01, to start up: /etc/init.d/mysql-mmm-monitor start&lt;br /&gt;&lt;b&gt;&lt;br /&gt;8. bring up them online from mon01&lt;/b&gt;&lt;br /&gt;mon01# mmm_control set_online db1&lt;br /&gt;mon01# mmm_control set_online db2&lt;br /&gt;mon01# mmm_control set_online db3&lt;br /&gt;&lt;br /&gt;root@mon01:/etc/mysql-proxy/ # mmm_control show&lt;br /&gt;&amp;nbsp; db1(172.17.7.1) slave/REPLICATION_DELAY. Roles: &lt;br /&gt;&amp;nbsp; db2(172.17.7.2) master/ONLINE. Roles: reader(172.17.7.5), reader(172.17.7.6)&lt;br /&gt;&amp;nbsp; db3(172.17.7.3) master/ONLINE. Roles: reader(172.17.7.7), writer(172.17.7.4)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9. FAQ&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a. &amp;nbsp; read_only (on/off) from show variables comand in mysql&lt;/b&gt;&lt;br /&gt;&lt;i&gt;if db2 and db3 are writer, when writer role goes to db3, mmm will set read_only flag for db2 to prevent any writing process, but only for normal user, not root. &lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3470392517033889548?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3470392517033889548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3470392517033889548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3470392517033889548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3470392517033889548'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2012/01/how-to-setup-mmm-control-under-centos.html' title='How to setup MMM control under CentOS 6.1'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5896393780223502575</id><published>2011-12-30T11:30:00.000+08:00</published><updated>2011-12-30T11:30:48.258+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clusterware'/><category scheme='http://www.blogger.com/atom/ns#' term='RAC'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Preparing Oracle RAC system</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: openfiler as iscsi server, node1 and node2 are OL5.7, all of them are running under VirtualBox VM, Oracle 10gR2 10.2.0.1 clusterware&lt;br /&gt;&lt;b&gt;IP address assignment&lt;/b&gt;: &lt;br /&gt;&lt;i&gt;&lt;b&gt;node1&lt;/b&gt;&lt;/i&gt;: eth0(public): 192.168.1.100, eth1(priv):172.16.1.100, vip:(going to be eth0:0) 192.168.1.102&lt;br /&gt;&lt;i&gt;&lt;b&gt;node2&lt;/b&gt;&lt;/i&gt;: eth0(public): 192.168.1.101, eth1(priv):172.16.1.101, vip:(going to be eth0:0) 192.168.1.103&lt;br /&gt;&lt;b&gt;&lt;i&gt;openfiler&lt;/i&gt;&lt;/b&gt;: 172.16.1.200 web login: &lt;a href="https://172.16.1.200/"&gt;https://172.16.1.200&lt;/a&gt; (login as : openfiler/password)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Part I: OS installation&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;a. oracle user and groups&lt;/b&gt;&lt;br /&gt;&lt;i&gt;# groupadd oinstall&lt;br /&gt;# groupadd dba&lt;br /&gt;# groupadd oper&lt;br /&gt;# useradd -u 200 -g oinstall -G dba[,oper] oracle&lt;/i&gt;&lt;br /&gt;note: make sure all cluseter nodes has the same user and group id, otherwise ,it will fail to install clusterware.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;b. verify nobody user exists&lt;/b&gt;&lt;br /&gt;&lt;i&gt;# id nobody&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;c. configure ssh on all nodes&lt;/b&gt;&lt;br /&gt;make sure you can ssh into all nodes, public names and priv interconnect names&lt;br /&gt;&lt;br /&gt;&lt;b&gt;d. check hardware requirements&lt;/b&gt;&lt;br /&gt;memory size&lt;br /&gt;swap size&lt;br /&gt;&lt;br /&gt;&lt;b&gt;e. NFS &lt;/b&gt;(&lt;a href="http://download.oracle.com/docs/cd/B19306_01/install.102/b14203/prelinux.htm"&gt;http://download.oracle.com/docs/cd/B19306_01/install.102/b14203/prelinux.htm&lt;/a&gt;)&lt;br /&gt;If you are using NFS for your shared storage, then you must set the values for the NFS buffer size parameters &lt;br /&gt;&lt;br /&gt;rsize and wsize to at least 16384. Oracle recommends that you use the value 32768.&lt;br /&gt;&lt;br /&gt;For example, if you decide to use rsize and wsize buffer settings with the value 16384, then update the /etc/fstab &lt;br /&gt;&lt;br /&gt;file on each node with an entry similar to the following:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;clusternode:/vol/DATA/oradata&amp;nbsp; /home/oracle/netapp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;rw,bg,vers=3,tcp,hard,nointr,timeo=600,rsize=32768,wsize=32768,actimeo=0&amp;nbsp; 1 2&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;f. NTP for both nodes&lt;/b&gt;&lt;br /&gt;&lt;b&gt;g. /etc/hosts and dns&lt;/b&gt;&lt;br /&gt;For each node, register one virtual host name and IP address in DNS.&lt;br /&gt;For each private interface on every node, add a line similar to the following to the /etc/hosts file on all nodes, &lt;br /&gt;&lt;br /&gt;specifying the private IP address and associated private host name:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;h. /etc/sysctl.conf&lt;/b&gt;&lt;br /&gt;kernel.shmall = 2097152&lt;br /&gt;&lt;br /&gt;kernel.shmmax = 2147483648&lt;br /&gt;&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;&lt;br /&gt;kernel.sem = 250 32000 100 128&lt;br /&gt;&lt;br /&gt;fs.file-max = 65536&lt;br /&gt;&lt;br /&gt;net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;&lt;br /&gt;net.core.rmem_default = 262144&lt;br /&gt;&lt;br /&gt;net.core.rmem_max = 1048576&lt;br /&gt;&lt;br /&gt;net.core.wmem_default = 262144&lt;br /&gt;&lt;br /&gt;net.core.wmem_max = 1048576&lt;br /&gt;&lt;br /&gt;run sysctl -p&lt;br /&gt;&lt;b&gt;&lt;br /&gt;i. Add the following lines to the /etc/security/limits.conf file:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp; 2047&lt;br /&gt;&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp; 16384&lt;br /&gt;&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp; 1024&lt;br /&gt;&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp; 65536&lt;br /&gt;&lt;b&gt;&lt;br /&gt;j. Add or edit the following line in the /etc/pam.d/login file, if it does not already exist: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;session&amp;nbsp;&amp;nbsp;&amp;nbsp; required&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/security/pam_limits.so&lt;/i&gt;&lt;br /&gt;note: should not add above, according to redhat KB, otherwise you cannot login from console&lt;br /&gt;&lt;i&gt;&lt;b&gt;Why the system text console cannot be login? - Article ID: 52661&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;the following should be added to /etc/profile:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;if [ $USER = "oracle" ]; then&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $SHELL = "/bin/ksh" ]; then&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit -p 16384&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit -n 65536&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit -u 16384 -n 65536&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;fi&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;k. identify oracle base&amp;nbsp; and home directories&lt;/b&gt;&lt;br /&gt;more /etc/oraInst.loc&amp;nbsp; - Inventory directory&lt;br /&gt;more /etc/oratab - Oracle home directory&lt;br /&gt;&lt;br /&gt;&lt;b&gt;l. create oracle base and clusterware home directory&lt;/b&gt;&lt;br /&gt;&lt;i&gt;mkdir -p /u01/app/oracle/&lt;br /&gt;chown -R oracle:oinstall /u01/app/oracle&lt;br /&gt;chmod -R 775 /u01/app/oracle&amp;nbsp;&lt;/i&gt; (/u01 is the mount point)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;mkdir -p /u01/crs/oracle/product/10/crs&lt;br /&gt;chown root:oinstall /u01/crs/&lt;br /&gt;chmod -R 775 /u01/crs/oracle&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;if mount point is /u01/, then the recommended Oracle clusterware home directory is &lt;br /&gt;&lt;b&gt;&lt;i&gt;/u01/crs/oracle/product/10.2.1/crs&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;m. Verifying Hangcheck-timer Module on Kernel 2.6&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For Red Hat Linux 4.0 and SUSE 9 systems, to verify that the hangcheck-timer module is running on every node:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enter the following command on each node to determine which kernel modules are loaded:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # /sbin/lsmod&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If the hangcheck-timer module is not listed for any node, then enter a command similar to the following to &lt;br /&gt;&lt;br /&gt;start the module located in the directories of the current kernel version:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # insmod /lib/modules/kernel_version/kernel/drivers/char/hangcheck-timer.ko&amp;nbsp; hangcheck_tick=1 &lt;br /&gt;&lt;br /&gt;hangcheck_margin=10&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In the preceding command example, the variable kernel_version is the kernel version running on your system.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; To confirm that the hangcheck module is loaded, enter the following command:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # lsmod | grep hang&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The output should be similar to the following:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hangcheck_timer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3289&amp;nbsp; 0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; To ensure that the module is loaded every time the system restarts, verify that the local system startup file &lt;br /&gt;&lt;br /&gt;contains the command shown in the previous step, or add it if necessary:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Red Hat:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Red Hat Enterprise Linux systems, add the command to the /etc/rc.d/rc.local file.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUSE:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On SUSE systems, add the command to the /etc/init.d/boot.local file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;configure .bash_profile&lt;br /&gt;export ORACLE_BASE=/u01/app/oracle&lt;br /&gt;export ORACLE_HOME=$ORACLE_HOME/product/10.2.0/db_1&lt;br /&gt;export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs&lt;br /&gt;export PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. clusterware installation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Please refer to &lt;a href="http://oracleinstance.blogspot.com/2010/03/oracle-10g-installation-in-linux-5.html"&gt;http://oracleinstance.blogspot.com/2010/03/oracle-10g-installation-in-linux-5.html&lt;/a&gt; for complete &lt;br /&gt;&lt;br /&gt;screenshot example&lt;br /&gt;and also&lt;br /&gt;&lt;a href="http://space.itpub.net/21162451/viewspace-696413"&gt;http://space.itpub.net/21162451/viewspace-696413&lt;/a&gt; - RHEL5.4+Oracle10gR2 RAC+OCFS2&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.1 os requirements&lt;/b&gt;&lt;br /&gt;Prerequisite Checks Fail When Installing 10.2 On Red Hat 5 (RHEL5)&lt;br /&gt;Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Failed &amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;&lt;br /&gt;-&amp;gt; Prerequisite Checks Fail When Installing 10.2 On Red Hat 5 (RHEL5) [ID 456634.1]&lt;br /&gt;If you are installing 10.2 from DVD, copy the &amp;lt;path&amp;gt;/database/install/oraparam.ini to a temporary directory (for &lt;br /&gt;&lt;br /&gt;example, /tmp).&lt;br /&gt;&lt;br /&gt;If you are installing 10.2 from an OTN download or have copied the 10.2 media to disk, take a backup of &lt;br /&gt;&lt;br /&gt;&amp;lt;path&amp;gt;/database/install/oraparam.ini&lt;br /&gt;&lt;br /&gt;Now edit oraparam.ini and change the appropriate line:&lt;br /&gt;&lt;br /&gt;Original&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Certified Versions]&lt;br /&gt;Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;New&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[Certified Versions]&lt;br /&gt;Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,&lt;b&gt;redhat-5&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;note: &lt;br /&gt;a. &lt;b style="color: red;"&gt;do not use ifconfig to configure vip before installing clusterware, just configure them in /etc/hosts&lt;/b&gt;&lt;br /&gt;for example:&lt;br /&gt;&lt;br /&gt;#cat /etc/hosts&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost.localdomain localhost&lt;br /&gt;192.168.1.100&amp;nbsp;&amp;nbsp; jephe1.jephe.com jephe1&lt;br /&gt;192.168.1.101&amp;nbsp;&amp;nbsp; jephe2.jephe.com jephe2&lt;br /&gt;&lt;br /&gt;172.16.1.100&amp;nbsp;&amp;nbsp;&amp;nbsp; jephe1-priv.jephe.com jephe1-priv&lt;br /&gt;192.168.1.102&amp;nbsp;&amp;nbsp; jephe1-vip.jephe.com jephe1-vip&lt;br /&gt;&lt;br /&gt;172.16.1.101&amp;nbsp;&amp;nbsp;&amp;nbsp; jephe2-priv.jephe.com jephe2-priv&lt;br /&gt;192.168.1.103&amp;nbsp;&amp;nbsp; jephe2-vip.jephe.com jephe2-vip&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;OCR configration:&lt;br /&gt;normal redundancy&lt;br /&gt;&lt;br /&gt;specify OCR Location: /dev/raw/raw1&lt;br /&gt;specify OCR Mirror Location: /dev/raw/raw2&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.2 How To Setup UDEV Rules For RAC OCR And Voting Devices On SLES10, RHEL5, OEL5, OL5&lt;/b&gt;&lt;br /&gt;- refer to &lt;a href="http://www.held.org.il/blog/2007/11/setting-a-raw-device-in-redhatcentos-5/"&gt;http://www.held.org.il/blog/2007/11/setting-a-raw-device-in-redhatcentos-5/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Add the required raw device ownership and permissions, for example:&lt;br /&gt;&lt;b&gt;a. Add to /etc/udev/rules.d/60-raw.rules:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ACTION==”add”, KERNEL==”sdb1″, RUN+=”/bin/raw /dev/raw/raw1 %N”&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"&lt;br /&gt;ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"&lt;br /&gt;ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"&lt;br /&gt;ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N"&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;b. To set permission (optional, but required for Oracle RAC!), create a new /etc/udev/rules.d/99-raw-perms.rules &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;containing lines such as:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KERNEL==”raw[1-5]“, MODE=”0640″, GROUP=”oinstall”, OWNER=”oracle”&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Notice this:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The raw-perms.rules file name has to begin with the number 99, which defines its order during rules apply, so that it will be used after all other rules take place. Using lower numbers might cause permissions to be &lt;br /&gt;&lt;br /&gt;incorrect.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The following permissions have to apply:&lt;br /&gt;&lt;br /&gt;OCR Device(s): root:oinstall , mode 0640&lt;br /&gt;Voting device(s): oracle:oinstall, mode 0666&lt;br /&gt;need to test the following commands:&lt;br /&gt;# /sbin/udevcontrol reload_rules&lt;br /&gt;# /sbin/start_udev&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.3. at the end of clusterware installation, you will be prompt to run 2 programs which need root &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;permission,follow by the sequences below:&lt;br /&gt;first program on first node&lt;br /&gt;first program on second node&lt;br /&gt;&lt;br /&gt;/home/oracle/oraInventory/orainstRoot.sh&lt;br /&gt;ssh jephe2 -l root&lt;br /&gt;/home/oracle/oraInventory/orainstRoot.sh&lt;br /&gt;exit&lt;br /&gt;/home/oracle/oracle/product/10.2.0/crs/root.sh&lt;br /&gt;ssh jephe2 -l root&lt;br /&gt;/home/oracle/oracle/product/10.2.0/crs/root.sh&lt;br /&gt;&lt;br /&gt;second program on first node&lt;br /&gt;second program on second node&lt;br /&gt;basically, you need to finish the number 1 script on all nodes first before going to the next script.&lt;br /&gt;also, run it under GUI interface, aka, X windows in vnc on node2 as root user, not oracle user, otherwise vipca will fail, vipca will use GUI&lt;br /&gt;&lt;br /&gt;&lt;b&gt;c. FAQ&lt;/b&gt;&lt;br /&gt;c.1 some error at the end of running second root program on the second node:&lt;br /&gt;Running vipca(silent) for configuring nodeapps&lt;br /&gt;&lt;i&gt;&lt;b&gt;/home/oracle/oracle/product/10.2.0/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cannot open shared object file: No such file or directory&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;-&amp;gt; this is a bug, due to newer version of glibc(RHEL5) is incompatible with Java, need to modify vipca script as &lt;br /&gt;&lt;br /&gt;follows:&lt;br /&gt;&lt;i&gt;&lt;b&gt;vi /home/oracle/oracle/product/10.2.0/crs/bin/vipca &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;change&lt;br /&gt;&lt;i&gt;&lt;b&gt;LD_ASSUME_KERNEL=2.4.19 &lt;br /&gt;export LD_ASSUME_KERNEL&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;to:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;LD_ASSUME_KERNEL=2.4.19&lt;br /&gt;export LD_ASSUME_KERNEL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;unset LD_ASSUME_KERNEL&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/i&gt;#add this line to uncomment variable LD_ASSUME_KERNEL&lt;br /&gt;&lt;br /&gt;Now, login xwindows on second node, run &lt;i&gt;&lt;b&gt;/home/oracle/oracle/product/10.2.0/crs/bin/vipca&lt;/b&gt;&lt;/i&gt; again to get errors below:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Error 0(Native: listNetInterfaces:[3])&lt;br /&gt;&lt;br /&gt;[Error 0(Native: listNetInterfaces:[3])]&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;solution:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;$ oifcfg iflist&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;eth0 192.168.1.0&lt;br /&gt;eth1&amp;nbsp; 172.16.1.0&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;$ oifcfg setif -global eth0/192.168.1.0:public&lt;br /&gt;$ oifcfg setif -global eth1/172.16.1.0:cluster_interconnect&lt;br /&gt;$ oifcfg getif&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;eth0 192.168.1.0&amp;nbsp; global&amp;nbsp; public&lt;br /&gt;eth1 172.16.1.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# vipca&lt;/b&gt;&amp;nbsp; (run on the second node with root user login at X windows, don't run it with oracle user then su - as root)&lt;br /&gt;just choose eth0 as vip interface, do not choose eth0:0, otherwise, after finishing installation, the vip will become eth0:0:1 for 192.168.1.102 for node1&lt;br /&gt;&lt;br /&gt;You will be asked for entering ip alias name and ip address for both codegen1 and codegen2. Firstly, enter ip address for codegen1: 192.168.1.102, then the rest will come out automatically.node1-vip.jephe.com and node2-vip.jephe.com are ip alias name.&lt;br /&gt;&lt;br /&gt;after finishing configure vipca, back to CRS installation GUI, click ok to finish installation of clusterware&lt;br /&gt;&lt;br /&gt;If environment variable &lt;br /&gt;$ORA_CRS_HOME/cfgtoollogs/configToolFailedCommands.sh&lt;br /&gt;&lt;br /&gt;If you got error: PRKR-1062 : Failed to find configuration for node codegen1,&lt;br /&gt;then your /etc/hosts might be missing domain name such as &lt;br /&gt;192.168.1.100 jephe1 &lt;br /&gt;not&lt;br /&gt;192.168.1.100 jephe1.jephe.com jephe1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Part II: openfiler iscsi:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;How to Dynamically Add and Remove SCSI Devices on Linux [ID 603868.1]&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;yum install lsscsi&lt;br /&gt;&lt;br /&gt;lsscsi&lt;br /&gt;cat /proc/scsi/scsi&lt;br /&gt;grep host /etc/modprobe.conf&lt;br /&gt;ls -ld /sys/class/scsi_host/host*&lt;br /&gt;dmsetup ls | sort&lt;br /&gt;multipath -d -ll&lt;br /&gt;raw -qa&lt;br /&gt;ls -l /dev/mapper/&lt;br /&gt;ls -l /dev/raw/&lt;br /&gt;ocrcheck&lt;br /&gt;crsctl query css votedisk&lt;br /&gt;crsctl check crs&lt;br /&gt;ocrconfig -showbackup&lt;br /&gt;cat /etc/oracle/ocr.loc&lt;br /&gt;&lt;br /&gt;where is the setting for RAC service preference nodes?&lt;br /&gt;&lt;br /&gt;nodes applications contain listener, gsnd etc?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Firstly, Oracle checks /etc/oracle/ocr.loc to find out where is the ocr (raw1 and raw2), then from ocr, to find out where are the voting disk devices.&lt;br /&gt;&lt;br /&gt;[root@codegen1 bin]# lsscsi&lt;br /&gt;[0:0:0:0]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; ATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VBOX HARDDISK&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0&amp;nbsp;&amp;nbsp; /dev/sda&lt;br /&gt;[2:0:0:0]&amp;nbsp;&amp;nbsp;&amp;nbsp; cd/dvd&amp;nbsp; VBOX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CD-ROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0&amp;nbsp;&amp;nbsp; /dev/sr0&lt;br /&gt;[3:0:0:0]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdb&lt;br /&gt;[3:0:0:1]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdc&lt;br /&gt;[3:0:0:2]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdd&lt;br /&gt;[3:0:0:3]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sde&lt;br /&gt;[3:0:0:4]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdf&lt;br /&gt;[3:0:0:5]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdg&lt;br /&gt;[3:0:0:6]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdh&lt;br /&gt;[3:0:0:7]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdi&lt;br /&gt;[3:0:0:8]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdj&lt;br /&gt;[3:0:0:9]&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp; OPNFILER VIRTUAL-DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /dev/sdk&lt;br /&gt;&lt;br /&gt;5.1. Resizing an Online Multipath Device&lt;br /&gt;If you need to resize an online multipath device, use the following procedure.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resize your physical device.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use the following command to find the paths to the LUN:&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # multipath -l&lt;/i&gt;&lt;/b&gt; [ -ll] [-d -ll]&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resize your paths. For SCSI devices, writing a 1 to the rescan file for the device causes the SCSI driver to rescan, as in the following command:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # echo 1 &amp;gt; /sys/block/device_name/device/rescan &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resize your multipath device by running the multipathd resize command:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # multipathd -k'resize map mpath0'&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resize the filesystem (assuming no LVM or DOS partitions are used):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # resize2fs /dev/mapper/mpath0&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;For further information on resizing an online LUN, see the Online Storage Reconfiguration Guide. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;echo "scsi add-single-device 3 0 0 0" &amp;gt; /proc/scsi/scsi&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reference:&lt;/b&gt;&lt;br /&gt;1. &lt;a href="http://space.itpub.net/21162451/viewspace-696413"&gt;http://space.itpub.net/21162451/viewspace-696413&lt;/a&gt; - RHEL5.4+Oracle10gR2 RAC+OCFS2&lt;br /&gt;2. &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/demos/db/10g/r2/rac_r2_work/02_01_crs_install/02_01_crs_inst"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/demos/db/10g/r2/rac_r2_work/02_01_crs_install/02_01_crs_inst&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;all_viewlet_swf.html - Install 10g clusterware livedemo from Oracle &lt;br /&gt;3. &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/demos/db/11g/r1/clusterware/installation_of_oracle_clusterware/installation_of_oracle_clusterware_viewlet_swf.html"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/demos/db/11g/r1/clusterware/installation_of_oracle_clusterware/installation_of_oracle_clusterware_viewlet_swf.html&lt;/a&gt; - Install clusterware on Oracle 11gR1&lt;br /&gt;4. install oracle 11gR2 database - &lt;a href="http://st-curriculum.oracle.com/obe/db/11g/r2/2day_dba/install/install.htm"&gt;http://st-curriculum.oracle.com/obe/db/11g/r2/2day_dba/install/install.htm&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://oracleinstance.blogspot.com/2010/03/oracle-10g-installation-in-linux-5.html"&gt;http://oracleinstance.blogspot.com/2010/03/oracle-10g-installation-in-linux-5.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5896393780223502575?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5896393780223502575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5896393780223502575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5896393780223502575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5896393780223502575'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/preparing-oracle-rac-system.html' title='Preparing Oracle RAC system'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4854470167054890698</id><published>2011-12-23T07:08:00.001+08:00</published><updated>2011-12-23T07:18:11.020+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selinux'/><title type='text'>How to check or disable SELinux</title><content type='html'>&lt;i&gt;Jephe Wu&amp;nbsp; - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 5 or 6&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: check selinux status&lt;br /&gt;&lt;b&gt;Methods&lt;/b&gt;:&lt;br /&gt;&lt;b&gt;1. check selinux status:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;getenforce&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;or&lt;br /&gt;&lt;i&gt;&lt;b&gt;selinuxenabled;echo $?&lt;/b&gt;&lt;/i&gt;&amp;nbsp; (return 1 means disabled, 0 means enabled, &lt;i&gt;&lt;b&gt;man selinuxenabled&lt;/b&gt;&lt;/i&gt;)&lt;br /&gt;note: use setenforce&amp;nbsp; to switch between permissive or enforce mode runtime.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Accoding to Redhat knowledge base:&amp;nbsp; Only if current selinux status is not disabled. you can use &lt;b&gt;setenforce to &lt;/b&gt;set Current Enforcing Mode which can be switched between "Enforcing" and  "Permissive". This setting is effective immediately but is not  persistent - the system will revert to the "System Default Enforcing  Mode" setting when it is restarted. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.&amp;nbsp; how to set selinux permanently&lt;/b&gt;&lt;br /&gt;&lt;span class="jive-noformat-content"&gt;a. GUI tool: system-config-securitylevel&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-noformat-content"&gt;b. vi &lt;/span&gt;&lt;span class="jive-noformat-content"&gt;/etc/selinux/config&lt;/span&gt; or /etc/sysconfig/selinux , change &lt;span class="jive-noformat-content"&gt;SELINUX=Disabled&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-noformat-content"&gt;c. vi grub.conf, &lt;/span&gt;&lt;br /&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;&amp;nbsp; kernel /vmlinuz-xxxx ro root=/dev/VolGroup00/LogVol00 rhgb quiet selinux=0&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;d. at install time, type '&lt;/code&gt;&lt;code class="jive-code"&gt;linux selinux=0' to boot prompt.&lt;/code&gt;&lt;code class="jive-code"&gt; &lt;/code&gt;&lt;/pre&gt;&lt;span class="jive-noformat-content"&gt;&amp;nbsp;&lt;/span&gt; &lt;span class="jive-noformat-content"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4854470167054890698?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4854470167054890698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4854470167054890698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4854470167054890698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4854470167054890698'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/how-to-check-or-disable-selinux.html' title='How to check or disable SELinux'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5889416307227164115</id><published>2011-12-12T11:03:00.008+08:00</published><updated>2012-01-12T11:04:03.762+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql-proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='mmm2'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Set up mysql proxy with mmm2 and mysql master-slave replication environment for zabbix read/write splitting</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Environment&lt;/b&gt;: 2 mysql database configured with master-slave replication. mysql-proxy 0.8.1 from EPEL running on CentOS 6 x86_64, as well as mmm_monitor. Zabbix server connecting to mysql-proxy ip address as database. separated web server for Zabbix running on another machine connecting to mysql-proxy ip address&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Diagram:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Zabbix Web -&amp;gt; mysql-proxy 0.8.1/mmm2&amp;nbsp; (CentOS 6 64bit)&lt;br /&gt;&amp;nbsp;Zabbix Server -&amp;gt; mysql-proxy 0.8.1/mmm2 -&amp;gt; writer mysql db&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; reader mysql db&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Objective&lt;/b&gt;: Make Zabbix to send non-transactional queries to reader mysql db only, and DML to writer mysql db, in short, read/write splitting.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Steps&lt;/b&gt;: We are only talking about mysql-proxy configuration part in this article, you can refer other blogs on this website for Zabbix and master-slave database replication.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. use mysql-proxy from EPEL on CentOS 6 64bit&lt;/b&gt;&lt;br /&gt;configuring EPEL first, then install mysql-proxy&lt;br /&gt;&lt;br /&gt;2. use read-write splitting script from 0.8.2 alpha source code instead of tutorial-keep-alive.lua from 0.8.1 yum repository which is not working.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. configuration file:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;[root@mysql-proxy ~]# more /etc/sysconfig/mysql-proxy&lt;br /&gt;# Options for mysql-proxy &lt;br /&gt;#LUA_PATH=/usr/share/doc/mysql-proxy-0.8.1/examples/?.lua&lt;br /&gt;ADMIN_USER="admin"&lt;br /&gt;ADMIN_PASSWORD="password"&lt;br /&gt;ADMIN_LUA_SCRIPT="/usr/lib64/mysql-proxy/lua/admin.lua"&lt;br /&gt;PROXY_USER="mysql-proxy"&lt;br /&gt;PROXY_OPTIONS="--daemon --keepalive&amp;nbsp; --proxy-backend-addresses=192.168.12.233:3306 --proxy-read-only-backend-addresses=192.168.12.234:3306 --proxy-address=:3306 --proxy-lua-script=/usr/share/doc/mysql-proxy-0.8.1/examples/rw-splitting-got-from-0.8.2alpha-source-tar-file.lua --log-level=message --log-file=/var/log/mysql-proxy.log"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;netstat -ntpl&amp;nbsp; , &lt;/i&gt;you will find mysql proxy admin port listening at 4041, you can connect to it from another host to admin port:&lt;br /&gt;&lt;i&gt;mysql -uadmin -ppassword -P4041 -h mysql-proxy-host&lt;/i&gt;&lt;br /&gt;&lt;i&gt;===============&lt;/i&gt;&lt;br /&gt;&lt;i&gt;or with the following configuration:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;root@mon01:/etc/mysql-proxy/ # more /etc/sysconfig/mysql-proxy &lt;br /&gt;# Options to mysql-proxy &lt;br /&gt;# do not remove --daemon&lt;br /&gt;LUA_PATH="/srv/mysql-proxy/lib/?.lua"&lt;br /&gt;PROXY_OPTIONS="--daemon --defaults-file=/etc/mysql-proxy/my.cnf --keepalive"&lt;/i&gt;&lt;br /&gt;&lt;i&gt;---------&lt;/i&gt;&lt;br /&gt;&lt;i&gt;root@mon01:/etc/mysql-proxy/ # more my.cnf&lt;br /&gt;[mysql-proxy]&lt;br /&gt;admin-username=root&lt;br /&gt;admin-password=password&lt;br /&gt;proxy-address=0.0.0.0:3306&lt;br /&gt;&lt;br /&gt;proxy-read-only-backend-addresses=172.17.1.6:3306&lt;br /&gt;proxy-read-only-backend-addresses=172.17.1.7:3306&lt;br /&gt;proxy-read-only-backend-addresses=172.17.1.8:3306&lt;br /&gt;proxy-backend-addresses=172.17.1.5:3306&lt;br /&gt;&lt;br /&gt;proxy-pool-no-change-user=true&lt;br /&gt;proxy-skip-profiling=true&lt;br /&gt;&lt;br /&gt;log-file=/srv/mysql-proxy/log/mysql-proxy.log&lt;br /&gt;#log-level=warning&lt;br /&gt;#log-level=message&lt;br /&gt;#log-level=debug&lt;br /&gt;user=mysql&lt;br /&gt;admin-lua-script=/srv/mysql-proxy/lib/mysql-proxy/lua/admin.lua&lt;br /&gt;pid-file=/srv/mysql-proxy/run/mysql-proxy.pid&lt;br /&gt;proxy-lua-script=/srv/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua&amp;nbsp; (this rw-splitting.lua is from mysql-proxy 0.8.2 tar file)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. /etc/init.d/mysql-proxy restart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. monitor slave mysql db logfile&lt;/b&gt; -&amp;gt; &lt;i&gt;tail -f /var/lib/mysql/mysql_query.log (see /etc/my.cnf)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;6. &lt;b&gt;you can also see some DML&lt;/b&gt; statements on slave database, that's because master-slave replication, slave gets syncing with master operations.&lt;br /&gt;&lt;br /&gt;7. once you finished configuring above, when clicking zabbix web monitoring - dashboard, most of select statements will go to slave database.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;FAQ:&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp; Zabbix web interface gives error "Lock wait timeout exceeded; try restarting transaction"&lt;br /&gt;=&amp;gt; Uncommen &lt;i&gt;&lt;b&gt;innodb_lock_wait_timeout = 50&lt;/b&gt;&lt;/i&gt;, change it to 500 seconds. restart mysql&lt;br /&gt;&lt;br /&gt;2. Error in query: Deadlock found when trying to get lock; try restarting transaction&lt;br /&gt;=&amp;gt; Just try again and refer to http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html&amp;nbsp; - how to cope with deadlock&lt;br /&gt;&lt;br /&gt;3. For read/write splitting, tutorial-keep-alive.lua which comes with EPEL mysql-proxy rpm doesn't work.&lt;br /&gt;&lt;br /&gt;4. how to check if rw-spliting is working?&lt;br /&gt;&lt;b&gt;&lt;i&gt;while true ;do mysql -uroot -ppassword -e 'show processlist' ;sleep 1;done&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;to check if you&amp;nbsp; can find any select statement.&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;References:&lt;/b&gt;&lt;br /&gt;1. Mysql master-slave and mysql-proxy read/write splitting - &lt;a href="http://www.linuxso.com/linuxrumen/10236.html"&gt;http://www.linuxso.com/linuxrumen/10236.html&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html"&gt;http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html&lt;/a&gt; - how to cope with Deadlocks&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Commands:&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp; show slave status\G&lt;br /&gt;2.&amp;nbsp; show create table history;&amp;nbsp; to display DDL statement for table creation&lt;br /&gt;3. show table status&lt;br /&gt;4. show processlist;&lt;br /&gt;5. show full processlist; &lt;i&gt;&lt;b&gt;to find out slow queries. &lt;/b&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5889416307227164115?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5889416307227164115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5889416307227164115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5889416307227164115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5889416307227164115'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/set-up-mysql-proxy-with-mmm2-and-mysql.html' title='Set up mysql proxy with mmm2 and mysql master-slave replication environment for zabbix read/write splitting'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4970719823445135571</id><published>2011-12-09T10:35:00.003+08:00</published><updated>2012-01-05T11:56:32.759+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><category scheme='http://www.blogger.com/atom/ns#' term='yum'/><category scheme='http://www.blogger.com/atom/ns#' term='psp'/><title type='text'>Install PSP on CentOS 6 x86_64</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: HP ProLiant BL460c G6, installed CentOS 6 x86_64&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: install proliant support package (PSP) &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Note:&lt;b&gt; do not use psp for CentOS 6 one, it's older version and it might not work. Use Redhat Enterprise Linux 6 instead.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1. change /etc/centos-release&lt;/b&gt;&lt;br /&gt;cp /etc/centos-release /etc/centos-release.orig -va&lt;br /&gt;vi /etc/centos-release as follows:&lt;br /&gt;Change &lt;b&gt;CentOS&lt;/b&gt; to &lt;br /&gt;&lt;b&gt;Red Hat Enterprise Linux Server&lt;/b&gt; release 6.0 (Final)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;otherwise, some psp packages will fail to install and hpsmh will fail to install as well ,&lt;b&gt; it will report zlib version 1.1.4 or above is missing.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. install hp-snmp-agents first from command line, otherwise, smhd installation will fail from ./hpsum (software update manager) &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[root@db03 psp]# yum localinstall hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm &lt;/b&gt;&lt;br /&gt;Loaded plugins: fastestmirror&lt;br /&gt;Setting up Local Package Process&lt;br /&gt;Examining hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;Marking hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm to be installed&lt;br /&gt;Loading mirror speeds from cached hostfile&lt;br /&gt;&amp;nbsp;* base: mirror.optus.net&lt;br /&gt;&amp;nbsp;* epel: mirror.optus.net&lt;br /&gt;&amp;nbsp;* extras: mirror.optus.net&lt;br /&gt;&amp;nbsp;* updates: mirror.optus.net&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package hp-snmp-agents.x86_64 0:8.7.0.23-17 set to be updated&lt;br /&gt;--&amp;gt; Processing Dependency: hp-health for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Processing Dependency: libcpqci.so.2 for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Processing Dependency: libhpasmintrfc.so.3 for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Processing Dependency: libhpev.so.1 for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Processing Dependency: libcpqci64.so.2()(64bit) for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Processing Dependency: libhpasmintrfc64.so.3()(64bit) for package: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;--&amp;gt; Finished Dependency Resolution&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: libhpasmintrfc64.so.3()(64bit)&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: libcpqci64.so.2()(64bit)&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: libhpev.so.1&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: hp-health&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: libhpasmintrfc.so.3&lt;br /&gt;Error: Package: hp-snmp-agents-8.7.0.23-17.x86_64 (/hp-snmp-agents-8.7.0.23-17.rhel6.x86_64)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires: libcpqci.so.2&lt;br /&gt;&amp;nbsp;You could try using --skip-broken to work around the problem&lt;br /&gt;&amp;nbsp;You could try running: rpm -Va --nofiles --nodigest&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[root@db03 psp]# yum localinstall hp-health-8.7.0.22-17.rhel6.x86_64.rpm&amp;nbsp; --nogpgcheck&lt;/b&gt;&lt;br /&gt;Loaded plugins: fastestmirror&lt;br /&gt;Loading mirror speeds from cached hostfile&lt;br /&gt;&amp;nbsp;* base: mirror.optus.net&lt;br /&gt;&amp;nbsp;* epel: mirror.optus.net&lt;br /&gt;&amp;nbsp;* extras: mirror.optus.net&lt;br /&gt;&amp;nbsp;* updates: mirror.optus.net&lt;br /&gt;Setting up Install Process&lt;br /&gt;Examining hp-health-8.7.0.22-17.rhel6.x86_64.rpm: hp-health-8.7.0.22-17.x86_64&lt;br /&gt;Marking hp-health-8.7.0.22-17.rhel6.x86_64.rpm to be installed&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package hp-health.x86_64 0:8.7.0.22-17 set to be updated&lt;br /&gt;--&amp;gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;&amp;nbsp;Package&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Arch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repository&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;&amp;nbsp;hp-health&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.7.0.22-17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /hp-health-8.7.0.22-17.rhel6.x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.6 M&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;Install&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Package(s)&lt;br /&gt;Upgrade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Package(s)&lt;br /&gt;&lt;br /&gt;Total size: 1.6 M&lt;br /&gt;Installed size: 1.6 M&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;&amp;nbsp; Installing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : hp-health-8.7.0.22-17.x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/1 &lt;br /&gt;Please read the Licence Agreement for this software at&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /opt/hp/hp-health/hp-health.license&lt;br /&gt;&lt;br /&gt;By not removing this package, you are accepting the terms&lt;br /&gt;of the "HP Proliant Essentials Software End User License Agreement".&lt;br /&gt;==============================================================================&lt;br /&gt;NOTE: To activate the software contained in this package, you must type:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/hp-health start&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/hp-asrd start&lt;br /&gt;as 'root' user.&lt;br /&gt;==============================================================================&lt;br /&gt;The hp-health RPM has installed successfully.&lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;&amp;nbsp; hp-health.x86_64 0:8.7.0.22-17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Complete!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[root@db03 psp]# yum localinstall hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm --nogpgcheck&lt;/b&gt;&lt;br /&gt;Loaded plugins: fastestmirror&lt;br /&gt;Setting up Local Package Process&lt;br /&gt;Examining hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm: hp-snmp-agents-8.7.0.23-17.x86_64&lt;br /&gt;Marking hp-snmp-agents-8.7.0.23-17.rhel6.x86_64.rpm to be installed&lt;br /&gt;Loading mirror speeds from cached hostfile&lt;br /&gt;&amp;nbsp;* base: mirror.optus.net&lt;br /&gt;&amp;nbsp;* epel: mirror.optus.net&lt;br /&gt;&amp;nbsp;* extras: mirror.optus.net&lt;br /&gt;&amp;nbsp;* updates: mirror.optus.net&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package hp-snmp-agents.x86_64 0:8.7.0.23-17 set to be updated&lt;br /&gt;--&amp;gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;&amp;nbsp;Package&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Arch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repository&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;&amp;nbsp;hp-snmp-agents&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.7.0.23-17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /hp-snmp-agents-8.7.0.23-17.rhel6.x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.9 M&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;====================================================================================================================================================&lt;br /&gt;&lt;br /&gt;==========================================================================================================================&lt;br /&gt;Install&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Package(s)&lt;br /&gt;Upgrade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Package(s)&lt;br /&gt;&lt;br /&gt;Total size: 5.9 M&lt;br /&gt;Installed size: 5.9 M&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;&amp;nbsp; Installing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : hp-snmp-agents-8.7.0.23-17.x86_64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/1 &lt;br /&gt;Please read the Licence Agreement for this software at&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /opt/hp/hp-snmp-agents/hp-snmp-agents.license&lt;br /&gt;&lt;br /&gt;By not removing this package, you are accepting the terms&lt;br /&gt;of the "HP Proliant Essentials Software End User License Agreement".&lt;br /&gt;Installing /opt/hp/hp-snmp-agents/nic/etc/HPcmanic.pp SELinux policy module&lt;br /&gt;==============================================================================&lt;br /&gt;NOTE: In order to activate the software contained in this package, you must&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type '/sbin/hpsnmpconfig' as 'root' user.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Once configuration is completed start the agents by typing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/init.d/hp-snmp-agents start&lt;br /&gt;==============================================================================&lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;&amp;nbsp; hp-snmp-agents.x86_64 0:8.7.0.23-17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;3. run /sbin/hpsnmpconfig to configure /etc/snmp/snmpd.conf &lt;/b&gt;&lt;br /&gt;configure it to add the following part on the top of the /etc/snmp/snmpd.conf&lt;br /&gt;&lt;i&gt;&lt;br /&gt;dlmod cmaX /usr/lib64/libcmaX64.so&lt;br /&gt;rwcommunity public 127.0.0.1&lt;br /&gt;trapcommunity public&lt;br /&gt;rocommunity public 127.0.0.1&lt;br /&gt;trapsink 192.168.0.1 public&lt;br /&gt;syscontact Jephe Wu &amp;lt;jwu@domain.com&amp;gt;&lt;br /&gt;syslocation someplace&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. install tigervnc* and xterm for GUI installation environment for hpsum&lt;/b&gt;&lt;br /&gt;yum install tigervnc* xterm&lt;br /&gt;&lt;br /&gt;5. install psp by hpsum&lt;br /&gt;cd /root/&lt;br /&gt;download psp for RHEL6 x86_64&lt;br /&gt;mkdir psp&lt;br /&gt;cd psp&lt;br /&gt;tar xvpzf ../psp-xxxxxx.tar.gz&lt;br /&gt;&lt;br /&gt;vncserver&lt;br /&gt;./hpsum&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. hpsum installation &lt;/b&gt;&lt;br /&gt;a. check only 'software update'&lt;br /&gt;b. do not rebuild kernel module for certain NIC&lt;br /&gt;c. install them&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. check and reboot&lt;/b&gt;&lt;br /&gt;psp create a new set of initrd file as initramfs blabla&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8. commands and references:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;yum localinstall *.rpm&lt;br /&gt;yum whatprovides filename&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9. modify&amp;nbsp; /opt/hp/hp-snmp-agents/cma.conf&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;change&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;trapemail /bin/mail -s 'hmspzdb01 HP Insight Management Agents Trap Alarm' root&lt;/i&gt;&lt;br /&gt;&lt;i&gt;to&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;trapemail /bin/mail -s '&lt;b&gt;db1&lt;/b&gt; hmspzdb01 HP Insight Management Agents Trap Alarm' root&lt;/i&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4970719823445135571?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4970719823445135571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4970719823445135571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4970719823445135571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4970719823445135571'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/install-psp-on-centos-6-x8664.html' title='Install PSP on CentOS 6 x86_64'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4207512950041480419</id><published>2011-12-08T10:10:00.001+08:00</published><updated>2011-12-20T07:55:26.345+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Set up the third mysql server to be slave of the running master-master mysql database</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: master(db1)-master(db2) mysql 5.5 database (replicate each other) running Oracle Linux 5.6 64bit&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: setup a third slave only database(db3, mysql 5.1 on CentOS 6) to sync with one of the master(db2) which the zabbix application is connecting to&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Concept:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. stop slave on db1 and db2 (mysql -uroot -ppass; sql&amp;gt; stop salve)&lt;br /&gt;b. use mysqldump to make snapshot on db1&lt;br /&gt;c. import data into db3&lt;br /&gt;d. make db3 to sync with db2&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. stop slave on both db1 and db2&lt;/b&gt;&lt;br /&gt;&lt;i&gt;mysql -uroot -ppass&lt;br /&gt;sql&amp;gt; stop slave;&lt;br /&gt;sql&amp;gt; show slave status\G&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. setup db3 on CentOS 6 64bit, use /srv/mysql/data as data folder&lt;/b&gt;&lt;br /&gt;&lt;i&gt;sh /usr/bin/mysql_install_db --user=mysql --datadir=/srv/mysql/data&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;copy back /etc/my.cnf mysqld part from db2 or db1&lt;br /&gt;&lt;br /&gt;&lt;i&gt;/etc/init.d/mysqld restart&lt;br /&gt;chkconfig mysqld on&lt;br /&gt;chkconfig --list mysqld&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Note: &lt;br /&gt;&lt;i&gt;[root@db03 mysql]# tail -f /srv/mysql/data/db03.domainnameofserver.err &lt;/i&gt;&lt;br /&gt;&lt;i&gt;/usr/libexec/mysqld: Can't create/write to file '/tmpfs/ibJw77ig' (Errcode: 2)&lt;br /&gt;111207 14:19:01&amp;nbsp; InnoDB: Error: unable to create temporary file; errno: 2&lt;br /&gt;111207 14:19:01 [ERROR] Plugin 'InnoDB' init function returned error.&lt;br /&gt;111207 14:19:01 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.&lt;br /&gt;111207 14:19:01 [ERROR] Unknown/unsupported table type: innodb&lt;br /&gt;111207 14:19:01 [ERROR] Aborting&lt;br /&gt;&lt;br /&gt;111207 14:19:01 [Note] /usr/libexec/mysqld: Shutdown complete&lt;br /&gt;&lt;br /&gt;111207 14:19:01 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;solution=&amp;gt; change /etc/my.cnf /tmpfs to /dev/shm (according to df -h)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. use mysqldump to make snapshot&lt;/b&gt;&lt;br /&gt;on db01,do:&lt;br /&gt;stop slave;&lt;br /&gt;show slave status\G&lt;br /&gt;&lt;br /&gt;note: record down about output for master_log_file and position so that db3 will use it to sync with db2 again after importing data&lt;br /&gt;&lt;i&gt;&lt;br /&gt;mysqldump -u root -ppass zabbix [--lock-all-tables] | gzip -c | ssh db03 'cat &amp;gt; /srv/mysql/mysqldump_on_db01.gz'&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;please refer to online doc at http://dev.mysql.com/doc/refman/5.0/en/replication-howto-mysqldump.html&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. import data into db3&lt;/b&gt;&lt;br /&gt;zcat mysqldump_on_db01.gz | mysql -uroot -ppass zabbix &lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. configuring db3 as slave for db2&lt;/b&gt;&lt;br /&gt;&lt;i&gt;/etc/init.d/mysqld start&lt;br /&gt;sql&amp;gt; show slave status\G&lt;br /&gt;empty record&lt;br /&gt;sql&amp;gt; change master to master_host='192.168.0.1', master_user='replication', master_password='password',master_log_file='mysql-bin.001080',master_log_pos=50862743;&lt;br /&gt;sql&amp;gt; show slave status\G&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;7. FAQ&lt;/b&gt;&lt;br /&gt;After downgrading to 5.1 and make mysql 5.1 as master database,&amp;nbsp; if you try to create partition, you might encounter the following error:&lt;br /&gt;&lt;b&gt;&lt;i&gt;ERROR 1548 (HY000) at line 1: Cannot load from mysql.proc. The table is probably corrupted&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;:  on mysql 5.1, run "mysql_upgrade -uroot -ppassword", please refer to &lt;a href="http://dev.mysql.com/doc/refman/5.1/en/mysql-upgrade.html"&gt;http://dev.mysql.com/doc/refman/5.1/en/mysql-upgrade.html&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;8. References&lt;/b&gt;&lt;br /&gt;a. database partitioning:&lt;a href="http://www.slideshare.net/datacharmer/partitions-performance-with-mysql-51-and-55"&gt;http://www.slideshare.net/datacharmer/partitions-performance-with-mysql-51-and-55&lt;/a&gt;&lt;br /&gt;b. mysql 5.5 online manual for replication at &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/replication.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/replication.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4207512950041480419?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4207512950041480419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4207512950041480419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4207512950041480419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4207512950041480419'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/set-up-third-mysql-server-to-be-slave.html' title='Set up the third mysql server to be slave of the running master-master mysql database'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5498823391959082514</id><published>2011-12-08T08:50:00.001+08:00</published><updated>2011-12-08T08:51:25.035+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><category scheme='http://www.blogger.com/atom/ns#' term='bonding'/><title type='text'>Set up bonding in RHEL6</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 6 x86_64 on HP Blade Proliant BL460c G6, 2 builtin broadcom NIC and a NC364m Quad Port 1Gb NIC for c-class BladeSystem&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: after using builtin NIC to install OS , then configure bonding for 2 of quad port NIC.&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. OS installation&lt;/b&gt;&lt;br /&gt;You can download &lt;a href="http://mirror.optus.net/centos/6/isos/x86_64/CentOS-6.0-x86_64-netinstall.iso"&gt;http://mirror.optus.net/centos/6/isos/x86_64/CentOS-6.0-x86_64-netinstall.iso&lt;/a&gt; and install OS through http URL from Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. bonding configuration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Firstly, disable network manager if NM is running.&lt;br /&gt;&lt;i&gt;service NetworkManager stop&lt;br /&gt;chkconfig NetworkManager off&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;a. /etc/udev/rules.d/70-persistent-net.ruels&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;make sure it contains all interfaces you have in the system and &lt;b&gt;don't configure bond0 inside.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. /etc/sysconfig/network-scripts/&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;configuring ifcfg-bond0 as follows: (assuming ip address is 192.168.0.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;i&gt;[root@db03 network-scripts]# more ifcfg-bond0 &lt;br /&gt;DEVICE="bond0"&lt;br /&gt;BROADCAST="192.168.0.255"&lt;br /&gt;GATEWAY="192.168.0.254"&lt;br /&gt;IPADDR="192.168.0.1"&lt;br /&gt;NETMASK="255.255.255.0"&lt;br /&gt;ONBOOT="yes"&lt;br /&gt;USERCTL=no&lt;br /&gt;BONDING_OPTS="mode=0 miimon=100 downdelay=300 updelay=300 max_bonds=4"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;note: you must use capital letter for left side variables, especially BONDING_OPTS, otherwise, you might not be able to see slave devices from command output of 'ifconfig'.&lt;br /&gt;Do not configure &lt;b&gt;BONDING_OPTS&lt;/b&gt; in /etc/modprobe.d/bonding.conf as suggested by Redhat.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;c. /etc/sysconfig/network-scripts/ifcfg-ethX&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[root@db03 network-scripts]# more ifcfg-eth*&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth0&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth0&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;MASTER=bond0&lt;br /&gt;HWADDR=00:01:02:03:04:00&lt;br /&gt;ONBOOT=yes&lt;br /&gt;SLAVE=yes&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth1&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth1&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;HWADDR=00:01:02:03:04:01&lt;br /&gt;ONBOOT=no&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth2&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth2&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;MASTER=bond0&lt;br /&gt;HWADDR=00:01:02:03:04:02&lt;br /&gt;ONBOOT=yes&lt;br /&gt;SLAVE=yes&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth3&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE=eth3&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;HWADDR=00:01:02:03:04:03&lt;br /&gt;ONBOOT=no&lt;br /&gt;USERCTL=no&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth4&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE="eth4"&lt;br /&gt;HWADDR="00:00:00:00:00:04"&lt;br /&gt;NM_CONTROLLED="no"&lt;br /&gt;ONBOOT="no"&lt;br /&gt;::::::::::::::&lt;br /&gt;ifcfg-eth5&lt;br /&gt;::::::::::::::&lt;br /&gt;DEVICE="eth5"&lt;br /&gt;HWADDR="00:00:00:00:00:05"&lt;br /&gt;NM_CONTROLLED="no"&lt;br /&gt;ONBOOT="no"&lt;/i&gt;&lt;br /&gt;note: we connected network cables for eth0 and eth2 only, so only use these 2 ports for bonding.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;d. /etc/modprobe/bonding.conf&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;[root@db03 network-scripts]# more /etc/modprobe.d/bonding.conf &lt;br /&gt;alias eth0 e1000e&lt;br /&gt;alias eth1 e1000e&lt;br /&gt;alias eth2 e1000e&lt;br /&gt;alias eth3 e1000e&lt;br /&gt;alias eth4 bnx2x&lt;br /&gt;alias eth5 bnx2x&lt;br /&gt;alias scsi_hostadapter cciss&lt;br /&gt;alias scsi_hostadapter1 lpfc&lt;br /&gt;alias bond0 bonding&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Testing and debug&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. more /proc/net/bonding/bond0&lt;br /&gt;b. ethtool eth0&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. References&lt;/b&gt;&lt;br /&gt;a. RHEL6 deployment guide&lt;br /&gt;&lt;a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html"&gt;http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;b. Redhat knowledge base DOC-48159 for '&lt;b&gt;How do I configure the bonding device on Red Hat Enteprise Linux 6&lt;/b&gt;" or search &lt;b&gt;bonding&lt;/b&gt; in access.redhat.com knowledge base.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5498823391959082514?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5498823391959082514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5498823391959082514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5498823391959082514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5498823391959082514'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/12/set-up-bonding-in-rhel6.html' title='Set up bonding in RHEL6'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6545048728302732065</id><published>2011-11-30T18:18:00.002+08:00</published><updated>2011-12-07T13:17:03.089+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grub'/><category scheme='http://www.blogger.com/atom/ns#' term='clone'/><title type='text'>Clone Oracle virtual machine to physical server</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Oracle virtual machine image file .img (shutdown VM to make image), use hda as hard disk only, no any scsi driver in initrd image file. Oracle Enterprise Linux 4.5, grub-0.95-3.8.0.1 rpm which is the latest in OL4.9&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: Clone it to a dell PowerEdge 1950 (megaraid scsi driver)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; boot from RIP CD(Recovery Is Possible) non-X version, 64bit kernel&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;login as root without password&lt;br /&gt;&lt;br /&gt;vi /etc/hosts.deny to comment out the last line to allow remote ssh&lt;br /&gt;&lt;br /&gt;vi /etc/ssh/sshd_config to allow direct root login&lt;br /&gt;&lt;br /&gt;dhcpcd eth0 or use ifconfig to manually set up ip address&lt;br /&gt;&lt;br /&gt;/usr/sbin/sshd&lt;br /&gt;&lt;br /&gt;passwd root&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. transfer System.img which is Oracle VM image file over somewhere on the network which you can mount it &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# file System.img&lt;br /&gt;&lt;br /&gt;# mkdir iso&lt;br /&gt;&lt;br /&gt;# mount System.img iso -o offset=$((512*63))&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. transfer file system over physical machine&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;make partition for the physical server hard disk - sda(2x72G raid1)&lt;br /&gt;&lt;i&gt;fdisk /dev/sda&lt;br /&gt;cd /mnt&lt;br /&gt;mkdir sda&lt;br /&gt;mount /dev/sda1 sda&lt;br /&gt;cd sda&lt;br /&gt;ssh remoteserver 'cd /path/to/iso; tar cvpf - . | tar xvpf -'&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. generate mkinitrd and modify some configuration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;initrd:&lt;br /&gt;&lt;br /&gt;vi /etc/modprobe.conf&lt;br /&gt;&lt;br /&gt;&lt;i&gt;alias scsi_hostadapter megaraid_sas&lt;br /&gt;alias scsi_hostadapter1 ata_piix&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;cd /boot&lt;br /&gt;&lt;br /&gt;mkinitrd -f /boot/initrd.img.new 2.6.9xxxxsmp (check folder name under /lib/modules)&lt;br /&gt;&lt;br /&gt;vi /boot/grub/grub.conf to modify accordingly to use above generated initrd.img.new&lt;br /&gt;&lt;br /&gt;configurations:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;cd /mnt/sda&lt;br /&gt;chroot .&lt;br /&gt;modify /etc/sysconfig/network-scritps/ifcfg-eth0 and ifcfg-eth1 if necessary&lt;br /&gt;modify /etc/sysconfig/network&lt;br /&gt;modify /etc/fstab&lt;br /&gt;modify /etc/grub.conf&lt;br /&gt;cp /etc/blkid /etc/blkid.bak&lt;br /&gt;rm -f /etc/blkid/*&lt;br /&gt;cp /etc/mtab /etc/mtab.bak&lt;br /&gt;vi /etc/mtab (to correct the / and /boot line to have the correct partition name)&lt;br /&gt;vi /boot/grub/device.map to something like '(hd0)&amp;nbsp; /dev/sda'&lt;br /&gt;cd /dev&lt;br /&gt;./MAKEDEV sda&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;After that, create root, sys and proc directory for cloned virtual server.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;cd /mnt/sda&lt;br /&gt;mkdir proc sys root &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. generate MBR &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(install it again everytime you modify file /etc/grub.conf)&lt;br /&gt;&lt;br /&gt;# grub-install hd0&lt;br /&gt;&lt;br /&gt;Or after reboot, at grub prompt:\&lt;br /&gt;&lt;br /&gt;root (hd0,0)&amp;nbsp; -&amp;gt; hd0 means the first hard disk, 0 means /boot directory is sitting on the first partition, if /dev/sda3 is /boot partition, this should be 'root (hd0,2)'&lt;br /&gt;&lt;br /&gt;find /grub/stage1&lt;br /&gt;find /grub/stage2&lt;br /&gt;setup (hd0)&lt;br /&gt;&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;Note: if you cannot use grub-install to install MBR for grub boot loader, you can use RIP CD to boot GRUB from cdrom or usb option to boot the OS on the first hard disk.&lt;br /&gt;&lt;br /&gt;then you can fix it from actual os itself.&lt;br /&gt;&lt;br /&gt;------&lt;br /&gt;&lt;i&gt;/etc/grub.conf&lt;br /&gt;#boot=/dev/sda&lt;br /&gt;default=0&lt;br /&gt;timeout=5&lt;br /&gt;splashimage=(hd0,0)/grub/splash.xpm.gz &lt;br /&gt;hiddenmenu&lt;br /&gt;title Oracle Linux Server (2.6.32-100.26.2.el5uek)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd0,0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.32-100.26.2.el5.img&amp;nbsp; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;note: &lt;br /&gt;&lt;i&gt;a. splashimage=(hd0,0)/grub/splash.xpm.gz &lt;/i&gt;&lt;br /&gt;means /boot partition is the first partition on first hard disk hd0, it's /grub, not /boot/grub&lt;br /&gt;&lt;i&gt;b. kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda3&lt;/i&gt;&lt;br /&gt;means /vmlinuz-2.6.32-100.26.2.el5, not /boot/vmlinuz-2.6.32-100.26.2.el5 since it's already specified root (hd0,0)&lt;br /&gt;&lt;i&gt;c. initrd /initrd-2.6.32-100.26.2.el5.img&lt;/i&gt;&lt;br /&gt;means /initrd-2.6.32-100.26.2.el5.img, not /boot/initrd-2.6.32-100.26.2.el5.img if /boot is a separated partition&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. case study&lt;/b&gt;&lt;br /&gt;/boot is not separated partition, after clone, it becomes seperated one, you need to change grub configuration as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;previous: (no /boot partition, only / one partition)&lt;/b&gt;&lt;br /&gt;#boot=/dev/hda&lt;br /&gt;default=0&lt;br /&gt;timeout=5&lt;br /&gt;splashimage=(hd0,0)/boot/grub/splash.xpm.gz&lt;br /&gt;hiddenmenu&lt;br /&gt;title Oracle Linux Server (2.6.32-100.26.2.el5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd0,0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /boot/vmlinuz-2.6.32-100.26.2.el5 ro root=LABEL=/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /boot/initrd-2.6.32-100.26.2.el5.img &lt;br /&gt;&lt;br /&gt;&lt;b&gt;after: (/boot is at /dev/sda3)&lt;/b&gt;&lt;br /&gt;#boot=/dev/sda&lt;br /&gt;default=0&lt;br /&gt;timeout=5&lt;br /&gt;splashimage=(hd0,2)/grub/splash.xpm.gz&lt;br /&gt;hiddenmenu&lt;br /&gt;title Oracle Linux Server (2.6.32-100.26.2.el5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd0,2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/sda1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.32-100.26.2.el5.img.new&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. possible solution&lt;/b&gt;&lt;br /&gt;a. error: /boot/grub/stage1 not read correctly when I tried to install GRUB by grub-install /dev/sdc to the new drive. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Grub consults your /etc/fstab and /etc/mtab files to determine which partition/drive the '/boot' directory is actually on, so check those files are correct. (See the next section for more details about this.)&lt;br /&gt;&lt;br /&gt;solution 1: to create a separated /boot partition after boot from RIP CD boot loader, then modify /etc/grub.conf and install grub again:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;grub-install /dev/sda&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;find /boot/grub/stage1 &lt;br /&gt;root (hd0,0)&lt;br /&gt;find /boot/grub/stage1&lt;br /&gt;setup hd0&lt;br /&gt;&lt;br /&gt;solution 2:&lt;br /&gt;Problem might be that the old legacy GRUB can not handle GPT partition tables. You can simply fix this with the tool gptsync:&lt;br /&gt;&lt;br /&gt;gptsync /dev/sdc ( not tested)&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6545048728302732065?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6545048728302732065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6545048728302732065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6545048728302732065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6545048728302732065'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/11/clone-oracle-virtual-machine-to.html' title='Clone Oracle virtual machine to physical server'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3956495207663211787</id><published>2011-11-29T20:51:00.020+08:00</published><updated>2012-01-10T09:23:04.515+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pt-table-checksum'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><title type='text'>How to make mysql slave db to sync with master again</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: mysql 5.5, CentOS 5.6 64bit for both master(192.168.0.1) and slave(192.168.0.2)&lt;br /&gt;&lt;b&gt;Objective:&lt;/b&gt; to make slave db to sync with master again&lt;br /&gt;&lt;br /&gt;&lt;b&gt;You can use manual method as stated on &lt;/b&gt;&lt;b&gt;&lt;a href="http://mysql-mmm.org/mmm2:guide"&gt;http://mysql-mmm.org/mmm2:guide&lt;/a&gt; for configuring mysql replication.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. [slave] stop slave mysql database&lt;/b&gt;&lt;br /&gt;&lt;i&gt;/etc/init.d/mysql stop&lt;br /&gt;rm -fr /srv/mysql/data /srv/mysql/log&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. [master] &lt;/b&gt;&lt;br /&gt;use mylvmbackup(&lt;a href="http://www.lenzg.net/mylvmbackup/"&gt;http://www.lenzg.net/mylvmbackup/&lt;/a&gt;) to create snapshot for LVM volume where mysql db data and log file resides.&lt;br /&gt;modify /etc/mylvmbackup.conf to keep_snapshot=1 and keep_mount=1&lt;br /&gt;&lt;br /&gt;# copy mounted snapshot data and log files to slave database&lt;br /&gt;scp -pr /snap/backup/data /snap/log slavedb:/srv/mysql/&lt;br /&gt;&lt;br /&gt;# record down the master log file and position&lt;br /&gt;root@db02:/srv/mysql-db2-snap/backup-pos/ # more backup-20111129_110147_mysql.pos&lt;br /&gt;Master:File=mysql-bin.000046&lt;br /&gt;Master:Position=25449360&lt;br /&gt;&lt;br /&gt;Note: log folder on master database is not useful if there's no slave database which will use it, you can &lt;i&gt;&lt;b&gt;rm -fr log/*&lt;/b&gt;&lt;/i&gt; after shutting down master database, then make code backup for data folder only. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. [slave]&lt;/b&gt;&lt;br /&gt;cd /srv/mysql&lt;br /&gt;chown mysql:mysql -R data log&lt;br /&gt;/etc/init.d/mysql start&lt;br /&gt;mysql -uroot -ppassword &lt;br /&gt;mysql&amp;gt; show slave status\G&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; stop slave;&lt;br /&gt;mysql&amp;gt; change master to MASTER_HOST='192.168.0.1', MASTER_USER='slave1_user', MASTER_PASSWORD='slave1_password', MASTER_LOG_FILE='mysql-bin.000046', MASTER_LOG_POS=25449360;&lt;br /&gt;&lt;br /&gt;or after checking 'show slave status\G', the master host is correct, you can just use:&lt;br /&gt;mysql&amp;gt; change master to master_log_file='mysql-bin.000046', MASTER_LOG_POS=25449360;&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; start slave;&lt;br /&gt;mysql&amp;gt; show slave status;&amp;nbsp; make sure it shows:&lt;br /&gt;Slave_IO_Running: Yes&lt;br /&gt;Slave_SQL_Running: Yes&lt;br /&gt;&lt;br /&gt;monitoring&amp;nbsp; Seconds_Behind_Master: 7770 column to make sure it's reducing until 0 which means it finishs syncing with master again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. [slave] make master to sync with slave too&lt;/b&gt;&lt;br /&gt;on slavedb, run&lt;br /&gt;&lt;b&gt;mysql&amp;gt; show master status\G;&lt;/b&gt;&lt;br /&gt;+------------------+----------+--------------+------------------+&lt;br /&gt;| File&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | Position | Binlog_Do_DB | Binlog_Ignore_DB |&lt;br /&gt;+------------------+----------+--------------+------------------+&lt;br /&gt;&lt;b&gt;| mysql-bin.000055 | 17584079&lt;/b&gt; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;+------------------+----------+--------------+------------------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. [master] make it sync with slave&lt;/b&gt;&lt;br /&gt;mysql&amp;gt; stop slave;&lt;br /&gt;if not, maybe &lt;br /&gt;&lt;b&gt;mysql&amp;gt; reset slave;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;mysql&amp;gt; change master to master_log_file='mysql-bin.000055', MASTER_LOG_POS=17584079;&lt;/b&gt;&lt;br /&gt;mysql&amp;gt; start slave;&lt;br /&gt;mysql&amp;gt; show slave status\G&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;note: you have to run 'show master status' first on slavedb, then record down master_log_file and master_log_pos, then use it on master db to make it sync with slave also.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. [master] use pt-table-checksum to compare 2 databases &lt;/b&gt;&lt;br /&gt;show tables status;&lt;br /&gt;create database pt;&lt;br /&gt;pt-table-checksum -uroot -ppassword&amp;nbsp; --create-replicate --replicate pt.checksums --databases zabbix --empty-replicate-table --chunk-size=5000 localhost &lt;br /&gt;&lt;br /&gt;pt-table-checksum -uroot -ppassword&amp;nbsp; --create-replicate --replicate pt.checksums --databases zabbix --empty-replicate-table --chunk-size=5000 localhost --replicate-check=1&lt;br /&gt;&lt;br /&gt;echo $?&lt;br /&gt;0 &lt;br /&gt;----------------------------&lt;br /&gt;or skip some huge tables&lt;br /&gt;----------------------&lt;br /&gt;pt-table-checksum -uroot -ppassword&amp;nbsp; --create-replicate --replicate pt.checksums --databases zabbix --empty-replicate-table --chunk-size=30000 --chunk-size-limit 50&amp;nbsp; localhost&amp;nbsp; --ignore-tables events,history,history_uint,trends,trends_uint --replicate-check 1&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;note:use phpmyadmin or show table status to get rough size of tables which might be skipped for pt-table-checksum.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;--------------------------&lt;br /&gt;&lt;i&gt;&lt;b&gt;If it's different between master and slaves, it will show by paramter --replicate-check 1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;pt-table-checksum -uroot -ppassword&amp;nbsp; --create-replicate --replicate pt.checksums --databases mysql --empty-replicate-table --chunk-size=30000 --chunk-size-limit 50&amp;nbsp; localhost --replicate-check 1&lt;br /&gt;Differences on P=3306,h=db03&lt;br /&gt;DB&amp;nbsp;&amp;nbsp;&amp;nbsp; TBL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHUNK CNT_DIFF CRC_DIFF BOUNDARIES&lt;br /&gt;mysql db&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1=1&lt;br /&gt;mysql help_keyword&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1=1&lt;br /&gt;mysql help_relation&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1=1&lt;br /&gt;mysql help_topic&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1=1&lt;br /&gt;mysql proc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1=1&lt;br /&gt;&lt;br /&gt;echo $?&lt;br /&gt;1&lt;br /&gt;------------------&lt;br /&gt;You can make mysql database itself sync between master and slaves by the following method:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;on master:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;mysqldump --add-drop-table mysql -uroot -ppassword | ssh db03 'mysql -uroot -ppassword mysql'&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;mysql -uroot -ppassword -h db03&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; flush privileges;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FAQ:&lt;/b&gt;&lt;br /&gt;root@db02:/etc/cron.d/ # pt-table-checksum -uroot -ppassword&amp;nbsp; --create-replicate --replicate pt.checksums --databases zabbix --empty-replicate-table --chunk-size=5000 localhost&lt;br /&gt;You do not have the PROCESS privilege at /usr/bin/pt-table-checksum line 3761.&lt;br /&gt;root@db02:/etc/cron.d/ # mysql -uroot -ppassword -h slavedb zabbix&lt;br /&gt;ERROR 1044 (42000): Access denied for user 'root'@'192.168.7.2' to database 'zabbix'&lt;br /&gt;&lt;br /&gt;[root@db03 sysconfig]# mysql -uroot -ppassword&lt;br /&gt;mysql&amp;gt; grant all on zabbix.* to root@'192.168.7.22' identified by 'password';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; flush privileges;&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;&amp;nbsp; exit&lt;br /&gt;&lt;br /&gt;&amp;nbsp;try again.&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;The following method will definitely work when using pt-table-checksum:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mysql&amp;gt; grant all privileges on *.* to root@'172.17.7.22' identified by 'password';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; flush privileges;&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;otherwise, you might encounter error like 'You do not have the PROCESS privilege at /usr/bin/pt-table-checksum line 3761.'&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. how to completely delete snapshot logical volume&lt;/b&gt;&lt;br /&gt;df -h&lt;br /&gt;umount /mountpoint_for_snapshot_volume&lt;br /&gt;lvdisplay -v&lt;br /&gt;lvremove /dev/VolGroup02/snap02&lt;br /&gt;cd /dev/mapper&lt;br /&gt;dmsetup remove snap02&lt;br /&gt;or&lt;br /&gt;kpartx -d xxxxx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. purge master log - &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html"&gt;http://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This statement is safe to run while slaves are replicating. You need not stop them, it will Purge all log files up to but not including the target file. &lt;br /&gt;example:&lt;br /&gt;PURGE BINARY LOGS TO 'mysql-bin.010';&lt;br /&gt;PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';&lt;br /&gt;&lt;br /&gt;You can also set the expire_logs_days system variable to expire binary log files automatically after a given number of days (see Section 5.1.3, 揝erver System Variables?. If you are using replication, you should set the variable no lower than the maximum number of days your slaves might lag behind the master. &lt;br /&gt;&lt;br /&gt;mysql&amp;gt; show master logs;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;CURRENT_LOGFILE=$(/usr/bin/mysql -e "SHOW SLAVE STATUS\G" | awk '$1 == "Master_Log_File:" {print $2}')&lt;br /&gt;/usr/bin/mysql -h MASTER -e "PURGE MASTER LOGS TO '${CURRENT_LOGFILE}'"&lt;br /&gt;exit $?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;note: cronjob script to purge master log on slave db:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. master/slave /etc/my.cnf configuration:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;note: server_id must be different. If not, change it, restart mysqld service.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; reset slave;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; change master to ....&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; start slave;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;slave:&lt;br /&gt;&lt;br /&gt;root@db01:/srv/mysql/log/ # cat /etc/my.cnf | grep -v ^# | grep -v ^$&lt;br /&gt;[client]&lt;br /&gt;port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3306&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;&lt;br /&gt;[mysqld_safe]&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;nice&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;default-storage-engine=innodb&lt;br /&gt;innodb_file_per_table&lt;br /&gt;innodb_lock_wait_timeout = 150&lt;br /&gt;innodb_rollback_on_timeout&lt;br /&gt;innodb_buffer_pool_size=20000M&lt;br /&gt;innodb_flush_method=O_DIRECT&lt;br /&gt;innodb_flush_log_at_trx_commit=2&lt;br /&gt;innodb_log_buffer_size=4M&lt;br /&gt;innodb_thread_concurrency=8&lt;br /&gt;transaction-isolation=READ-COMMITTED&lt;br /&gt;log-queries-not-using-indexes&lt;br /&gt;key_buffer_size = 64M&lt;br /&gt;user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = mysql&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3306&lt;br /&gt;basedir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /usr&lt;br /&gt;datadir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/data&lt;br /&gt;tmpdir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /tmpfs&lt;br /&gt;skip-external-locking&lt;br /&gt;bind-address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0.0.0&lt;br /&gt;key_buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 128M&lt;br /&gt;max_allowed_packet&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 128M&lt;br /&gt;thread_stack&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 192K&lt;br /&gt;thread_cache_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8&lt;br /&gt;myisam-recover&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = BACKUP&lt;br /&gt;max_connections=512&lt;br /&gt;tmp_table_size=256M&lt;br /&gt;max_heap_table_size=256M&lt;br /&gt;table_cache=1024&lt;br /&gt;thread_cache=16&lt;br /&gt;read_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&lt;br /&gt;read_rnd_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&amp;nbsp;&amp;nbsp; &lt;br /&gt;sort_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;thread_stack&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 256K &lt;br /&gt;join_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8M&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;log-queries-not-using-indexes&lt;br /&gt;thread_concurrency&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 32&lt;br /&gt;query_cache_type = 1&lt;br /&gt;query_cache_size = 256M&lt;br /&gt;query_cache_limit = 16M&lt;br /&gt;log_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/error.log&lt;br /&gt;log_slow_queries&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-slow.log&lt;br /&gt;long_query_time = 2&lt;br /&gt;&lt;b&gt;server_id=1&lt;/b&gt;&lt;br /&gt;log_bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-bin.log &lt;br /&gt;log_bin_index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-bin.log.index &lt;br /&gt;relay_log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-relay-bin &lt;br /&gt;relay_log_index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-relay-bin.index &lt;br /&gt;expire_logs_days&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2 &lt;br /&gt;max_binlog_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 100M &lt;br /&gt;log_slave_updates&amp;nbsp;&amp;nbsp; = 1&lt;br /&gt;binlog-format=MIXED&lt;br /&gt;sync_binlog=1&lt;br /&gt;&lt;br /&gt;[mysqldump]&lt;br /&gt;quick&lt;br /&gt;quote-names&lt;br /&gt;max_allowed_packet&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 16M&lt;br /&gt;&lt;br /&gt;[mysql]&lt;br /&gt;[isamchk]&lt;br /&gt;key_buffer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 16M&lt;br /&gt;------------------------------------&lt;br /&gt;root@db02:/srv # cat /etc/my.cnf | grep -v ^# | grep -v ^$&lt;br /&gt;[client]&lt;br /&gt;port&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 3306&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;&lt;br /&gt;[mysqld_safe]&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;nice&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;default-storage-engine=innodb&lt;br /&gt;innodb_file_per_table&lt;br /&gt;innodb_lock_wait_timeout = 150&lt;br /&gt;innodb_rollback_on_timeout&lt;br /&gt;innodb_buffer_pool_size=20000M&lt;br /&gt;innodb_flush_method=O_DIRECT&lt;br /&gt;innodb_flush_log_at_trx_commit=2&lt;br /&gt;innodb_log_buffer_size=4M&lt;br /&gt;innodb_thread_concurrency=8&lt;br /&gt;transaction-isolation=READ-COMMITTED&lt;br /&gt;log-queries-not-using-indexes&lt;br /&gt;key_buffer_size = 64M&lt;br /&gt;user&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = mysql&lt;br /&gt;socket&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /var/run/mysqld/mysqld.sock&lt;br /&gt;port&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 3306&lt;br /&gt;basedir&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /usr&lt;br /&gt;datadir&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/data&lt;br /&gt;tmpdir&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = /tmpfs&lt;br /&gt;skip-external-locking&lt;br /&gt;bind-address&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0.0.0&lt;br /&gt;key_buffer&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 128M&lt;br /&gt;max_allowed_packet&amp;nbsp;&amp;nbsp;&amp;nbsp; = 128M&lt;br /&gt;thread_stack&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 192K&lt;br /&gt;thread_cache_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8&lt;br /&gt;myisam-recover&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = BACKUP&lt;br /&gt;max_connections=512&lt;br /&gt;tmp_table_size=256M&lt;br /&gt;max_heap_table_size=256M&lt;br /&gt;table_cache=1024&lt;br /&gt;thread_cache=16&lt;br /&gt;read_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&lt;br /&gt;read_rnd_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;sort_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2M&amp;nbsp;&amp;nbsp; &lt;br /&gt;thread_stack&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 256K&amp;nbsp; &lt;br /&gt;join_buffer_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8M&amp;nbsp;&amp;nbsp; &lt;br /&gt;log-queries-not-using-indexes&lt;br /&gt;thread_concurrency&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 32&lt;br /&gt;query_cache_type = 1&lt;br /&gt;query_cache_size = 256M&lt;br /&gt;query_cache_limit = 16M&lt;br /&gt;log_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/error.log&lt;br /&gt;log_slow_queries&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-slow.log&lt;br /&gt;long_query_time = 2&lt;br /&gt;&lt;b&gt;server_id=2&lt;/b&gt;&lt;br /&gt;log_bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-bin.log &lt;br /&gt;log_bin_index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-bin.log.index &lt;br /&gt;relay_log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-relay-bin &lt;br /&gt;relay_log_index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /srv/mysql/log/mysql-relay-bin.index &lt;br /&gt;expire_logs_days&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2 &lt;br /&gt;max_binlog_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 100M &lt;br /&gt;log_slave_updates&amp;nbsp;&amp;nbsp; = 1&lt;br /&gt;binlog-format=MIXED&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#added by Jephe to ignore replication error, use all or comma separated error codes,such as 1507 for dropping non-existed partitions.&lt;br /&gt;#slave-skip-errors=all&lt;br /&gt;&lt;br /&gt;[mysqldump]&lt;br /&gt;quick&lt;br /&gt;quote-names&lt;br /&gt;max_allowed_packet&amp;nbsp;&amp;nbsp;&amp;nbsp; = 16M&lt;br /&gt;&lt;br /&gt;[mysql]&lt;br /&gt;[isamchk]&lt;br /&gt;key_buffer&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 16M&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. commands&lt;/b&gt;&lt;br /&gt;a. grant pt.checksums table to my pc ip 192.168.0.100 with login id root and password as 'password' &lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;mysql&amp;gt; grant all privileges on pt.* to root@'192.168.0.100' identified by 'password'; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;mysql&amp;gt; flush privileges;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;mysql&amp;gt; show grants; &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;5. documents&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.howtoforge.com/mysql5_master_master_replication_debian_etch"&gt;&lt;i&gt;http://www.howtoforge.com/mysql5_master_master_replication_debian_etch&lt;/i&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;6. References&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/replication.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/replication.html&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://mysql-mmm.org/mmm2:guide"&gt;http://mysql-mmm.org/mmm2:guide&lt;/a&gt;&amp;nbsp; - 2 masters/2 slaves mysql db and mmm2 setup guide&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;7. how to ignore db for replication setup ( &lt;/b&gt;&lt;a href="http://www.packtpub.com/article/install-manage-use-mmm-for-mysql-high-availability"&gt;http://www.packtpub.com/article/install-manage-use-mmm-for-mysql-high-availability&lt;/a&gt; )&lt;br /&gt;Now configure the &lt;i&gt;mysqld&lt;/i&gt; section &lt;i&gt;/etc/my.cnf&lt;/i&gt; on both nodes with  the following steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Prevent the server from modifying its data until told to do so by MMM. Note  that this does not apply to users with &lt;i&gt;SUPER&lt;/i&gt; privilege (that is, probably  you at the command line!):&lt;br /&gt;&lt;pre style="margin-left: 40px;"&gt;&lt;div style="white-space: pre;"&gt;read-only&lt;/div&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Prevent the server from modifying its &lt;i&gt;mysql&lt;/i&gt; database as a result of a  replicated query it receives as a slave:&lt;br /&gt;&lt;pre style="margin-left: 40px;"&gt;&lt;div style="white-space: pre;"&gt;replicate-ignore-db = mysql&lt;/div&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Prevent this server from logging changes to its &lt;i&gt;mysql&lt;/i&gt; database:&lt;br /&gt;&lt;pre style="margin-left: 40px;"&gt;&lt;div style="white-space: pre;"&gt;binlog-ignore-db = mysql&lt;/div&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt; &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3956495207663211787?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3956495207663211787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3956495207663211787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3956495207663211787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3956495207663211787'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/11/how-to-make-mysql-slave-db-to-sync-with.html' title='How to make mysql slave db to sync with master again'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-2666257113044135912</id><published>2011-11-07T19:11:00.002+08:00</published><updated>2011-11-07T19:16:20.653+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='p5'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><category scheme='http://www.blogger.com/atom/ns#' term='asmi'/><title type='text'>how to access IBM p5 ASMI through firefox</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxrechres.blogspot.com/"&gt;http://linuxrechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: IBM P5 ASMI IP address 192.168.0.254.&lt;br /&gt;&lt;b&gt;Problem:&lt;/b&gt; firefox and IE are not able to access https://192.168.0.254 &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Steps:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. use default ip address (192.168.2.147/24 and 192.168.3.147), laptop and crossover cable to configure ASMI ip address to 192.168.0.254.&lt;br /&gt;&lt;br /&gt;2. use elinks to access it , then you can only see login page.&lt;br /&gt;&lt;br /&gt;3. enable &lt;b&gt;security.ssl3.rsa_rc4_40_md5&lt;/b&gt; in firefox about:config to access https://192.168.0.254&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;Front cover Integrated Virtualization Manager on IBM System p5 - &lt;a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4061.pdf"&gt;http://www.redbooks.ibm.com/redpapers/pdfs/redp4061.pdf&lt;/a&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-2666257113044135912?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/2666257113044135912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=2666257113044135912' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2666257113044135912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2666257113044135912'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/11/how-to-access-ibm-p5-asmi-through.html' title='how to access IBM p5 ASMI through firefox'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-8052820641749742685</id><published>2011-10-30T07:15:00.006+08:00</published><updated>2011-11-16T09:04:24.028+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to be familiar with a new Oracle database</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to take over a new database and issue some commands to know the basic things about this database&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Commands:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a. know what platform it is (workable on 10g)&lt;br /&gt;&lt;i&gt;select name, platform_id,platform_name from&amp;nbsp;&amp;nbsp; v$database;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;note: use the following view result to get the endian table:&lt;br /&gt;&lt;i&gt;select PLATFORM_ID,platform_name,endian_format from v$transportable_platform;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;b.&amp;nbsp; check if it's cluster database (RAC)&lt;br /&gt;&lt;i&gt;show parameter cluster_database; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;c. check instance status&lt;br /&gt;&lt;i&gt;select * from v$instance;&lt;/i&gt;&lt;br /&gt;note: you can find out instance_name, version, startup_time, status etc&lt;br /&gt;&lt;br /&gt;d. check database status&lt;br /&gt;&lt;i&gt;select * from v$database;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;note: you can find out dbid, dbname, db_uniq_name, created_date, log_mode, db_role, platform_name etc&lt;br /&gt;&lt;br /&gt;e. check datafile, logfile and controlfile name and location &lt;br /&gt;&lt;br /&gt;&lt;i&gt;select name from v$datafile;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select member from v$logfile;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select name from v$controlfile;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select destination from v$archive_dest;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;f. check archive log status&lt;br /&gt;&lt;i&gt;archive log list;&lt;/i&gt;&lt;br /&gt;or&lt;br /&gt;&lt;i&gt;select log_mode from v$database;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;g. check datafile, tempfile and online logfile size&lt;br /&gt;&lt;i&gt;select sum(bytes)/1024/1024 "MB" from dba_data_files;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select sum(bytes)/1024/1024 "MB" from dba_temp_files;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select sum(bytes)/1024/1024 from v$log;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;h. check using spfile or pfile &lt;br /&gt;&lt;i&gt;show parameter spfile;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;i. check dataguard status&lt;br /&gt;&lt;i&gt;select database_role from v$database;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;(primary or standby)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;dgmgrl / as sysdba&lt;/i&gt;&lt;br /&gt;&lt;i&gt;show configuration&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;# check archive log destination settings. &lt;br /&gt;&lt;i&gt;select destination, error from v$archive_dest; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;j. check characterset&lt;br /&gt;&lt;i&gt;select * from nls_database_parameters;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select * from v$nls_parameters;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;commonly used commands:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;1. alter system register&lt;br /&gt;2. alter system checkpoint&lt;br /&gt;3. alter system switch logfile;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;1. alter system syntax&lt;/b&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_2013.htm#SQLRF00902"&gt;http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_2013.htm#SQLRF00902&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-8052820641749742685?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/8052820641749742685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=8052820641749742685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8052820641749742685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8052820641749742685'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/how-to-be-familiar-with-new-oracle.html' title='How to be familiar with a new Oracle database'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5080036405550599907</id><published>2011-10-27T18:08:00.012+08:00</published><updated>2011-12-08T08:52:32.248+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Upgrading Oracle Database Server from 10.2.0.4 to 11.2.0.2 by dbua</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2003 server SP2 32bit, Oracle 10.2.0.4(was upgraded from Oracle 9.2)&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: upgrade it to Oracle standard edition 11.2.0.2.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Part I - Upgrading Oracle database&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1. backup before doing anything.&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a. rman backup&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Sign on to RMAN:&lt;br /&gt;&amp;nbsp;rman "target / nocatalog"&lt;br /&gt;&amp;nbsp;Issue the following RMAN commands:&lt;br /&gt;&amp;nbsp;RUN&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; ALLOCATE CHANNEL chan_name TYPE DISK;&lt;br /&gt;&amp;nbsp; BACKUP DATABASE FORMAT 'some_backup_directory%U' TAG before_upgrade;&lt;br /&gt;&amp;nbsp; BACKUP CURRENT CONTROLFILE FORMAT 'controlfile location and name';&lt;br /&gt;&amp;nbsp; or&lt;br /&gt;&amp;nbsp; BACKUP CURRENT CONTROLFILE TO 'save_controlfile_location';&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;b. database full export backup (expdp)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;set ORACLE_SID=ORCL&lt;br /&gt;exp backup_admin/password file=d:\oracle\oradata\orcl\backup\full_orcl.dmp  log=d:\oracle\oradata\orcl\backup\exp_full_orcl.log consistent=y  full=y&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;c. binary backup (cold copy)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Backup c:\program files\oracle directory and d:\oracle data directory.&lt;br /&gt;If you have enough space to backup, no matter how big the temporary tablespace is, just copy them.&lt;br /&gt;&lt;br /&gt;After doing copy and before running dbua, check temporary tablespace datafile size, shrink it if it's huge as follows:&lt;br /&gt;&lt;br /&gt;shutdown listener and make sure nobody is using database (bounce db if required)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT tablespace_name, file_name, bytes&lt;br /&gt;FROM dba_temp_files WHERE tablespace_name = 'TEMP';&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;TEMP&lt;br /&gt;D:\ORACLE\ORADATA\orcl\TEMP01.DBF&lt;br /&gt;1.7826E+10&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\orcl\TEMP01.DBF' DROP INCLUDING DATAFILES; &lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; ALTER TABLESPACE temp ADD TEMPFILE 'D:\ORACLE\ORADATA\orcl\TEMP01.DBF' SIZE 50m &lt;br /&gt;AUTOEXTEND ON NEXT 20m MAXSIZE 17000M [EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576];&lt;br /&gt;Tablespace altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; SELECT tablespace_name, file_name, bytes FROM dba_temp_files WHERE tablespace_name = 'TEMP'; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;d. Windows OS backup&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;shutdown Windows, use RIP CD or system rescue cd to backup the whole C drive(c:\program files\oracle) and d:\oracle (where data exists) by ntfsclone program.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;boot from RIP CD&lt;br /&gt;a. backup partition table&lt;br /&gt;sfdisk -d /dev/cciss/c0d0 | ssh remoteserver 'cat &amp;gt; /path/to/c0d0_sfdisk-d'&lt;br /&gt;for restore, use&lt;br /&gt;ssh remoteserver 'cat /path/to/c0d0_sfdisk-d' | sfdisk /dev/cciss/c0d0&lt;br /&gt;&lt;br /&gt;b. backup MBR&lt;br /&gt;dd if=/dev/cciss/c0d0 count=1 bs=512 | ssh remoteserver 'dd of=/path/to/mbr_dd'&lt;br /&gt;for restore, use&lt;br /&gt;ssh remoteserver 'dd if=/path/to/mbr_dd' | dd of=/dev/cciss/c0d0&lt;br /&gt;&lt;br /&gt;c. backup ntfs partition /dev/cciss/c0d0p1&lt;br /&gt;ntfsclone -s -o - /dev/cciss/c0d0p1 |gzip -c | ssh remoteserver 'cat &amp;gt; /path/to/c0d0p1_ntfsclone.gz'&lt;br /&gt;for restore, use&lt;br /&gt;ssh remoteserver 'gzip -dc /path/to/c0d0p1_ntfsclone.gz' | ntfsclone -r - -O /dev/cciss/c0d0p1&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;e. backup OS related files c:\program files\oracle &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;backup c:\program files\oracle&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. Software Installation (11.2.0.2)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;a. check before software installation&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;check the existing database charactset&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;sql&amp;gt; select * from nls_database_parameters;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;backup the existing spfile to pfile [optional]&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; create pfile from spfile&lt;/i&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. Unzip both 1/6 and 2/6 zip files into same directory&lt;/b&gt;&lt;/i&gt;, then perform installation (must unzip and put them into the same directory)&lt;br /&gt;&lt;i&gt;&lt;b&gt;c. Execute runInstaller to install ‘software only’ &lt;/b&gt;&lt;/i&gt;without creating database&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. Pre-upgrading preparation &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a.[optional] Shrink temporary tablespace&lt;/b&gt;&lt;/i&gt; if required as above, otherwise, during installation, 11g will try to use cold backup method to copy all control,redo and data files to d:\oracle\admin\backup directory, including huge temporary tablespace files.&lt;br /&gt;&lt;br /&gt;note: for all methods to shrink temporary tablespace under 10g, refer to support article - &lt;i&gt;Resizing (or Recreating) the Temporary Tablespace [ID 409183.1]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Make sure nobody is using the database (stop listener service and bounce database if needed),&amp;nbsp; if someone is accessing database, refer to above support ID for another way to shrink temporary tablespace.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;b. Confirm you have done backup for your database as step 1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;During upgrade process, 11g will shutdown current database to do cold backup automatically before it performs the upgrade procedure if we enable backup option. 11g dbua will also create a batch file D:\oracle\product\10.2.0\admin\orcl\backup\SID_restore.bat for restoring our backup in case of upgrade failure.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;c. After installing 11g db, Run pre-upgrade information tool&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Once 11g software is installed, such as d:\oracle\11.2.0.2\db_1, copy %ORACLE_HOME%\rdbms\admin\utlu112i.sql to somewhere, now let's login to 10g db as sysdba and startup database.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Sql&amp;gt; spool \path\to\upgrade.sql &lt;br /&gt;Sql&amp;gt; @utlu112i.sql or &lt;br /&gt;@$11g_ORACLE_HOME/rdbms/admin/utlu112i.sql&lt;br /&gt;Sql&amp;gt; spool off&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;d. Adjust parameters if necessary before running ‘dbua’&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-size: small;"&gt;Sql&amp;gt; purge dba_recyclebin;&lt;br /&gt;Sql&amp;gt; alter system set sga_target=596M scope=spfile&lt;/span&gt;&amp;nbsp; [might be adviced by pre-upgrade script,optional]&lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;span style="font-size: small;"&gt;Sql&amp;gt; EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;&lt;/span&gt;&lt;br /&gt;Sql&amp;gt; SELECT * FROM v$recover_file;&lt;/i&gt;&amp;nbsp; should be no media files to recover&lt;br /&gt;&lt;br /&gt;Resolving Outstanding Distributed Transactions&lt;br /&gt;&lt;i&gt;Sql&amp;gt; SELECT * FROM dba_2pc_pending;&lt;br /&gt;If the query in the previous step returns any rows, then issue the following statements:&lt;br /&gt;SQL&amp;gt; SELECT local_tran_id FROM dba_2pc_pending;&lt;br /&gt;SQL&amp;gt; EXECUTE dbms_transaction.purge_lost_db_entry('');&lt;br /&gt;SQL&amp;gt; COMMIT;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Ensure no files are no backup mode:&lt;br /&gt;&lt;i&gt;Sql&amp;gt; SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Check the current flush recovery area settings:&lt;br /&gt;&lt;i&gt;SQL&amp;gt; show parameter db_recovery_file_dest;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;db_recovery_file_dest&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:\oracle\flash_recovery_area&lt;br /&gt;db_recovery_file_dest_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; big integer 5000M&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Record down the number of invalid objects before running dbua.&lt;br /&gt;&lt;i&gt;Sql&amp;gt; select owner,object_name,object_type from dba_objects where status='INVALID';&lt;/i&gt;&lt;br /&gt;&lt;i&gt;For example:&lt;br /&gt;"OWNER"&amp;nbsp;&amp;nbsp;&amp;nbsp; "OBJECT_NAME"&amp;nbsp;&amp;nbsp;&amp;nbsp; "OBJECT_TYPE"&lt;br /&gt;"MDSYS"&amp;nbsp;&amp;nbsp;&amp;nbsp; "SDO_INDEX_METHOD_9I"&amp;nbsp;&amp;nbsp;&amp;nbsp; "TYPE BODY"&lt;br /&gt;"WKSYS"&amp;nbsp;&amp;nbsp;&amp;nbsp; "WK_UTIL"&amp;nbsp;&amp;nbsp;&amp;nbsp; "PACKAGE BODY"&lt;/i&gt;&lt;br /&gt;3 rows selected.&lt;br /&gt;&lt;br /&gt;Check compatibility parameter before running ‘dbua’, the minimum value required by 11.2 is 10.0.0.0.0.&lt;br /&gt;&lt;br /&gt;Perform a backup of your database before you raise the COMPATIBLE initialization parameter (optional).&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT name, value FROM v$parameter WHERE name = 'compatible';&lt;br /&gt;SQL&amp;gt; ALTER SYSTEM SET COMPATIBLE = '10.0.0' SCOPE=SPFILE;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;For invalid objects or invalid components, Oracle recommends running the the utlrp.sql before starting the upgrade as a means to minimize the number of invalid objects and components marked with WARNING.&lt;br /&gt;&lt;br /&gt;Get characterset from the current database&lt;br /&gt;sql&amp;gt; select * from nls_database_parameters;&lt;br /&gt;record down nls_characterset and nls_nchar_characterset.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Run dbua to upgrade database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inform the support team we are going to upgrade, ask them not to touch server.&lt;/b&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a. actual upgrade by dbua&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Cd $ORACL_HOME ( for Windows, start- program-choose 11g, database upgrade assistant )&lt;br /&gt;Cd&amp;nbsp; bin&lt;br /&gt;./dbua &amp;amp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Do Not Move Database Files as Part of Upgrade&lt;br /&gt;Choose ‘backup database’ and upgrade timezone version to version 14&lt;br /&gt;&lt;br /&gt;Upgrade log is at C:\oracle\cfgtoollogs\dbua\orcl\upgrade2&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. Identifying Invalid Objects&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;After running pre-upgrade information tool, any invalid SYS/SYSTEM objects found before upgrading the database are stored in the table named registry$sys_inv_objs.&lt;br /&gt;Any invalid non-SYS/SYSTEM objects found before upgrading the database are stored in registry$nonsys_inv_objs. &lt;br /&gt;&lt;i&gt;&lt;br /&gt;(sqlplus / as sysdba;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select * from sys.registry$sys_inv_objs;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select * from sys.registry$nonsys_inv_objs;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To identify any new invalid objects due to the upgrade &lt;br /&gt;run @%ORACLE_HOME%\rdbms\admin\utluiobj.sql after finishing upgrade.&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;SQL&amp;gt; select owner,object_name,object_type from dba_objects where status='INVALID';&lt;/i&gt;&lt;br /&gt;should see the same number of invalid objects as sys.registry$sys_inv_objs and sys.registry$nonsys_inv_objs&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;c. Check the flush recovery area settings and confirm archive logging mode is enabled.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; show parameter db_recovery_file_dest;&lt;br /&gt;Sql&amp;gt; archive log list;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;d. Configure Enterprise Manager if required&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;If you are not yet using Oracle Enterprise Manager to manage your database, then install and configure Enterprise Manager Database Control.&lt;br /&gt;If your database is being managed by Oracle Enterprise Manager Database Control or Oracle Enterprise Manager Grid Control, then use the following command to update the configuration:&lt;br /&gt;&lt;i&gt;emca -upgrade (db | asm | db_asm) [-cluster] [-silent] [parameters]&lt;/i&gt;&lt;br /&gt;You must run this from the Oracle home of the new Oracle Database 11g release. When prompted, provide the Oracle home from which the configuration is being upgraded.&lt;br /&gt;You can also configure Enterprise Manager using DBCA. Select the Configure Database Options option, and then select the Enterprise Manager Repository option.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Rollback plan&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a. Use the script that generated by dbua to restore to old 10g database &lt;/b&gt;&lt;br /&gt;C:\oracle\admin\sid\backup\sid_restore.bat&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. use our own rman backup to restore back&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;New features and changes in 11.2&lt;br /&gt;Automatic Diagnostic Repository&lt;br /&gt;&lt;i&gt;The locations of alert logs and trace files are no longer set by the initialization parameters BACKGROUND_DUMP_DEST and USER_DUMP_DEST. They are now kept in the Automatic Diagnostic Repository (ADR), whose location is set the by the initialization parameter DIAGNOSTIC_DEST.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;JOB_QUEUE_PROCESSES Parameter&lt;br /&gt;&lt;i&gt;Beginning with Oracle Database 11g Release 1 (11.1), the JOB_QUEUE_PROCESSES parameter is changed from a basic to a non-basic initialization parameter. Most databases only need to have basic parameters set in order to run properly and efficiently. The default value is also changed from 0 to 1000.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Starting with Oracle Database 11g Release 2 (11.2), setting JOB_QUEUE_PROCESSES to 0 causes both DBMS_SCHEDULER and DBMS_JOB jobs to not run. Previously, setting JOB_QUEUE_PROCESSES to 0 caused DBMS_JOB jobs to not run, but DBMS_SCHEDULER jobs were unaffected and would still run.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. FAQ&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; When installing 10.2.0.4 over 10.2.0.1 oracle, it prompts the following error message:&lt;br /&gt;Cannot write to c:\oracle\product\10.2.0\db_1\bin\msvcr71.dll, &lt;br /&gt;When using ‘process explorer’ and found process msdtc is holding it, which is ‘microsoft distributed coordinator’, stop that services from services.msc, if necessary, install ‘process explorer’ to find handle or dll for msvcr71.dll&lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp; Services, ‘oracleserviceORCL’ previously point to 10.2, after upgrade, will point to 11.2,&lt;br /&gt;OracleOraDb11g_home1TNSListener (C:\oracle\product\11.2.0\dbhome_2\BIN\TNSLSNR ) service will be created during upgrading (dbua), at the time start doing enterprise manager repository data migrate, it will prompt you to backup EM data for downgrade, after you say ‘yes’ to continue, it will start a 11g listener.&lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp; EM create repository, got error SEVERE: 'job_queue_processes' must be greater than or equal to 1.&lt;br /&gt;&lt;i&gt;Sql&amp;gt; Alter system set job_queue_processes=2;&lt;/i&gt; can be changed dynamically.&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Part II - actual upgrade notes&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. upgrading Oracle &lt;/b&gt;&lt;br /&gt;reboot server into Windows,&amp;nbsp; follow the Oracle upgrade guide, install Oracle database 11.2.0.2 32bit for Windows in a separated directory&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. cleanup the database before upgrading&lt;/b&gt;&lt;br /&gt;a.&amp;nbsp; sql&amp;gt;exec dbms_stats.gather_dictionary_stats;&lt;br /&gt;b. sql&amp;gt;purge dba_recyclebin;&lt;br /&gt;c. sql&amp;gt; select * from v$recover_file; should be no media file to recover&lt;br /&gt;&lt;br /&gt;d. Sql&amp;gt; SELECT * FROM dba_2pc_pending;&lt;br /&gt;If the query in the previous step returns any rows, then issue the following statements:&lt;br /&gt;SQL&amp;gt; SELECT local_tran_id FROM dba_2pc_pending;&lt;br /&gt;SQL&amp;gt; EXECUTE dbms_transaction.purge_lost_db_entry('');&lt;br /&gt;SQL&amp;gt; COMMIT;&lt;br /&gt;&lt;br /&gt;e. Ensure no files are no backup mode:&lt;br /&gt;Sql&amp;gt; SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';&lt;br /&gt;&lt;br /&gt;f. Check the current flush recovery area settings:&lt;br /&gt;SQL&amp;gt; show parameter db_recovery_file_dest;&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;db_recovery_file_dest&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:\oracle\flash_recovery_area&lt;br /&gt;db_recovery_file_dest_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; big integer 5000M&lt;br /&gt;&lt;br /&gt;g. Record down the number of invalid objects before running dbua.&lt;br /&gt;Sql&amp;gt; select owner,object_name,object_type from dba_objects where status='INVALID'&lt;br /&gt;For devora01, the following is the output:&lt;br /&gt;"OWNER"&amp;nbsp;&amp;nbsp;&amp;nbsp; "OBJECT_NAME"&amp;nbsp;&amp;nbsp;&amp;nbsp; "OBJECT_TYPE"&lt;br /&gt;"MDSYS"&amp;nbsp;&amp;nbsp;&amp;nbsp; "SDO_INDEX_METHOD_9I"&amp;nbsp;&amp;nbsp;&amp;nbsp; "TYPE BODY"&lt;br /&gt;"WKSYS"&amp;nbsp;&amp;nbsp;&amp;nbsp; "WK_UTIL"&amp;nbsp;&amp;nbsp;&amp;nbsp; "PACKAGE BODY"&lt;br /&gt;3 rows selected.&lt;br /&gt;&lt;br /&gt;h. Check compatibility parameter before running ‘dbua’, the minimum value required by 11.2 is 10.0.0.0.0.&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT name, value FROM v$parameter WHERE name = 'compatible';&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;i. run downloaded script dbupgdiag.sql from Oracle support to check the number of invalid objects detail&lt;br /&gt;Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) [ID 556610.1]&lt;br /&gt;&lt;br /&gt;after that,Validating invalid objects first &lt;br /&gt;$ cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;$ sqlplus "/ as sysdba"&lt;br /&gt;SQL&amp;gt; @utlrp.sql &lt;br /&gt;After validating the invalid objects, re-run dbupgdiag.sql in the database once again and make sure that everything is fine.&lt;br /&gt;&lt;br /&gt;j. Run utlrp.sql to recompile any remaining stored PL/SQL and Java code.&lt;br /&gt;SQL&amp;gt; @$ORACLE_HOME\rdbms\admin\utlrp.sql&lt;br /&gt;Verify that all expected packages and classes are valid:&lt;br /&gt;SQL&amp;gt; SELECT count(*) FROM dba_objects WHERE status='INVALID';&lt;br /&gt;SQL&amp;gt; SELECT distinct object_name FROM dba_objects WHERE status='INVALID';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;k.Note down the location of datafiles, redo logs, control files. Also take a backup of all configuration files like listener.ora,tnsnames.ora (C:\oracle\product\11.2.0\dbhome_2\NETWORK\ADMIN) ,etc., from $ORACLE_HOME&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT name FROM v$controlfile;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT file_name FROM dba_data_files;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; SELECT group#, member FROM v$logfile;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Check services.msc to confirm&lt;br /&gt;&lt;i&gt;OracleServiceORCL is started&lt;br /&gt;OracleOraDb10g_home1TNSListener is started&lt;br /&gt;c:\windows\system32\drivers\etc\hosts has a line for EM to work&lt;/i&gt;&lt;br /&gt;&lt;i&gt;ipaddress &amp;nbsp; name_with_domain name &lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;run &lt;i&gt;select * from nls_database_parameters&lt;/i&gt;&lt;br /&gt;to get nls_characterset WE8MSWIN1252&lt;br /&gt;and nls_NCHAR_CHARACTERSET as AL16UTF16&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;backup&lt;/b&gt;&lt;br /&gt;&lt;i&gt;backup c:\program files\oracle to f:\jephe\&lt;br /&gt;bakcup d:\oracle to f:\jephe&lt;br /&gt;record down the number of files and folders for d:\oracle&lt;br /&gt;104927 files and 12986 folders around 30G&lt;/i&gt;&lt;br /&gt;after done backup, compare the number of files and folders to make sure they are same.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;stop 10g listener &lt;br /&gt;&lt;i&gt;sqlplus / as sysdba&lt;br /&gt;shutdown immediate;&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;go to services.msc to stop OracleServiceORCL service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;sql&amp;gt; spool d:\dba\upgrade.sql&lt;br /&gt;sql&amp;gt; @......\utlu112i.sql&lt;br /&gt;sql&amp;gt; spool off &lt;br /&gt;&lt;br /&gt;change compatible to 10.1.0&lt;br /&gt;execute dbms_stats.gather_dictionary_stats;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. startup 'database upgrade assistance -dbua' from start- program files - oracle 11g to upgrade the 10g database, &lt;/b&gt;&lt;br /&gt;follow the GUI to finish upgrading.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;dbua from 11gR2&lt;br /&gt;significant changes before dbua&lt;br /&gt;a. compatible=10.1.0&lt;br /&gt;b. tempfile resize&lt;br /&gt;&lt;br /&gt;do not move database file&lt;br /&gt;backup database&lt;br /&gt;upgrade timezone to 14&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;8. checking after upgrade&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a. it should be in archive log mode&lt;br /&gt;&lt;i&gt;sql&amp;gt; archive log list;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sq&amp;gt; SELECT name, value FROM v$parameter WHERE name = 'compatible';&lt;/i&gt;&lt;br /&gt;compatible parameter should be in 10.1.0.&lt;br /&gt;b. check if Enterprise Manager is able to start up.&lt;br /&gt;c. query invalid objects generated by upgrading process &lt;br /&gt;&lt;br /&gt;start upgrade at 3pm.&lt;br /&gt;14% to 34% to finish 'upgrading Oracle server' part.&lt;br /&gt;34%-38% for upgrading Jserver Java virtual machine&lt;br /&gt;upgrading EM repository takes time - 48%-71% &lt;br /&gt;upgrading Oracle XML database takes long time&lt;br /&gt;post upgrading database also takes time&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9. Reconfigure EM&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Although inside windows services.msc dbconsole is not starting, but port 5500 might be already running and you can access https://hostname:5500/em/&lt;br /&gt;&lt;br /&gt;If you need to recreate EM, do this:&lt;br /&gt;a.&amp;nbsp;&amp;nbsp;&amp;nbsp; Drivers\etc\hosts to add ip and hostname&lt;br /&gt;b.&amp;nbsp;&amp;nbsp;&amp;nbsp; Make sure sysman account Is there and you can login as sysman&lt;br /&gt;c.&amp;nbsp;&amp;nbsp;&amp;nbsp; Check if can login as sysman and dbsnmp&lt;br /&gt;&lt;br /&gt;&lt;b&gt;disable EM SSL , just use http&lt;/b&gt;&lt;br /&gt;&lt;i&gt;emctl unsecure dbconsole&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;10. Abandon the Upgrade&lt;/b&gt;&lt;br /&gt;a. To cancel the upgrade by restoring the previous backup &lt;br /&gt;&lt;br /&gt;Log in to the system as the owner of the Oracle home directory of the previous release.&lt;br /&gt;Sign on to RMAN:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; rman "target / nocatalog"&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; STARTUP NOMOUNT&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUN&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RESTORE CONTROLFILE FROM 'save_controlfile_location';&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ALTER DATABASE MOUNT;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RESTORE DATABASE FROM TAG before_upgrade&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ALTER DATABASE OPEN RESETLOGS;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;b. or use dbua generated sid_restore.bat script to restore the cold backup back.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;11. References:&lt;/b&gt;&lt;br /&gt;a. &lt;a href="http://www.diybl.com/course/7_databases/oracle/Oracleshl/20110207/553475.html"&gt;http://www.diybl.com/course/7_databases/oracle/Oracleshl/20110207/553475.html&lt;/a&gt;&lt;br /&gt;b. How to create oracle Windows service - http://psoug.org/reference/oradim.html&lt;br /&gt;c. Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1]&lt;br /&gt;d. Master Note For Oracle Database Upgrades and Migrations [ID 1152016.1]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;12. configuration files location&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a. Dbconsole log file is at c:\oracle\product\11.2.0\dbhome_2\xxx_orcl\sysman\log&lt;br /&gt;b. db console config file at C:\oracle\product\11.2.0\dbhome_2\xxx_orcl/sysman/config/emd.properties&lt;br /&gt;c. listener.ora and tnsname.ora is at C:\oracle\product\11.2.0\dbhome_2\NETWORK\ADMIN by default&lt;br /&gt;d. 1/6 and 2/6 zip file for 11.2 contains 2824files, 906 folders and totally around 2.18G after unzip.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;13. check scheduled task scripts, rewrite Oracle backup script if necessary&amp;nbsp; &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5080036405550599907?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5080036405550599907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5080036405550599907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5080036405550599907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5080036405550599907'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/upgrading-oracle-database-server-from.html' title='Upgrading Oracle Database Server from 10.2.0.4 to 11.2.0.2 by dbua'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-817558980042439598</id><published>2011-10-26T17:23:00.000+08:00</published><updated>2011-10-26T17:23:59.396+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oradim'/><category scheme='http://www.blogger.com/atom/ns#' term='listener'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to create Oracle database service and listener on Windows 2003 server</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Environment&lt;/b&gt;: Windows 2003 server SE, upgrading Oracle 10.2.0.4 standard edition to 11.2.0.2&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to be familiar with Oracle service and listener creation and deletion in case needed.&lt;b&gt;&lt;br /&gt;Summary&lt;/b&gt;&lt;br /&gt;Normally, if you install Oracle 11g on Windows, it'll create listener and service automatically. In case you have deleted them and need to create back, here are the steps:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps&lt;br /&gt;&lt;br /&gt;1. delete Oracle Windows service (database and listener)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;a. manually delete from registry&lt;/i&gt;&lt;/b&gt; &lt;br /&gt;run regedit or regedt32&lt;br /&gt;Open regedit and browse to the following key&lt;br /&gt;HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services&lt;br /&gt;&lt;br /&gt;Find the service name 'OracleOraDb11g_home1TNSListener' or 'OracleOraDb10g_home1TNSListener'&lt;br /&gt;right click it and export to a .reg file, then delete the key. (You might need to reboot server as refresh might not be able to remove service name completely, if that's the case, try also the following sc command to remove it)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. use sc to delete service&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;backup the registry according to point a, then run:&lt;br /&gt;&lt;br /&gt;sc delete OracleOraDb11g_home1TNSListener&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. create Oracle Windows service - Listener&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a. sc&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Create listener service:&lt;br /&gt;&lt;b&gt;&lt;i&gt;sc create OracleOraDb11g_home1TNSListener [binPath= "C:\oracle\product\11.2.0\dbhome_2\BIN\TNSLSNR.exe"] &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;note: after binPath=, there must be a space there&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;b. run netca to create listener service by Oracle&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Start -&amp;gt; All programs -&amp;gt; Oracle - OraDb11g_home1 -&amp;gt; Configuration and Migration Tools -&amp;gt; Net Configuration Assistant&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;When asking for Listener Name, don't change anything, just leave the default name 'LISTENER' there, it will create service name as OracleOraDb11g_home1TNSListener &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. create Oracle Windows service - database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;a. stop OracleServiceorcl service&lt;/b&gt;&lt;/i&gt; (orcl is the sid here)&lt;br /&gt;&lt;br /&gt;net stop OracleServiceORCL&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. use oradim to delete service&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c:\&amp;gt; oradim -delete -sid orcl&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;c. use oradim to create again&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;C:\&amp;gt; ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS&lt;br /&gt;&amp;nbsp;-STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Or&lt;br /&gt;c:\&amp;gt; oradim -new -id orcl -startmode auto &lt;/i&gt;&lt;br /&gt;to use OS authentication&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SID&amp;nbsp;&amp;nbsp;&amp;nbsp; The same SID name as the SID of the database you are upgrading.&lt;br /&gt;PASSWORD&amp;nbsp;&amp;nbsp;&amp;nbsp; The password for the new release 10.2 database instance. This is the password for the user connected with SYSDBA privileges. The -INTPWD option is not required. If you do not specify it, then operating system authentication is used, and no password is required.&lt;br /&gt;USERS&amp;nbsp;&amp;nbsp;&amp;nbsp; The maximum number of users who can be granted SYSDBA and SYSOPER privileges.&lt;br /&gt;ORACLE_HOME&amp;nbsp;&amp;nbsp;&amp;nbsp; The release 10.2 Oracle home directory. Ensure that you specify the full path name with the -PFILE option, including drive letter of the Oracle home directory.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. References&lt;/b&gt;&lt;br /&gt;a. &lt;a href="http://publib.boulder.ibm.com/infocenter/ltscnnct/v1r0/index.jsp?topic=/com.ibm.help.lotus.connections.doc/t_db_oracle_listener.html"&gt;http://publib.boulder.ibm.com/infocenter/ltscnnct/v1r0/index.jsp?topic=/com.ibm.help.lotus.connections.doc/t_db_oracle_listener.html&lt;/a&gt;&lt;br /&gt;b. &lt;a href="http://psoug.org/reference/oradim.html"&gt;http://psoug.org/reference/oradim.html&lt;/a&gt;&lt;br /&gt;c. &lt;a href="http://www.theeldergeek.com/add_a_service_in_windows_xp.htm"&gt;http://www.theeldergeek.com/add_a_service_in_windows_xp.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-817558980042439598?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/817558980042439598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=817558980042439598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/817558980042439598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/817558980042439598'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/how-to-create-oracle-database-service.html' title='How to create Oracle database service and listener on Windows 2003 server'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-2112039760483758590</id><published>2011-10-25T19:00:00.001+08:00</published><updated>2011-10-25T19:01:32.770+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='blat'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>How to cleanup Windows disk space?</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxrechres.blogspot.com/"&gt;http://linuxrechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: explore ways to clean up Windows disk drive space.&lt;br /&gt;&lt;b&gt;Methods:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. use 'portable folder' software to get bigger picture&lt;br /&gt;&amp;nbsp; use portable folder to clean up C/D drive recycler folder &lt;br /&gt;2. delete browser cache files and disk cleanup to compress unused files, also empty recycle bin&lt;br /&gt;3. clear system center configuration manager cache files ( control panel - configuration manager - delete cache)&lt;br /&gt;&lt;br /&gt;5. create a scheduled task to use tool 'blat' to send disk space notification by email&lt;br /&gt;&lt;br /&gt;&lt;i&gt;dir c:\ d:\ | find "free" &amp;gt; c:\blat\drivespace.txt&lt;br /&gt;dir c:\ d:\"sql backups\daily backups" /OD &amp;gt;&amp;gt; c:\blat\drivespace.txt&lt;br /&gt;c:\blat\blat c:\blat\drivespace.txt -subject "C and D Drive free Space and database daily backup logs" -to jwu@domain.com -server smtp -f server@domain.com&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-2112039760483758590?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/2112039760483758590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=2112039760483758590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2112039760483758590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2112039760483758590'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/how-to-cleanup-windows-disk-space.html' title='How to cleanup Windows disk space?'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-8672163058479451676</id><published>2011-10-25T18:34:00.001+08:00</published><updated>2011-10-25T18:35:12.040+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ilo'/><category scheme='http://www.blogger.com/atom/ns#' term='hp'/><title type='text'>How to get HP ILO ip address?</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: get the HP Proliant server IP address online or offline&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows and/or Linux&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1. hponcfg&lt;/b&gt;&lt;br /&gt;search google 'HP Lights-Out Online Configuration Utility for Windows' or 'HP Lights-Out Online Configuration Utility for Linux' to access the following site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&amp;amp;cc=us&amp;amp;prodNameId=1135772&amp;amp;prodTypeId=18964&amp;amp;prodSeriesId=1146658&amp;amp;swLang=8&amp;amp;taskId=135&amp;amp;swEnvOID=1005"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&amp;amp;cc=us&amp;amp;prodNameId=1135772&amp;amp;prodTypeId=18964&amp;amp;prodSeriesId=1146658&amp;amp;swLang=8&amp;amp;taskId=135&amp;amp;swEnvOID=1005&lt;/a&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;C:\Program Files\HP\hponcfg&amp;gt;hponcfg /w iLo.xml&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This will export the current settings from ILO, you can modify it then import it:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;C:\Program Files\HP\hponcfg&amp;gt;hponcfg /f ilo.xml&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. web interface &lt;/b&gt;&lt;br /&gt;Install HP PSP on Windows/Linux, access it through http://localhost:2301 or https://localhost:2381, management processor part to find out the IP address and link status.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Reboot the server&lt;/b&gt; and press the F8 key when the server is booting and displays the HP integrated Lights Out text.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. References:&lt;/b&gt;&lt;br /&gt;a. &lt;a href="http://www.itaspirin.com/node/10"&gt;http://www.itaspirin.com/node/10&lt;/a&gt; - Reconfigure iLo network settings using HPONCFG&lt;br /&gt;&lt;br /&gt;b. HP Lights-Out Online Configuration Utility for Linux &lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=15351&amp;amp;prodSeriesId=1121486&amp;amp;swItem=MTX-da4fdbec8db549b8a98de5d9c3&amp;amp;mode=4&amp;amp;idx=1"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=15351&amp;amp;prodSeriesId=1121486&amp;amp;swItem=MTX-da4fdbec8db549b8a98de5d9c3&amp;amp;mode=4&amp;amp;idx=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;c. HP Lights-Out Online Configuration Utility for Windows Server 2003/2008 &lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=18964&amp;amp;prodSeriesId=1146658&amp;amp;prodNameId=1135772&amp;amp;swEnvOID=1114&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=MTX-ea306043175c40bcb35952a862"&gt;http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=18964&amp;amp;prodSeriesId=1146658&amp;amp;prodNameId=1135772&amp;amp;swEnvOID=1114&amp;amp;swLang=8&amp;amp;mode=2&amp;amp;taskId=135&amp;amp;swItem=MTX-ea306043175c40bcb35952a862&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-8672163058479451676?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/8672163058479451676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=8672163058479451676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8672163058479451676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8672163058479451676'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/how-to-get-hp-ilo-ip-address.html' title='How to get HP ILO ip address?'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-8540551705878278603</id><published>2011-10-25T18:31:00.001+08:00</published><updated>2011-10-27T08:41:47.074+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OEL'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to prepare Oracle Installation on OEL5/RHEL5/CentOS5</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Linux 5.6 x86_64(OEL/CentOS/RHEL), without ULN support&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: preparing minimal system to install Oracle database &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. OEL5&lt;/b&gt;&lt;br /&gt;as oracle-validated rpm requires UEK kernel(Unbreakable Enterprise kernel). The oracle-validated package is intended for OEL and RHEL systems registered and configured to use the Unbreakable Linux Network (ULN)&lt;br /&gt;&lt;br /&gt;a. install Oracle-validated rpm from &lt;a href="http://oss.oracle.com/el5/oracle-validated/"&gt;http://oss.oracle.com/el5/oracle-validated/&lt;/a&gt;&lt;br /&gt;b. prepare public Oracle yum repository according to &lt;a href="http://public-yum.oracle.com/"&gt;http://public-yum.oracle.com/&lt;/a&gt;&lt;br /&gt;b. yum install oracle-validated-1.1.0-7.el5.x86_64.rpm&lt;br /&gt;it will install all required rpm, but it won't prepare system such as creating oracle user, /etc/sysctl.conf etc&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. RHEL5/CentOS5&lt;/b&gt;&lt;br /&gt;a. get required package from OEL5 system if you have, refer to point 1, install those rpms manually&lt;br /&gt;or&lt;br /&gt;b. just run command rpm -Uhv oracle-validated-&amp;lt;version&amp;gt;-&amp;lt;release&amp;gt;.rpm to get missing dependencies, just install them manually.&lt;br /&gt;c. check required packages list from Oracle support article:&lt;br /&gt;Master Note of Linux OS Requirements for Database Server [ID 851598.1]&lt;br /&gt;then install those rpms manually.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;a. &lt;a href="http://public-yum.oracle.com/"&gt;http://public-yum.oracle.com/&lt;/a&gt;&lt;br /&gt;b. &lt;a href="http://gerardnico.com/wiki/database/oracle/oracle-validated"&gt;http://gerardnico.com/wiki/database/oracle/oracle-validated&lt;/a&gt;&lt;br /&gt;c. &lt;a href="http://oss.oracle.com/el5/oracle-validated/"&gt;http://oss.oracle.com/el5/oracle-validated/&lt;/a&gt;&lt;br /&gt;d. Oracle support ID: Linux OS Installation with Reduced Set of Packages for Running Oracle Database Server [ID 728346.1]&lt;br /&gt;e. Oracle Linux source rpms at &lt;a href="http://oss.oracle.com/ol5/"&gt;http://oss.oracle.com/ol5/&lt;/a&gt; and &lt;a href="http://oss.oracle.com/ol6/"&gt;http://oss.oracle.com/ol6/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-8540551705878278603?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/8540551705878278603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=8540551705878278603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8540551705878278603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8540551705878278603'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/10/how-to-prepare-oracle-installation-on.html' title='How to prepare Oracle Installation on OEL5/RHEL5/CentOS5'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6477051703253668564</id><published>2011-09-27T17:38:00.000+08:00</published><updated>2011-09-27T17:38:54.909+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='core dump'/><title type='text'>How to enable core dump for application users under RHEL5</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: enable core dump for application and users&lt;br /&gt;&lt;b&gt;Environment:&lt;/b&gt; RHEL5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. enable it for interactive login users globally&lt;/b&gt;&lt;br /&gt;By default, it's disabled in Linux, you can change file /etc/profile.&lt;br /&gt;from&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # No core files by default&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit -S -c 0 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit -c unlimited &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;br /&gt;or for individual user, edit your $HOME/.bash_profile.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;2. for those program started by daemon or services&lt;/b&gt;, please add the following into /etc/sysconfig/init&lt;br /&gt;#added by Jephe for enabling core dump for application users&lt;br /&gt;DAEMON_COREFILE_LIMIT='unlimited'&lt;br /&gt;&lt;br /&gt;This environment variable will be picked up by /etc/init.d/* daemons/services.&lt;br /&gt;&lt;br /&gt;To enable core dump for individual daemon /etc/init.d/abc&lt;br /&gt;add the following into that file /etc/init.d/abc after ". /etc/rc.d/init.d/functions" line - RHEL&lt;br /&gt;DAEMON_COREFILE_LIMIT='unlimited'&lt;br /&gt;&lt;br /&gt;or for other distribution&lt;br /&gt;&lt;i&gt;ulimit -c unlimited &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/i&gt;&lt;br /&gt;&lt;i&gt;echo /tmp/core &amp;gt; /proc/sys/kernel/core_pattern&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. specify core dump file location&lt;/b&gt;&lt;br /&gt;By default, the core dump file will be generated at program directory, you can change it to /tmp as follows:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;echo "/tmp/core" &amp;gt; /proc/sys/kernel/core_pattern&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;or add it to /etc/sysctl.conf&lt;br /&gt;kernel.core_pattern = /tmp/core&lt;br /&gt;then run '&lt;i&gt;sysctl -p&lt;/i&gt;'&lt;br /&gt;&lt;br /&gt;note: &lt;br /&gt;&lt;i&gt;a.it was 'core' in /proc/sys/kernel/core_pattern&lt;br /&gt;&lt;br /&gt;b.core dump file will be generated as /tmp/core.$PID, provided kernel.core_uses_pid=1 which is default in RHEL&lt;br /&gt;&lt;br /&gt;c. you can also set kernel.core_pattern as &lt;br /&gt;kernel.core_pattern = /tmp/core-%e-%s-%u-%g-%p-%t&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %% - A single % character&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %p - PID of dumped process&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %u - real UID of dumped process&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %g - real GID of dumped process&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %s - number of signal causing dump&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %t - time of dump (seconds since 0:00h, 1 Jan 1970)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %h - hostname (same as ’nodename’ returned by uname(2))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %e - executable filename&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.1 for suid program&lt;/b&gt;&lt;br /&gt;&lt;i&gt;echo 2 &amp;gt; /proc/sys/fs/suid_dumpable&lt;/i&gt;&amp;nbsp; (for RHEL5)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. testing&lt;/b&gt;&lt;br /&gt;a. ssh as normal user, to run command 'sleep 1000 &amp;amp;'&lt;br /&gt;c. run 'kill -s SIGSEGV $$'.&lt;br /&gt;d. assuming 15043 is the PID, check if file /tmp/core.15043 exists.&lt;br /&gt;e. if successful, logout then ssh again to the server, restart your program&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.1 to revoke core dump settings above&lt;/b&gt;&lt;br /&gt;edit /etc/profile&lt;br /&gt;edit /etc/sysconfig/init&lt;br /&gt;echo 0 &amp;gt; /proc/sys/kernel/suid_dumpable&lt;br /&gt;echo core &amp;gt; /proc/sys/kernel/core_pattern&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. References:&lt;/b&gt;&lt;br /&gt;a. for setuid program, core dumps are not generated to prevent sensitive information to be leaked.&lt;br /&gt;According to Redhat, to enable it&lt;br /&gt;For Red Hat Enterprise Linux 5: "suidsafe" (recommended) - protect privileged information by&lt;br /&gt;having the core dump be owned by and only readable for root:&lt;br /&gt;echo 2 &amp;gt; /proc/sys/fs/suid_dumpable&lt;br /&gt;&lt;br /&gt;For Red Hat Enterprise Linux 5: "debug" (may cause privileged information to be leaked):&lt;br /&gt;echo 1 &amp;gt; /proc/sys/fs/suid_dumpable&lt;br /&gt;&lt;br /&gt;For Red Hat Enterprise Linux 4:&lt;br /&gt;echo 2 &amp;gt; /proc/sys/kernel/suid_dumpable&lt;br /&gt;For Red Hat Enterprise Linux 3:&lt;br /&gt;echo 1 &amp;gt; /proc/sys/kernel/core_setuid_ok&lt;br /&gt;&lt;br /&gt;to enable them persistent over reboot:&lt;br /&gt;fs.suid_dumpable = 2 # RHEL 5 only&lt;br /&gt;kernel.suid_dumpable = 2 # RHEL 4 only&lt;br /&gt;kernel.core_setuid_ok = 1 # RHEL 3 only&lt;br /&gt;kernel.core_pattern = /tmp/core&lt;br /&gt;&lt;br /&gt;b. commands:&lt;br /&gt;ulimit -c &lt;br /&gt;ulimit -a&lt;br /&gt;ulimit -c 2000 (limit core dump to 2000 bytes)&lt;br /&gt;you might want to limit the individual user core dump size through /etc/security/limits.conf&lt;br /&gt;add something like this:&lt;br /&gt;&lt;br /&gt;jephe soft core unlimited&lt;br /&gt;&lt;br /&gt;c. ssh login and /etc/security/limits.conf consideration&lt;br /&gt;When you set some restriction for users in limits.conf and you login through ssh, then you need to make sure /etc/ssh/sshd_config to have 'usePAM yes'&lt;br /&gt;For more information on ssh and ulimit, please refer to setting bash shell limits for oracle user - http://linuxtechres.blogspot.com/2010/09/setting-bash-shell-limits-for-oracle.html&lt;br /&gt;&lt;br /&gt;d. how to read core dump file&lt;br /&gt;gdb program_path corefile_path&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6477051703253668564?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6477051703253668564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6477051703253668564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6477051703253668564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6477051703253668564'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/09/how-to-enable-core-dump-for-application.html' title='How to enable core dump for application users under RHEL5'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-148846365937069349</id><published>2011-08-26T18:52:00.003+08:00</published><updated>2011-09-02T13:13:02.756+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='em'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to recreate EM repository for Oracle 10g R2 on Windows</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2003 server SE SP2, Oracle 10g standard edition 10.2.0.4.0, Windows is using domain account to authenticate.&lt;br /&gt;&lt;b&gt;Problem&lt;/b&gt;: Due to some reason, we cannot login as sys/system/sysman/dbsnmp, we can only use oracle login Windows server and use os authentication(sqlpuls / as sysdba) to check database. Also, Enterprise Manager is not working. We need to drop/recreate EM repository to get EM up so that we can monitor database through EM&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: change password for sys/system/sysman/dbsnmp, recreate EM repository for getting EM working, use the latest version of sqldeveloper(3.0) so that we can use menu 'view-DBA' function to manage database also.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Question&lt;/b&gt;: For sql developer 3.0, why cannot we use os authentication?&lt;br /&gt;I have successfully tried to use sql developer 2.0 for os authentication, please refer to &lt;br /&gt;Refer to &lt;a href="http://linuxtechres.blogspot.com/2011/07/how-to-use-sqldeveloper-with-os.html"&gt;http://linuxtechres.blogspot.com/2011/07/how-to-use-sqldeveloper-with-os.html&lt;/a&gt;, but 3.0 doesn't work this way. So we cannot use DBA view function which is very good feature in version 3.0.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. change sys/system/sysman/dbsnmp password for database first.&lt;/b&gt;&lt;br /&gt;login Windows, use os authentication&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;&lt;i&gt;sql&amp;gt; alter user sys identified by "yourpassword";&lt;br /&gt;sql&amp;gt; alter user system identified by "yourpassword";&lt;br /&gt;sql&amp;gt; alter user sysman identified by "yourpassword";&lt;br /&gt;sql&amp;gt; alter user dbsnmp identified by "yourpassword";&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;make user all above users are open, not expiried and locked. &lt;br /&gt;Your might want to refer to another article at http://linuxtechres.blogspot.com/2010/09/jephe-wu-httplinuxtechres.html&lt;br /&gt;and How to Change DBSNMP Password in Database 10g and 11g Monitored by DB Control [ID 259387.1] in Oracle support.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. drop/recreate the existing EM repository. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Make sure c:\windows\system32\drivers\etc\hosts contains a line like this even though you can ping FQDN with correct ip without this following line.&lt;br /&gt;1.2.3.4&amp;nbsp;&amp;nbsp; FQDN&amp;nbsp; hostname&lt;br /&gt;&lt;br /&gt;otherwise, you will encouter error message below when cretae EM repository: &lt;br /&gt;May 17, 2006 7:34:39 PM oracle.sysman.emcp.EMConfig perform&lt;br /&gt;CONFIG: Stack Trace:&lt;br /&gt;oracle.sysman.emcp.exception.EMConfig&lt;br /&gt;Exception: Error instantiating EM configuration files at oracle.sysman.emcp.EMAgentConfig.updateAgentConfigFiles(EMAgentConfig.java:2560) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMAgentConfig.performConfiguration(EMAgentConfig.java:1166) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMAgentConfig.invoke(EMAgentConfig.java:207) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMAgentConfig.invoke(EMAgentConfig.java:185) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:146) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463) &lt;br /&gt;&amp;nbsp;at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)&lt;br /&gt;&lt;br /&gt;Refer to EMCA Fails With Error "SEVERE: Error instantiating EM configuration files" [ID 370207.1] in Oracle support.&lt;br /&gt;&lt;br /&gt;If you encounter error message like this:&lt;br /&gt;ORA-28003: password verification for the specified password failed&lt;br /&gt;ORA-20003: Password should contain at least one digit, one upper, one lower and&lt;br /&gt;one special character&lt;br /&gt;&lt;br /&gt;that's due to  internal BUG 4195090. check &lt;span style="font-family: helvetica;"&gt;&lt;b&gt;REPMANAGER AND EMCA FAILS WITH PASSWORD VERIFICATIONFUNCTION [ID 779098.1] &lt;span style="font-weight: normal;"&gt;from Oracle support&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: helvetica;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;=&amp;gt; change&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt;&lt;b&gt;ALTER PROFILE &lt;i&gt;default&lt;/i&gt; LIMIT PASSWORD_VERIFY_FUNCTION null;&amp;nbsp;&lt;/b&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;b&gt;then put back later after done emca. &lt;/b&gt;&lt;/b&gt;&lt;/pre&gt;&lt;span style="font-family: helvetica;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;c:&amp;gt; set ORACLE_SID=xxxx&amp;nbsp; (important, otherwise, you cannot secure dbconsole after creating repository)&lt;br /&gt;&lt;i&gt;c:&amp;gt; emca -deconfig dbcontrol db -repos drop &lt;/i&gt;&lt;br /&gt;type in sid, listener port, passwords etc&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c:&amp;gt; emca -config dbcontrol db -repos create&lt;/i&gt;&lt;br /&gt;type in sid, listener port, passwords etc.&lt;br /&gt;You will get successfully created EM repository message, and secured dbcontrol successfully, but failed to start up dbcontrol, wait for 15 mins.&lt;br /&gt;it will fail and give the following errors:&lt;br /&gt;&lt;br /&gt;Refer to the log file at D:\oracle\10.2.0\db_1\cfgtoollogs\emca\xxxx\emca_2011-08-26_10-32-25-AM.log for more details.&lt;br /&gt;26/08/2011 10:49:38 oracle.sysman.emcp.EMConfig perform&lt;br /&gt;CONFIG: Stack Trace: &lt;br /&gt;oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:646)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:224)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:193)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:184)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:486)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1142)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:470)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:419)&lt;br /&gt;&lt;br /&gt;According to Enterprise Manager Database Control Configuration - Recovering From Errors Due to CA Expiry on Oracle Database 10.2.0.4 or 10.2.0.5 [Video] [ID 1222603.1]&lt;br /&gt;and ATTENTION - Enterprise Manager Database Control 10.2.0.4 Or 10.2.0.5 - Patch Required from 31-Dec-2010 onwards [ID 1217493.1] &lt;br /&gt;&lt;br /&gt;According to above docs, you can either apply Patch 8350262, or disable https for EM as follows:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. disable https for EM&lt;/b&gt; (Starting from 10.2.0.4 onwards DBConsole uses HTTPS in its URL by Default [ID 747770.1] in Oracle support)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c:&amp;gt; emctl unsecure dbconsole&lt;br /&gt;c:&amp;gt; emctl start dbconsole&lt;/i&gt;&lt;br /&gt;access EM at http://FDQN:5501/em/console/&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. use Sqldeveloper 3.0 and EM to monitor/manage database.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "ca-pub-2326791955539700";/* ad1 */google_ad_slot = "2289204159";google_ad_width = 468;google_ad_height = 60;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-148846365937069349?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/148846365937069349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=148846365937069349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/148846365937069349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/148846365937069349'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/08/how-to-recreate-em-repository-for.html' title='How to recreate EM repository for Oracle 10g R2 on Windows'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5574673667256115770</id><published>2011-08-21T15:51:00.002+08:00</published><updated>2011-08-23T08:22:01.923+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='logshipping'/><category scheme='http://www.blogger.com/atom/ns#' term='ms sql'/><title type='text'>How to setup MS SQL server logshipping and failover</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: setup a logshipping between primary and secondary. and failover it.&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: sql server 2005/2008.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Setup requirments:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;1. Installing both primary and standby SQL servers, configure primary database first&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;2. setup shared folder on primary or another network share(third server)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You must have a shared folder to copy the transaction log backups to.&lt;br /&gt;The SQL Server Agent service account of the primary server must have read/write access either to the shared folder or to the local NTFS folder. The SQL Server Agent account of the standby server must have read access to the shared folder for applying transaction log&lt;br /&gt;&lt;i&gt;&lt;b&gt;3. primary server must be in full or bulk-loged mode for generating transaction logs&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You can configure log shipping with SQL Server Agent services stopped, but the process does not run until the agent is started.&lt;br /&gt;&lt;br /&gt;Note: refer to step-by-step configuring logshipping at&lt;br /&gt;&lt;a href="http://www.mssqltips.com/tipprint.asp?tip=2301"&gt;http://www.mssqltips.com/tipprint.asp?tip=2301&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to failover&lt;/b&gt; - &lt;a href="http://msdn.microsoft.com/en-us/library/ms191233.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms191233.aspx&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;1. copy any uncopied backup files from backup share to file copy folder on each secondary server&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;if possible, generate tail log backup from primary provided primary server is still alive.&lt;br /&gt;&lt;br /&gt;a. if db is online and you plan to perform restore operation, before starting restore, backup tail of the log with command below:&lt;br /&gt;&lt;br /&gt;BACKUP LOG &amp;lt;dbname&amp;gt; TO &amp;lt;backup_device&amp;gt; WITH NORECOVERY;&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;note: This leaves the database in the restoring state, and eventually you will be able to roll this database forward by applying transaction log backups from the replacement primary database(i.e original secondary server)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;b. if db is offline and does not start.&lt;/i&gt;&lt;br /&gt;As no transaction can occur this time, using 'with norecovery' is optional, if db is damaged, use 'with continue_after_error' &lt;br /&gt;&lt;br /&gt;as follows:&lt;br /&gt;&lt;br /&gt;backup log &amp;lt;dbname&amp;gt; to &amp;lt;backup_device&amp;gt; with continue_after_error&lt;br /&gt;&lt;br /&gt;Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c. if db is damaged and inaccessible, however, transaction log is undamaged and accessbible:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;backup log &amp;lt;dbname&amp;gt; to &amp;lt;backup_device&amp;gt; with no_truncate;&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;note: &lt;br /&gt;a.no_truncate=copy_only+continue_after_error&lt;br /&gt;b. How to: Back Up the Tail of the Transaction Log (SQL Server Management Studio) - &lt;a href="http://msdn.microsoft.com/en-us/library/dd297499"&gt;http://msdn.microsoft.com/en-us/library/dd297499&lt;/a&gt;&lt;br /&gt;How to: Back Up the Transaction Log When the Database Is Damaged (Transact-SQL) - &lt;a href="http://msdn.microsoft.com/en-us/library/ms189606"&gt;http://msdn.microsoft.com/en-us/library/ms189606&lt;/a&gt;&lt;br /&gt;c. For details about tail-log backup, see &lt;a href="http://msdn.microsoft.com/en-us/library/ms179314"&gt;http://msdn.microsoft.com/en-us/library/ms179314&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;2. apply any unapplied transaction log backups in sequence to each secondary database&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;How to: Recover a Database from a Backup Without Restoring Data (Transact-SQL) - &lt;a href="http://msdn.microsoft.com/en-us/library/ms176039.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms176039.aspx&lt;/a&gt;&lt;br /&gt;How to: Restore a Transaction Log Backup (SQL Server Management Studio) - &lt;a href="http://msdn.microsoft.com/en-us/library/ms177446.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms177446.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For restoring the last log backup, you can do the following:&lt;br /&gt;restore log &amp;lt;dbname&amp;gt; from &amp;lt;backup_device&amp;gt; with recovery;&amp;nbsp; bring database online from Read-only mode.&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;restore log &amp;lt;dbname&amp;gt; from &amp;lt;backup_device&amp;gt; with norecovery;&lt;br /&gt;restore database &amp;lt;dbname&amp;gt; with recovery; bring database online from Read-only mode.&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;note: &lt;br /&gt;a.always explicitly specify either with norecovery or with recovery.&lt;br /&gt;b. &amp;lt;backup_device&amp;gt; is the name of the device that contains the log backup being restored.&lt;br /&gt;&lt;br /&gt;How to recover a database from a backup without restoring data - &lt;a href="http://msdn.microsoft.com/en-us/library/ms176039.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms176039.aspx&lt;/a&gt; &lt;br /&gt;&lt;b&gt;&lt;i&gt;restore database &amp;lt;dbname&amp;gt; with recovery&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;3. after you have recovered secondary db, you can reconfigure it to act as a primary database for other secondary db, and you can redirect client to this server instance.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Before this, you might need to transfer login ids from primary to seconday server:&lt;br /&gt;How to set up and perform a log shipping role change (Transact-SQL) - &lt;a href="http://msdn.microsoft.com/en-us/library/aa215392%28v=sql.80%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa215392(v=sql.80).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;References and Commands:&lt;/b&gt;&lt;br /&gt;a. alter database &amp;lt;dbname&amp;gt; set recovery full&lt;br /&gt;b. how to restore database with norecovery&lt;br /&gt;restore database &amp;lt;dbname&amp;gt; from &amp;lt;device_name&amp;gt; with norecovery;&lt;br /&gt;go&lt;br /&gt;c. how to apply transaction log backup (T-SQL) - &lt;a href="http://msdn.microsoft.com/en-us/library/ms187607.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms187607.aspx&lt;/a&gt;&lt;br /&gt;d. High Availability Solutions Overview -&amp;nbsp; &lt;a href="http://msdn.microsoft.com/en-us/library/ms190202%28v=SQL.105%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms190202%28v=SQL.105%29.aspx &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5574673667256115770?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5574673667256115770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5574673667256115770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5574673667256115770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5574673667256115770'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/08/how-to-setup-ms-sql-server-logshipping.html' title='How to setup MS SQL server logshipping and failover'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7754210651303117160</id><published>2011-07-31T19:58:00.000+08:00</published><updated>2011-07-31T19:58:31.442+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opatch'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to use opatch to apply Oracle Critical Patch Update(CPU)</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to apply the latest CPU for Oracle Windows &lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2003 server SP2, Oracle 10.2.0.4 32bit &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. backup database (rman, expdp/impdp and code backup if possible)&lt;br /&gt;2. backup oracle home and c:\program files\oracle&lt;br /&gt;3. stop listener, oracle service, zabbix agent and netbackup client service&lt;br /&gt;4. sqlora32.dll cannot be used by other process, use process explorer from systeminternal to check.&lt;br /&gt;5. list number of invalid objects and views&lt;br /&gt;6. select * from registry$history for patching history&lt;br /&gt;7. opatch version requirement, if higher version is required, download the latest opatch &lt;br /&gt;8. opatch lsinventory to list inventory&lt;br /&gt;9. opatch apply to apply patch&lt;br /&gt;10. compile all views again , compare the number of invalid views and objects.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7754210651303117160?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7754210651303117160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7754210651303117160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7754210651303117160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7754210651303117160'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/07/how-to-use-opatch-to-apply-oracle.html' title='How to use opatch to apply Oracle Critical Patch Update(CPU)'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3296571255076628625</id><published>2011-07-31T19:55:00.001+08:00</published><updated>2011-08-26T19:35:21.699+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqldeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to use sqldeveloper with OS authentication</title><content type='html'>&lt;i&gt;Jephe Wu&amp;nbsp; - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: use OS authentication with sql developer on Windows server itself&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2003 server SP2 32bit, Oracle 10g R2 standard edition 32bit&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. download sqldeveloper 2.1.1.64(build MAIN-64.45) for 32bit Windows with JDK included&lt;br /&gt;2. configure sqldeveloper to use OCI/Thick driver&lt;br /&gt;tools-preferences-database-advanced- tick 'use OCI/Thick driver'&lt;br /&gt;3. download Oracle instance client 11.1.0.7.1 for 32bit Windows&lt;br /&gt;extract ocijdbc11.dll from the zip file, copy into Oracle home directory (e.g. d:\oracle\10.2.0\db-1\bin\)&lt;br /&gt;There should be a ocijdbc10.dll there too.&lt;br /&gt;4. configure connection as follows:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;connection name: server_name_sys&lt;br /&gt;role: sysdba&lt;br /&gt;connection type: basic&lt;br /&gt;hostname: localhost&lt;br /&gt;port: 1521&lt;br /&gt;sid: get it from sqlplus 'select instance_name from v$instance'&lt;br /&gt;tick 'OS authentication'&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "ca-pub-2326791955539700";/* ad1 */google_ad_slot = "2289204159";google_ad_width = 468;google_ad_height = 60;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3296571255076628625?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3296571255076628625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3296571255076628625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3296571255076628625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3296571255076628625'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/07/how-to-use-sqldeveloper-with-os.html' title='How to use sqldeveloper with OS authentication'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3025552481652302237</id><published>2011-07-22T20:23:00.002+08:00</published><updated>2011-07-22T20:26:11.078+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dataguard'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to solve common DG broker issues?</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to make dgmgrl to work, show configuration should display 'SUCCESS'.&lt;br /&gt;&lt;b&gt;Environmen&lt;/b&gt;t:&amp;nbsp; RHEL4.8 64bit, Oracle 10.2.0.3 64bit (RAC+Dataguard, RAC as primary, standalone DB as standby).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Error messages:&lt;/b&gt;&lt;br /&gt;When running dgmgrl, connect /, show configuration, Get the following errors:&lt;br /&gt;&lt;i&gt;&lt;b&gt;1.&amp;nbsp;&amp;nbsp; In the alert log: /u01/app/oracle/admin/LIVEDB/bdump/drcLIVEDB1.log&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;DG 2011-07-22-16:55:32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 756506724 DMON: Automatic health check timed out&lt;br /&gt;DG 2011-07-22-16:55:32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 756506724 Operation CTL_GET_STATUS continuing with warning, status = ORA-16619&lt;br /&gt;DG 2011-07-22-16:55:32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0 INSV: cancelling message publish for opcode CTL_GET_STATUS&lt;br /&gt;DG 2011-07-22-16:55:32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; request ID = 1.2.756506724&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;2&amp;nbsp; When run 'show configuration', got 'Warning: DMON: health check timeout'&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;3. in the dataguard log file on one of RAC DB server, got error:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;DG 2011-07-22-15:35:07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0 DMON: found read, but unconsumed message&lt;br /&gt;DG 2011-07-22-15:35:07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0 DMON: req_id = 1.2.756506586&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;1. On one of the RAC DB, run command 'ALTER SYSTEM SET DG_BROKER_START=FALSE' to shutdown dg broker for RAC, then run 'ALTER SYSTEM SET DG_BROKER_START=TRUE' to start it again.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Other useful commands:&lt;/b&gt;&lt;br /&gt;select * from v$archive_gap;&lt;br /&gt;show parameter dg_broker_start;&amp;nbsp; # should be true on dataguard&lt;br /&gt;&lt;a href="http://www.ritzyblogs.com/OraTalk/PostID/105/How-to-setup-DGMGRL-broker-with-example"&gt;http://www.ritzyblogs.com/OraTalk/PostID/105/How-to-setup-DGMGRL-broker-with-example&amp;nbsp;&lt;/a&gt;&lt;br /&gt;SQL&amp;gt; set line 32767;&lt;br /&gt;SQL&amp;gt; select * from v$logfile; &lt;br /&gt;&lt;br /&gt;Startup standby db and redo apply:&lt;br /&gt;sql&amp;gt;STARTUP MOUNT;&lt;br /&gt;sql&amp;gt; alter database recover managed standby database cancel;&amp;nbsp; &lt;br /&gt;sql&amp;gt;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;&lt;br /&gt;or&lt;br /&gt;sql&amp;gt; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE using current logfile DISCONNECT FROM SESSION;&lt;br /&gt;note: cancel first like above, otherwise, you will get error such as "an incompatible media recovery is active".&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3025552481652302237?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3025552481652302237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3025552481652302237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3025552481652302237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3025552481652302237'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/07/how-to-solve-common-dg-broker-issues.html' title='How to solve common DG broker issues?'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-1123164602601838584</id><published>2011-07-19T19:55:00.000+08:00</published><updated>2011-07-19T19:55:53.721+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mercurial'/><title type='text'>How to install Mercurial on CentOS 4.9</title><content type='html'>Jephe Wu - http://linuxtechres.blogspot.com&lt;br /&gt;&lt;br /&gt;Environment: CentOS 4.9 64bit, Mercurial 1.9, Python 2.6.7&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;1. download bzip2 1.0.6 from www.bzip.org &lt;br /&gt;make;make install&lt;br /&gt;&lt;br /&gt;2. compile Pythoon normally (./configure; make; make install)&lt;br /&gt;Since Python 2.7.1, it doesn't support bz. If you use the latest version, you might encounter error 'warning: IronPython detected (no bz2 support)' when compiling mercurial&lt;br /&gt;&lt;br /&gt;3. compile mercurial 1.9&lt;br /&gt;make all&lt;br /&gt;make install&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-1123164602601838584?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/1123164602601838584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=1123164602601838584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1123164602601838584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1123164602601838584'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/07/how-to-install-mercurial-on-centos-49.html' title='How to install Mercurial on CentOS 4.9'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-236362093624222943</id><published>2011-07-01T08:09:00.004+08:00</published><updated>2011-12-13T12:42:24.231+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zabbix'/><title type='text'>How to install zabbix agent on Windows and backup zabbix database configuration</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. refer to doc at &lt;a href="http://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd_win"&gt;http://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd_win&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. copy 32bit or 64bit unzipped files to c:\Program Files\Zabbix Agent\ (create this directory first)&lt;br /&gt;&lt;br /&gt;3. copy configuration file from zabbix source to above directory as zabbix_agentd.conf&lt;br /&gt;&lt;br /&gt;An example configuration file is available in Zabbix source archive as misc/conf/zabbix_agentd.win.conf. &lt;br /&gt;&lt;br /&gt;EnableRemoteCommands=0&lt;br /&gt;Server=172.16.1.1,172.16.1.2&lt;br /&gt;Hostname=JEPHE&lt;br /&gt;ListenPort=10050&lt;br /&gt;ServerPort=10051&lt;br /&gt;StartAgents=5&lt;br /&gt;&lt;br /&gt;4. install it &lt;br /&gt;go to cmd,&lt;br /&gt;cd "Program Files\Zabbix Agent"&lt;br /&gt;zabbix_agentd.exe -c "c:\Program Files\Zabbix Agent\zabbix_agentd.conf" -i&lt;br /&gt;&lt;br /&gt;5. go to services.msc, start zabbix agent.&lt;br /&gt;&lt;br /&gt;6. test&lt;br /&gt;from agent host, telnet zabbixserver 10051&lt;br /&gt;from server host, telnet zabbixagent 10050&lt;br /&gt;&lt;br /&gt;7. add agent host into zabbix monitored server list&lt;br /&gt;&lt;br /&gt;========&lt;br /&gt;backup zabbix configuration shell script:&lt;br /&gt;&lt;br /&gt;root@db01:~/bin/ # more zabbix_config_backup.sh &lt;br /&gt;#!/bin/sh&lt;br /&gt;DAY=`date +%w`&lt;br /&gt;HOSTNAME=`hostname`&lt;br /&gt;TABLES="acknowledges actions applications autoreg_host conditions config dchecks dhosts drules dservices escalations expressions functions globalmacro graph_theme graphs graphs_items groups help_items hostmacro hosts hosts_groups hosts_profiles hosts_prof&lt;br /&gt;les_ext hosts_templates housekeeper httpstep httpstepitem httptest httptestitem ids images items items_applications maintenances maintenances_groups maintenances_hosts maintenances_windows mappings media media_type nodes opconditions operations opmediatypes profiles proxy_autoreg_host regexps rights screens screens_items scripts services services_links sessions slides slideshows sysmaps sysmaps_elements sysmaps_link_triggers sysmaps_links timeperiods trigger_depends triggers users users_backup users_groups usrgrp valuemaps"&lt;br /&gt;COMMAND="mysqldump -uzabbix -pzabbix zabbix --add-drop-table --add-locks --extended-insert --single-transaction --quick" &lt;br /&gt;DIR="/mysql/config_backup"&lt;br /&gt;DATATABLES="alerts auditlog events history history_log history_str history_str_sync history_sync history_text history_uint history_uint_sync node_cksum proxy_dhistory proxy_history service_alarms services_times trends trends_uint"&lt;br /&gt;&lt;br /&gt;# program starts here&lt;br /&gt;$COMMAND --tables $TABLES | gzip &amp;gt; $DIR/zabbix_config_db.$DAY.gz&lt;br /&gt;&lt;br /&gt;(echo "From: `hostname`&amp;lt;root@`hostname`&amp;gt;";echo "Subject: Finished daily Zabbix config backup"; echo "To: jwu@domain.com"; echo "";echo "According to Zabbix &lt;br /&gt;.8 network monitoring book page 377, the following tables are data tables, all others are configuration tables"; echo "";echo "$DATATABLES";echo "";echo "running command $COMMAND --tables $TABLES | gzip &amp;gt; $DIR/zabbix_config_db.$DAY.gz"; echo ""; echo "`ls&lt;br /&gt;-lat /srv/mysql/config_backup`") | /usr/sbin/sendmail jwu@domain.com&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-236362093624222943?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/236362093624222943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=236362093624222943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/236362093624222943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/236362093624222943'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/07/how-to-install-zabbix-agent-on-windows.html' title='How to install zabbix agent on Windows and backup zabbix database configuration'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-8061409356914829935</id><published>2011-06-28T09:51:00.000+08:00</published><updated>2011-06-28T09:51:24.740+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ms sql'/><title type='text'>How to login MS SQL server 2008 database engine</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2008 server R2 64bit with MS SQL Server 2008. Initially, user1 who belongs to Windows local Administrators group installed this SQL server,&lt;br /&gt;after he resigned, another user who also belongs to local administrators users&amp;nbsp; group cannot login database engine.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Objective&lt;/b&gt;: to make user2 to login to database engine.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Errors&lt;/b&gt;: When user2 tries to login sql server 2008 with Windows authentication mode, it gives the following error messages in event log:&lt;br /&gt;Login failed for user MYDOMAIN\MYLOGIN'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: &amp;lt;local machine&amp;gt;]&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Steps:&lt;/b&gt;&lt;br /&gt;1. login sql server management studio as the initial user1 who set up the sql server. &lt;br /&gt;use [local] to login, you may want to try computer name in server name part&lt;br /&gt;&lt;br /&gt;2.&amp;nbsp; under 'security - login' tab, create a new user login name as \\computername\jwu for Windows authentication, grant public and sysadmin server role , and enable 'grant permission to login database engine' under status tab.&lt;br /&gt;&lt;br /&gt;3. logout user1, login as local administrator user 'jwu', use computername as servername to login sql server management studio.&lt;br /&gt;&lt;br /&gt;4. you should be able to login now.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;References:&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp; Choose an authenticatin mode - &lt;a href="http://msdn.microsoft.com/en-us/library/ms144284.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms144284.aspx&lt;/a&gt;&lt;br /&gt;2.&amp;nbsp; How to change server authentication mode - &lt;a href="http://msdn.microsoft.com/en-us/library/ms188670.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms188670.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-8061409356914829935?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/8061409356914829935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=8061409356914829935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8061409356914829935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/8061409356914829935'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/how-to-login-ms-sql-server-2008.html' title='How to login MS SQL server 2008 database engine'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4724399351433862180</id><published>2011-06-25T18:06:00.004+08:00</published><updated>2011-12-12T13:06:05.978+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='logshipping'/><category scheme='http://www.blogger.com/atom/ns#' term='ms sql'/><title type='text'>How to make SQL server 2005 logshipping secondary database to re-sync with primary database again</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to make secondary db server to sync with primary again, logshipping is not working due to some required log files were deleted by some job.&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2003 32bit, MS SQL server 2005 (management studio)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Problem&lt;/b&gt;: logshipping is not working according to Windows event log and sql job history, due to some required files were deleted, so the restoring is not working.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp; disable restoration job in job agent from SQL management studio&lt;br /&gt;&lt;i&gt;SQL Server Agent -&amp;gt; Jobs - LSRestore_DBxxxx\DBRSQLP4_xxxxx &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;also, disable any other sql server agent job which might affect restoration process.&lt;br /&gt;2.&amp;nbsp;&amp;nbsp; restore the full database backup from primary by right clicking database DR_DB1 on secondary server.&lt;br /&gt;&lt;br /&gt;right click, task, restore database, General, source for restore, from device, add a file which is copied from production daily full backup, tick it to choose it.&lt;br /&gt;go to options, choose 'overwrite the existing database', do not care about 'Restore the database file as' part even the destination name is not same as what the DR server is having now for that database.&lt;br /&gt;&lt;br /&gt;Recovery state, choose the second options which is 'Leave the database non-operational, and do not roll back uncommitted transactions, Additional transaction logs can be restored (RESTORE WITH NORECOVERY), then click 'OK'.&lt;br /&gt;&lt;br /&gt;After finishing it, the restore job will start it automatically and database will automatically try to find the transaction log file to recovery .&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. right click on the restoratin job to check history, It will check all transaction log files in the specified directory, skip those which already contained in the restored database.&amp;nbsp; click refresh and get more information.&lt;br /&gt;6. check reports for transaction log.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;1. &lt;span style="font-size: small;"&gt;Index rebuild generate huge log file makes logshipping and mirroring out of sync - &lt;a href="http://connect.microsoft.com/SQLServer/feedback/details/352338/index-rebuild-generate-huge-log-file-makes-logshipping-and-mirroring-out-of-sync"&gt;http://connect.microsoft.com/SQLServer/feedback/details/352338/index-rebuild-generate-huge-log-file-makes-logshipping-and-mirroring-out-of-sync&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;2. How to: Remove Log Shipping (SQL Server Management Studio)&lt;br /&gt;This topic explains how to remove log shipping using Microsoft SQL Server Management Studio.&lt;br /&gt;To remove log shipping&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Right-click the database you want to use as your primary database in the log shipping configuration, and then click Properties.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Under Select a page, click Transaction Log Shipping.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Clear the Enable this as a primary database in a log shipping configuration check box.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Click OK to remove log shipping from this primary database.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4724399351433862180?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4724399351433862180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4724399351433862180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4724399351433862180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4724399351433862180'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/how-to-make-sql-server-2005-logshipping.html' title='How to make SQL server 2005 logshipping secondary database to re-sync with primary database again'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3846082600706059772</id><published>2011-06-19T13:53:00.000+08:00</published><updated>2011-06-19T13:53:36.244+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Vmware FAQ</title><content type='html'>Jephe Wu - http://linuxtechres.blogspot.com&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Performance issue when copying files between Windows 7 64bit host and Linux guest&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="doccontent cc_Solution"&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&amp;nbsp;According to Vmware KB -&lt;/span&gt;&lt;span style="font-size: small;"&gt; Performance issues with bridged networking on Windows Server 2003 and Windows 2008 host operating systems&lt;/span&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt; - &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006619"&gt;http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006619&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;You must disable the TCP Offload Engine features in the driver on the host.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;To disable the TCP Offload Engine features:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Click &lt;strong&gt;Start &amp;gt;&amp;nbsp;Run&lt;/strong&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Type &lt;span style="font-family: Courier New;"&gt;regedit&lt;/span&gt; &lt;span style="font-family: Arial;"&gt;and&lt;/span&gt; &lt;span style="font-family: Arial;"&gt;press Enter.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Browse to the following location:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-family: Courier New;"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Arial;"&gt;Create the key&amp;nbsp;&lt;span style="font-family: Courier New;"&gt;DisableTaskOffload&lt;/span&gt; (type: DWORD).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Set the value of the key to &lt;span style="font-family: Courier New;"&gt;1&lt;/span&gt; .&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt; &lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Close the Registry Editor and restart the computer.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3846082600706059772?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3846082600706059772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3846082600706059772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3846082600706059772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3846082600706059772'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/vmware-faq.html' title='Vmware FAQ'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4849450608144725343</id><published>2011-06-18T18:10:00.008+08:00</published><updated>2011-06-28T13:20:23.799+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAC'/><title type='text'>Oracle RAC Documentation</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt; How to check if it's running RAC&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;BEGIN&lt;br /&gt;  IF dbms_utility.is_cluster_database THEN&lt;br /&gt;      dbms_output.put_line('Running in SHARED/RAC mode.');&lt;br /&gt;  ELSE&lt;br /&gt;      dbms_output.put_line('Running in EXCLUSIVE mode.');&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;or&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;SQL&amp;gt; show parameter CLUSTER_DATABASE&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&amp;nbsp;2. How to stop/start dbconsole?&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;Linux: &lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;$ export ORACLE_HOME=xxx&lt;br /&gt;$ export ORACLE_SID=xxx&lt;br /&gt;$ ORACLE_HOME/bin/emctl stop dbconsole&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;Windows:&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;set ORACLE_HOME=xxx&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;set ORACLE_SID=xxx&lt;br /&gt;ORACLE_HOME\bin\emctl stop dbconsole&lt;/code&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;Linux:&lt;/pre&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;code class="km"&gt;$ export ORACLE_HOME=xxx&lt;br /&gt;$ export ORACLE_SID=xxx&lt;br /&gt;$ ORACLE_HOME/bin/emctl start dbconsole&lt;/code&gt;&lt;/div&gt;Windows:&lt;br /&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;code class="km"&gt;set ORACLE_HOME=xxx&lt;/code&gt;&lt;/div&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;code class="km"&gt;set ORACLE_SID=xxx&lt;br /&gt;ORACLE_HOME\bin\emctl start dbconsole&lt;/code&gt;&lt;/div&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;/div&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;code class="km"&gt;Reference: &lt;/code&gt;&lt;i&gt;&lt;span style="font-family: helvetica;"&gt;&lt;b&gt;Enterprise Manager Database Console FAQ [ID 863631.1]&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;code class="km"&gt; &lt;/code&gt;&lt;/div&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;3.  How to stop/start RAC&lt;/code&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; Bring up the inst1 of database db1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: large;"&gt;&lt;code class="bb-code"&gt;&amp;nbsp;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="bb-code"&gt;$ srvctl start instance -d db1 -i inst1&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;Stop the db1 database:  all its instances and all its services, on all nodes.&lt;/span&gt;&lt;br /&gt;&lt;code class="bb-code"&gt;$ srvctl stop database -d db1&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;4. database uptime&lt;/code&gt;&lt;/pre&gt;SELECT to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') "DB Startup Time" FROM   sys.v_$instance; &lt;br /&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;5. alert log location&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;show parameter BACKGROUND_DUMP_DEST;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;6. stop/start RAC&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;Starting the Oracle 10g RAC Cluster 10g Environment:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Run as oracle:  su - oracle&lt;br /&gt;&lt;br /&gt;$ export ORACLE_SID=orcl1&lt;/pre&gt;&lt;pre&gt;$ srvctl start nodeapps -n linux1&lt;br /&gt;&lt;br /&gt;$ srvctl start asm -n linux1&lt;br /&gt;&lt;br /&gt;$ srvctl start instance -d orcl -i orcl1&lt;br /&gt;&lt;br /&gt;$ emctl start dbconsole&lt;br /&gt;&lt;br /&gt;Start/Stop All Instances with SRVCTL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Stopping the Oracle 10g RAC Cluster 10g Environment: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Run as oracle:  su - oracle&lt;br /&gt;&lt;br /&gt;$ export ORACLE_SID=orcl1&lt;br /&gt;&lt;br /&gt;$ emctl stop dbconsole&lt;br /&gt;&lt;br /&gt;$ srvctl stop instance -d orcl -i orcl1&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: olive;"&gt;srvctl status instance -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname &lt;/i&gt;&lt;/span&gt;&lt;span style="color: olive;"&gt;-i &lt;i&gt;instancename&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$ srvctl stop asm -n linux1 &lt;span style="color: olive;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="color: olive;"&gt;[-o immediate&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;$ srvctl stop nodeapps -n linux1&lt;br /&gt;&lt;br /&gt;Starting the Oracle RAC 10g Environment&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To stop or start both database instances at once: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;$ srvctl start database -d orcl &lt;span style="color: olive;"&gt;[-o open | -o mount | -o nomount&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;$ srvctl stop database -d orcl &lt;span style="color: olive;"&gt;[-o normal | -o transactional | -o immediate | -o abort]&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: olive;"&gt;srvctl status database -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: olive;"&gt;srvctl config database -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname&lt;/i&gt;&lt;/span&gt;&lt;span style="color: olive;"&gt; &lt;/span&gt;(shows instances name, node and oracle home)&lt;code class="km"&gt; ==========&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;Services:&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: olive;"&gt;srvctl status service -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: olive;"&gt; srvctl config service -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: olive;"&gt; srvctl start service -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname &lt;/i&gt;&lt;/span&gt;&lt;span style="color: olive;"&gt;-s &lt;i&gt;servicename&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;srvctl stop service -d &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;dbname &lt;/i&gt;&lt;/span&gt;&lt;span style="color: olive;"&gt;-s &lt;/span&gt;&lt;span style="color: olive;"&gt;&lt;i&gt;servicename&lt;/i&gt;&lt;/span&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code class="km"&gt;７.　lsnrctl PLSExtProc, XDB and XPT&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;PLSExtProc:&lt;/b&gt; This is used to Call OS Commands from PL/SQL using External Procedures. Default in the Listener file.&lt;code class="km"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;the XDB service is used for the XML DB database option&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;the XPT service is used for Dataguard. &lt;br /&gt;&lt;br /&gt;All three of these can be disabled if you are not using their associated features.&lt;code class="km"&gt; &lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4849450608144725343?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4849450608144725343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4849450608144725343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4849450608144725343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4849450608144725343'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/oracle-rac-documentation.html' title='Oracle RAC Documentation'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7471517716357533906</id><published>2011-06-18T09:02:00.008+08:00</published><updated>2011-06-20T08:11:10.581+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle installation'/><title type='text'>Oracle 10g and 11g Installation Documentation for Linux and Windows</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Part I: Documentation from Oracle website itself:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can access &lt;a href="https://apex.oracle.com/pls/apex/f?p=44785:1:0"&gt;https://apex.oracle.com/pls/apex/f?p=44785:1:0&lt;/a&gt; to search all the tags &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Installing Oracle Database 10g on Windows - QBE - including creating oracle user - &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/10g/r2/prod/install/wininst/wininst_otn.htm"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/10g/r2/prod/install/wininst/wininst_otn.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Installing Oracle Database 11g on Windows - QBE -without creating oracle user - &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/dbinst/windbinst2.htm"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/dbinst/windbinst2.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;Installing and Configuring Oracle Enterprise Linux 5 General Availability - including creating oracle user before installing database 11g - &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/oel5gainst/oel5gainst.htm"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/oel5gainst/oel5gainst.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Installating Oracle Database 11g on Linux - QBE -without creating oracle user - &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/dbinst/dbinst.htm"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/dbinst/dbinst.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Installing Oracle Software and Building the Database&amp;nbsp; - QBE - &lt;a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/install/dbinstr2/dbinst.htm"&gt;http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/install/dbinstr2/dbinst.htm&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Part II: Documentation from third-party website:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Installing Oracle on Enterprise Linux &amp;amp; RHEL - &lt;a href="http://wiki.oracle.com/page/Installing+Oracle+on+Enterprise+Linux+%26+RHEL"&gt;http://wiki.oracle.com/page/Installing+Oracle+on+Enterprise+Linux+%26+RHEL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.puschitz.com/InstallingOracle10g.shtml"&gt;http://www.puschitz.com/InstallingOracle10g.shtm &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;10g 64bit installation requirement:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install 10g on RHEL4 64bit - installation requirement , similar with 11g installation steps: &lt;/li&gt;&lt;/ul&gt;- &lt;a href="http://download.oracle.com/docs/cd/B19306_01/install.102/b15667/pre_install.htm"&gt;http://download.oracle.com/docs/cd/B19306_01/install.102/b15667/pre_install.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;yum install xorg-x11-deprecated-libs&lt;/li&gt;&lt;/ol&gt;otherwise ,you will get error message jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or dir afer launching runInstlaler. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp; yum install libaio*&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. run this:&lt;br /&gt;yum install xorg-x11-deprecated-libs&lt;br /&gt;yum install sysstat*&lt;br /&gt;yum install libaio*&lt;br /&gt;yum install unixODBC*&lt;br /&gt;yum install binutils*&lt;br /&gt;yum install compat-db*&lt;br /&gt;yum install gcc-c++*&lt;br /&gt;yum install libstdc++*&lt;br /&gt;yum install make*&lt;br /&gt;yum install sysstat*&lt;br /&gt;yum install glibc*&lt;br /&gt;&amp;nbsp;yum install control-center*&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7471517716357533906?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7471517716357533906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7471517716357533906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7471517716357533906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7471517716357533906'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/oracle-10g-and-11g-installation.html' title='Oracle 10g and 11g Installation Documentation for Linux and Windows'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6966021812385827210</id><published>2011-06-15T19:13:00.004+08:00</published><updated>2011-06-16T19:51:38.654+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><title type='text'>Install Zabbix on CentOS 5.6</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;PHP and Zabbix&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;CentOS 5.6, after installing zabbix server, try to access http://localhost/zabbix/queue.php, it displays empty page, httpd error log shows&lt;br /&gt;[Wed Jun 15 11:08:14 2011] [error] [client 192.168.1.3] PHP Fatal error:&amp;nbsp; Call to undefined function bcscale() in /var/www/html/zabbix/include/defines.inc.php on line 794&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Solution: yum install bcmath&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Check of pre-requisites&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;When accessing &lt;b&gt;&lt;i&gt;http://localhost/zabbix/queue.php, &lt;/i&gt;&lt;/b&gt;we have to pass all the checking as follows:&lt;br /&gt;vi /etc/php.ini to change:&lt;br /&gt;timezone = Australia/Sydney&lt;br /&gt;post_max_size = 32M&lt;br /&gt;upload_max_filesize = 2M&lt;br /&gt;max_execution_time = 600&amp;nbsp;&amp;nbsp;&lt;br /&gt;max_input_time = 600&amp;nbsp; &lt;br /&gt;&lt;br /&gt;yum install php-mbstring&lt;br /&gt;yum install php-gd&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;PHP and PHP53 &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;When you use yum to install php* , you can exclude php53* as follows:&lt;br /&gt;&lt;br /&gt;vi /etc/yum.conf to add&lt;br /&gt;exclude=php53*&lt;br /&gt;&lt;br /&gt;or yum install php* --exclude=php53*&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;References&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.muck.net/?p=16"&gt;&lt;b&gt;http://www.muck.net/?p=16&amp;nbsp; -&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.muck.net/?p=16" rel="bookmark" title="Permanent Link to Installing Zabbix 1.4 on CentOS 5"&gt;Installing Zabbix 1.4 on CentOS 5&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6966021812385827210?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6966021812385827210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6966021812385827210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6966021812385827210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6966021812385827210'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/06/centos-5-faq.html' title='Install Zabbix on CentOS 5.6'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-1554748047838225038</id><published>2011-05-26T14:50:00.005+08:00</published><updated>2011-05-26T16:43:49.540+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>How to make cygwin publickey authentication to work again after upgrading from Windows 2000 to Windows 2003</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2000 server sp4, cygwin sshd, password authentication and public key login were working fine. After upgrading to Windows 2003 sp2 server, cygwin sshd password login still works, but public key login doesn't work anymore&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Objective&lt;/b&gt;: to make ssh public key login work for cygwin after upgrading OS.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. create both sshd and sshd_server user accounts&lt;/b&gt;, sshd is just normal user who belongs to users group, sshd_server needs to be in Administrators groups, otherwise when you ssh into this cygwin server from Linux using public key authentication, you will encounter the errors below:&lt;br /&gt;&lt;br /&gt;ssh from CentOS 4 to cygwin server under win2k03 server sp2:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;debug1: Authentication succeeded (publickey).&lt;br /&gt;debug1: channel 0: new [client-session]&lt;br /&gt;debug1: Entering interactive session.&lt;br /&gt;Last login: Thu May 26 14:06:59 2011 from 165.114.120.117&lt;br /&gt;debug1: client_input_channel_req: channel 0 rtype exit-status reply 0&lt;br /&gt;debug1: channel 0: free: client-session, nchannels 1&lt;br /&gt;Connection to web1 closed.&lt;br /&gt;debug1: Transferred: stdin 0, stdout 0, stderr 34 bytes in 5.1 seconds&lt;br /&gt;debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 6.6&lt;br /&gt;debug1: Exit status 255&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;however, the password login without using public key authentication will work.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;run services.msc to edit cygwin service to logon as user sshd_server and type in password.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Right click on my computer, properties, configure system variables &lt;i&gt;&lt;b&gt;CYGWIN as "ntsec tty",&lt;/b&gt;&lt;/i&gt; use 'set' command under command prompt to confirm it's been set.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. double click cygwin, run 'ssh-host-config' to generate configuration files, answer yes to overwrite and yes for privileges seperation.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. generate /etc/passwd and /etc/group files after user creations for sshd and sshd_server&lt;/b&gt;&lt;br /&gt;under cygwin prompt window, run:&lt;br /&gt;&lt;i&gt;mkpasswd -l &amp;gt; /etc/passwd&lt;br /&gt;mkgroup -l &amp;gt; /etc/group&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. make sure the /var/empty directory has permission like this and it should be empty&lt;/b&gt;&lt;br /&gt;&lt;i&gt;chown sshd_server /var/empty&lt;br /&gt;chmod 755 /var/empty&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;note: you might be able to use cygwin to give permission like this:&lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;pre&gt;$ chown sshd_server /var/log/sshd.log&lt;br /&gt;  $ chown -R sshd_server /var/empty&lt;br /&gt;  $ chown sshd_server /etc/ssh*&lt;/pre&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. make sure /etc directory and /var/log directory and all files under it should be readable by running user sshd_server&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. modify group policy for sshd_server to be able to switch user to sshd for privileges seperation &lt;/b&gt;&lt;br /&gt;run '&lt;b&gt;gpedit.msc&lt;/b&gt;', go to &lt;b&gt;local computer policy - computer configuration - windows settings - security settings - local policies - user rights assignment &lt;/b&gt;&lt;br /&gt;look for '&lt;b&gt;create a token object&lt;/b&gt;', to add sshd_server user inside.&lt;br /&gt;&lt;br /&gt;run '&lt;b&gt;gpupdate&lt;/b&gt;' to refresh group policy immediately, then restart cygwin sshd service.&lt;br /&gt;&lt;br /&gt;Note: you don't have to add sshd_server into 'replace a process token level'.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Error messages and issues:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Isses we encountered:&lt;br /&gt;&lt;b&gt;a. couldnot start up cygwin sshd service&lt;/b&gt;&lt;br /&gt;solution: check /var/log/sshd.log for error message and event log for ssh error, setting correct permission for /etc for sshd_server user to read, and /var/log/sshd.log for sshd_server to read/write &lt;br /&gt;&lt;br /&gt;&lt;b&gt;b. error messages appeared under evern log&lt;/b&gt;&lt;br /&gt;1. The description for Event ID ( 0 ) in Source ( sshd ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: sshd : PID 3996 : &lt;b&gt;fatal: setreuid 1013: Permission denied.&lt;/b&gt;&lt;br /&gt;2. &lt;br /&gt;The description for Event ID ( 0 ) in Source ( sshd ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: sshd : PID 4848 : starting service `' failed: redirect_fd: open (1, /var/log/sshd.log): 13, Permission denied.&lt;br /&gt;3. The description for Event ID ( 0 ) in Source ( sshd ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: sshd : PID 5376 : starting service `sshd' failed: execv: 1, Operation not permitted.&lt;br /&gt;4. The description for Event ID ( 0 ) in Source ( sshd ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: sshd : PID 4588 : starting service `sshd' failed: execv: 128, Transport endpoint is not connected.&lt;br /&gt;5. The description for Event ID ( 0 ) in Source ( sshd ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: sshd : PID 4668 : error: Could not load host key: /etc/ssh_host_key.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;c. error message when you use public key authentication.&lt;/b&gt;&lt;br /&gt;ssh from CentOS 4 to cygwin server under win2k03 server sp2:&lt;br /&gt;&lt;i&gt;# ssh -v SYSMGR@web1&lt;br /&gt;debug1: Authentication succeeded (publickey).&lt;br /&gt;debug1: channel 0: new [client-session]&lt;br /&gt;debug1: Entering interactive session.&lt;br /&gt;Last login: Thu May 26 14:06:59 2011 from 1.2.3.4&lt;br /&gt;debug1: client_input_channel_req: channel 0 rtype exit-status reply 0&lt;br /&gt;debug1: channel 0: free: client-session, nchannels 1&lt;br /&gt;Connection to web1 closed.&lt;br /&gt;debug1: Transferred: stdin 0, stdout 0, stderr 34 bytes in 5.1 seconds&lt;br /&gt;debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 6.6&lt;br /&gt;debug1: Exit status 255&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: small;"&gt;How to setup the secure shell daemon on a Windows 2003 serve&lt;i&gt;r - &lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://ist.uwaterloo.ca/%7Ekscully/CygwinSSHD_W2K3.html"&gt;http://ist.uwaterloo.ca/~kscully/CygwinSSHD_W2K3.html&lt;/a&gt; &lt;/span&gt;&lt;/i&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-1554748047838225038?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/1554748047838225038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=1554748047838225038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1554748047838225038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1554748047838225038'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/05/how-to-make-cygwin-publickey.html' title='How to make cygwin publickey authentication to work again after upgrading from Windows 2000 to Windows 2003'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6325675406832846706</id><published>2011-05-23T14:33:00.000+08:00</published><updated>2011-05-23T14:33:51.803+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='db2'/><title type='text'>How to add additional columns for a table in db2 where default 4k tablespace is not enough</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: RHEL4 32bit with "DB2 v8.1.2.88", "s050422", "MI00117", and FixPak "9". We need to add an additional column for a table, but we encountered error message below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;The row length of the table exceeded a limit of "4005" bytes. (Table space "xxxxx".)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to create a 8k tablespace and migrate this table over to new tablespace&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. backup the table jephe by using the following commands&lt;/b&gt;:(assuming database and schema name are wu, talbe name is jephe)&lt;br /&gt;&lt;br /&gt;# more backup.sql&lt;br /&gt;export to "jephe.txt" of del messages jephe.msg select * from&amp;nbsp; wu.jephe;&lt;br /&gt;CONNECT RESET;&lt;br /&gt;&lt;br /&gt;db2 connect to wu user wu&lt;br /&gt;db2 -tvf backup.sql -l backup.sql.log -s&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. use db2look to extract the whole database ddl statements and grep the necessary table creation statements&lt;/b&gt;&lt;br /&gt;&lt;i&gt;db2look -d wu -e -z wu -o db2look.sql&lt;/i&gt;&lt;br /&gt;vi db2look.sql to search string JEPHE to copy out the table create and alter statements for 'JEPHE' as well as alter statements for other tables which has foreign keys on table 'JEPHE'&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;# more createtable.sql&lt;br /&gt;CREATE TABLE "WU&amp;nbsp;&amp;nbsp; "."JEPHE"&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LIFE_INSURANCE_OID" CHAR(30) NOT NULL ,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ....&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "CONTACT_NUMBER" VARCHAR(200) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN "TB_JEPHE" ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "WU&amp;nbsp;&amp;nbsp;&amp;nbsp; "."JEPHE"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADD PRIMARY KEY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ("LIFE_INSURANCE_OID");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "WU&amp;nbsp;&amp;nbsp;&amp;nbsp; "."JEPHE"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADD CONSTRAINT "SQL050615160106790" FOREIGN KEY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ("BENEFIT_FILE_OID")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REFERENCES "WU&amp;nbsp;&amp;nbsp;&amp;nbsp; "."BINARY_FILE_REPOSITORY"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ("BINARY_FILE_OID")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON DELETE NO ACTION&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON UPDATE NO ACTION&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENFORCED&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENABLE QUERY OPTIMIZATION;&lt;br /&gt;&lt;br /&gt;# following is for another table 'TABLE1' which has foreign key for WU.JEPHE&lt;br /&gt;ALTER TABLE "WU&amp;nbsp;&amp;nbsp;&amp;nbsp; "."TABLE1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADD CONSTRAINT "SQL050615160109840" FOREIGN KEY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ("JEPHE_OID")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REFERENCES "WU&amp;nbsp;&amp;nbsp; "."JEPHE"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ("JEPHE_OID")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON DELETE NO ACTION&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON UPDATE NO ACTION&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENFORCED&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENABLE QUERY OPTIMIZATION;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Note: once you drop table 'WU.JEPHE', the foreign key for WU.TABLE1 will also be gone. After recreating table WU.JEPHE in 8k tablespace, you have to create this foreign key again.&lt;br /&gt;&lt;br /&gt;You also need to extract view creation statements which depends on the table 'WU.JEPHE'. Because you need to create view again after dropping and creating again WU.JEPHE in 8k tablespace.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# more view.sql&lt;br /&gt;create view emp_benefits_life_ins_v as select balabala.&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. create a 8k buiffer pool tablespace and a 8k system temporary tablespace for 'order by' operation on new table wu.jephe, specify container path.&lt;/b&gt;&lt;br /&gt;If you don't create a 8k temporary tablespace, you will encouter the following error message when doing 'order by' operation&lt;br /&gt;&lt;i&gt;&lt;br /&gt;db2 "select * from wu.jephe order by status"&lt;br /&gt;SQL1585N&amp;nbsp; A system temporary table space with sufficient page size does not &lt;br /&gt;exist.&amp;nbsp; SQLSTATE=54048&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;creation statement is as follows for system temporary tablespace:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;CONNECT TO WU;&lt;br /&gt;CREATE&amp;nbsp; SYSTEM TEMPORARY&amp;nbsp; TABLESPACE TEMPSPACE2 PAGESIZE 8 K&amp;nbsp; MANAGED BY SYSTEM&amp;nbsp; USING ('/db2/db2inst1/db/WU/tb_temp2' ) EXTENTSIZE 16 OVERHEAD 10.67 PREFETCHSIZE 16 TRANSFERRATE 0.04 BUFFERPOOL&amp;nbsp; IBM8KBP ;&lt;br /&gt;COMMENT ON TABLESPACE TEMPSPACE2 IS '8k temporary tablespace';&lt;br /&gt;CONNECT RESET;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4 drop table&lt;/b&gt;&lt;br /&gt;login as db2inst1&lt;br /&gt;db2 connect to wu&lt;br /&gt;db2 "drop table wu.jephe"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5 recreate table in 8k tablespace&lt;/b&gt;&lt;br /&gt;db2 connect to wu&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;modify createtable.sql to change &lt;br /&gt;CREATE TABLE "WU&amp;nbsp;&amp;nbsp; "."JEPHE"&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LIFE_INSURANCE_OID" CHAR(30) NOT NULL ,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ....&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "CONTACT_NUMBER" VARCHAR(200) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN "TB_JEPHE" ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;CREATE TABLE "WU&amp;nbsp;&amp;nbsp; "."JEPHE"&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LIFE_INSURANCE_OID" CHAR(30) NOT NULL ,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; balabala&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; ....&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "CONTACT_NUMBER" VARCHAR(200) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN "TB_JEPHE2";&lt;br /&gt;db2 -tvf createtable.sql -l createtable.sql.log -s&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. restore data into table wu.jephe again from backup&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#more restore.sql&lt;br /&gt;import from "jephe.txt" of del messages "jephe.impmsg" insert into wu.jephe;&lt;br /&gt;connect reset;&lt;br /&gt;&lt;br /&gt;db2 connect to wu&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;db2 -tvf restore.sql -l restore.sql.log -s&lt;br /&gt;&lt;br /&gt;import from "jephe.txt" of del messages "jephe.impmsg" insert into wu.jephe&lt;br /&gt;&lt;br /&gt;Number of rows read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 77&lt;br /&gt;Number of rows skipped&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;br /&gt;Number of rows inserted&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 77&lt;br /&gt;Number of rows updated&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;br /&gt;Number of rows rejected&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&lt;br /&gt;Number of rows committed&amp;nbsp;&amp;nbsp;&amp;nbsp; = 77&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. run command to add additional comumns for new table wu.jephe&lt;/b&gt;&lt;br /&gt;# more command.sql&lt;br /&gt;alter table wu.jephe add column contact_detail varchar(250);&lt;br /&gt;&lt;br /&gt;db2 connect to wu&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;db2 -tvf command.sql -l command.sql.log -s&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8. grant permission for table WU.JEPHE and related views from db2 control center GUI&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6325675406832846706?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6325675406832846706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6325675406832846706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6325675406832846706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6325675406832846706'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/05/how-to-add-additional-columns-for-table.html' title='How to add additional columns for a table in db2 where default 4k tablespace is not enough'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4716152614842782047</id><published>2011-05-12T21:19:00.000+08:00</published><updated>2011-05-14T04:32:29.383+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mod_proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='openssl'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>How to compile mod_proxy module additionally while the Apache httpd is running</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 4.4 32bit web server,&amp;nbsp; Apache web server is running within chroot environment, it's also Cognos web gateway server.&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: we need to enable mod_proxy module to use reverse proxy method&amp;nbsp; instead of using web gateway method to make httpd to take to Cognos server on application network segmen. (As somehow the cognos web gateway is not able to take to Cognos server anymore unless using reverse proxy method)&lt;br /&gt;&lt;br /&gt;Tried to use apxs to compile mod_proxy.c and mod_proxy_http.c, it's not working. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; find out the apache httpd version first&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cd /usr/local/chroot/usr/local/apache2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;bin/httpd -V&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. find out the original compiling options &lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cd /usr/local/chroot/usr/local/apache2/build&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cat config.nice&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;[root@web1 build]# more config.nice&lt;br /&gt;#! /bin/sh&lt;br /&gt;#&lt;br /&gt;# Created by configure&lt;br /&gt;&lt;br /&gt;"./configure" \&lt;br /&gt;"--prefix=/usr/local/apache2" \&lt;br /&gt;"--enable-mods-shared=all" \&lt;br /&gt;"--enable-ssl=shared" \&lt;br /&gt;"--enable-rewrite=shared" \&lt;br /&gt;"--enable-headers=shared" \&lt;br /&gt;"--enable-expires=shared" \&lt;br /&gt;"--enable-cern-meta=shared" \&lt;br /&gt;"--enable-unique-id=shared" \&lt;br /&gt;"--enable-mime-magic=shared" \&lt;br /&gt;"--with-ssl=/usr/local/ssl" \&lt;br /&gt;"$@"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. find where the original Apache httpd installation files are, then compile mod_proxy.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;"./configure" &lt;b&gt;"--prefix=/usr/local/apache2_test"&lt;/b&gt; "--enable-mods-shared=all" "--enable-ssl=shared" "--enable-rewrite=shared" &lt;b&gt;"--enable-proxy=shared"&lt;/b&gt; "--enable-headers=shared" "--enable-expires=shared" "--enable-cern-meta=shared" "--enable-unique-id=shared" "--enable-mime-magic=shared" "--with-ssl=/usr/local/ssl" "$@" &lt;br /&gt;&lt;br /&gt;use different installation prefix directory, then run 'make;make install' to install everything into /usr/local/apache2_test.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. copy necessary mod_proxy modules into /usr/local/chroot/usr/local/apache2/modules/&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cd /usr/local/chroot/usr/local/apache2/modules/&lt;br /&gt;cp /usr/local/apache2_test/modules/mod_proxy.so .&lt;br /&gt;cp /usr/local/apache2_test/modules/mod_proxy_http.so .&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. modify /usr/local/chroot/usr/local/apache2/conf/httpd.conf to enable mod_proxy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;LoadModule proxy_module modules/mod_proxy.so&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;LoadModule proxy_http_module modules/mod_proxy_http.so&lt;br /&gt;#LoadModule proxy_connect_module modules/mod_proxy_connect.so&lt;br /&gt;#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;6. configure virutalhost to enable mod_proxy directives&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RewriteEngine On&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RewriteRule .* - [F]&lt;br /&gt;&lt;br /&gt;rewriterule ^/reporting/(.*) http://10.0.0.1/cognos8/$1 [P,L]&lt;br /&gt;rewriterule ^/cognos8/(.*) http://10.0.0.1/cognos8/$1 [P,L]&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;7. use USR1 to kill Apache parent process&lt;/b&gt;&lt;br /&gt;ps -efH to find out the parent process id&lt;br /&gt;then &lt;i&gt;kill -USR1 thatid&lt;/i&gt;&lt;br /&gt;ps -efH to check again.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4716152614842782047?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4716152614842782047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4716152614842782047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4716152614842782047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4716152614842782047'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/05/how-to-compile-modproxy-module.html' title='How to compile mod_proxy module additionally while the Apache httpd is running'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7721367126778356768</id><published>2011-05-10T10:11:00.002+08:00</published><updated>2011-05-10T10:12:17.613+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIP'/><category scheme='http://www.blogger.com/atom/ns#' term='ntfsclone'/><title type='text'>How to backup Windows NTFS partitions before upgrading</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: Upgrade Windows 2000 sp4 standalone server to Windows 2003 server standard edition, in case of failure, we are still able to restore back to Windows 2000 server&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows 2000 sp4 server, Dell PowerEdge 2450 server, 10G basic NTFS partition for C drive with 5G free space&lt;br /&gt;&lt;b&gt;Tools needed for backup NTFS partition&lt;/b&gt;: RIP(Recovery Is Possible) CD 12.3 non-X edition - &lt;a href="http://www.tux.org/pub/people/kent-robotti/looplinux/rip/"&gt;http://www.tux.org/pub/people/kent-robotti/looplinux/rip/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;1. boot up with RIP non-X 12.3 CD, choose the second option which is without keyborad mapping,login as root without password&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;If you need to do it remotely,start up ssh by running&lt;b&gt; /usr/sbin/sshd&lt;/b&gt;, then '&lt;b&gt;passwd root&lt;/b&gt;' to give root password&lt;br /&gt;&lt;br /&gt;2. connect a external 300G hard disk with USB cable, we are going to backup C drive to external hard disk&lt;br /&gt;&lt;br /&gt;3. mount external hard disk ntfs partition as read/write under RIP Linux&lt;br /&gt;&lt;i&gt;&lt;b&gt;mount.ntfs-3g /dev/sdc1 /mnt/usb&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ntfsclone -s - /dev/sda2 | gzip -c | cat &amp;gt; /mnt/usb/jephe.sda2.gz&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;4. backup mbr of /dev/sda&lt;br /&gt;&lt;i&gt;&lt;b&gt;dd if=/dev/sda count=1 bs=512 of=/mnt/usb/jephe.dd.mbr&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;5. in case of failure for upgrade, you can restore mbr and C drive back&lt;br /&gt;&lt;i&gt;&lt;b&gt;dd if=/mnt/usb/jephe.dd.mbr of=/dev/sda&lt;br /&gt;gzip -dc /mnt/usb/jephe.sda2.gz | ntfsclone -r - -O /dev/sda2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;6. If you need to backup C drive and MBR to network server through ssh connection, please refer to article &lt;br /&gt;Cloning Windows server - using RIP and ntfsclone&lt;br /&gt;at &lt;a href="http://linuxtechres.blogspot.com/2007/07/cloning-windows-server-using-rip-and.html"&gt;http://linuxtechres.blogspot.com/2007/07/cloning-windows-server-using-rip-and.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. While Windows 2000 server is running, as an administrator in the I386 directory on the Windows 2003 CD run &lt;b&gt;Winnt32.exe&lt;/b&gt; and follow the prompts.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7721367126778356768?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7721367126778356768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7721367126778356768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7721367126778356768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7721367126778356768'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/05/how-to-backup-windows-ntfs-partitions.html' title='How to backup Windows NTFS partitions before upgrading'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-192057521160992457</id><published>2011-04-20T15:53:00.001+08:00</published><updated>2011-04-20T16:17:10.087+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><category scheme='http://www.blogger.com/atom/ns#' term='db2'/><title type='text'>How to restore db2 database to specified date and restore the deleted records from certain table</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scenario&lt;/b&gt;: single DB2 instance and database db1, database transaction log is enabled, partial data of some tables in schema 'jephe' were deleted accidently. As this is a production database used by many different clients/schemas, we cannot restore back as the client only realized this accident one week later after deletion.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution&lt;/b&gt;: restore monthly database full backup plus the transaction logs just before the time which deletion happened on another server(DR?). Then use db2 export and db2 import to import back those deleted data.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment:&lt;/b&gt; RHEL5, IBM DB2 UDB 9.1 fixpack 3.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. restore the monthly full online database backup to /db2/db2inst1 directory&lt;/b&gt;&lt;br /&gt;db2 "restore database db1 from /data to /db2/db2inst1 into db1dr with 2 buffers buffer 1024 parallelism 1 without prompting"&lt;br /&gt;&lt;br /&gt;note: /data is the directory where the database full backup image exists.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. get all the transaction log files after that full backup and before the deletion time&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. copy all the necessary log files to the /data/db2log/DB1/logs, then run the following command:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;db2 "rollforward database db1dr to 2011-04-19-11.30.00.000000 using local time and complete overflow log path (\"/data/db2log/DB1/logs\")"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;PLease refer to my last time blog at &lt;a href="http://linuxtechres.blogspot.com/2010/07/how-to-onlineoffline-backup-and-restore.html"&gt;http://linuxtechres.blogspot.com/2010/07/how-to-onlineoffline-backup-and-restore.html&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. backup those tables on production database first in case they are destroyed during import process&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# more backup.sh&lt;/i&gt;&lt;br /&gt;&lt;i&gt;cd /db2/db2inst1/scripts/20110420_restore/backup&lt;br /&gt;db2 connect to db1&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;db2 "export to \"./table1\" of del messages \"./table1.msg\" select * from table1"&lt;br /&gt;db2 "export to \"./table2\" of del messages \"./table2.msg\" select * from table2"&lt;br /&gt;db2 "export to \"./table3\" of del messages \"./table3.msg\" select * from table3"&lt;br /&gt;db2 terminate&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;5. extract those deleted data first from restored DR database server&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# more extract.sh&lt;/i&gt;&lt;br /&gt;&lt;i&gt;cd /home/db2inst1&lt;br /&gt;db2 connect to db1dr&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;db2 "export to \"./table1\" of del messages \"./table1.msg\" select * FROM table1 WHERE balabala-same statement used during deletion"&lt;br /&gt;db2 "export to \"./table2\" of del messages \"./table2.msg\" select * FROM table2 WHERE balabala-same statement used during deletion"&lt;br /&gt;db2 "export to \"./table3\" of del messages \"./table3.msg\" select * FROM table3 where balabala-same statement used during deletion"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. import back to the production database (the sequence for importing might be different from the original deletion sequence as it might depends on foreign key or something)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# more import.sh&lt;/i&gt;&lt;br /&gt;&lt;i&gt;cd /db2/db2inst1/scripts/20110420_restore/&lt;br /&gt;db2 connect to db1&lt;br /&gt;db2 set schema = jephe&lt;br /&gt;db2 "import from \"./table3\" of del messages \"./table1.imp\" insert into table1"&lt;br /&gt;db2 "import from \"./table2\" of del messages \"./table2.imp\" insert into table2"&lt;br /&gt;db2 "import from \"./table1\" of del messages \"./table3.imp\" insert into table3"&lt;br /&gt;db2 terminate&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-192057521160992457?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/192057521160992457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=192057521160992457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/192057521160992457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/192057521160992457'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/04/how-to-restore-db2-database-to.html' title='How to restore db2 database to specified date and restore the deleted records from certain table'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-1065074687268943596</id><published>2011-04-08T18:50:00.004+08:00</published><updated>2011-08-26T19:34:33.696+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqlplus'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to make sqlplus more friendly</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: to solve some issues with sqlplus such as backspace and command history&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 5.5 64bit, Oracle 11g 64bit, putty or Xshell ssh client&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;br /&gt;1. History command&lt;/b&gt;&lt;br /&gt;Original sqlpuls doesn't support history commands, you can use rlwrap.&lt;br /&gt;&lt;br /&gt;a. download rlwrap from &lt;a href="http://utopia.knoware.nl/%7Ehlub/rlwrap/"&gt;http://utopia.knoware.nl/~hlub/rlwrap/&lt;/a&gt;&lt;br /&gt;b. tar xvpfz rlwrap-0.37.tar.gz&lt;br /&gt;c. ./configure; make; make install&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. put the following into ~oracle/.bash_profile&lt;/b&gt;&lt;br /&gt;stty erase ^H&amp;nbsp; (ctrl + V, then H) &lt;br /&gt;# for some ssh client, you might need to use stty erase '^?' (that's shift+6+?)&lt;br /&gt;alias sqlplus='rlwrap sqlplus'&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. run sqlplus normally&lt;/b&gt; like sqlpluls / as sysdba, now you can easily use history commands and move cursors&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "ca-pub-2326791955539700";/* ad1 */google_ad_slot = "2289204159";google_ad_width = 468;google_ad_height = 60;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-1065074687268943596?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/1065074687268943596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=1065074687268943596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1065074687268943596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1065074687268943596'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/04/how-to-make-sqlplus-more-friendly.html' title='How to make sqlplus more friendly'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-2826574595015947011</id><published>2011-04-06T11:58:00.002+08:00</published><updated>2011-04-06T12:02:32.919+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='awr'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to use bash script to send out Oracle AWR report automatically</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: write bash shell script as cronjob to send out Oracle AWR report every 2 hours automatically&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Oracle 11g 11.1.0.6 64bit default installation, CentOS 5.5 64bit&lt;br /&gt;&lt;b&gt;Concept:&lt;/b&gt; use base number and current unix seconds to get the latest snap id, use the latest snap id to get the begin snap id(current snap id -2). Use template awrrpt.sql file to generate the predefined filename, num_days, begin snap id and end snap id.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. preparing the template files &lt;/b&gt;&lt;br /&gt;&lt;i&gt;cd $ORACLE_HOME/rdbms/admin&lt;/i&gt;&lt;br /&gt;# do not touch the original file awrrpt.sql and awrrpti.sql, use awr.sql and awri.sql instead.&lt;br /&gt;&lt;i&gt;cp awrrpt.sql awrtemp.sql&lt;br /&gt;cp awrrpti.sql awri.sql&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;vi awri.sql --&amp;gt; &lt;i&gt;&lt;b&gt;to append 'exit;' at the end of the file&lt;/b&gt;&lt;/i&gt; so that sqlplus will exit automatically during script run&lt;br /&gt;vi awrtemp.sql &lt;b&gt;&lt;i&gt;to modify it like this:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;--------------- &lt;br /&gt;select d.dbid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbid&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , d.name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , i.instance_number inst_num&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , i.instance_name&amp;nbsp;&amp;nbsp; inst_name&lt;br /&gt;&amp;nbsp; from v$database d,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v$instance i;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;define num_days = '1';&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;define report_type = 'html'; &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;define report_name = 'TEMPLATE0';&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;define begin_snap = 'TEMPLATE1';&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;define end_snap = 'TEMPLATE2';&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;@@awri&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;--&lt;br /&gt;-- End of file&lt;br /&gt;-------------------------&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. get the latest snap id unix timestamp(seconds)&lt;/b&gt;&lt;br /&gt;&lt;i&gt;sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/awrrpt.sql&lt;/i&gt;&lt;br /&gt;----------&lt;br /&gt;Enter value for num_days: 1&lt;br /&gt;&lt;br /&gt;Listing the last day's Completed Snapshots&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Snap&lt;br /&gt;Instance&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DB Name&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Snap Id&amp;nbsp;&amp;nbsp;&amp;nbsp; Snap Started&amp;nbsp;&amp;nbsp;&amp;nbsp; Level&lt;br /&gt;------------ ------------ --------- ------------------ -----&lt;br /&gt;orcl&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORCL&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12953 06 Apr 2011 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12954 06 Apr 2011 01:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12955 06 Apr 2011 02:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12956 06 Apr 2011 03:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12957 06 Apr 2011 04:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12958 06 Apr 2011 05:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12959 06 Apr 2011 06:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12960 06 Apr 2011 07:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12961 06 Apr 2011 08:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12962 06 Apr 2011 09:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12963 06 Apr 2011 10:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12964 06 Apr 2011 11:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Specify the Begin and End Snapshot Ids&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;Enter value for begin_snap: &lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;we use the latest snap id 12964 as base number, let's convert it to unix timestamp.&lt;br /&gt;date --date="Wed Apr&amp;nbsp; 6 11:00:00 SGT 2011" +%s&lt;br /&gt;1302058800&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. preparing shell script &lt;/b&gt;&lt;br /&gt;[oracle@hpaydb admin]$ more ~/bin/awr.sh&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;export ORACLE_SID=orcl&lt;br /&gt;export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1&lt;br /&gt;export PATH=$ORACLE_HOME/bin:/usr/bin:/bin&lt;br /&gt;&lt;br /&gt;# variables&lt;br /&gt;SEC=`date +%s`&lt;br /&gt;INIT=12964&lt;br /&gt;INCR=`echo "($SEC-1302058800)/3600" | bc`&lt;br /&gt;#1302058800 is&amp;nbsp; Wed Apr&amp;nbsp; 6 11:00:00 SGT 2011&lt;br /&gt;SNAPEND=$[$INIT+$INCR]&lt;br /&gt;SNAPBEGIN=$[${SNAPEND}-2]&lt;br /&gt;&lt;br /&gt;# program starts here , do not change anything below&lt;br /&gt;sed -e "s#TEMPLATE1#$SNAPBEGIN#g" -e "s#TEMPLATE2#$SNAPEND#g" -e "s#TEMPLATE0#/tmp/prod_awr_${SNAPBEGIN}_${SNAPEND}.html#g" $ORACLE_HOME/rdbms/admin/&lt;b&gt;awrtemp.sql &lt;/b&gt;&amp;gt; $ORACLE_HOME/rdbms/admin/&lt;b&gt;awr.sql&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/&lt;b&gt;awr.sql&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# send out email&lt;br /&gt;rm -f /tmp/prod_alert_awr_$SNAPEND.zip&lt;br /&gt;zip -r /tmp/prod_alert_awr_$SNAPEND.zip /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log /tmp/prod_awr_${SNAPBEGIN}_${SNAPEND}.html&lt;br /&gt;mutt -a /tmp/prod_alert_awr_$SNAPEND.zip -s "Prod alert log and AWR report between snap id $SNAPBEGIN and $SNAPEND" jephewu_email_address &amp;lt; /dev/null&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. put in cronjob&lt;/b&gt;&lt;br /&gt;login as oracle, crontab -e&lt;br /&gt;30 */2 * * * /home/oracle/bin/awr.sh&lt;br /&gt;# every 2 hours to send out report&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. References&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. convert unix second to normal date&lt;/i&gt;&lt;br /&gt;date -d @1187769064&lt;br /&gt;&lt;i&gt;b. put the following into /home/oracle/bin/awr to simplify the normal awr report generation&lt;/i&gt;&lt;br /&gt;[oracle@hpaydb admin]$ more ~/bin/awr&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/awrrpt.sql &lt;br /&gt;&lt;br /&gt;chmod +x ~/bin/awr&lt;br /&gt;Just run awr to generate normal awr report and awr.sh to generate awr every 2 hours automatically.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-2826574595015947011?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/2826574595015947011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=2826574595015947011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2826574595015947011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/2826574595015947011'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/04/how-to-use-bash-script-to-send-out.html' title='How to use bash script to send out Oracle AWR report automatically'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-859260543400723644</id><published>2011-04-04T23:25:00.001+08:00</published><updated>2011-04-08T18:34:58.919+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dbua'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to upgrade Oracle 11g 64bit from 11.1.0.6 to 11.1.0.7</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: easily upgrade Oracle 11g to 11.1.0.7&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 5.5 64bit, Oracle 11g 11.1.0.6&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. ssh into server as user 'oracle', then type in 'vncserver'&lt;br /&gt;2. From windows pc, use vncviewer to connect to server.&lt;br /&gt;3. at xterm windows, run Oracle installer, use the same path as what 11.1.0.6 is using. You cannot choose the different path.&lt;br /&gt;4. follow the screen instruction to finish upgrading&lt;br /&gt;5. use dbua command to finished database upgrading&lt;br /&gt;6. lsnrctl start, sqlplus / as sysdba ; alter system register&lt;br /&gt;7. database should has already been started by dbua itself.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-859260543400723644?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/859260543400723644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=859260543400723644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/859260543400723644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/859260543400723644'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/04/how-to-upgrade-oracle-11g-64bit-from.html' title='How to upgrade Oracle 11g 64bit from 11.1.0.6 to 11.1.0.7'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5991901119365436944</id><published>2011-04-04T18:40:00.002+08:00</published><updated>2011-04-04T23:18:56.455+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pf'/><category scheme='http://www.blogger.com/atom/ns#' term='ftp-proxy'/><title type='text'>How to enable ftp client to access ftp server behind FreeBSD firewall</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: allow the users on the LAN who are using Squid proxy (10.0.0.1) to be able to access ftp sites.&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: OpenBSD 4.5(1.2.3.4/10.0.0.2), Squid client(10.0.0.1) behind this OpenBSD firewall&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Internet[1.2.3.4]OpenBSD4.5[10.0.0.2]&amp;lt;-&amp;gt;[10.0.0.1]Squid/Web/DNS server&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;-&amp;gt;[10.0.0.10]sysadmin pc&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. modify /etc/rc.conf to enable ftpproxy&lt;/b&gt;&lt;br /&gt;vi /etc/rc.conf to change ftpproxy_flag from NO to YES&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. enable pf.conf for ftp outgoing and incoming web/dns requests&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ext_if="fxp1"&lt;br /&gt;int_if="fxp0"&lt;br /&gt;&lt;br /&gt;set block-policy return&lt;br /&gt;set loginterface $ext_if&lt;br /&gt;&lt;br /&gt;set skip on lo&lt;br /&gt;&lt;br /&gt;# scrub incoming pcakets like you cannot set both SYN and FIN&lt;br /&gt;scrub in all&lt;br /&gt;&lt;br /&gt;# ftpproxy&lt;br /&gt;&lt;b&gt;nat-anchor "ftp-proxy/*"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;rdr-anchor "ftp-proxy/*"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Redirect ftp traffic to proxy&lt;br /&gt;&lt;b&gt;rdr pass proto tcp from any to any port ftp -&amp;gt; 127.0.0.1 port 8021&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# let squid proxy act as web server and dns server&lt;br /&gt;rdr pass on $ext_if proto tcp from any to 1.2.3.4/32 port {80,443} -&amp;gt; 10.0.0.1&lt;br /&gt;rdr pass on $ext_if proto udp from any to 1.2.3.4/32 port 53 -&amp;gt; 10.0.0.1&lt;br /&gt;&lt;br /&gt;# squid proxy server can go to anywhere&lt;br /&gt;nat pass on $ext_if from 10.0.0.1 to any -&amp;gt; 1.2.3.4&lt;br /&gt;&lt;br /&gt;# setup a default deny policy&lt;br /&gt;block in all&lt;br /&gt;&lt;br /&gt;# activate spoofing protection for all interfaces&lt;br /&gt;block in quick from urpf-failed&lt;br /&gt;&lt;br /&gt;# anchor for ftpproxy&lt;br /&gt;&lt;b&gt;anchor "ftp-proxy/*"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# pass tcp, udp, and icmp out on the external (Internet) interface.&lt;br /&gt;# tcp connections will be modulated, udp/icmp will be tracked statefully&lt;br /&gt;pass out modulate state&lt;br /&gt;&lt;br /&gt;antispoof quick for { lo $int_if }&lt;br /&gt;pass in quick on $ext_if inet proto icmp all icmp-type { echorep, timex, unreach }&lt;br /&gt;&lt;br /&gt;pass in quick on $ext_if proto udp to 1.2.3.4 port 53 keep state&lt;br /&gt;pass in quick on $ext_if proto tcp to 1.2.3.4 port {80,443} synproxy state&lt;br /&gt;&lt;br /&gt;# use synproxy for internal host 10.0.0.0/24&lt;br /&gt;pass in quick on $int_if proto tcp from 10.0.0.0/24 to $int_if port ssh synproxy state&lt;br /&gt;&lt;br /&gt;# allow admin pc for anything &lt;br /&gt;pass in quick on $int_if from 10.0.0.10/24&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. startup ftp proxy&lt;/b&gt;&lt;br /&gt;&lt;i&gt;ftp-proxy&lt;/i&gt;&lt;br /&gt;&lt;i&gt;pfctl -f /etc/pf.conf&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;a. &lt;a href="http://www.cyberciti.biz/faq/freebsd-opebsd-pf-firewall-ftp-configuration/"&gt;http://www.cyberciti.biz/faq/freebsd-opebsd-pf-firewall-ftp-configuration/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5991901119365436944?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5991901119365436944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5991901119365436944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5991901119365436944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5991901119365436944'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/04/how-to-enable-ftp-client-to-access-ftp.html' title='How to enable ftp client to access ftp server behind FreeBSD firewall'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-5982048883645478124</id><published>2011-03-14T15:32:00.003+08:00</published><updated>2011-03-14T15:48:13.390+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rhnreg_ks'/><category scheme='http://www.blogger.com/atom/ns#' term='RHN'/><category scheme='http://www.blogger.com/atom/ns#' term='rhn_register'/><title type='text'>How to register with RHN</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective:&lt;/b&gt; summarize a few ways to register RHEL5 system with RHN&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: RHEL5, Squid proxy, RHN&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; Configure /etc/sysconfig/rhn/up2date first&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;make sure the following lines are there.&lt;br /&gt;&lt;i&gt;serverURL=https://xmlrpc.rhn.redhat.com/XMLRPC&lt;br /&gt;sslCACert=/usr/share/rhn/RHNS-CA-CERT&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;# ls -l /usr/share/rhn/RHNS-CA-CERT&amp;nbsp; [file should be present]&lt;br /&gt;&lt;br /&gt;If you are using Squid http proxy, configure this:&lt;br /&gt;&lt;i&gt;enableProxy=1&lt;br /&gt;httpProxy=ip/name:port&lt;br /&gt;proxyUser=&lt;br /&gt;proxyPasword=&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. how to identify it's Oracle Linux or RHEL&lt;/b&gt;&lt;br /&gt;a. cat /usr/share/rhn/RHNS-CA-CERT to see it's Oracle or Redhat&lt;br /&gt;b. more /etc/issue.net or more /etc/issue&lt;br /&gt;c. rpm -qi kernel to check Vendor part and Build Host&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. registration &lt;/b&gt;&lt;br /&gt;3.1 - interactive way - rhn_register&amp;nbsp; (configure proxy in step 1 first before use, if you are using proxy. or use&lt;br /&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;rhn_register --help to specify proxy settings)&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;If you have already registered before and &lt;tt class="filename"&gt;/etc/sysconfig/rhn/systemid&lt;/tt&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;exists on the system, &lt;tt class="command"&gt;rhn_register&lt;/tt&gt; first asks if you are sure that&amp;nbsp;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;you would like to register in this way.&lt;code class="jive-code"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;3.2 - non-interactive way - rhnreg_ks (kickstart style)&lt;br /&gt;&lt;br /&gt;activationkey method (&lt;a href="https://access.redhat.com/kb/docs/DOC-2395"&gt;https://access.redhat.com/kb/docs/DOC-2395&lt;/a&gt;, need management entitlement)&amp;nbsp; &lt;br /&gt;e.g. rhnreg_ks --profilename=jephe --activationkey=1-2b48feedf5b5a0e0609ae028d9275c93&lt;br /&gt;&lt;br /&gt;username/password method (for security reason, you need to clear history commands, use&lt;i&gt;&lt;b&gt; history -d &lt;/b&gt;or&lt;b&gt; history -c and clear commands) &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;e.g. rhnreg_ks --profilename "jephe" --username "username" --password "password" [--force]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. references&lt;/b&gt;&lt;br /&gt;a. RHN FAQ - &lt;a href="https://access.redhat.com/kb/docs/DOC-16303"&gt;https://access.redhat.com/kb/docs/DOC-16303&lt;/a&gt;&lt;br /&gt;b. How to register with RHN - &lt;a href="https://access.redhat.com/kb/docs/DOC-11217"&gt;https://access.redhat.com/kb/docs/DOC-11217&lt;/a&gt;&lt;br /&gt;c. rhnreg_ks command: - &lt;a href="https://access.redhat.com/kb/docs/DOC-2395"&gt;https://access.redhat.com/kb/docs/DOC-2395&lt;/a&gt;&lt;br /&gt;d. using rhn_register, up2date or yum to access RHN, RHN Satellite or RHN proxy via an HTTP proxy&lt;br /&gt;- &lt;a href="https://access.redhat.com/kb/docs/DOC-9826"&gt;https://access.redhat.com/kb/docs/DOC-9826&lt;/a&gt;&lt;br /&gt;e. activationkey (&lt;a href="https://access.redhat.com/kb/docs/DOC-2395"&gt;https://access.redhat.com/kb/docs/DOC-2395&lt;/a&gt;, need management entitlement)&lt;br /&gt;f. difference between all kinds of entitlements: &lt;a href="https://access.redhat.com/kb/docs/DOC-11277"&gt;https://access.redhat.com/kb/docs/DOC-11277&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-5982048883645478124?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/5982048883645478124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=5982048883645478124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5982048883645478124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/5982048883645478124'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/03/how-to-register-with-rhn.html' title='How to register with RHN'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6428472868066784338</id><published>2011-03-10T16:04:00.000+08:00</published><updated>2011-03-10T16:04:09.271+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gpg'/><title type='text'>GPG Concept and Usages</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: understanding how gpg works and command usages &lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: RHEL or CentOS, GnuPG&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Concepts:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. keypair generation&lt;/b&gt;&lt;br /&gt;When you generate a pair of gpg keys by using command 'gpg --gen-key', basically you generated two pair of keys, one is used for DSA signature, another is for encryption/decryption(Elgamal). Private key contains the private part for both DSA and Elgamal keys, Public key contains the public part for both DSA and Elgamal keys.&lt;br /&gt;&lt;br /&gt;You can use private key or public key to sign or encrypt file, then send to the peer. Or you can encrypt and sign at the same time.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;when to use sign only?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;If you need to publish a software to the public, in this case, the software itself is not confidential, you don't have to encrypt it. You can sign the software itself, in this case, you attach you signature at the end of the software. Or just put software itself on the website, then upload your signed result(.sig for binary file and .asc for ascii file) on the website for users to verify the signature of your software. Of course, user needs to get your master sign key(a part of public key) first. In order to let user to make sure that public key/sign key beglongs to you, you can put on your website for user to download. Or in personal email communcation case, just email public key to the peer.&lt;br /&gt;&lt;br /&gt;If you need to communicate with your friends with some secret messages, like password, bank statements etc, you might need to use both encrypt/sign functions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. when you received a public key, what to do?&lt;/b&gt;&lt;br /&gt;Firstly, you need to import to your public key ring, then you need to make sure it's from the real person you'd like to communicate with. If you received it through email or downloaded from that person's website, you will be pretty sure it's from that person, if not, you can check the fingerprint of that public key then call the person to confirm:&lt;br /&gt;&lt;br /&gt;gpg --import jephe.gpg&lt;br /&gt;&lt;br /&gt;gpg --fingerprint # get the fingerprint of the master public sign key&lt;br /&gt;gpg --sign-key "emailaddress or name"&lt;br /&gt;&lt;br /&gt;or run commands below to sign the key to validate it.&lt;br /&gt;gpg --edit-key "emailadddress or name"&lt;br /&gt;fpr&lt;br /&gt;sign&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. how gpg sign files &lt;/b&gt;(what does it mean for 'good signature' after decrypting encrypted/signed file)&lt;br /&gt;The following paragraph is from &lt;a href="http://www.glump.net/howto/gpg_intro"&gt;http://www.glump.net/howto/gpg_intro&lt;/a&gt;.&lt;br /&gt;When GPG creates a digital signature, it doesn't encrypt the entire file with the signer's private key. Instead, it computes a hash value,6) encrypts that, and appends it to the original data as the signature. This makes it possible to create signed files that are readable without any encryption software, and aren't significantly larger; GPG is needed only to verify the authenticity of the file.&lt;br /&gt;&lt;br /&gt;To verify a signature, GPG reads the data that was signed and computes its hash value. Then it decrypts the signature, using the signer's public key, to obtain the true hash value. If the two hash values match, the signature is valid and the data you have is exactly the data the signer had when he created the signature. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;3.1 how to sign a file?&lt;/i&gt;&lt;br /&gt;&lt;i&gt;a. gpg -s # sign a file and append signature information to the file&lt;/i&gt;. No matter the file is ascii or binary file&lt;br /&gt;&lt;br /&gt;&lt;i&gt;b. For ascii files, you can also use --clearsign feature&lt;/i&gt;, for example.&lt;br /&gt;&amp;nbsp;# gpg -r jephe@domain.com --clearsign hosts&amp;nbsp; # in this case, the original text and signature are in the same file.&lt;br /&gt;# cat hosts.asc&lt;br /&gt;-----BEGIN PGP SIGNED MESSAGE-----&lt;br /&gt;Hash: SHA1&lt;br /&gt;&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; localhost.localdomain localhost&lt;br /&gt;10.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jephe.domain.com&amp;nbsp;&amp;nbsp;&amp;nbsp; jephe&lt;br /&gt;&lt;br /&gt;-----BEGIN PGP SIGNATURE-----&lt;br /&gt;Version: GnuPG v1.2.6 (GNU/Linux)&lt;br /&gt;&lt;br /&gt;iD8DBQFNeH45bkqqCc9zAksRAtwvAKCzxPtS8VajyPVL69+5L1KhOcHsPACgoAUf&lt;br /&gt;bD+LeQhMSMkLqt41+mwHTOM0&lt;br /&gt;=Wnmj&lt;br /&gt;-----END PGP SIGNATURE-----&lt;br /&gt;&lt;br /&gt;You can verify the signature by using 'gpg --verify hosts.asc'.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c. sign a binary file with detached signature&lt;/i&gt; (doc and zip files are not allowed for appending to it)&lt;br /&gt;gpg -r jephe@domain.com -o file.zip.sig --detach-sign file.zip&lt;br /&gt;&lt;br /&gt;Note: you need to use only .sig or .asc as detached file name. And, when you use gpg --verify to verify signature, you need to have original file and signature file at the same current directory, otherwise, gpg will report 'bad signature' because gpg needs the original data file to calculate hash value. Pls refer to point 3.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. other usages&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. use symmetric key to encrypt/decrypt file&lt;/i&gt;&lt;br /&gt;gpg -c files&lt;br /&gt;&lt;br /&gt;&lt;i&gt;b. decrypting files automatically &lt;/i&gt;&lt;br /&gt;echo PASSPHRASE| gpg --passphrase-fd 0 OPTIONS COMMAND&lt;br /&gt;or&lt;br /&gt;cat filecontainspassphrase | gpg --passphrase-fd 0 OPTIONS COMMAND&lt;br /&gt;&lt;br /&gt;&lt;i&gt;c. Encrypting for Multiple Recipients&lt;/i&gt;&lt;br /&gt;You can specify more than one people who need to decrypt your file, gpg will use public keys from all these people to encrypt file in such a way that any one of their private key can decrypt the file.&lt;br /&gt;gpg -e -r user1 -r user2&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6428472868066784338?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6428472868066784338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6428472868066784338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6428472868066784338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6428472868066784338'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/03/gpg-concept-and-usages.html' title='GPG Concept and Usages'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3071383880656399683</id><published>2011-03-05T22:05:00.002+08:00</published><updated>2011-03-05T22:31:46.776+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIP'/><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><title type='text'>Use RIP CD to fix the grub issue after RHEL 5 hard power shutdown</title><content type='html'>&lt;i&gt;Jephe Wu -&amp;nbsp; &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;h1 class="firstHeading" id="firstHeading"&gt;&lt;span style="font-size: small;"&gt;Scenario&lt;span style="font-weight: normal;"&gt;: HP Proliant DL360G5 server running RHEL 5 and 32bit Oracle 11g database (11.1), after yum update and some Oracle impdp/expdp operations, the server hangs, we have to press power button to shut it down, after power it on again, the&lt;i&gt;&lt;b&gt; GRUB stops at 'loading grub stage 2'.&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1 class="firstHeading" id="firstHeading"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt; &lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. use RIP(Rescue Is Possible - http://www.tux.org/pub/people/kent-robotti/looplinux/rip/) to reboot server. &lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. re-generate grub&lt;/b&gt;&lt;br /&gt;&lt;i&gt;# vgdisplay -v &lt;br /&gt;# lvdisplay -v (find out the root LVM partition name)&lt;br /&gt;# vgchange -a y &lt;br /&gt;# mount /dev/VolGroup00/LogVol00 /mnt/hd&lt;br /&gt;# cd /mnt/hd; chroot .&lt;br /&gt;# mount /dev/cciss/c0d0p0 boot&lt;br /&gt;# cd /dev&lt;br /&gt;# MAKEDEV cciss&lt;br /&gt;# grub-install hd0&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. finishing job&lt;/b&gt;&lt;br /&gt;&lt;i&gt;# cd /mnt/hd&lt;br /&gt;# umount boot&lt;br /&gt;# exit&lt;br /&gt;# umount /mnt/hd&lt;br /&gt;# reboot&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3071383880656399683?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3071383880656399683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3071383880656399683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3071383880656399683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3071383880656399683'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/03/use-rip-cd-to-fix-grub-issue-after-rhel.html' title='Use RIP CD to fix the grub issue after RHEL 5 hard power shutdown'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-633156103984288729</id><published>2011-02-20T20:46:00.017+08:00</published><updated>2011-02-24T12:25:24.093+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='acl'/><category scheme='http://www.blogger.com/atom/ns#' term='getfacl'/><category scheme='http://www.blogger.com/atom/ns#' term='setfacl'/><title type='text'>Use ACL and SGID to make a group of users to work on the same directory and Linux file permission</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;:&amp;nbsp; a parent directory called /shared is owned by db2inst1 (&lt;b&gt;&lt;span style="color: red;"&gt;umask 022 only&lt;/span&gt;&lt;/b&gt;),&amp;nbsp; and 2 other users called jephe and zhitan are going to work on the this directory /shared. They should be able to read/write any files and directories under /shared each other, also be able to&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;b style="color: red;"&gt;read/write files created by db2inst1 which means any files created by db2inst1 will have group-writable permission although its umask is 022&lt;/b&gt;&lt;span style="color: red;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: RHEL 5 or CentOS 5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Preparation:&lt;/b&gt;&lt;br /&gt;You can mount the partition with acl option by using '&lt;i&gt;&lt;b&gt;mount / -o remount,acl&lt;/b&gt;&lt;/i&gt;'.&lt;br /&gt;or &lt;br /&gt;&lt;br /&gt;&lt;b&gt;cd /path/to/directory; df . &lt;/b&gt;-&amp;gt; find out which mount directory, let's say it's /data, then &lt;b&gt;mount /data -o remount,acl&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. configure the permission&amp;nbsp;&lt;/b&gt;&lt;br /&gt;When a new file is created on a Unix-like system, its permissions are determined from the umask of the process that created it.&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;i&gt;[root@linuxtest /]# ls -ld shared&lt;/i&gt;&amp;nbsp; &lt;i&gt;(let its group to have write permission so that jephe and zhitan can create files and directories under /shared, but any files created by db2inst1 itself will not be group writable because its umask is 022)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;drwxrwsr-x 2 db2inst1 its 4096 Feb 20 10:22 shared&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[root@linuxtest /]# usermod -G its jephe&lt;br /&gt;[root@linuxtest /]# id jephe&lt;/i&gt;&lt;br /&gt;&lt;i&gt;uid=500(jephe) gid=500(jephe) groups=500(jephe),502(its)&lt;br /&gt;[root@linuxtest /]# usermod -G its zhitan&lt;br /&gt;[root@linuxtest /]# id zhitan&lt;br /&gt;uid=501(zhitan) gid=501(zhitan) groups=501(zhitan),502(its)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;2. configure default acl permissions&lt;/b&gt;&lt;br /&gt;&lt;i&gt;[root@linuxtest /]# setfacl -d -m u:jephe:rwx,u:zhitan:rwx /shared&lt;/i&gt;&lt;br /&gt;&lt;i&gt;[root@linuxtest /]# setfacl -R -m u:jephe:rwx,u:zhitan:rwx /share&lt;/i&gt;&lt;i&gt;d&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;&lt;span style="color: red;"&gt;The default ACL will be applied only for newly created files or directories&lt;/span&gt; under /shared directory. If you use &lt;b&gt;only setfacl -d&lt;/b&gt; for the parent directory and user jephe and zhitan are still not able to write for this directory, &lt;br /&gt;&lt;br /&gt;[root@linuxtest /]# getfacl shared&lt;br /&gt;# file: shared&lt;br /&gt;# owner: db2inst1&lt;br /&gt;# group: its&lt;br /&gt;user::rwx&lt;br /&gt;group::rwx&lt;br /&gt;other::r-x&lt;br /&gt;default:user::rwx&lt;br /&gt;default:user:jephe:rwx&lt;br /&gt;default:user:zhitan:rwx&lt;br /&gt;default:group::rwx&lt;br /&gt;&lt;b&gt;default:mask::rwx&amp;nbsp;&lt;/b&gt; &lt;i&gt;(&lt;span style="color: red;"&gt;the mask defines the maximum permissions that can be given to users or group&lt;/span&gt;, if it's --x, means the user and group can get maximum permission is --x, if the user or group itself doesn't have x permission, then mean user and group will get effective permission as ---, aka nothing)  &lt;/i&gt;&lt;br /&gt;default:other::r-x&lt;br /&gt;&lt;br /&gt;Now, any files or directories created by db2inst1 will have group writable permission although the umask for db2inst1 is 022, this is different from the case before setting setfacl. Also, user jephe and zhitan will be able to create files or directories under /shared.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;or you can just set up mask permission as rwx, then any files created by db2inst1 will have group write permissions.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;[root@linuxtest /]# setfacl -R -m d:m:rwx /shared&amp;nbsp; (modify mask as rwx)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A directory may contain default ACL entries. If a file or directory is  created in a directory that contains default ACL entries, the newly created file will have permissions generated according to the   intersection of the default ACL entries and the permissions requested at  creation time. &lt;b style="color: red;"&gt;The umask will not be applied if the directory contains default ACL entries.&lt;/b&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;--------------umask explanation by example--------------&lt;br /&gt;[root@linuxtest /]# setfacl -m m:r-- shared&amp;nbsp; &lt;b&gt;&lt;i&gt;(set shared directory itself mask as r--)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;[root@linuxtest /]# getfacl shared&lt;br /&gt;# file: shared&lt;br /&gt;# owner: db2inst1&lt;br /&gt;# group: its&lt;br /&gt;user::rwx&lt;br /&gt;&lt;b&gt;&lt;i&gt;group::rwx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #effective:r--&lt;br /&gt;mask::r--&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;other::r-x&lt;br /&gt;default:user::rwx&lt;br /&gt;default:user:jephe:--x&lt;br /&gt;default:group::rwx&lt;br /&gt;default:mask::rwx&lt;br /&gt;default:other::r-x&lt;br /&gt;&lt;br /&gt;[root@linuxtest /]# setfacl -d -m m:r-- shared&amp;nbsp; &lt;b&gt;&lt;i&gt;(set default mask as r--, means for any newly files/directories created under it )&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;[root@linuxtest /]# getfacl shared&lt;br /&gt;# file: shared&lt;br /&gt;# owner: db2inst1&lt;br /&gt;# group: its&lt;br /&gt;user::rwx&lt;br /&gt;&lt;b&gt;&lt;i&gt;group::rwx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #effective:r--&lt;br /&gt;mask::r--&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;other::r-x&lt;br /&gt;default:user::rwx&lt;br /&gt;&lt;b&gt;&lt;i&gt;default:user:jephe:--x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #effective:---&lt;br /&gt;default:group::rwx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #effective:r--&lt;br /&gt;default:mask::r--&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;default:other::r-x&lt;br /&gt;[root@linuxtest /]# ls -ld shared&lt;br /&gt;drwxr-Sr-x+ 7 db2inst1 its 4096 Feb 20 13:18 shared&lt;br /&gt;&lt;br /&gt;------------------end------------------------------------&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. remove all acl permissions&lt;/b&gt;&lt;br /&gt;setfacl -R -b /shared&lt;br /&gt;&lt;br /&gt;To remove all the permissions for a user, group, or others, use the &lt;tt class="computeroutput"&gt;-x&lt;/tt&gt; option and do not specify any permissions:   &lt;br /&gt;&lt;pre class="screen"&gt;&lt;tt class="command"&gt;setfacl -x &lt;i class="replaceable"&gt;&lt;tt&gt;&amp;lt;rules&amp;gt;&lt;/tt&gt;&lt;/i&gt; &lt;i class="replaceable"&gt;&lt;tt&gt;&amp;lt;files&amp;gt;&lt;/tt&gt;&lt;/i&gt;&lt;/tt&gt;&lt;/pre&gt;To remove all permissions from the user jephe&lt;br /&gt;&lt;pre class="screen"&gt;&lt;tt class="command"&gt;setfacl -x u:jephe /shared&lt;/tt&gt;&lt;/pre&gt;&lt;pre class="screen"&gt;&lt;b&gt;&lt;tt class="command"&gt;&amp;nbsp;&lt;/tt&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="command"&gt;Linux file permissions:&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;Any program uses system calls to access files and directories.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. directory:&lt;/b&gt;&lt;br /&gt;You can imagine directory is like a datafile which conains a table, each row has filename and its inode number:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Read: &lt;/b&gt; &lt;br /&gt;This permissioin can only find out the name of the files under it , not inode and not other things stated in inode data structure&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Write:  &lt;/b&gt;&lt;br /&gt;This permission allows you to add, rename, or delete files within, not modifying file directly like&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;# &lt;b&gt;&lt;i&gt;echo testing &amp;gt; file1&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;# &lt;i&gt;&lt;b&gt;&amp;gt; file1&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;But vim can modify files. The following is from &lt;a href="http://vimdoc.sourceforge.net/htmldoc/editing.html"&gt;http://vimdoc.sourceforge.net/htmldoc/editing.html&lt;/a&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;*&lt;a href="http://www.blogger.com/post-edit.g?blogID=4269723281975845210&amp;amp;postID=633156103984288729" name="write-readonly"&gt;&lt;/a&gt;&lt;b&gt;write-readonly&lt;/b&gt;*&lt;br /&gt;When the &lt;a href="http://vimdoc.sourceforge.net/htmldoc/options.html#%27cpoptions%27"&gt;'cpoptions'&lt;/a&gt; option contains '&lt;a href="http://vimdoc.sourceforge.net/htmldoc/motion.html#W"&gt;W&lt;/a&gt;', Vim will refuse to overwrite a&lt;br /&gt;readonly file.  When '&lt;a href="http://vimdoc.sourceforge.net/htmldoc/motion.html#W"&gt;W&lt;/a&gt;' is not present, "&lt;a href="http://vimdoc.sourceforge.net/htmldoc/editing.html#:w%21"&gt;:w!&lt;/a&gt;" will overwrite a readonly file,&lt;br /&gt;if the system allows &lt;a href="http://vimdoc.sourceforge.net/htmldoc/motion.html#it"&gt;it&lt;/a&gt; (&lt;b&gt;&lt;i&gt;the directory must be writable&lt;/i&gt;&lt;/b&gt;).&lt;br /&gt;&lt;span class="command"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;Also, all above actions also require changing or at least reading the inodes of the affected files,&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;so search permission is also needed to add/rename/delete files within&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute: &lt;/b&gt;&lt;br /&gt;This permission means search, grants the ability to traverse its tree in orde to access files/subdirectories.&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;It's required to access the "inode" information of the files within.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. File:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Read: system call read()&lt;/b&gt;&lt;br /&gt;You need to get file's inode number to read it.&lt;br /&gt;Only file owner or root user can modify information in the inode such as the owner and group name and permissions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Write:system call write()&lt;/b&gt;  to modify file content&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute: system call  exec()&lt;/b&gt;&lt;br /&gt;If file is a program, you can only need x without r to execute that program, but if the file is a shell script,&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;you also must have r permission to execute it. The proper permissions on a script are both read and execute&lt;br /&gt;&lt;br /&gt;Example: cat /home/jephe/file1, firstly you need to have read permission for file1 to read the content, then &lt;br /&gt;you need x permission on / /home /home/jephe to locate inode of file1and thus to read it.&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;span class="command"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="screen" style="font-family: inherit;"&gt;&lt;b&gt;&lt;span class="command"&gt;References:&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;h1 style="font-family: inherit; font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;a. Unix File and Directory Permissions and Modes - &lt;a href="http://content.hccfl.edu/pollock/AUnix/FilePermissions.htm"&gt;http://content.hccfl.edu/pollock/AUnix/FilePermissions.htm&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="font-family: inherit; font-weight: normal;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Filesystem_permissions"&gt;b. http://en.wikipedia.org/wiki/Filesystem_permissions&lt;/a&gt;&amp;nbsp;&lt;/span&gt; &lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-633156103984288729?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/633156103984288729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=633156103984288729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/633156103984288729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/633156103984288729'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/02/use-acl-and-sgid-to-make-group-of-users.html' title='Use ACL and SGID to make a group of users to work on the same directory and Linux file permission'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6650177704064853466</id><published>2011-02-17T12:06:00.018+08:00</published><updated>2011-03-23T15:36:38.702+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='zmodem'/><category scheme='http://www.blogger.com/atom/ns#' term='socks'/><category scheme='http://www.blogger.com/atom/ns#' term='putty'/><category scheme='http://www.blogger.com/atom/ns#' term='leputty'/><title type='text'>Some advanced usages on Putty and OpenSSH</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: explore advanced usage on Putty on Windows and OpenSSH on Linux&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Putty, OpenSSH&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Usage:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; use putty or openssh client to create a secure socks web proxy tunnel&lt;/b&gt;&lt;br /&gt;You can create socks proxy server by using putty or openssh.&lt;br /&gt;&lt;br /&gt;Putty:&lt;br /&gt;create a normal ssh session, enable compression and ssh version 2, under tunnel menu, create a auto and dynamic source port 8080.&lt;br /&gt;then configure your favorite browser to use socks5 proxy at 127.0.0.1:8080,try socks4 proxy if socks5 doesn't work. Configure 'no proxy for' part with 'localhost,127.0.0.1'.&lt;br /&gt;&lt;br /&gt;Note: For data you retrieved through browser, most of them is text or HTML data, the compression rate is very high, so, enable compression is better. &lt;br /&gt;&lt;br /&gt;OpenSSH:&lt;br /&gt;The following command uses compression, SSH2, Quite, Force pseudo-tty allocation, Redirect  stdin from /dev/null, and use 'master' mode for ssh client for connection sharing.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ssh -C2qTnN -D 8080 jephe@server.domain.com&lt;/b&gt;&lt;br /&gt;&amp;nbsp;or&lt;br /&gt;&lt;pre class="command"&gt;&lt;b&gt;ssh -C2qTnN -L 8080:localhost:3333 jephe@server.domain.com&lt;/b&gt;&lt;/pre&gt;&lt;pre class="command"&gt;&lt;i&gt;(ssh tunnel and local forwarding to ssh server at port 3333(squid proxy) &lt;/i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="command"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="command"&gt;&lt;i&gt;You can try to access &lt;a href="http://www.whatismyip.com/"&gt;http://www.whatismyip.com/&lt;/a&gt; to get the external source IP.&lt;/i&gt;&lt;b&gt; &lt;/b&gt;&lt;/pre&gt;&lt;pre class="command"&gt;&lt;/pre&gt;&lt;br /&gt;login as root to your ssh server, then use above command to ssh into the destination server to create socks proxy tunnel, then use 127.0.0.1:8080 as socks5 proxy to access Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DNS query issue:&lt;/b&gt;&lt;br /&gt;when using above socks5 proxy, by default, firefox/thunderbird requires your local Windows pc must be able to resolve DNS request. If not, you can make changes for firefox/thunderbird to enable remote DNS (open the &lt;b&gt;about:config&lt;/b&gt; page, and change &lt;b&gt;network.proxy.socks_remote_dns to true&lt;/b&gt;), which also secure DNS queries)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Multiple tabs:&lt;/b&gt;&lt;br /&gt;&lt;pre class="command"&gt;&lt;i&gt;&lt;b&gt;network.http.max-persistent-connections-per-proxy 25&lt;/b&gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;Note: some socksifier program&lt;br /&gt;a. &lt;a href="http://widecap.com/"&gt;http://widecap.com/ &lt;/a&gt;&lt;br /&gt;b. &lt;a href="http://www.proxycap.com/"&gt;http://www.proxycap.com/&lt;/a&gt;&lt;br /&gt;c. &lt;a href="http://tsocks.sourceforge.net/"&gt;http://tsocks.sourceforge.net/&lt;/a&gt;(Linux)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.&amp;nbsp; use http proxy software in ssh proxycommand option to ssh into Internet server directly&lt;/b&gt;&lt;br /&gt;In office environment, you might not be able to direct ssh into some servers on the Internet. If the ssh server is listening at port 80 or 443, usually squid proxy server is allowing that, if not, you might need to do something to establish ssh connection, either by changing the destination server port to port 80/443 or enabling the squid to allow port 22.&lt;br /&gt;&lt;br /&gt;For openssh/cygwin, you can use &lt;a href="http://proxytunnel.sourceforge.net/"&gt;http://proxytunnel.sourceforge.net/&lt;/a&gt; to use squid proxy server to tunnel your ssh connection.&lt;br /&gt;In /etc/ssh/ssh_config, put &lt;br /&gt;Host jephe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;&lt;b&gt; Proxycommand /usr/bin/proxytunnel -p 10.0.0.1:8080 -d jephe.domain.com:22 &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;then you can use '&lt;i&gt;&lt;b&gt;ssh -v username@jephe -R 2222:localhost:22 -R 3389:10.0.0.2:3389&lt;/b&gt;&lt;/i&gt;' to do remote port forwarding to RDP/ssh to your office pc from home.&lt;br /&gt;&lt;br /&gt;Another options is to use corkscrew -&amp;nbsp; &lt;a href="http://www.agroman.net/corkscrew/"&gt;http://www.agroman.net/corkscrew/ &lt;/a&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Please refer to another article for details at &lt;b&gt;&lt;i&gt;How to access office server and admin desktop from home&lt;/i&gt;&lt;/b&gt; - &lt;i&gt;&lt;a href="http://linuxtechres.blogspot.com/2010/12/how-to-access-office-server-and-admin.html"&gt;http://linuxtechres.blogspot.com/2010/12/how-to-access-office-server-and-admin.html&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. use nc in proxycommand option to directly ssh into server on Internet through firewall&amp;nbsp;&lt;/b&gt;&lt;br /&gt;Case: You are not able to ssh directly to Internet , you have to ssh into firewall/proxy server, then you can ssh to Internet from firewall itself. &lt;br /&gt;&lt;br /&gt;Solution: use nc to make it one step only.&lt;br /&gt;on /etc/ssh/ssh_config, put the following line &lt;br /&gt;&lt;b&gt;&lt;i&gt;Host external_ssh_server.domain.com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerAliveInterval 60&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerAliveCountMax 600&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProxyCommand ssh jephe@firewall_ip nc %h %p&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Then run '&lt;i&gt;&lt;b&gt;ssh username@jephe&lt;/b&gt;&lt;/i&gt;' to ssh directly to host on the Internet.&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;Note:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;You might need to configure public key authentication without password for firewall and external_ssh_server.domain.com, otherwise, you might get something like 'write pipe error'.&lt;/b&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Note: OpenSSH 5.4 onwards supports netcat mode with option -W host:port. See&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;a href="http://www.openssh.org/txt/release-5.4"&gt;http://www.openssh.org/txt/release-5.4&lt;/a&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;* Added a 'netcat mode' to ssh(1): "ssh -W host:port ..." This connects&lt;br /&gt;   stdio on the client to a single port forward on the server. This&lt;br /&gt;   allows, for example, using ssh as a ProxyCommand to route connections&lt;br /&gt;   via intermediate servers.&lt;/pre&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;The following example for using nc is by Fabian Arrotin from&amp;nbsp; &lt;a href="http://planet.centos.org/"&gt;http://planet.centos.org/ &lt;/a&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;You need to ssh/scp from your pc to HostC directly. (normal path: your pc-&amp;gt;hostA-&amp;gt;hostB-&amp;gt;hostC) &lt;/i&gt;&lt;br /&gt;&lt;i&gt;==================================&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Host HostB&lt;br /&gt;Hostname the.known.fqdn.as.resolvable.by.HostA&lt;br /&gt;User arrfab&lt;br /&gt;ForwardAgent yes&lt;br /&gt;Port 22&lt;br /&gt;ProxyCommand ssh remoteuser@HostA.with.ssh.access nc %h %p&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;And what if you need to reach HostC, which itself is only reachable  by HostB ? Let’s just define a new Host section in the ~/.ssh/config and  another ProxyCommand !&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Host HostC&lt;br /&gt;Hostname the.known.fqdn.as.resolvable.by.HostB&lt;br /&gt;User arrfab&lt;br /&gt;ForwardAgent yes&lt;br /&gt;Port 22&lt;br /&gt;ProxyCommand ssh remoteuser@HostB nc %h %p&lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;====================================&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4. use zmodem transfer with leputty (&lt;a href="http://leputty.sourceforge.net/"&gt;http://leputty.sourceforge.net/&lt;/a&gt;)&lt;/b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;It's much faster for you to upload/download files directly with putty, without opening winscp to do it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can use leputty, configuring sz/rz path for default putty settings so that all session created later on will have this settings automatically.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When you need to upload file from Windows pc to server, just use 'Zmodem upload' in Leputty.&lt;br /&gt;When you need to download a file, ssh into server with Leputty, then type in 'sz filename', then click on menu 'Zmodem receive' to transfer to the predefined directory on Windows PC&lt;i&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It's faster then using winscp.&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;a. &lt;a href="https://calomel.org/firefox_ssh_proxy.html"&gt;https://calomel.org/firefox_ssh_proxy.html&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6650177704064853466?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6650177704064853466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6650177704064853466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6650177704064853466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6650177704064853466'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/02/some-advanced-usages-on-putty-and.html' title='Some advanced usages on Putty and OpenSSH'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6324011666355276685</id><published>2011-02-13T11:11:00.005+08:00</published><updated>2011-04-01T07:57:39.468+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spfile'/><category scheme='http://www.blogger.com/atom/ns#' term='pfile'/><category scheme='http://www.blogger.com/atom/ns#' term='tmpfs'/><category scheme='http://www.blogger.com/atom/ns#' term='amm'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle pfile, spfile and parameters, as well as AMM</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: Checking the current running parameters for Oracle database and configuring AMM (automatic memory managgement)&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Oracle 11g 64bit, RHEL 5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Commands:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; Checking if the database is using pfile or spfile&lt;/b&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;select name,value from v$parameter where name='pfile';&lt;br /&gt;select name,value from v$parameter where name='spfile';&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. generate pfile from spfile or memory&lt;/b&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;create pfile from spfile;&lt;br /&gt;create pfile from memory;&lt;br /&gt;create spfile from pfile; (if the database starts up with pfile initially, then need to change to spfile)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3.&amp;nbsp; checking pfile,spfile and memory&lt;/b&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;show parameter memory_target;&lt;br /&gt;show parameter pga;&lt;br /&gt;show parameter sga;&lt;br /&gt;show sga;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AMM configuration:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; Configure tmpfs size&lt;/b&gt;&lt;br /&gt;error message:&lt;br /&gt;a. ORA-845: MEMORY_TARGET not supported on this system&lt;br /&gt;b. Starting ORACLE instance (normal)&lt;br /&gt;WARNING: You are trying to use the MEMORY_TARGET feature.&lt;br /&gt;This feature requires the /dev/shm file system to be mounted for at&lt;br /&gt;Least &amp;lt;size&amp;gt; bytes.The /dev/shm is either not mounted or is mounted&lt;br /&gt;With available space less than this size.&lt;br /&gt;Please fix this so that MEMORY_TARGET can work as expected.&lt;br /&gt;Current available is &amp;lt;size&amp;gt; and used is &amp;lt;size&amp;gt; bytes.memory_target needs larger /dev/shm &lt;br /&gt;&lt;br /&gt;If ORA-04031 is seen in the alert log, sometimes you can not establish new connections due to this problem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solutions:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;(ORA-00845 When Starting Up An 11g Instance With AMM Configured. [ID 460506.1])&amp;nbsp;&lt;i&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: helvetica;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;1. If you are installing Oracle 11g on a Linux system, note that Memory Size (SGA and PGA), which sets &lt;br /&gt;the  initialization parameter MEMORY_TARGET or MEMORY_MAX_TARGET, cannot be  greater than the shared memory filesystem (/dev/shm) on your operating  system. To resolve the current error, increase the /dev/shm file size.  For example:&lt;br /&gt;&lt;i&gt;&lt;b&gt;# mount -t tmpfs tmpfs -o size=12g /dev/shm&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Also, to make this change persistent across system restarts, add an entry in /etc/fstab similar to  the following:&lt;i&gt;&lt;b&gt;&lt;br /&gt;tmpfs /dev/shm tmpfs size=12g 0&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;note: tmpfs is previously called shmfs - &lt;a href="http://en.wikipedia.org/wiki/Tmpfs"&gt;http://en.wikipedia.org/wiki/Tmpfs &lt;/a&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.&amp;nbsp; Configure Automatic Memory Management(AMM) on 11g&lt;/b&gt; [ID 443746.1]&lt;br /&gt;&lt;span style="font-family: helvetica; font-size: small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;Check the current values configured for SGA_TARGET and PGA_AGGREGATE_TARGET.&lt;br /&gt;&lt;br /&gt;&lt;div class="kmcodeblock" style="width: 95%;"&gt;&lt;code class="km"&gt;&lt;i&gt;SQL&amp;gt;SHOW PARAMETER TARGET&lt;/i&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;Add the values of pga_aggregate_target and sga_target. In our case it is 12g&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.Decide  on a maximum amount of memory that you would want to allocate to the  database&lt;/b&gt; which will determine the maximum value for the sum of the SGA  and instance PGA sizes. In our case we decide to set to 12g&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. apply changes to spfile&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;code class="km"&gt;SQL&amp;gt;ALTER SYSTEM SET MEMORY_MAX_TARGET = 12g SCOPE = SPFILE;&lt;br /&gt;SQL&amp;gt;ALTER&amp;nbsp;SYSTEM&amp;nbsp;SET&amp;nbsp;MEMORY_TARGET&amp;nbsp;= 12g SCOPE&amp;nbsp;=&amp;nbsp;SPFILE;&lt;br /&gt;SQL&amp;gt;ALTER&amp;nbsp;SYSTEM&amp;nbsp;SET&amp;nbsp;SGA_TARGET&amp;nbsp;=0 SCOPE&amp;nbsp;=&amp;nbsp;SPFILE;&lt;br /&gt;SQL&amp;gt;ALTER&amp;nbsp;SYSTEM&amp;nbsp;SET&amp;nbsp;PGA_AGGREGATE_TARGET&amp;nbsp;=&amp;nbsp;0 SCOPE&amp;nbsp;=&amp;nbsp;SPFILE;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5.&amp;nbsp; restart database&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;code class="km"&gt;SQL&amp;gt;&amp;nbsp;shutdown&amp;nbsp;immediate;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; startup &lt;/i&gt;(or startup mount, then alter database open)&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;sql&amp;gt; show parameter target;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6324011666355276685?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6324011666355276685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6324011666355276685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6324011666355276685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6324011666355276685'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/02/oracle-pfile-spfile-and-parameters.html' title='Oracle pfile, spfile and parameters, as well as AMM'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4565089600525291587</id><published>2011-02-03T09:01:00.005+08:00</published><updated>2011-03-10T16:15:25.945+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cable modem'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><title type='text'>Home network troubleshooting for using cable modem, laptop/pc and wireless router</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: home cable modem network in Singapore (ISP: Starhub), Mortolona cable modem, Linksys WRT54 ver2.2 wireless router and laptop/pc&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: home network issue troubleshooting for accessing Internet.&lt;br /&gt;&lt;b&gt;Network diagram&lt;/b&gt;:&lt;br /&gt;cable wall socket-&amp;gt;cable modem-&amp;gt;network cable RJ45 -&amp;gt; Linksys wireless router -&amp;gt; laptop/pc connected through physical cable or wireless access point&lt;br /&gt;&lt;b&gt;Issue:&lt;/b&gt; able to connect to wireless router through physical cable or access point and get IP address from wireless router itself, but cannot access Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;. basic troubleshooting to find out the problem&lt;/b&gt;&lt;br /&gt;Everything seems okay between&amp;nbsp; laptop and wireless router, laptop can get IP address and can access wireless router admin page at http://192.168.1.1(default linksys wireless router IP address).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. check admin page router status page&lt;/b&gt;&lt;br /&gt;Find out router itself cannot get WAN IP address actually.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Check cable modem itself &lt;/b&gt;(&lt;b&gt;&lt;span style="color: red;"&gt;sequence is important, otherwise, you might not be able to get WAN IP address&lt;/span&gt;&lt;/b&gt;)&lt;br /&gt;Disconnect network cable between cable modem and wireless router.&lt;br /&gt;Connect a dell laptop to cable modem by RJ45 cable.&lt;br /&gt;&lt;i&gt;&lt;b&gt;Shutdown both cable modem and laptop first (totally power down)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Power on the cable modem to wait for the first 4 lights become solid green&lt;/b&gt;&lt;/i&gt; (&lt;span style="color: red;"&gt;if standby light is on after that, please press the button on the top of the modem&lt;/span&gt;)&lt;br /&gt;&lt;i&gt;&lt;b&gt;Now power on the laptop and wait for the PC/Activitity light is on&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Check if the laptop is getting WAN ip address from ISP through DHCP (ipconfig /all)&lt;br /&gt;&lt;br /&gt;In my case, the cable modem is okay and laptop is getting WAN IP and is able to access Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Solve the problem of wireless router&lt;/b&gt;&lt;br /&gt;Try above steps in point 3, shutdown power for both cable modem and wireless router, connect cable modem and wireless router through RJ45 network cable, power on cable modem first then wireless router later, check admin page, this time, the wireless router can get WAN IP address but client laptop/pc are still not able to access Internet(try to ping 8.8.8.8, cannot).&lt;br /&gt;&lt;br /&gt;Try to check Linksys website to upgrade firmware if it's not the latest one. It's already latest in my case.&lt;br /&gt;Use wireless admin page at http://192.168.1.1 to reset to factory default settings.&lt;br /&gt;Then modify the settings such as wireless router admin password, SSID and WPA2 personal/AES password.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Optional&lt;/i&gt;&lt;/b&gt; - to disable Block Anonymous Internet Requests&amp;nbsp;&lt;b&gt; —&lt;/b&gt; This  setting prevents the router from being able to be pinged or otherwise  connected to on the external interface, unless you have defined a  port-forwarding filter. This should be enabled, but keep in mind that  not being able to ping the router can make it more difficult to  troubleshoot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Disable UPnP&lt;/b&gt; under Administration page. &lt;br /&gt;&lt;br /&gt;With above setting is disabled, then configure port forwarding settings.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. References&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.ciscopress.com/articles/article.asp?p=598649&amp;amp;seqNum=5"&gt;http://www.ciscopress.com/articles/article.asp?p=598649&amp;amp;seqNum=5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4565089600525291587?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4565089600525291587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4565089600525291587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4565089600525291587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4565089600525291587'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/02/home-network-troubleshooting-for-using.html' title='Home network troubleshooting for using cable modem, laptop/pc and wireless router'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4689847001245625440</id><published>2011-01-28T11:15:00.021+08:00</published><updated>2011-02-05T23:46:33.428+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='ipsec'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>Site-to-Site IPSec VPN in FreeBSD 7  and OpenBSD 4</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: understanding ipsec vpn and how to configure it in FreeBSD and OpenBSD&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: FreeBSD 7.2 and OpenBSD 4.6, the sender ip is 1.2.3.4/10.0.10.10, the peer ip is 5.6.7.8/10.0.5.10,&lt;br /&gt;&lt;b&gt;Concepts:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The IPsec suite is an &lt;a href="http://en.wikipedia.org/wiki/Open_standard" title="Open standard"&gt;open standard&lt;/a&gt;. IPsec uses the following&lt;span style="color: red;"&gt; protocols &lt;/span&gt;to perform various functions:&lt;sup class="reference" id="cite_ref-rfc2411_1-0"&gt;&lt;a href="http://en.wikipedia.org/wiki/IPsec#cite_note-rfc2411-1"&gt;[2]&lt;/a&gt;&lt;/sup&gt;&lt;sup class="reference" id="cite_ref-rfc4308_2-0"&gt;&lt;a href="http://en.wikipedia.org/wiki/IPsec#cite_note-rfc4308-2"&gt;[3]&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Authentication_Header" title="Authentication Header"&gt;Authentication Headers (AH)&lt;/a&gt; provide connectionless &lt;a href="http://en.wikipedia.org/wiki/Integrity" title="Integrity"&gt;integrity&lt;/a&gt; and data origin &lt;a href="http://en.wikipedia.org/wiki/Authentication" title="Authentication"&gt;authentication&lt;/a&gt; for IP &lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Datagrams" title="Datagrams"&gt;datagrams&lt;/a&gt; and provides protection against &lt;a href="http://en.wikipedia.org/wiki/Replay_attack" title="Replay attack"&gt;replay attacks&lt;/a&gt;.&lt;sup&gt; &lt;/sup&gt;&lt;b&gt;AH is used to authenticate — but not encrypt — IP traffic.&amp;nbsp;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;i&gt;Authentication&lt;/i&gt; is performed by computing a cryptographic hash-based message authentication code over nearly all the fields of the IP packet (excluding those which might be modified in transit, such as TTL or the header checksum), and stores this in a newly-added AH header and sent to the other end.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt; &lt;span style="font-size: x-small;"&gt;&lt;i&gt;AH use a special hashing algorithm and a specific key known only to the  source and the destination. A &lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&lt;a href="http://www.tcpipguide.com/free/t_IPSecSecurityAssociationsandtheSecurityAssociation.htm"&gt;&lt;span style="color: #0101c0; font-family: Arial;"&gt;security  association&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial;"&gt; between two devices is set  up that specifies these particulars so that the source and destination  know how to perform the computation but nobody else can. On the source  device, AH performs the computation and puts the result (called the  Integrity Check Value or ICV) into a special header with  other fields for transmission. The destination device does the same  calculation using the key the two devices share, which enables it to  see immediately if any of the fields in the original datagram were modified  (either due to error or malice).&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;data origin authentication, which enables the recipient to verify that  messages have not been tampered with in transit (data integrity) and  that they originate from the expected sender (authenticity).&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&lt;span style="font-family: Arial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Encapsulating_Security_Payload" title="Encapsulating Security Payload"&gt;Encapsulating Security Payloads (ESP)&lt;/a&gt; provide &lt;a href="http://en.wikipedia.org/wiki/Confidentiality" title="Confidentiality"&gt;confidentiality&lt;/a&gt;, data origin &lt;a href="http://en.wikipedia.org/wiki/Authentication" title="Authentication"&gt;authentication&lt;/a&gt;, connectionless &lt;a href="http://en.wikipedia.org/wiki/Integrity" title="Integrity"&gt;integrity&lt;/a&gt;, an &lt;b&gt;anti-replay&lt;/b&gt; service (a form of partial sequence integrity), and limited traffic flow confidentiality.&lt;/li&gt;&lt;/ul&gt;&lt;i&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;We want to not only protect against  intermediate devices changing our datagrams, we want to protect against  them examining their contents as well. For this level of private communication,  AH is not enough; we need to use the Encapsulating Security Payload  (ESP) protocol.&lt;/span&gt;&lt;/i&gt; &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Security_association" title="Security association"&gt;Security associations (SA)&lt;/a&gt; provide the bundle of algorithms and data that provide the parameters necessary to operate the AH and/or ESP operations.&lt;/li&gt;&lt;/ul&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;A &lt;b&gt;Security Association&lt;/b&gt; (SA) is the establishment of  shared security attributes between two network entities to support  secure communication. In a nutshell, an SA is a logical group of  security parameters, that enable the sharing of information to another  entity.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;IPSec provides the following security services:&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;C&lt;/span&gt;onfidentiality&lt;/b&gt;&lt;br /&gt;traffic is encrypted to ensure that only the legitimate receiver is able to access the data transmitted.&lt;br /&gt;&lt;b&gt;Connectionless &lt;span style="color: red;"&gt;i&lt;/span&gt;ntegrity&lt;/b&gt;&lt;br /&gt;ensures that no modifications were made to the data while in transit across the network.&lt;br /&gt;&lt;b&gt;Data origin &lt;span style="color: red;"&gt;a&lt;/span&gt;uthentication&lt;/b&gt;&lt;br /&gt;the receiver is able to verify that data actually originates from the claimed source.&lt;br /&gt;&lt;b&gt;Detection and rejection of &lt;span style="color: black;"&gt;replay&lt;/span&gt;s (&lt;span style="color: red;"&gt;anti-replay&lt;/span&gt;)&lt;/b&gt;&lt;br /&gt;duplicate IP datagrams are detected and processed only once.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;These security services are provided at the IP layer&amp;nbsp; (layer&amp;nbsp; 3 of the&amp;nbsp; OSI&amp;nbsp; model)&lt;/b&gt;,&amp;nbsp; thus protecting&amp;nbsp; all &lt;br /&gt;protocols that may be carried over IP, including IP itself.&lt;br /&gt;&lt;br /&gt;IPSec can be run in either tunnel mode or transport mode. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Tunnel mode&lt;/i&gt; is most commonly used between gateways, or at an end-station to a gateway &lt;/li&gt;&lt;li&gt;&lt;i&gt;Transport mode&lt;/i&gt; is used between end-stations or between an end-station and a gateway, if the gateway is being treated as a host, in which the gateway is the actual destination.&lt;/li&gt;&lt;/ul&gt;Transport Mode provides a secure connection between two endpoints as it encapsulates IP's payload, while &lt;b&gt;Tunnel Mode encapsulates the &lt;i&gt;entire&lt;/i&gt; IP packet to provide a virtual "secure hop" between two gateways&lt;/b&gt;. The latter is used to form a traditional &lt;abbr title="Virtual Private Network"&gt;VPN&lt;/abbr&gt;, where the tunnel generally creates a secure tunnel across an untrusted Internet.&amp;nbsp;  &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;b&gt;A secure VPN requires both authentication &lt;i&gt;and&lt;/i&gt; encryption&lt;/b&gt;. We know that ESP is the only way to provide encryption, but ESP and AH both can provide authentication:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ESP+Auth  is used in Tunnel mode&lt;/b&gt; to fully encapsulate the traffic on its way  across an untrusted network, protected by both encryption and  authentication in the same thing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;To accomplish security service, IPSec must perform (at least) the following  tasks:&lt;/span&gt;  &lt;br /&gt;&lt;ol type="1"&gt;&lt;li value="1"&gt;&lt;span style="font-family: Arial;"&gt;They must agree on a set of security  protocols to use, so that each one sends data in a format the other  can understand.&lt;/span&gt;  &lt;br /&gt;&lt;/li&gt;&lt;li value="2"&gt;&lt;span style="font-family: Arial;"&gt;They must decide on a specific encryption  algorithm to use in encoding data.&lt;/span&gt;  &lt;br /&gt;&lt;/li&gt;&lt;li value="3"&gt;&lt;span style="font-family: Arial;"&gt;They must exchange keys that are used  to  “unlock” data that has been cryptographically encoded.&lt;/span&gt;  &lt;br /&gt;&lt;/li&gt;&lt;li value="4"&gt;&lt;span style="font-family: Arial;"&gt;Once this background work is completed,  each device must use the protocols, methods and keys previously agreed  upon to encode data and send it across the network.&lt;/span&gt;  &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;1. why phrase 1 and phrase2?&lt;/b&gt;&lt;br /&gt;Phase 1 is used to set up a protected channel just&lt;br /&gt;between the two gateway machines. This channel is then used for&lt;br /&gt;the phase 2 negotiation traffic (i.e. encrypted &amp;amp; authenticated).&lt;br /&gt;&lt;br /&gt;'Phase 2' defines which connections the daemon should establish.&lt;br /&gt;These connections contain the actual "IPsec VPN" information.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. ipsecctl since OpenBSD 3.8&lt;/b&gt;&lt;br /&gt;A new command starts with version 3.8: ipsecctl.&lt;br /&gt;a simple VPN can be setup by editing /etc/ipsec.conf, then you can start up VPN as follows:&lt;br /&gt;isakmpd -K ipsecctl -f /etc/ipsec.conf&lt;br /&gt;note: -K&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When this option is given, isakmpd does not read the policy con-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; figuration file and no keynote(4) policy check is accomplished.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This option can be used when policies for flows and SA establish-&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ment are arranged by other programs like ipsecctl(8) or bgpd(8).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;use 'ipsecctl -sa' to get the status of the ipsec flows and associations:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;or you can&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Set this up to start automatically at reboot in /etc/rc.conf&lt;br /&gt;isakmpd="-K"&lt;br /&gt;PF=YES&amp;nbsp;&amp;nbsp; # use pfctl -sr to get the running pf rules&lt;br /&gt;&lt;br /&gt;in /etc/rc.local,put &lt;br /&gt;ipsecctl -f /etc/ipsec.conf&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. FreeBSD-specific requirements&lt;/b&gt;&lt;br /&gt;a. Recompiled FreeBSD kernel with IPSec support according to FreeBSD Handbook.&lt;br /&gt;&lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html"&gt;http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html &lt;/a&gt;&lt;br /&gt;b. IPsec-Tools port (/usr/ports/security/ipsec-tools) installed on FreeBSD host.&lt;br /&gt;c. manually create directory /usr/local/etc/&lt;br /&gt;&lt;br /&gt;OpenBSD has required applications and IPSec support compiled  into the GENERIC kernel, so there's no need to do anything.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4. encryption and authentication choices&lt;/b&gt;&lt;br /&gt;Default racoon configuration available from FreeBSD's port uses &lt;b&gt;3des&lt;/b&gt;  cipher for encryption and &lt;b&gt;hmac_sha1&lt;/b&gt; algorithm for authentication in both  phases.&lt;br /&gt;&lt;br /&gt;Default settings for isakmpd on OpenBSD are: &lt;b&gt;aes and hmac-sha1&lt;/b&gt; for  phase 1 and &lt;b&gt;aes and hmac-sha2-256&lt;/b&gt; for phase 2.&lt;br /&gt;&lt;br /&gt;5. &lt;b&gt;protocols used in ipsec vpn&lt;/b&gt;&lt;br /&gt;50 - Encapsulation Header (ESP)&lt;br /&gt;51 - Authentication Header (AH)&lt;br /&gt;4 - IP-ENCAP(ipencap protocol)&lt;br /&gt;&lt;br /&gt;500/udp - Internet Key Exchange (IKE)&lt;br /&gt;4500/udp - NAT-Traversal &lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;esp     50      IPSEC-ESP       # Encap Security Payload [RFC2406]&lt;br /&gt;ah      51      IPSEC-AH        # Authentication Header [RFC2402]&lt;/pre&gt;&lt;pre&gt;ipencap 4       IP-ENCAP        # IP encapsulated in IP (IP in IP)&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;OpenBSD: use udp 500 and esp protocol. Here is example:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;set skip on { lo enc0 } #skip on enc0, you can enable enc0 and filter traffic&lt;br /&gt;block on em0&lt;br /&gt;pass&amp;nbsp;&amp;nbsp;in on em0 proto udp from&amp;nbsp; 5.6.7.8 to 1.2.3.4 port 500&lt;br /&gt;pass&amp;nbsp;&amp;nbsp;in on sk0 proto esp from 5.6.7.8 to 1.2.3.4&lt;br /&gt;pass out on em0 proto udp from 1.2.3.4 to 5.6.7.8 port 500 &lt;br /&gt;pass out on sk0 proto esp from 1.2.3.4. to 5.6.7.8&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Freebsd: uses 500/UDP, ESP and -- additionally -- IPENCAP traffic.&lt;/b&gt; &lt;br /&gt;pass in quick on dc0 proto udp from 5.6.7.8 port = isakmp to 1.2.3.4 port = isakmp&lt;br /&gt;pass in quick on dc0 proto esp from 5.6.7.8 to 1.2.3.4&lt;br /&gt;pass out quick on dc0 proto udp from 1.2.3.4 port = isakmp&amp;nbsp; to 5.6.7.8 port = isakmp&lt;br /&gt;pass out quick on dc0 proto esp from 1.2.3.4 to 5.6.7.8&lt;br /&gt;&lt;br /&gt;pass in quick on dc0 proto ipencap from 5.6.7.8 to 1.2.3.4 &lt;br /&gt;pass out quick on dc0 proto ipencap from 1.2.3.4 to 5.6.7.8 &lt;br /&gt;block quick on dc0&lt;br /&gt;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Methods:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. openbsd 4.6 - isakmpd method&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;a. root@SHGFWHA9 # grep remote_vpngw /etc/pf.conf&lt;/b&gt;&lt;br /&gt;vpn_wan_ip&amp;nbsp;&amp;nbsp; = "{1.2.3.4}"&lt;b&gt; &lt;/b&gt;&lt;br /&gt;remote_vpngw = "{5.6.7.8}"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;pass in&amp;nbsp; log quick on $vpn_wan_if proto {tcp,udp,icmp} from $remote_vpngw to $vpn_wan_ip keep state&lt;br /&gt;pass in&amp;nbsp; log quick on $vpn_wan_if proto esp from $remote_vpngw to $vpn_wan_ip&amp;nbsp;&amp;nbsp; keep state&lt;br /&gt;pass in&amp;nbsp; log quick on $vpn_wan_if proto udp from $remote_vpngw port { 500, 4500 } to&amp;nbsp;&amp;nbsp; $remote_vpngw port { 500, 4500 } keep state&lt;br /&gt;&lt;b&gt;&lt;br /&gt;b. isakmpd and ipsec&lt;/b&gt;&lt;br /&gt;root@SHGFWHA9 # grep -v ^# /etc/isakmpd/isakmpd.conf | grep -v ^$&lt;br /&gt;[General]&lt;br /&gt;Retransmits=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;br /&gt;Exchange-max-time=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 120&lt;br /&gt;Default-phase-1-lifetime= 86400,28800:86400&lt;br /&gt;Listen-on=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.2.3.4&lt;br /&gt;DPD-check-interval=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp; #DPD means Dead Peer Detection&lt;br /&gt;&lt;br /&gt;[Phase 1]&lt;br /&gt;5.6.7.8 =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ISAKMP-peer1&lt;br /&gt;&lt;br /&gt;[Phase 2]&lt;br /&gt;Connections=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPsec-peer1,IPsec-peer2&lt;br /&gt;&lt;br /&gt;[ISAKMP-peer1]&lt;br /&gt;Phase=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;Transport=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; udp&lt;br /&gt;Local-Address=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.2.3.4&lt;br /&gt;Address=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.6.7.8&lt;br /&gt;Configuration=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Default-main-mode&lt;br /&gt;Authentication=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; abcdef&lt;br /&gt;&lt;br /&gt;[IPsec-peer1]&lt;br /&gt;Phase=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;br /&gt;ISAKMP-peer=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ISAKMP-peer1&lt;br /&gt;Configuration=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Default-quick-mode&lt;br /&gt;Local-ID=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Net-local&lt;br /&gt;Remote-ID=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Net-peer1&lt;br /&gt;&lt;br /&gt;[Net-local]&lt;br /&gt;ID-type=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPV4_ADDR_SUBNET&lt;br /&gt;Network=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.10.0&lt;br /&gt;Netmask=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255.255.255.0&lt;br /&gt;&lt;br /&gt;[Net-peer1]&lt;br /&gt;ID-type=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPV4_ADDR_SUBNET&lt;br /&gt;Network=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.0.5.0&lt;br /&gt;Netmask=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255.255.255.0&lt;br /&gt;&lt;br /&gt;[Default-main-mode]&lt;br /&gt;DOI=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPSEC&lt;br /&gt;EXCHANGE_TYPE=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID_PROT&lt;br /&gt;Transforms=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DES-SHA&lt;br /&gt;&lt;br /&gt;[Default-quick-mode]&lt;br /&gt;DOI=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPSEC&lt;br /&gt;EXCHANGE_TYPE=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUICK_MODE&lt;br /&gt;Suites=&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QM-ESP-DES-SHA-SUITE&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;c. when you run ps with isakmpd method, you should see something below:&lt;/b&gt;&lt;br /&gt;root@SHGFWHA9 # ps ax | grep isakmpd | grep -v grep&lt;br /&gt;26976 ??&amp;nbsp; Is&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:42.69 isakmpd: monitor [priv] (isakmpd)&lt;br /&gt;&amp;nbsp;8410 ??&amp;nbsp; S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00.40 isakmpd&lt;br /&gt;&lt;br /&gt;&lt;b&gt;d. get vpn status in OpenBSD&lt;/b&gt;&lt;br /&gt;# ipsecctl -sa&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. OpenBSD 4.6 - ipsec method&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a. /etc/ipsec.conf&lt;/b&gt;&lt;br /&gt;ike esp from 10.0.10.0/24 to 10.0.5.0/24 peer 5.6.7.8&lt;br /&gt;&amp;nbsp; main auth hmac-sha1 enc blowfish group modp1024&lt;br /&gt;&amp;nbsp; quick auth hmac-sha2-256 enc blowfish group modp1024&lt;br /&gt;&lt;b&gt;&lt;br /&gt;b. refer to concepts second point to start up VPN in ipsec method&lt;br /&gt;&lt;br /&gt;3. FreeBSD 7.2 - ipsec/racoon method&lt;/b&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Refer to handbook link below to setup IPSec VPN on FreeBSD &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html"&gt;http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html&lt;/a&gt;&lt;/span&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;b&gt;a. more /etc/ipsec.conf&lt;/b&gt;&lt;br /&gt;spdadd 1.2.3.4/32 5.6.7.8/32 ipencap -P out ipsec esp/tunnel/1.2.3.4-5.6.7.8/require;&lt;br /&gt;spdadd 5.6.7.8/32 1.2.3.4/32 ipencap -P in ipsec esp/tunnel/5.6.7.8-1.2.3.4/require;&lt;br /&gt;or&lt;br /&gt;&lt;b&gt;more /etc/ipsec.conf &lt;/b&gt;&lt;br /&gt;spdadd 10.0.10.0/24 10.0.5.0/24 any -P out ipsec esp/tunnel/1.2.3.4-5.6.7.8/require;&lt;br /&gt;spdadd 10.0.5.0/24 10.0.10.0/24 any -P in ipsec esp/tunnel/5.6.7.8-1.2.3.4/require;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;tt class="HOSTID"&gt;1.2.3.4/32&lt;/tt&gt; and &lt;tt class="HOSTID"&gt;5.6.7.8/32&lt;/tt&gt; are the IP addresses and netmasks that identify the network or hosts that this policy will apply to. In this case, we want it to apply to traffic between these two hosts. &lt;code class="OPTION"&gt;ipencap&lt;/code&gt; tells the kernel that this policy should only apply to packets that encapsulate other packets. &lt;code class="OPTION"&gt;-P out&lt;/code&gt; says that this policy applies to outgoing packets, and &lt;code class="OPTION"&gt;ipsec&lt;/code&gt; says that the packet will be secured.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; b. /usr/local/etc/racoon.conf&lt;/b&gt;&lt;br /&gt;vpn# grep -v ^# /usr/local/etc/racoon.conf | grep -v ^$&lt;br /&gt;path pre_shared_key "/usr/local/etc/psk.txt" ;&lt;br /&gt;log debug2;&lt;br /&gt;remote anonymous&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exchange_mode main,base;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lifetime time 24 hour ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proposal {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; encryption_algorithm des;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; hash_algorithm sha1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; authentication_method pre_shared_key ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dh_group 2 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proposal_check strict;&lt;br /&gt;}&lt;br /&gt;sainfo anonymous&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lifetime time 12 hour ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; encryption_algorithm 3des, cast128, blowfish 448, des, rijndael ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; authentication_algorithm hmac_sha1,hmac_md5 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; compression_algorithm deflate ;&lt;br /&gt;}&lt;br /&gt;&lt;i&gt;&lt;b&gt;note: proposal part is phrase 1, sainfo part is phrase 2. &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;c. vpn# more psk.txt &lt;/b&gt;&lt;br /&gt;5.6.7.8&amp;nbsp;&amp;nbsp;&amp;nbsp; abcdefg&lt;br /&gt;&lt;br /&gt;&lt;b&gt;d. vpn# more /etc/rc.local&lt;/b&gt;&lt;br /&gt;/usr/local/sbin/racoon -l /var/log/racoon.log&lt;br /&gt;note:&lt;br /&gt;# racoon -F (put racoon in foreground to debug) &lt;br /&gt;&lt;b&gt;&lt;br /&gt;e. vpn# /etc/rc.conf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;vpnsg# more /etc/rc.conf&lt;br /&gt;&lt;br /&gt;linux_enable="YES"&lt;br /&gt;sshd_enable="YES"&lt;br /&gt;usbd_enable="YES"&lt;br /&gt;gateway_enable="YES"&lt;br /&gt;&lt;br /&gt;ipsec_enable="YES"&lt;br /&gt;ipsec_file="/etc/ipsec.conf"&lt;br /&gt;&lt;br /&gt;pf_enable="YES"&lt;br /&gt;pf_flags=""&lt;br /&gt;pf_rules="/etc/pf.conf"&lt;br /&gt;pflogd_enable="YES"&lt;br /&gt;pflog_logfile="/var/log/pflog"&lt;br /&gt;pflog_flags=""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ifconfig_xl0="inet 10.0.10.10 netmask 255.255.255.0"&lt;br /&gt;ifconfig_fxp0="inet 1.2.3.4&amp;nbsp; netmask 255.255.255.240"&lt;br /&gt;defaultrouter="1.2.3.1"&lt;br /&gt;hostname="vpn.jephe.com"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###&lt;br /&gt;gif_interfaces="gif0"&lt;br /&gt;gifconfig_gif0="1.2.3.4 5.6.7.8"&lt;br /&gt;&lt;br /&gt;static_routes="vpn"&lt;br /&gt;route_vpn="-net 10.0.5.0/24 10.0.5.10"&lt;br /&gt;# 10.0.5.10 is the remote peer vpn gateway internal NIC ip address&lt;br /&gt;&lt;b&gt;&lt;br /&gt;f. /etc/pf.conf&lt;/b&gt;&lt;br /&gt;vpnsg# cat /etc/pf.conf | grep -v ^# | grep -v ^$&lt;br /&gt;ext_if="fxp0"&amp;nbsp;&amp;nbsp;&amp;nbsp; # fxp0 ip is 1.2.3.4/255.255.255.240, gateway is 1.2.3.1&lt;br /&gt;int_if="xl0"&amp;nbsp;&amp;nbsp;&amp;nbsp; # xl0 ip is 10.0.10.10/24&lt;br /&gt;scrub in all&lt;br /&gt;set skip on lo0&lt;br /&gt;block in log all&lt;br /&gt;pass out log quick keep state&lt;br /&gt;pass in log quick on $ext_if inet proto icmp all icmp-type { echorep, timex, unreach }&lt;br /&gt;pass in log quick on $int_if inet proto icmp all icmp-type { echorep, timex, unreach }&lt;br /&gt;pass&amp;nbsp; in log quick on $int_if proto tcp from 10.0.10.0/24 to $int_if port 22 keep state&lt;br /&gt;pass&amp;nbsp; in log quick on $int_if from 10.0.10.0/24&amp;nbsp; keep state&lt;br /&gt;pass&amp;nbsp; in log quick on $ext_if from 5.6.7.8 to $ext_if&amp;nbsp; keep state&lt;br /&gt;&lt;br /&gt;&lt;b&gt;g. get status of vpn in FreeBSD&lt;/b&gt;&lt;br /&gt;# setkey -D&amp;nbsp;&amp;nbsp;# dump SAD entries&lt;br /&gt;# setkey -DP # dump PAD entries&lt;br /&gt;&lt;br /&gt;note: the following is from &lt;a href="http://www.tcpipguide.com/free/t_IPSecSecurityAssociationsandtheSecurityAssociation.htm"&gt;http://www.tcpipguide.com/free/t_IPSecSecurityAssociationsandtheSecurityAssociation.htm&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;&lt;i&gt;Security Policies, Security Associations and Associated Databases&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;  &lt;br /&gt;&lt;div align="left"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;To manage all of this complexity,  IPSec is equipped with a flexible, powerful way of specifying how different  types of datagrams should be handled. To understand how this works,  we must first define two important logical concepts:&lt;/span&gt;&lt;/div&gt;&lt;ul type="circle"&gt;&lt;li&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;Security Policies:&lt;/b&gt; A &lt;i&gt;security policy&lt;/i&gt;  is a rule that is programmed into the IPSec implementation that tells  it how to process different datagrams received by the device. For example,  security policies are used to decide if a particular packet needs to  be processed by IPSec or not; those that do not bypass AH and ESP entirely.  If security is required, the security policy provides general guidelines  for how it should be provided, and if necessary, links to more specific  detail.&lt;br /&gt;&lt;br /&gt;Security policies for a device are stored in the device's &lt;i&gt;Security  Policy Database (SPD)&lt;/i&gt;.&lt;/span&gt;  &lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;Security Associations:&lt;/b&gt; A &lt;i&gt;Security Association  (SA)&lt;/i&gt; is a set of security information that describes a particular  kind of secure connection between one device and another. You can consider  it a "contract", if you will, that specifies the particular security  mechanisms that are used for secure communications between the two.&lt;br /&gt;&lt;br /&gt;A device's security associations are contained in its &lt;i&gt;Security Association  Database (SAD)&lt;/i&gt;.&lt;/span&gt;  &lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;It's often hard to distinguish the  SPD and the SAD, since they are similar in concept. The main difference  between them is that security policies are general while security associations  are more specific. To determine what to do with a particular datagram,  a device first checks the SPD. The security policies in the SPD may  reference a particular security association in the SAD. If so, the device  will look up that security association and use it for processing the  datagram.&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;1. &lt;a href="http://unixwiz.net/techtips/iguide-ipsec.html"&gt;http://unixwiz.net/techtips/iguide-ipsec.html&amp;nbsp; &lt;/a&gt;&lt;span style="font-size: small;"&gt;(&lt;/span&gt;&lt;span style="font-size: small;"&gt;An Illustrated Guide to IPsec)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;2. &lt;a href="http://en.wikipedia.org/wiki/IPsec"&gt;http://en.wikipedia.org/wiki/IPsec&lt;/a&gt;&amp;nbsp; (wiki ipsec)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;3. &lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html"&gt;http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html&lt;/a&gt; (&lt;/span&gt;&lt;span style="font-size: small;"&gt; FreeBSD handbook VPN over IPSec)&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4689847001245625440?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4689847001245625440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4689847001245625440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4689847001245625440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4689847001245625440'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/01/site-to-site-ipsec-vpn-in-freebsd-7-and.html' title='Site-to-Site IPSec VPN in FreeBSD 7  and OpenBSD 4'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7137748721908916874</id><published>2011-01-13T10:04:00.002+08:00</published><updated>2011-01-13T10:17:58.619+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telnet'/><category scheme='http://www.blogger.com/atom/ns#' term='ping'/><category scheme='http://www.blogger.com/atom/ns#' term='mtr'/><category scheme='http://www.blogger.com/atom/ns#' term='traceroute'/><category scheme='http://www.blogger.com/atom/ns#' term='nc'/><category scheme='http://www.blogger.com/atom/ns#' term='wireshark'/><category scheme='http://www.blogger.com/atom/ns#' term='tshark'/><title type='text'>How to troubleshoot Internet connectivity issues</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Situation&lt;/b&gt;: packet loss on Internet between countries, one end ip is 1.2.3.4, other end is 5.6.7.8&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: use free tools to troubleshoot the issue &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tools:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. ping &lt;/b&gt;&lt;br /&gt;ping -c 100 1.2.3.4 to check the RTT and packet loss rate&lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. traceroute or tracert&lt;/b&gt;&lt;br /&gt;check the RTT time for each hop.&lt;br /&gt;&lt;br /&gt;You can paste the result to &lt;a href="http://www.geobytes.com/TraceRouteLocator.htm"&gt;http://www.geobytes.com/TraceRouteLocator.htm&lt;/a&gt; to get the location information.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. tcptraceroute or traceroute -T(CentOS 5)&lt;/b&gt;&lt;br /&gt;If the udp normal traceroute is not able to go through, you can try tcptraceroute or traceroute -T&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. telnet or nc&lt;/b&gt;&lt;br /&gt;telnet serverip portnumber to check the connectivity&lt;br /&gt;&lt;br /&gt;nc -vz servername portnumber to check if tcp portnumber is open, not applicable for udp port which it will always say it's open.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;5. mtr (My TraceRoute) - &lt;a href="http://www.bitwizard.nl/mtr/"&gt;http://www.bitwizard.nl/mtr/&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;use mtr to check packet loss and RTT time.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. wireshark(GUI) or tshark(CLI)&lt;/b&gt;&lt;br /&gt;use tshark to monitor packet loss (tcp retransmission)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7. tcpdump&lt;/b&gt; to check if the traffic is coming into the server&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.geobytes.com/IpLocator.htm"&gt;http://www.geobytes.com/IpLocator.htm&lt;/a&gt;&amp;nbsp; - IP Locator&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7137748721908916874?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7137748721908916874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7137748721908916874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7137748721908916874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7137748721908916874'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/01/how-to-troubleshoot-internet.html' title='How to troubleshoot Internet connectivity issues'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-3266713288496102279</id><published>2011-01-04T14:21:00.004+08:00</published><updated>2011-01-11T16:20:47.212+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pscp'/><category scheme='http://www.blogger.com/atom/ns#' term='pageant'/><title type='text'>use pscp with DSA key without password under Windows</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: use pscp and pageant for ssh DSA authentication without password&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: Windows&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Script:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;1. use pageant to generate jephe and jephe.ppk on Windows , then put the content of jephe to the openssh server jephe homedirectory .ssh/authorized_keys2.&lt;br /&gt;&lt;br /&gt;2. script&lt;br /&gt;@For /F "tokens=1,2,3 delims=/ " %%A in ('Date /t') do @( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Month=%%A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Day=%%B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Year=%%C&lt;br /&gt;)&lt;br /&gt;&lt;i&gt;note: above script &lt;/i&gt;"tokens=1,2,3 delims=/ "&lt;i&gt;, means delimiter is / or white space. %%A means %A, which is for the whole string of command 'date /t', then use / or white space as delimiter &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;@For /F "tokens=1,2 delims= " %%A in ('Time /t') do @( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Hour=%%A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Second=%%B&lt;br /&gt;)&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;note: use only whitespace as delimiter.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;set yearmonthday=%Year%%Month%%Day%&lt;br /&gt;set hoursecond=%Hour% %Second%&lt;br /&gt;&lt;br /&gt;echo --- &amp;gt;&amp;gt; log.txt&lt;br /&gt;echo pscp&amp;nbsp; -i jephe.ppk jephe@1.2.3.4:jephe.txt jephe.txt.%yearmonthday% %hoursecond%&amp;nbsp; &amp;gt;&amp;gt; log.txt&lt;br /&gt;pscp&amp;nbsp; -i jephe.ppk jephe@1.2.3.4:jephe.txt .&amp;nbsp; &amp;gt;&amp;gt; log.txt 2&amp;gt;&amp;amp;1&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-3266713288496102279?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/3266713288496102279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=3266713288496102279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3266713288496102279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/3266713288496102279'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2011/01/use-pscp-with-dsa-key-without-password.html' title='use pscp with DSA key without password under Windows'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4129120838508167048</id><published>2010-12-30T10:14:00.001+08:00</published><updated>2010-12-30T10:15:35.971+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ddl'/><category scheme='http://www.blogger.com/atom/ns#' term='audittrail'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle DDL Trigger on Database</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: create DDL trigger on database to audit all DDL statement.&lt;br /&gt;&lt;b&gt;Environment:&lt;/b&gt; CentOS 5.5 64bit, Oracle 11g 64bit&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;1. create a separate tablespace and user called audittrail&lt;br /&gt;2. create trigger on database, record all ddl log to audittrail user ddl_log table.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trigger:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. filter _TMP table in JEPHE schema&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. create the following trigger in sys schema &lt;/b&gt;&lt;br /&gt;&lt;i&gt;CREATE TABLE audittrail.DDL_LOG&lt;br /&gt;(&lt;br /&gt;&amp;nbsp; USER_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(30 BYTE),&lt;br /&gt;&amp;nbsp; DDL_DATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE,&lt;br /&gt;&amp;nbsp; DDL_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(30 BYTE),&lt;br /&gt;&amp;nbsp; OBJECT_TYPE&amp;nbsp; VARCHAR2(25 BYTE),&lt;br /&gt;&amp;nbsp; OWNER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(30 BYTE),&lt;br /&gt;&amp;nbsp; OBJECT_NAME&amp;nbsp; VARCHAR2(128 BYTE),&lt;br /&gt;&amp;nbsp; CLIENT_USER&amp;nbsp; VARCHAR2(40 BYTE),&lt;br /&gt;&amp;nbsp; MACHINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(40 BYTE)&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE TRIGGER DDL_LOG AFTER DDL ON DATABASE&lt;br /&gt;DECLARE&lt;br /&gt;MACHINE VARCHAR2(400);&lt;br /&gt;OSUSER VARCHAR2(40);&lt;br /&gt;IPINFO VARCHAR2(30);&lt;br /&gt;IP1 VARCHAR2(30);&lt;br /&gt;NO1 NUMBER(1);&lt;br /&gt;erno NUMBER;&lt;br /&gt;ermsg VARCHAR2(1500);&lt;br /&gt;USER_INFO VARCHAR2(50);&lt;br /&gt;SIDINFO VARCHAR2(50);&lt;br /&gt;Host_name VARCHAR2(50);&lt;br /&gt;USER_NAME VARCHAR2(25);&lt;br /&gt;MACHINE_NAME VARCHAR2(40);&lt;br /&gt;BEGIN&lt;br /&gt;SELECT sys_context('USERENV','IP_ADDRESS') INTO IPINFO FROM DUAL;&lt;br /&gt;SELECT SYS_CONTEXT('USERENV','TERMINAL') INTO MACHINE FROM DUAL;&lt;br /&gt;SELECT sys_context('USERENV','OS_USER') INTO OSUSER FROM DUAL;&lt;br /&gt;&lt;br /&gt;ermsg:=SUBSTR(ora_dict_obj_name,LENGTH(ora_dict_obj_name)-3,LENGTH(ora_dict_obj_name));&lt;br /&gt;if&amp;nbsp; ora_dict_obj_owner= 'JEPHE'&amp;nbsp; AND upper(ermsg) = '_TMP'&amp;nbsp; &lt;br /&gt;then&lt;br /&gt;null;&lt;br /&gt;else&lt;br /&gt;INSERT INTO audittrail.ddl_log VALUES(ora_login_user,SYSDATE,ora_sysevent,ora_dict_obj_type,ora_dict_obj_owner,ora_dict_obj_name,OSUSER,MACHINE);&lt;br /&gt;END IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4129120838508167048?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4129120838508167048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4129120838508167048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4129120838508167048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4129120838508167048'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/oracle-ddl-trigger-on-database.html' title='Oracle DDL Trigger on Database'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4875048643109306138</id><published>2010-12-25T11:58:00.000+08:00</published><updated>2010-12-25T11:58:54.841+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='load balancing'/><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><title type='text'>Linux Clustering Concept</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: understanding basic Linux clustering concept and tools&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: CentOS 5, FreeBSD 8&lt;br /&gt;&lt;br /&gt;Concept:&lt;br /&gt;&lt;b&gt;1. What's the clustering&lt;/b&gt;&lt;br /&gt;Connecting two or more computers together in such a way that  they behave like a single computer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 2 kinds of clustering&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/TERM/P/parallel_processing.html"&gt;parallel processing&lt;/a&gt;, and&amp;nbsp; &lt;a href="http://www.blogger.com/TERM/L/load_balancing.html"&gt;load balancing&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Parallel processing&lt;/b&gt; means the simultaneous use of more than one CPU to execute a program. Ideally, parallel processing makes a  program run faster because there are more engines  (CPUs) running it. In practice, it is often difficult to divide a program in  such a way that separate CPUs can execute different portions without interfering  with each other.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Load balancing&lt;/b&gt; means distributing processing and communications activity evenly across a computer network so that no single device is overwhelmed. Busy web sites typically employ two or more web servers in a load balancing scheme.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. some example of web and application load balancing solutions&lt;/b&gt;&lt;br /&gt;a. LVS - Linux Virtual Server at &lt;a href="http://www.linux-vs.org/"&gt;http://www.linux-vs.org&lt;/a&gt;&lt;br /&gt;b. Pound - &lt;a href="http://www.apsis.ch/pound/"&gt;http://www.apsis.ch/pound/&lt;/a&gt;&lt;br /&gt;c. PF carp and pfsync - &lt;a href="http://www.openbsd.org/faq/pf/carp.html"&gt;http://www.openbsd.org/faq/pf/carp.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;d. tomcat connector - &lt;a href="http://tomcat.apache.org/connectors-doc/"&gt;http://tomcat.apache.org/connectors-doc/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-4875048643109306138?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/4875048643109306138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=4875048643109306138' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4875048643109306138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/4875048643109306138'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/linux-clustering-concept.html' title='Linux Clustering Concept'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-1994056839133879888</id><published>2010-12-16T18:23:00.000+08:00</published><updated>2010-12-16T18:23:13.798+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><category scheme='http://www.blogger.com/atom/ns#' term='clone'/><category scheme='http://www.blogger.com/atom/ns#' term='snapshot'/><title type='text'>How to use LVM snapshot to clone CentOS 5 server</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment:&lt;/b&gt; 36G IDE hard disk with CentOS 5.5 default installation which has /boot as /dev/hda1 and the rest are on LVM, this is server A.&lt;br /&gt;&lt;b&gt;Objective:&lt;/b&gt; to clone to another same kind of machine by using LVM snapshot. This is server B.&lt;br /&gt;&lt;b&gt;Tools used&lt;/b&gt;: RIP(Recovery Is Possible) CD V8.9, create LVM snapshot for / partition before using tar to copy to another machine.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Concept:&lt;/b&gt;&lt;br /&gt;1. use RIP to boot up the destination machine&lt;br /&gt;2. create partitions same as the original one and make file system for all partitions&lt;br /&gt;3. use external hard disk or thumb drive on original machine to extend the volume group &lt;br /&gt;4. create LVM snapshot logical volume on original machine before using tar to copy the whole file system&lt;br /&gt;5. use tar on destinaion machine to copy over the whole file system from original machine&lt;br /&gt;6. install grub on destiniation machine. reboot&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp; use RIP to boot up the server B, choose skip the keyboard map.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2.&amp;nbsp; setting up the environment of RIP for network use&lt;/b&gt;&lt;br /&gt;login as root without password&lt;br /&gt;&lt;b&gt;&lt;i&gt;passwd root&lt;br /&gt;ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up&lt;br /&gt;/usr/sbin/sshd&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3.&amp;nbsp; copy over the partition configurations from server A (10.0.0.1/24)&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ssh 10.0.0.1 'sfdisk -d /dev/hda' | sfdisk [--force] /dev/hda&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;or&lt;br /&gt;use &lt;b&gt;&lt;i&gt;fdisk -ul /dev/hda &lt;/i&gt;&lt;/b&gt;on server A to get the sector layout, then configure it on server B&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;mkfs -t ext3 /dev/hda1 &lt;br /&gt;mkfs -t ext3 /dev/VolGroup00/LogVol00&lt;br /&gt;mkswap /dev/VolGroup00/LogVol01&lt;br /&gt;e2label /boot /dev/hda1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. create snapshot on server A for intact tar backup over ssh.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;4.1 extend the current volume group first &lt;/b&gt;&lt;br /&gt;use external hard disk or thumb drive as the extra space for snapshot, as long as the thumb drive can hold the extra changes between the time you created snapshot and the time you finish then delete snapshot, thumb drive doesn't have to be same size as hard disk.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How LVM snapshot works?&lt;/b&gt;&lt;br /&gt;As soon as you create a snapshot, LVM creates a pool of blocks. I believe that this pool also contains a full copy of the metadata of the volume. When writes happen to the main volume, the block being overwritten is copied to this new pool and the new block is written to the main volume. This is the 'copy-on-write'. Because of this, the more data that gets changed between when a snapshot was taken and the current state of the main volume, the more space will get consumed by that snapshot pool.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4.2 create snapshot (I used a 4G thumb drive as /dev/sda1)&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;vgextend VolGroup00 /dev/sda1&lt;br /&gt;vgdisplay -v&lt;br /&gt;lvcreate -n backup -l 126 VolGroup00&lt;br /&gt;mkfs -t ext3 /dev/VolGroup00/backup&lt;br /&gt;mkdir /backup&lt;br /&gt;mount /dev/VolGroup00/backup /backup/&lt;br /&gt;vcreate -l 126 -s -n rootsnapshot /dev/VolGroup00/LogVol00&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.3 to remove snapshot later, do:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;umount /backup/&lt;br /&gt;lvremove /dev/VolGroup00/backup &lt;br /&gt;vgreduce VolGroup00 /dev/hda1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;or&lt;br /&gt;&lt;i&gt;&lt;b&gt;pvremove /dev/sda1&lt;br /&gt;vgreduce --removemissing&lt;br /&gt;vgreduce --removemissing VolGroup00&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Note: If the physical volume is still used you will have to migrate the data to another physical volume using pvmove.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5.&amp;nbsp; copying the whole file system to server B&lt;/b&gt;&lt;br /&gt;on server B:&lt;br /&gt;&lt;i&gt;&lt;b&gt;mount /dev/VolGroup00/LogVol00 /mnt/hda2&lt;br /&gt;mount /dev/hda1 /mnt/hda2/boot&lt;br /&gt;scp 10.0.0.1:/etc/passwd /etc/&lt;br /&gt;scp 10.0.0.1:/etc/group /etc/&lt;br /&gt;ssh 10.0.0.1 'cd /backup; tar cvpf - .' | tar xvpf -&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. make grub&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cd /mnt/hda2&lt;br /&gt;chroot .&lt;br /&gt;[MAKEDEV hda]&lt;br /&gt;[vgchange -a y] to activate all LVM - optional&lt;br /&gt;grub-install hd0&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;7. References:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.howtoforge.com/linux_lvm_snapshots"&gt;http://www.howtoforge.com/linux_lvm_snapshots&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-1994056839133879888?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/1994056839133879888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=1994056839133879888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1994056839133879888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/1994056839133879888'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-use-lvm-snapshot-to-clone-centos.html' title='How to use LVM snapshot to clone CentOS 5 server'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6942835366306711758</id><published>2010-12-15T15:12:00.003+08:00</published><updated>2010-12-16T11:09:58.204+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntop'/><category scheme='http://www.blogger.com/atom/ns#' term='proxyarp'/><title type='text'>How to use ntop and proxyarp to monitor network  traffic</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: 2M lease line connecting office and datacenter. CentOS 5.5 bridge firewall with proxyarp enabled, ntop for monitor traffic&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: use the existing network segment without any changes, use ntop builtin web server at port 3000 to monitor traffic&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Network diagram:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;before:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;___2M lease line__Router(10.0.0.254)___10.0.0.0/24 LAN&lt;br /&gt;&lt;b&gt;&lt;i&gt;after:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;__2M lease line__Router(10.0.0.254)__eth1:10.0.0.253 Firewall(CentOS 5.5) eth0:10.0.0.253__10.0.0.0/24 LAN&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. Install CentOS 5.5 32bit on firewall&lt;/b&gt;&lt;br /&gt;Use NFS installation(put DVD iso file under /root on NFS server, service nfs restart) and VNC remote install (type in: linux vnc vncconnect=10.0.0.200).&lt;br /&gt;use same ip address on both eth1 and eth0.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. enable proxyarp and ip_forward in /etc/sysctl.conf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Controls IP packet forwarding&lt;br /&gt;&lt;i&gt;&lt;b&gt;net.ipv4.ip_forward = 1&lt;br /&gt;net.ipv4.conf.eth0.proxy_arp = 1&lt;br /&gt;net.ipv4.conf.eth1.proxy_arp = 1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;or &lt;br /&gt;in /etc/rc.local as follows:&lt;br /&gt;&lt;i&gt;&lt;b&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/conf/eth0/proxy_arp&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/conf/eth1/proxy_arp&lt;br /&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. modify ip route &lt;/b&gt;&lt;br /&gt;adding the following into /etc/rc.local&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;ip route del 10.0.0.0/24 dev eth0&lt;br /&gt;ip route del 10.0.0.0/24 dev eth1&lt;br /&gt;ip route add 10.0.0.254 dev eth1&lt;br /&gt;ip route add 10.0.0.0/24 dev eth0&lt;br /&gt;route add default gw 10.0.0.254 eth1&lt;br /&gt;ntop -i eth1 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. OS update&lt;/b&gt;&lt;br /&gt;vi /etc/yum.conf (put proxy=http://10.0.0.1:8080)&lt;br /&gt;yum -y update&lt;br /&gt;vi /etc/grub.conf to use the latest kernel without Xen&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Install ntop&lt;/b&gt;&lt;br /&gt;search google for 'DAG', go to http://dag.wieers.com/rpm/FAQ.php#B to install rpmforge rpm&lt;br /&gt;wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm&lt;br /&gt;rpm -Uvh rpmforge*.rpm&lt;br /&gt;yum install ntop&lt;br /&gt;&lt;b&gt;&lt;br /&gt;6. test&lt;/b&gt;&lt;br /&gt;use ping, arping, ssh etc to test server/pc in 10.0.0.0/24 can reach the other end, as well as datacenter servers.&lt;br /&gt;&lt;br /&gt;If&amp;nbsp; things are not working, you might need to delete arp entries for your gateway 10.0.0.254 from your own pc or gateways:&lt;br /&gt;&lt;b&gt;&lt;i&gt;arp -d 10.0.0.254&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;arp -na&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;7. use browser&amp;nbsp; to access http://10.0.0.253:3000&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;8. References:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp; &lt;a href="http://alan.blog-city.com/linux_bridgefirewall_with_proxy_arp.htm"&gt;http://alan.blog-city.com/linux_bridgefirewall_with_proxy_arp.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6942835366306711758?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6942835366306711758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6942835366306711758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6942835366306711758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6942835366306711758'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-user-ntop-and-proxyarp-to.html' title='How to use ntop and proxyarp to monitor network  traffic'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-6030500676828705756</id><published>2010-12-11T19:33:00.013+08:00</published><updated>2011-08-26T19:33:31.570+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openssh'/><category scheme='http://www.blogger.com/atom/ns#' term='proxytunnel'/><category scheme='http://www.blogger.com/atom/ns#' term='zmodem'/><category scheme='http://www.blogger.com/atom/ns#' term='putty'/><category scheme='http://www.blogger.com/atom/ns#' term='leputty'/><title type='text'>How to access office server and admin desktop from home</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: assume you have a&amp;nbsp; admin Windows xp pro desktop in office which is running 24 hours.&amp;nbsp; You need to access company Linux servers and the admin Windows pc from home. &lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;:&amp;nbsp; assume your office has lease line connecting to Internet, also 2 level of squid proxy server (parent proxy concept) running on the LAN for users to access Internet, Windows XP pro admin desktop pc and CentOS servers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Connection diagram: &lt;/b&gt;&lt;br /&gt;&lt;b&gt;office lan - squid proxy - squid parent proxy&lt;/b&gt;&lt;br /&gt;&lt;i&gt;--internet firewall -[cloud] - Singapore ISP(starthub)--&lt;/i&gt;&lt;br /&gt;&lt;b&gt;home cable modem - wireless router - home Linux server + home Windows pc&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;b&gt;Method 1: Directly SSH, VNC or RDP port forwarding on Internet firewall&lt;/b&gt;&lt;/div&gt;You can do port forwarding for ssh,VNC or RDP on Internet firewall directly to your Linux admin server and Windows xp pro admin pc, use ssh public key authentication.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Other ways: VNC listening viewer mode, openvpn, hosted vpn such as LogMeIn Hamachi.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;b&gt;Method 2:&amp;nbsp; Teamviewer or logmein free edition&lt;/b&gt;&lt;/div&gt;You can just let the admin Windows pc to have Internet connection, then install teamviewer or logmein on that PC.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;b&gt;Method 3: openssh/putty + proxytunnel +[Apache mod_proxy]&lt;/b&gt;&lt;/div&gt;&lt;b&gt;a. openssh + proxytunnel&lt;/b&gt;&lt;br /&gt;Assume your 2 squid proxy has enabled port 22 for SSL&lt;br /&gt;&lt;b&gt;&lt;i&gt;acl SSL_ports port 443 22&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;acl Safe_ports port 443 22&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;squid -k reconfigure&lt;br /&gt;&lt;br /&gt;Configure &lt;b&gt;home wireless router to port forwarding&lt;/b&gt; port 22 to your home Linux/Windows cygwin ssh server at port 22.&lt;br /&gt;&lt;br /&gt;At home, configure ssh server /etc/ssh/sshd_config or /etc/sshd_config in cygwin (&lt;b&gt;GatewayPorts yes&lt;/b&gt;)&lt;br /&gt;&lt;br /&gt;In office, use the following ssh_config configuration (&lt;i&gt;&lt;b&gt;/etc/ssh/ssh_config&lt;/b&gt;&lt;/i&gt;): &lt;i&gt;&lt;b&gt;download proxytunnel v1.9 rpm and installed on admin linux server first.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Host jephe&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;&lt;b&gt; ServerAliveInterval 60&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerAliveCountMax 600&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt; &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Proxycommand /usr/bin/proxytunnel -p 10.0.0.2:8080 -d jephe.domain.com:22&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Run the following command to ssh into home Linux/Windows pc:&lt;br /&gt;&lt;i&gt;&lt;b&gt;ssh -v -R 3389:adminpc.jephe.com:3389 -R 2222:localhost:22&amp;nbsp; &lt;/b&gt;&lt;/i&gt;&lt;code&gt;&lt;i&gt;&lt;b&gt;[-L 8080:192.168.10.1:80] [-g]&lt;/b&gt;&lt;/i&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;note:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;(-g means allows remote hosts to connect to local forwarded ports)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;(-L part means you can connect to linux admin server at port 8080 which will be tunnelled to home wireless router admin access page) &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;How to connect to office from home:&lt;br /&gt;&lt;i&gt;&lt;b&gt;use rdp to connect to localhost for office admin pc remote desktop.&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;use putty to connect to localhost:2222 for ssh into office linux admin pc&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;i&gt;&lt;b&gt;note: Windows 7 Professional 64bit users:&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;i&gt;&lt;b&gt; a. You need to manually allow tcp port 22 incoming in Windows firewall incoming rules configuration&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;b. You need to allow remote desktop connection (right click computer, properties, advanced system settings,remote, choose users if necessary)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;c. You cannot use port 3389 and 3390 for port forwarding at localhost, use 3391 instead.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;span style="color: red;"&gt;so, after ssh, you should use localhost:3391 for connecting to office desktop pc.&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;note: &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;I have tried cygwin 1.7.7 on Windows xp for remote port portforwaring which is also working, without proxytunnel and http proxy.&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;b. openssh+nc&lt;/b&gt;&lt;br /&gt;you can use the following in the /etc/ssh/ssh_config&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Host test&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostname dest_server_ip&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProxyCommand ssh jephe@firewall_ip nc -w 1 %h %p&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;c. putty + proxytunnel&lt;/b&gt;&lt;br /&gt;According to my test, putty can use http proxy option or external program proxytunnel. &lt;b style="color: red;"&gt;I tried both options, the remote port forwarding part doesn't work(putty 0.60 and latest snapshot,also Xshell, CentOS 5.5 openssh server), the normal port forwarding through putty is working&lt;/b&gt;, which means you can access home pc and wireless router when you are in office, but not office pc and linux admin server when you are at home.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Putty's http proxy:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Just specify the squid proxy ip and port number, it will be able to tunnel your ssh connection through squid proxy:&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Proxytunnel:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;go into the &lt;b&gt;Connection&lt;/b&gt; &amp;gt; &lt;b&gt;Proxy&lt;/b&gt; menu. Select the &lt;b&gt;Local&lt;/b&gt; proxy type. And then provide as &lt;b&gt;Telnet command, or local proxy command&lt;/b&gt; the following line:&lt;br /&gt;&lt;i&gt;&lt;b&gt;proxytunnel -q -p squidproxy.jephe.com:8080&lt;/b&gt; [-r jephe.apacheserver.com:443] &lt;b&gt;-d %host:%port &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;-r part is used for Apache mod_proxy, refer to Reference 1 link&lt;/i&gt;&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note: another options for http proxy is &lt;a href="http://www.agroman.net/corkscrew/"&gt;http://www.agroman.net/corkscrew/ &lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;note:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;zmodem file transfer within Leputty(&lt;a href="http://leputty.sourceforge.net/"&gt;http://leputty.sourceforge.net/&lt;/a&gt;) and xshell&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;1. bypass any firewall: &lt;a href="http://www.saulchristie.com/how-to/bypass-firewalls"&gt;http://www.saulchristie.com/how-to/bypass-firewalls&amp;nbsp; (with apache mod_proxy, saved pdf on dropbox proxytunnel folder)&lt;/a&gt;&lt;br /&gt;2. proxytunnel homepage: &lt;a href="http://proxytunnel.sourceforge.net/intro.php"&gt;http://proxytunnel.sourceforge.net/intro.php&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://www.sohailriaz.com/howto-ssh-outside-using-authenticated-proxy/" rel="bookmark" title="Permanent Link to HowTo SSH outside using Authenticated Proxy"&gt;              &lt;/a&gt;&lt;/h1&gt;3. tunnel ssh over http(s): &lt;a href="http://dag.wieers.com/howto/ssh-http-tunneling/"&gt;http://dag.wieers.com/howto/ssh-http-tunneling/&lt;/a&gt;&lt;br /&gt;4. use corkscrew tool&lt;br /&gt;&lt;a href="http://www.agroman.net/corkscrew/"&gt;http://www.agroman.net/corkscrew/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daniel.haxx.se/docs/sshproxy.html"&gt;http://daniel.haxx.se/docs/sshproxy.html&lt;/a&gt;&lt;br /&gt;5. &lt;span style="font-size: small;"&gt;HowTo SSH outside using Authenticated Proxy&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.sohailriaz.com/howto-ssh-outside-using-authenticated-proxy/"&gt;http://www.sohailriaz.com/howto-ssh-outside-using-authenticated-proxy/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--google_ad_client = "ca-pub-2326791955539700";/* ad1 */google_ad_slot = "2289204159";google_ad_width = 468;google_ad_height = 60;//--&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-6030500676828705756?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/6030500676828705756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=6030500676828705756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6030500676828705756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/6030500676828705756'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-access-office-server-and-admin.html' title='How to access office server and admin desktop from home'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7012293914354288888</id><published>2010-12-09T19:36:00.001+08:00</published><updated>2010-12-10T09:25:11.901+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntfs'/><category scheme='http://www.blogger.com/atom/ns#' term='ntfs-3g'/><title type='text'>How to mount ntfs partition under CentOS</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;1.&amp;nbsp; CentOS 5&lt;br /&gt;Refer to &lt;a href="http://wiki.centos.org/TipsAndTricks/NTFS"&gt;http://wiki.centos.org/TipsAndTricks/NTFS&lt;/a&gt;&lt;br /&gt;If your version is CentOS 5.4 and above, you can install rpmforge repo first, then run yum install fuse fuse-ntfs-3g &lt;br /&gt;&lt;br /&gt;For installing rpmforge repo, go to &lt;a href="http://dag.wieers.com/rpm/FAQ.php#B"&gt;http://dag.wieers.com/rpm/FAQ.php#B&lt;/a&gt; to install it&lt;br /&gt;&lt;br /&gt;If you are using proxy server, use command rpm --httpproxy 10.0.0.1 --httpport 8080 -Uvh URL&lt;br /&gt;&lt;br /&gt;If your version is CentOS 5.3 and below, you can install kmod-fuse from ELRepo (refer to&lt;br /&gt;&lt;a href="http://elrepo.org/tiki/tiki-index.php"&gt;http://elrepo.org/tiki/tiki-index.php&lt;/a&gt;)&lt;br /&gt;So, firstly, install ELRepo as follows:&lt;br /&gt;&lt;br /&gt;rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org &lt;br /&gt;To install ELRepo for RHEL-5, SL-5 or CentOS-5:&lt;br /&gt;rpm -Uvh http://elrepo.org/elrepo-release-5-1.el5.elrepo.noarch.rpm &lt;br /&gt;&lt;br /&gt;after that, go to /etc/yum.repo.d/, vi file elrepo.repo to enable them, then run 'yum install kmod-fuse' to install fuse module.&lt;br /&gt;or yum --enablerepo=elrepo kmod-fuse, so you don't have to edit file to enable them.&lt;br /&gt;&lt;br /&gt;mounting ntfs:&lt;br /&gt;&lt;br /&gt;mount -t ntfs-3g /dev/sda1 /mnt/windows&lt;br /&gt;&lt;b&gt;&lt;br /&gt;References:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. ntfs-3g &lt;a href="http://www.tuxera.com/community/ntfs-3g-download/"&gt;http://www.tuxera.com/community/ntfs-3g-download/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7012293914354288888?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7012293914354288888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7012293914354288888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7012293914354288888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7012293914354288888'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-mount-ntfs-partition-under.html' title='How to mount ntfs partition under CentOS'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-239106080223941059</id><published>2010-12-08T17:21:00.004+08:00</published><updated>2010-12-09T08:44:39.079+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='map drive'/><category scheme='http://www.blogger.com/atom/ns#' term='sftp'/><title type='text'>How to map ftp/sftp drive for remote server from Windows/Linux</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. Perfect way - map sftp server as Windows drive letter&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;expandrive - &lt;a href="http://www.expandrive.com/"&gt;www.expandrive.com&lt;/a&gt; (30days trail)&lt;br /&gt;webdrive - &lt;a href="http://www.webdrive.com/products/webdrive/sftpclient.html"&gt;http://www.webdrive.com/products/webdrive/sftpclient.html&lt;/a&gt;&amp;nbsp; (20 days trial)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Directnet drive - &lt;a href="http://www.directnet-drive.net/"&gt;http://www.directnet-drive.net/&lt;/a&gt; (free for home user only)&lt;/i&gt;&amp;nbsp; --&lt;b&gt;it hung my Windows Vista Home Basic laptop&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. second option - ftp and webdav&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Windows builtin functionality&lt;/b&gt; - map network drive for ftp server (lack of drive letter functionality)&lt;br /&gt;note: choose tools/map network drive/signup online storage or connect to a network server/choose another network location, specify the address of a web site, network location or ftp site&lt;br /&gt;or&lt;br /&gt;&lt;b&gt;netdrive - &lt;a href="http://www.netdrive.net/"&gt;http://www.netdrive.net/&lt;/a&gt;&lt;/b&gt;&amp;nbsp; ( with drive letter and it is free for non-commercial use. )&lt;br /&gt;or&lt;br /&gt;&lt;i&gt;&lt;b&gt;Directnet drive - &lt;a href="http://www.directnet-drive.net/"&gt;http://www.directnet-drive.net/&lt;/a&gt; &lt;/b&gt;(with drive letter and it's free for non-commercial use)&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-239106080223941059?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/239106080223941059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=239106080223941059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/239106080223941059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/239106080223941059'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-map-ftpsftp-drive-for-remote.html' title='How to map ftp/sftp drive for remote server from Windows/Linux'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-7845076993953570963</id><published>2010-12-05T17:40:00.001+08:00</published><updated>2010-12-05T17:42:12.497+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='packet loss'/><category scheme='http://www.blogger.com/atom/ns#' term='traceroute'/><category scheme='http://www.blogger.com/atom/ns#' term='icmp'/><title type='text'>How to troubleshoot packet loss and latency for Internet VPN</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;:&amp;nbsp; use all kinds of open source free softwares to troubleshoot the Internet vpn slowness issue and pinpoint where is the packet loss router.&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: OpenBSD, Freebsd as vpn firewall. When accessing servers such as web servers, Oracle database servers through Internet vpn, we experiencd very slow connection.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The following is the vpn network diagram: &lt;br /&gt;10.0.5.x__10.0.5.1||1.2.3.4++++++++++++++++5.6.7.8||10.0.6.1__10.0.6.X&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1. Check latency and packet loss from host 1.2.3.4 to 5.6.7.8&lt;/b&gt;&lt;br /&gt;a. ping check if you are able to ping from 1.2.3.4 to 5.6.7.8, if yes, check the latency and packet loss rate.&lt;br /&gt;The latency is not accurate because it might be due to icmp rate limiting confiugred by router, only tcp traffic is in priority.&lt;br /&gt;b. if the ping is blocked, use tcptraceroute or traceroute -T (on CentOS 5) and tracetcp on Windows (http://tracetcp.sourceforge.net/), the latency here is more accurate as it's real tcp traffic from sender to receiver, although the return traffic is icmp TTL exceeded message.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How does tcptraceroute and tracetcp work?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When you issue command like 'tracetcp www.redhat.com:443', Wireshark captures the traffic below, for each hop, it will send 3 tcp packets and set TTL starting from 1. When the final destination reached and it gets ACK reply from destination host, it will immediately tear down the connection.&lt;br /&gt;&lt;br /&gt;13&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.732592000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 20527 &amp;gt; https [SYN] Seq=0 Win=16383 Len=0&amp;nbsp; (time to live is 1 in ip header)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;14&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.734182000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.1&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Time-to-live exceeded (Time to live exceeded in transit) &lt;br /&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.232399000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 24043 &amp;gt; https [SYN] Seq=0 Win=16383 Len=0&amp;nbsp; (time to live is 1 in ip header)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;16&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.241227000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.1&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Time-to-live exceeded (Time to live exceeded in transit)&amp;nbsp; &lt;br /&gt;17&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.732323000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 13233 &amp;gt; https [SYN] Seq=0 Win=16383 Len=0&amp;nbsp; (time to live is 1 in ip header)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.735323000&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.1&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Time-to-live exceeded (Time to live exceeded in transit)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. use mtr or pathping to check packet loss rate &lt;/b&gt;&lt;br /&gt;You can install mtr (&lt;a href="http://en.wikipedia.org/wiki/MTR_%28software%29"&gt;http://en.wikipedia.org/wiki/MTR_%28software%29&lt;/a&gt;) on Linux/FreeBSD/OpenBSD to check the packet loss rate for the trace path. There are also winmtr and pathping on Windows for similiar functionality.&lt;br /&gt;&lt;br /&gt;MTR relies on ICMP Time Exceeded (type 11) packets coming back from routers, or ICMP Echo Reply packets when the packets have hit their destination host.&lt;br /&gt;&lt;br /&gt;2082&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.558234&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo (ping) request&lt;br /&gt;2083&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.590458&amp;nbsp;&amp;nbsp;&amp;nbsp; 203.117.34.14&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Time-to-live exceeded (Time to live exceeded in transit)&lt;br /&gt;2084&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.673071&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo (ping) request&lt;br /&gt;2085&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.804462&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo (ping) request&lt;br /&gt;2086&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.874170&amp;nbsp;&amp;nbsp;&amp;nbsp; 198.32.176.127&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Time-to-live exceeded (Time to live exceeded in transit)&lt;br /&gt;........&lt;br /&gt;2090&amp;nbsp;&amp;nbsp;&amp;nbsp; 191.804462&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo (ping) request&lt;br /&gt;2091&amp;nbsp;&amp;nbsp;&amp;nbsp; 174.139518&amp;nbsp;&amp;nbsp;&amp;nbsp; 184.85.48.112&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.100.20&amp;nbsp;&amp;nbsp;&amp;nbsp; ICMP&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo (ping) reply&lt;br /&gt;&lt;br /&gt;Note: mtr will send icmp ping request with incremental TTL value starting from 1 to the destination host, by getting reply from each hop to get round trip time and packet loss rate.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. the importance of having no/low packet loss and how to read the mtr report for packet loss&lt;/b&gt;&lt;br /&gt;a. Packet loss kills throughput.&lt;br /&gt;b. a slower connection with zero packet loss can easily outperform a faster connection with some packet loss&lt;br /&gt;c. packet loss on the last hop, the desination, is what is most important; packet loss will happen on the return path which is totally different with the outgoing path.&lt;br /&gt;d. sometimes routers in-between will not send ICMP "TTL expired in transit" messages, it will see 3 asterisk which is normal.&lt;br /&gt;e. some routers may specifically block (or down-prioritize) ICMP echo requests, or might do the same where TTL=0. These routers (or the final destination) might show 100% packet loss&lt;br /&gt;f. the router may also be programmed to limit the number of responses it sends to ICMP packets in an effort to mitigate DoS attacks&lt;br /&gt;g. just because you see a hop with high loss doesn't mean it's slowing down "real" traffic; it may only be throwing away ICMP.&lt;br /&gt;&lt;br /&gt;References: &lt;br /&gt;a. &lt;a href="http://help.rr.com/hmsfaqs/e_packetloss.aspx"&gt;http://help.rr.com/hmsfaqs/e_packetloss.aspx&lt;/a&gt;&amp;nbsp; &lt;br /&gt;2. &lt;a href="http://library.linode.com/linux-tools/mtr/"&gt;http://library.linode.com/linux-tools/mtr/&lt;/a&gt;&amp;nbsp;&amp;nbsp; --for how to read mtr report&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. how to configure vpn firewall for icmp traffic in OpenBSD or FreeBSD packet filter firewall&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;pass out log quick &lt;br /&gt;pass in log quick on $ext inet proto icmp all icmp-type { echorep, timex, unreach }&lt;br /&gt;pass in log quick on $ext inet proto udp from 1.2.3.4 to $ext keep state&lt;br /&gt;pass in log quick on $ext inet proto icmp all icmp-type { echo } from 1.2.3.4 to $ext keep state&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8593805755548677";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:0";
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4269723281975845210-7845076993953570963?l=linuxtechres.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxtechres.blogspot.com/feeds/7845076993953570963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4269723281975845210&amp;postID=7845076993953570963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7845076993953570963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4269723281975845210/posts/default/7845076993953570963'/><link rel='alternate' type='text/html' href='http://linuxtechres.blogspot.com/2010/12/how-to-troubleshoot-packet-loss-and.html' title='How to troubleshoot packet loss and latency for Internet VPN'/><author><name>Jephe Wu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4269723281975845210.post-4000745926687031372</id><published>2010-11-14T21:15:00.010+08:00</published><updated>2010-11-24T11:05:37.748+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pf'/><title type='text'>Understand Packet Filter(PF) Firewall</title><content type='html'>&lt;i&gt;Jephe Wu - &lt;a href="http://linuxtechres.blogspot.com/"&gt;http://linuxtechres.blogspot.com&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Environment&lt;/b&gt;: OpenBSD 4.8, FreeBSD 7.1&lt;br /&gt;&lt;b&gt;Objective&lt;/b&gt;: understanding how PF firewall works and varous important rules and parameters&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Concepts:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;PF is enabled by default on &lt;b&gt;OpenBSD 4.6 and newer &lt;/b&gt;releases. &lt;b&gt;In OpenBSD 4.1 and later&lt;/b&gt;, the keep state option became the implicit default for all filter rules&lt;br /&gt;&lt;b&gt;&lt;br /&gt;1. block in log all&amp;nbsp; # default deny policy&lt;/b&gt;&lt;br /&gt;a. Above rule doesn't have &lt;b&gt;'quick' option&lt;/b&gt;, which means it will still continue to traverse to the end of the rules in /etc/pf.conf until it meets one rule with quick option. If the traffic doesn't meet any rest of rules, then this block rule will take it, so the result is 'block'.&lt;br /&gt;# if above rule becomes '&lt;b&gt;block in log quick all&lt;/b&gt;' , then it will block everything for incoming traffic due to 'quick' option, it won't look down anymore&lt;br /&gt;b. &lt;b&gt;By default, the PF rules will pass traffic&lt;/b&gt; unless it's blocked by default policy or specific rules&lt;br /&gt;c.'log' option indicates that it will record those matching information to pflog file, if you use '&lt;b&gt;tcpdump -n -e -ttt -i pflog0&lt;/b&gt;' to monitor, it will see those matching information for this block rule.&lt;br /&gt;&lt;br /&gt;The following message is from PF FAQ page at &lt;a href="http://www.openbsd.org/faq/pf/filter.html"&gt;http://www.openbsd.org/faq/pf/filter.html&lt;/a&gt;&lt;br /&gt;Each packet is evaluated against the filter ruleset from top to bottom. By default, the packet is marked for passage, which can be changed by any rule, and could be changed back and forth several times before the end of the filter rules. The last matching rule "wins". There is an exception to this: The quick option on a filtering rule has the effect of canceling any further rule processing and causes the specifi
