Oracle DBA – A lifelong learning experience

  • Meta

  • Categories

  • Blog Stats

    • 1,653,093 hits
  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 377 other followers

  • Advertisements

emctl agent fails to upload – ERROR-400|ORA-01461: can bind a LONG value only for insert into a LONG column

Posted by John Hallas on March 20, 2008

This blog is about a problem I had with an Enterprise Management agent and how I resolved it.

The symptoms are that an agent is not started and yet I can stop and start it successfully. Looking at the trace file $AGENT_HOME/sysman/RACnode/log or $AGENT_HOME/sysman/log if the node is not part of a RAC cluster I see the following error messages and emctl agent status shows lots of files waiting to load

Agent Version :
OMS Version :
Protocol Version :
Agent Home : /u00/app/oracle/OracleHomes/agent10g/
Agent binaries : /u00/app/oracle/OracleHomes/agent10g
Agent Process ID : 20241
Parent Process ID : 20220
Agent URL :
Repository URL :
Started at : 2008-03-19 14:19:16
Started by user : oracle
Last Reload : 2008-03-19 14:19:16
Last successful upload : 2008-03-19 14:19:29
Total Megabytes of XML files uploaded so far : 0.07
Number of XML files pending upload : 625
Size of XML files pending upload(MB) : 35.23
Available disk space on upload filesystem : 35.86%
Last successful heartbeat to OMS : 2008-03-20 09:37:26
Agent is Running and Ready

2008-03-20 09:42:39 Thread-4097833872 ERROR upload: Failed to upload file B0000002.xml, ret = -2
2008-03-20 09:42:39 Thread-4097833872 WARN upload: FxferSend: received http error in header from repository: https://URL/em/upload ERROR-400|ORA-01461: can bind a LONG value only for insert into a LONG column

All sorts of emctl actions failed to help including

emctl clearstate agent

emctl secure agent

I then discovered that several agents all had the same issue so that pointed to the management server

I restarted that with

opmnctl stopall

opmnctl startall

with no success.

I finally shutdown the EM database and rebooted the server and everything sprung back into life. I suspect it was the restart of the database that fixed the problem but I don’t know for certain.

Update 27 March, 2008

Oracle have confirmed that it is an RDBMS issue although mine is and a restart should fix the problem. Full details below

We have Note 469077.1 (still under edit, therefore unpublished) which states:
“New and intermittent errors have started occurring after going to from an older patch
set level or Oracle RDBMS version.

These symptoms can eventually be tracked to issues with shared cursors improperly evaluated lengths, which break Oracle i
n various ways. The resultant different errors seen are dependent on the datatyp
e or connectivity used. Some of the errors encountered include:

ORA-932 – inconsistent datatypes expected %s got %s
ORA-1008 – not all variables bound
ORA-1460 – unimplemented or unreasonable conversion requested
ORA-1461 – can bind a LONG value only for insert into a LONG column
ORA-1483 – ORA 1483 invalid length for DATE or NUMBER bind variable
While there is more than one potential source for all of the above errors in, most will be assoc
iated with a Shared Cursor problem. This note addresses some of the most common
sources found when using If you are not using, there are other
known bugs which have similar shared cursor issues which will be covered in oth
er notes to be provided in the future.”


5 Responses to “emctl agent fails to upload – ERROR-400|ORA-01461: can bind a LONG value only for insert into a LONG column”

  1. neo2020 said

    Hi, does it mean that by using the Oracle we may potentially encounter the intermittent error such as ORA-1461 – can bind a LONG value only for insert into a LONG column ?

    I have encountered ORA-1461 during the update of one of my record. Later i tried to re-update using the same set of data, the error gone. Would it be related to the Shared Cursor problem you mentioned?


  2. John Hallas said

    With the problem I experienced it caused data uploads to stop to the EM repository database.
    Your problem sounds different, especially if it resolves itself later. This may be a genuine issue of a cursor remaining open within the code.

    Thanks for the comment though

  3. Ron Nixon said

    Hi great info on removing agents from OMS.
    Here’s my issue, hope you can help.
    we use UNIX / SUN Sparc 64, solaris 10.

    we have a OEM 10gR4 and it is monitoring Target-A (11g). we want to remove it from this OEM version, they are wish to using this R4 ver to monitor 9i/10g.

    I removed 11g target-a and it’s agent from OEM 10gR4… using the oem R4 “remove options”…it’s ok. (before I did this I stopped the agent)
    in the mean time I installed an OEM 10gR5 on a different host. it’s up and working.

    what I want to do is remove the OLD agent software from target-a box. They do not have $AGENT HOME, I think I found out where it is… this was setup wrong (really ugly… has 8 runInstallers on the box)

    I think the agent I need is in /u01/home/oracle/product/10.2.0/oem/agent10g/oui/bin/runInstaller …

    How do I do this?
    — use the runInstaller? how do I set the $AGENT_HOME to?

    — manually delete the software-exactly which dirctory and below would I do.

    — is there a good way to remove the old software, if so what do you recommend?


    • John Hallas said

      I am not sure what the first part of the post is about, i.e what the issue is.

      However wrt removing an old OH use the opatch lsinventory comand to see which oracle homes you have got installed.

      They can be removed by runInstaller -silent -detachHome ORACLE_HOME=”oracle home location” ORACLE_HOME_NAME=”a name” and then remove the software and in our case the path would be
      agent10g:/app/oracle/product/gc10.2/agent10g:Y as we have either the agent or the agent installed and they both go into the gc10.2 directory.
      They can be removed by runInstaller -silent -detachHome ORACLE_HOME=”oracle home location” ORACLE_HOME_NAME=”a name”

      To see where your inventory is cat /var/opt/oracle/oraInst.loc
      Run any installer up and see what oracle contents it knows about and that might point you to the location of the installer software.

      I hope I have understood your question and this helps


  4. I see unique content nice

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: