<?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-4501262791228148523</id><updated>2011-12-04T18:01:49.578-08:00</updated><category term='SQL Server 2005'/><category term='MySQL'/><category term='Oracle'/><category term='Linux'/><title type='text'>Oracle  MySQL   Linux</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-6178200834326816716</id><published>2011-11-01T02:46:00.000-07:00</published><updated>2011-11-01T02:47:27.403-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>configure: error: Package requirements (gtk+-2.0 &gt;= 2.0.0) were not met</title><content type='html'>I'm trying to install plascolin but when I type ./configure in the directory into which I unpacked the package, I get:&lt;br /&gt;&lt;br /&gt;configure: error: Package requirements (gtk+-2.0 &gt;= 2.0.0) were not met.&lt;br /&gt;&lt;br /&gt;Now, as I understand it, GTK is installed as part Ubuntu. I don't see anything specifically called "gtk+-2.0" in synaptic so I'm not sure what to do here.&lt;br /&gt;&lt;br /&gt;Dev packages are not installed by default, you can install it with:&lt;br /&gt;&lt;br /&gt;sudo apt-get install libgtk2.0-dev&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-6178200834326816716?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/6178200834326816716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/11/configure-error-package-requirements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6178200834326816716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6178200834326816716'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/11/configure-error-package-requirements.html' title='configure: error: Package requirements (gtk+-2.0 &gt;= 2.0.0) were not met'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1556177908937655936</id><published>2011-10-30T03:27:00.001-07:00</published><updated>2011-10-30T03:27:29.305-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Adding extra Repositories on Ubuntu</title><content type='html'>Repositories on Ubuntu are the locations that you can download software from. As a general rule, the default repositories don’t contain the right locations for most software packages that you’ll want to install. You will want to open up the /etc/apt/sources.list file, find and uncomment the following lines&lt;br /&gt;&lt;br /&gt;deb http://us.archive.ubuntu.com/ubuntu dapper universe main restricted universe&lt;br /&gt;&lt;br /&gt;deb http://security.ubuntu.com/ubuntu dapper-security universe&lt;br /&gt;&lt;br /&gt;Note that if you are using a different version than Dapper Drake (6.06), you will probably see a different name there, something like breezy or edgy.&lt;br /&gt;&lt;br /&gt;Once you are done adding the repositories, you’ll need to run this command:&lt;br /&gt;&lt;br /&gt;sudo apt-get update&lt;br /&gt;&lt;br /&gt;(Thanks to Gregg in the comments for catching that)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1556177908937655936?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1556177908937655936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/10/adding-extra-repositories-on-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1556177908937655936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1556177908937655936'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/10/adding-extra-repositories-on-ubuntu.html' title='Adding extra Repositories on Ubuntu'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5586911841917497083</id><published>2011-10-05T02:21:00.001-07:00</published><updated>2011-10-05T02:21:59.559-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>SSH Public Key Based Authentication – Howto</title><content type='html'>How to do it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Generate the authentication key&lt;br /&gt;On the client machine, the user must generate a public / private keys pair that will identify himself on the servers. One can choose to protect it with password or not.&lt;br /&gt;&lt;br /&gt;Letting it with no password, means that anyone with access to the key files (eg. root on the client’s machine) will have the same level of access of the user and no password will be asked when the client tries to connect to the servers.&lt;br /&gt;&lt;br /&gt;Protecting the keys with password means that every time the user tries to connect to a server using those keys , the password for decrypting it will be asked. This is surely more secure, since anyone who can read the key files, will only see an encrypted version.&lt;br /&gt;&lt;br /&gt;To generate the key pair do:&lt;br /&gt;&lt;br /&gt;fabio@morpheus:~$ ssh-keygen&lt;br /&gt;Generating public/private rsa key pair.&lt;br /&gt;Enter file in which to save the key (/home/fabio/.ssh/id_rsa):&lt;br /&gt;Enter passphrase (empty for no passphrase):&lt;br /&gt;Enter same passphrase again:&lt;br /&gt;Your identification has been saved in /home/fabio/.ssh/id_rsa.&lt;br /&gt;Your public key has been saved in /home/fabio/.ssh/id_rsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;44:3e:ef:58:94:15:52:c2:88:ca:ab:21:43:53:3d:42 fabio@morpheus&lt;br /&gt;fabio@morpheus:~$&lt;br /&gt;Just let the default file (~/.ssh/id_rsa). Enter the password at choice, as explained before. If you need to change the password or add one, do:&lt;br /&gt;&lt;br /&gt;fabio@morpheus:~$ ssh-keygen -p&lt;br /&gt;Enter file in which the key is (/home/fabio/.ssh/id_rsa):&lt;br /&gt;Key has comment '/home/fabio/.ssh/id_rsa'&lt;br /&gt;Enter new passphrase (empty for no passphrase):&lt;br /&gt;Enter same passphrase again:&lt;br /&gt;Your identification has been saved with the new passphrase.&lt;br /&gt;fabio@morpheus:~$&lt;br /&gt;In this case, a new password was added. Note that this operation does not change the public / private key pair. It only changes its encryption.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Install the public key on the servers&lt;br /&gt;Once the public key is installed on the server, access will be granted with no password question. SSH usually comes with an utility called ssh-copy-id that simply adds the contents of client’s ~/.ssh/id_rsa.pub to the server’s ~/.ssh/authorized_keys:&lt;br /&gt;&lt;br /&gt;fabio@morpheus:~$ ssh-copy-id -i .ssh/id_rsa.pub ornellas@apanela.com&lt;br /&gt;15&lt;br /&gt;ornellas@apanela.com's password:&lt;br /&gt;Now try logging into the machine, with "ssh 'ornellas@apanela.com'", and check in:&lt;br /&gt;&lt;br /&gt; .ssh/authorized_keys&lt;br /&gt;&lt;br /&gt;to make sure we haven't added extra keys that you weren't expecting.&lt;br /&gt;&lt;br /&gt;fabio@morpheus:~$&lt;br /&gt;Note that at this point password access is needed. This procedure can be done by any other way you wish. For example, the server’s administrator himself can add the public key to allow a user access, instead of giving him a password.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5586911841917497083?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5586911841917497083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/10/ssh-public-key-based-authentication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5586911841917497083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5586911841917497083'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/10/ssh-public-key-based-authentication.html' title='SSH Public Key Based Authentication – Howto'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2418818907334279620</id><published>2011-09-08T19:49:00.000-07:00</published><updated>2011-09-08T19:50:16.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>SQL Server, Error 18542: Login failed for user ''. The user is not associated with a trusted SQL Server Connection</title><content type='html'>How to reset MSSQL Server sa password&lt;br /&gt;&lt;br /&gt;Depending on what mode SQL Server was installed (Windows Authentication or Mixed Mode), you may have to do a few things. If you installed in mixed mode, you can log in as sa and add the administrator user as a Login under the Security section. Make sure you assign sysadmin role to the user, which can be found under Server Roles.&lt;br /&gt;&lt;br /&gt;If Windows Authentication mode was chosen during install then there are a couple of things you can do, but I think the easiest is just to recreate the user sadegh, login into SQL Server as that user, and follow the previous step to add the administrator user as a login.&lt;br /&gt;&lt;br /&gt;UPDATE: If all else fails, you can run SQL Server in Single User Mode, which allows a single connection to the server, and enable/change the sa password. To do this you can:&lt;br /&gt;&lt;br /&gt;Open the command prompt (Right-Click on and select "Run As Administrator")&lt;br /&gt;From the command prompt type net stop MSSQLSERVER&lt;br /&gt;Next type net start MSSQLSERVER /m&lt;br /&gt;Open SQL Server Management Studio. Do not login, cancel the login dialog.&lt;br /&gt;From the file Menu select New-&gt;Database engine query, and login (Make sure you use the host name and not localhost).&lt;br /&gt;Execute the query ALTER LOGIN sa WITH PASSWORD = ''; to reset the password (if the sa is not enabled then type ALTER LOGIN sa ENABLE to do so)&lt;br /&gt;Login with the sa user and add the Administrator user.&lt;br /&gt;Tested on Windows 7 Ultimate with SQL Server 2008 Standard. Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2418818907334279620?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2418818907334279620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/09/sql-server-error-18542-login-failed-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2418818907334279620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2418818907334279620'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/09/sql-server-error-18542-login-failed-for.html' title='SQL Server, Error 18542: Login failed for user &apos;&apos;. The user is not associated with a trusted SQL Server Connection'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-3146004467956189244</id><published>2011-04-11T05:48:00.000-07:00</published><updated>2011-04-11T05:50:55.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Installing Software in GNU/Linux</title><content type='html'>Introduction&lt;br /&gt;For the benefit of people new to Linux, I have written a generic explanation of howto install software in Linux. Note that some software may have specific installation procedures, this HOWTO is not a substitute for reading the official installation documentation &lt;br /&gt;&lt;br /&gt;This HOWTO covers the following topics:&lt;br /&gt;&lt;br /&gt;Command-line process:&lt;br /&gt;Compiling and Installing software from source&lt;br /&gt;Installing RPM's using the Redhat Package Manager&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you have just installed GNU/Linux and would like to know how to install software on your new OS, I would recommend you read the section specifically for your GNU/Linux Distribution.&lt;br /&gt;&lt;br /&gt;Note: for new users, it is generally easiest/best to install any software using the default package tool that is included with your particular distribution.&lt;br /&gt;&lt;br /&gt;Do not worry if you don't understand or remember everything written here straight away, book mark this page and use it as a reference page later on.&lt;br /&gt;&lt;br /&gt;Compiling and Installing software from source&lt;br /&gt;&lt;br /&gt;NOTE - Installing from source code is the most difficult method for obtaining software on Linux and in most cases is not necessary. Most popular software can be found and installed quite easily using your distribution's package manager (see sections on "apt-get" and "yum"). Installing from source is recommended only for experienced Linux users and/or those who aren't afraid to break something for the purpose of learning.&lt;br /&gt;&lt;br /&gt;Some software is distributed in "Source form". This means you download a file containing all the source code for the application you want to install, unpack it, and compile it on your system. Compiling is the process of turning the source code into an executable binary. The common myth and newbie assumption is that this is very hard todo, or it is only for programmers. Wrong. It is a fairly straight forward process, and you will find that a lot of software you install will need to be built from source.&lt;br /&gt;&lt;br /&gt;Typically applications you must compile from source will come as a ".tar.gz", ".tar.bz2", or ".zip" file.&lt;br /&gt;&lt;br /&gt;You'll probably want to operate from inside your home directory. If your user is (for example) username, your home directory will be /home/username/. For the rest of this section we will assume you have downloaded your zip file to /home/username/src. If you do not have a src directory, you can create it with the following "mkdir" (make directory) command:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;mkdir /home/username/src/&lt;br /&gt;So, we have our source package in /home/username/src/.&lt;br /&gt;&lt;br /&gt;Change to the /home/username/src/ directory with the "cd" (change directory) command like so:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;cd /home/username/src/&lt;br /&gt;Use the "ls" (list directory contents) command, to see the file is present:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;ls&lt;br /&gt;&lt;br /&gt;We now need to unzip the zipped file, this is done differently depending on the file extension.&lt;br /&gt;&lt;br /&gt;for files ending in .tar.gz, use:&lt;br /&gt;Code:&lt;br /&gt;tar -zxvf &lt;filename&gt;&lt;br /&gt;(replacing &lt;filename&gt; with the name of the file).&lt;br /&gt;&lt;br /&gt;for files ending in .tar.bz2, use:&lt;br /&gt;Code:&lt;br /&gt;tar -jxvf &lt;filename&gt;&lt;br /&gt;for files ending in .zip, use:&lt;br /&gt;Code:&lt;br /&gt;unzip &lt;filename&gt;&lt;br /&gt;You should now have a new directory, containing all of the source files. To confirm it exists, and to get its name, use the "ls" command again.&lt;br /&gt;Code:&lt;br /&gt;ls&lt;br /&gt;we now need to go into the new directory, so use the cd command:&lt;br /&gt;Code:&lt;br /&gt;cd &lt;directory&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is where things will differ. Some packages will have an INSTALL or README file which will contain installation instructions. use "ls" to see if the software has an install or readme file. If it does have one, you can use the "more" command to read it, like so:&lt;br /&gt;Code:&lt;br /&gt;more INSTALL&lt;br /&gt;Generally, the final 3 stages are as follows:&lt;br /&gt;- Configure the installation&lt;br /&gt;- Compile the software&lt;br /&gt;- Install the binaries&lt;br /&gt;&lt;br /&gt;The pre-installation configuration is done by executing ./configure:&lt;br /&gt;Code:&lt;br /&gt;./configure&lt;br /&gt;This will perform some requirements testing on your system, and create a "Makefile" which will explain to the "make" utility how the software should be compiled. If you receive any error messages during this stage, you may wish to search the forums to see if they have been found and resolved by someone else already, if not, feel free to post a question on the forums - Please include all of the output including any error messages, and some details about your system - what distro you are using, what are you trying to install etc etc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next stage is to compile the software, this is done using "make". When you run "make" it will read the instructions in the Makefile and build the application binaries.&lt;br /&gt;Code:&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;The final stage is to install these binaries, ie, copy them to a more permanent location. Typically only the "root" user can do this, so you will need to swich to the root user with the "su" command:&lt;br /&gt;Code:&lt;br /&gt;su&lt;br /&gt;Once you are root, install the binaries using the "make" command, followed by "install", like so:&lt;br /&gt;Code:&lt;br /&gt;make install&lt;br /&gt;That is it! Check the user documentation of the software you installed for details of how to run the application.&lt;br /&gt;&lt;br /&gt;Remember that if you have any problems, please post in the most relevant section of the forums. - When posting, remember to include as much info as possible, including all output and error messages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Installing RPM's using the Redhat Package Manager&lt;br /&gt;Redhat RPM's offer a flexable and easy method to install new software. Software installed from an RPM package differs from compiling from source in a few ways, but the most important one of all is the software is already compiled for you. Essentially all you are doing is extracting the pre-built binaries and copying them to their pre-selected destination. RPM's are files that have a ".rpm" extenstion. The good point about RPM's is installation of new software, and maintaining the software currently installed is much easier than doing so for individual packages compiled from source. The downside to RPM's is that you dont have as much choice about where software is installed on your system, how it is compiled, and how it is configured. &lt;br /&gt;&lt;br /&gt;Using the RPM system is fairly straight forward. To install a package, you can use the following command:&lt;br /&gt;Code:&lt;br /&gt;rpm -i &lt;filename.rpm&gt;&lt;br /&gt;When using rpm, you must be logged in as the root user. The "-i" flag in the above command means "install".&lt;br /&gt;&lt;br /&gt;Un installing a package is just as easy:&lt;br /&gt;Code:&lt;br /&gt;rpm -e &lt;package&gt;&lt;br /&gt;The "-e" switch used here means "erase" (un install). &lt;br /&gt;Note that &lt;package&gt; is different from &lt;filename&gt; used when installing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For example, if you are installing an application called "mysoftware", you may use a command like "rpm -i mysoftware-1.0.2-i386.rpm" to install "mysoftware", when removing we dont follow the filename for installation, but rather the name of the software itself.&lt;br /&gt;&lt;br /&gt;For further uses of RPM, please use "rpm --help" and "man rpm". Also see this page, which has some fairly useful information.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need to find &amp; download the RPM file for a piece of software, I recommend using &lt;br /&gt;RPM Find and RPM Pbone Search Note that not all applications are available as RPM's, in these cases you will need to compile the software from source. (see above).&lt;br /&gt;__________________&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-3146004467956189244?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/3146004467956189244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/04/installing-software-in-gnulinux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3146004467956189244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3146004467956189244'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/04/installing-software-in-gnulinux.html' title='Installing Software in GNU/Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-8502441018770696701</id><published>2011-04-09T20:22:00.001-07:00</published><updated>2011-04-09T20:22:42.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Script to kill process</title><content type='html'>kill -9 `ps -aef | grep memcache | grep -v grep | awk '{print $2}'`&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-8502441018770696701?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/8502441018770696701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/04/script-to-kill-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8502441018770696701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8502441018770696701'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/04/script-to-kill-process.html' title='Script to kill process'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2633023111423866414</id><published>2011-03-23T08:50:00.001-07:00</published><updated>2011-03-23T08:51:29.151-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>HOWTO Install dig on Windows 7</title><content type='html'>by Dominic on March 3rd, 2011&lt;br /&gt;The short version:&lt;br /&gt;&lt;br /&gt;1.Create a folder for the dig application (I used E:\apps\dig)&lt;br /&gt;2.Download the latest version of BIND from the Internet Systems Consortium website.&lt;br /&gt;3.Open the .zip archive and extract dig.* and *.dll into your application folder&lt;br /&gt;4.Add the application folder to your path&lt;br /&gt;5.All of these steps might need a little more explanation for an inexperienced person. But then if you’re an inexperienced person, why do you need dig? Happy to expand on any of the above steps if you wish – just add a comment here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2633023111423866414?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2633023111423866414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/howto-install-dig-on-windows-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2633023111423866414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2633023111423866414'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/howto-install-dig-on-windows-7.html' title='HOWTO Install dig on Windows 7'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2590172582083772429</id><published>2011-03-09T05:55:00.000-08:00</published><updated>2011-03-09T05:56:25.235-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>How to Mail server (Postfix/Dovecot/SMTP auth with sasl/squirrelmail/clamav/spamassassin/amavis/dkim/Postfixadmin &amp; virtual users using mysql)</title><content type='html'>How to Mail Server&lt;br /&gt;&lt;br /&gt;Postfix/Dovecot/SMTP auth with sasl/squirrelmail/clamav/spamassassin/amavis/dkim/Postfixadmin &amp; virtual users using mysql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Prerequisites:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CentOS 5.3&lt;br /&gt;Intermediate knowledge of Linux&lt;br /&gt;apache&lt;br /&gt;mysql&lt;br /&gt;saslauthd&lt;br /&gt;Centos/Base repository&lt;br /&gt;&lt;br /&gt;Purpose:&lt;br /&gt;&lt;br /&gt;I have created this how to produce all these integrated howtos from one place because I have to make hard struggle to find out all these things &amp; off course to configure with integration. I have followed how to from different sites &amp; this how to is also derived from those I have adjusted it according to my requirements you can also do it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Installing &amp; configuring Postfix SMTP server with mysql support&lt;br /&gt;&lt;br /&gt;The version of Postfix that comes with Red Hat Enterprise Linux 5 or CentOS 5 does not support MySQL lookups. You can build your own custom Postfix RPM or get a prebuilt RPM from the CentOS Plus repository. You can use the CentOS repository in RHEL since CentOS is binary compatible with RHEL. This article describes how to install Postfix with MySQL lookup table support from the CentOS Plus repository.&lt;br /&gt;&lt;br /&gt;login to your server open terminal &amp; type the following command&lt;br /&gt;&lt;br /&gt;style="font-family:";"&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;edit the lines below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[updates]&lt;br /&gt;&lt;br /&gt;exclude=postfix&lt;br /&gt;&lt;br /&gt;[centosplus]&lt;br /&gt;&lt;br /&gt;enabled=1&lt;br /&gt;&lt;br /&gt;includepkgs=postfix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you have already installed postfix first remove it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yum remove postfix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now install the version of Postfix found in the CentOS Plus repository&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;yum install postfix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To verify MySQL support, type following command and check if mysql is found in the output&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;postconf -m&lt;br /&gt;&lt;br /&gt;[root@cu config]# postconf -m&lt;br /&gt;&lt;br /&gt;btree&lt;br /&gt;&lt;br /&gt;cidr&lt;br /&gt;&lt;br /&gt;environ&lt;br /&gt;&lt;br /&gt;hash&lt;br /&gt;&lt;br /&gt;ldap&lt;br /&gt;&lt;br /&gt;mysql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;nis&lt;br /&gt;&lt;br /&gt;pcre&lt;br /&gt;&lt;br /&gt;pgsql&lt;br /&gt;&lt;br /&gt;proxy&lt;br /&gt;&lt;br /&gt;regexp&lt;br /&gt;&lt;br /&gt;static&lt;br /&gt;&lt;br /&gt;unix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Switch to Postfix from Sendmail&lt;br /&gt;&lt;br /&gt;By default, Sendmail is the active SMTP server. Here’s how to change it.&lt;br /&gt;&lt;br /&gt;alternatives --config mta&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now choose postfix by entering number&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring Postfix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/main.cf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Find the following keys and change its values as follows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;inet_interfaces = all&lt;br /&gt;&lt;br /&gt;mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain&lt;br /&gt;&lt;br /&gt;home_mailbox = Maildir/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:Make sure that all mail_spool_directory lines are commented out. Otherwise, it will override the setting in the home_mailbox line above.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now restart postfix or start if it first time&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;service postfix restart&lt;br /&gt;&lt;br /&gt;chkconfig postfix on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Checking Postfix/ SMTP&lt;br /&gt;&lt;br /&gt;you can verify this by doing telnet on smtp port&lt;br /&gt;&lt;br /&gt;hint:If you encounter any problems, check the log file at&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/var/log/maillog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dovecot POP3/IMAP Server Setup&lt;br /&gt;&lt;br /&gt;First install dovecot&lt;br /&gt;&lt;br /&gt;yum install dovecot&lt;br /&gt;&lt;br /&gt;After that&lt;br /&gt;&lt;br /&gt;vi /etc/dovecot.conf&lt;br /&gt;&lt;br /&gt;Find the following keys and change its values as follows&lt;br /&gt;&lt;br /&gt;protocols = pop3 pop3s imap imaps&lt;br /&gt;&lt;br /&gt;mail_location = maildir:~/Maildir/&lt;br /&gt;&lt;br /&gt;pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;&lt;br /&gt;imap_client_workarounds = delay-newmail outlook-idle netscape-eoh&lt;br /&gt;&lt;br /&gt;pop3_client_workarounds = outlook-no-nuls oe-ns-eoh&lt;br /&gt;&lt;br /&gt;Now start service&lt;br /&gt;&lt;br /&gt;service dovecot start&lt;br /&gt;&lt;br /&gt;chkconfig dovecot on&lt;br /&gt;&lt;br /&gt;Checking Dovecot&lt;br /&gt;&lt;br /&gt;you can verify this by doing telnet on pop/imap port&lt;br /&gt;&lt;br /&gt;Hint:If you encounter any problems, check the log file at&lt;br /&gt;&lt;br /&gt;Postfix SMTP Authentication and Dovecot SASL&lt;br /&gt;&lt;br /&gt;First dovecot&lt;br /&gt;&lt;br /&gt;Edit the file “/etc/dovecot.conf” and make sure your auth default section has the lines below&lt;br /&gt;&lt;br /&gt;vi /etc/dovecot.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;auth default {&lt;br /&gt;&lt;br /&gt;socket listen {&lt;br /&gt;&lt;br /&gt;client {&lt;br /&gt;&lt;br /&gt;path = /var/spool/postfix/private/auth&lt;br /&gt;&lt;br /&gt;mode = 0660&lt;br /&gt;&lt;br /&gt;user = postfix&lt;br /&gt;&lt;br /&gt;group = postfix&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;mechanisms = plain login&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now Postfix/SMTP&lt;br /&gt;&lt;br /&gt;mynetworks = 127.0.0.0/8&lt;br /&gt;&lt;br /&gt;smtpd_sasl_type = dovecot&lt;br /&gt;&lt;br /&gt;smtpd_sasl_path = private/auth&lt;br /&gt;&lt;br /&gt;smtpd_sasl_auth_enable = yes&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;&lt;br /&gt;permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;&lt;br /&gt;broken_sasl_auth_clients = yes&lt;br /&gt;&lt;br /&gt;Edit /etc/postfix/main.cf, find the keys below and change its values as follows or add it at the bottom of the file if the key (the word before the = sign) cannot be found&lt;br /&gt;&lt;br /&gt;Hint:The first line says trust only localhost, meaning only localhost can send email outside the network (relay). The last line is there to support old clients like Microsoft Outlook Express 4.0 and Microsoft Exchange 5.0 just in case someone is still using it&lt;br /&gt;&lt;br /&gt;Now restart postfix &amp; dovecot&lt;br /&gt;&lt;br /&gt;service postfix restart&lt;br /&gt;&lt;br /&gt;service dovecot restart&lt;br /&gt;&lt;br /&gt;now you can verify both services by telnet if you face any problem check above mentioned log file&lt;br /&gt;&lt;br /&gt;Note: make sure that “saslauthd” is started&lt;br /&gt;&lt;br /&gt;SquirrelMail Webmail Setup&lt;br /&gt;&lt;br /&gt;yum install squirrelmail&lt;br /&gt;&lt;br /&gt;you can now access it&lt;br /&gt;&lt;br /&gt;http://servername/webmail&lt;br /&gt;&lt;br /&gt;Configuring Squirrelmail&lt;br /&gt;&lt;br /&gt;cd /usr/share/squirrelmail/config/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;./conf.pl&lt;br /&gt;&lt;br /&gt;2&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;Enter your domain name&lt;br /&gt;&lt;br /&gt;abc.com&lt;br /&gt;&lt;br /&gt;After entring dns name now press&lt;br /&gt;&lt;br /&gt;3&lt;br /&gt;&lt;br /&gt;smtp&lt;br /&gt;&lt;br /&gt;After saving information quit from menue&lt;br /&gt;&lt;br /&gt;This is the minimum configuration for squirrel webmail they are lot of other option like organization setting, logo change now it your to-do to explore this further&lt;br /&gt;&lt;br /&gt;Note:Now at this point your minimum mail server is configured with system username &amp; password u can logon by&lt;br /&gt;&lt;br /&gt;http://servername/webmail&lt;br /&gt;&lt;br /&gt;but prior to this start apache&lt;br /&gt;&lt;br /&gt;service httpd start&lt;br /&gt;&lt;br /&gt;chkconfig httpd on&lt;br /&gt;&lt;br /&gt;How to Install Postfix Admin&lt;br /&gt;&lt;br /&gt;Install the Postfix Admin requirements using the command below&lt;br /&gt;&lt;br /&gt;yum install php-mysql php-imap&lt;br /&gt;&lt;br /&gt;Download the latest stable version of Postfix Admin in .tar.gz format here. Assuming you got the file postfixadmin-2.2.1.1.tar.gz, type in the commands below to extract and to put it into its proper directory&lt;br /&gt;&lt;br /&gt;tar -xvzf postfixadmin-2.2.1.1.tar.gz&lt;br /&gt;&lt;br /&gt;mv postfixadmin-2.2.1.1 /usr/share/postfixadmin&lt;br /&gt;&lt;br /&gt;Create the Postfix Admin MySQL database using the commands below. The default root password of MySQL is a blank password&lt;br /&gt;&lt;br /&gt;Start mysql service if it is not strated&lt;br /&gt;&lt;br /&gt;service mysqld strat&lt;br /&gt;&lt;br /&gt;chkconfig mysql on&lt;br /&gt;&lt;br /&gt;mysql -u root -p -e "CREATE DATABASE postfix;"&lt;br /&gt;&lt;br /&gt;mysql -u root -p -e "CREATE USER postfix IDENTIFIED BY 'password';"&lt;br /&gt;&lt;br /&gt;mysql -u root -p -e "GRANT ALL PRIVILEGES ON postfix.* TO postfix;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Edit the file /usr/share/postfixadmin/config.inc.php and update the following lines below&lt;br /&gt;&lt;br /&gt;$CONF['configured'] = true;&lt;br /&gt;&lt;br /&gt;$CONF['postfix_admin_url'] = '/postfixadmin';&lt;br /&gt;&lt;br /&gt;$CONF['database_type'] = 'mysqli';&lt;br /&gt;&lt;br /&gt;$CONF['database_host'] = 'localhost';&lt;br /&gt;&lt;br /&gt;$CONF['database_user'] = 'postfix';&lt;br /&gt;&lt;br /&gt;$CONF['database_password'] = 'your_password';&lt;br /&gt;&lt;br /&gt;$CONF['database_name'] = 'postfix';&lt;br /&gt;&lt;br /&gt;$CONF['domain_path'] = 'YES';&lt;br /&gt;&lt;br /&gt;$CONF['domain_in_mailbox'] = 'NO';&lt;br /&gt;&lt;br /&gt;$CONF['encrypt'] = 'cleartext';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring the Postfix Admin Web Application&lt;br /&gt;&lt;br /&gt;Create the file /etc/httpd/conf.d/postfixadmin.conf containing the line below&lt;br /&gt;&lt;br /&gt;vi /etc/httpd/conf.d/postfixadmin.conf&lt;br /&gt;&lt;br /&gt;Alias /postfixadmin /usr/share/postfixadmin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Restart httpd&lt;br /&gt;&lt;br /&gt;service httpd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Go to the Postfix Admin setup page a&lt;br /&gt;&lt;br /&gt;http://servername/postfixadmin/setup.php&lt;br /&gt;&lt;br /&gt;Ccreate a new admin user. The admin user name should be a valid email address. Delete setup.php when you are done&lt;br /&gt;&lt;br /&gt;Go to the Postfix Admin login page at http://servername/postfixadmin/ and login using your newly created admin account&lt;br /&gt;&lt;br /&gt;Note: You must create mysql root passowrd&lt;br /&gt;&lt;br /&gt;Postfix/dovecot virtual users using mysql&lt;br /&gt;&lt;br /&gt;Now we configure Postfix and Dovecot to handle multiple domains stored in MySQL. Postfix Admin is used to manage the domains, mailboxes and aliases in MySQL.&lt;br /&gt;&lt;br /&gt;creating the Virtual Mail User Account&lt;br /&gt;useradd vmail&lt;br /&gt;&lt;br /&gt;passwd vmail&lt;br /&gt;&lt;br /&gt;vi /etc/passwd&lt;br /&gt;&lt;br /&gt;just change after the home directory path&lt;br /&gt;&lt;br /&gt;vmail:x:501:501::/home/vmail:/bin/nologin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create the file “/etc/postfix/mysql-domains.cf”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/mysql-domains.cf&lt;br /&gt;&lt;br /&gt;Add following lines&lt;br /&gt;&lt;br /&gt;host = localhost&lt;br /&gt;&lt;br /&gt;user = postfix&lt;br /&gt;&lt;br /&gt;password = your_password&lt;br /&gt;&lt;br /&gt;dbname = postfix&lt;br /&gt;&lt;br /&gt;table = domain&lt;br /&gt;&lt;br /&gt;select_field = domain&lt;br /&gt;&lt;br /&gt;where_field = domain&lt;br /&gt;&lt;br /&gt;additional_conditions = and backupmx = '0' and active = '1'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Save&amp;exit&lt;br /&gt;&lt;br /&gt;Create the file “/etc/postfix/mysql-users.cf “&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/mysql-users.cf&lt;br /&gt;&lt;br /&gt;Add following lines&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;host = localhost&lt;br /&gt;&lt;br /&gt;user = postfix&lt;br /&gt;&lt;br /&gt;password = your_password&lt;br /&gt;&lt;br /&gt;dbname = postfix&lt;br /&gt;&lt;br /&gt;table = mailbox&lt;br /&gt;&lt;br /&gt;select_field = maildir&lt;br /&gt;&lt;br /&gt;where_field = username&lt;br /&gt;&lt;br /&gt;result_format = %sMaildir/&lt;br /&gt;&lt;br /&gt;Save&amp;exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create the file “/etc/postfix/mysql-aliases.cf”&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/mysql-aliases.cf&lt;br /&gt;&lt;br /&gt;Add following lines&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;host = localhost&lt;br /&gt;&lt;br /&gt;user = postfix&lt;br /&gt;&lt;br /&gt;password = your_password&lt;br /&gt;&lt;br /&gt;dbname = postfix&lt;br /&gt;&lt;br /&gt;table = alias&lt;br /&gt;&lt;br /&gt;select_field = goto&lt;br /&gt;&lt;br /&gt;where_field = address&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Edit the postfix configuration file&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/main.cf&lt;br /&gt;&lt;br /&gt;mydestination = $myhostname, localhost.$mydomain, localhost&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and add the lines below&lt;br /&gt;&lt;br /&gt;virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf&lt;br /&gt;&lt;br /&gt;virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf&lt;br /&gt;&lt;br /&gt;virtual_alias_maps = mysql:/etc/postfix/mysql-aliases.cf&lt;br /&gt;&lt;br /&gt;virtual_mailbox_base = /home/vmail&lt;br /&gt;&lt;br /&gt;virtual_uid_maps = static:501&lt;br /&gt;&lt;br /&gt;virtual_gid_maps = static:501&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:virtual_mailbox_base, virtual_uid_maps and virtual_gid_maps should contain the home directory, user id and group id of vmail respectively&lt;br /&gt;&lt;br /&gt;Note:Make sure $mydomain in mydestination has been removed, otherwise the lookup will not work and you will get a “User unknown in local recipient table” error in some cases myhost to.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring Dovecot&lt;br /&gt;Create the file “/etc/dovecot-mysql.conf”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/dovecot-mysql.conf&lt;br /&gt;&lt;br /&gt;driver = mysql&lt;br /&gt;&lt;br /&gt;connect = host=localhost dbname=postfix user=postfix password=password&lt;br /&gt;&lt;br /&gt;default_pass_scheme = PLAIN&lt;br /&gt;&lt;br /&gt;password_query = SELECT password FROM mailbox WHERE username = '%u'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;svae&amp;exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Edit the file “/etc/dovecot.conf”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/dovecot.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;passdb sql {&lt;br /&gt;&lt;br /&gt;args = /etc/dovecot-mysql.conf&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;userdb static {&lt;br /&gt;&lt;br /&gt;args = uid=501 gid=501 home=/home/vmail/%d/%n&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:uid, gid and home should contain the user id, group id and home directory respectively of the vmail user account.&lt;br /&gt;&lt;br /&gt;Note:If you encounter any problems, check the log file at /var/log/maillog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Install the SquirrelMail Change Password Plugin&lt;br /&gt;&lt;br /&gt;cd /usr/share/squirrelmail/plugins&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Connect to your SquirrelMail server and note down its version.&lt;br /&gt;&lt;br /&gt;Download the Change Passwd and Compatibility plugins&lt;br /&gt;&lt;br /&gt;wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fcompatibility-2.0.14-1.0.tar.gz&lt;br /&gt;&lt;br /&gt;wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_sqlpass-3.3-1.2.tar.gz&lt;br /&gt;&lt;br /&gt;tar xvfz compatibility-2.0.14-1.0.tar.gz&lt;br /&gt;&lt;br /&gt;tar xvfz change_sqlpass-3.3-1.2.tar.gz&lt;br /&gt;&lt;br /&gt;Extract the downloaded files and put them into the /usr/share/squirrelmail/plugins directory.&lt;br /&gt;&lt;br /&gt;If your version of SquirrelMail is not 1.4.13 and higher or 1.5.1 and higher, you need to patch your SquirrelMail source&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cd compatibility/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Compatibility patch by typing in the command below&lt;br /&gt;&lt;br /&gt;patch -p0 &lt;&gt;&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;cd change_sqlpass&lt;br /&gt;&lt;br /&gt;cp config.php.sample config.php&lt;br /&gt;&lt;br /&gt;vi vi config.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:Change the following required parameters your parameters may differ but if you have follow this howto from top to till this setting will work, you only have to give postfix database password&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$csp_dsn = 'mysql://postfix:your_password@localhost/postfix';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$lookup_password_query = 'SELECT count(*) FROM mailbox WHERE username = "%1" AND password = "%5"';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$password_update_queries = array(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'UPDATE mailbox SET password = "%5" WHERE username = "%1"',&lt;br /&gt;&lt;br /&gt;$force_change_password_check_query = '';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$password_encryption = 'NONE';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$csp_salt_query = '';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;save&amp;exit&lt;br /&gt;&lt;br /&gt;They are other options you can also play it&lt;br /&gt;&lt;br /&gt;Note:if you are experiencing blank screen problem after logging in squirellmail the mostlikly your data base setting is not correct &amp; mak double check on config .php in changpass module directory&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/usr/share/squirrelmail/config/conf.pl&lt;br /&gt;&lt;br /&gt;you'll see the following menu. Navigate through it as indicated:&lt;br /&gt;&lt;br /&gt;SquirrelMail Configuration Read config.php(1.4.0) &lt;br /&gt;--------------------------------------------------------- &lt;br /&gt;MainMenu-- &lt;br /&gt;1.Organization Preferences &lt;br /&gt;2.Server Settings &lt;br /&gt;3. Folder Defaults &lt;br /&gt;4. General Options &lt;br /&gt;5. Themes &lt;br /&gt;6. Address Books &lt;br /&gt;7. Message of the Day(MOTD) &lt;br /&gt;8. Plugins &lt;br /&gt;9. Database &lt;br /&gt;10. Languages&lt;br /&gt;&lt;br /&gt;Command &gt;&gt; ← 8&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SquirrelMail Configuration : Read: config.php (1.4.0)&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Plugins&lt;br /&gt;&lt;br /&gt;Installed Plugins&lt;br /&gt;&lt;br /&gt;1. delete_move_next&lt;br /&gt;&lt;br /&gt;2. squirrelspell&lt;br /&gt;&lt;br /&gt;3. newmail&lt;br /&gt;&lt;br /&gt;4. filters&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Available Plugins:&lt;br /&gt;&lt;br /&gt;5. translate&lt;br /&gt;&lt;br /&gt;6. compatibility&lt;br /&gt;&lt;br /&gt;7. administrator&lt;br /&gt;&lt;br /&gt;8. bug_report&lt;br /&gt;&lt;br /&gt;9. abook_take&lt;br /&gt;&lt;br /&gt;10. listcommands&lt;br /&gt;&lt;br /&gt;11. message_details&lt;br /&gt;&lt;br /&gt;12. fortune&lt;br /&gt;&lt;br /&gt;13. mail_fetch&lt;br /&gt;&lt;br /&gt;14. calendar&lt;br /&gt;&lt;br /&gt;15. spamcop&lt;br /&gt;&lt;br /&gt;16. change_sqlpass&lt;br /&gt;&lt;br /&gt;17. sent_subfolders&lt;br /&gt;&lt;br /&gt;18. info&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R Return to Main Menu&lt;br /&gt;&lt;br /&gt;C Turn color on&lt;br /&gt;&lt;br /&gt;S Save data&lt;br /&gt;&lt;br /&gt;Q Quit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Command &gt;&gt;&lt;br /&gt;&lt;br /&gt;6&lt;br /&gt;&lt;br /&gt;SquirrelMail Configuration : Read: config.php (1.4.0)&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Plugins&lt;br /&gt;&lt;br /&gt;Installed Plugins&lt;br /&gt;&lt;br /&gt;1. delete_move_next&lt;br /&gt;&lt;br /&gt;2. squirrelspell&lt;br /&gt;&lt;br /&gt;3. newmail&lt;br /&gt;&lt;br /&gt;4. filters&lt;br /&gt;&lt;br /&gt;5. compatibility&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Available Plugins:&lt;br /&gt;&lt;br /&gt;6. translate&lt;br /&gt;&lt;br /&gt;7. administrator&lt;br /&gt;&lt;br /&gt;8. bug_report&lt;br /&gt;&lt;br /&gt;9. abook_take&lt;br /&gt;&lt;br /&gt;10. listcommands&lt;br /&gt;&lt;br /&gt;11. message_details&lt;br /&gt;&lt;br /&gt;12. fortune&lt;br /&gt;&lt;br /&gt;13. mail_fetch&lt;br /&gt;&lt;br /&gt;14. calendar&lt;br /&gt;&lt;br /&gt;15. spamcop&lt;br /&gt;&lt;br /&gt;16. change_sqlpass&lt;br /&gt;&lt;br /&gt;17. sent_subfolders&lt;br /&gt;&lt;br /&gt;18. info&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R Return to Main Menu&lt;br /&gt;&lt;br /&gt;C Turn color on&lt;br /&gt;&lt;br /&gt;S Save data&lt;br /&gt;&lt;br /&gt;Q Quit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Command &gt;&gt;&lt;br /&gt;&lt;br /&gt;16&lt;br /&gt;&lt;br /&gt;SquirrelMail Configuration : Read: config.php (1.4.0)&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Plugins&lt;br /&gt;&lt;br /&gt;Installed Plugins&lt;br /&gt;&lt;br /&gt;1. delete_move_next&lt;br /&gt;&lt;br /&gt;2. squirrelspell&lt;br /&gt;&lt;br /&gt;3. newmail&lt;br /&gt;&lt;br /&gt;4. filters&lt;br /&gt;&lt;br /&gt;5. compatibility&lt;br /&gt;&lt;br /&gt;6. change_sqlpass&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Available Plugins:&lt;br /&gt;&lt;br /&gt;7. translate&lt;br /&gt;&lt;br /&gt;8. administrator&lt;br /&gt;&lt;br /&gt;9. bug_report&lt;br /&gt;&lt;br /&gt;10. abook_take&lt;br /&gt;&lt;br /&gt;11. listcommands&lt;br /&gt;&lt;br /&gt;12. message_details&lt;br /&gt;&lt;br /&gt;13. fortune&lt;br /&gt;&lt;br /&gt;14. mail_fetch&lt;br /&gt;&lt;br /&gt;15. calendar&lt;br /&gt;&lt;br /&gt;16. spamcop&lt;br /&gt;&lt;br /&gt;17. sent_subfolders&lt;br /&gt;&lt;br /&gt;18. info&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R Return to Main Menu&lt;br /&gt;&lt;br /&gt;C Turn color on&lt;br /&gt;&lt;br /&gt;S Save data&lt;br /&gt;&lt;br /&gt;Q Quit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Command &gt;&gt;&lt;br /&gt;&lt;br /&gt;s&lt;br /&gt;&lt;br /&gt;Command &gt;&gt;&lt;br /&gt;&lt;br /&gt;q&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;clamav/spamassassin/amavis&lt;br /&gt;&lt;br /&gt;Adding DAG repo&lt;br /&gt;To install amavis and clamav, we need to add dag repositories since the packages mentioned are not available on the centos base repositories.To do this, we have to create a file named “/etc/yum.repos.d/dag.repo “&lt;br /&gt;&lt;br /&gt;vi /etc/yum.repos.d/dag.repo&lt;br /&gt;&lt;br /&gt;Add the following lines&lt;br /&gt;&lt;br /&gt;[dag] &lt;br /&gt;name=Dag-RHEL-Yum &lt;br /&gt;baseurl=http://dag.linux.iastate.edu/dag/redhat/el$releasever/en/$basearch/dag &lt;br /&gt;http://www.mirrorservice.org/sites/apt.sw.be/redhat/el$releasever/en/$basearch/dag &lt;br /&gt;http://mirrors.ircam.fr/pub/dag/redhat/el$releasever/en/$basearch/dag &lt;br /&gt;http://apt.sw.be/redhat/el$releasever/en/$basearch/dag &lt;br /&gt;enabled=1 &lt;br /&gt;gpgcheck=1&lt;br /&gt;&lt;br /&gt;save &amp; exit&lt;br /&gt;&lt;br /&gt;After doing that, we need to import dag rpm-gpg-key with the command below:&lt;br /&gt;&lt;br /&gt;rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt&lt;br /&gt;&lt;br /&gt;if you are unable to imort just wget these keys &amp; import localy&lt;br /&gt;&lt;br /&gt;Now we are ready to install, do it as root with the command below.&lt;br /&gt;&lt;br /&gt;yum install amavisd-new clamav clamd&lt;br /&gt;&lt;br /&gt;yum install perl-Archive-Tar.noarch&lt;br /&gt;&lt;br /&gt;touch /var/log/amavis.log &amp;&amp; chown amavis.amavis /var/log/amavis.log&lt;br /&gt;&lt;br /&gt;Edit/etc/amavis.conf, then set the $domain and $hostname to our own value and then uncomment the following:&lt;br /&gt;&lt;br /&gt;vi /etc/amavis.conf &lt;br /&gt;$forward_method = 'smtp:127.0.0.1:10025'; # where to forward checked mail &lt;br /&gt;$notify_method = $forward_method; # where to submit notifications&lt;br /&gt;&lt;br /&gt;Disable virus quarantines: change the value of $QUARANTINEDIR the line:&lt;br /&gt;&lt;br /&gt;$QUARANTINEDIR = undef;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If we dont want our system to notify those senders that we did not accept their email attachment or we found out that their email has virus, uncomment the ff: below.&lt;br /&gt;&lt;br /&gt;# $final_virus_destiny = D_DISCARD; &lt;br /&gt;# $final_banned_destiny = D_BOUNCE; &lt;br /&gt;# $final_spam_destiny = D_BOUNCE; &lt;br /&gt;# $final_bad_header_destiny = D_PASS;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next, find and uncomment the Clam AV section. Comment out all virus scanners you are not using:&lt;br /&gt;&lt;br /&gt;### http://www.clamav.net/ &lt;br /&gt;['Clam Antivirus-clamd', &lt;br /&gt;\&amp;ask_daemon, ["CONTSCAN { }\n", "/var/run/clamav/clamd.ctl"], &lt;br /&gt;qr/\bOK$/, qr/\bFOUND$/, &lt;br /&gt;qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure amavis is not currently running, do the command:&lt;br /&gt;&lt;br /&gt;/etc/init.d/amavis stop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;then do the command&lt;br /&gt;&lt;br /&gt;amavis debug&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;( if you found error, then troubleshoot) &lt;br /&gt;&lt;br /&gt;Start amavis now:&lt;br /&gt;&lt;br /&gt;/etc/init.d/amavis start&lt;br /&gt;&lt;br /&gt;chkconfig amavis on&lt;br /&gt;&lt;br /&gt;Try to&lt;br /&gt;&lt;br /&gt;telnet 127.0.0.1 10024&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You should get the response below showing that amavis has been running.&lt;br /&gt;&lt;br /&gt;Trying 127.0.0.1... &lt;br /&gt;Connected to 127.0.0.1. &lt;br /&gt;Escape character is '^]'. &lt;br /&gt;220 [127.0.0.1] ESMTP amavisd-new service ready&lt;br /&gt;&lt;br /&gt;Now we have to configure Postfix to pipe incoming email through amavisd-new:&lt;br /&gt;&lt;br /&gt;postconf -e 'content_filter = amavis:[127.0.0.1]:10024' &lt;br /&gt;postconf -e 'receive_override_options = no_address_mappings&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next, configure Postfix to use Amavisd-new, which will now function as an SMTP proxy server. Add this to the end of /etc/postfix/master.cf:&lt;br /&gt;&lt;br /&gt;vi /etc/postfix/master.cf &lt;br /&gt;amavis unix - - - - 2 smtp&lt;br /&gt;&lt;br /&gt;-o smtp_data_done_timeout=1200&lt;br /&gt;&lt;br /&gt;-o smtp_send_xforward_command=yes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;127.0.0.1:10025 inet n - - - - smtpd&lt;br /&gt;&lt;br /&gt;-o content_filter=&lt;br /&gt;&lt;br /&gt;-o local_recipient_maps=&lt;br /&gt;&lt;br /&gt;-o relay_recipient_maps=&lt;br /&gt;&lt;br /&gt;-o smtpd_restriction_classes=&lt;br /&gt;&lt;br /&gt;-o smtpd_client_restrictions=&lt;br /&gt;&lt;br /&gt;-o smtpd_helo_restrictions=&lt;br /&gt;&lt;br /&gt;-o smtpd_sender_restrictions=&lt;br /&gt;&lt;br /&gt;-o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;&lt;br /&gt;-o mynetworks=127.0.0.0/8&lt;br /&gt;&lt;br /&gt;-o strict_rfc821_envelopes=yes&lt;br /&gt;&lt;br /&gt;-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;&lt;br /&gt;-o smtpd_bind_address=127.0.0.1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then add this line to /etc/postfix/main.cf:&lt;br /&gt;&lt;br /&gt;content_filter = smtp-amavis:[127.0.0.1]:10024&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then restart postfix by the command below:&lt;br /&gt;&lt;br /&gt;/etc/init.d/postfix restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now open /etc/clamav.conf and /etc/amavisd.conf, and make sure that amavisd.conf references the LocalSocket file:&lt;br /&gt;&lt;br /&gt;vi /etc/clamav/clamav.conf &lt;br /&gt;LocalSocket /var/run/clamav/clamd.ctl&lt;br /&gt;&lt;br /&gt;Save&amp;exit&lt;br /&gt;&lt;br /&gt;vi /etc/amavis/amavisd.conf &lt;br /&gt;### http://www.clamav.net/ &lt;br /&gt;['Clam Antivirus-clamd', &lt;br /&gt;\&amp;ask_daemon, ["CONTSCAN { }\n", "/var/run/clamav/clamd.ctl"], &lt;br /&gt;qr/\bOK$/, qr/\bFOUND$/, &lt;br /&gt;qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:It might happen that /var/run/clamav/clamd.ctl does not exist and when you will try to start clamd, it won't start since it did'nt find that file or does not have the right to create or use the file so we can do the command:&lt;br /&gt;&lt;br /&gt;touch /var/run/clamav/clamd.ctl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and then&lt;br /&gt;&lt;br /&gt;chown amavis.amavis /var/run/clamav/clamd.ctl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now we need to change some lines on clamd.conf and freshclam.conf..see below:&lt;br /&gt;&lt;br /&gt;vi /etc/clamd.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;User amavis #orig user is clamav&lt;br /&gt;&lt;br /&gt;Also change some default settings below&lt;br /&gt;&lt;br /&gt;# Path to a local socket file the daemon will listen on. &lt;br /&gt;# Default: disabled &lt;br /&gt;LocalSocket /var/run/clamav/clamd.sock &lt;br /&gt;#note, the default is that LocaSocket was commented so have to uncomment it &lt;br /&gt;#Below, the default is that TCPSocket has no comment so you have to comment it &lt;br /&gt;#because if you forget to comment that line, when you restart Clamav, the error would be &lt;br /&gt;#Starting Clam AntiVirus Daemon: ERROR: You can select one mode only (local/TCP).&lt;br /&gt;# TCP port address. &lt;br /&gt;# Default: disabled &lt;br /&gt;#TCPSocket 3310&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/freshclam &lt;br /&gt;DatabaseOwner amavis #orig is clamav&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now try to chown some clamav folder to amavis.amavis &lt;br /&gt;&lt;br /&gt;LogFile /var/log/clamav/clamav.log &lt;br /&gt;PidFile /var/run/clamav/clamd.pid &lt;br /&gt;DatabaseDirectory /var/clamav/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally, hunt down any files belonging to Clam AV in /etc/logrotate.d/. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;/etc/logrotate.d/clamav &lt;br /&gt;/etc/logrotate.d/freshclam&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The filenames may vary. Inside each file, find this line:&lt;br /&gt;&lt;br /&gt;Change it to:&lt;br /&gt;&lt;br /&gt;create 640 clamav amavis&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Save the changes and reload clamav and that's it! You can now check the maillog of by the command:&lt;br /&gt;&lt;br /&gt;tail -f /var/log/maillog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can also try to check if CLAMV anti-virus really functioning. Try to create a file in you name test.com ( do this inside your linux box ) paste the line of characters below without the quotes.&lt;br /&gt;&lt;br /&gt;"X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* "&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the eicar anti-virus test file. Email this file as attachement to the user on that box or from that box to outside and you will see messages something like below, saying that it did detected this file as a sort of infected file. &lt;br /&gt;&lt;br /&gt;log file below:&lt;br /&gt;&lt;br /&gt;Feb 20 10:24:22 pacland amavis[3786]: (03786-06) Blocked INFECTED &lt;br /&gt;(Eicar-Test-Signature), &lt;&gt; -&gt; , Message-ID: &lt;br /&gt;&lt;20060220022421.ga25880@test.net&gt;, mail_id: qvSy9GYSCarX, &lt;br /&gt;Hits: -, 614 ms &lt;br /&gt;Feb 20 10:24:22 pacland postfix/smtp[25890]: C564C4A665: &lt;br /&gt;to=, relay=127.0.0.1[127.0.0.1], delay=1, &lt;br /&gt;status=sent (250 2.7.1 Ok, discarded, id=03786-06 - VIRUS: Eicar-Test-Signature)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you find this in your log files, it means that the installation has been functioning well basically.&lt;br /&gt;&lt;br /&gt;Installing and configuring spamassassin&lt;br /&gt;&lt;br /&gt;On Centos, "yum install spamassassin or check if might be already installed. After the installation,&lt;br /&gt;&lt;br /&gt;rpm -q spamassassin&lt;br /&gt;&lt;br /&gt;if not&lt;br /&gt;&lt;br /&gt;yum intsall spamassassin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Edit “/etc/amavis.conf”&lt;br /&gt;&lt;br /&gt;vi /etc/amavis.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Uncomment and set&lt;br /&gt;&lt;br /&gt;$final_spam_destiny = D_PASS; # (defaults to D_REJECT)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;D_PASS allow the message to be delivered to the recipient and let the recipient decide what to do. &lt;br /&gt;D_DISCARD will drop the message at smtp level, avoiding extra usage of bandwidth. Set the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level &lt;br /&gt;$sa_tag2_level_deflt = 5.0; # add 'spam detected' headers at that level &lt;br /&gt;$sa_kill_level_deflt = -999; # triggers spam evasive actions &lt;br /&gt;# string to prepend to Subject header field when message exceeds tag2 level &lt;br /&gt;$sa_spam_subject_tag = '***SPAM*** ';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then chown the spamassassin folders and files, as root, do the command.&lt;br /&gt;&lt;br /&gt;chown -R amavis:amavis /usr/share/spamassassin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, to test your system if it really filters spam, at least basically, try to email a certain account on the host that has been installed with spamassassin with a message that contains "penis enlargement, viagra" and I'm sure it will be block as spam. &lt;br /&gt;&lt;br /&gt;Then restart amavis-new&lt;br /&gt;&lt;br /&gt;/etc/init.d/amavisd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Check this out -/spamassassin autoconfigurator/-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Installing &amp; configuring DKIM&lt;br /&gt;&lt;br /&gt;Installation&lt;br /&gt;Install the rpm, ignore dependencies as csh is a dependency but it does not affect dkim-milter; it's only required for some sample scripts that are shipped with the rpm.&lt;br /&gt;&lt;br /&gt;rpm -Uvh http://www.c-corp.net/linux/centos/5/general/RPMS/i386/dkim-milter-2.2.1-1.i386.rpm --nodeps &lt;br /&gt;mkdir /etc/dkim-milter &lt;br /&gt;chown dkim-milt.dkim-milt /etc/dkim-milter &lt;br /&gt;chmod 700 /etc/dkim-milter &lt;br /&gt;chgrp postfix /var/run/dkim-milter &lt;br /&gt;chmod 770 /var/run/dkim-milter&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Generate The Keys&lt;br /&gt;Download this script that you can use to easily generate the keys for signing the mail:&lt;br /&gt;&lt;br /&gt;./dkim-genkey.sh -d&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Replace with the domain name you will be signing mail for. This will create two files default.txt and default.private, default.txt is the line you need to add to your zone file - a sample is below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"&lt;br /&gt;&lt;br /&gt;; ----- DKIM default for topdog-software.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Default.private contains your private key. Move this file into /etc/dkim-milter and rename it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_default.key.pem:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mv default.private /etc/dkim-milter/_default.key.pem&lt;br /&gt;&lt;br /&gt;Edit the file /etc/sysconfig/dkim-milter and set the variables:&lt;br /&gt;&lt;br /&gt;USER="dkim-milt"&lt;br /&gt;&lt;br /&gt;PORT=local:/var/run/dkim-milter/dkim.sock&lt;br /&gt;&lt;br /&gt;SIGNING_DOMAIN=""&lt;br /&gt;&lt;br /&gt;SELECTOR_NAME="default"&lt;br /&gt;&lt;br /&gt;KEYFILE="/etc/dkim-milter/${SIGNING_DOMAIN}_${SELECTOR_NAME}.key.pem"&lt;br /&gt;&lt;br /&gt;SIGNER=yes&lt;br /&gt;&lt;br /&gt;VERIFIER=yes&lt;br /&gt;&lt;br /&gt;CANON=simple&lt;br /&gt;&lt;br /&gt;SIGALG=rsa-sha1&lt;br /&gt;&lt;br /&gt;REJECTION="bad=r,dns=t,int=t,no=a,miss=r"&lt;br /&gt;&lt;br /&gt;EXTRA_ARGS="-h -l -D"&lt;br /&gt;&lt;br /&gt;Init Script Fix&lt;br /&gt;Install my modified init script as the one that is supplied with the rpm has a bug.&lt;br /&gt;&lt;br /&gt;wget http://www.topdog-software.com/files/dkim-milter -O /etc/init.d/dkim-milter &lt;br /&gt;chkconfig --level 345 dkim-milter on &lt;br /&gt;service dkim-milter start&lt;br /&gt;&lt;br /&gt;chkconfig dkim-milter on&lt;br /&gt;&lt;br /&gt;Configure Postfix&lt;br /&gt;Add this to the postfix configuration file /etc/postfix/main.cf:&lt;br /&gt;&lt;br /&gt;smtpd_milters = unix:/var/run/dkim-milter/dkim.sock&lt;br /&gt;&lt;br /&gt;non_smtpd_milters = unix:/var/run/dkim-milter/dkim.sock&lt;br /&gt;&lt;br /&gt;Append to the existing milters if you have other milters already configured.&lt;br /&gt;&lt;br /&gt;Start dkim-milter and restart Postfix:&lt;br /&gt;&lt;br /&gt;service dkim-milter start&lt;br /&gt;&lt;br /&gt;service postfix restart&lt;br /&gt;&lt;br /&gt;Note: now check mail it is working or not in case of problem check /var/log/maillog.&lt;br /&gt;&lt;br /&gt;Possible Error&lt;br /&gt;&lt;br /&gt;if your postfix fail to start due to error “/var/run/dkim-milter/dkim.sock” not found then&lt;br /&gt;&lt;br /&gt;vi /etc/sysconfig/dkim-milter&lt;br /&gt;&lt;br /&gt;uncomment the following lines&lt;br /&gt;&lt;br /&gt;PORT="inet:10035@localhost"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Testing&lt;br /&gt;Send a message to autorespond+dkim@dk.elandsys.com; the system will return a response to let you know if DKIM is working.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;br /&gt;http://www.howtoforge.com&lt;br /&gt;&lt;br /&gt;http://www.linuxmail.info/&lt;br /&gt;&lt;br /&gt;http://squirrelmail.org/&lt;br /&gt;&lt;br /&gt;http://aioshin.blogspot.com/2006/02/quick-how-to-on-installing-amavis.html&lt;br /&gt;&lt;br /&gt;http://www.topdog.za.net/howtos&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Free xml sitemap generator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2590172582083772429?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2590172582083772429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/how-to-mail-server-postfixdovecotsmtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2590172582083772429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2590172582083772429'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/how-to-mail-server-postfixdovecotsmtp.html' title='How to Mail server (Postfix/Dovecot/SMTP auth with sasl/squirrelmail/clamav/spamassassin/amavis/dkim/Postfixadmin &amp; virtual users using mysql)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-16207626920223634</id><published>2011-03-08T21:18:00.000-08:00</published><updated>2011-03-08T21:19:09.137-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Opensource load balancing Software</title><content type='html'>Posted by Nikesh Jauhari&lt;br /&gt;Linux Virtual Server&lt;br /&gt;The Linux Virtual Server Project is a project to cluster many real servers together into a highly available, high-performance virtual server. The LVS load balancer handles connections from clients and passes them on the the real servers (so-called Layer 4 switching) and can virtualize almost any TCP or UDP service, like HTTP, HTTPS, NNTP, FTP, DNS, ssh, POP3, IMAP4, SMTP, etc. It is fully transparent to the client accessing the virtual service.&lt;br /&gt;Homepage: http://www.LinuxVirtualServer.org/&lt;br /&gt;&lt;br /&gt;BalanceNG&lt;br /&gt;BalanceNG is a modern software IP load balancing solution. It is small, fast, and easy to use and setup. It offers session persistence, different distribution methods (Round Robin, Random, Weighted Random, Least Session, Least Bandwidth, Hash, Agent, and Randomized Agent) and a customizable UDP health check agent in source code. It supports VRRP to set up high availability configurations on multiple nodes. It supports SNMP, integrating the BALANCENG-MIB with Net-SNMPD. It implements a very fast in-memory IP-to-location database, allowing powerful location-based server load-balancing.&lt;br /&gt;Homepage:http://www.inlab.de/balanceng/&lt;br /&gt;&lt;br /&gt;HAproxy &lt;br /&gt;HAproxy is a high-performance and highly-robust TCP and HTTP load balancer which provides cookie-based persistence, content-based switching, advanced traffic regulation with surge protection, automatic failover, run-time regex-based header control, Web-based reporting, advanced logging to help trouble-shooting buggy applications and/or networks, and a few other features. Its own event-driven state machine achieves 20,000 hits per second and surpasses GigaEthernet on modern hardware, even with tens of thousands of simultaneous connections.&lt;br /&gt;Homepage:http://haproxy.1wt.eu/&lt;br /&gt;&lt;br /&gt;Pen &lt;br /&gt;Pen is a load balancer for "simple" TCP-based protocols such as HTTP or SMTP. It allows several servers to appear as one to the outside. It automatically detects servers that are down and distributes clients among the available servers. This gives high availability and scalable performance.&lt;br /&gt;Homepage:http://siag.nu/pen/&lt;br /&gt;&lt;br /&gt;Crossroads Load Balancer&lt;br /&gt;Crossroads is a daemon running in user space, and features extensive configurability, polling of back ends using wake up calls, status reporting, many algorithms to select the 'right' back end for a request (and user-defined algorithms for very special cases), and much more. Crossroads is service-independent: it is usable for any TCP service, such as HTTP(S), SSH, SMTP, and database connections. In the case of HTTP balancing, Crossroads can provide session stickiness for back end processes that need sessions, but aren't session-aware of other back ends. Crossroads can be run as a stand-alone daemon or via inetd.&lt;br /&gt;Homepage:http://crossroads.e-tunity.com/&lt;br /&gt;&lt;br /&gt;balance &lt;br /&gt;Balance is a simple but powerful generic TCP proxy with round-robin load balancing and failover mechanisms. Its behavior can be controlled at runtime using a simple command line syntax. Balance supports IPv6 on the listening side, which makes it a very useful tool for IPv6 migration of IPv4 only services and servers.&lt;br /&gt;Homepage:http://www.inlab.de/balance.html&lt;br /&gt;&lt;br /&gt;Distributor load balancer&lt;br /&gt;Distributor is a software TCP load balancer. Like other load balancers, it accepts connections and distributes them to an array of back end servers. It is compatible with any standard TCP protocol (HTTP, LDAP, IMAP, etc.) and is also IPv6 compatible. It has many unique and advanced features and a high-performance architecture.&lt;br /&gt;Homepage:http://distributor.sourceforge.net/&lt;br /&gt;&lt;br /&gt;Pure Load Balancer&lt;br /&gt;Pure Load Balancer is a high-performance software load balancer for the HTTP and SMTP protocols. It uses an asynchronous non-forking/non-blocking model, and provides fail-over abilities. When a backend server goes down, it automatically removes it from the server pool, and tries to bring it back to life later. Pure Load Balancer has full IPv6 support and works on OpenBSD, NetBSD, FreeBSD and Linux.&lt;br /&gt;Homepage:http://plb.sunsite.dk/&lt;br /&gt;&lt;br /&gt;Load Balancer Project&lt;br /&gt;The Load Balancer Project is a tool that allows you to balance requests using clusters of servers. The goal is to achieve high availability load balancing with a simple configuration for the load balancer and the network topology. It leaves the servers untouched so the configuration only resides on the load balancer, and it allows you to manage any type of service via a plugin model design and a transparent proxy feature.&lt;br /&gt;Homepage:http://www.jmcresearch.com/projects/loadbalancer/&lt;br /&gt;&lt;br /&gt;mod_athena &lt;br /&gt;mod_athena is an Apache-based application load balancer for large systems. It allows the HTTP server to act as a load balancer either internally to Apache's own mod_proxy (for reverse proxying), or externally to machines querying it. Arbitrary statistics are sent to the engine via a simple GET plus query-string interface, from which it will then make decisions based on chosen algorithms.&lt;br /&gt;Homepage:http://ath.sourceforge.net/&lt;br /&gt;&lt;br /&gt;udpbalancer &lt;br /&gt;Udpbalancer is a reverse proxy that sorts UDP requests from your clients to your servers. It may operate in round-robin, volume balance, and load balance modes.&lt;br /&gt;Homepage:http://dev.acts.hu/udpbalancer/&lt;br /&gt;&lt;br /&gt;MultiLoad &lt;br /&gt;MultiLoad is a load balancer that redirects HTTP requests to pre-defined servers/locations. It gives the provider a way to balance the traffic and hides the real download location. It allows you to manage different version of each download. It is also a load balancing server extension. You can distribute files on some servers so that a downloaded file can be loaded form different servers. These servers can have different priorities to control the active traffic.&lt;br /&gt;Homepage:http://download.laukien.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-16207626920223634?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/16207626920223634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/opensource-load-balancing-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/16207626920223634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/16207626920223634'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/03/opensource-load-balancing-software.html' title='Opensource load balancing Software'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5871385035781513974</id><published>2011-02-15T01:55:00.001-08:00</published><updated>2011-02-15T01:55:43.404-08:00</updated><title type='text'>Creating, detaching, re-attaching, and fixing a suspect database</title><content type='html'>Creating, detaching, re-attaching, and fixing a suspect database&lt;br /&gt;&lt;br /&gt;This is one I've been trying to get to since I started blogging a couple of years ago: how to re-attach a detached suspect database. This is a pretty common scenario I see on the forums - a database goes suspect so the DBA tries to detach/attach, which fails. I wrote a demo for my corruption session at TechEd this year that shows how to create a suspect database with hex editor, then detaches it and shows how to re-attach and fix it. It's going to be a long blog post, but I've got everything wrapped up before we fly out to the UK tomorrow so I've got a bit of spare time.&lt;br /&gt;&lt;br /&gt;Creating a Suspect Database&lt;br /&gt;&lt;br /&gt;First off I'm going to create a simple database to use, called DemoSuspect with a table and some random data.&lt;br /&gt;&lt;br /&gt;USE MASTER&lt;br /&gt;GO&lt;br /&gt;CREATE DATABASE DemoSuspect&lt;br /&gt;GO&lt;br /&gt;USE DemoSuspect;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE TABLE Employees (FirstName VARCHAR (20), LastName VARCHAR (20), YearlyBonus INT);&lt;br /&gt;GO&lt;br /&gt;INSERT INTO Employees VALUES ('Paul', 'Randal', 10000);&lt;br /&gt;INSERT INTO Employees VALUES ('Kimberly', 'Tripp', 10000);&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Now I'll perform an update in an explicit transaction and force it to be written out to disk with a CHECKPOINT. I've accidentally deleted Kimberly's bonus!&lt;br /&gt;&lt;br /&gt;-- Simulate an in-flight transaction&lt;br /&gt;BEGIN TRAN;&lt;br /&gt;UPDATE Employees SET YearlyBonus = 0 WHERE LastName = 'Tripp';&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CHECKPOINT;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Then in another window, I'll simulate a crash using:&lt;br /&gt;&lt;br /&gt;SHUTDOWN WITH NOWAIT;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Now that SQL Server is shutdown, I'm going to simulate an I/O failure that corrupts the log file. I'm going to use a hex editor to do this - my editor of choice is the immensely popular and useful XVI32, written by Christian Maas. I opened the log file, filled the first section with zeroes, and then saved it again. See the screenshot below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I startup SQL Server again, it will try to run recovery on the DemoSuspect database and fail. This will put the database into the SUSPECT state.&lt;br /&gt;&lt;br /&gt;So I restarted SQL Server, let's try getting in to the DemoSuspect database.&lt;br /&gt;&lt;br /&gt;USE DemoSuspect;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Msg 945, Level 14, State 2, Line 1&lt;br /&gt;Database 'DemoSuspect' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.&lt;br /&gt;&lt;br /&gt;Now let's check the database status:&lt;br /&gt;&lt;br /&gt;SELECT DATABASEPROPERTYEX ('DemoSuspect', 'STATUS') AS 'Status';&lt;br /&gt;GO&lt;br /&gt;Status&lt;br /&gt;--------&lt;br /&gt;SUSPECT&lt;br /&gt;&lt;br /&gt;Now at this point, the correct procedure is to restore from backups. If there are no backups available, then the next best thing is to get the database into EMERGENCY mode and extract as much data as possible, or run emergency-mode repair. However, I'm going to try the detach/attach route instead.&lt;br /&gt;&lt;br /&gt;Detaching the Database&lt;br /&gt;&lt;br /&gt;I'll try detaching the database using sp_detach_db:&lt;br /&gt;&lt;br /&gt;EXEC sp_detach_db 'DemoSuspect';&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Msg 947, Level 16, State 1, Line 1&lt;br /&gt;Error while closing database 'DemoSuspect'. Check for previous additional errors and retry the operation.&lt;br /&gt;&lt;br /&gt;Hmm - did it work or didn't it?&lt;br /&gt;&lt;br /&gt;SELECT * FROM sys.databases WHERE NAME = 'DemoSuspect';&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;And there are no results, so the detach must have succeeded.&lt;br /&gt;&lt;br /&gt;Note: from SQL Server 2008 you cannot detach a suspect database unless you jump through a few more hoops (e.g. put the database offline, then copy off the files, then drop the database).&lt;br /&gt;&lt;br /&gt;Re-attaching the Database&lt;br /&gt;&lt;br /&gt;Let's try the obvious sp_attach_db:&lt;br /&gt;&lt;br /&gt;EXEC sp_attach_db @dbname = N'DemoSuspect', &lt;br /&gt;   @filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect.mdf', &lt;br /&gt;   @filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect_LOG.ldf';&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Msg 5172, Level 16, State 15, Line 1&lt;br /&gt;The header for file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect_LOG.ldf' is not a valid database file header. The PageAudit property is incorrect.&lt;br /&gt;&lt;br /&gt;Hmm. How about using the ATTACH_REBUILD_LOG option on CREATE DATABASE? That should create a new log file for me:&lt;br /&gt;&lt;br /&gt;CREATE DATABASE DemoSuspect ON&lt;br /&gt;   (NAME = DemoSuspect, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect.mdf')&lt;br /&gt;FOR ATTACH_REBUILD_LOG;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Msg 5172, Level 16, State 15, Line 1&lt;br /&gt;The header for file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect_LOG.ldf' is not a valid database file header. The PageAudit property is incorrect.&lt;br /&gt;File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect_LOG.ldf" may be incorrect.&lt;br /&gt;The log cannot be rebuilt because the database was not cleanly shut down.&lt;br /&gt;Msg 1813, Level 16, State 2, Line 1&lt;br /&gt;Could not open new database 'DemoSuspect'. CREATE DATABASE is aborted.&lt;br /&gt;&lt;br /&gt;Hmm. The database knows that there was an active transaction. Using the ATTACH_REBUILD_LOG command only works if the database was cleanly shut down and the log is missing. What about if I actually remove the log file and try that - maybe I could fool it? I took a copy of the data and log file, and then deleted the original log file (this is getting more and more dodgy...). Let's try again:&lt;br /&gt;&lt;br /&gt;CREATE DATABASE DemoSuspect ON&lt;br /&gt;   (NAME = DemoSuspect, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect.mdf')&lt;br /&gt;FOR ATTACH_REBUILD_LOG;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect_LOG.ldf" may be incorrect.&lt;br /&gt;The log cannot be rebuilt because the database was not cleanly shut down.&lt;br /&gt;Msg 1813, Level 16, State 2, Line 1&lt;br /&gt;Could not open new database 'DemoSuspect'. CREATE DATABASE is aborted.&lt;br /&gt;&lt;br /&gt;Well, that was a long-shot but SQL Server's smarter.&lt;br /&gt;&lt;br /&gt;Basically the problem is that the database wasn't cleanly shutdown, which means that recovery HAS to run and complete before the database can be attached again. Given that our log file is corrupt, that's impossible.&lt;br /&gt;&lt;br /&gt;So, never detach a suspect database.&lt;br /&gt;&lt;br /&gt;The only way to get the database back into SQL Server is to use a hack. I'm going to create a new dummy database with the exact same file layout and as close as possible to the file sizes of the detached database. Then I'm going to shutdown SQL Server, swap in the corrupt database files, and re-start SQL Server. If all goes well, the corrupt, suspect database will be attached again.&lt;br /&gt;&lt;br /&gt;The one major downside of this is that if the SQL Server instance doesn't have instant initialization enabled (see How to tell if you have instant initialization enabled?), then creating the dummy database could take a long time if the data files are very big. This means that your application is offline while the files are created and zero'd out.&lt;br /&gt;&lt;br /&gt;So, I've already got a copy of the corrupt database files, so now I need to delete the data file too. Before doing this you want to make absolutely sure you've got multiple copies of the corrupt database files... just in case. After deleting the data file, I can create my dummy database.&lt;br /&gt;&lt;br /&gt;CREATE DATABASE DemoSuspect&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;If you forget to delete the existing corrupt files first, you'll get the following error:&lt;br /&gt;&lt;br /&gt;Msg 1802, Level 16, State 4, Line 1&lt;br /&gt;CREATE DATABASE failed. Some file names listed could not be created. Check related errors.&lt;br /&gt;Msg 5170, Level 16, State 1, Line 1&lt;br /&gt;Cannot create file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoSuspect.mdf' because it already exists. Change the file path or the file name, and retry the operation.&lt;br /&gt;&lt;br /&gt;Ok - delete the data file and try again. Now I need to check the dummy database's files are there (at this point I'm totally paranoid), shutdown SQL Server, delete the dummy databases' files (this just seems wrong!), and swap in the corrupt files. I took another copy of the corrupt files before swapping them back in, just in case something goes wrong.&lt;br /&gt;&lt;br /&gt;After restarting SQL Server, I can check the database state:&lt;br /&gt;&lt;br /&gt;SELECT DATABASEPROPERTYEX ('DemoSuspect', 'STATUS') AS 'Status';&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Status&lt;br /&gt;--------&lt;br /&gt;SUSPECT&lt;br /&gt;&lt;br /&gt;Woo-hoo - I'm back to having a suspect database attached again - after having to shutdown the server and mess about deleting and copying files around. Not good. Now I can actually fix it.&lt;br /&gt;&lt;br /&gt;Fixing the Database&lt;br /&gt;&lt;br /&gt;If you don't have any backups, then the only way to get into the database is to use EMERGENCY mode. This lets you into the database but you need to be aware that recovery has not completed so the contents of the database are transactionally (and possibly structurally) inconsistent. I'm going to choose to repair the database using emergency-mode repair. See CHECKDB From Every Angle: EMERGENCY mode repair - the very, very last resort for a detailed description of this tool.&lt;br /&gt;&lt;br /&gt;ALTER DATABASE DemoSuspect SET EMERGENCY;&lt;br /&gt;GO&lt;br /&gt;ALTER DATABASE DemoSuspect SET SINGLE_USER;&lt;br /&gt;GO&lt;br /&gt;DBCC CHECKDB (DemoSuspect, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Msg 5172, Level 16, State 15, Line 1&lt;br /&gt;The header for file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DemoSuspect_log.LDF' is not a valid database file header. The PageAudit property is incorrect.&lt;br /&gt;File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DemoSuspect_log.LDF" may be incorrect.&lt;br /&gt;The log cannot be rebuilt because the database was not cleanly shut down.&lt;br /&gt;The Service Broker in database "DemoSuspect" will be disabled because the Service Broker GUID in the database (9E879BFC-B742-4A69-AB14-4D6BD6F99E02) does not match the one in sys.databases (B4568D23-7018-40CF-B189-9C29DE697C09).&lt;br /&gt;Warning: The log for database 'DemoSuspect' has been rebuilt. Transactional consistency has been lost. The RESTORE chain was broken, and the server no longer has context on the previous log files, so you will need to know what they were. You should run DBCC CHECKDB to validate physical consistency. The database has been put in dbo-only mode. When you are ready to make the database available for use, you will need to reset database options and delete any extra log files.&lt;br /&gt;&lt;br /&gt;First off it tries to do the regular ATTACH_REBUILD_LOG. When that fails, DBCC CHECKDB takes over and forces the log to be rebuilt, after trying to force as much of the damaged log to be processed for recovery as it can. It then runs a full repair, in case there's anything corrupt in the database - in this case there isn't so there are no corruption messages in the output.&lt;br /&gt;&lt;br /&gt;Notice the line about the Service Broker GUID being wrong. I had to use the hack method to get the database attached again, but when I created the dummy database, it created a Service Broker GUID for the DemoSuspect database in master.sys.databases. When I swapped in the corrupt database, it has a different GUID - so now I can't use Service Broker! And all because I detached the suspect database instead of repairing it.&lt;br /&gt;&lt;br /&gt;So what's the state of the data?&lt;br /&gt;&lt;br /&gt;USE DemoSuspect;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;SELECT * FROM Employees;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;FirstName   LastName   YearlyBonus&lt;br /&gt;----------  ---------  ------------&lt;br /&gt;Paul        Randal     10000&lt;br /&gt;Kimberly    Tripp      0&lt;br /&gt;&lt;br /&gt;Kimberly doesn't get a bonus this year - she won't be happy! This is contrived and flippant, of course, but it illustrates the point that after doing an emergency-mode repair, transactions that were active at the time the log was damaged will not get a chance to roll-back, most likely. In this case, I know what was going on when the crash occured, but what about on a busy OLTP system with hundreds or thousands of active transactions? What state will the data be in?&lt;br /&gt;&lt;br /&gt;Summary&lt;br /&gt;&lt;br /&gt;Yes, you can recover from a detached suspect database, but it's not pretty and you have to be very careful. The best course of action is always to have a comprehensive backup strategy that allows you to restore as quickly as possible. If you do have a suspect database and no backups, use EMERGENCY mode to access and/or repair the database. Hopefully this article will help people that find themselves in these situations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5871385035781513974?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5871385035781513974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/02/creating-detaching-re-attaching-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5871385035781513974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5871385035781513974'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/02/creating-detaching-re-attaching-and.html' title='Creating, detaching, re-attaching, and fixing a suspect database'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-7925621221777334286</id><published>2011-01-09T21:02:00.000-08:00</published><updated>2011-01-11T20:18:52.247-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>How to prevent duplicate entry error in MySQL</title><content type='html'>Errors should be ignored because they are not necessary at all. In MySQL especially for replication, the general architecture is to have a host for write and other hosts for read. As a result, response time of the whole system should be more scalable. If something goes wrong at the master node where all write operations must be performed, the error may propagate to other replications. One of common error oftenly occurs during replication is duplicate entry. It is possible to prevent this error which may lead the replication to stop.&lt;br /&gt;&lt;br /&gt;This problem was reported for so long and it it supposed to be fixed already. However, I still got them sometimes. The solution is to specify slave-skip-erros at client side as follows.&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;slave-skip-errors = 1062&lt;br /&gt;1062 means to duplicate entry error. For more information, read below links&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-7925621221777334286?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/7925621221777334286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/01/how-to-prevent-duplicate-entry-error-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7925621221777334286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7925621221777334286'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/01/how-to-prevent-duplicate-entry-error-in.html' title='How to prevent duplicate entry error in MySQL'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-314356269666890836</id><published>2011-01-03T20:55:00.000-08:00</published><updated>2011-01-03T20:56:00.866-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>manually create a standby database</title><content type='html'>By Nicolas de Fontenay  4 Comments&lt;br /&gt;Categories: High Availability &lt;br /&gt;Tags: availability, High Availability, Oracle, standby, synchronization&lt;br /&gt;This post talks only about manually creating a standby database.&lt;br /&gt;&lt;br /&gt;Configuring Dataguard CLI (DGMGRL) and dataguard through the Grid Control will be discussed later on in other subjects.&lt;br /&gt;&lt;br /&gt;Since this blog is under oracle 10g, I will consider the databases to use spfiles.&lt;br /&gt;&lt;br /&gt;To ease the difficulty, I will also consider that the folder structure on the primary database and the standby database are the same.&lt;br /&gt;&lt;br /&gt;I will also try to describe the expected error when something is not done properly&lt;br /&gt;&lt;br /&gt;The creation of a standby database consists of 3 parts:&lt;br /&gt;&lt;br /&gt;1) Creation of standby spfile, controlfile, password file&lt;br /&gt;&lt;br /&gt;2) Connectivity configuration (Listener, tnsnames)&lt;br /&gt;&lt;br /&gt;3) Standby restoration, recovery and management&lt;br /&gt;&lt;br /&gt;——&lt;br /&gt;&lt;br /&gt;Preliminary:&lt;br /&gt;&lt;br /&gt;The databases’ instance names are: THTEST10&lt;br /&gt;&lt;br /&gt;The primary database unique name is: THTEST10&lt;br /&gt;&lt;br /&gt;The standby database unique name is: THTESTDG&lt;br /&gt;&lt;br /&gt;Creation of standby spfile, controlfile, password file&lt;br /&gt;&lt;br /&gt;1) Create the SPFILE for production and standby&lt;br /&gt;&lt;br /&gt;On the production database:&lt;br /&gt;&lt;br /&gt;Connect to sqlplus:&lt;br /&gt;&lt;br /&gt;C:\&gt; set oracle_sid=thtest10&lt;br /&gt;&lt;br /&gt;C:\&gt;sqlplus “/ as sysdba”&lt;br /&gt;&lt;br /&gt;SQL&gt;create pfile=’initthtest10.ora’ from spfile=’spfilethtest10.ora’;&lt;br /&gt;&lt;br /&gt;From the file generated, initthtest10.ora, we are going to modify a bunch of parameters before converting it into spfile again.&lt;br /&gt;&lt;br /&gt;If they don’t exist, add:&lt;br /&gt;&lt;br /&gt;*.db_name=’THTEST10′&lt;br /&gt;*.db_unique_name=’THTEST10′&lt;br /&gt;&lt;br /&gt;*.log_archive_config=’dg_config=(THTEST10,THTESTDG)’&lt;br /&gt;&lt;br /&gt;*.log_archive_dest_2=’SERVICE=thtestdg.world VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=THTE&lt;br /&gt;STDG’&lt;br /&gt;&lt;br /&gt;*.LOG_ARCHIVE_DEST_STATE_2=’ENABLE’&lt;br /&gt;&lt;br /&gt;*.standby_archive_dest=’g:\oradata\THTEST10\arch’&lt;br /&gt;*.standby_file_management=’AUTO’&lt;br /&gt;*.dg_broker_start=TRUE&lt;br /&gt;*.fal_client=’THTEST10.WORLD’&lt;br /&gt;*.fal_server=’THTESTDG.WORLD’&lt;br /&gt;&lt;br /&gt;modify the archiving parameter:&lt;br /&gt;&lt;br /&gt;*.log_archive_dest_1=’location=g:\oradata\THTEST10\arch valid_for=(ONLINE_LOGFILE,ALL_ROLES) db_unique_name=THTEST10′&lt;br /&gt;&lt;br /&gt;The point is to add the optional values VALID_FOR and DB_UNIQUE_NAME. If they are missing, they might result into errors at the DGMGRL configuration time.&lt;br /&gt;&lt;br /&gt;Make sure the host is specified in the parameter below:&lt;br /&gt;&lt;br /&gt;*.local_listener=’(ADDRESS=(PROTOCOL=tcp)(HOST=testserver)(PORT=1910))’&lt;br /&gt;&lt;br /&gt;Most of these parameters can be modified using the command when using a spfile.&lt;br /&gt;&lt;br /&gt;SQL&gt;alter system set &lt;parameter name&gt; = ‘value’ scope=both;&lt;br /&gt;&lt;br /&gt;But some parameters, such as db_unique_name will require to modify the parameter file before hand, hence a shutdown of the DB is required.&lt;br /&gt;&lt;br /&gt;It’s not possible to modify it while the DB is on.&lt;br /&gt;&lt;br /&gt;On the standby database&lt;br /&gt;&lt;br /&gt;Copy the modified init file and modify it again to fit standby requirements.&lt;br /&gt;&lt;br /&gt;*.db_unique_name=’THTESTDG’&lt;br /&gt;*.local_listener=’(ADDRESS=(PROTOCOL=tcp)(HOST=standbyserver)(PORT=1911))’&lt;br /&gt;*.log_archive_config=’dg_config=(THTEST10,THTESTDG)’&lt;br /&gt;*.LOG_ARCHIVE_DEST_1=’location=g:\oradata\THTEST10\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=THTESTDG’&lt;br /&gt;*.log_archive_dest_2=’SERVICE=thtest10.world VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=THTEST10′&lt;br /&gt;*.LOG_ARCHIVE_DEST_STATE_1=’ENABLE’&lt;br /&gt;*.LOG_ARCHIVE_DEST_STATE_2=’ENABLE’&lt;br /&gt;*.dg_broker_start=TRUE&lt;br /&gt;*.standby_file_management=’AUTO’&lt;br /&gt;*.fal_server=’THTEST10.WORLD’&lt;br /&gt;*.fal_client=’THTESTDG.WORLD’&lt;br /&gt;&lt;br /&gt;Finally, don’t forget to convert the pfile to spfile again and make sure both your primary and standby starts with a spfile.&lt;br /&gt;&lt;br /&gt;2) Create the control file for the standby&lt;br /&gt;&lt;br /&gt;On the production server, type the following command:&lt;br /&gt;&lt;br /&gt;C:\&gt;sqlplus connect / as sysdba&lt;br /&gt;SQL&gt;alter database create standby controlfile as ‘d:\somewhere\control01.ctl’;&lt;br /&gt;&lt;br /&gt;Move the control file to the location specified in your spfile. If there’s more than one, just make a copy of the freshly generated one, and rename it.&lt;br /&gt;&lt;br /&gt;2) Create the password file for the standby&lt;br /&gt;&lt;br /&gt;Simply copy it from production to standby.&lt;br /&gt;&lt;br /&gt;Connectivity configuration (Listener, tnsnames)&lt;br /&gt;&lt;br /&gt;Notice the green bold service names in the pfile in the step above.&lt;br /&gt;&lt;br /&gt;These will be specified in the tnsnames.ora and through it, our databases will communicate.&lt;br /&gt;&lt;br /&gt;It is important to have both databases specified on both servers.&lt;br /&gt;&lt;br /&gt;The tnsnames.ora file should look like this:&lt;br /&gt;&lt;br /&gt;THTEST10.WORLD =&lt;br /&gt;&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;(ADDRESS_LIST =&lt;br /&gt;(ADDRESS = (PROTOCOL = TCP) (HOST = primaryserver)(PORT=1521)&lt;br /&gt;)&lt;br /&gt;(CONNECT_DATA =&lt;br /&gt;(SERVICE_NAME = THTEST10.WORLD)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;THTESTDG.WORLD =&lt;br /&gt;&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;(ADDRESS_LIST =&lt;br /&gt;(ADDRESS = (PROTOCOL = TCP) (HOST = standbyserver)(PORT=1521)&lt;br /&gt;)&lt;br /&gt;(CONNECT_DATA =&lt;br /&gt;(SERVICE_NAME = THTEST10.WORLD)&lt;br /&gt;(UR = A)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;Notice the value (UR=A) in the CONNECT_DATA of the tns entry THTESTDG.WORLD.&lt;br /&gt;&lt;br /&gt;This will allow the primary database to connect remotely to a database in nomount or mount mode. It’s a feature introduced in oracle 10g.&lt;br /&gt;&lt;br /&gt;Don’t forget to create the listeners on both servers.&lt;br /&gt;&lt;br /&gt;Standby restoration, recovery and management&lt;br /&gt;&lt;br /&gt;Finally the interesting part.&lt;br /&gt;&lt;br /&gt;Before starting to work on the standby, take a hot backup of your primary database:&lt;br /&gt;&lt;br /&gt;C:\&gt;set oracle_sid=thtest10&lt;br /&gt;&lt;br /&gt;C:\&gt;RMAN target /&lt;br /&gt;&lt;br /&gt;RMAN&gt; backup database plus archive log not backed up 1 times;&lt;br /&gt;&lt;br /&gt;Copy the backups to the standby. The folder structure for your backups should be the same as well to simplify.&lt;br /&gt;&lt;br /&gt;On the standby server&lt;br /&gt;&lt;br /&gt;Create an oracle service for your standby database with the oradim command&lt;br /&gt;&lt;br /&gt;C:\&gt;oradim -NEW -SID THTEST10 -startmode manual -shutmode n&lt;br /&gt;&lt;br /&gt;Since the spfile is already located in ORACLE_HOME\database it doesn’t need to be mentioned.&lt;br /&gt;Same for the password file which should be here already from the 1st step.&lt;br /&gt;&lt;br /&gt;Restore and recover your database using RMAN&lt;br /&gt;&lt;br /&gt;C:\ set oracle_sid=thtest10&lt;br /&gt;&lt;br /&gt;RMAN target /&lt;br /&gt;&lt;br /&gt;RMAN&gt; restore database;&lt;br /&gt;&lt;br /&gt;… (a log of things happens here)&lt;br /&gt;&lt;br /&gt;RMAN&gt; recover database;&lt;br /&gt;&lt;br /&gt;… (archive logs are applied)&lt;br /&gt;&lt;br /&gt;Now that the database is recovered, we will need to copy the redo logs from production to the standby.&lt;br /&gt;That is required because this standby database will not be open with the resetlogs command therefore the redo logs will not be generated.&lt;br /&gt;So, go back to production and copy the redo logs.&lt;br /&gt;Make sure they are not accessed in order to copy it. To check the status of your redo log groups, connect as sysdba and use the following query:&lt;br /&gt;&lt;br /&gt;SQL&gt; select group#, status from v$log;&lt;br /&gt;&lt;br /&gt;GROUP# STATUS&lt;br /&gt;————————–&lt;br /&gt;1 INACTIVE&lt;br /&gt;2 INACTIVE&lt;br /&gt;3 CURRENT&lt;br /&gt;&lt;br /&gt;You can copy the groups with status INACTIVE. The group with a status CURRENT can’t be copied right now but we will force switch to another group:&lt;br /&gt;&lt;br /&gt;SQL&gt;alter system switch logfile;&lt;br /&gt;&lt;br /&gt;SQL&gt; select group#, status from v$log;&lt;br /&gt;&lt;br /&gt;GROUP# STATUS&lt;br /&gt;————————–&lt;br /&gt;1 CURRENT&lt;br /&gt;2 INACTIVE&lt;br /&gt;3 INACTIVE&lt;br /&gt;&lt;br /&gt;Now it’s ok to copy group# 3 to the standby server&lt;br /&gt;&lt;br /&gt;Switching to automatic recovery&lt;br /&gt;&lt;br /&gt;Previously, to recover the database with RMAN we had to set the database to mount mode. We must now shutdown and go into mount standby mode. That’s how it works:&lt;br /&gt;&lt;br /&gt;SQL&gt; startup nomount;&lt;br /&gt;&lt;br /&gt;SQL&gt;alter database mount standby database;&lt;br /&gt;&lt;br /&gt;SQL&gt;recover automatic standby database;&lt;br /&gt;&lt;br /&gt;You should get ORA- messages: ORA-00279 ORA-00289 ORA-00280 ORA-0027. This is a normal behavior. The OS message saying that it’s not finding a missing archive log is normal too since at a certain point it will reach the latest archive and the next one is not generated yet. Result: it fails but we like it.&lt;br /&gt;&lt;br /&gt;Cancel the operation by simply typing cancel. When the media recovery is canceled, you should get an error message as follow:&lt;br /&gt;&lt;br /&gt;ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get&lt;br /&gt;error below&lt;br /&gt;ORA-01194: file 1 needs more recovery to be consistent&lt;br /&gt;ORA-01110: data file 1: ‘D:\ORACLE\ORADATA\OE\SYSTEM01.DBF’&lt;br /&gt;ORA-01112: media recovery not started&lt;br /&gt;&lt;br /&gt;This is normal too. There will be no open resetlogs anyway.&lt;br /&gt;&lt;br /&gt;We can now move to:&lt;br /&gt;&lt;br /&gt;Switching the standby into managed recovery mode&lt;br /&gt;&lt;br /&gt;SQL&gt;recover managed standby database;&lt;br /&gt;&lt;br /&gt;This command will not return the hand to you.&lt;br /&gt;&lt;br /&gt;Any further sql query will have to be run from another command line.&lt;br /&gt;&lt;br /&gt;Testing your newly created standby database&lt;br /&gt;&lt;br /&gt;Go to the primary database and type the command:&lt;br /&gt;&lt;br /&gt;SQL&gt;alter system switch logfile;&lt;br /&gt;&lt;br /&gt;This command will generate a new archive log file.&lt;br /&gt;&lt;br /&gt;You should see it’s generation in the alert log.&lt;br /&gt;&lt;br /&gt;You should be able to see the standby database fetching it and applying it to the standby database.&lt;br /&gt;&lt;br /&gt;You should also see the newly moved archive log in the archive folder.&lt;br /&gt;&lt;br /&gt;If it’s not working&lt;br /&gt;&lt;br /&gt;Investigate the following:&lt;br /&gt;&lt;br /&gt;Are the listeners working?&lt;br /&gt;Are the tnsnames.ora configured to reflect the parameters specified in log_archive_dest_2?&lt;br /&gt;Is the parameter *.service_names=’THTEST10.WORLD’ reflecting the service_name specified in tnsnames.ora (in connect_data)?&lt;br /&gt;&lt;br /&gt;These should be a good starter. This process is very rigorous. Read the error message carefully and comply to what it requires.&lt;br /&gt;&lt;br /&gt;We will see next how to configure dataguard to manage the primary and standby database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-314356269666890836?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/314356269666890836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2011/01/manually-create-standby-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/314356269666890836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/314356269666890836'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2011/01/manually-create-standby-database.html' title='manually create a standby database'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5670084735783354582</id><published>2010-12-30T19:31:00.000-08:00</published><updated>2010-12-30T19:32:55.659-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>50 New Features of SQL Server 2008</title><content type='html'>This article explains you 50 new features of Microsoft SQL Server 2008. You can also read other popular article 22 New Features of Visual Studio 2008 for .NET Professionals&lt;br /&gt;&lt;br /&gt;Transparent Data Encryption&lt;br /&gt;&lt;br /&gt;Enable encryption of an entire database, data files, or log files, without the need for application changes. Benefits of this include: Search encrypted data using both range and fuzzy searches, search secure data from unauthorized users, and data encryption without any required changes in existing applications.&lt;br /&gt;&lt;br /&gt;Extensible Key Management&lt;br /&gt;&lt;br /&gt;SQL Server 2005 provides a comprehensive solution for encryption and key management. SQL Server 2008 delivers an excellent solution to this growing need by supporting third-party key management and HSM products.&lt;br /&gt;&lt;br /&gt;Auditing&lt;br /&gt;&lt;br /&gt;Create and manage auditing via DDL, while simplifying compliance by providing more comprehensive data auditing. This enables organizations to answer common questions, such as, "What data was retrieved?"&lt;br /&gt;&lt;br /&gt;Enhanced Database Mirroring&lt;br /&gt;&lt;br /&gt;SQL Server 2008 builds on SQL Server 2005 by providing a more reliable platform that has enhanced database mirroring, including automatic page repair, improved performance, and enhanced supportability.&lt;br /&gt;&lt;br /&gt;Automatic Recovery of Data Pages&lt;br /&gt;&lt;br /&gt;SQL Server 2008 enables the principal and mirror machines to transparently recover from 823/824 types of data page errors by requesting a fresh copy of the suspect page from the mirroring partner transparently to end users and applications.&lt;br /&gt;&lt;br /&gt;Log Stream Compression&lt;br /&gt;&lt;br /&gt;Database mirroring requires data transmissions between the participants of the mirroring implementations. With SQL Server 2008, compression of the outgoing log stream between the participants delivers optimal performance and minimizes the network bandwidth used by database mirroring.&lt;br /&gt;&lt;br /&gt;Resource Governor&lt;br /&gt;&lt;br /&gt;Provide a consistent and predictable response to end users with the introduction of Resource Governor, allowing organizations to define resource limits and priorities for different workloads, which enable concurrent workloads to provide consistent performance to their end users.&lt;br /&gt;&lt;br /&gt;Predictable Query Performance&lt;br /&gt;&lt;br /&gt;Enable greater query performance stability and predictability by providing functionality to lock down query plans, enabling organizations to promote stable query plans across hardware server replacements, server upgrades, and production deployments.&lt;br /&gt;&lt;br /&gt;Data Compression&lt;br /&gt;&lt;br /&gt;Enable data to be stored more effectively, and reduce the storage requirements for your data. Data compression also provides significant performance improvements for large I/O bound workloads, like data warehousing.&lt;br /&gt;&lt;br /&gt;Hot Add CPU&lt;br /&gt;&lt;br /&gt;Dynamically scale a database on demand by allowing CPU resources to be added to SQL Server 2008 on supported hardware platforms without forcing any downtime on applications. Note that SQL Server already supports the ability to add memory resources online.&lt;br /&gt;&lt;br /&gt;Policy-Based Management&lt;br /&gt;&lt;br /&gt;Policy-Based Management is a policy-based system for managing one or more instances of SQL Server 2008. Use this with SQL Server Management Studio to create policies that manage entities on the server, such as the instance of SQL Server, databases, and other SQL Server objects.&lt;br /&gt;&lt;br /&gt;Streamlined Installation&lt;br /&gt;&lt;br /&gt;SQL Server 2008 introduces significant improvements to the service life cycle for SQL Server through the re-engineering of the installation, setup, and configuration architecture. These improvements separate the installation of the physical bits on the hardware from the configuration of the SQL Server software, enabling organizations and software partners to provide recommended installation configurations.&lt;br /&gt;&lt;br /&gt;Performance Data Collection&lt;br /&gt;&lt;br /&gt;Performance tuning and troubleshooting are time-consuming tasks for the administrator. To provide actionable performance insights to administrators, SQL Server 2008 includes more extensive performance data collection, a new centralized data repository for storing performance data, and new tools for reporting and monitoring.&lt;br /&gt;&lt;br /&gt;Language Integrated Query (LINQ)&lt;br /&gt;&lt;br /&gt;Enable developers to issue queries against data, using a managed programming language, such as C# or VB.NET, instead of SQL statements. Enable seamless, strongly typed, set-oriented queries written in .NET languages to run against ADO.NET (LINQ to SQL), ADO.NET DataSets (LINQ to DataSets), the ADO.NET Entity Framework (LINQ to Entities), and to the Entity Data Service Mapping provider. Use the new LINQ to SQL provider that enables developers to use LINQ directly on SQL Server 2008 tables and columns.&lt;br /&gt;&lt;br /&gt;ADO.NET Data Services&lt;br /&gt;&lt;br /&gt;The Object Services layer of ADO.NET enables the materialization, change tracking, and persistence of data as CLR objects. Developers using the ADO.NET framework can program against a database, using CLR objects that are managed by ADO.NET. SQL Server 2008 introduces more efficient, optimized support that improves performance and simplifies development.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DATE/TIME&lt;br /&gt;&lt;br /&gt;SQL Server 2008 introduces new date and time data types:&lt;br /&gt;&lt;br /&gt;DATE—A date-only type&lt;br /&gt;&lt;br /&gt;TIME—A time-only type&lt;br /&gt;&lt;br /&gt;DATETIMEOFFSET—A time-zone-aware datetime type&lt;br /&gt;&lt;br /&gt;DATETIME2—A datetime type with larger fractional seconds and year range than the existing DATETIME type&lt;br /&gt;&lt;br /&gt;The new data types enable applications to have separate data and time types while providing large data ranges or user defined precision for time values.&lt;br /&gt;&lt;br /&gt;HIERARCHY ID&lt;br /&gt;&lt;br /&gt;Enable database applications to model tree structures in a more efficient way than currently possible. New system type HierarchyId can store values that represent nodes in a hierarchy tree. This new type will be implemented as a CLR UDT, and will expose several efficient and useful built-in methods for creating and operating on hierarchy nodes with a flexible programming model.&lt;br /&gt;&lt;br /&gt;FILESTREAM Data&lt;br /&gt;&lt;br /&gt;Allow large binary data to be stored directly in an NTFS file system, while preserving an integral part of the database and maintaining transactional consistency. Enable the scale-out of large binary data traditionally managed by the database to be stored outside the database on more cost-effective storage without compromise.&lt;br /&gt;&lt;br /&gt;Integrated Full Text Search&lt;br /&gt;&lt;br /&gt;Integrated Full Text Search makes the transition between Text Search and relational data seamless, while enabling users to use the Text Indexes to perform high-speed text searches on large text columns.&lt;br /&gt;&lt;br /&gt;Sparse Columns&lt;br /&gt;&lt;br /&gt;NULL data consumes no physical space, providing a highly efficient way of managing empty data in a database. For example, Sparse Columns allows object models that typically have numerous null values to be stored in a SQL Server 2005 database without experiencing large space costs.&lt;br /&gt;&lt;br /&gt;Large User-Defined Types&lt;br /&gt;&lt;br /&gt;SQL Server 2008 eliminates the 8-KB limit for User-Defined Types (UDTs), allowing users to dramatically expand the size of their UDTs.&lt;br /&gt;&lt;br /&gt;Spatial Data Types&lt;br /&gt;&lt;br /&gt;Build spatial capabilities into your applications by using the support for spatial data.&lt;br /&gt;&lt;br /&gt;Implement Round Earth solutions with the geography data type. Use latitude and longitude coordinates to define areas on the Earth's surface.&lt;br /&gt;&lt;br /&gt;Implement Flat Earth solutions with the geometry data type. Store polygons, points, and lines that are associated with projected planar surfaces and naturally planar data, such as interior spaces.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Backup Compression&lt;br /&gt;&lt;br /&gt;Keeping disk-based backups online is expensive and time-consuming. With SQL Server 2008 backup compression, less storage is required to keep backups online, and backups run significantly faster since less disk I/O is required.&lt;br /&gt;&lt;br /&gt;Partitioned Table Parallelism&lt;br /&gt;&lt;br /&gt;Partitions enable organizations to manage large growing tables more effectively by transparently breaking them into manageable blocks of data. SQL Server 2008 builds on the advances of partitioning in SQL Server 2005 by improving the performance on large partitioned tables.&lt;br /&gt;&lt;br /&gt;Star Join Query Optimizations&lt;br /&gt;&lt;br /&gt;SQL Server 2008 provides improved query performance for common data warehouse scenarios. Star Join Query optimizations reduce query response time by recognizing data warehouse join patterns.&lt;br /&gt;&lt;br /&gt;Grouping Sets&lt;br /&gt;&lt;br /&gt;Grouping Sets is an extension to the GROUP BY clause that lets users define multiple groupings in the same query. Grouping Sets produces a single result set that is equivalent to a UNION ALL of differently grouped rows, making aggregation querying and reporting easier and faster.&lt;br /&gt;&lt;br /&gt;Change Data Capture&lt;br /&gt;&lt;br /&gt;With Change Data Capture, changes are captured and placed in change tables. It captures complete content of changes, maintains cross-table consistency, and even works across schema changes. This enables organizations to integrate the latest information into the data warehouse.&lt;br /&gt;&lt;br /&gt;MERGE SQL Statement&lt;br /&gt;&lt;br /&gt;With the introduction of the MERGE SQL Statement, developers can more effectively handle common data warehousing scenarios, like checking whether a row exists, and then executing an insert or update.&lt;br /&gt;&lt;br /&gt;SQL Server Integration Services (SSIS) Pipeline Improvements&lt;br /&gt;&lt;br /&gt;Data Integration packages can now scale more effectively, making use of available resources and managing the largest enterprise-scale workloads. The new design improves the scalability of runtime into multiple processors.&lt;br /&gt;&lt;br /&gt;SQL Server Integration Services (SSIS) Persistent Lookups&lt;br /&gt;&lt;br /&gt;The need to perform lookups is one of the most common ETL operations. This is especially prevalent in data warehousing, where fact records need to use lookups to transform business keys to their corresponding surrogates. SSIS increases the performance of lookups to support the largest tables.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Analysis Scale and Performance&lt;br /&gt;&lt;br /&gt;SQL Server 2008 drives broader analysis with enhanced analytical capabilities and with more complex computations and aggregations. New cube design tools help users streamline the development of the analysis infrastructure enabling them to build solutions for optimized performance.&lt;br /&gt;&lt;br /&gt;Block Computations&lt;br /&gt;&lt;br /&gt;Block Computations provides a significant improvement in processing performance enabling users to increase the depth of their hierarchies and complexity of the computations.&lt;br /&gt;&lt;br /&gt;Writeback&lt;br /&gt;&lt;br /&gt;New MOLAP enabled writeback capabilities in SQL Server 2008 Analysis Services removes the need to query ROLAP partitions. This provides users with enhanced writeback scenarios from within analytical applications without sacrificing the traditional OLAP performance.&lt;br /&gt;&lt;br /&gt;Enterprise Reporting Engine&lt;br /&gt;&lt;br /&gt;Reports can easily be delivered throughout the organization, both internally and externally, with simplified deployment and configuration. This enables users to easily create and share reports of any size and complexity.&lt;br /&gt;&lt;br /&gt;Internet Report Deployment&lt;br /&gt;&lt;br /&gt;Customers and suppliers can effortlessly be reached by deploying reports over the Internet.&lt;br /&gt;&lt;br /&gt;Manage Reporting Infrastructure&lt;br /&gt;&lt;br /&gt;Increase supportability and the ability to control server behaviour with memory management, infrastructure consolidation, and easier configuration through a centralized store and API for all configuration settings.&lt;br /&gt;&lt;br /&gt;Report Builder Enhancements&lt;br /&gt;&lt;br /&gt;Easily build ad-hoc and author reports with any structure through Report Designer.&lt;br /&gt;&lt;br /&gt;Forms Authentication Support&lt;br /&gt;&lt;br /&gt;Support for Forms authentication enables users to choose between Windows and Forms authentication.&lt;br /&gt;&lt;br /&gt;Report Server Application Embedding&lt;br /&gt;&lt;br /&gt;Report Server application embedding enables the URLs in reports and subscriptions to point back to front-end applications.&lt;br /&gt;&lt;br /&gt;Microsoft Office Integration&lt;br /&gt;&lt;br /&gt;SQL Server 2008 provides new Word rendering that enables users to consume reports directly from within Microsoft Office Word. In addition, the existing Excel renderer has been greatly enhanced to accommodate the support of features, like nested data regions, sub-reports, as well as merged cell improvements. This lets users maintain layout fidelity and improves the overall consumption of reports from Microsoft Office applications.&lt;br /&gt;&lt;br /&gt;Predictive Analysis&lt;br /&gt;&lt;br /&gt;SQL Server Analysis Services continues to deliver advanced data mining technologies. Better Time Series support extends forecasting capabilities. Enhanced Mining Structures deliver more flexibility to perform focused analysis through filtering as well as to deliver complete information in reports beyond the scope of the mining model. New cross-validation enables confirmation of both accuracy and stability for results that you can trust. Furthermore, the new features delivered with SQL Server 2008 Data Mining Add-ins for Office 2007 empower every user in the organization with even more actionable insight at the desktop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5670084735783354582?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5670084735783354582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/50-new-features-of-sql-server-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5670084735783354582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5670084735783354582'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/50-new-features-of-sql-server-2008.html' title='50 New Features of SQL Server 2008'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-6266159490089380945</id><published>2010-12-27T20:09:00.000-08:00</published><updated>2010-12-27T20:11:14.527-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Log Miner</title><content type='html'>Using Log Miner utility, you can query the contents of online redo log files and archived log files. Because LogMiner provides a well-defined, easy-to-use, and comprehensive relational interface to redo log files, it can be used as a powerful data audit tool, as well as a tool for sophisticated data analysis.&lt;br /&gt;&lt;br /&gt;LogMiner Configuration&lt;br /&gt;&lt;br /&gt;There are three basic objects in a LogMiner configuration that you should be familiar with: the source database,  the LogMiner dictionary, and the redo log files containing the data of interest:&lt;br /&gt;&lt;br /&gt;The source database is the database that produces all the redo log files that you want LogMiner to analyze.&lt;br /&gt;The LogMiner dictionary allows LogMiner to provide table and column names, instead of internal object IDs, when it presents the redo log data that you request.&lt;br /&gt;LogMiner uses the dictionary to translate internal object identifiers and datatypes to object names and external data formats. Without a dictionary, LogMiner returns internal object IDs and presents data as binary data.&lt;br /&gt;&lt;br /&gt;For example, consider the following the SQL statement:&lt;br /&gt;&lt;br /&gt;INSERT INTO HR.JOBS(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY)  VALUES('IT_WT','Technical Writer', 4000, 11000);&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Without the dictionary, LogMiner will display:&lt;br /&gt;&lt;br /&gt;insert into "UNKNOWN"."OBJ# 45522"("COL 1","COL 2","COL 3","COL 4") values&lt;br /&gt;&lt;br /&gt;(HEXTORAW('45465f4748'),HEXTORAW('546563686e6963616c20577269746572'),&lt;br /&gt;&lt;br /&gt;HEXTORAW('c229'),HEXTORAW('c3020b'));&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;·                The redo log files contain the changes made to the database or database dictionary.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;LogMiner Dictionary Options&lt;br /&gt;&lt;br /&gt;LogMiner requires a dictionary to translate object IDs into object names when it returns redo data to you. LogMiner gives you three options for supplying the dictionary:&lt;br /&gt;&lt;br /&gt;Using the Online Catalog&lt;br /&gt;Oracle recommends that you use this option when you will have access to the source database from which the redo log files were created and when no changes to the column definitions in the tables of interest are anticipated. This is the most efficient and easy-to-use option.&lt;br /&gt;&lt;br /&gt;Extracting a LogMiner Dictionary to the Redo Log Files&lt;br /&gt;Oracle recommends that you use this option when you do not expect to have access to the source database from which the redo log files were created, or if you anticipate that changes will be made to the column definitions in the tables of interest.&lt;br /&gt;&lt;br /&gt;Extracting the LogMiner Dictionary to a Flat File&lt;br /&gt;This option is maintained for backward compatibility with previous releases. This option does not guarantee transactional consistency. Oracle recommends that you use either the online catalog or extract the dictionary from redo log files instead.&lt;br /&gt;&lt;br /&gt;Using the Online Catalog&lt;br /&gt;&lt;br /&gt;To direct LogMiner to use the dictionary currently in use for the database, specify the online catalog as your dictionary source when you start LogMiner, as follows:&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.START_LOGMNR(-&lt;br /&gt;&lt;br /&gt;       OPTIONS =&gt; DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);&lt;br /&gt;&lt;br /&gt;Extracting a LogMiner Dictionary to the Redo Log Files&lt;br /&gt;&lt;br /&gt;To extract a LogMiner dictionary to the redo log files, the database must be open and in ARCHIVELOG mode and archiving must be enabled. While the dictionary is being extracted to the redo log stream, no DDL statements can be executed. Therefore, the dictionary extracted to the redo log files is guaranteed to be consistent (whereas the dictionary extracted to a flat file is not).&lt;br /&gt;&lt;br /&gt;To extract dictionary information to the redo log files, use the DBMS_LOGMNR_D.BUILD procedure with the STORE_IN_REDO_LOGS option. Do not specify a filename or location.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR_D.BUILD(OPTIONS=&gt; DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);&lt;br /&gt;&lt;br /&gt;Extracting the LogMiner Dictionary to a Flat File&lt;br /&gt;&lt;br /&gt;When the LogMiner dictionary is in a flat file, fewer system resources are used than when it is contained in the redo log files. Oracle recommends that you regularly back up the dictionary extract to ensure correct analysis of older redo log files.&lt;br /&gt;&lt;br /&gt;Set the initialization parameter, UTL_FILE_DIR, in the initialization parameter file. For example, to set UTL_FILE_DIR to use /oracle/database as the directory where the dictionary file is placed, enter the following in the initialization parameter file:&lt;br /&gt;UTL_FILE_DIR = /oracle/database&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Start the Database&lt;br /&gt;SQL&gt; startup&lt;br /&gt;&lt;br /&gt;Execute the PL/SQL procedure DBMS_LOGMNR_D.BUILD. Specify a filename for the dictionary and a directory path name for the file. This procedure creates the dictionary file. For example, enter the following to create the file dictionary.ora in /oracle/database:&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR_D.BUILD('dictionary.ora','/oracle/database/',&lt;br /&gt;&lt;br /&gt;                       DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);&lt;br /&gt;&lt;br /&gt;Redo Log File Options&lt;br /&gt;&lt;br /&gt;To mine data in the redo log files, LogMiner needs information about which redo log files to mine.&lt;br /&gt;&lt;br /&gt;You can direct LogMiner to automatically and dynamically create a list of redo log files to analyze, or you can explicitly specify a list of redo log files for LogMiner to analyze, as follows:&lt;br /&gt;&lt;br /&gt;Automatically&lt;br /&gt;&lt;br /&gt;If LogMiner is being used on the source database, then you can direct LogMiner to find and create a list of redo log files for analysis automatically. Use the CONTINUOUS_MINE option when you start LogMiner.&lt;br /&gt;&lt;br /&gt;Manually&lt;br /&gt;&lt;br /&gt;Use the DBMS_LOGMNR.ADD_LOGFILE procedure to manually create a list of redo log files before you start LogMiner. After the first redo log file has been added to the list, each subsequently added redo log file must be from the same database and associated with the same database RESETLOGS SCN. When using this method, LogMiner need not be connected to the source database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example: Finding All Modifications in the Current Redo Log File&lt;br /&gt;&lt;br /&gt;The easiest way to examine the modification history of a database is to mine at the source database and use the online catalog to translate the redo log files. This example shows how to do the simplest analysis using LogMiner.&lt;br /&gt;&lt;br /&gt;Step 1 Specify the list of redo log files to be analyzed.&lt;br /&gt;&lt;br /&gt;Specify the redo log files which you want to analyze.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -&lt;br /&gt;&lt;br /&gt;       LOGFILENAME =&gt; '/usr/oracle/ica/log1.ora',&lt;br /&gt;&lt;br /&gt;       OPTIONS =&gt; DBMS_LOGMNR.NEW);&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -&lt;br /&gt;&lt;br /&gt;       LOGFILENAME =&gt; '/u01/oracle/ica/log2.ora',&lt;br /&gt;&lt;br /&gt;       OPTIONS =&gt; DBMS_LOGMNR.ADDFILE);&lt;br /&gt;&lt;br /&gt;Step 2 Start LogMiner.&lt;br /&gt;&lt;br /&gt;Start LogMiner and specify the dictionary to use.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.START_LOGMNR(&lt;br /&gt;&lt;br /&gt;       OPTIONS =&gt; DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);&lt;br /&gt;&lt;br /&gt;Step 3 Query the V$LOGMNR_CONTENTS view.&lt;br /&gt;&lt;br /&gt;Note that there are four transactions (two of them were committed within the redo log file being analyzed, and two were not). The output shows the DML statements in the order in which they were executed; thus transactions interleave among themselves.&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT username AS USR, (XIDUSN || '.' || XIDSLT || '.' ||  XIDSQN) AS XID,SQL_REDO, SQL_UNDO FROM V$LOGMNR_CONTENTS WHERE username IN ('HR', 'OE');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;USR    XID          SQL_REDO                        SQL_UNDO&lt;br /&gt;----   ---------  ----------------------------------------------------&lt;br /&gt;HR     1.11.1476  set transaction read write;&lt;br /&gt; &lt;br /&gt;HR     1.11.1476  insert into "HR"."EMPLOYEES"(     delete from "HR"."EMPLOYEES"&lt;br /&gt;                  "EMPLOYEE_ID","FIRST_NAME",       where "EMPLOYEE_ID" = '306'&lt;br /&gt;                  "LAST_NAME","EMAIL",              and "FIRST_NAME" = 'Mohammed'&lt;br /&gt;                  "PHONE_NUMBER","HIRE_DATE",       and "LAST_NAME" = 'Sami'&lt;br /&gt;                  "JOB_ID","SALARY",                and "EMAIL" = 'MDSAMI'&lt;br /&gt;                  "COMMISSION_PCT","MANAGER_ID",    and "PHONE_NUMBER" = '1234567890'&lt;br /&gt;                  "DEPARTMENT_ID") values           and "HIRE_DATE" = TO_DATE('10-JAN-2003&lt;br /&gt;                  ('306','Mohammed','Sami',         13:34:43', 'dd-mon-yyyy hh24:mi:ss')&lt;br /&gt;                  'MDSAMI', '1234567890',           and "JOB_ID" = 'HR_REP' and&lt;br /&gt;                  TO_DATE('10-jan-2003 13:34:43',   "SALARY" = '120000' and&lt;br /&gt;                  'dd-mon-yyyy hh24:mi:ss'),         "COMMISSION_PCT" = '.05' and&lt;br /&gt;                  'HR_REP','120000', '.05',         "DEPARTMENT_ID" = '10' and&lt;br /&gt;                  '105','10');                      ROWID = 'AAAHSkAABAAAY6rAAO';&lt;br /&gt;    &lt;br /&gt;OE     1.1.1484   set transaction read write;&lt;br /&gt; &lt;br /&gt;OE     1.1.1484   update "OE"."PRODUCT_INFORMATION"  update "OE"."PRODUCT_INFORMATION"&lt;br /&gt;                  set "WARRANTY_PERIOD" =            set "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+05-00') where      TO_YMINTERVAL('+01-00') where&lt;br /&gt;                  "PRODUCT_ID" = '1799' and          "PRODUCT_ID" = '1799' and&lt;br /&gt;                  "WARRANTY_PERIOD" =                "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+01-00') and        TO_YMINTERVAL('+05-00') and&lt;br /&gt;                  ROWID = 'AAAHTKAABAAAY9mAAB';      ROWID = 'AAAHTKAABAAAY9mAAB';&lt;br /&gt;                                                                               &lt;br /&gt;OE     1.1.1484   update "OE"."PRODUCT_INFORMATION"  update "OE"."PRODUCT_INFORMATION"&lt;br /&gt;                  set "WARRANTY_PERIOD" =            set "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+05-00') where      TO_YMINTERVAL('+01-00') where&lt;br /&gt;                  "PRODUCT_ID" = '1801' and          "PRODUCT_ID" = '1801' and&lt;br /&gt;                  "WARRANTY_PERIOD" =                "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+01-00') and        TO_YMINTERVAL('+05-00') and&lt;br /&gt;                  ROWID = 'AAAHTKAABAAAY9mAAC';      ROWID ='AAAHTKAABAAAY9mAAC';&lt;br /&gt; &lt;br /&gt;HR     1.11.1476  insert into "HR"."EMPLOYEES"(     delete from "HR"."EMPLOYEES"&lt;br /&gt;                  "EMPLOYEE_ID","FIRST_NAME",       "EMPLOYEE_ID" = '307' and&lt;br /&gt;                  "LAST_NAME","EMAIL",              "FIRST_NAME" = 'John' and&lt;br /&gt;                  "PHONE_NUMBER","HIRE_DATE",       "LAST_NAME" = 'Silver' and&lt;br /&gt;                  "JOB_ID","SALARY",                "EMAIL" = 'JSILVER' and&lt;br /&gt;                  "COMMISSION_PCT","MANAGER_ID",    "PHONE_NUMBER" = '5551112222'&lt;br /&gt;                  "DEPARTMENT_ID") values           and "HIRE_DATE" = TO_DATE('10-jan-                                                    2003&lt;br /&gt;                  ('307','John','Silver',           13:41:03', 'dd-mon-yyyy hh24:mi:ss')&lt;br /&gt;                   'JSILVER', '5551112222',         and "JOB_ID" ='105' and&lt;br /&gt;                                                    "DEPARTMENT_ID"&lt;br /&gt;                  TO_DATE('10-jan-2003 13:41:03',   = '50' and ROWID =&lt;br /&gt;                                                    'AAAHSkAABAAAY6rAAP';&lt;br /&gt;                  'dd-mon-yyyy hh24:mi:ss'),&lt;br /&gt;                  'SH_CLERK','110000', '.05',&lt;br /&gt;                  '105','50');               &lt;br /&gt; &lt;br /&gt;OE     1.1.1484   commit;&lt;br /&gt; &lt;br /&gt;HR     1.15.1481   set transaction read write;&lt;br /&gt; &lt;br /&gt;HR     1.15.1481  delete from "HR"."EMPLOYEES"      insert into "HR"."EMPLOYEES"(&lt;br /&gt;                  where "EMPLOYEE_ID" = '205' and   "EMPLOYEE_ID","FIRST_NAME",&lt;br /&gt;                  "FIRST_NAME" = 'Shelley' and      "LAST_NAME","EMAIL","PHONE_NUMBER",&lt;br /&gt;                  "LAST_NAME" = 'Higgins' and       "HIRE_DATE", "JOB_ID","SALARY",&lt;br /&gt;                  "EMAIL" = 'SHIGGINS' and          "COMMISSION_PCT","MANAGER_ID",&lt;br /&gt;                  "PHONE_NUMBER" = '515.123.8080'   "DEPARTMENT_ID") values&lt;br /&gt;                  and "HIRE_DATE" = TO_DATE(        ('205','Shelley','Higgins',&lt;br /&gt;                  '07-jun-1994 10:05:01',           and     'SHIGGINS','515.123.8080',&lt;br /&gt;                  'dd-mon-yyyy hh24:mi:ss')         TO_DATE('07-jun-1994 10:05:01',&lt;br /&gt;                  and "JOB_ID" = 'AC_MGR'           'dd-mon-yyyy hh24:mi:ss'),&lt;br /&gt;                  and "SALARY"= '12000'            'AC_MGR','12000',NULL,'101','110');&lt;br /&gt;                  and "COMMISSION_PCT" IS NULL&lt;br /&gt;                  and "MANAGER_ID"&lt;br /&gt;                  = '101' and "DEPARTMENT_ID" =&lt;br /&gt;                  '110' and ROWID =&lt;br /&gt;                  'AAAHSkAABAAAY6rAAM';&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;OE     1.8.1484   set transaction read write;&lt;br /&gt; &lt;br /&gt;OE     1.8.1484   update "OE"."PRODUCT_INFORMATION"  update "OE"."PRODUCT_INFORMATION"&lt;br /&gt;                  set "WARRANTY_PERIOD" =            set "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+12-06') where      TO_YMINTERVAL('+20-00') where&lt;br /&gt;                  "PRODUCT_ID" = '2350' and          "PRODUCT_ID" = '2350' and&lt;br /&gt;                  "WARRANTY_PERIOD" =                "WARRANTY_PERIOD" =&lt;br /&gt;                  TO_YMINTERVAL('+20-00') and        TO_YMINTERVAL('+20-00') and&lt;br /&gt;                  ROWID = 'AAAHTKAABAAAY9tAAD';       ROWID ='AAAHTKAABAAAY9tAAD';&lt;br /&gt; &lt;br /&gt;HR     1.11.1476  commit;&lt;br /&gt;Step 4 End the LogMiner session.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.END_LOGMNR();&lt;br /&gt;&lt;br /&gt;Example of Mining Without Specifying the List of Redo Log Files Explicitly&lt;br /&gt;&lt;br /&gt;The previous example explicitly specified the redo log file or files to be mined. However, if you are mining in the same database that generated the redo log files, then you can mine the appropriate list of redo log files by just specifying the time (or SCN) range of interest. To mine a set of redo log files without explicitly specifying them, use the DBMS_LOGMNR.CONTINUOUS_MINE option to the DBMS_LOGMNR.START_LOGMNR procedure, and specify either a time range or an SCN range of interest.&lt;br /&gt;&lt;br /&gt;Example : Mining Redo Log Files in a Given Time Range&lt;br /&gt;&lt;br /&gt;This example assumes that you want to use the data dictionary extracted to the redo log files.&lt;br /&gt;&lt;br /&gt;Step 1 Determine the timestamp of the redo log file that contains the start of the data dictionary.&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT NAME, FIRST_TIME FROM V$ARCHIVED_LOG&lt;br /&gt;&lt;br /&gt;WHERE SEQUENCE# = (SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG&lt;br /&gt;&lt;br /&gt;       WHERE DICTIONARY_BEGIN = 'YES');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;NAME                                          FIRST_TIME&lt;br /&gt;&lt;br /&gt;--------------------------------------------  --------------------&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_207_482701534.dbf  10-jan-2003 12:01:34&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Step 2 Display all the redo log files that have been generated so far.&lt;br /&gt;&lt;br /&gt;This step is not required, but is included to demonstrate that the CONTINUOUS_MINE option works as expected, as will be shown in Step 4.&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT FILENAME name FROM V$LOGMNR_LOGS&lt;br /&gt;&lt;br /&gt;       WHERE LOW_TIME &gt; '10-jan-2003 12:01:34';&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;NAME&lt;br /&gt;&lt;br /&gt;----------------------------------------------&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_207_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_208_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_209_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_210_482701534.dbf&lt;br /&gt;&lt;br /&gt;Step 3 Start LogMiner.&lt;br /&gt;&lt;br /&gt;Start LogMiner by specifying the dictionary to use and the COMMITTED_DATA_ONLY, PRINT_PRETTY_SQL, and CONTINUOUS_MINE options.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.START_LOGMNR(-&lt;br /&gt;&lt;br /&gt;       STARTTIME =&gt; '10-jan-2003 12:01:34', -&lt;br /&gt;&lt;br /&gt;         ENDTIME =&gt; SYSDATE, -&lt;br /&gt;&lt;br /&gt;                OPTIONS =&gt; DBMS_LOGMNR.DICT_FROM_REDO_LOGS + -&lt;br /&gt;&lt;br /&gt;                    DBMS_LOGMNR.COMMITTED_DATA_ONLY + -&lt;br /&gt;&lt;br /&gt;                    DBMS_LOGMNR.PRINT_PRETTY_SQL + -&lt;br /&gt;&lt;br /&gt;                    DBMS_LOGMNR.CONTINUOUS_MINE);&lt;br /&gt;&lt;br /&gt;Step 4 Query the V$LOGMNR_LOGS view.&lt;br /&gt;&lt;br /&gt;This step shows that the DBMS_LOGMNR.START_LOGMNR procedure with the CONTINUOUS_MINE option includes all of the redo log files that have been generated so far, as expected. (Compare the output in this step to the output in Step 2.)&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT FILENAME name FROM V$LOGMNR_LOGS;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;NAME&lt;br /&gt;&lt;br /&gt;------------------------------------------------------&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_207_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_208_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_209_482701534.dbf&lt;br /&gt;&lt;br /&gt;/usr/oracle/data/db1arch_1_210_482701534.dbf&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Step 5 Query the V$LOGMNR_CONTENTS view.&lt;br /&gt;&lt;br /&gt;To reduce the number of rows returned by the query, exclude all DML statements done in the sys or system schema. (This query specifies a timestamp to exclude transactions that were involved in the dictionary extraction.)&lt;br /&gt;&lt;br /&gt;Note that all reconstructed SQL statements returned by the query are correctly translated.&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT USERNAME AS usr,(XIDUSN || '.' || XIDSLT || '.' || XIDSQN) as XID,&lt;br /&gt;&lt;br /&gt;       SQL_REDO FROM V$LOGMNR_CONTENTS&lt;br /&gt;&lt;br /&gt;       WHERE SEG_OWNER IS NULL OR SEG_OWNER NOT IN ('SYS', 'SYSTEM') AND&lt;br /&gt;&lt;br /&gt;       TIMESTAMP &gt; '10-jan-2003 15:59:53';&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;USR             XID         SQL_REDO&lt;br /&gt;&lt;br /&gt;-----------     --------    -----------------------------------&lt;br /&gt;&lt;br /&gt;SYS             1.2.1594    set transaction read write;&lt;br /&gt;&lt;br /&gt;SYS             1.2.1594    create table oe.product_tracking (product_id number not null,&lt;br /&gt;&lt;br /&gt;                            modified_time date,&lt;br /&gt;&lt;br /&gt;                            old_list_price number(8,2),&lt;br /&gt;&lt;br /&gt;                            old_warranty_period interval year(2) to month);&lt;br /&gt;&lt;br /&gt;SYS             1.2.1594    commit;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;SYS             1.18.1602   set transaction read write;&lt;br /&gt;&lt;br /&gt;SYS             1.18.1602   create or replace trigger oe.product_tracking_trigger&lt;br /&gt;&lt;br /&gt;                            before update on oe.product_information&lt;br /&gt;&lt;br /&gt;                            for each row&lt;br /&gt;&lt;br /&gt;                            when (new.list_price &lt;&gt; old.list_price or&lt;br /&gt;&lt;br /&gt;                                  new.warranty_period &lt;&gt; old.warranty_period)&lt;br /&gt;&lt;br /&gt;                            declare&lt;br /&gt;&lt;br /&gt;                            begin&lt;br /&gt;&lt;br /&gt;                            insert into oe.product_tracking values&lt;br /&gt;&lt;br /&gt;                               (:old.product_id, sysdate,&lt;br /&gt;&lt;br /&gt;                                :old.list_price, :old.warranty_period);&lt;br /&gt;&lt;br /&gt;                            end;&lt;br /&gt;&lt;br /&gt;SYS             1.18.1602   commit;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OE              1.9.1598    update "OE"."PRODUCT_INFORMATION"&lt;br /&gt;&lt;br /&gt;                              set&lt;br /&gt;&lt;br /&gt;                                "WARRANTY_PERIOD" = TO_YMINTERVAL('+08-00'),&lt;br /&gt;&lt;br /&gt;                                "LIST_PRICE" = 100&lt;br /&gt;&lt;br /&gt;                              where&lt;br /&gt;&lt;br /&gt;                                "PRODUCT_ID" = 1729 and&lt;br /&gt;&lt;br /&gt;                                "WARRANTY_PERIOD" = TO_YMINTERVAL('+05-00') and&lt;br /&gt;&lt;br /&gt;                                "LIST_PRICE" = 80 and&lt;br /&gt;&lt;br /&gt;                                ROWID = 'AAAHTKAABAAAY9yAAA';&lt;br /&gt;&lt;br /&gt;OE              1.9.1598    insert into "OE"."PRODUCT_TRACKING"&lt;br /&gt;&lt;br /&gt;                              values&lt;br /&gt;&lt;br /&gt;                                "PRODUCT_ID" = 1729,&lt;br /&gt;&lt;br /&gt;                                "MODIFIED_TIME" = TO_DATE('13-jan-2003 16:07:03',&lt;br /&gt;&lt;br /&gt;                                'dd-mon-yyyy hh24:mi:ss'),&lt;br /&gt;&lt;br /&gt;                                "OLD_LIST_PRICE" = 80,&lt;br /&gt;&lt;br /&gt;                                "OLD_WARRANTY_PERIOD" = TO_YMINTERVAL('+05-00');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OE              1.9.1598    update "OE"."PRODUCT_INFORMATION"&lt;br /&gt;&lt;br /&gt;                              set&lt;br /&gt;&lt;br /&gt;                                "WARRANTY_PERIOD" = TO_YMINTERVAL('+08-00'),&lt;br /&gt;&lt;br /&gt;                                "LIST_PRICE" = 92&lt;br /&gt;&lt;br /&gt;                              where&lt;br /&gt;&lt;br /&gt;                                "PRODUCT_ID" = 2340 and&lt;br /&gt;&lt;br /&gt;                                "WARRANTY_PERIOD" = TO_YMINTERVAL('+05-00') and&lt;br /&gt;&lt;br /&gt;                                "LIST_PRICE" = 72 and&lt;br /&gt;&lt;br /&gt;                                ROWID = 'AAAHTKAABAAAY9zAAA';&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OE              1.9.1598    insert into "OE"."PRODUCT_TRACKING"&lt;br /&gt;&lt;br /&gt;                              values&lt;br /&gt;&lt;br /&gt;                                "PRODUCT_ID" = 2340,&lt;br /&gt;&lt;br /&gt;                                "MODIFIED_TIME" = TO_DATE('13-jan-2003 16:07:07',&lt;br /&gt;&lt;br /&gt;                                'dd-mon-yyyy hh24:mi:ss'),&lt;br /&gt;&lt;br /&gt;                                "OLD_LIST_PRICE" = 72,&lt;br /&gt;&lt;br /&gt;                                "OLD_WARRANTY_PERIOD" = TO_YMINTERVAL('+05-00');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OE              1.9.1598     commit;&lt;br /&gt;&lt;br /&gt;Step 6 End the LogMiner session.&lt;br /&gt;&lt;br /&gt;SQL&gt; EXECUTE DBMS_LOGMNR.END_LOGMNR();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-6266159490089380945?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/6266159490089380945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/log-miner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6266159490089380945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6266159490089380945'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/log-miner.html' title='Log Miner'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-9045878177579674744</id><published>2010-12-05T19:57:00.000-08:00</published><updated>2010-12-05T20:01:19.079-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>MySQL : Dynamic</title><content type='html'>You CAN execute Dynamic SQL from a mysql stored procedure using prepared statements (from correspondence with MySQL this might not 'officially' be supported but it works with the release candidate). &lt;br /&gt;&lt;br /&gt;Here's a couple ways to handle a stored procedure which uses an input parameter in a prepared statement. &lt;br /&gt;&lt;br /&gt;-- Concatenate SQL statement and input parameters before PREPARE &lt;br /&gt;&lt;br /&gt;DELIMITER \\ &lt;br /&gt;&lt;br /&gt;DROP PROCEDURE IF EXISTS `sp_test_dynamic_sql`\\ &lt;br /&gt;CREATE PROCEDURE `sp_test_dynamic_sql` (_min int, _max int) &lt;br /&gt;BEGIN &lt;br /&gt;&lt;br /&gt;SET @s = CONCAT('SELECT * FROM authors WHERE id BETWEEN ', _min, ' AND ', _max); &lt;br /&gt;&lt;br /&gt;PREPARE stmt1 FROM @s; &lt;br /&gt;EXECUTE stmt1; &lt;br /&gt;DEALLOCATE PREPARE stmt1; &lt;br /&gt;&lt;br /&gt;END\\ &lt;br /&gt;&lt;br /&gt;DELIMITER ;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-9045878177579674744?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/9045878177579674744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/mysql-dynamic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9045878177579674744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9045878177579674744'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/mysql-dynamic.html' title='MySQL : Dynamic'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-3069051440741111300</id><published>2010-12-01T19:37:00.000-08:00</published><updated>2010-12-01T19:40:27.258-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Swap memory increase with swap file (How to create)</title><content type='html'>Swap Memory is a space in the Hard Disk of your computer that Operating Systems (Linux in our case) will use to put the info that is actually on the RAM to free it for another application.&lt;br /&gt;&lt;br /&gt;This should be done when the system needs memory for a new process and there is none, so we can see that if our system has plenty of RAM it will maybe need no SWAP memory.&lt;br /&gt;&lt;br /&gt;How much Swap Memory do I need?&lt;br /&gt;&lt;br /&gt;As a rule of thumb if you have 512 MB RAM put 1 GByte Swap, but this stops being true when the limit at least in x386 PCs is achieved (2 GB or swap is the maximum I could ever allocate to a System).&lt;br /&gt;&lt;br /&gt;How do I create Swap.&lt;br /&gt;&lt;br /&gt;Usually when you install Linux you reserve a partition to be used as swap memory, and the rest of the disk for your files, but what happens if I need more swap memory?. How to create more swap memory?&lt;br /&gt;&lt;br /&gt;If you disk is full you can try to shrink the partitions to make room for another swap partition but an easier way is to make a swap file, so now the question is.&lt;br /&gt;&lt;br /&gt;How to create a swap file?&lt;br /&gt;&lt;br /&gt;dd if=/dev/zero of=/swapfile bs=1024 count=100000&lt;br /&gt;&lt;br /&gt;This will create file (swapfile) of size 100 MB (round)&lt;br /&gt;&lt;br /&gt;mkswap /swapfile&lt;br /&gt;&lt;br /&gt;add this file to your swap pool&lt;br /&gt;&lt;br /&gt;swapon /swapfile&lt;br /&gt;&lt;br /&gt;This will do the job, now you have 100 more Mbytes of swap memory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-3069051440741111300?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/3069051440741111300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/swap-memory-increase-with-swap-file-how.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3069051440741111300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3069051440741111300'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/12/swap-memory-increase-with-swap-file-how.html' title='Swap memory increase with swap file (How to create)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1358884355801977486</id><published>2010-11-24T01:08:00.000-08:00</published><updated>2010-11-24T01:11:00.582-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>SQL Server Peer to Peer replicate</title><content type='html'>Peer-to-Peer Replication in SQL Server 2008 – Configure a two-node topology&lt;br /&gt;&lt;br /&gt;By Yan Pan&lt;br /&gt;&lt;br /&gt;International companies with offices and customers around the globe often face a problem. Data specific to a location is updated at that location, but the updated data still need to be available to other locations. &lt;br /&gt;&lt;br /&gt;Take an international sales website for example. Customers from different countries go to a landing page, select the login links written in their native languages, and are redirected to the login pages for their countries. &lt;br /&gt;&lt;br /&gt;Behind the scene, a customer is actually directed to the application server hosting the login page that he/she selects. &lt;br /&gt;In this scenario, the site traffic for the international sales company is distributed across application servers.&lt;br /&gt; &lt;br /&gt;As you know, the application servers need a database backend to store customer and order information. Therefore, the database workload also needs to be distributed among database servers. Peer-to-Peer replication provides a very suitable solution for this kind of scenario. &lt;br /&gt;&lt;br /&gt;First of all, the data is partitioned naturally by country. Therefore, data records specific to a country is only updated at the data servers residing at that country. &lt;br /&gt;&lt;br /&gt;Although conflict detection is introduced in Peer-to-Peer replication in SQL Server 2008, the conflict resolution is simply based on the peer ID. &lt;br /&gt;If a row identified by the primary key value is inserted, updated, and/or deleted at more than one node, the Distribution Agent will fail to deliver commands and remain in a stalled state until the conflict is resolved manually. &lt;br /&gt;&lt;br /&gt;You will see an example in this article series. &lt;br /&gt;Second, Peer-to-Peer replication builds on the foundation of transactional replication, and can be viewed as a multiple-node transactional replication with each node published to other nodes, and at the same time, subscribed to other nodes. &lt;br /&gt;Therefore, writes on one server are propagated to other servers in near real-time, thus making data changes available to other locations quickly. &lt;br /&gt;Peer-to-Peer replication also provides data redundancy and read scalability as each server has a copy of the replicated data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1358884355801977486?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1358884355801977486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/11/sql-server-peer-to-peer-replicate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1358884355801977486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1358884355801977486'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/11/sql-server-peer-to-peer-replicate.html' title='SQL Server Peer to Peer replicate'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2677962399685161856</id><published>2010-07-21T20:52:00.000-07:00</published><updated>2010-07-21T20:55:34.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>INSERT INTO table EXEC (stored_procedure)</title><content type='html'>Hi Buddy,&lt;br /&gt;This script is for insert value into a table.&lt;br /&gt;But the value is from an stored procedure return.&lt;br /&gt;&lt;br /&gt;use tempdb&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;select&lt;br /&gt; a.*&lt;br /&gt;into&lt;br /&gt; MyTemp&lt;br /&gt;from&lt;br /&gt; openrowset('SQLOLEDB','SERVER=(local);Trusted_Connection=yes;',&lt;br /&gt; '&lt;br /&gt; SET FMTONLY OFF;&lt;br /&gt; EXEC SP_HELPDB&lt;br /&gt; ') a&lt;br /&gt;&lt;br /&gt;select * from MyTemp&lt;br /&gt;&lt;br /&gt;drop table MyTemp&lt;br /&gt;&lt;br /&gt;Maybe you will meet problem with Ad hoc querries.&lt;br /&gt;Just use Administrator account and set using sp_configure to change the value to 1.&lt;br /&gt;All will be okey&lt;br /&gt;The script is here for reference&lt;br /&gt;&lt;br /&gt;sp_configure 'show advanced options', 1;&lt;br /&gt;RECONFIGURE;&lt;br /&gt;sp_configure 'Ad Hoc Distributed Queries', 1;&lt;br /&gt;RECONFIGURE;&lt;br /&gt;GO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2677962399685161856?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2677962399685161856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/07/insert-into-table-exec-storedprocedure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2677962399685161856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2677962399685161856'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/07/insert-into-table-exec-storedprocedure.html' title='INSERT INTO table EXEC (stored_procedure)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-4788684367322579631</id><published>2010-07-21T00:44:00.000-07:00</published><updated>2010-07-21T00:45:25.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>MySQL as a Data Warehousing Platform</title><content type='html'>In the next post, we'll start doing some hands on. But before that we need to select a Data Warehouse Platform. Don't worry, I am not going to nudge you towards some commercial "Data Warehouse Solution" here! As promised, it will be open source and free.&lt;br /&gt;&lt;br /&gt;Since a Data Warehouse is essentially a database, we could use any standard database for the purpose. But since we aren't making just a toy to impress people with, let's stop for a moment and look at what we need. So lets go over that...&lt;br /&gt;&lt;br /&gt;Unlike an OLTP system that needs to write very fast, we would be better off with a database that can read lots of data faster because that is what we would be doing most of the time. (See previous post Database vs Data Warehouse). &lt;br /&gt;&lt;br /&gt;We would also like the system to be production grade, robust, 24x7, and common enough so that finding expertise is not impossible. Do note that 24x7 availability may not be as critical for a DW as it would be for the OLTP servicing your bank's ATM or rerouting your flights.&lt;br /&gt;&lt;br /&gt;Demonstrated ability to handle huge (really HUGE) amounts of data is a must as well, and it should allow high-speed bulk loading in batch jobs. And it would be great if there was a way to split very huge tables into smaller ones (like Oracle partitioning). &lt;br /&gt;&lt;br /&gt;And then you would need transaction support. Right? Wrong.&lt;br /&gt;&lt;br /&gt;Huh? Well, look at it this way. If your OLTP system did not have transactions, we'd be dead. But a DW is not a transaction oriented system. It would be more efficient to use a non-transactional database as you do away with the overheads required for enforcing transactions. This is a debatable point, but a non-transactional database would be a lot faster than a transactional database in simple read write tasks.&lt;br /&gt;&lt;br /&gt;MySQL, configured right, makes an obvious and affordable choice for Data Warehousing. &lt;br /&gt;&lt;br /&gt;MySQL's non-transactional MyISAM db engine is one of the fastest around when it comes to querying large amounts of data. You don't get transaction support, and that's alright because you don't need transactions (and the huge overheads they bring). And its bulk insert features (LOAD DATA INFILE…) are extemely fast as well!&lt;br /&gt;&lt;br /&gt;In case you didn't know it, MyISAM tables can be merged into larger tables for querying. So if your data is split into 4 tables (say 1 for each quarter of year named SALES_2005_Q1, SALES_2005_Q2, etc.), you can define a merge table (say SALES_2005) on top of them. Then you can directly query SALES_2005 merge table using SQL if you want data for the entire year instead of running 4 queries on 4 tables. And since merge tables use indexes on the underlying tables, these queries can be very fast for well-designed indexing mechanisms. Sounds similar to Oracle's partitioning? Well, it gives you similar benefits free of cost.&lt;br /&gt;&lt;br /&gt;MySQL is simple to install and maintain, can be easily setup and optimized for reporting, and is open source licensed under GPL.&lt;br /&gt;&lt;br /&gt;The only thing you have to keep in mind is the "configuration". By default MySQL comes configured to be used as an OLTP system with InnoDB transactional engine. MyISAM engine is also there, just that it is not the default one. And since default MySQL has to run on very minimal platforms as well, it tries to take less resources than it should sometimes. So you may also need to tell it that you have installed it on a more powerful machine where it can use more RAM, etc.&lt;br /&gt;&lt;br /&gt;A good design for a reporting system based on MySQL is to keep the fact tables as MyISAM (fastest disk based tables) and keep the smaller dimension tables in memory. You'll be surprised to see how your reports fly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(From Internet)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-4788684367322579631?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/4788684367322579631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/07/mysql-as-data-warehousing-platform.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4788684367322579631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4788684367322579631'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/07/mysql-as-data-warehousing-platform.html' title='MySQL as a Data Warehousing Platform'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-7009493853918411915</id><published>2010-03-24T09:14:00.001-07:00</published><updated>2010-03-24T09:14:37.908-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>TRUNCATE SQL SERVER LOG</title><content type='html'>Problem&lt;br /&gt;We have been running SQL Server 2000 for a few years and the transaction log file has become very large for some of our databases.  In some circumstances, the transaction log is a more than 5 times larger than our database. How can I reduce the size of this file?&lt;br /&gt;&lt;br /&gt;Solution&lt;br /&gt;Most likely, the root cause for the continuous transaction log growth is related to the database recovery model being set to 'full' for your user defined databases without issuing regularly scheduled transaction log backups.  The full recovery model configuration is maintaining all of the before and after records in the transaction log until the transaction log is backed up.  Most likely, you are not backing up the transaction log on a regular basis i.e. hourly, daily, etc. to support a high availability solution such as log shipping.&lt;br /&gt;&lt;br /&gt;With these items in mind, it is time to make some changes to your SQL Server user defined databases and get your transaction logs to a manageable size.  Let's walk through each of these steps one at a time.  Keep in mind that since you are not performing transaction log backups that this process could be completed at an as needed time, but the preference would be during a maintenance window.&lt;br /&gt;&lt;br /&gt;Note - These commands can be run in SQL Server management tool of your choice and replace the '[YourDatabaseNameHere]' text with the needed user defined database name.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;First, review the transaction log size prior to the shrinking process.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    SELECT *&lt;br /&gt;    FROM sysfiles&lt;br /&gt;    WHERE name LIKE '%LOG%'&lt;br /&gt;    GO&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Second, set the database recovery model to 'simple'. &lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    ALTER DATABASE [YourDatabaseNameHere] SET RECOVERY SIMPLE&lt;br /&gt;    GO&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Third, issue a checkpoint against the database to write the records from the transaction log to the database.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    CHECKPOINT&lt;br /&gt;    GO&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Fourth, truncate the transaction log.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    BACKUP LOG [YourDatabaseNameHere] WITH NO_LOG&lt;br /&gt;    GO&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Fifth, record the logical file name for the transaction log to use in the next step.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    SELECT Name&lt;br /&gt;    FROM sysfiles&lt;br /&gt;    WHERE name LIKE '%LOG%'&lt;br /&gt;    GO &lt;br /&gt;&lt;br /&gt;Sixth, to free the unused space in your transaction log and return the space back to the operating system, shrink the transaction log file.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    DBCC SHRINKFILE ([FileNameFromPreviousStep], [NeededFileSize])&lt;br /&gt;    GO&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;Seven, review the database transaction log size to verify it has been reduced.&lt;br /&gt;&lt;br /&gt;    USE [YourDatabaseNameHere]&lt;br /&gt;    GO&lt;br /&gt;    SELECT *&lt;br /&gt;    FROM sysfiles&lt;br /&gt;    WHERE name LIKE '%LOG%'&lt;br /&gt;    GO&lt;br /&gt;&lt;br /&gt;Next Steps&lt;br /&gt;&lt;br /&gt;    * Review your key SQL Server databases to determine if the transaction log growth is out of control.&lt;br /&gt;    * Review this code and modify it for one of your databases.&lt;br /&gt;    * Once the scripts are modified, test the scripts in a test environment to ensure they meet your needs.&lt;br /&gt;    * Schedule time to shrink your databases and communicate the configuration changes.&lt;br /&gt;    * Continue to monitor the database sizes and the available disk space on your servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-7009493853918411915?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/7009493853918411915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/03/truncate-sql-server-log.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7009493853918411915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7009493853918411915'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/03/truncate-sql-server-log.html' title='TRUNCATE SQL SERVER LOG'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1667634432510327014</id><published>2010-01-27T06:05:00.001-08:00</published><updated>2010-01-27T06:05:38.536-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>TutorialCachingStory</title><content type='html'>This is a story of Caching&lt;br /&gt;&lt;br /&gt;ed note: this is an overview of basic memcached use case, and how memcached clients work&lt;br /&gt;&lt;br /&gt;Two plucky adventurers, Programmer and Sysadmin, set out on a journey. Together they make websites. Websites with webservers and databases. Users from all over the Internet talk to the webservers and ask them to make pages for them. The webservers ask the databases for junk they need to make the pages. Programmer codes, Sysadmin adds webservers and database servers.&lt;br /&gt;&lt;br /&gt;One day the Sysadmin realizes that their database is sick! It's spewing bile and red stuff all over! Sysadmin declares it has a fever, a load average of 20! Programmer asks Sysadmin, "well, what can we do?" Sysadmin says, "I heard about this great thing called memcached. It really helped livejournal!" "Okay, let's try it!" says the Programmer.&lt;br /&gt;&lt;br /&gt;Our plucky Sysadmin eyes his webservers, of which he has six. He decides to use three of them to run the 'memcached' server. Sysadmin adds a gigabyte of ram to each webserver, and starts up memcached with a limit of 1 gigabyte each. So he has three memcached instances, each can hold up to 1 gigabyte of data. So the Programmer and the Sysadmin step back and behold their glorious memcached!&lt;br /&gt;&lt;br /&gt;"So now what?" they say, "it's not DOING anything!" The memcacheds aren't talking to anything and they certainly don't have any data. And NOW their database has a load of 25!&lt;br /&gt;&lt;br /&gt;Our adventurous Programmer grabs the pecl/memcache client library manual, which the plucky Sysadmin has helpfully installed on all SIX webservers. "Never fear!" he says. "I've got an idea!" He takes the IP addresses and port numbers of the THREE memcacheds and adds them to an array in php.&lt;br /&gt;&lt;br /&gt;$MEMCACHE_SERVERS = array(&lt;br /&gt;    "10.1.1.1", //web1&lt;br /&gt;    "10.1.1.2", //web2&lt;br /&gt;    "10.1.1.3", //web3&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;Then he makes an object, which he cleverly calls '$memcache'.&lt;br /&gt;&lt;br /&gt;$memcache = new Memcache();&lt;br /&gt;foreach($MEMCACHE_SERVERS as $server){&lt;br /&gt;    $memcache-&gt;addServer ( $server );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now Programmer thinks. He thinks and thinks and thinks. "I know!" he says. "There's this thing on the front page that runs SELECT * FROM hugetable WHERE timestamp &gt; lastweek ORDER BY timestamp ASC LIMIT 50000; and it takes five seconds!" "Let's put it in memcached," he says. So he wraps his code for the SELECT and uses his $memcache object. His code asks:&lt;br /&gt;&lt;br /&gt;Are the results of this select in memcache? If not, run the query, take the results, and PUT it in memcache! Like so:&lt;br /&gt;&lt;br /&gt;$huge_data_for_frong_page = $memcache-&gt;get("huge_data_for_frong_page");&lt;br /&gt;if($huge_data_for_frong_page === false){&lt;br /&gt;    $huge_data_for_frong_page = array();&lt;br /&gt;    $sql = "SELECT * FROM hugetable WHERE timestamp &gt; lastweek ORDER BY timestamp ASC LIMIT 50000";&lt;br /&gt;    $res = mysql_query($sql, $mysql_connection);&lt;br /&gt;    while($rec = mysql_fetch_assoc($res)){&lt;br /&gt;        $huge_data_for_frong_page[] = $rec;&lt;br /&gt;    }&lt;br /&gt;    // cache for 5 minutes&lt;br /&gt;    $memcache-&gt;set("huge_data_for_frong_page", $huge_data_for_frong_page, 600);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// use $huge_data_for_frong_page how you please&lt;br /&gt;&lt;br /&gt;Programmer pushes code. Sysadmin sweats. BAM! DB load is down to 10! The website is pretty fast now. So now, the Sysadmin puzzles, "What the HELL just happened!?" "I put graphs on my memcacheds! I used cacti, and this is what I see! I see traffic to one memcached, but I made three :(." So, the Sysadmin quickly learns the ascii protocol and telnets to port 11211 on each memcached and asks it:&lt;br /&gt;&lt;br /&gt;Hey, 'get huge_data_for_front_page' are you there?&lt;br /&gt;&lt;br /&gt;The first memcached does not answer...&lt;br /&gt;&lt;br /&gt;The second memcached does not answer...&lt;br /&gt;&lt;br /&gt;The third memcached, however, spits back a huge glob of crap into his telnet session! There's the data! Only once memcached has the key that the Programmer cached!&lt;br /&gt;&lt;br /&gt;Puzzled, he asks on the mailing list. They all respond in unison, "It's a distributed cache! That's what it does!" But what does that mean? Still confused, and a little scared for his life, the Sysadmin asks the Programmer to cache a few more things. "Let's see what happens. We're curious folk. We can figure this one out," says the Sysadmin.&lt;br /&gt;&lt;br /&gt;"Well, there is another query that is not slow, but is run 100 times per second. Maybe that would help," says the Programmer. So he wraps that up like he did before. Sure enough, the server loads drops to 8!&lt;br /&gt;&lt;br /&gt;So the Programmer codes more and more things get cached. He uses new techniques. "I found them on the list and the faq! What nice blokes," he says. The DB load drops; 7, 5, 3, 2, 1!&lt;br /&gt;&lt;br /&gt;"Okay," says the Sysadmin, "let's try again." Now he looks at the graphs. ALL of the memcacheds are running! All of them are getting requests! This is great! They're all used!&lt;br /&gt;&lt;br /&gt;So again, he takes keys that the Programmer uses and looks for them on his memcached servers. 'get this_key' 'get that_key' But each time he does this, he only finds each key on one memcached! Now WHY would you do this, he thinks? And he puzzles all night. That's silly! Don't you want the keys to be on all memcacheds?&lt;br /&gt;&lt;br /&gt;"But wait", he thinks "I gave each memcached 1 gigabyte of memory, and that means, in total, I can cache three gigabytes of my database, instead of just ONE! Oh man, this is great," he thinks. "This'll save me a ton of cash. Brad Fitzpatrick, I love your ass!"&lt;br /&gt;&lt;br /&gt;"But hmm, the next problem, and this one's a puzzler, this webserver right here, this one runing memcached it's old, it's sick and needs to be upgraded. But in order to do that I have to take it offline! What will happen to my poor memcache cluster? Eh, let's find out," he says, and he shuts down the box. Now he looks at his graphs. "Oh noes, the DB load, it's gone up in stride! The load isn't one, it's now two. Hmm, but still tolerable. All of the other memcacheds are still getting traffic. This ain't so bad. Just a few cache misses, and I'm almost done with my work. So he turns the machine back on, and puts memcached back to work. After a few minutes, the DB load drops again back down to 1, where it should always be.&lt;br /&gt;&lt;br /&gt;"The cache restored itself! I get it now. If it's not available it just means a few of my requests get missed. But it's not enough to kill me. That's pretty sweet."&lt;br /&gt;&lt;br /&gt;So, the Programmer and Sysadmin continue to build websites. They continue to cache. When they have questions, they ask the mailing list or read the faq again. They watch their graphs. And all live happily ever after.&lt;br /&gt;&lt;br /&gt;Author: Dormando via IRC. Edited by Brian Moon for fun. Further fun editing by Emufarmers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1667634432510327014?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1667634432510327014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/01/tutorialcachingstory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1667634432510327014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1667634432510327014'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/01/tutorialcachingstory.html' title='TutorialCachingStory'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5493138918999762987</id><published>2010-01-24T22:17:00.001-08:00</published><updated>2010-01-24T22:17:58.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>Reset Identity Column Value in SQL Server</title><content type='html'>If you are using an identity column on your SQL Server tables, you can set the next insert value to whatever value you want. An example is if you wanted to start numbering your ID column at 1000 instead of 1.&lt;br /&gt;&lt;br /&gt;It would be wise to first check what the current identify value is. We can use this command to do so:&lt;br /&gt;&lt;br /&gt;    DBCC CHECKIDENT (’tablename’, NORESEED)&lt;br /&gt;&lt;br /&gt;For instance, if I wanted to check the next ID value of my orders table, I could use this command:&lt;br /&gt;&lt;br /&gt;    DBCC CHECKIDENT (orders, NORESEED)&lt;br /&gt;&lt;br /&gt;To set the value of the next ID to be 1000, I can use this command:&lt;br /&gt;&lt;br /&gt;    DBCC CHECKIDENT (orders, RESEED, 999)&lt;br /&gt;&lt;br /&gt;Note that the next value will be whatever you reseed with + 1, so in this case I set it to 999 so that the next value will be 1000.&lt;br /&gt;&lt;br /&gt;Another thing to note is that you may need to enclose the table name in single quotes or square brackets if you are referencing by a full path, or if your table name has spaces in it. (which it really shouldn’t)&lt;br /&gt;&lt;br /&gt;    DBCC CHECKIDENT ( ‘databasename.dbo.orders’,RESEED, 999)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5493138918999762987?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5493138918999762987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2010/01/reset-identity-column-value-in-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5493138918999762987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5493138918999762987'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2010/01/reset-identity-column-value-in-sql.html' title='Reset Identity Column Value in SQL Server'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5226249403125811159</id><published>2009-12-09T01:05:00.000-08:00</published><updated>2009-12-09T01:58:22.240-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Red Hat AS 5  Howto: Gyachi - Yahoo! messenger, Webcam, room voice chat, photo sharing</title><content type='html'>One day, I find it so bored with Pdigin , so try another chat program on Linux ,&lt;br /&gt;Red Hat Linux AS 5.4&lt;br /&gt;I use Gyache.&lt;br /&gt;&lt;br /&gt;Source is downloaded &lt;a href="http://sourceforge.net/projects/gyachi/files/"&gt;here &lt;/a&gt;&lt;br /&gt;But when you complie with this.&lt;br /&gt;I'm sure you will meet many and many error.&lt;br /&gt;So in that case&lt;br /&gt;Try to install these packages first. that will be more easier later.&lt;br /&gt;libtool / gettext-tools / gtk-devel / libgtkhtml / alsa / alsa-devel / alsa-tools / alsa-utils / gpgme-devel / mcrypt (or libmcrypt) / mcrypt-devel or (libmcrypt-devel) / xmms / xmms-devel / lib-devel / openssl / openssl-devel / jasper / jasper-devel / libjpg-devel / v4l-conf / v4l-tools/libnotify-devel/libnotify&lt;br /&gt;&lt;br /&gt;How to install and configure are very easy, just open INSTALL.txt file and step by step.&lt;br /&gt;Trick to get it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5226249403125811159?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5226249403125811159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/12/howto-install-gyachigyache-chat-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5226249403125811159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5226249403125811159'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/12/howto-install-gyachigyache-chat-on.html' title='Red Hat AS 5  Howto: Gyachi - Yahoo! messenger, Webcam, room voice chat, photo sharing'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1645938659413181822</id><published>2009-11-29T23:45:00.001-08:00</published><updated>2009-11-29T23:45:48.747-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>How to create a partition for an existing table and index?</title><content type='html'>ake the following steps to create a partition for an existing table and index:&lt;br /&gt;&lt;br /&gt;   1. Create a partition function: A partition function can be created by using the CREATE PARTITION FUNCTION STATEMENT. An example is given below:&lt;br /&gt;&lt;br /&gt;      CREATE PARTITION FUNCTION myfunc&lt;br /&gt;      RANGE LEFT FOR VALUES(100, 200, 300)&lt;br /&gt;   2. Create a partition scheme: A partition scheme can be created by using the CREATE PARTITION SCHEME statement. An example is given below:&lt;br /&gt;&lt;br /&gt;      CREATE PARTITION SCHEME myps AS myfunc TO (mv1), (mv2), (mv3)&lt;br /&gt;   3. Drop the clustered index: The clustered index can be dropped by using the DROP INDEX statement. The statement is as follows:&lt;br /&gt;&lt;br /&gt;      DROP INDEX index_name ON table_name.column_name&lt;br /&gt;   4. Recreate the clustered index on the partition scheme: The index can be created on a partitioned scheme as follows:&lt;br /&gt;&lt;br /&gt;      CREATE CLUSTERED INDEX ON employee.empid ON myps(empid) &lt;br /&gt;&lt;br /&gt;The table is automatically partitioned according to the partition scheme of the clustered index.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1645938659413181822?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1645938659413181822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/how-to-create-partition-for-existing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1645938659413181822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1645938659413181822'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/how-to-create-partition-for-existing.html' title='How to create a partition for an existing table and index?'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2488964334373641825</id><published>2009-11-26T01:13:00.001-08:00</published><updated>2009-11-26T01:13:38.142-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>On ROWNUM and Limiting Results</title><content type='html'>On ROWNUM and Limiting Results&lt;br /&gt;By Tom Kyte&lt;br /&gt;&lt;br /&gt;Our technologist explains how ROWNUM works and how to make it work for you.&lt;br /&gt;&lt;br /&gt;This issue's Ask Tom column is a little different from the typical column. I receive many questions about how to perform top-N and pagination queries in Oracle Database, so I decided to provide an excerpt from the book Effective Oracle by Design (Oracle Press, 2003) in hopes of answering a lot of these questions with this one column. Note that the content here has been modified from the original to fit the space and format.&lt;br /&gt;&lt;br /&gt;Limiting Result Sets&lt;br /&gt;&lt;br /&gt;ROWNUM is a magic column in Oracle Database that gets many people into trouble. When you learn what it is and how it works, however, it can be very useful. I use it for two main things:&lt;br /&gt;&lt;br /&gt;    * To perform top-N processing. This is similar to using the LIMIT clause, available in some other databases.&lt;br /&gt;    * To paginate through a query, typically in a stateless environment such as the Web. I use this technique on the asktom.oracle.com Web site.&lt;br /&gt;&lt;br /&gt;I'll take a look at each of these uses after I review how ROWNUM works.&lt;br /&gt;&lt;br /&gt;How ROWNUM Works&lt;br /&gt;&lt;br /&gt;ROWNUM is a pseudocolumn (not a real column) that is available in a query. ROWNUM will be assigned the numbers 1, 2, 3, 4, ... N, where N is the number of rows in the set ROWNUM is used with. A ROWNUM value is not assigned permanently to a row (this is a common misconception). A row in a table does not have a number; you cannot ask for row 5 from a table—there is no such thing.&lt;br /&gt;&lt;br /&gt;Also confusing to many people is when a ROWNUM value is actually assigned. A ROWNUM value is assigned to a row after it passes the predicate phase of the query but before the query does any sorting or aggregation. Also, a ROWNUM value is incremented only after it is assigned, which is why the following query will never return a row:&lt;br /&gt;&lt;br /&gt;select * &lt;br /&gt;  from t &lt;br /&gt; where ROWNUM &gt; 1;&lt;br /&gt;&lt;br /&gt;Because ROWNUM &gt; 1 is not true for the first row, ROWNUM does not advance to 2. Hence, no ROWNUM value ever gets to be greater than 1. Consider a query with this structure:&lt;br /&gt;&lt;br /&gt;select ..., ROWNUM&lt;br /&gt;  from t&lt;br /&gt; where &lt;where clause&gt;&lt;br /&gt; group by &lt;columns&gt;&lt;br /&gt;having &lt;having clause&gt;&lt;br /&gt; order by &lt;columns&gt;;&lt;br /&gt;&lt;br /&gt;Think of it as being processed in this order:&lt;br /&gt;&lt;br /&gt;1. The FROM/WHERE clause goes first.&lt;br /&gt;2. ROWNUM is assigned and incremented to each output row from the FROM/WHERE clause.&lt;br /&gt;3. SELECT is applied.&lt;br /&gt;4. GROUP BY is applied.&lt;br /&gt;5. HAVING is applied.&lt;br /&gt;6. ORDER BY is applied.&lt;br /&gt;&lt;br /&gt;That is why a query in the following form is almost certainly an error:&lt;br /&gt;&lt;br /&gt;select * &lt;br /&gt;  from emp &lt;br /&gt; where ROWNUM &lt;= 5 &lt;br /&gt; order by sal desc;&lt;br /&gt;&lt;br /&gt;The intention was most likely to get the five highest-paid people—a top-N query. What the query will return is five random records (the first five the query happens to hit), sorted by salary. The procedural pseudocode for this query is as follows:&lt;br /&gt;&lt;br /&gt;ROWNUM = 1&lt;br /&gt;for x in &lt;br /&gt;( select * from emp )&lt;br /&gt;loop&lt;br /&gt;    exit when NOT(ROWNUM &lt;= 5)&lt;br /&gt;    OUTPUT record to temp&lt;br /&gt;    ROWNUM = ROWNUM+1&lt;br /&gt;end loop&lt;br /&gt;SORT TEMP&lt;br /&gt;&lt;br /&gt;It gets the first five records and then sorts them. A query with WHERE ROWNUM = 5 or WHERE ROWNUM &gt; 5 doesn't make sense. This is because a ROWNUM value is assigned to a row during the predicate evaluation and gets incremented only after a row passes the WHERE clause.&lt;br /&gt;&lt;br /&gt;Here is the correct version of this query:&lt;br /&gt;&lt;br /&gt;select *&lt;br /&gt;  from  &lt;br /&gt;( select * &lt;br /&gt;    from emp &lt;br /&gt;   order by sal desc ) &lt;br /&gt; where ROWNUM &lt;= 5;&lt;br /&gt;&lt;br /&gt;This version will sort EMP by salary descending and then return the first five records it encounters (the top-five records). As you'll see in the top-N discussion coming up shortly, Oracle Database doesn't really sort the entire result set—it is smarter than that—but conceptually that is what takes place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2488964334373641825?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2488964334373641825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/on-rownum-and-limiting-results.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2488964334373641825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2488964334373641825'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/on-rownum-and-limiting-results.html' title='On ROWNUM and Limiting Results'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-8592184934496852921</id><published>2009-11-26T01:11:00.000-08:00</published><updated>2009-11-26T01:12:44.251-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>SQL SELECT TOP N equivalent in ORACLE and MySQL</title><content type='html'>Very easy select from get top &lt;br /&gt;&lt;br /&gt;SQL Server:&lt;br /&gt;SELECT TOP 10 product, descr, email &lt;br /&gt;FROM products &lt;br /&gt;&lt;br /&gt;ORACLE:&lt;br /&gt;SELECT product, descr, email&lt;br /&gt;FROM products &lt;br /&gt;WHERE ROWNUM &lt;= 10&lt;br /&gt;&lt;br /&gt;MySQL:&lt;br /&gt;SELECT product, descr, email&lt;br /&gt;FROM products&lt;br /&gt;LIMIT 10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-8592184934496852921?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/8592184934496852921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/sql-select-top-n-equivalent-in-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8592184934496852921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8592184934496852921'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/sql-select-top-n-equivalent-in-oracle.html' title='SQL SELECT TOP N equivalent in ORACLE and MySQL'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-7843595707003131922</id><published>2009-11-05T00:39:00.000-08:00</published><updated>2009-11-05T00:46:32.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>SQL Server .Script for Monitor Replication Status .</title><content type='html'>After make Repliacte on SQL Server, You can monitor it using Replication Monitor.&lt;br /&gt;For security problem, thats not a good issue to work with.&lt;br /&gt;Here are the scritps from google (^^) for monitor the error and latecy of Replicate.&lt;br /&gt;&lt;br /&gt;1. Script for monitor error &lt;br /&gt; use distribution;&lt;br /&gt; go&lt;br /&gt; select top 100 * from msrepl_errors order by [time] desc;&lt;br /&gt;&lt;br /&gt;2.Script for monitor latency&lt;br /&gt;&lt;br /&gt;F OBJECT_ID('dbo.dba_replicationMonitor') IS Null&lt;br /&gt;BEGIN&lt;br /&gt;    CREATE TABLE dbo.dba_replicationMonitor&lt;br /&gt;    ( &lt;br /&gt;          monitor_id            INT IDENTITY(1,1)   Not Null&lt;br /&gt;        , monitorDate           SMALLDATETIME       Not Null &lt;br /&gt;        , publicationName       sysname             Not Null&lt;br /&gt;        , publicationDB         sysname             Not Null&lt;br /&gt;        , iteration             INT                 Null&lt;br /&gt;        , tracer_id             INT                 Null&lt;br /&gt;        , distributor_latency   INT                 Null&lt;br /&gt;        , subscriber            VARCHAR(1000)       Null&lt;br /&gt;        , subscriber_db         VARCHAR(1000)       Null&lt;br /&gt;        , subscriber_latency    INT                 Null&lt;br /&gt;        , overall_latency       INT                 Null &lt;br /&gt;    );&lt;br /&gt;END;&lt;br /&gt; &lt;br /&gt;IF OBJECTPROPERTY(OBJECT_ID('dbo.dba_replicationLatencyMonitor_sp'), N'IsProcedure') = 1&lt;br /&gt;BEGIN&lt;br /&gt;    DROP PROCEDURE dbo.dba_replicationLatencyMonitor_sp;&lt;br /&gt;    PRINT 'Procedure dba_replicationLatencyMonitor_sp dropped';&lt;br /&gt;END;&lt;br /&gt;Go&lt;br /&gt; &lt;br /&gt;SET Quoted_Identifier ON&lt;br /&gt;Go&lt;br /&gt;SET ANSI_Nulls ON&lt;br /&gt;Go&lt;br /&gt; &lt;br /&gt;CREATE PROCEDURE dbo.dba_replicationLatencyMonitor_sp&lt;br /&gt; &lt;br /&gt;        /* Declare Parameters */&lt;br /&gt;          @publicationToTest    sysname        = N'yourPublicationName'&lt;br /&gt;        , @publicationDB        sysname        = N'yourPublicationDB'&lt;br /&gt;        , @replicationDelay     VARCHAR(10)    = N'00:00:30'&lt;br /&gt;        , @iterations           INT            = 5&lt;br /&gt;        , @iterationDelay       VARCHAR(10)    = N'00:00:30'&lt;br /&gt;        , @displayResults       BIT            = 0&lt;br /&gt;        , @deleteTokens         BIT            = 1&lt;br /&gt;AS&lt;br /&gt;/*********************************************************************************&lt;br /&gt;    Name:       dba_replicationLatencyMonitor_sp&lt;br /&gt; &lt;br /&gt;    Author:     Michelle F. Ufford&lt;br /&gt; &lt;br /&gt;    Purpose:    Retrieves the amount of replication latency in seconds&lt;br /&gt; &lt;br /&gt;    Notes:      Default settings will run 1 test every minute for 5 minutes.&lt;br /&gt; &lt;br /&gt;                @publicationToTest = defaults to yourPublicationName publication&lt;br /&gt; &lt;br /&gt;                @publicationDB = the database that is the source for the publication.&lt;br /&gt;                                    The tracer procs are found in the publishing DB.&lt;br /&gt; &lt;br /&gt;                @replicationDelay = how long to wait for the token to replicate;&lt;br /&gt;                    probably should not set to anything less than 10 (in seconds)&lt;br /&gt; &lt;br /&gt;                @iterations = how many tokens you want to test&lt;br /&gt; &lt;br /&gt;                @iterationDelay = how long to wait between sending test tokens&lt;br /&gt;                    (in seconds)&lt;br /&gt; &lt;br /&gt;                @displayResults = print results to screen when complete&lt;br /&gt; &lt;br /&gt;                @deleteTokens = whether you want to retain tokens when done&lt;br /&gt; &lt;br /&gt;    Called by:  DBA&lt;br /&gt; &lt;br /&gt;    Date        Initials    Description&lt;br /&gt;    ----------------------------------------------------------------------------&lt;br /&gt;    2008-11-20   MFU        Initial Release&lt;br /&gt;    2008-11-24   ILK        Tweaked to allow for centralized execution &lt;br /&gt;                            Replaced temp table with permanent table.&lt;br /&gt;    2008-11-25   MFU        More tweaking, added publication data to &lt;br /&gt;                            dba_replicationMonitor, fixed NULL latency data,&lt;br /&gt;                            moved dba_replicationMonitor creation out of proc&lt;br /&gt;*********************************************************************************&lt;br /&gt;    Exec dbo.dba_replicationLatencyMonitor_sp&lt;br /&gt;          @publicationToTest    = N'myTestPublication'&lt;br /&gt;        , @publicationDB        = N'sandbox_publisher'&lt;br /&gt;        , @replicationDelay     = N'00:00:05'&lt;br /&gt;        , @iterations           = 1&lt;br /&gt;        , @iterationDelay       = N'00:00:05'&lt;br /&gt;        , @displayResults       = 1&lt;br /&gt;        , @deleteTokens         = 1;&lt;br /&gt;*********************************************************************************/&lt;br /&gt; &lt;br /&gt;SET NOCOUNT ON;&lt;br /&gt;SET XACT_Abort ON;&lt;br /&gt; &lt;br /&gt;BEGIN&lt;br /&gt; &lt;br /&gt;    /* Declare Variables */&lt;br /&gt;    DECLARE @currentIteration   INT&lt;br /&gt;          , @tokenID            BIGINT&lt;br /&gt;          , @currentDateTime    SMALLDATETIME&lt;br /&gt;          , @sqlStatement       NVARCHAR(200)&lt;br /&gt;          , @parmDefinition             NVARCHAR(500);&lt;br /&gt; &lt;br /&gt;    DECLARE @tokenResults TABLE&lt;br /&gt;    ( &lt;br /&gt;          iteration             INT             Null&lt;br /&gt;        , tracer_id             INT             Null&lt;br /&gt;        , distributor_latency   INT             Null&lt;br /&gt;        , subscriber            VARCHAR(1000)   Null&lt;br /&gt;        , subscriber_db         VARCHAR(1000)   Null&lt;br /&gt;        , subscriber_latency    INT             Null&lt;br /&gt;        , overall_latency       INT             Null &lt;br /&gt;    );&lt;br /&gt; &lt;br /&gt;    /* Initialize our variables */&lt;br /&gt;    SELECT @currentIteration = 0&lt;br /&gt;         , @currentDateTime  = GETDATE();&lt;br /&gt; &lt;br /&gt;    WHILE @currentIteration &lt; @iterations&lt;br /&gt;    BEGIN&lt;br /&gt; &lt;br /&gt;                /* Prepare the stored procedure execution string */&lt;br /&gt;                SET @sqlStatement = N'Execute ' + @publicationDB + N'.sys.sp_postTracerToken ' + &lt;br /&gt;                                                        N'@publication = @VARpublicationToTest , ' +&lt;br /&gt;                                                        N'@tracer_token_id = @VARtokenID OutPut;'&lt;br /&gt; &lt;br /&gt;                /* Define the parameters used by the sp_ExecuteSQL later */&lt;br /&gt;                SET @parmDefinition = N'@VARpublicationToTest sysname, ' +&lt;br /&gt;                        N'@VARtokenID bigint OutPut';&lt;br /&gt; &lt;br /&gt;        /* Insert a new tracer token in the publication database */&lt;br /&gt;        EXECUTE SP_EXECUTESQL &lt;br /&gt;              @sqlStatement&lt;br /&gt;            , @parmDefinition&lt;br /&gt;            , @VARpublicationToTest = @publicationToTest&lt;br /&gt;            , @VARtokenID = @TokenID OUTPUT;&lt;br /&gt; &lt;br /&gt;        /* Give a few seconds to allow the record to reach the subscriber */&lt;br /&gt;        WAITFOR Delay @replicationDelay;&lt;br /&gt; &lt;br /&gt;        /* Prepare our statement to retrieve tracer token data */&lt;br /&gt;        SELECT @sqlStatement = 'Execute ' + @publicationDB + '.sys.sp_helpTracerTokenHistory ' +&lt;br /&gt;                    N'@publication = @VARpublicationToTest , ' +&lt;br /&gt;                    N'@tracer_id = @VARtokenID'&lt;br /&gt;            , @parmDefinition = N'@VARpublicationToTest sysname, ' +&lt;br /&gt;                    N'@VARtokenID bigint';&lt;br /&gt; &lt;br /&gt;        /* Store our results for retrieval later */&lt;br /&gt;        INSERT INTO @tokenResults&lt;br /&gt;        (&lt;br /&gt;            distributor_latency&lt;br /&gt;          , subscriber&lt;br /&gt;          , subscriber_db&lt;br /&gt;          , subscriber_latency&lt;br /&gt;          , overall_latency&lt;br /&gt;        )&lt;br /&gt;        EXECUTE SP_EXECUTESQL &lt;br /&gt;              @sqlStatement&lt;br /&gt;            , @parmDefinition&lt;br /&gt;            , @VARpublicationToTest = @publicationToTest&lt;br /&gt;            , @VARtokenID = @TokenID;&lt;br /&gt; &lt;br /&gt;        /* Assign the iteration and token id to the results for easier investigation */&lt;br /&gt;        UPDATE @tokenResults&lt;br /&gt;        SET iteration = @currentIteration + 1&lt;br /&gt;          , tracer_id = @tokenID&lt;br /&gt;        WHERE iteration IS Null;&lt;br /&gt; &lt;br /&gt;        /* Wait for the specified time period before creating another token */&lt;br /&gt;        WAITFOR Delay @iterationDelay;&lt;br /&gt; &lt;br /&gt;        /* Avoid endless looping... :) */&lt;br /&gt;        SET @currentIteration = @currentIteration + 1;&lt;br /&gt; &lt;br /&gt;    END;&lt;br /&gt; &lt;br /&gt;    /* Display our results */&lt;br /&gt;    IF @displayResults = 1&lt;br /&gt;    BEGIN&lt;br /&gt;        SELECT &lt;br /&gt;              iteration&lt;br /&gt;            , tracer_id&lt;br /&gt;            , IsNull(distributor_latency, 0) AS 'distributor_latency'&lt;br /&gt;            , subscriber&lt;br /&gt;            , subscriber_db&lt;br /&gt;            , IsNull(subscriber_latency, 0) AS 'subscriber_latency'&lt;br /&gt;            , IsNull(overall_latency, &lt;br /&gt;                IsNull(distributor_latency, 0) + IsNull(subscriber_latency, 0))&lt;br /&gt;                AS 'overall_latency'&lt;br /&gt;        FROM @tokenResults;&lt;br /&gt;    END;&lt;br /&gt; &lt;br /&gt;    /* Store our results */&lt;br /&gt;    INSERT INTO dbo.dba_replicationMonitor&lt;br /&gt;    (&lt;br /&gt;          monitorDate&lt;br /&gt;        , publicationName&lt;br /&gt;        , publicationDB&lt;br /&gt;        , iteration&lt;br /&gt;        , tracer_id&lt;br /&gt;        , distributor_latency&lt;br /&gt;        , subscriber&lt;br /&gt;        , subscriber_db&lt;br /&gt;        , subscriber_latency&lt;br /&gt;        , overall_latency&lt;br /&gt;    )&lt;br /&gt;    SELECT &lt;br /&gt;          @currentDateTime&lt;br /&gt;        , @publicationToTest&lt;br /&gt;        , @publicationDB&lt;br /&gt;        , iteration&lt;br /&gt;        , tracer_id&lt;br /&gt;        , IsNull(distributor_latency, 0)&lt;br /&gt;        , subscriber&lt;br /&gt;        , subscriber_db&lt;br /&gt;        , IsNull(subscriber_latency, 0)&lt;br /&gt;        , IsNull(overall_latency, &lt;br /&gt;            IsNull(distributor_latency, 0) + IsNull(subscriber_latency, 0))&lt;br /&gt;    FROM @tokenResults;&lt;br /&gt; &lt;br /&gt;    /* Delete the tracer tokens if requested */&lt;br /&gt;    IF @deleteTokens = 1&lt;br /&gt;    BEGIN&lt;br /&gt; &lt;br /&gt;        SELECT @sqlStatement = 'Execute ' + @publicationDB + '.sys.sp_deleteTracerTokenHistory ' +&lt;br /&gt;                    N'@publication = @VARpublicationToTest , ' +&lt;br /&gt;                    N'@cutoff_date = @VARcurrentDateTime'&lt;br /&gt;            , @parmDefinition = N'@VARpublicationToTest sysname, ' +&lt;br /&gt;                    N'@VARcurrentDateTime datetime';&lt;br /&gt; &lt;br /&gt;        EXECUTE SP_EXECUTESQL &lt;br /&gt;              @sqlStatement&lt;br /&gt;            , @parmDefinition&lt;br /&gt;            , @VARpublicationToTest = @publicationToTest&lt;br /&gt;            , @VARcurrentDateTime = @currentDateTime;&lt;br /&gt; &lt;br /&gt;    END;&lt;br /&gt; &lt;br /&gt;    SET NOCOUNT OFF;&lt;br /&gt;    RETURN 0;&lt;br /&gt;END&lt;br /&gt;Go&lt;br /&gt; &lt;br /&gt;SET Quoted_Identifier OFF;&lt;br /&gt;Go&lt;br /&gt;SET ANSI_Nulls ON;&lt;br /&gt;Go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-7843595707003131922?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/7843595707003131922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/sql-server-script-for-monitor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7843595707003131922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7843595707003131922'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/sql-server-script-for-monitor.html' title='SQL Server .Script for Monitor Replication Status .'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-7118885813569782608</id><published>2009-11-03T00:24:00.000-08:00</published><updated>2009-11-03T00:52:00.191-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>MySQL Storage Engine MYISAM , INNODB</title><content type='html'>When you create a table, you can choose what strorage engine to use.&lt;br /&gt;The most popular usage in MySQL is MYISAM and INNODB.Base on the purpose and &lt;br /&gt;the feature of each storage engine ,you can get a right decision.&lt;br /&gt;&lt;br /&gt;I will make here a comparision about two kind.&lt;br /&gt;1. On disk &lt;br /&gt;   * MYISAM table using three files &lt;br /&gt;      + a format file that stores the definition of the table structure ( mytable.frm)&lt;br /&gt;      + a data file that stores the contents of table rows (mytable.MYD)&lt;br /&gt;      + an index file that stores any indexes on the table (mytable.MYI)&lt;br /&gt;   * Each INNODB table is represented on disk by an .frm format file (like MYISAM).&lt;br /&gt;     As well as data and index storage in the INNODB tablespace.(the default name is ibdata1 in &lt;br /&gt;    data directory ).&lt;br /&gt;2. Lock mechanism &lt;br /&gt;   * MyISAM : Mysql manages contention between queries for MYISAM table access using table-level&lt;br /&gt;      lock . Query performance is very fast for retrievals.Multiple tables can read the table &lt;br /&gt;      simultaneously.For a write query , an exlusie lock is used to prevent use of the table by &lt;br /&gt;      other read or write queries.So very clearly that will lead to reduce performance in   &lt;br /&gt;      environments with a mix of read and write queries.&lt;br /&gt;      Deadlock canot occur with table-level lock .&lt;br /&gt;  * INNODB :  Mysql manages query contention for INNODB using multi versioning and row-level  &lt;br /&gt;     locking.Multi-versioning give each transaction it own view of the databases.This, combined&lt;br /&gt;     with row-level locking keep contention to a minumun.The result is good query concurrency &lt;br /&gt;     even if clients are performing a mix of reads and writes.&lt;br /&gt;     Deadlock can occur &lt;br /&gt;3. Data file .&lt;br /&gt;   Both MYISAM and INNODBA file on disk are portable, so can be copied directy to another host &lt;br /&gt;   and used by server here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion : &lt;br /&gt;If your table are updated rarely and for purpose to read, try MYISAM .Other way, INNODB is the &lt;br /&gt;best solution storage engine for an enviroment mix of reads and writes.INNODB support transactions with commit and rollback(with rollback, they get an rollback segment on Tablespace ).It provides full ACID(atomicity,consistency,isolation,durability).INNODB storage engine have all the features like on Oracle database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-7118885813569782608?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/7118885813569782608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/mysql-storage-engine-myisam-innodb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7118885813569782608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/7118885813569782608'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/11/mysql-storage-engine-myisam-innodb.html' title='MySQL Storage Engine MYISAM , INNODB'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-8762950039403251160</id><published>2009-10-30T02:14:00.000-07:00</published><updated>2009-10-30T20:18:29.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Vmware On Linux</title><content type='html'>On Linux, xend is the best solution for virtualization with para and full supported.&lt;br /&gt;I'm using Centos 5.2 with Kernel get Xend support.&lt;br /&gt;But unfortunately, I cannot manage using Xen to install windown.&lt;br /&gt;Seem so dummy for install windown on linux, but I think that there are many people have same need like me.&lt;br /&gt;Try another way, I use VMWare Server2.0 for linux ( go to VMware site and make a download).&lt;br /&gt;When rpm -ivh VMware-server-2.0.2-203138.i386.rpm,&lt;br /&gt;I get an error :&lt;br /&gt;&lt;pre&gt; You cannot install VMware Server on a system running a xen kernel&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;How to fix this,&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;To do this, you first need to install the kernel. &lt;code&gt;yum&lt;/code&gt; makes this easy:&lt;/p&gt; yum install kernel &lt;p&gt;Then remove xen and the kernel-xen packages:&lt;/p&gt; yum remove xen kernel-xen &lt;p&gt;Then you have to specify which kernel you want to run in &lt;code&gt;/boot/grub/grub.conf&lt;/code&gt;. In that file there’s a list of kernels available to boot from:&lt;/p&gt; #boot=/dev/sda default=1 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-92.1.10.el5)         root (hd0,0)         kernel /boot/vmlinuz-2.6.18-92.1.10.el5 ro root=LABEL=/1 rhgb quiet         initrd /boot/initrd-2.6.18-92.1.10.el5.img title CentOS (2.6.18-92.1.10.el5xen)         root (hd0,0)         kernel /boot/xen.gz-2.6.18-92.1.10.el5         module /boot/vmlinuz-2.6.18-92.1.10.el5xen ro root=LABEL=/1 rhgb quiet         module /boot/initrd-2.6.18-92.1.10.el5xen.img  &lt;p&gt;The line that says &lt;code&gt;default=&lt;/code&gt; specifies which kernel to load, where 0 is the first one listed in the file.  In my case, I had to change the line that says &lt;code&gt;default=1&lt;/code&gt; to &lt;code&gt;default=0&lt;/code&gt; to specify the non-xen kernel. &lt;/p&gt; &lt;p&gt;Reboot, and you’re good to go – the VMware RPM will install, and VMware server runs just fine.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;After , you can get to Kernel with Xen, please remember to make a&lt;br /&gt;"yum update" for VMware config running smooth.&lt;/p&gt;&lt;p&gt;An important node.&lt;/p&gt;&lt;p&gt;You can meet a hard error like this&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;What is the location of the directory of C header files that match your running&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt; kernel? [/usr/src/linux/include]&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt; The path "/usr/src/linux/include" is not an existing directory.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To fix it&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Do the following step&lt;/p&gt;&lt;p&gt;yum install kernel-devel&lt;/p&gt;&lt;p&gt;After that link the directory :&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ls -d /usr/src/kernels/$(uname -r)*/include&lt;/p&gt;&lt;p&gt;That will work for you.&lt;/p&gt;&lt;p&gt;If meet some errors, Just post here.&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-8762950039403251160?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/8762950039403251160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/vmware-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8762950039403251160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/8762950039403251160'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/vmware-on-linux.html' title='Vmware On Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-4342132990574821773</id><published>2009-10-28T21:21:00.001-07:00</published><updated>2009-10-28T21:29:20.927-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>AntiVirus Software On Linux</title><content type='html'>Hi all,&lt;br /&gt;Virus attached dont' care what you are using, Linux,Windown or Unix.So proctect&lt;br /&gt;yourself from virus is a very important job.&lt;br /&gt;With Linux, I get an advise from an experienced Linux master, using ClamAV.&lt;br /&gt;Try to fingure it out.&lt;br /&gt;&lt;br /&gt;1. Download the source from http://sourceforge.net/projects/clamav/files/clamav/0.95.3/clamav-0.95.3.tar.gz/download&lt;br /&gt;2. Unzip it and make it running&lt;br /&gt;   * cd clamav-0.95.3&lt;br /&gt;   * ./configure&lt;br /&gt;   * make&lt;br /&gt;   * make install&lt;br /&gt;3. Scan it&lt;br /&gt;   [root@alpha VIRUS]clamscan -r --move=VIRUS -l Logfile.txt&lt;br /&gt;4.Update virus database&lt;br /&gt;  [root@alpha VIRUS]freshman&lt;br /&gt; Maybe you will get a dummy error&lt;br /&gt; ERROR: Please edit the example config file /usr/local/etc/freshclam.conf&lt;br /&gt;ERROR: Can't open/parse the config file /usr/local/etc/freshclam.conf&lt;br /&gt;&lt;br /&gt;To fix it, just go to this file freshclam.conf and change like this&lt;br /&gt;Original&lt;br /&gt;&lt;br /&gt;# Comment or remove the line below.&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt;Change&lt;br /&gt;# Comment or remove the line below.&lt;br /&gt;#Example&lt;br /&gt;&lt;br /&gt;Very dummy,it running.&lt;br /&gt;&lt;br /&gt;5. Add a cronjob for schedule scan or update as you want.&lt;br /&gt;  More information just look it this file freshclam.conf.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-4342132990574821773?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/4342132990574821773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/antivirus-software-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4342132990574821773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4342132990574821773'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/antivirus-software-on-linux.html' title='AntiVirus Software On Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1940086560957882844</id><published>2009-10-26T09:00:00.000-07:00</published><updated>2009-10-26T09:11:21.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>The official MySQL Optimization Tips</title><content type='html'>(From Nova Blog)&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;From the basic conditions, costs, advantages and disadvantages and applications in terms of five kinds of MySQL reliability of the program are analyzed and compared to the MySQL development and management role in a certain reference.&lt;/span&gt; &lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;1．&lt;/span&gt; 1.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;MySQL Clustering(ndb-cluster stogare)&lt;/span&gt; MySQL Clustering (ndb-cluster stogare)&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Description:&lt;/span&gt;&lt;br /&gt;  &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;MySQL storage engine company to provide high-reliability programs, is a transaction-safe, and real-time replication of data that can be used that require high reliability and load balancing occasions.&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; The program requires at least three nodes in the server to achieve better results.&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Cost:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Node server RAM in great demand, with the database size of the linear ratio;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Better to use the Gigabit Ethernet network;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Also need to use the Dolphin's SCI cards to provide expensive.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Benefits:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Can be used for load balancing occasions;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Can be used for high-reliability occasions;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;High scalability;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;The real database redundancy;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Easy to maintain.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Disadvantages:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;With a database larger, the demand for RAM to become bigger, so the cost is high;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Speed:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Almost more than the typical stand-alone server (no Gigabit Ethernet, no SCI cards, storage engine-related restrictions less) slow 10 times.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Applications:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Redundancy, high reliability, load balancing&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;2. MySQL / GFS-GNBD/ HA (Active/Passive)&lt;/span&gt; &lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Description:&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;If multiple MySQL servers using a shared disk as a data storage, how this program?&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;GFS / GNBD can provide the necessary shared disk.&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;。&lt;/span&gt; GFS is a transaction-safe file system&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; The same time you can make a MySQL using the shared data.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Cost:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;N up to the cost of high-performance servers, one active, the other as a backup server.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Benefits:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;High reliability, a certain degree of redundancy in accordance with the high reliability of the telescopic&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Disadvantages:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;No load balancing does not guarantee that the redundancy can not write to stretch&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Speed:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;A separate server 2 times.&lt;/span&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Operational support to the reading better.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Applications&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;That require high reliability, and read-intensive applications&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;3. MySQL / DRBD / HA (Active/Passive)&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Description:&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;If multiple MySQL servers using a shared disk as a data storage, how this program?&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;DRBD can provide such a shared hard drive&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;.&lt;/span&gt; DRBD can be set to transaction security.&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;The same time you can make a MySQL using the shared data.&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Cost:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;N up to the cost of high-performance servers, one active, while others as a backup server.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Benefits:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;High reliability;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;A certain degree of redundancy;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Look at the name of a high reliability is scalable.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Disadvantages:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Load balancing does not guarantee that there is no redundancy in the load there is no flexibility in writing&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Speed:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;The equivalent of reading and writing in a separate server&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Applications&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;That require high reliability, read-intensive applications&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;4. MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)&lt;/span&gt; 4. MySQL Write Master / Multiple MySQL Read Slaves (Active / Active)&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Description:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Consider different reading, writing and DB database connection situation.&lt;/span&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;You can use a single master server for the write operation, while the use of n units from the server for read operations.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Cost:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;To write up a high-performance servers, n Taiwan to study the cost of the server&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Benefits:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Read the high reliability;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Load balance read operations;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;In the read load balancing aspect is scalable.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Disadvantages:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;No write operation of high reliability;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;No write operation of the load-balancing;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;In the write-free scalability;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;Speed:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span&gt;With a separate server; in the read operation to support very good&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; Applications&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Read-intensive and require high reliability and load balancing applications.&lt;/span&gt; &lt;/p&gt;&lt;p&gt; &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;5. Standalone MySQL Servers(Functionally separated) (Active)&lt;/span&gt; 5. Standalone MySQL Servers (Functionally separated) (Active)&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Functional separation of multiple separate servers, there is no high-reliability, load balancing, obviously too many shortcomings, not be considered.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;  &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;。&lt;/span&gt; MySQL official website of the program is a combination of HA recommended DRBD (This article Option 3) and Replication (program 4).&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;We add the Linux Heartbeat can be implemented with Auto-failover feature, so that machine down time is greatly reduced.&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1940086560957882844?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1940086560957882844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/official-mysql-optimization-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1940086560957882844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1940086560957882844'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/official-mysql-optimization-tips.html' title='The official MySQL Optimization Tips'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2119219286504841934</id><published>2009-10-26T08:11:00.000-07:00</published><updated>2009-10-26T08:24:40.186-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>ORACLE : AUTOMATICALLY STARTUP,ASM(Part 3)</title><content type='html'>With the part 1 and part 2.We have known how to make scripts for automatic startup&lt;br /&gt;Oracle database , listener and Application Server.When database have the feature ASM ,&lt;br /&gt;we have make some changes, startup css before startup database.(If you are working with RAC,you will see css is very familiar)&lt;br /&gt;&lt;br /&gt;1. Change in /etc/inittab&lt;br /&gt;&lt;br /&gt;[root@igisdb rc.d]# cd /etc/&lt;br /&gt;[root@igisdb etc]# vi inittab&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# inittab       This file describes how the INIT process should set up&lt;br /&gt;#               the system in a certain run-level.&lt;br /&gt;#&lt;br /&gt;# Author:       Miquel van Smoorenburg, &lt;miquels@drinkel.nl.mugnet.org&gt;&lt;br /&gt;#               Modified for RHS Linux by Marc Ewing and Donnie Barnes&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# Default runlevel. The runlevels used by RHS are:&lt;br /&gt;#   0 - halt (Do NOT set initdefault to this)&lt;br /&gt;#   1 - Single user mode&lt;br /&gt;#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)&lt;br /&gt;#   3 - Full multiuser mode&lt;br /&gt;#   4 - unused&lt;br /&gt;#   5 - X11&lt;br /&gt;#   6 - reboot (Do NOT set initdefault to this)&lt;br /&gt;#&lt;br /&gt;id:5:initdefault:&lt;br /&gt;&lt;br /&gt;# System initialization.&lt;br /&gt;si::sysinit:/etc/rc.d/rc.sysinit&lt;br /&gt;&lt;br /&gt;l0:0:wait:/etc/rc.d/rc 0&lt;br /&gt;l1:1:wait:/etc/rc.d/rc 1&lt;br /&gt;l2:2:wait:/etc/rc.d/rc 2&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;h1:35:respawn:/etc/init.d/init.cssd run &gt;/dev/null 2&gt;&amp;1 &lt;/dev/null&lt;/span&gt;&lt;br /&gt;l3:3:wait:/etc/rc.d/rc 3&lt;br /&gt;l4:4:wait:/etc/rc.d/rc 4&lt;br /&gt;l5:5:wait:/etc/rc.d/rc 5&lt;br /&gt;l6:6:wait:/etc/rc.d/rc 6&lt;br /&gt;&lt;br /&gt;# Trap CTRL-ALT-DELETE&lt;br /&gt;ca::ctrlaltdel:/sbin/shutdown -t3 -r now&lt;br /&gt;&lt;br /&gt;# When our UPS tells us power has failed, assume we have a few minutes&lt;br /&gt;# of power left.  Schedule a shutdown for 2 minutes from now.&lt;br /&gt;# This does, of course, assume you have powerd installed and your&lt;br /&gt;# UPS connected and working correctly.&lt;br /&gt;pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"&lt;br /&gt;&lt;br /&gt;# If power was restored before the shutdown kicked in, cancel it.&lt;br /&gt;pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Run gettys in standard runlevels&lt;br /&gt;1:2345:respawn:/sbin/mingetty tty1&lt;br /&gt;2:2345:respawn:/sbin/mingetty tty2&lt;br /&gt;3:2345:respawn:/sbin/mingetty tty3&lt;br /&gt;4:2345:respawn:/sbin/mingetty tty4&lt;br /&gt;5:2345:respawn:/sbin/mingetty tty5&lt;br /&gt;6:2345:respawn:/sbin/mingetty tty6&lt;br /&gt;&lt;br /&gt;# Run xdm in runlevel 5&lt;br /&gt;x:5:respawn:/etc/X11/prefdm -nodaemon&lt;br /&gt;#h1:35:respawn:/etc/init.d/init.cssd run &gt;/dev/null 2&gt;&amp;1 &lt;/dev/null&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;"inittab" 55L, 1801C               &lt;br /&gt;&lt;br /&gt;We add h1:35:respawn:/etc/init.d/init.cssd run &gt;/dev/null 2&gt;&amp;1 &lt;/dev/null in this file for startup css &lt;br /&gt;&lt;br /&gt;2. Change in /etc/oratab&lt;br /&gt;    +ASM:/u01/app/oracle/product/10.1.0/db_1:Y&lt;br /&gt;     igis:/u01/app/oracle/product/10.1.0/db_1:Y&lt;br /&gt;&lt;br /&gt;3. Create file dbora for automatic startup &lt;br /&gt;   &lt;br /&gt;[root@igisdb etc]# cd /etc/init.d/&lt;br /&gt;[root@igisdb init.d]# vi dbora &lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# chkconfig: 345 99 10&lt;br /&gt;# description: Oracle auto start-stop script.&lt;br /&gt;#&lt;br /&gt;# Set ORA_HOME to be equivalent to the $ORACLE_HOME&lt;br /&gt;# from which you wish to execute dbstart and dbshut;&lt;br /&gt;#&lt;br /&gt;# Set ORA_OWNER to the user id of the owner of the&lt;br /&gt;# Oracle database in ORA_HOME.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SLEEP_TIME=180&lt;br /&gt;ORACLE_OWNER=oracle&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;start)&lt;br /&gt;        sleep $SLEEP_TIME&lt;br /&gt;        su - $ORACLE_OWNER -c "/backup/script/dbStart"&lt;br /&gt;        touch /var/lock/subsys/dbora&lt;br /&gt;  ;;&lt;br /&gt;&lt;br /&gt;stop)&lt;br /&gt;        su - $ORACLE_OWNER -c "/backup/script/dbStop"&lt;br /&gt;        rm -f /var/lock/sysbsys/dbora&lt;br /&gt;  ;;&lt;br /&gt;&lt;br /&gt;*)&lt;br /&gt;        echo $"Usage: $prog {start|stop}"&lt;br /&gt;        exit 1&lt;br /&gt;esac&lt;br /&gt;exit&lt;br /&gt;&lt;br /&gt;4.Create file dbStart and dbStop in /backup/script &lt;br /&gt;[root@igisdb script]# vi dbStart &lt;br /&gt;&lt;br /&gt;export ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1&lt;br /&gt;lsnrctl start&lt;br /&gt;$ORACLE_HOME/bin/dbstart&lt;br /&gt;~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@igisdb script]# vi dbStop &lt;br /&gt;&lt;br /&gt;export ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1&lt;br /&gt;$ORACLE_HOME/bin/dbshut&lt;br /&gt;lsnrctl stop&lt;br /&gt;~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;           &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2119219286504841934?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2119219286504841934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupasmpart-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2119219286504841934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2119219286504841934'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupasmpart-3.html' title='ORACLE : AUTOMATICALLY STARTUP,ASM(Part 3)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-4119663162601452022</id><published>2009-10-26T08:00:00.000-07:00</published><updated>2009-10-26T08:11:24.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>ORACLE : AUTOMATICALLY STARTUP,Application Server  (Part 2)</title><content type='html'>• STARTUP ORACLE APPLICATION SERVER&lt;br /&gt;   Some action are worked as Part1 , &lt;br /&gt;   /etc/oratab&lt;br /&gt;  *:/home/oracle/product/10.1.3.1/OracleAS_1:N&lt;br /&gt;  We made a script called &lt;br /&gt;[root@igisdev init.d]# vi appora &lt;br /&gt;#!/bin/bash&lt;br /&gt;# chkconfig: 35 99 10&lt;br /&gt;# description: Starts and stops Oracle processes&lt;br /&gt;# Set ORA_HOME to be equivalent to the $ORACLE_HOME&lt;br /&gt;# from which you wish to execute dbstart and dbshut;&lt;br /&gt;# Set ORA_OWNER to the user id of the owner of the&lt;br /&gt;# Oracle database in ORA_HOME.&lt;br /&gt;ORA_HOME=/home/oracle/product/10.1.3.1/OracleAS_2&lt;br /&gt;ORA_OWNER=root&lt;br /&gt;case "$1" in&lt;br /&gt;    'start')&lt;br /&gt;        # Start HTTP Server and OC4J instance&lt;br /&gt;       if [ -f $ORA_HOME/opmn/bin/opmnctl ];&lt;br /&gt;       then&lt;br /&gt;          su - $ORA_OWNER -c "$ORA_HOME/opmn/bin/opmnctl startall"&lt;br /&gt;       fi&lt;br /&gt;        ;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    'stop')&lt;br /&gt;       # Stop HTTP Server&lt;br /&gt;       if [ -f $ORA_HOME/opmn/bin/opmnctl ];&lt;br /&gt;       then&lt;br /&gt;          su - $ORA_OWNER -c "$ORA_HOME/opmn/bin/opmnctl stopall"&lt;br /&gt;       fi&lt;br /&gt;       ;;&lt;br /&gt;esac&lt;br /&gt;~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-4119663162601452022?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/4119663162601452022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupapplication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4119663162601452022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4119663162601452022'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupapplication.html' title='ORACLE : AUTOMATICALLY STARTUP,Application Server  (Part 2)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-5769756379450610168</id><published>2009-10-26T07:51:00.000-07:00</published><updated>2009-10-26T07:59:55.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>ORACLE : AUTOMATICALLY STARTUP,Database And Listener (Part 1)</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;VI&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:"Lucida Sans Unicode"; 	panose-1:2 11 6 2 3 5 4 2 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-2147480833 14699 0 0 191 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:none; 	mso-hyphenate:none; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Lucida Sans Unicode"; 	mso-font-kerning:.5pt; 	mso-ansi-language:EN-US; 	mso-fareast-language:#00FF;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Arial","sans-serif"; 	mso-ascii-font-family:Arial; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Arial; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span  lang="EN-US" style="font-size:22;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;VI&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:StarSymbol; 	mso-font-alt:"Arial Unicode MS"; 	mso-font-charset:0; 	mso-generic-font-family:auto; 	mso-font-pitch:auto; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:"Lucida Sans Unicode"; 	panose-1:2 11 6 2 3 5 4 2 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-2147480833 14699 0 0 191 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:none; 	mso-hyphenate:none; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Lucida Sans Unicode"; 	mso-font-kerning:.5pt; 	mso-ansi-language:EN-US; 	mso-fareast-language:#00FF;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1; 	mso-list-template-ids:1;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:18.0pt; 	mso-level-number-position:left; 	margin-left:18.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level2 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	margin-left:36.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level3 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:54.0pt; 	mso-level-number-position:left; 	margin-left:54.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level4 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:72.0pt; 	mso-level-number-position:left; 	margin-left:72.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level5 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:90.0pt; 	mso-level-number-position:left; 	margin-left:90.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level6 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:108.0pt; 	mso-level-number-position:left; 	margin-left:108.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level7 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:126.0pt; 	mso-level-number-position:left; 	margin-left:126.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level8 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:144.0pt; 	mso-level-number-position:left; 	margin-left:144.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} @list l0:level9 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:162.0pt; 	mso-level-number-position:left; 	margin-left:162.0pt; 	text-indent:-18.0pt; 	mso-ansi-font-size:9.0pt; 	mso-bidi-font-size:9.0pt; 	mso-ascii-font-family:Symbol; 	mso-hansi-font-family:Symbol; 	mso-bidi-font-family:StarSymbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:9;"   lang="EN-US"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;u&gt;&lt;span lang="EN-US"&gt;NORMAL DATABASE AND LISTENER&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;b&gt;&lt;u&gt;&lt;span lang="EN-US"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;           &lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;VI&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:"Lucida Sans Unicode"; 	panose-1:2 11 6 2 3 5 4 2 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-2147480833 14699 0 0 191 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:none; 	mso-hyphenate:none; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Lucida Sans Unicode"; 	mso-font-kerning:.5pt; 	mso-ansi-language:EN-US; 	mso-fareast-language:#00FF;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;&lt;span lang="EN-US"&gt;1.  Add in /etc/oratab&lt;/span&gt;    &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;                           &lt;/span&gt;igis:/u01/app/oracle/product/10.2.0/db_1:Y&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;                        &lt;/span&gt;( Explain :&lt;span style=""&gt;  &lt;/span&gt;ORACLE_SID:ORACLE_HOME:Y)&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;           2. &lt;/span&gt;[root@igisdev etc]# cd&lt;span style=""&gt;  &lt;/span&gt;/etc/init.d/&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;               Create dbora as &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;             &lt;/span&gt;[root@igisdev init.d]# vi dbora &lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;              #!/bin/sh&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;               # chkconfig: 345 99 10&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;               # descripion: Oracle auto start-stop script.&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;               # Set ORA_HOME to be equivalent to the $ORACLE_HOME&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;               # from wich you wish to execute dbstart and dbshut;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;              # Set ORA_OWNER to the user id of the owner of the&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;              # Oracle database in ORA_HOME.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;              ORA_HOME=/u01/app/oracle/product/10.2.0/db_1&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;              ORA_OWNER=oracle&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;                if [ ! -f $ORA_HOME/bin/dbstart ]&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;               then&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;               &lt;/span&gt;echo "Oracle startup: cannot start"&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;exit&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;                 fi&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;            case "$1" in&lt;span style=""&gt; &lt;/span&gt;'start')&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# Start the Oracle databases:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# The following command assumes that the oracle login&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# will not prompt the user for any values&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;;;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;'stop')&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# Stop the Oracle databases:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# The following command assumes that the oracle login&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;# will not prompt the user for any values&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;;;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;       esac&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;     &lt;/o:p&gt;3. Change permission on  file va add startup at  level 3 and 5&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;          [root@igisdev init.d]# chmod 777 dbora &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;           [root@igisdev init.d]# chkconfig --level 35 dbora on&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;        &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;b&gt;&lt;u&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span  lang="EN-US" style="font-size:22;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-5769756379450610168?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/5769756379450610168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupdatabase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5769756379450610168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/5769756379450610168'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/oracle-automatically-startupdatabase.html' title='ORACLE : AUTOMATICALLY STARTUP,Database And Listener (Part 1)'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-2412127642657068250</id><published>2009-10-23T21:04:00.001-07:00</published><updated>2009-10-23T21:14:49.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>HowTo Yum on Centos 5.2</title><content type='html'>First using Yum, I cannot manage to install, update software from Internet.&lt;br /&gt;That's so difficult to work with the software that have many dependencies.&lt;br /&gt;Try to fix this is a small tip.&lt;br /&gt;&lt;br /&gt;1. Try to yum local from ISO file.&lt;br /&gt;2. Enable yum repository.&lt;br /&gt;&lt;br /&gt;Let go details .&lt;br /&gt;1. Yum local from ISO file&lt;br /&gt; [root@alpha yum.repos.d]#cd /etc/yum.repos.d&lt;br /&gt; [root@alpha yum.repos.d]#vi Centos-Media.repo&lt;br /&gt;[c5-media]&lt;br /&gt;name=CentOS-$releasever - Media&lt;br /&gt;baseurl=file:///media/CentOS/&lt;br /&gt;       file:///media/cdrom/&lt;br /&gt;       file:///media/cdrecorder/&lt;br /&gt;       file:///media/ISOFILE &lt;span style="color: rgb(255, 102, 0);"&gt;( add mount device for ISOFILE ) .&lt;/span&gt;&lt;br /&gt;[root@alpha yum.repos.d] yum --disablerepo=\* --enablerepo=c5-media install vlc&lt;br /&gt;&lt;br /&gt;2. Enable yum repository&lt;br /&gt; Look in file /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt; When enabled =0, change it to enabled = 1 .&lt;br /&gt; Make a check and enjoy your jobs.&lt;br /&gt;[root@alpha yum.repos.d]# yum repolist&lt;br /&gt;repo id              repo name                                          status&lt;br /&gt;addons               CentOS-5 - Addons                           enabled&lt;br /&gt;base                 CentOS-5 - Base                                 enabled&lt;br /&gt;centosplus           CentOS-5 - Plus                               enabled&lt;br /&gt;extras               CentOS-5 - Extras                               enabled&lt;br /&gt;rpmforge             Red Hat Enterprise 5 - RPMforge.net - da  enabled&lt;br /&gt;updates              CentOS-5 - Updates                        enabled&lt;br /&gt;[root@alpha yum.repos.d]# yum install vlc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-2412127642657068250?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/2412127642657068250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/howto-yum-on-centos-52.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2412127642657068250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/2412127642657068250'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/howto-yum-on-centos-52.html' title='HowTo Yum on Centos 5.2'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-3697695298344142399</id><published>2009-10-23T20:47:00.000-07:00</published><updated>2009-10-23T21:17:27.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Some small tips on Linux</title><content type='html'>Working with Linux like a server is a great jobs, but when use it in normal life for daily task, I'm sure we meet a lot issues, not supported, not found package, howto...etc.Some small tips when I try use Linux in daily life.Hope that help us a little.&lt;br /&gt;1. Mount ISO file&lt;br /&gt;[root@alpha ~]# mount -o loop /ISO_File/CentOS-5.2-i386-bin-DVD.iso /media/ISOFILE/&lt;br /&gt;Put it in /etc/fstab&lt;br /&gt;[root@alpha ~]vi /etc/fstab&lt;br /&gt;/ISO_File/CentOS-5.2-i386-bin-DVD.iso  /media/ISOFILE iso9660 rw,loop=/dev/loop0&lt;br /&gt;&lt;br /&gt;2. Music on Linux.&lt;br /&gt;* There are many player program for listen music, what video.&lt;br /&gt; I do like MPlayer and VLC.&lt;br /&gt; Install MPlayer :&lt;br /&gt;  - Download  MPlayer-1.0rc2.tar.bz2&lt;br /&gt;  - Install from source&lt;br /&gt;    [root@isc-alpha Linux]tar -xvfz MPlayer-1.0rc2.tar.bz2&lt;br /&gt;    [root@isc-alpha Linux]cd MPlayer-1.0rc2&lt;br /&gt;    [root@isc-alpha Linux]./configure&lt;br /&gt;    [root@isc-alpha Linux]make&lt;br /&gt;    [root@isc-alpha Linux]make install&lt;br /&gt;     [root@isc-alpha Linux]mplayer&lt;br /&gt;- After finish install, When using this you will meet a problem about default skin.&lt;br /&gt;  To fix is a little dummy and easy, try to download one skin on google.&lt;br /&gt;  I use Blue-1.7.tar.bz2&lt;br /&gt;     *  Extract this file&lt;br /&gt;     *  Copy all the file in the directory to folder /usr/local/share/mplayer/skins   /default.&lt;br /&gt;    * Change the file skinb.png to skin.png&lt;br /&gt;   Then it works.&lt;br /&gt;&lt;br /&gt;If the sound is a little small, dont try to install driver, find sound card , fix more software.I do a small job, unplug the headphone and plug in the back of the case.&lt;br /&gt;So suprised, the sound like on the windown, big and bigger.&lt;br /&gt;&lt;br /&gt;Install VLC:&lt;br /&gt;Install VLC without Internet is a hard jobs.If you get internet , just easy yum install vlc.&lt;br /&gt;If not you install from source or rpm packages , it requires you such a lot dependencies .&lt;br /&gt;So howto fix in this case, very easily , change to MPlayer&lt;br /&gt;&lt;br /&gt;3. View PDF file&lt;br /&gt; [root@alpha ~]kpdf filename&lt;br /&gt;&lt;br /&gt;4. View Graphic file&lt;br /&gt;[root@alpha ~]kview filename&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-3697695298344142399?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/3697695298344142399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/some-small-tips-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3697695298344142399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3697695298344142399'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/some-small-tips-on-linux.html' title='Some small tips on Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-3780172788129065221</id><published>2009-10-23T20:34:00.000-07:00</published><updated>2009-10-23T20:43:56.347-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>HOWTO Read .CHM File On Linux</title><content type='html'>There are many ways and software to read .CHM file on linux.&lt;br /&gt;1. You can use wine application, then install MU-Commander.&lt;br /&gt;   With Mu-Commander, you can easily read .CHM file.&lt;br /&gt;  But the view is not so good, you cannot change anything, the font also small.&lt;br /&gt; I really hate this kind of usage.&lt;br /&gt;&lt;br /&gt;2. Using another software support this reading.&lt;br /&gt;   After google a lot , I find out gnochm is a good software to use.&lt;br /&gt;    Download from this site&lt;br /&gt;            http://sourceforge.net/projects/gnochm/files/&lt;br /&gt;   The packages need to download and install in sequences.&lt;br /&gt;  * rpm -ivh chmlib-0.40-1.el5.rf.i386.rpm&lt;br /&gt;  * rpm -ivh chmlib-devel-0.40-1.el5.rf.i386.rpm&lt;br /&gt;  * rpm -ivh pychm-0.8.4-2fc5.i386.rpm&lt;br /&gt;  * gnochm-0.9.11-1fc5.src.rpm&lt;br /&gt;&lt;br /&gt;After finish, feel it easily using  to read the ebook&lt;br /&gt;[root@alpha  Linux]# gnochm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-3780172788129065221?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/3780172788129065221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/howto-read-chm-file-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3780172788129065221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/3780172788129065221'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/howto-read-chm-file-on-linux.html' title='HOWTO Read .CHM File On Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-6238681606076408287</id><published>2009-10-23T20:21:00.000-07:00</published><updated>2009-10-23T20:26:27.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Lock screen when Using Root User</title><content type='html'>With all who use Linux, root is such a so powerful user . Using it careless can make many disaster problem.But with a desktop enviroment , we dont need so much high&lt;br /&gt;avalible and must use another different account, what we need is security with all the document , the email ..etc.&lt;br /&gt;There is one usefull software that can support us do this. Lock Screen in Root user, that's is xlockmore.&lt;br /&gt;&lt;br /&gt;Easily Install : yum install xlockmore.&lt;br /&gt;For package : Just download via Google search. hehe.&lt;br /&gt;&lt;br /&gt;Using .&lt;br /&gt;[root@alpha ~]# xlock&lt;br /&gt;[root@alpha ~]# xlock -mode ball&lt;br /&gt;&lt;br /&gt;Try man xlock for more mode and beautiful screen..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-6238681606076408287?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/6238681606076408287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/lock-screen-when-using-root-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6238681606076408287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/6238681606076408287'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/lock-screen-when-using-root-user.html' title='Lock screen when Using Root User'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-1418985705452109621</id><published>2009-10-06T08:00:00.000-07:00</published><updated>2009-10-26T08:40:25.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>Setup Replicate with Security</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CTHAIDU%7E1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;VI&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:163; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Arial","sans-serif"; 	mso-ascii-font-family:Arial; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Arial; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Arial; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing 	{mso-style-priority:1; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Arial","sans-serif"; 	mso-ascii-font-family:Arial; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Arial; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Arial; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Arial; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Arial; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Arial; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:72.0pt 72.0pt 72.0pt 72.0pt; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1078599658; 	mso-list-type:hybrid; 	mso-list-template-ids:-480455492 -79897592 69861379 69861381 69861377 69861379 69861381 69861377 69861379 69861381;} @list l0:level1 	{mso-level-start-at:0; 	mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:54.0pt; 	text-indent:-18.0pt; 	font-family:Symbol; 	mso-fareast-font-family:Arial; 	mso-fareast-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-latin;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Arial","sans-serif"; 	mso-ascii-font-family:Arial; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Arial; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;SQL 2005 : &lt;/o:p&gt;Setup Replicate with Security&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; Today, I summarize some essential steps to setup replicate with Security.&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;The main idea for that security setup is to divide smaller and smaller privilleges&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;of the user.&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;Let have a look at this .&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;We do on two server&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;SERVER1&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt; &lt;/span&gt;: Publisher, Distributor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;SERVER2&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;: &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Subscriber&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Database Publisher&lt;span style=""&gt;  &lt;/span&gt;: Pub_Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Database Subscriber : Sub_Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Privleges needed &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;when configure Replicate &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;Enable Distributor : SysAdmin ( Using Administrator)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;Enable database for Publisher : SysAdmin ( Using Administrator to setup )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;Create publication : db_owner of Pub_Test&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt; ( Using PublisherUser)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;               &lt;/span&gt;Subscribe to a publication : db_owner of Pub_Test, db_owner of Sub_Test&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt; (Using SubscriberUser)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 1&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; : &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Disable Distributor, Delete all the existing Publisher, Subscriber&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 2 &lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;: Create Windowns Account &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;on each node with the same UserName, Password.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SERVER1 : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;ReplSnapAgent : For snapshot agent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;ReplDistAgent : For distributor agent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;PublisherUser : Publishing Tasks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;SubscriberUser: Publishing Tasks &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SERVER2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;ReplSnapAgent : For snapshot agent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;ReplDistAgent : For distributor agent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;PublisherUser : Publishing Tasks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;SubscriberUser: Publishing Tasks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 3&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; : Grant privleges on the &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;share &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;folder &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;Create directory : C:\Repl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;Administrators &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;: &lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Allow-Full Control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;PublisherUser &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;: &lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Allow-Read&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SubscriberUser &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;:&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Allow-Read&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;ReplSnapAgent &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;: &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Allow-Change&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;ReplDistAgent &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;: &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Allow-Read &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 4 &lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;: Configure Distributor &lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Use Administrator account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Configure follow &lt;span style=""&gt; &lt;/span&gt;the wizard &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Remember to choose : Folder for snapshot like this : \\SERVER1\Repl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;u&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 5&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; : Running the script to enable &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Publisher&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Use Administrator account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;exec sp_replicationdboption &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;@dbname = N'Pub_Test' ,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;@optname = N'publish' ,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;@value = N'true'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 6&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;: Assign Database Roles&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Use Administrator Account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing" style="margin-left: 54pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;" &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;Open Security on each SERVER, map Server and grant role like below&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;ReplDistAgent :(Carefully on Server1 and Server2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1 : &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Distribution : db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SEREVR2 : &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Sub_Test&lt;span style=""&gt;     &lt;/span&gt;: db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;ReplSnapAgent :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1 : &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Distribution : db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1:&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Pub_test&lt;span style=""&gt;     &lt;/span&gt;: db_owner&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;PublisherUser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1 : &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Pub_Test&lt;span style=""&gt;     &lt;/span&gt;: db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SubscriberUser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER1: &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Pub_Test&lt;span style=""&gt;     &lt;/span&gt;: db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                                &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;SERVER2: &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;Sub_Test&lt;span style=""&gt;     &lt;/span&gt;: db_owner&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 7&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; : Configure Publisher&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SERVER1 :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Connect to as PublisherUser&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Follow the wizards&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"   lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;* Snapshot Agent Security : SERVER1\ReplSnapAgent&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Open PAL, add 2 account ReplSnapAgent, SubScriberUser in.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Step 8&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt; : Create a Subscription&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;SERVER2 :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Connect to as Subscriber User&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Follow the wizards&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Choose SERVER1 for Pubisher.(Windown authenticate)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Push subscription&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;* Distibution Agent Security SERVER1\ReplDistAgent&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style=";font-family:&amp;quot;;font-size:85%;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-1418985705452109621?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/1418985705452109621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/setup-replicate-with-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1418985705452109621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/1418985705452109621'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/setup-replicate-with-security.html' title='Setup Replicate with Security'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-9155121905248836092</id><published>2009-10-02T03:06:00.000-07:00</published><updated>2009-10-06T07:59:50.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>VietNamese Fonts &amp;  Keyboard input on Linux</title><content type='html'>I'm using Centos 5.2 .Install OpenOffice 5.2  and few difficult howto use VietNamese on this&lt;br /&gt;application.&lt;br /&gt;Search on google, bing and many resource they guide me to do this.&lt;br /&gt;&lt;br /&gt;1. First : Install fonts&lt;br /&gt;    Download source : utf8.tar.gz&lt;br /&gt;    Unzip : tar -xvfz utf8.tar.gz&lt;br /&gt;    Install : ./configre&lt;br /&gt;                   make&lt;br /&gt;                  make install&lt;br /&gt;   Cache : fc-cache&lt;br /&gt;&lt;br /&gt;2. Second : Install an VietNamese Input keyboard.&lt;br /&gt;  Download source :&lt;a href="http://xvnkb.sourceforge.net/xvnkb/xvnkb-0.2.8a.tar.bz2"&gt; http://xvnkb.sourceforge.net/xvnkb/xvnkb-0.2.8a.tar.bz2&lt;/a&gt;&lt;br /&gt;  Unzip   :tar xjvf xvnkb-0.2.8a.tar.bz2&lt;br /&gt;   Install&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;               ./configure &lt;br /&gt;            make &amp;amp;&amp;amp; make install&lt;br /&gt;&lt;br /&gt;And now the problem happen, everytime I start up OpenOffice 3.1 ,&lt;br /&gt;I meet a so terrible error, my application hangs up forever and forever.&lt;br /&gt;I have tried many many way and finally find out that.&lt;br /&gt;You dont have to install the font, just install the VietNam input keyboard&lt;br /&gt;and enjoy VietNamese words.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;So the way to fix OpenOffice3.1 hang on,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Just make uninstall the fonts.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Uninstall OpenOffice&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Uninstall xvnkb.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Remove folder $home/.openoffice&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Make a reboot.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;And finally install xvnkb, OpenOfiice that's enough.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope that help you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-9155121905248836092?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/9155121905248836092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/vietnamese-fonts-keyboard-input-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9155121905248836092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9155121905248836092'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/vietnamese-fonts-keyboard-input-on.html' title='VietNamese Fonts &amp;  Keyboard input on Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-4460014393388218843</id><published>2009-10-02T02:19:00.000-07:00</published><updated>2009-10-02T03:23:14.507-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Adding Network Adapter Attansic L2 100M</title><content type='html'>Centos 5.2 doesnot recognize the Network Adapter naming Attansic Technolog Corp .L2 100&lt;br /&gt;So we have to install the package support for this kind of NIC.&lt;br /&gt;That's so terrible problem.Imagie what we are doing with computer without Net.&lt;br /&gt;&lt;br /&gt;After google 1 day , do many way.I found out 2 solutions that can help me overcome this.&lt;br /&gt;&lt;br /&gt;1. Using rpm package.&lt;br /&gt;*  Download 2 rpm package here&lt;br /&gt;+ &lt;a href="ftp://ftp.pbone.net/mirror/rpms.arrfab.net/centos/5/eeepc/atl2-1.0.40.4-el5.ceeentos.1.noarch.rpm"&gt;atl2-1.0.40.4-el5.ceeentos.1.noarch.rpm&lt;/a&gt;&lt;br /&gt;+ &lt;a href="ftp://ftp.pbone.net/mirror/rpms.arrfab.net/centos/5/eeepc/kmod-atl2-1.0.40.4-el5.ceeentos.1.i686.rpm"&gt;kmod-atl2-1.0.40.4-el5.ceeentos.1.i686&lt;/a&gt;&lt;br /&gt;*  Install  them&lt;br /&gt;+rpm -ivh  atl2-1.0.40.4-el5.ceeentos.1.noarch.rpm&lt;br /&gt;+rpm -ivh  kmod-atl2-1.0.40.4-el5.ceeentos.1.i686&lt;br /&gt;* After that, using system-config-network to add a new profile&lt;br /&gt;+[root@newserver home]#system-config-network&lt;br /&gt;Or you can use the Network in the grapphic GNOME&lt;br /&gt;&lt;br /&gt;2. Install from source&lt;br /&gt;* Download the source  &lt;a href="http://launchpadlibrarian.net/7382416/L2-linux-driver_new.rar"&gt;L2-linux-driver-new.rar&lt;/a&gt;&lt;br /&gt;* Unzip this file&lt;br /&gt;* Step&amp;amp; Step Compile this source&lt;br /&gt;[root@newserver]#cd L2_linux-driver-new/src&lt;br /&gt;[root@newserver]#make install&lt;br /&gt;Here , maybe you will meet some errors like this&lt;br /&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 210px; text-align: left;"&gt;In file included from /usr/local/src/l2-linux-v1.0.40.4&lt;br /&gt;from /usr/local/src/l2-linux-v1.0.40.4/src/at_main.c:28:&lt;br /&gt;/usr/local/src/l2-linux-v1.0.40.4/src/kcompat.h:1084:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;error: redefinition of typedef 'irq_handler_t'&lt;/span&gt;&lt;br /&gt;include/linux/interrupt.h:67: error: previous declaration&lt;br /&gt;of 'irq_handler_t' was here&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Howto overcome this dummy error.&lt;br /&gt;Simple comment the code in kcompat.h like&lt;br /&gt;/*&lt;br /&gt;typedef irqreturn_t (*irq_handler_t)(int, void*, struct pt_regs *);&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;Then that will be okey.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I prefer the first way , install from package .&lt;br /&gt;It seems easier and not stuck in so many troubles.&lt;br /&gt;Now I can use internet.And I decide to make this topic,&lt;br /&gt;just to share my google results.&lt;br /&gt;Hope that help you.&lt;br /&gt;&lt;img src="file:///C:/Users/THAIDU%7E1/AppData/Local/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-4460014393388218843?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/4460014393388218843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/adding-network-adapter-attansic-l2-100m.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4460014393388218843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/4460014393388218843'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/10/adding-network-adapter-attansic-l2-100m.html' title='Adding Network Adapter Attansic L2 100M'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501262791228148523.post-9012341820951129740</id><published>2009-09-30T06:13:00.000-07:00</published><updated>2009-10-02T02:18:06.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>How to mount ntfs driver on Linux</title><content type='html'>Although there are so many guides on Google about this topic.&lt;br /&gt;"How to mount ntfs driver on Linux " .&lt;br /&gt;I find it rather difficult for new comer to work with it.&lt;br /&gt;This is the easiet way to get your purpose , just a small tip.&lt;br /&gt;&lt;br /&gt;There are two ways you can do this jobs.&lt;br /&gt;1. Using yum.&lt;br /&gt;   You can see&lt;a style="color: rgb(0, 0, 0);" href="http://wiki.centos.org/TipsAndTricks/NTFS"&gt; &lt;span style="color: rgb(255, 153, 255);"&gt;http://wiki.centos.org/TipsAndTricks/NTFS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;2. Install package.( I prefer it better)&lt;br /&gt;    * Get the package here.&lt;br /&gt;     &lt;a href="http://sourceforge.net/projects/linux-ntfs/files/"&gt;http://sourceforge.net/projects/linux-ntfs/files/&lt;/a&gt;&lt;br /&gt;     Choose the package suitable for your Linux version .&lt;br /&gt;    [root@server home]#uname -a&lt;br /&gt;      2.6.18-92.el5xen.&lt;br /&gt;    So I get this file &lt;a href="http://sourceforge.net/projects/linux-ntfs/files/Kernel%20NTFS%20Module/el5%202.6.18-92/kernel-module-ntfs-2.6.18-92.el5-2.1.27-0.rr.10.11.i686.rpm/download"&gt; kernel-module-ntfs-2.6.18-92.el5-2.1.27-0.rr.10.11.i686.rpm&lt;/a&gt;&lt;br /&gt;    * Install this package rpm&lt;br /&gt;   [root@serverhome]rpm -ivh kernel-module-ntfs-2.6.18-92.el5-2.1.27-0.rr.10.11.i686.rpm&lt;br /&gt;    * Easily mount .&lt;br /&gt;   [root@serverhome]mount -t ntfs /dev/sda5 /media/WORKING&lt;br /&gt;* After that , you can put it in /etc/fstab for automatically mount when startup&lt;br /&gt; /dev/sda5 /media/WORKING ntfs  rw 0 0&lt;br /&gt;&lt;br /&gt;Hope you love this tip.&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4501262791228148523-9012341820951129740?l=oracle-mysql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-mysql.blogspot.com/feeds/9012341820951129740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracle-mysql.blogspot.com/2009/09/how-to-mount-ntfs-driver-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9012341820951129740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501262791228148523/posts/default/9012341820951129740'/><link rel='alternate' type='text/html' href='http://oracle-mysql.blogspot.com/2009/09/how-to-mount-ntfs-driver-on-linux.html' title='How to mount ntfs driver on Linux'/><author><name>Daniel</name><uri>http://www.blogger.com/profile/14384905866699187903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_Xg5hFAZCRRI/SsNWjFcNgxI/AAAAAAAAADY/iYoJ9ShoXww/S220/images.jpeg'/></author><thr:total>0</thr:total></entry></feed>
