This post has been in my drafts for quite a long time. I noticed it today and it was almost ready to get published. So, with very minor changes, I am posting it today. Couple of months ago, I had setup 10g OEM in my laptop to try and explore it, and below explained were some challenges I had experienced. Hope they help...
(1)
Symptoms
- Oracle Enterprise Manager (null) - in the browser title
- Enterprise Manager is not able to connect to database instance - error message
OEM uses SYSMAN account to monitor a database.
Changing SYSMAN user's password is not a straight forward approach. We can straight away go ahead and change its password, but OEM can't recognize the new password. When OEM is deployed, at the time of dbconsole creation, SYSMAN's password gets captured in OEM's property file in encrypted format, and we have to fix that file as well when we decide to change SYSMAN password.
A googling of this issue helped with many sources...one I followed one is below
http://forums.oracle.com/forums/thread.jspa?threadID=368185
In the discussion happened in above link, it was suggested to change
$ORACLE_HOME/host_sid/sysman/config/emoms.properties file with new password information without encryption. However, after we restart the dbconsole, "emoms.properties" file gets recreated automatically with encryption enabled back.
(2)
dbconsole: java.lang.exception: no such metric
By now, with the above fix described in (1), OEM was able to connect to the database, but the metric information was still not available. Reason being was similar to SYSMAN issue - OEM was unable to connect to Database using DBSNMP user. So, just make sure you provide the correct login details for DBSNMP (unlock it, if locked and setup with new password in "Monitoring Configuration"). Below link from Don Burleson helps...
http://www.dba-oracle.com/sf_error_dbconsole_java_lang_exception_no_such_metric.htm
- Karteek
Labels: error, installation-configuration, oracle
In the last post I described the approach for installing Informatica Powercenter 7.1 on WIndows Vista . There was something I did on configuring Windows services which I would like to mention here.
When Informtica is installed on Windows with repository on Oracle database, it will show the following services (as display names) in “Services” window.
- OracleServiceORCL10G (there are other Oracle services as well like, but I am not considering them for the current scenario, as this service alone is just enough to describe what I want to say)
- Informatica Repository Server (PmRepServer)
- Informatica (Powermart)
Previously I used to keep Oracle in “Automatic” startup option so that Oracle database is available as my machine boots up (means I do not have to manually bring it up). I had wished the same effect for both Informatica services as well, so that I did not have to start them every time I reboot my machine. Problem was that there is a dependency among these 3 services. Rep service can not start unless Oracle database is available (since Rep service requires rep database), and Informatica service can not start without Rep service in place running. Due to these dependencies among services and I did not set up any dependency rule between them, they all used to start their services at one time (after system reboots), but only Oracle used to succeed as Oracle does not have dependency on others (at least not on other 2 Informatica services).
I always overlooked the “Dependencies” tab that is there when you open properties of a service (Right click on service and choose Properties). But the last time, while I was installing Infa 7.1 on my Vista laptop I gave a close look at, and realized that that was something useful for me. You can very easily define the dependencies between services so that they start or stop in order.
The following steps need to be performed in order to create a dependency (Consider taking backup of current registry settings)
- Run 'regedit' to open your registry.
- Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services and locate the service that you need to set a dependency for. (here you need to search for service name, not display name i.e. locate PmRepServer not “Informatica Repository Server”)
- Open the 'DependOnService' key on the right side. If the selected service does not have a 'DependOnService' key, then create one by right-clicking and selecting New > Multi-String Value.
- In the value field, enter the names of all services that the current service will depend on. Each service name must be entered properly (again, it should be service name, not disaplay name) and on a separate line.
- Click OK
Perform the step 2 and 3 for both “Informatica Repository Server” (PmRepServer) with “OracleServiceORCL10G” as DependOnService, and “Informatica” (Powermart) as DependOnService on “Informatica Repository Server”.
This setup makes sure that the service start happens only in “OracleServiceORCL10G > Informatica Repository Server > Informatica” order, and the service stop in reverse order.
There is a new Startup Type option introduced in Windows Vista called “Automatic (Delayed Start)”. I feel this is another good feature. This option delays the Automatic starting up of services for some time (may be few seconds) until the machine boot-up is completely done (you can avoid/reduce the painful slow/no responses on restarts). I enabled this option on “OracleServiceORCL10G” service. Anyway, other 2 services are now dependent on Oracle service, so enabling delayed startup type explicitly would have no additional effect, so they are just “Automatic” startup type.
Hope it helps!
Karteek
Labels: informatica, oracle, powercenter, windows
In the recent past I have been noticing an SMTP ORA- error while a stored procedure tries to send out an email. Error is below.
PRE-SESS> TM_6159 Error executing stored procedure... TM_6159 [4294965496] [ ORA-29278: SMTP transient error: 421 Service not available ORA-06512: at "SYS.UTL_SMTP", line 20 ORA-06512: at "SYS.UTL_SMTP", line 96 ORA-06512: at "SYS.UTL_SMTP", line 272 ORA-06512: at "SYS.UTL_SMTP", line 248 ORA-06512: at "SYS.UTL_SMTP", line 259 ORA-06512: at "YK.EMAIL_TEST", line 39
I have ignored this error 3 to 4 times as this error was not so frequent, and neither job was so critical. We were hit with error again yesterday, and thought I should give some attention to it. Error says that "SMTP Service no available". It obviously means either SMTP service is not running, or service is unreachable. Point to note is that the failing stored procedure is not using the SMTP service of the host where its database itself residing on - SMTP server is available on a remote machine.
I could sense that SMTP service availability is not the reason for this problem (because other procedures on other databases from different hosts have never faced this error). So, my next suspect is network availability between the database hosting machine (where stored procedure runs) and the SMTP host machine. I had a request to DB team and SYS team to checkthe n/w issues between the two. Let me see how it turns out eventually.
While I was trying to collect some related information on this issue, I could able to find a metalink doc (604763.1) - though it is not addressing my actual problem, but it explained how one can check SMTP service from command line. This is a good learn for me today. A sample mail test from my machine (hydaap01) with SMTP server (hydaap02)
$ telnet hydapp01 25 Trying 124.2.78.2... Connected to hydapp01 (124.2.78.2). Escape character is '^]'. 220 hydapp01 ESMTP Sendmail 8.13.7+Sun/8.13.7; Thu, 17 Sep 2009 06:48:13 -0400 (EDT) helo domain 250 hydapp01 Hello hydapp02 [124.2.78.3], pleased to meet you mail from:yk@hyd.com 250 2.1.0 yk@hyd.com... Sender ok rcpt to:karteek.yelampally1@hyd.com 250 2.1.5 karteek.yelampally1@hyd.com... Recipient ok data 354 Enter mail, end with "." on a line by itself Subject: This is SMPT test using telnet This should be rock successful. . 250 2.0.0 n8HAmDQu006085 Message accepted for delivery quit 221 2.0.0 hydapp01 closing connection Connection closed by foreign host. $
And so I have email in my mail box.
- Karteek
Sometimes we find ora-01410 as misleading. Couple of possible error cause scenarios are explained here... SQL> select * from dual where rowid='musings not allowed here'; select * from dual where rowid='musings not allowed here' *ERROR at line 1: ORA-01410: invalid ROWID I think , this error is probably much straighforward - you asked for some rowid which is actually invalid, by common sense, and Oracle repoted the same. But, we also sometimes see this error, even we don't reference to rowid psedo column - a typical select statement may very likely throw this error. I understood it due to Read Consistency. Even if it may sound strange, following explaination hopefully unveils the fact. Assume a session running a long running query that uses an index that gets rebuilt by another session. Indexes have some iteresting feature when it comes to rebuilding. While rebuilding, Oracle doesn't actually overwrite the inndex while it rebuilds, but it creates a fresh copy of index, and when new copy is ready to serve, it replaces the existing one. This approach improves the availability of the table quite effectively. Same is the reason why an index rebuild requires the the space atleast double the size of the index. Having said that, a long running query that started with using old copy of index, may later start using new copy while it still runs (because other index rebuild sessoin rebuilt/replaced the old copy). So, rowids fetched by the query at the begining (pointing to old index) are obsolete now as they are no longer valid. Hence the invalid rowid error. We can't expect the same read consistency that we get from transaction/DML operations. There are no invalid data or lost data as long as there is enough undo segment. Oracle reads though the undo segments for read consistent data. But in case of rebuild, it is DDL and it's lost forever, so we can't expect Oracle to do read consistency here as well. So, I think, read consistency with DDL is the responsibility of application rather than Oracle. Hope it helps! - Karteek
Labels: index, oracle, troubleshoot