<?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/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;DEYMRX0ycSp7ImA9WhRRFE4.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916</id><updated>2011-11-27T15:23:04.399-08:00</updated><title>Learning Never Stops</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;DkUEQX89cCp7ImA9WhRSE0s.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-5996079046741419404</id><published>2011-11-14T17:40:00.001-08:00</published><updated>2011-11-15T05:36:40.168-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-11-15T05:36:40.168-08:00</app:edited><title>ORA-04068: existing state of packages has been discarded</title><content type='html'>As the error message indicates it should happen on a package execution however in my case it happened on a stored procedure. All the reference on ORA-4068 referred me to a condition where a package had a global variable and a stored procedure or function within&amp;nbsp;a package used the variable and there was a dependency on a table. Whenever the table was modified, procedure became invalid while package itself was valid.&lt;br /&gt;
&lt;br /&gt;
But re-executing same package procedure recompiled the procedure and everything worked.&lt;br /&gt;
&lt;br /&gt;
My situation was different where there is a procedure PROC1 which calls another stored procedure PROC2. PROC2 inserts into a table with a Sequence. The sequence is dropped and recreated by a batch job and PROC1 execution failed intermittently with these errors.&lt;br /&gt;
&lt;br /&gt;
::: Exception Information ::: &lt;br /&gt;
Message: ORA-04068: existing state of packages has been discarded&lt;br /&gt;
ORA-04065: not executed, altered or dropped stored procedure "PROC2"&lt;br /&gt;
ORA-06508: PL/SQL: could not find program unit being called: "PROC2"&lt;br /&gt;
ORA-06512: at "PROC1", line 161&lt;br /&gt;
ORA-06512: at line 1&lt;br /&gt;
&lt;br /&gt;
It turned out that ORA-04068 is not restricted to a package alone, Oracle has a known bug&amp;nbsp;related to&amp;nbsp;recreating sequence and a procedure depending on it.&lt;br /&gt;
&lt;br /&gt;
Here is a reference to the Oracle support document&lt;br /&gt;
&lt;br /&gt;
Sequence Dependency May Cause ORA-04068 (Doc ID 334946.1)&lt;br /&gt;
&lt;br /&gt;
The article suggests not using Sequence and use some other method of getting incremental value. But a better solution will be to recompile all dependent stored procedures as soon as the sequence is recreated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-5996079046741419404?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/5996079046741419404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/11/ora-04068-existing-state-of-packages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/5996079046741419404?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/5996079046741419404?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/11/ora-04068-existing-state-of-packages.html' title='ORA-04068: existing state of packages has been discarded'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEEBR3ozeip7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-7283774365466434247</id><published>2011-06-09T12:10:00.001-07:00</published><updated>2011-06-09T12:10:56.482-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:10:56.482-07:00</app:edited><title>Audit Report Generation For Oracle In HTML Format</title><content type='html'>&lt;div class="MsoNormal"&gt;This document describes steps needed to setup auditing in Oracle, generating HTML report, managing audit records and sending HTML email to DBAs.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;v&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set audit_trail parameter in init.ora to and bounce the database. This will log the audit trail in the database sys.aud$ table. &lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;AUDIT_TRAIL = DB&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;Or if spfile is in use it can be changed using&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;alter system set audit_trail=DB scope=spfile&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;and restarting the database.&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;v&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Following things are audited. These contain statement auditing, privilege auditing and object auditing. Statement auditing is enabled by just an audit on a particular type like audit cluster or audit trigger. Privilege auditing is enabled by an audit on a particular privilege like audit create index or audit drop index. We have not enabled audit on a particular object in which object name has to be explicitly specified. All the audit options are enabled by ACCESS(default) except logon audit which is a session level auditing whenever not successful.&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT CLUSTER;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;&lt;span lang="FR"&gt;AUDIT CONTEXT;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT DATABASE LINK;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;&lt;span lang="FR"&gt;AUDIT DIMENSION;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;&lt;span lang="FR"&gt;AUDIT DIRECTORY;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT CREATE ANY INDEX;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT DROP ANY INDEX;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT PROCEDURE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT PROFILE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT PUBLIC DATABASE LINK;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT PUBLIC SYNONYM;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT ROLE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT SEQUENCE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT SESSION WHENEVER NOT SUCCESSFUL;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT SYNONYM;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT SYSTEM GRANT;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;&lt;span lang="FR"&gt;AUDIT TABLE;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT TRIGGER;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT TYPE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT USER;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT VIEW;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT ALTER TABLE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT ALTER SEQUENCE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT GRANT DIRECTORY;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT GRANT SEQUENCE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT GRANT TABLE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in;"&gt;AUDIT GRANT TYPE;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;v&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Generate an audit report using script audit_report.bat, which in turns call audit_report.sql&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;v&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Delete audit records older than 30 days every day using audit_purge.sql&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;v&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Send email by running auditsummary.bat wrapper batch file which merges all the reports generated by audit_report and sends email using sendmailHTML.vbs&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Scripts&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;1.&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AUDIT_REPORT.BAT&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Audit_Report.bat is called from a batch file (daily_other_jobs.bat) for each database which needs audit report (as defined in JobInfo configuration file).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;@echo off&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;if "%1" equ "" goto usage&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;set DBNAME=%1&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;if not exist E:\Scripts\%DBNAME%\sql\logs mkdir E:\Scripts\%DBNAME%\sql\logs&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;rem purge audit records older than 30 days&lt;/div&gt;&lt;div class="MsoNormal"&gt;for /F "tokens=1-3" %%i in (E:\Scripts\Sql\AdminInfo) do ( if /I %%i equ %DBNAME% ( &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if exist e:\scripts\%DBNAME%\sql\logs\auditreport.html del e:\scripts\%DBNAME%\sql\logs\auditreport.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:\oracle\ora92\bin\sqlplus -S -M "HTML ON PREFORMAT OFF TABLE 'BORDER="2"'" system/%%j@%DBNAME%&amp;nbsp; @e:\scripts\sql\audit_report.sql &amp;gt; e:\scripts\%DBNAME%\sql\logs\auditreport.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D:\oracle\ora92\bin\sqlplus -S system/%%j@%DBNAME%&amp;nbsp; @e:\scripts\sql\audit_purge.sql 30 &amp;gt; e:\scripts\%DBNAME%\sql\logs\audit_purge.log&lt;/div&gt;&lt;div class="MsoNormal"&gt;))&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;E:\scripts\saveauditlog.bat %DBNAME%&lt;/div&gt;&lt;div class="MsoNormal"&gt;goto end&lt;/div&gt;&lt;div class="MsoNormal"&gt;:usage&lt;/div&gt;&lt;div class="MsoNormal"&gt;echo usage : %0 DBNAME&lt;/div&gt;&lt;div class="MsoNormal"&gt;:end&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;1.1&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AdminInfo&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This file contains UserID and password file to run the audit report. The file is encrypted using Windows encryption and can only be open by the Windows account scheduling the job. The format of the file content is&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;SID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSTEMPassword&lt;/div&gt;&lt;div class="MsoNormal"&gt;DB1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db1password&lt;/div&gt;&lt;div class="MsoNormal"&gt;DB2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; db2password&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;1.2&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Audit_Report.sql&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;It reads AUD$ file and produces a HTML formatted report. Some records are filtered to minimize the size of the report. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;REM Filter out ALTER TABLESPACE done by SYSTEM ACCOUNT on locally managed tablespaces&lt;/div&gt;&lt;div class="MsoNormal"&gt;REM Filter JOURNAL and IOT tables and indexes created by Oracle for online index rebuild.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;SET FEEDBACK OFF&lt;/div&gt;&lt;div class="MsoNormal"&gt;SET ECHO OFF&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN ROWNUM HEADING 'SR #'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN NAME HEADING 'ACTION'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN OBJ$NAME HEADING 'OBJECT NAME'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN AUTH$PRIVILEGES HEADING 'PRIVILEGES'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN AUTH$GRANTEE HEADING 'GRANTEE'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN SPARE1 HEADING 'OS USER'&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN STATUS HEADING 'STATUS' ENTMAP OFF&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;SET HEAD OFF&lt;/div&gt;&lt;div class="MsoNormal"&gt;COLUMN DATABASE ENTMAP OFF&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;select '&amp;lt;b&amp;gt;' || name || '&amp;lt;/b&amp;gt;' "DATABASE" from v$database;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;SET HEAD ON&lt;/div&gt;&lt;div class="MsoNormal"&gt;select &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rownum, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to_char(timestamp#,'MM/DD/YY HH24:MI:SS') TIMESTAMP, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userid, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; terminal, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj$name, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 1,1),'-','','ALT ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 2,1),'-','','AUD ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 3,1),'-','','COM ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 4,1),'-','','DEL ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 5,1),'-','','GRA ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 6,1),'-','','IND ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 7,1),'-','','INS ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 8,1),'-','','LOC ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 9,1),'-','','REN ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 10,1),'-','','SEL ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 11,1),'-','','UPD ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 12,1),'-','','REF ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 13,1),'-','','EXE ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 14,1),'-','','CRE ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 15,1),'-','','REA ') ||&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(substr(NVL(auth$privileges,'----------------'), 16,1),'-','','WRI ')&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auth$grantee, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decode(returncode,0, 'SUCCESS', '&amp;lt;font color=''red''&amp;gt;'|| 'FAIL' ) status, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spare1&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;from sys.aud$ a, audit_actions b&lt;/div&gt;&lt;div class="MsoNormal"&gt;where a.action# = b.action&lt;/div&gt;&lt;div class="MsoNormal"&gt;and trunc(timestamp#) between trunc(sysdate-1) and trunc(sysdate)&lt;/div&gt;&lt;div class="MsoNormal"&gt;and NVL(obj$name,' ') not like 'SYS_JOURNAL%'&lt;/div&gt;&lt;div class="MsoNormal"&gt;and NVL(obj$name,' ') not like 'SYS_IOT_TOP%'&lt;/div&gt;&lt;div class="MsoNormal"&gt;and name not in (&lt;/div&gt;&lt;div class="MsoNormal"&gt;'LOGOFF',&lt;/div&gt;&lt;div class="MsoNormal"&gt;'SET ROLE',&lt;/div&gt;&lt;div class="MsoNormal"&gt;'SESSION REC')&lt;/div&gt;&lt;div class="MsoNormal"&gt;and not exists&lt;/div&gt;&lt;div class="MsoNormal"&gt;(select 1 from dba_tablespaces dt&lt;/div&gt;&lt;div class="MsoNormal"&gt;where b.name = 'ALTER TABLESPACE'&lt;/div&gt;&lt;div class="MsoNormal"&gt;and a.obj$name = dt.tablespace_name&lt;/div&gt;&lt;div class="MsoNormal"&gt;and dt.extent_management='LOCAL'&lt;/div&gt;&lt;div class="MsoNormal"&gt;and a.terminal = (select host_name from v$instance)&lt;/div&gt;&lt;div class="MsoNormal"&gt;and a.userid = 'SYSTEM'&lt;/div&gt;&lt;div class="MsoNormal"&gt;);&lt;/div&gt;&lt;div class="MsoNormal"&gt;exit;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;1.3&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Audit_Purge.sql&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This script purges records older than x number of days. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;set verify off;&lt;/div&gt;&lt;div class="MsoNormal"&gt;delete from sys.aud$ &lt;/div&gt;&lt;div class="MsoNormal"&gt;where timestamp# &amp;lt; sysdate-&amp;amp;1;&lt;/div&gt;&lt;div class="MsoNormal"&gt;commit;&lt;/div&gt;&lt;div class="MsoNormal"&gt;exit;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;1.4&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Saveauditlog.bat&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This script saves audit log by renaming the audit log file with a date timestamp.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;@echo off&lt;/div&gt;&lt;div class="MsoNormal"&gt;Rem %1 is database name&lt;/div&gt;&lt;div class="MsoNormal"&gt;Rem get date&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp; REM The FOR Loop gets the date convention, mm-dd-yyyy and saves the date part in three variables&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR /f "tokens=2-4 skip=1 delims=(-)" %%G IN ('echo.^|date') DO (&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET v_first=%%G&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET v_second=%%H&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET v_third=%%I&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REM FOR loop breaks date /t output and saves everything after blank delimiter, v_all has date&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR /f "tokens=2 delims= " %%A IN ('date /t') DO (&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET v_all=%%A&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REM saves date part values into date part variables&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET %v_first%=%v_all:~0,2%&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET %v_second%=%v_all:~3,2%&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET %v_third%=%v_all:~6,4%&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;copy e:\scripts\%1\sql\logs\auditreport.html e:\scripts\%1\auditlog\auditreport_%YY%%mm%%dd%.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;2.&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Auditsummary.bat&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This is wrapper script which merges audit reports for all the databases and sends email. It reads Jobsinfo file to see if audit report is needed for a database. It looks at IfLastDDL settings, copies the report for a database that has Y in this column to auditsummary.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;@echo off&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;for /F "tokens=1-9" %%i in (E:\Scripts\Jobs\JobsInfo) do ( &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if exist e:\scripts\%%i\sql\logs\auditreport.html type e:\scripts\%%i\sql\logs\auditreport.html &amp;gt;&amp;gt; e:\scripts\auditsummary.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;cscript.exe e:\scripts\sendmailhtml.vbs "dbas@gotodba.com" "server1@gotodba.com" "Oracle Security Audit Summary Report" "e:\scripts\auditsummary.html" "HTML"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;if exist e:\scripts\auditsummary.html del e:\scripts\auditsummary.html&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;JobsInfo&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Format of JobsInfo&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 6pt;"&gt;sid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IfExport&amp;nbsp; IfLastDDL&amp;nbsp; IfStatsPack&amp;nbsp;&amp;nbsp; IfDelOldFiles IfIndexRbld IfRMan&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IfGatherStats Ifhotbackup&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 6pt;"&gt;DB1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 6pt;"&gt;DB2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;3.&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;DailyOtherJobs.bat&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This script also calls other jobs, but only audit_report.bat is listed here.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;@echo off&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;for /F "tokens=1-9" %%i in (E:\Scripts\Jobs\JobsInfo) do ( &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if /I "%%k" equ "Y" (Call E:\scripts\sql\audit_report.bat %%i )&lt;/div&gt;&lt;div class="MsoNormal"&gt;)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;call E:\Scripts\AuditSummary.bat&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b&gt;4.&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SendmailHTML.Vbs&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This is a VBScript program that calls Windows CDO object to send SMTP email. smtp.gotodba.com is the SMTP server name.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;'**********************************************************************&lt;/div&gt;&lt;div class="MsoNormal"&gt;'&amp;nbsp; Visual Basic Script&lt;/div&gt;&lt;div class="MsoNormal"&gt;'************************************************************************&lt;/div&gt;&lt;div class="MsoNormal"&gt;'&amp;nbsp; Usage: cscript.exe e:\scripts\sendmailhtml.vbs "to@gotodba.com" "from@gotodba.com" "Subject" "HTMLfile" "HTML"&lt;/div&gt;&lt;div class="MsoNormal"&gt;'************************************************************************&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;const ForReading=1&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Dim ObjArgs, MailTo, From, Subject, Message, wshshell, goFS, oFile, FileName, FileType&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Set ObjArgs = WScript.Arguments&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;MailTo = ObjArgs(0)&lt;/div&gt;&lt;div class="MsoNormal"&gt;From&amp;nbsp; = ObjArgs(1)&lt;/div&gt;&lt;div class="MsoNormal"&gt;Subject&amp;nbsp; = ObjArgs(2)&lt;/div&gt;&lt;div class="MsoNormal"&gt;FileName&amp;nbsp; = ObjArgs(3)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;if ObjArgs.Count = 5 then&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileType = ObjArgs(4)&lt;/div&gt;&lt;div class="MsoNormal"&gt;end if&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;set wshshell=wscript.createobject("Wscript.Shell")&lt;/div&gt;&lt;div class="MsoNormal"&gt;set goFs=createobject("Scripting.FileSystemObject")&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;'This code requires the file to exist to compile&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;set oFile = goFs.OpenTextFile(FileName, ForReading)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Message = oFile.ReadAll &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Call SendMail(MailTo, From, Subject, Message)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;oFile.Close&lt;/div&gt;&lt;div class="MsoNormal"&gt;set wshshell = nothing&lt;/div&gt;&lt;div class="MsoNormal"&gt;set goFs = nothing&lt;/div&gt;&lt;div class="MsoNormal"&gt;set oFile = nothing&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Function SendMail(MailTo, From, Subject, Message)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim iMsg&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set iMsg = CreateObject("CDO.Message")&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; With iMsg&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .To&amp;nbsp;&amp;nbsp; = MailTo&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .From = From&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Subject&amp;nbsp; = Subject&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If UCase(FileType) = "HTML" Then&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .HTMLBody = Message&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf UCase(FileType) = "ATTACHMENT" Then&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .AddAttachment FileName&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .TextBody = Message&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End With&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gotodba.com"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iMsg.Configuration.Fields.Update&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iMsg.Send&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;End Function&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-7283774365466434247?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/7283774365466434247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/audit-report-generation-for-oracle-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7283774365466434247?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7283774365466434247?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/audit-report-generation-for-oracle-in.html' title='Audit Report Generation For Oracle In HTML Format'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEIDSHkzcCp7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-149721670626754036</id><published>2011-06-09T12:09:00.001-07:00</published><updated>2011-06-09T12:09:39.788-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:09:39.788-07:00</app:edited><title>Install and Configure DB Link to DB2 Database in Linux</title><content type='html'>&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;This document provides step by step instructions to install &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;IBM DB2 Driver 9.1 for ODBC and CLI for Linux 64bit&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Prerequisites:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Symbol; font-size: 10pt; font-weight: normal;"&gt;·&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: navy; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Oracle Database Gateway for ODBC &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;is installed &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Symbol; font-size: 10pt; font-weight: normal;"&gt;·&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;unixODBC&amp;nbsp; is installed &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;# rpm -q unixODBC&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;unixODBC-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;unixODBC-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;# rpm -q unixODBC-devel&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;unixODBC-devel-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;unixODBC-devel-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Installing &lt;span style="color: black;"&gt;IBM DB2 Driver for ODBC and CLI&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 9.5pt;"&gt;There is no installation program for the IBM DB2 Driver for ODBC and CLI. You must install the driver manually&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;1.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Login as Oracle user&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;#su - oracle&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;2.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Create the directory &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;/u01/app/orcbin/db2_odbc_driver&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;, where you will install the driver.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;$ mkdir –p &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;/u01/app/orcbin/db2_odbc_driver&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;$ cd /u01/app/orcbin/db2_odbc_driver&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;3.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Locate the compressed file that contains the driver &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;/u01/install/Linux-64_11gR1/db2_client/v9fp6a_linuxx64_db2driver_for_odbc_cli.tar&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;4.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Copy &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;v9fp6a_linuxx64_db2driver_for_odbc_cli.tar&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt; to the install directory, &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;/u01/app/orcbin/db2_odbc_driver&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;$ cp /u01/install/Linux-64_11gR1/db2_client/v9fp6a_linuxx64_db2driver_for_odbc_cli.tar /u01/app/orcbin/db2_odbc_driver/&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;5.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Uncompress &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;v9fp6a_linuxx64_db2driver_for_odbc_cli.tar&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;: &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="font-size: 10pt;"&gt;$&lt;/span&gt;&lt;/b&gt; &lt;a href="" name="_Hlk221438504"&gt;&lt;b&gt;&lt;span courier="" new??="" style="font-size: 10pt;"&gt;tar -xvf &lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span courier="" new??="" style="color: black; font-size: 9.5pt;"&gt;v9fp6a_linuxx64_db2driver_for_odbc_cli.tar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Configuring &lt;span style="color: black;"&gt;IBM DB2 Driver for ODBC and CLI&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;1.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Add the following to the beginning of the db2cli.ini.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;Be sure to add an extra blank line at the end of the ini file.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;The file is readonly, use &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;:wq!&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt; to save it.&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;$ &lt;/span&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;vi clidriver/cfg/db2cli.ini&lt;/span&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt; &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;[COMMON]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;Trace=0&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;TracePathName=/u01/app/orcbin/db2_odbc_driver/clidriver/trace/&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;TraceComm=1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;TraceFlush=1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;TraceTimeStamp=1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;[MYDB2]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;Database=MYDB2&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;Hostname=mydb2.gotodba.com&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;Port=50000&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;Protocol=TCPIP&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;2.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Configure ODBC.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;$ su – root&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;# vi /etc/odbc.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;[ODBC Data Source]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;MYDB2=IBM DB2 ODBC DRIVER&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;[WBBURT1]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Driver&lt;/span&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;=/u01/app/orcbin/db2_odbc_driver/clidriver&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;/lib/libdb2.so&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Description=MYDB2 DB2 ODBC Database&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;3.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Test DB2 ODBC connectivity&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;# isql -v MYDB2 userid password&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;+---------------------------------------+&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| Connected!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| sql-statement&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| help [tablename]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;+---------------------------------------+&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;SQL&amp;gt; quit&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Configuring Oracle &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Database Gateway for ODBC&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31042/configodbc.htm#CIHFEGDA"&gt;http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31042/configodbc.htm#CIHFEGDA&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;1.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Configure the Gateway Initialization Parameter File.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;For Oracle RAC database HRDCSTG, the initial parameter GLOBAL_NAMES = true, DB_Domain = mycompany.com, which enforce that database links have same name as remote database.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;So in the initMYDB2.ora,&amp;nbsp;&amp;nbsp; HS_DB_NAME and HS_DB_DOMAIN parameters have to be set.&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;# su – oracle&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;$ cd $ORACLE_HOME/hs/admin&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;$ cp initdg4odbc.ora initMYDB2.ora&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;$ vi initMYDB2.ora&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;# HS init parameters&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_CONNECT_INFO = MYDB2&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_TRACE_LEVEL = 0&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_SHAREABLE_NAME = /u01/app/orcbin/db2_odbc_driver/clidriver/lib/libdb2.so&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;HS_DB_NAME = MYDB2&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt;"&gt;HS_DB_DOMAIN = GOTODBA.COM&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;# ODBC specific environment variables&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;set ODBCINI = /etc/odbc.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;# Environment variables required for the non-Oracle system&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span courier="" new??="" style="color: windowtext; font-size: 10pt; font-weight: normal;"&gt;#set &lt;envvar&gt;=&lt;value&gt;&lt;/value&gt;&lt;/envvar&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h2 style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt; font-style: normal; font-weight: normal;"&gt;2.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt; font-style: normal; font-weight: normal;"&gt;Configure Oracle Net for the Gateway&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;$ cd $ORACLE_HOME/network/admin&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;$ vi listener.ora&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;# Append the following lines&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;SID_LIST_LISTENER_NYCDB01=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; (SID_LIST=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_DESC=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_NAME = MYDB2)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ORACLE_HOME = /u01/app/orcbin/oracle/product/11.1.0/db_1)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PROGRAM = dg4odbc)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENVS=LD_LIBRARY_PATH=/u01/app/orcbin/db2_odbc_driver/clidriver/lib:/u01/app/orcbin/oracle/product/11.1.0/db_1/lib)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;$ vi tnsname.ora&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;# Append the following lines&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;MYDB2 =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp; (DESCRIPTION =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = nycdb01-vip.gotodba.com)(PORT = 1521))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = nycdb02-vip.gotodba.com)(PORT = 1521))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = MYDB2)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (HS = OK)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;3.&lt;span new="" roman??="" style="font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;" times=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;Restart Listner&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span courier="" new??="" style="font-size: 9.5pt;"&gt;$lsnrctl reload&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Create DB Link in the Oracle database&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Login to the database as sys, &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;CREATE&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;PUBLIC&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;DATABASE&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;LINK&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; MYDB2&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;CONNECT&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;TO&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; userid&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;IDENTIFIED&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;BY&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; password&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;USING&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; 'MYDB2'&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Note:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Oracle RAC database ORCL, the initial parameter GLOBAL_NAMES = true, DB_Domain = gotodba.com, the above command will create db link &lt;b&gt;MYDB2.gotodba&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="background: white; font-family: Courier; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Courier; font-size: 10pt;"&gt;com&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: Courier; font-size: 10pt;"&gt;, the db link name has to match &lt;/span&gt;&lt;span courier="" new??="" style="font-size: 10pt;"&gt;initMYDB2.ora &lt;b&gt;HS_DB_NAME. HS_DB_DOMAIN&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-149721670626754036?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/149721670626754036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/install-and-configure-db-link-to-db2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/149721670626754036?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/149721670626754036?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/install-and-configure-db-link-to-db2.html' title='Install and Configure DB Link to DB2 Database in Linux'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEIFQnYzeip7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-116017472728033801</id><published>2011-06-09T12:08:00.001-07:00</published><updated>2011-06-09T12:08:33.882-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:08:33.882-07:00</app:edited><title>How to Change Interconnect/Public Interface IP in Clusterware</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;Change interface for interconnect &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;Confirm the current interfaces configuration used by the cluster&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Following is an example. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;eth4&amp;nbsp; 192.168.251.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;pub_bond&amp;nbsp; 10.164.227.0&amp;nbsp; global&amp;nbsp; public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start="2" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Stop the database and nodeapps on both nodes. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ srvctl stop database -d DB_NAME&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ srvctl stop nodeapps -n node_name_first&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ srvctl stop nodeapps -n node_name_second&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Following is an example&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ srvctl stop database -d dbprd&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ srvctl stop nodeapps -n nycdb01&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ srvctl stop nodeapps -n nycdb02&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start="3" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;The only way to change interface is to delete the existing interface and add new interface. Delete the interface with &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ $ORA_CRS_HOME/bin/oifcfg delif -global interface_name&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Add new interface&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ $ORA_CRS_HOME/bin/oifcfg setif -global new_if/network_number:cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Following is an example. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;eth4 192.168.251.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;pub_bond&amp;nbsp; 10.164.227.0&amp;nbsp; global&amp;nbsp; public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg delif -global eth4&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;pub_bond&amp;nbsp; 10.164.227.0&amp;nbsp; global&amp;nbsp; public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg setif -global int_bond/192.168.251.0:cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Confirm the changes have taken place. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 oracle]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;int_bond&amp;nbsp; 192.168.251.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;pub_bond&amp;nbsp; 10.164.227.0&amp;nbsp; global&amp;nbsp; public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;Public Interface and VIP change &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;If changed interface is public interface then that also involves modification of VIP. Changing the VIP involves modification of the nodeapps.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Stop nodeapps. Though it is not mandatory, but changes will only take effect once nodeapps are restarted. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ srvctl stop nodeapps -n node_name_first&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;$ srvctl stop nodeapps -n node_name_second&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start="2" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;Confirm current configuration.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;eth1&amp;nbsp; 10.164.227.0&amp;nbsp; global&amp;nbsp; public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;eth4&amp;nbsp; 192.168.251.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;We want to change public interface from eth1 to pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg delif -global eth1&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg getif&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;eth4&amp;nbsp; 192.168.251.0&amp;nbsp; global&amp;nbsp; cluster_interconnect&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ $ORA_CRS_HOME/bin/oifcfg setif -global pub_bond/10.164.227.0:public&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ srvctl modify nodeapps -n nycdb01 -A 10.164.227.152/255.255.255.0/pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;PRKO-2117 : This command should be executed as the system privilege user.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[oracle@nycdb01 ~]$ su root&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Password:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[root@nycdb01 oracle]# srvctl modify nodeapps -n nycdb01 -A 10.164.227.152/255.255.255.0/pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[root@nycdb01 oracle]# srvctl modify nodeapps -n nycdb02 -A 10.164.227.151/255.255.255.0/pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start="3" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Verify configuration&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[root@nycdb01 oracle]# $ORA_CRS_HOME/bin/crs_stat -p ora.nycdb01.vip | grep USR_ORA_IF&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;USR_ORA_IF=pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[root@nycdb01 oracle]# $ORA_CRS_HOME/bin/crs_stat -p ora.nycdb02.vip | grep USR_ORA_IF&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;USR_ORA_IF=pub_bond&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;[root@nycdb01 oracle]# crs_stat2&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Reference&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;: Metalink notes&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 99pt;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;283684.1 &lt;a href="https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=283684.1"&gt;&lt;span style="color: windowtext; text-decoration: none;"&gt;How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 99pt;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;276434.1 Modifying the VIP or VIP Hostname of a 10g or 11g Oracle Clusterware Node&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-116017472728033801?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/116017472728033801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/how-to-change-interconnectpublic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/116017472728033801?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/116017472728033801?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/how-to-change-interconnectpublic.html' title='How to Change Interconnect/Public Interface IP in Clusterware'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEMCR3Y5eSp7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-6724531977207683525</id><published>2011-06-09T12:07:00.001-07:00</published><updated>2011-06-09T12:07:46.821-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:07:46.821-07:00</app:edited><title>Install and Configure DB Link to SQL Server Database in Linux</title><content type='html'>&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;This document provides step by step instructions to install &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;IBM DB2 Driver 9.1 for ODBC and CLI for Linux 64bit&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Prerequisites:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Symbol; font-size: 10pt; font-weight: normal;"&gt;·&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: navy; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Oracle Database Gateway for ODBC &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;is installed &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Symbol; font-size: 10pt; font-weight: normal;"&gt;·&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;unixODBC&amp;nbsp; is installed &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;# rpm -q unixODBC&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;unixODBC-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;unixODBC-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;# rpm -q unixODBC-devel&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;unixODBC-devel-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;unixODBC-devel-2.2.11-7.1&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Installing &lt;span style="color: black;"&gt;FreeTDS ODBC Driver for SQL Server&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;1.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Login as su user&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 9.5pt;"&gt;# su – &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;2.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Create the directory &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;/usr/local/freetds&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;, where you will install the driver.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 9.5pt;"&gt;# mkdir –p &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 9.5pt;"&gt;/&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 9.5pt;"&gt;# mkdir /usr/local/freetds&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;3.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Locate the compressed file that contains the driver &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;/&lt;/span&gt; &lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;/u01/install/Linux-64_11gR1/SQL_Server_ODBC_Driver/&lt;/span&gt; &lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;freetds-stable.tar&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;4.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Copy &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;v9fp6a_linuxx64_db2driver_for_odbc_cli.tar&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt; to , &lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;/u01/app/orcbin/db2_odbc_driver&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 9.5pt;"&gt;# cp /u01/install/Linux-64_11gR1/SQL_Server_ODBC_Driver/freetds-stable.tar .&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;5.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;Unpack &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;freetds_stable.tar&lt;/span&gt;&lt;span style="color: black; font-family: Verdana; font-size: 9.5pt;"&gt;: &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;#&lt;/span&gt;&lt;/b&gt; &lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;tar -xvf freetds-stable.tar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;6.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Install freetds&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;# cd freetds-0.82 &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;# &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;7.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Make &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;# make; make install; make clean&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Configuring &lt;span style="color: black;"&gt;FreeTDS Driver for ODBC &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;1.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Configure ODBC.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;$ su – root&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;# vi /etc/odbc.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;[ODBC Data Sources]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;MYDB2=IBM DB2 ODBC DRIVER&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;SQLDB=FreeTDS&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;[SQLDB]&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Driver = /usr/local/freetds/lib/libtdsodbc.so&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;#Driver = /usr/lib64/libodbc.so&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Server = dbSQLDB.gotodba.com&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Database = SQLDB&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Port = 1433&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;TDS_Version = 8.0&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;2.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Test SQL Server ODBC connectivity&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;# isql -v SQLDB userid password&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;+---------------------------------------+&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| Connected!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| sql-statement&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| help [tablename]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;| quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;+---------------------------------------+&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;SQL&amp;gt; quit&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Configuring Oracle &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Database Gateway for ODBC&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 9.5pt;"&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31042/configodbc.htm#CIHFEGDA"&gt;http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31042/configodbc.htm#CIHFEGDA&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h1 style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;1.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;Configure the Gateway Initialization Parameter File.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt;"&gt;For Oracle RAC database ORCL, the initial parameter GLOBAL_NAMES = true, DB_Domain = gotodba.com, which enforce that database links have same name as remote database.&amp;nbsp; &lt;/span&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;So in the initSQLDB.ora,&amp;nbsp;&amp;nbsp; HS_DB_NAME and HS_DB_DOMAIN parameters have to be set.&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt;"&gt;&lt;span style="color: windowtext; font-family: Verdana; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;# su – oracle&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;$ cd $ORACLE_HOME/hs/admin&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;$ cp initdg4odbc.ora initSQLDB.ora&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;$ vi initSQLDB.ora&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;# This is a sample agent init file that contains the HS parameters that are&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;# needed for the Database Gateway for ODBC&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;# HS init parameters&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_CONNECT_INFO = SQLDB&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_TRACE_LEVEL = 0&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;HS_DB_NAME = SQLDB&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;HS_DB_DOMAIN = GOTODBA.COM&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;HS_FDS_SUPPORT_STATISTICS = FALSE &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;# ODBC specific environment variables&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;set ODBCINI = /etc/odbc.ini&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;# Environment variables required for the non-Oracle system&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;#set &amp;lt;envvar&amp;gt;=&amp;lt;value&amp;gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt;"&gt;Note: &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;Need to set &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt;"&gt;HS_FDS_SUPPORT_STATISTICS = FALSE &lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;Check Metsalink Doc. ID: &lt;/span&gt;&lt;strong&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;744636.1 for &lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt; text-indent: 0.25in;"&gt;&lt;strong&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;h1 style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;ERROR at line 1: &lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;ORA-28500: connection from ORACLE to a non-Oracle system returned this message: &lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;[FreeTDS][SQL Server]Invalid cursor state &lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; font-weight: normal;"&gt;ORA-02063: preceding 2 lines from DG4ODBC&lt;/span&gt;&lt;/h1&gt;&lt;h2 style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt; font-style: normal; font-weight: normal;"&gt;2.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt; font-style: normal; font-weight: normal;"&gt;Configure Oracle Net for the Gateway&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;$ cd $ORACLE_HOME/network/admin&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;$ vi listener.ora&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;# Append the following lines&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;SID_LIST_LISTENER_TWNYCSLD04=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; (SID_LIST=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_DESC=&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_NAME = MYDB2)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ORACLE_HOME = /u01/app/orcbin/oracle/product/11.1.0/db_1)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PROGRAM = dg4odbc)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENVS=LD_LIBRARY_PATH=/u01/app/orcbin/db2_odbc_driver/clidriver/lib:/u01/app/orcbin/oracle/product/11.1.0/db_1/lib)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_DESC =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ORACLE_HOME = /u01/app/orcbin/oracle/product/11.1.0/db_1)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_NAME = SQLDB)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PROGRAM = dg4odbc)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENVS=LD_LIBRARY_PATH=/usr/lib64:/usr/local/freetds/lib:/u01/app/orcbin/oracle/product/11.1.0/db_1/lib)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;$ vi tnsname.ora&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;# Append the following lines&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;SQLDB =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp; (DESCRIPTION =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = nycdb1-vip.gotodba.com)(PORT = 1521))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = nycdb2-vip.gotodba.com)(PORT = 1521))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = SQLDB)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (HS = OK)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;&amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;3.&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;Restart Listner&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 0.25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 9.5pt;"&gt;$lsnrctl reload&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Create DB Link in the Oracle database&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Login to the database as spdc, &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;CREATE&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;DATABASE&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;LINK&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; SQLDB&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;CONNECT&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;TO&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; userid&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;IDENTIFIED&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;BY&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; password&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;USING&lt;/span&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt; 'SQLDB'&lt;/span&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Note:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="vertical-align: baseline;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Oracle RAC database ORCL, the initial parameter GLOBAL_NAMES = true, DB_Domain = gotodba.com, the above command will create db link &lt;/span&gt;&lt;b&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;SQLDB&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white; color: blue; font-family: Courier; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white; color: black; font-family: Courier; font-size: 10pt;"&gt;GOTODBA.COM&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: Courier; font-size: 10pt;"&gt;, the db link name has to match &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;initSQLDB.ora &lt;b&gt;HS_DB_NAME. HS_DB_DOMAIN&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-6724531977207683525?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/6724531977207683525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/install-and-configure-db-link-to-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/6724531977207683525?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/6724531977207683525?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/install-and-configure-db-link-to-sql.html' title='Install and Configure DB Link to SQL Server Database in Linux'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEQMSH84eip7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-4546436703142793513</id><published>2011-06-09T12:06:00.001-07:00</published><updated>2011-06-09T12:06:29.132-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:06:29.132-07:00</app:edited><title>Rolling Forward Standby Database When Archive Log is Missing</title><content type='html'>&lt;span style="font-weight: normal;"&gt;Oracle Dataguard is technology of choice for maintaining disaster recovery site. Over past few releases it has matured significantly and with data guard broker and grid control it is really easy to setup, maintain and perform switchovers.&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;To setup a standby you have to clone the primary database, after that depending on type of physical standby data guard you choose, either redo logs or archived logs are transferred to standby site and applied. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Standby data guard is quite resilient in terms of catching up with primary database. If network is down for some time, standby falls behind primary but as network becomes available standby requests missing logs and continues to apply them. It may take some time to catch up the primary depending on amount of logs generated during network disruption. &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;If for some reason some of the archived logs are missing then you may think you will have to redo the standby setting from scratch by cloning the database again. But there is good news for you, you can roll forward standby to recover up to current SCN of primary without applying missing archived logs. &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;The basic idea is to capture status of current standby database, then compare it with primary database and gather incremental change and apply it on standby.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Here are the step by step instructions:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
1. Shutdown standby database. &lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt; SHUTDOWN IMMEDIATE;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
2. Rename existing control files in standby &lt;br /&gt;
&lt;br /&gt;
3. Start a SQL session on the primary database and create the control file for the standby database: &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt; ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'stbycf.ctl';&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
4. Copy the standby control file to all control files locations in standby server. &lt;br /&gt;
&lt;br /&gt;
5. Connect to the standby database and mount (but do not open) the standby database: &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;SQL&amp;gt; STARTUP MOUNT;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
6. If data file locations are different in primary and standby, verify that spfile has db_file_name_convert defined. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt; SHOW PARAMETER CONVERT;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
7. If convert parameter is missing, set it and shutdown the database and startup mount again. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt;ALTER SYSTEM SET DB_FILE_NAME_CONVERT='H:\MYDB\SYSTEM01.DBF', 'H:\MYDB\SYS\SYSTEM01.DBF','M:\MYDB\UNDOTBS01.DBF','I:\MYDB\UNDO\UNDOTBS01.DBF' SCOPE=SPFILE;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
8. Connect to the recovery catalog and the standby database as the target, and manually catalog the standby datafiles as datafile copies &lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CONNECT CATALOG RMANUSER/PASSWORD@RMANDB&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CONNECT TARGET SYS/PASSWORD@STDBYMYDB&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CATALOG DATAFILECOPY&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'H:\MYDB\SYS\SYSTEM01.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'I:\MYDB\UNDO\UNDOTBS01.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'H:\MYDB\DATA1\MYSCHEMA_DATA01.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'I:\MYDB\DATA2\MYSCHEMA_DATA02.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'I:\MYDB\IDX1\MYSCHEMA_INDX01.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'H:\MYDB\IDX2\MYSCHEMA_INDX02.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'I:\MYDB\DATA2\TOOLS01.DBF',&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'H:\MYDB\SYS\SYSAUX01.DBF'&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LEVEL 0 TAG 'STBY';&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
9. Exit RMAN and start it again then connect to the recovery catalog and the primary database as the target, and create an incremental level 1 backup using the datafile copies as the parent level 0. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CONNECT CATALOG RMANUSER/PASSWORD@RMANDB&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CONNECT TARGET SYS/PASSWORD@MYDB&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;RUN {&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK1 TYPE DISK FORMAT 'D:\BACKUP\MYDB\STDBY\INC_MYDB_%U_%S_%T.BAK'; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK2 TYPE DISK FORMAT 'D:\BACKUP\MYDB\STDBY\INC_MYDB_%U_%S_%T.BAK'; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK3 TYPE DISK FORMAT 'D:\BACKUP\MYDB\STDBY\INC_MYDB_%U_%S_%T.BAK'; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK4 TYPE DISK FORMAT 'D:\BACKUP\MYDB\STDBY\INC_MYDB_%U_%S_%T.BAK'; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;BACKUP AS COMPRESSED BACKUPSET &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;INCREMENTAL LEVEL 1 TAG 'STBY' FOR RECOVER OF COPY WITH TAG 'STBY' DATABASE;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK1; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK2; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK3; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK4; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
9. Exit RMAN &lt;br /&gt;
&lt;br /&gt;
10. Copy the newly created backup piece to the same location on the standby system &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;COPY D:\BACKUP\MYDB\STDBY\*.* \STDBYSERVER\D$\BACKUP\MYDB\STDBY&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
10. To minimize the possibility of any other programs accessing Oracle files, stop Oracle agents and remove broker configuration as well. &lt;br /&gt;
&lt;br /&gt;
11. Remove broker configuration using DGMGRL &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DGMGRL&amp;gt; REMOVE CONFIGURATION;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
12. Start RMAN and connect to the recovery catalog and the standby database as the target, and roll the datafile copies forward &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;RMAN&amp;gt;CONNECT CATALOG RMANUSER/PASSWORD@RMANREP&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;RMAN&amp;gt;CONNECT TARGET SYS/PASSWORD@STDBYMYDB&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;RMAN&amp;gt;RUN {&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SQL 'ALTER DATABASE MOUNT';&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK1 TYPE DISK; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK2 TYPE DISK; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK3 TYPE DISK; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ALLOCATE CHANNEL DSK4 TYPE DISK; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RECOVER COPY OF DATABASE WITH TAG 'STBY';&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK1; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK2; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK3; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;RELEASE CHANNEL DSK4; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
13. Using SQL Plus at standby database, &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt;SHUTDOWN IMMEDIATE;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt;STARTUP NOMOUNT;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt;ALTER DATABASE MOUNT STANDBY DATABASE;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQL&amp;gt;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
14. Verify that the database started without any error - check alert log file. &lt;br /&gt;
&lt;br /&gt;
15. Start the Oracle agents and upload agent. &lt;br /&gt;
&lt;br /&gt;
16. Once standby server appears online in Grid, setup the data guard configuration. &lt;br /&gt;
&lt;br /&gt;
17. Verify that the logs are getting copied and applied. &lt;br /&gt;
&lt;br /&gt;
18. Connect to RMAN and standby database and delete the incremental backup &lt;span style="font-family: Courier; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;DELETE BACKUP TAG 'STBY';&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;RMAN&amp;gt;CHANGE COPY LIKE 'D:\BACKUP\MYDB\STDBY\%' UNCATALOG;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;This has proved to be a life saver for me when some archived log files disappeared from primary database and I was worried that I have to start from scratch. It has been tested in Oracle 10g, and it should work in 11g as well. You may even chose to use this if standby is far behind primary after a long network disruption, thus avoiding long archive log transfer and apply process to sync up standby with primary.&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-4546436703142793513?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/4546436703142793513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/rolling-forward-standby-database-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/4546436703142793513?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/4546436703142793513?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/rolling-forward-standby-database-when.html' title='Rolling Forward Standby Database When Archive Log is Missing'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEUAQno7fyp7ImA9WhZUFkk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-6095969281233319411</id><published>2011-06-09T12:04:00.000-07:00</published><updated>2011-06-09T12:04:03.407-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-09T12:04:03.407-07:00</app:edited><title>Keeping Track of Virtual Databases in Windows</title><content type='html'>&lt;div class="paragraph editable-text" style="text-align: left;"&gt;&lt;h2 style="text-align: left;"&gt;&lt;br /&gt;
&lt;/h2&gt;If you have SQL Server or Oracle databases in Microsoft Windows clustered environment, then you always want to keep virtual servers running on their preferred nodes especially if you have more than one virtual database in a cluster.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
However, sometimes you may discover that database servers are not performing well and you may find that two or more virtual servers may be running on same node. This can happen if there was any error on one of the servers and virtual databases failed over to other node. Or you may have applied patches on Windows operating servers and rebooted them but forgot to failover the virtual servers to proper nodes.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You may have server monitoring system in place to alert you about any resource failovers but as an administrator you may get tons of alerts of different criticality everyday and may miss such email. &lt;br /&gt;
&lt;br /&gt;
To overcome such situation, you can write a script to go after all your clustered databases and find where they are running. You can run this VBScript every morning or schedule it and send report on email, which you should not ignore.&lt;br /&gt;
&lt;br /&gt;
The following script (save as c:\checkservice\checkservice.vbs) generates a report in HTML format. You can change the color scheme to your liking.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The script uses arrays to store server name and service names you want to report on. It can report on clustered or stand alone servers, the number of services on standalone will be half of clustered ones.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
First entry in the array is physical server name, rest are service names. &lt;br /&gt;
&lt;br /&gt;
You can add as many servers and services in the list, just make sure to change the array SQLServer and OracleServer, also change the number in WHILE LOOP as well.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
This script calls WMI script to query each server in the list to query service status, so the account you login to run the script must have administrative rights on all the servers.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'Usage&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: Double click on the file if you are logged in with Admin account or&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Open a command window with Admin account and run cscript.exe&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;checkservice.vbs&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Const ForWriting = 2, ForReading = 1, RunningColor = "#339900", StoppedColor = "#CC0000", White = "#FFFFFF", LightGrey = "#C0C0C0"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Dim SQLServer(3,4), OracleServer(3,4), bgColor, sDisplayName&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;On Error Resume Next&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' standalone server with MSSQL and Agent services only&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,0) = ("SKSQLSDB01")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,1) = ("SQL Server (MSSQLSERVER)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,2) = ("SQL Server Agent (MSSQLSERVER)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' clustered servers with named instances&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,0) = ("SKSQLCDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,1) = ("SQL Server (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,2) = ("SQL Server Agent (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,3) = ("SQL Server (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,4) = ("SQL Server Agent (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,0) = ("SKSQLCDB04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,1) = ("SQL Server (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,2) = ("SQL Server Agent (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,3) = ("SQL Server (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,4) = ("SQL Server Agent (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' standalone server with Oracle database ORCL and listener services only&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,0) = ("SKORADB01")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,1) = ("OracleServiceORCL")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,2) = ("OracleOraDb10g_home1TNSListener")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' clustered servers Oracle FailSafe databases and listeners&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,0) = ("SKORACDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,1) = ("OracleServiceORCL03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,2) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,3) = ("OracleServiceORCL04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,4) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB04")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,0) = ("SKORACDB04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,1) = ("OracleServiceORCL03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,2) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,3) = ("OracleServiceORCL04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,4) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB04")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set fso = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set Logfile = fso.OpenTextFile("C:\CheckService\status.htm", ForWriting, True)&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;HTML&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;HEAD&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;META content=""text/html; charset=utf-8"" http-equiv=Content-Type&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TITLE&amp;gt;Database Services Status&amp;lt;/TITLE&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/HEAD&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;BODY&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;H3&amp;gt;SQL Server Services Status&amp;lt;/H3&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;p style=""font-family:verdana""&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;&amp;lt;TABLE BORDER=1&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServerName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServiceName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;Status&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;i = 0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Do While i &amp;lt;= 3&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;strComputer = SQLServer(i,0)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set objWMIService = GetObject("winmgmts:" _&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;amp; "{impersonationLevel=impersonate}!\" &amp;amp; strComputer &amp;amp; "\root\cimv2")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If Err.Number &amp;lt;&amp;gt; 0 Then &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;Error " &amp;amp; CStr(Err.Number) &amp;amp; " Occurred&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; Err.Description &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do While j &amp;lt;= 4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If IsEmpty(SQLServer(i,j)) Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exit Do&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sDisplayName = SQLServer(i,j)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set colRunningServices&lt;span&gt;&amp;nbsp; &lt;/span&gt;= objWMIService.ExecQuery("Select * from Win32_Service where DisplayName = '" &amp;amp; sDisplayName &amp;amp; "'")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;For Each objService in colRunningServices &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If objService.State = "Running" Then&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; RunningColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Next&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = j + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine()&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i = i + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If bgColor = White Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = LightGrey&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/TABLE&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;H3&amp;gt;Oracle Server Services Status&amp;lt;/H3&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;p style=""font-family:verdana""&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;&amp;lt;TABLE BORDER=1&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServerName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServiceName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;Status&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;i = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Do While i &amp;lt;= 3&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;strComputer = OracleServer(i,0)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set objWMIService = GetObject("winmgmts:" _&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;amp; "{impersonationLevel=impersonate}!\" &amp;amp; strComputer &amp;amp; "\root\cimv2")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If Err.Number &amp;lt;&amp;gt; 0 Then &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;Error " &amp;amp; CStr(Err.Number) &amp;amp; " Occurred&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; Err.Description &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do While j &amp;lt;= 4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If IsEmpty(OracleServer(i,j)) Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exit Do&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sDisplayName = OracleServer(i,j)&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set colRunningServices&lt;span&gt;&amp;nbsp; &lt;/span&gt;= objWMIService.ExecQuery("Select * from Win32_Service where DisplayName = '" &amp;amp; sDisplayName &amp;amp; "'")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;For Each objService in colRunningServices &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If objService.State = "Running" Then&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; RunningColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Next&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = j + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine()&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i = i + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If bgColor = White Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = LightGrey&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/BODY&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/HTML&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Logfile.close&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set oShell = WScript.CreateObject ("WSCript.shell")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;oShell.run "iexplore C:\CheckService\status.htm"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set oShell = Nothing&lt;/span&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You can run this script by double clicking it and it generates a file status.htm and opens it with Internet Explorer.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Other option is to comment out the oShell.run line, write a batch file and schedule it to run every morning and send the report in email.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Here is the batch file checkservice.bat&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;@echo off&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;cscript.exe c:\CheckService\CheckService.vbs&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;cscript.exe c:\checkservice\sendmailHTML.vbs "dba@mycompany.com" "serverstatus@mycompany.com" "Services Status Report" "c:\CheckService\status.htm" HTML&lt;/span&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
SendmailHTML.vbs is also a VBScript which sends email in HTML format using a SMTP server. Change YOUR_SMTP_SERVER_NAME with your smtp server name or IP. You can also send file attachment or plain text email with this script.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'**********************************************************************&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp; &lt;/span&gt;Usage: cscript.exe c:\checkservice\sendmailhtml.vbs "to@company.com" "from@company.com" "Subject" "HTMLfile" "HTML"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'***********************************************************************&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;const ForReading=1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Dim ObjArgs, MailTo, From, Subject, Message, wshshell, goFS, oFile, FileName, FileType&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set ObjArgs = WScript.Arguments&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;MailTo = ObjArgs(0)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;From&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(1)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Subject&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(2)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;FileName&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(3)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;if ObjArgs.Count = 5 then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;FileType = ObjArgs(4)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;end if&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set wshshell=wscript.createobject("Wscript.Shell")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set goFs=createobject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'This code requires the file to exist to compile&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set oFile = goFs.OpenTextFile(FileName, ForReading)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Message = oFile.ReadAll&amp;nbsp; &lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Call SendMail(MailTo, From, Subject, Message)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;oFile.Close&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set wshshell = nothing&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set goFs = nothing&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set oFile = nothing&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Function SendMail(MailTo, From, Subject, Message)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim iMsg&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set iMsg = CreateObject("CDO.Message")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;With iMsg&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.To&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;= MailTo&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.From = From&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.Subject&lt;span&gt;&amp;nbsp; &lt;/span&gt;= Subject&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If UCase(FileType) = "HTML" Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.HTMLBody = Message&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ElseIf UCase(FileType) = "ATTACHMENT" Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.AddAttachment FileName&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.TextBody = Message&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End With&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "YOUR_SMTP_SERVER_NAME"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields.Update&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Send&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;End Function&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-6095969281233319411?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/6095969281233319411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/keeping-track-of-virtual-databases-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/6095969281233319411?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/6095969281233319411?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/keeping-track-of-virtual-databases-in.html' title='Keeping Track of Virtual Databases in Windows'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CUYCQn8zcSp7ImA9WhZUFEQ.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-8297459501908808423</id><published>2011-06-07T07:46:00.000-07:00</published><updated>2011-06-07T17:32:43.189-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-06-07T17:32:43.189-07:00</app:edited><title>Mixed Mode Share (NFS/CIFS) in a NetApp Filer</title><content type='html'>We&amp;nbsp;had a requirement to setup a mixed mode share where a Linux server will map to the share using NFS and Windows desktop users will access it using CIFS.&amp;nbsp;We created a qtree and for security style we had three options.&lt;br /&gt;
&lt;br /&gt;
1. Unix Style - where folder and files follow unix style security of drwxrwxrwx.&lt;br /&gt;
2. Windows Style - where folder and files follow&amp;nbsp;Windows style security of access to users and groups and varied level of accesses.&lt;br /&gt;
3. Mixed Style - where windows machine will still use drwxrwxrwx style security and Windows machine will use users and group level access.&lt;br /&gt;
&lt;br /&gt;
Netapp recommends against Mixed mode and prefers using security style of the dominant file system that accesses the qtree. Since Linux was the primary user of the share we decided to use Unix style, but we ran into issue where we could not grant fine grained access to Windows account as it is not available in Unix style security.&lt;br /&gt;
&lt;br /&gt;
Next we decided to convert&amp;nbsp;the security style to Mixed mode. It allowed us to grant ownership in Linux for the application user and group and fine grained access in Windows share. This created&amp;nbsp;another problem. Whenever Windows priveleges were granted to the&amp;nbsp;shared folder, windows users were able to access to the folder but Unix user lost privilge. The folder was owned by root and group bin.&lt;br /&gt;
&lt;br /&gt;
We changed the owner of the folder from Linux machine to application user and group, that&amp;nbsp;caused windows users to &amp;nbsp;lose permission. Windows users were granted permission based on Active Directory group, no direct permission to&amp;nbsp;a user.&lt;br /&gt;
&lt;br /&gt;
The solution to this problem was to convert security style to unix and modify usermap.cfg file in /etc folder of the filer to add mapping for windows user to map as application user. For example one entry in usermap.cfg looked like&lt;br /&gt;
&lt;br /&gt;
windowsdomain\user1 =&amp;gt; linuxappuser&lt;br /&gt;
&lt;br /&gt;
After that we restarted CIFS service in filer and that fixed the permission issues. Now both Linux and Windows users could access the share with one caveat, Windows users had same privilege as the application user account. You can remediate by creating a local Linux account for each user, but for our purpose all windows accounts mapping to application user account was acceptable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-8297459501908808423?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/8297459501908808423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/mixed-mode-share-nfscifs-in-netapp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/8297459501908808423?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/8297459501908808423?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/06/mixed-mode-share-nfscifs-in-netapp.html' title='Mixed Mode Share (NFS/CIFS) in a NetApp Filer'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkAFRHY4fCp7ImA9WhZWEU8.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-2063093292941860713</id><published>2011-05-07T15:36:00.000-07:00</published><updated>2011-05-11T07:38:35.834-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-05-11T07:38:35.834-07:00</app:edited><title>Monitor Informatica PowerCenter using Oracle Enterprise Manager</title><content type='html'>Oracle Enterprise manager provides plugins for other Oracle applications but there is nothing available from Oracle or Informatica to monitor PowerCenter. However OEM can monitor host systems and web applications. Since PowerCenter has an Admin Console, I decided to setup monitoring using this feature.&lt;br /&gt;
&lt;br /&gt;
It involved multiple steps to complete the setup. &lt;br /&gt;
&lt;br /&gt;
1. Install Oracle Enterprise Manager Agent in PowerCenter host system and register it with OEM&lt;br /&gt;
2. Create a system&lt;br /&gt;
3. Create a web application&lt;br /&gt;
4. Create beacons&lt;br /&gt;
5. Setup notification rule&lt;br /&gt;
&lt;br /&gt;
This setup seemed to work until I ran into a situation where Admin Console site was responding with an error not loading login page. For OEM it looked up as it responded to http request.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I needed to find a better way to monitor this. I came across a feature called User Defined Metric (UDM) in OEM. It required me to write a script in host system, since my system is a Red Hat Linux,&amp;nbsp;I used bash script. This solution involved&lt;br /&gt;
&lt;br /&gt;
1. Create three&amp;nbsp;bash scripts which ran Informatica provided infacmd.sh to ping PowerCenter services, one for domain, another for repository and the third for integration service.&lt;br /&gt;
2. Setup UDM in OEM with metric type as Numeric and both warning and critical threshold to &amp;gt; 0.&lt;br /&gt;
3. Setup new notification rule. Pick host as the target and go to Metrics tab and select User Defined metrics (it is the last metrics listed) you created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script to monitor a domain&lt;br /&gt;
&lt;br /&gt;
INFA_HOME=/apps/informatica/910&lt;br /&gt;
INFA_DOMAIN=Domain_ABC&lt;br /&gt;
INFA_NODE=Node_mynode&lt;br /&gt;
INFA_HOST=myhost&lt;br /&gt;
&lt;br /&gt;
$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -nn $INFA_NODE&lt;br /&gt;
OUT=`expr $?`&lt;br /&gt;
&lt;br /&gt;
if [ "$OUT" -eq 0 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Node $INFA_NODE in Domain $INFA_DOMAIN is Up on $INFA_HOST\n"&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Node $INFA_NODE in Domain $INFA_DOMAIN is Down on $INFA_HOST\n"&lt;br /&gt;
fi&lt;br /&gt;
exit&lt;br /&gt;
Script to monitor repository service&lt;br /&gt;
&lt;br /&gt;
INFA_HOME=/apps/informatica/910&lt;br /&gt;
INFA_DOMAIN=Domain_ABC&lt;br /&gt;
INFA_NODE=Node_mynode&lt;br /&gt;
INFA_HOST=myhost&lt;br /&gt;
$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -sn $INFA_PCREP&lt;br /&gt;
OUT=`expr $?`&lt;br /&gt;
if [ "$OUT" -eq 0 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Repository Service is Up\n"&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Repository Service is Down\n"&lt;br /&gt;
fi&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Script to monitor Integration service&lt;br /&gt;
&lt;br /&gt;
INFA_HOME=/apps/informatica/910&lt;br /&gt;
INFA_DOMAIN=Domain_ABC&lt;br /&gt;
INFA_NODE=Node_mynode&lt;br /&gt;
INFA_HOST=myhost&lt;br /&gt;
&lt;br /&gt;
$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -sn $INFA_PCIS&lt;br /&gt;
OUT=`expr $?`&lt;br /&gt;
if [ "$OUT" -eq 0 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Integration Service is Up\n"&lt;br /&gt;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e "em_result=$OUT\nem_message=Informatica Integration Service is Down\n"&lt;br /&gt;
fi&lt;br /&gt;
exit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-2063093292941860713?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/2063093292941860713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/05/monitor-informatica-powercenter-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/2063093292941860713?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/2063093292941860713?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/05/monitor-informatica-powercenter-using.html' title='Monitor Informatica PowerCenter using Oracle Enterprise Manager'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUQDRH0_fip7ImA9WhZXFEk.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-10884054678896234</id><published>2011-05-02T06:08:00.000-07:00</published><updated>2011-05-03T11:29:35.346-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-05-03T11:29:35.346-07:00</app:edited><title>LiteSpeed Log Shipping Error Msg 62301, Level 18, State 1, Line 0</title><content type='html'>Msg 62301, Level 18, State 1, Line 0 is&amp;nbsp; Microsoft SQL Server error which tells the log file you are trying to restore is not available.&lt;br /&gt;
&lt;br /&gt;
But if you are using LiteSpeed for LogShipping, LiteSpeed may fail with this error if there are any issues with the transaction log file itself. I have seen it happen many times even though the file exists and is the same size as in the source.&lt;br /&gt;
&lt;br /&gt;
LiteSpeed keeps track of all its error in LSTrackingLog table. The first thing to check is errors for latest restore attempt. Depending on how many files you are behind the same error may repeat many times so find the first error for the current batch.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;select&lt;/span&gt;&lt;/span&gt; * &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;from&lt;/span&gt;&lt;/span&gt; litespeed..lstrackinglog&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;where&lt;/span&gt;&lt;/span&gt; planid=&lt;span style="color: red;"&gt;&lt;span style="color: red;"&gt;'plan id'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;order &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;by&lt;/span&gt;&lt;/span&gt; logtimestamp &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;desc&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Where plan id is for the database in concern. You can get that from LSPlans table.&lt;br /&gt;
&lt;br /&gt;
Usually the error says the file you are trying to restore is newer than what LiteSpeed is looking for. An example of this error is &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;The log in this backup set begins at LSN 57971000000292000001, which is too late to apply to the database. An earlier log backup that includes LSN 57967000000278700001 can be restored.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now how do you find out which backup set has the LSN of interest.&lt;br /&gt;
&lt;br /&gt;
For that you need to query msdb database of the primary database.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;select&lt;/span&gt;&lt;/span&gt; bs.database_name, bs.first_lsn, bs.last_lsn, bs.backup_start_date, bs.backup_finish_date, bm.physical_device_name &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;from&lt;/span&gt;&lt;/span&gt; backupset &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;as&lt;/span&gt;&lt;/span&gt; bsjoin backupmediafamily &lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;as&lt;/span&gt;&lt;/span&gt; bm&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;on&lt;/span&gt;&lt;/span&gt; bs.media_set_id=bm.media_set_id&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="color: blue; font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;w&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;here &lt;span style="color: black;"&gt;bs.first_lsn=57967000000278700001&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black; font-family: inherit;"&gt;Next check if the backup file named by physical_device_name from the previous query exists in the secondary database server. If not copy it from the primary and run the LiteSpeed restore job. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;If that still does not solve the problem, which seems to happen quite often, you will need to delete the file in secondary, copy the file again (no overwriting existing file), and run the restore manually with &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: Courier New; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;exec&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt; &lt;span style="color: blue;"&gt;master&lt;/span&gt;&lt;span style="color: grey;"&gt;.&lt;/span&gt;dbo&lt;span style="color: grey;"&gt;.&lt;/span&gt;xp_restore_log&lt;span style="color: blue;"&gt; &lt;/span&gt;@database &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'YOUR_DATABASE_NAME_HERE'&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@filename &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'INSERT_TRANSACTIONLOG_BACKUP_FILENAME_HERE'&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@encryptionkey &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'INSERT_ENCRYPTION_KEY_HERE'&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@filenumber &lt;span style="color: grey;"&gt;=&lt;/span&gt; 1&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@with &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'NORECOVERY'&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@with &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'NOUNLOAD'&lt;/span&gt;&lt;span style="color: grey;"&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@with &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'STATS = 10'&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style="color: red; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="color: black; font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;If this succeeds, then you should be in good shape.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-10884054678896234?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/10884054678896234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/05/litespeed-log-shipping-error-msg-62301.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/10884054678896234?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/10884054678896234?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/05/litespeed-log-shipping-error-msg-62301.html' title='LiteSpeed Log Shipping Error Msg 62301, Level 18, State 1, Line 0'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CE4FSH06fCp7ImA9WhZQEks.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-597767654621150721</id><published>2011-04-19T18:28:00.000-07:00</published><updated>2011-04-19T18:28:39.314-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-19T18:28:39.314-07:00</app:edited><title>Reason for Extremely slow NFS performance Revealed</title><content type='html'>In a newly created Red Hat Linux 5.4 server, the NFS performance was extremely slow compared to local disk. Creating 1 GB file would complete in about a second with 878 MB/s&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Arial;"&gt;#dd if=/dev/zero of=/tmp/test.dat bs=1M&amp;nbsp; count=1024&lt;br /&gt;
1024+0 records in&lt;br /&gt;
1024+0 records out&lt;br /&gt;
1073741824 bytes (1.1 GB) copied, 1.244 seconds, 878 MB/s&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
But doing the same on a NFS mount (mounted on NetApp filer with 4 x 1 GB port channeled network) was taking&amp;nbsp;66 times longer.&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/zero of=/u01/apps//test.dat&amp;nbsp; bs=1M&amp;nbsp; count=1024&lt;br /&gt;
1024+0 records in&lt;br /&gt;
1024+0 records out&lt;br /&gt;
1073741824 bytes (1.1 GB) copied, 81.5585 seconds, 13.2 MB/s&lt;br /&gt;
&lt;div&gt;&amp;nbsp;One another server the NFS write to same storage device was five times better than this.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;#dd if=/dev/zero of=/tmp/test.dat bs=1M&amp;nbsp; count=1024&lt;br /&gt;
1024+0 records in&lt;br /&gt;
1024+0 records out&lt;br /&gt;
1073741824 bytes (1.1 GB) copied, 12.434 seconds, 87.8 MB/s&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
One other interesting fact was if I mounted the same NFS export interactively rather than using /etc/fstab, the performance was as good as I got from other server.&lt;br /&gt;
&lt;br /&gt;
The /etc/fstab setting was&lt;br /&gt;
&lt;br /&gt;
&lt;span class="056465922-19042011"&gt;&lt;span style="font-family: Arial;"&gt;10.164.192.69:/vol/vol7/test /u01/apps nfs _netdev,hard,suid,rsize=32768,wsize=32768,noac,intr&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
The first thing I changed after that was removing rsize and wsize parameter from /etc/fstab and remounted the NFS export. Now performance became even worse. Reading about rsize and wsize revealed that if these values are smaller than the NFS target, the performance suffers a lot. But checking /proc/mounts showed default value of wsize and rsize to be 65536, double the size in the original /etc/fstab.&lt;br /&gt;
&lt;br /&gt;
Next I removed noac and kept the rsize and wsize parameters as before and remounted NFS shares again. Tada! the performance was way better and it was same as other server.&lt;br /&gt;
&lt;br /&gt;
Further digging on noac parameter in NetApp documentation revealed my duh moment. It says&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red; font-family: CCIJBA+Arial,Italic,Arial; font-size: x-small;"&gt;&lt;span style="color: red; font-family: CCIJBA+Arial,Italic,Arial; font-size: x-small;"&gt;&lt;span style="color: red; font-family: inherit; font-size: small;"&gt;&lt;div align="left"&gt;Using the noac mount option causes 40% performance degradation on typical workloads, but some common workloads, such as sequential write workloads, can be impacted by up to 70%. Database workloads that consist of random reads and writes are generally less affected by noac. &lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div align="left"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: inherit;"&gt;Then why would anyone use this parameter and how come it ended in my /etc/fstab. Finally I found that we had this setting for our Oracle RAC OCR mount point. Oracle recommended this value.&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: inherit;"&gt;I needed to find the reason now. Same NetApp document says&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: inherit;"&gt;noac disables file attributes caching.&amp;nbsp;This means that every file operation on the client that requires file attribute information results in a GETATTR operation to retrieve a file’s attribute information from the server. Note that noac also causes a client to process all writes to that file system synchronously, just as the sync mount option does. Disabling attribute caching is only one part of noac; it also guarantees that data modifications are visible on the server so that other clients using noac can detect them immediately. &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-family: inherit;"&gt;This makes sense for Oracle RAC as each node need to know if file changed immediately so that they can keep track of each other. But just copying the parameters meant for one use to other NFS mounts without realizing the repurcussion were kind of laziness in our part.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-597767654621150721?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/597767654621150721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/reason-for-extremely-slow-nfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/597767654621150721?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/597767654621150721?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/reason-for-extremely-slow-nfs.html' title='Reason for Extremely slow NFS performance Revealed'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Ck8EQ3g8fip7ImA9WhZQEU4.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-3950473122851364631</id><published>2011-04-18T05:46:00.000-07:00</published><updated>2011-04-18T05:46:42.676-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-18T05:46:42.676-07:00</app:edited><title>Oracle error 3113: ORA-03113: end-of-file on communication channel</title><content type='html'>This is another one of common Oracle error which is hard to troubleshoot as there are so many reasons it can happen, all are related to Networking. But if you go to your network team with "anything happening with network?", their answer will be "Everything is fine, see ping responds within milli seconds", now what will you do?&lt;br /&gt;
&lt;br /&gt;
We had this error happening intermittently when we moved Oracle database to a new network segment from application server. After many hours of troubleshooting, I started&amp;nbsp;trusted SQL Net tracing on client side. It gave more detailed information but still pointed to network. Next I got network team to look at packets and found that network packets were going through a not traditional path. It turned out that application server had default gateway pointed to a F5 load balancer and when SQL Net packet passed through it, it did something to the packet and it appeared corrupt to Oracle server when it reached there.&lt;br /&gt;
&lt;br /&gt;
The solution was to change the default gateway to a switch in that segment but this could not be done as application needed a way to trace the client machine of the user, F5 provided this feature. So we ended up adding persistent route to Oracle servers from each application server through the switch, in Windows this was done using&lt;br /&gt;
&lt;br /&gt;
ROUTE ADD&lt;br /&gt;
&lt;br /&gt;
command. Now all traffic to Oracle passed through switch instead of F5 but other traffic still used F5 and everyone was happy.&lt;br /&gt;
&lt;br /&gt;
Firewalls have feature to inspect SQL packet and not being a network guy, I don't understand the utility for such feature but it seems to cause problem for Oracle connections. Not sure F5 did the same thing on SQL packets but avoiding it in Oracle connection path helped us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-3950473122851364631?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/3950473122851364631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/oracle-error-3113-ora-03113-end-of-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/3950473122851364631?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/3950473122851364631?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/oracle-error-3113-ora-03113-end-of-file.html' title='Oracle error 3113: ORA-03113: end-of-file on communication channel'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUMHQXw6cCp7ImA9WhZRGUg.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-7057957636083978542</id><published>2011-04-16T05:35:00.000-07:00</published><updated>2011-04-16T05:37:10.218-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-16T05:37:10.218-07:00</app:edited><title>Distribution Database Growing with Merge Replication</title><content type='html'>The distribution database is supporting three relatively active merge publications and it kept on growing and reaching 60 GB in size. As the replication was working without any latency, replication cleanup job was also working fine and Replication Monitor showed everything in Excellent status. &lt;br /&gt;
&lt;br /&gt;
If everything is excellent then why distribution database is growing, a look at cleanup history jobs run status showed that it was deleting 0 rows. I looked at top tables reports on distribution database and MSMerge_Hitory table had 100 million rows. So I ran the stored procedure run by cleanup history job with lower retention&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;EXEC dbo.sp_MShistory_cleanup @history_retention = 10&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Still nothing got deleted. I had no choice but to look inside &lt;strong&gt;sp_MShistory_cleanup &lt;/strong&gt;and the problem was in this delete statement&lt;br /&gt;
&lt;br /&gt;
DELETE dbo.MSmerge_history&lt;br /&gt;
FROM dbo.MSmerge_history msmh&lt;br /&gt;
JOIN dbo.MSmerge_sessions msms&lt;br /&gt;
ON msmh.session_id = msms.session_id&lt;br /&gt;
WHERE msms.end_time &amp;lt;= @cutoff_time&lt;br /&gt;
OPTION(MAXDOP 1)&lt;br /&gt;
&lt;br /&gt;
The MSmerge_sessions.end_time was the current time for every replication sessions. So nothing got deleted. This looked like a bug to to me as we are running continuous replication and the end time is contantly updated for these sessions. To resolve the issue at hand I stopped all replication jobs and started immediately causing SQL Server to start a new session in MSmerge_sessions table, now the DELETE can delete older records but I did not want to let the job run for hours to delete these records. &lt;br /&gt;
&lt;br /&gt;
I took matter in my own hand and deleted them directly.&lt;br /&gt;
&lt;br /&gt;
WHILE 1=1&lt;br /&gt;
BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SET ROWCOUNT 100000&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; DELETE dbo.MSmerge_history&lt;br /&gt;
&amp;nbsp;&amp;nbsp; FROM dbo.MSmerge_history msmh&lt;br /&gt;
&amp;nbsp;&amp;nbsp; JOIN dbo.MSmerge_sessions msms&lt;br /&gt;
&amp;nbsp;&amp;nbsp; ON msmh.session_id = msms.session_id&lt;br /&gt;
&amp;nbsp;&amp;nbsp; WHERE msms.end_time &amp;lt;=&amp;nbsp;getdate()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;OPTION(MAXDOP 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; IF @@ROWCOUNT = 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BREAK&lt;br /&gt;
END&amp;nbsp;&amp;nbsp; &lt;br /&gt;
This deleted 100 million rows in 10 minutes. But I still needed to figure out how to avoid this in future. The problem manifested as the servers were not rebooted in 3 months. So either you need to reboot your server periodically and or create a job to stop and restart merge replication jobs every month, I opted for the later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-7057957636083978542?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/7057957636083978542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/distribution-database-growing-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7057957636083978542?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7057957636083978542?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/distribution-database-growing-with.html' title='Distribution Database Growing with Merge Replication'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;C04DQHozeyp7ImA9WhZRGE4.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-695720160737547374</id><published>2011-04-14T12:16:00.000-07:00</published><updated>2011-04-14T18:46:11.483-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-14T18:46:11.483-07:00</app:edited><title>ORA-01410 No ROWID Found</title><content type='html'>Problem - A PL/SQL block is called from Cobol NetExpress code which has a cursor for updating current row. The SQL is like this&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="oac_no_warn" xml:space="preserve"&gt;DECLARE
   my_emp_id NUMBER(6);
   my_job_id VARCHAR2(10);
   my_sal    NUMBER(8,2);
   CURSOR c1 IS SELECT employee_id, job_id, salary
    FROM employees FOR UPDATE;
BEGIN
   OPEN c1;
   LOOP
      FETCH c1 INTO my_emp_id, my_job_id, my_sal;
      IF my_job_id = 'SA_REP' THEN
        UPDATE employees SET salary = salary * 1.02
          WHERE CURRENT OF c1;
      END IF;
      EXIT WHEN c1%NOTFOUND;
   END LOOP;
END;
/
&lt;/pre&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;This code is from Oracle documents sample, the code I was troubleshooting is similar. But when this runs I get &lt;strong&gt;ORA-01410 No ROWID Found&lt;/strong&gt; error.&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;My first reaction was to update the row from SQL Plus directly to see if there is any issue doing it but that ran fine. One of the document in metalink suggested that a corrupt index or table block can also do this. But direct update debunked that theory.&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;Metalink has registered bug report for this on version 7.x of Oracle and in one case for update on a DBLINKed table, again not applicable to me. But it did offer an work around, which is to use ROWID instead of WHERE CURRENT OF as &lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;DECLARE&lt;br /&gt;
&amp;nbsp;&amp;nbsp; my_emp_id NUMBER(6);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; my_job_id VARCHAR2(10);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; my_sal&amp;nbsp;&amp;nbsp;&amp;nbsp; NUMBER(8,2);&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;&amp;nbsp;&amp;nbsp; rownum ROWID;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; CURSOR c1 IS SELECT employee_id, job_id, salary, rownum&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM employees FOR UPDATE;&lt;br /&gt;
BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; OPEN c1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; LOOP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FETCH c1 INTO my_emp_id, my_job_id, my_sal;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF my_job_id = 'SA_REP' THEN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE employees SET salary = salary * 1.02&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;WHERE rowid=rownum;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END IF;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXIT WHEN c1%NOTFOUND;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; END LOOP;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;/div&gt;&lt;div class="oac_no_warn" xml:space="preserve"&gt;This solved my problem for now.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-695720160737547374?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/695720160737547374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/ora-01410-no-rowid-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/695720160737547374?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/695720160737547374?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/ora-01410-no-rowid-found.html' title='ORA-01410 No ROWID Found'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUcMR345cCp7ImA9WhZREUU.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-7213989843548038637</id><published>2011-04-07T07:38:00.000-07:00</published><updated>2011-04-07T07:38:06.028-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-07T07:38:06.028-07:00</app:edited><title>Generating Database Objects Scripts in SQL Server 2005</title><content type='html'>&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/div&gt;How many times you have been asked by a developer if you can recover a stored procedure or a table structure because he/she made a change in existing environment. In a perfect world all SQL code including database objects must be in a source control tool, but in most of the places database schema is not part of it as it is little cumbersome to include it. &lt;br /&gt;
&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;SQL Server Management Studio provides a wizard to generate script out of a database. But it would be nice if we can automate the process so that database script is generated and stored somewhere.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The following script utilizes SQL Server Publishing Wizard to do just that. You can use it for one server or you can use it for all servers in your environment. The server details are maintained in a table called ServerNames in a database called DBServers.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;SQL Server Publishing wizard is available at &lt;a href="http://sqlhost.codeplex.com/wikipage?title=Database%20Publishing%20Wizard&amp;amp;ProjectName=sqlhost"&gt;http://sqlhost.codeplex.com/wikipage?title=Database%20Publishing%20Wizard&amp;amp;ProjectName=sqlhost&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;USE [DBServers]&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;/****** Object:&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Table [dbo].[ServerNames]&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Script Date: 09/22/2009 16:18:56 ******/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET ANSI_NULLS ON&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET QUOTED_IDENTIFIER ON&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET ANSI_PADDING ON&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;CREATE TABLE [dbo].[ServerNames](&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[ID] [int] IDENTITY(1,1) NOT NULL,&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[SERVERNAME] [varchar](255) NULL,&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DDL] [tinyint] NULL CONSTRAINT [DF_ServerNames_DDL]&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;DEFAULT ((0))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;) ON [PRIMARY]&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;GO&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET ANSI_PADDING OFF&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;A value of 1 in column Active indicates you want to generate DDL for this server. You can create a SQL Agent job and past the following script and schedule it to run as you need.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET NOCOUNT ON&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @ServerNames TABLE&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;(ID INT IDENTITY(1,1),&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SERVERNAME VARCHAR(255))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @ServerDBNames TABLE&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;(ID INT IDENTITY(1,1),&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SERVERNAME VARCHAR(255),&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DATABASENAME VARCHAR(255))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @servername&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;varchar(255)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @DBName&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;varchar(255)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @sql varchar(4000)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @RowNum tinyint&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;DECLARE @MaxRow tinyint&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Declare @CMD varchar(2000)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Declare @SQLPubWizExe varchar(150)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Declare @FolderName varchar(150)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET @RowNum = 1&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;INSERT INTO @ServerNames (Servername)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SELECT Servername&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;FROM DBTracker.dbo.ServerNames &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;WHERE Active=1 AND DDL =1 &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;ORDER BY ID&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SELECT @MaxRow = max(ID) from @ServerNames&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;--loop through it and generate script&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;WHILE @RowNum &amp;lt;= @MaxRow&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SELECT @servername=servername from @ServerNames where ID = @RowNum&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SET @sql = 'SELECT '''+@servername+''',DB.Name FROM OPENROWSET(''SQLNCLI'', ''Server=' + @servername + ';Trusted_Connection=yes;'','&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SET @sql = @sql + '''SELECT Name FROM sysdatabases WHERE dbid &amp;gt; 4 ORDER BY Name'') AS DB;'&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;INSERT INTO @ServerDBNames (servername, databasename)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EXEC (@sql)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SET @RowNum = @RowNum + 1;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;END&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SELECT @MaxRow = max(ID) from @ServerDBNames&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET @SQLPubWizExe = 'D:\"Program Files (x86)"\"Microsoft SQL Server"\90\Tools\Publishing\SQLPubWiz.Exe'&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SET @FolderName = 'F:\DDL_OUTPUT\'&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;WHILE @RowNum &amp;lt;= @MaxRow&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SELECT @servername=servername,@DBName=Databasename from @ServerDBNames where ID = @RowNum&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SELECT @CMD ='EXEC master..xp_cmdshell ''' + @SQLPubWizExe + ' script -C "Data Source='&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;+@ServerName+';Initial Catalog='+ @DBName + ';Integrated Security=SSPI;" ' + @FolderName + REPLACE(@SERVERNAME,',','_')+'_'+@DBName+'_'+&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;REPLACE(convert(varchar(8),getdate(),112)+'_'+convert(varchar(8),getdate(),114),':','')+&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;'.sql -schemaonly -f'',NO_OUTPUT'&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--print @CMD&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exec (@CMD)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SET @RowNum = @RowNum + 1;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;END&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Modify @SQLPubWizExe variable to point to the SQLPubWiz.exe in your environment and modify @FolderName to point to the script output location.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The job connect to each server using Windows authentication, so make sure that the SQL Server Agent running this job has access to all the servers listed in ServerNames table.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Since this calls xp_cmdshell to run the Publication Wizard, you will need to enable xp_cmdshell from SQL Configuration Manager if it is not enabled.&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;A script file is generated for each database and file name is tagged with date and time. So you do not have to worry about overwriting the script file from daily run.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-7213989843548038637?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/7213989843548038637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/generating-database-objects-scripts-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7213989843548038637?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/7213989843548038637?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/generating-database-objects-scripts-in.html' title='Generating Database Objects Scripts in SQL Server 2005'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0YBQX88fCp7ImA9WhZREU4.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-5612641837262798686</id><published>2011-04-06T18:19:00.000-07:00</published><updated>2011-04-06T18:19:10.174-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-06T18:19:10.174-07:00</app:edited><title>Check Status of Your Windows Clustered Databases</title><content type='html'>If you have SQL Server or Oracle databases in Microsoft Windows clustered environment, then you always want to keep virtual servers running on their preferred nodes especially if you have more than one virtual database in a cluster.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
However, sometimes you may discover that database servers are not performing well and you may find that two or more virtual servers may be running on same node. This can happen if there was any error on one of the servers and virtual databases failed over to other node. Or you may have applied patches on Windows operating servers and rebooted them but forgot to failover the virtual servers to proper nodes.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You may have server monitoring system in place to alert you about any resource failovers but as an administrator you may get tons of alerts of different criticality everyday and may miss such email. &lt;br /&gt;
&lt;br /&gt;
To overcome such situation, you can write a script to go after all your clustered databases and find where they are running. You can run this VBScript every morning or schedule it and send report on email, which you should not ignore.&lt;br /&gt;
&lt;br /&gt;
The following script (save as c:\checkservice\checkservice.vbs) generates a report in HTML format. You can change the color scheme to your liking.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The script uses arrays to store server name and service names you want to report on. It can report on clustered or stand alone servers, the number of services on standalone will be half of clustered ones.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
First entry in the array is physical server name, rest are service names. &lt;br /&gt;
&lt;br /&gt;
You can add as many servers and services in the list, just make sure to change the array SQLServer and OracleServer, also change the number in WHILE LOOP as well.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
This script calls WMI script to query each server in the list to query service status, so the account you login to run the script must have administrative rights on all the servers.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'Usage&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: Double click on the file if you are logged in with Admin account or&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Open a command window with Admin account and run cscript.exe&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;checkservice.vbs&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Const ForWriting = 2, ForReading = 1, RunningColor = "#339900", StoppedColor = "#CC0000", White = "#FFFFFF", LightGrey = "#C0C0C0"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Dim SQLServer(3,4), OracleServer(3,4), bgColor, sDisplayName&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;On Error Resume Next&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' standalone server with MSSQL and Agent services only&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,0) = ("SKSQLSDB01")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,1) = ("SQL Server (MSSQLSERVER)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(0,2) = ("SQL Server Agent (MSSQLSERVER)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' clustered servers with named instances&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,0) = ("SKSQLCDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,1) = ("SQL Server (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,2) = ("SQL Server Agent (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,3) = ("SQL Server (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(1,4) = ("SQL Server Agent (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,0) = ("SKSQLCDB04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,1) = ("SQL Server (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,2) = ("SQL Server Agent (SKSQLCNDB04)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,3) = ("SQL Server (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;SQLServer(2,4) = ("SQL Server Agent (SKSQLCNDB03)")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' standalone server with Oracle database ORCL and listener services only&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,0) = ("SKORADB01")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,1) = ("OracleServiceORCL")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(0,2) = ("OracleOraDb10g_home1TNSListener")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;' clustered servers Oracle FailSafe databases and listeners&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,0) = ("SKORACDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,1) = ("OracleServiceORCL03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,2) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,3) = ("OracleServiceORCL04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(1,4) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB04")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,0) = ("SKORACDB04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,1) = ("OracleServiceORCL03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,2) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB03")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,3) = ("OracleServiceORCL04")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;OracleServer(2,4) = ("OracleOraDb10g_home1TNSListenerFslSKORACVDB04")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set fso = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set Logfile = fso.OpenTextFile("C:\CheckService\status.htm", ForWriting, True)&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;HTML&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;HEAD&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;META content=""text/html; charset=utf-8"" http-equiv=Content-Type&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TITLE&amp;gt;Database Services Status&amp;lt;/TITLE&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/HEAD&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;BODY&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;H3&amp;gt;SQL Server Services Status&amp;lt;/H3&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;p style=""font-family:verdana""&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;&amp;lt;TABLE BORDER=1&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServerName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServiceName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;Status&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;i = 0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Do While i &amp;lt;= 3&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;strComputer = SQLServer(i,0)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set objWMIService = GetObject("winmgmts:" _&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;amp; "{impersonationLevel=impersonate}!\\" &amp;amp; strComputer &amp;amp; "\root\cimv2")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If Err.Number &amp;lt;&amp;gt; 0 Then &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;Error " &amp;amp; CStr(Err.Number) &amp;amp; " Occurred&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; Err.Description &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do While j &amp;lt;= 4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If IsEmpty(SQLServer(i,j)) Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exit Do&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sDisplayName = SQLServer(i,j)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set colRunningServices&lt;span&gt;&amp;nbsp; &lt;/span&gt;= objWMIService.ExecQuery("Select * from Win32_Service where DisplayName = '" &amp;amp; sDisplayName &amp;amp; "'")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;For Each objService in colRunningServices &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If objService.State = "Running" Then&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; RunningColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Next&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = j + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine()&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i = i + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If bgColor = White Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = LightGrey&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/TABLE&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;H3&amp;gt;Oracle Server Services Status&amp;lt;/H3&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;p style=""font-family:verdana""&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;P&amp;gt;&amp;lt;TABLE BORDER=1&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServerName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;ServiceName&amp;lt;/TH&amp;gt;&amp;lt;TH ALIGN=LEFT&amp;gt;Status&amp;lt;/TH&amp;gt;&amp;lt;/TR&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;i = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Do While i &amp;lt;= 3&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;strComputer = OracleServer(i,0)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set objWMIService = GetObject("winmgmts:" _&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;amp; "{impersonationLevel=impersonate}!\\" &amp;amp; strComputer &amp;amp; "\root\cimv2")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If Err.Number &amp;lt;&amp;gt; 0 Then &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;Error " &amp;amp; CStr(Err.Number) &amp;amp; " Occurred&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; Err.Description &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;")&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do While j &amp;lt;= 4&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If IsEmpty(OracleServer(i,j)) Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exit Do&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sDisplayName = OracleServer(i,j)&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set colRunningServices&lt;span&gt;&amp;nbsp; &lt;/span&gt;= objWMIService.ExecQuery("Select * from Win32_Service where DisplayName = '" &amp;amp; sDisplayName &amp;amp; "'")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;For Each objService in colRunningServices &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If objService.State = "Running" Then&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; RunningColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine("&amp;lt;TR&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; strComputer &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;" &amp;amp; objService.DisplayName &amp;amp; "&amp;lt;/TD&amp;gt;&amp;lt;TD BGCOLOR=" &amp;amp; bgColor &amp;amp; "&amp;gt;&amp;lt;FONT Color=" &amp;amp; StoppedColor &amp;amp; "&amp;gt;" &amp;amp; objService.State &amp;amp; "&amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;") &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Next&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;j = j + 1&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LogFile.WriteLine()&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i = i + 1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If bgColor = White Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = LightGrey&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;bgColor = White&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Loop&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/BODY&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;LogFile.WriteLine("&amp;lt;/HTML&amp;gt;")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Logfile.close&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set oShell = WScript.CreateObject ("WSCript.shell")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;oShell.run "iexplore C:\CheckService\status.htm"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set oShell = Nothing&lt;/span&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You can run this script by double clicking it and it generates a file status.htm and opens it with Internet Explorer.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Other option is to comment out the oShell.run line, write a batch file and schedule it to run every morning and send the report in email.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Here is the batch file checkservice.bat&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;@echo off&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;cscript.exe c:\CheckService\CheckService.vbs&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;cscript.exe c:\checkservice\sendmailHTML.vbs "dba@mycompany.com" "serverstatus@mycompany.com" "Services Status Report" "c:\CheckService\status.htm" HTML&lt;/span&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
SendmailHTML.vbs is also a VBScript which sends email in HTML format using a SMTP server. Change YOUR_SMTP_SERVER_NAME with your smtp server name or IP. You can also send file attachment or plain text email with this script.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'**********************************************************************&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'&lt;span&gt;&amp;nbsp; &lt;/span&gt;Usage: cscript.exe c:\checkservice\sendmailhtml.vbs "to@company.com" "from@company.com" "Subject" "HTMLfile" "HTML"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'***********************************************************************&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;const ForReading=1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Dim ObjArgs, MailTo, From, Subject, Message, wshshell, goFS, oFile, FileName, FileType&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Set ObjArgs = WScript.Arguments&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;MailTo = ObjArgs(0)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;From&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(1)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Subject&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(2)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;FileName&lt;span&gt;&amp;nbsp; &lt;/span&gt;= ObjArgs(3)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;if ObjArgs.Count = 5 then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;FileType = ObjArgs(4)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;end if&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set wshshell=wscript.createobject("Wscript.Shell")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set goFs=createobject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;'This code requires the file to exist to compile&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set oFile = goFs.OpenTextFile(FileName, ForReading)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Message = oFile.ReadAll&amp;nbsp; &lt;br /&gt;
&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Call SendMail(MailTo, From, Subject, Message)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;oFile.Close&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set wshshell = nothing&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set goFs = nothing&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;set oFile = nothing&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;Function SendMail(MailTo, From, Subject, Message)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim iMsg&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set iMsg = CreateObject("CDO.Message")&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;With iMsg&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.To&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;= MailTo&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.From = From&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.Subject&lt;span&gt;&amp;nbsp; &lt;/span&gt;= Subject&lt;/span&gt;&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If UCase(FileType) = "HTML" Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.HTMLBody = Message&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ElseIf UCase(FileType) = "ATTACHMENT" Then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.AddAttachment FileName&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Else&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;.TextBody = Message&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;End With&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "YOUR_SMTP_SERVER_NAME"&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Configuration.Fields.Update&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iMsg.Send&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;End Function&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-5612641837262798686?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/5612641837262798686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/check-status-of-your-windows-clustered.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/5612641837262798686?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/5612641837262798686?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/check-status-of-your-windows-clustered.html' title='Check Status of Your Windows Clustered Databases'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEEGSHY-eCp7ImA9WhZREU8.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-1921249640279811432</id><published>2011-04-06T13:43:00.000-07:00</published><updated>2011-04-06T13:43:49.850-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-06T13:43:49.850-07:00</app:edited><title>"ORA-12545: Connect failed because target host or object does not exist"</title><content type='html'>ORA-12545 is a very generic message Oracle throws when it can't connect to a database. If you search Oracle support site you will get a general troubleshooting guide and it covers entire spectrum of connectivity issue.&lt;br /&gt;
&lt;br /&gt;
I stumbled upon this in our environment few times already. One of the symptoms that we got was intermittent connection failure to Oracle database causing a long running job to crash in the middle. I noticed that when I connect from SQL Plus it will fail every few other times. &lt;br /&gt;
&lt;br /&gt;
Now it's time to dig deeper. The Oracle database I was trying to connect is a 2-node Oracle 10g RAC. To understand the connection problem, I decided to do client side SQL Net tracing by adding &lt;br /&gt;
&lt;br /&gt;
DIAG_ADR_ENABLED=OFF&lt;br /&gt;
TRACE_LEVEL_CLIENT=admin&lt;br /&gt;
TRACE_DIRECTORY_CLIENT=C:\oracle\product\11.1.0\client_1\network\trace&lt;br /&gt;
TRACE_FILE_CLIENT=cli.trc&lt;br /&gt;
&lt;br /&gt;
in SQLNET.ORA file. I was using Oracle 11g client so ADR need to be disabled for the trace to go to a location I wanted. I again attempted SQL Plus connection and encountered a failure after few tries. The trace revealed an important clue that helped me resolve the issue.&lt;br /&gt;
&lt;br /&gt;
[10-FEB-2011 14:21:21:287] nsc2addr: (ADDRESS=(PROTOCOL=TCP)(HOST=hrdb1-vip)(PORT=1541))&lt;br /&gt;
[10-FEB-2011 14:21:21:287] nttbnd2addr: entry&lt;br /&gt;
[10-FEB-2011 14:21:21:287] snlinGetAddrInfo: entry&lt;br /&gt;
[10-FEB-2011 14:21:21:287] snlinGetAddrInfo: getaddrinfo() failed with error 11001&lt;br /&gt;
[10-FEB-2011 14:21:21:287] snlinGetAddrInfo: exit&lt;br /&gt;
[10-FEB-2011 14:21:21:287] nttbnd2addr: looking up IP addr for host: hrdb1-vip&lt;br /&gt;
[10-FEB-2011 14:21:21:287] snlinGetAddrInfo: entry&lt;br /&gt;
[10-FEB-2011 14:21:28:068] snlinGetAddrInfo: getaddrinfo() failed with error 11001&lt;br /&gt;
[10-FEB-2011 14:21:28:068] snlinGetAddrInfo: exit&lt;br /&gt;
&lt;span style="color: red;"&gt;[10-FEB-2011 14:21:28:068] nttbnd2addr:&amp;nbsp; *** hostname lookup failure! ***&lt;/span&gt;&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nttbnd2addr: exit&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nserror: nsres: id=0, op=77, ns=12545, ns2=12560; nt[0]=515, nt[1]=1001, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nsmfr: 352 bytes at 0x2470590&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nsmfr: 212 bytes at 0x2469cc8&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nladtrm: entry&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nladtrm: exit&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp; error from nscall&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp;&amp;nbsp;&amp;nbsp; ns main err code: 12545&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp;&amp;nbsp;&amp;nbsp; ns (2)&amp;nbsp; err code: 12560&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp;&amp;nbsp;&amp;nbsp; nt main err code: 515&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp;&amp;nbsp;&amp;nbsp; nt (2)&amp;nbsp; err code: 1001&lt;br /&gt;
[10-FEB-2011 14:21:28:068] nioqper:&amp;nbsp;&amp;nbsp;&amp;nbsp; nt OS&amp;nbsp;&amp;nbsp; err code: 0&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niomapnserror: entry&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niqme: entry&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niqme: reporting NS-12545 error as ORA-12545&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niqme: exit&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niomapnserror: exit&lt;br /&gt;
[10-FEB-2011 14:21:28:068] niotns: Couldn't connect, returning 12545&lt;br /&gt;
[10-FEB-2011 14:21:28:162] niotns: exit&lt;br /&gt;
The error in &lt;span style="color: red;"&gt;red&lt;/span&gt; indicated that I was trying to connect to hrdb1-vip. I checked my tnsnames.ora file for the service I was attempting to connect to and found that it had client side failover setup. The host name was fully qualified with hrdb1-vip.xyz.com&lt;br /&gt;
&lt;br /&gt;
HRDB&amp;nbsp;=&lt;br /&gt;
&amp;nbsp; (DESCRIPTION =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (SDU = 4096)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENABLE = BROKEN)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (LOAD_BALANCE = yes)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = hrdb1-vip.xyz.com)(PORT = 1541))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = hrdb2-vip.txyz.com)(PORT = 1541))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVER = DEDICATED)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = HRDB.xyz)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (FAILOVER_MODE =&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (TYPE = select)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (METHOD = basic)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RETRIES = 20)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DELAY = 5)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
&amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
Then why is SQL Plus trying to connect to the host without the full name. With client side failover in tnsnames.ora entry, SQL Plus will alternately try to connect to different host in round robin fashion. But Oracle server also does server side load balancing, meaning if the host you are trying to connect to is busy then Oracle will tell the client to go the other node in RAC. When Oracle does that it sends the host name of other node to client as registered to current listener by other node. This will depend on how local_listener is configured. It turned out in our case that local_listener configuration did not use fully qualified host name. &lt;br /&gt;
&lt;br /&gt;
So my client was trying connect on the server name without the domain name. Since my machine is not in the same domain as the Oracle RAC, the server name could not be resolved by my default DNS. &lt;br /&gt;
&lt;br /&gt;
To get around this, I added the name of the server in my local hosts file and now Oracle connection works every time. &lt;br /&gt;
&lt;br /&gt;
This was a puzzling problem to solve and required me to understand inner working of load balancing in Oracle. The main lesson to learn is being consistent with naming hosts when you are building a RAC to avoid heartburns later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-1921249640279811432?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/1921249640279811432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/ora-12545-connect-failed-because-target.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/1921249640279811432?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/1921249640279811432?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/ora-12545-connect-failed-because-target.html' title='&quot;ORA-12545: Connect failed because target host or object does not exist&quot;'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;C0cEQX44fip7ImA9WhZSGEU.&quot;'><id>tag:blogger.com,1999:blog-3654850623336654916.post-3967871854370966796</id><published>2011-04-03T18:34:00.000-07:00</published><updated>2011-04-03T18:36:40.036-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-04-03T18:36:40.036-07:00</app:edited><title>SQL Server PIVOT Operator Saves the Day</title><content type='html'>As it always happens whenever there is a performance issue with an application, database is always thought to be a culprit. The application was timing out and we do not have any timeout set on SQL Server, the vendor was blaming on the database, which is hardly utilized.&lt;br /&gt;
&lt;br /&gt;
I decided to look under the hood and traced the application using SQL Server Profiler. I saw a query like&lt;br /&gt;
&lt;br /&gt;
select userid, LAST_NAME=MAX(CASE WHEN attr_name='LAST_NAME' then value_string END),&lt;br /&gt;
FIRST_NAME=MAX(CASE WHEN attr_name='FIRST_NAME' then value_string END),&lt;br /&gt;
HIRE_DATE=MAX(CASE WHEN attr_name='HIRE_DATE' then value_string END)&lt;br /&gt;
FROM&lt;br /&gt;
(select .......&lt;br /&gt;
FROM .....&lt;br /&gt;
WHERE ....)&lt;br /&gt;
group by userid&lt;br /&gt;
&lt;br /&gt;
This looked like a typical query where rows in a reference table containing data for different attributes was being transformed to columns. The inline view was little complex but the whole query worked fine when there was only one attribute was selected and inline view returned 36,000 rows. But the problem query had inline view returning 300,000 rows. When I ran this query it did not finish in 10 minutes. Application had timeout of 30 seconds so for the vendor it was "database problem".&lt;br /&gt;
&lt;br /&gt;
To optimize it I first looked at index on attribute table and saw that value_index was not indexes, and I went aha that's what they missed. But when I tried to create an index on value_string, SQL server complained that it can't do it on a VARCHAR(max) column. Oops, so I tried to be creating by creating a computed column with first 255 characters of value_string. But I learned that SQL Server does not allow you to specify the data type on a computed column, so computed column ended up being VARCHAR(max), so I was back to square one.&lt;br /&gt;
&lt;br /&gt;
Then after scratching my head for sometime, I remembered PIVOT operator from SQL Server book I read five years ago, glad I had created an index on my head :D&lt;br /&gt;
&lt;br /&gt;
I decided to give it a try and I rewrote the query as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
select userid, [LAST_NAME], [FIRST_NAME], [HIRE_DATE]&lt;br /&gt;
FROM&lt;br /&gt;
(select .......&lt;br /&gt;
FROM .....&lt;br /&gt;
WHERE ....) as S&lt;br /&gt;
PIVOT&lt;br /&gt;
MAX(value_string)&lt;br /&gt;
FOR attr_name IN ([LAST_NAME], [FIRST_NAME], [HIRE_DATE])&lt;br /&gt;
&lt;pre&gt;) AS PivotTable;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;and hit execute and bingo it returns results in 8 seconds. Now it's payback time for the vendor. &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3654850623336654916-3967871854370966796?l=shaileshkhanal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shaileshkhanal.blogspot.com/feeds/3967871854370966796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/sql-server-pivot-operator-saves-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/3967871854370966796?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3654850623336654916/posts/default/3967871854370966796?v=2'/><link rel='alternate' type='text/html' href='http://shaileshkhanal.blogspot.com/2011/04/sql-server-pivot-operator-saves-day.html' title='SQL Server PIVOT Operator Saves the Day'/><author><name>Shailesh Khanal</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry></feed>