Thursday 21 June 2012

EM status pending or agent unreachable

After a recent Oracle Database service_name change, an installation of Oracle Enterprise Manager Database Control stopped being operable. As a quick fix I dropped and then recreated the repository to get the Database Control installation working.
All seemed well until I noticed a perpetual "Status Pending" message with the "Clock" symbol on the EM Home page. I returned to the problem a while later at which point the status had changed to "Agent Unreachable" with the "Disconnect" symbol. Upon further investigation I noticed that there were two agents installed. I suspected that EM DC was looking at the wrong one. After much diagnosis and many red herrings I finally discovered on EM, a link to a page to resolve the issue.
The "Clock" symbol

From the any page, select "Setup" on the top right, then the "Management Services and Repository" tab. At the bottom of the page is an "Alerts" panel. In this case an alert with the Metric Name "Target Count" had appeared. Clicking on the Target Count metric displays a "Duplicate Targets" page showing "Monitoring Agents" and "Conflicting Agents". On this page is a button to "Change the monitoring Agent". By selecting each "Internal Target Name" and pressing the button it was possible to one by one switch the monitoring agent of each target.
Whilst there are numerous other reasons why "Status Pending" or "Agent Unreachable" status messages may appear on the EM DC or GC Home page, none of the various information sources I reviewed was relevant to the problem at hand. The online documentation was scant on such troubleshooting and most MOS documents referred to RDA and EMDIAG as the omniscient sources of truth (very handy utilities I'm sure but no help for quick fixes unless you're familiar with them).
Suffice to say I'm glad there was a simple solution. Hope this helps others.
NB. Oracle EM Version 10.2.0.4.4 (packaged with Oracle Database Version 11.2.0.3.0)
See also; Master Note for Enterprise Manager Configuration Assistant (EMCA) in Single Instance Database Environment [ID 1099271.1]

Tuesday 12 June 2012

include the parentheses

When changing the initialisation parm DB_DOMAIN remember to include the parentheses or you will get an unhelpful message.

SQL> alter system set db_domain=rosspdc.com.au scope=spfile;
alter system set db_domain=dbathrift.com scope=spfile
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified


SQL> alter system set db_domain='dbathrift.com' scope=spfile;

System altered.

SQL> 

Thursday 7 June 2012

Oracle Solaris and Oracle Database


Oracle Solaris 11 now supports Oracle Database as of 11.2.0.3

Ivan Kartik posted and install article for the Express version here.

Wednesday 6 June 2012

Ora Doc for processes and related initialisation parameters


The Ora Doc for processes, sessions, and transactions details formulas used by Oracle to derive related parameter values. There is also at least one other parameter value derived from these hierarchical-related parameters, being dml_locks.

My findings are that essentially the formulas hold true for 11.1 but have changed in 11.2, but these changes are not reflected in the current Ora Doc.

I contributed to Charles Hooper's blog post on the topic where he explains the behaviour as a Doc Bug.

Tuesday 5 June 2012

The minutia of parameters between editions


Today I was comparing Oracle Database parameters of a recently upgraded database to the original parameters (this upgrade used export import based upgrade, from 11.1.0.6.0 to 11.2.0.3.0)
In this circumstance we have performed a crossgrade in addition to an upgrade, moving from Enterprise Edition to Standard Edition (yes people do it for a variety of reasons, most related to cost).

Well to cut a long story short, I discovered that audit_syslog_level is an EE parameter that does not appear in an SE database.

----
[oracle@thingy ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 4 19:40:17 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter syslog

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------
audit_syslog_level                   string
SQL> 
----
[oracle@thingy2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 5 09:47:51 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production

SQL> show parameter syslog
SQL>
----

Friday 1 June 2012

sqlplus without tnsnames


I sometimes find it useful to connect without tnsnames. Occasionally this can be a must when using an instant client.

For example;
sqlplus developer@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=TCP.world)(PROTOCOL=TCP)(Host=DEVDB)(Port=1521)))(CONNECT_DATA=(SID=DEV)))'

NB. Note the use of the single apostrophe's.