Diagnosing errors from Net Services trace files

Hi,
does anybody have a link to any documentation where it's explained how to interpret errors in Net Service trace files. For example, a snippet of a trace file looks like this:
[30-JUN-2009 14:32:39:302] nttcni: trying to connect to socket 1836.
[30-JUN-2009 14:32:40:224] ntt2err: entry
[30-JUN-2009 14:32:40:224] ntt2err: soc 1836 error - operation=1, ntresnt[0]=511, ntresnt[1]=61, ntresnt[2]=0
[30-JUN-2009 14:32:40:224] ntt2err: exitI suppose that ntresnt[1]=61 means means (from metalink DocId 67211.1):
WSAECONNREFUSED 61 10061
Connection refused. No connection could be made because the target machine
actively refused it. This usually results from trying to connect to a service
that is inactive on the foreign host.
But what about the other part:
operation=1, ntresnt[0]=511
Does anybody know what "operation" and the "511" code mean?
Thank you in advance for any answer.
Regards,
Jure

Look at metalink note 156485.1 "Examining Oracle Net Trace Files"

Similar Messages

  • Oracle.apps.fnd.soa.util.SOAException: ServiceProcessingError: Exception returned from JCA Service Runtime. file:/u01/oracle/VIS/inst/apps/VIS_oracle-ebs/soa/PLSQL/4892/XXBT_MIDAS_ORDER_CREATION.wsdl

    we are getting below issue while generating WSDL .Can you please help me some one ?
    Error Description
    Error occured while service was processing. 
    Error Details
    oracle.apps.fnd.soa.util.SOAException: ServiceProcessingError: Exception returned from JCA Service Runtime. file:/u01/oracle/VIS/inst/apps/VIS_oracle-ebs/soa/PLSQL/4892/XXBT_MIDAS_ORDER_CREATION.wsdl [ XXBT_MIDAS_ORDER_CREATION_ptt::XXBT_MIDAS_ORDER_CREATION(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'XXBT_MIDAS_ORDER_CREATION' failed due to: Could not instantiate InteractionSpec oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec due to: Error while setting JCA WSDL Property. Property setIRepOverloadSeq is not defined for oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec Please verify the spelling of the property. ; nested exception is: ORABPEL-12532 Error while setting JCA WSDL Property. Property setIRepOverloadSeq is not defined for oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec Please verify the spelling of the property. ; nested exception is: org.collaxa.thirdparty.apache.wsif.WSIFException: Could not instantiate InteractionSpec oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec due to: Error while setting JCA WSDL Property. Property setIRepOverloadSeq is not defined for oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec Please verify the spelling of the property. ; nested exception is: ORABPEL-12532 Error while setting JCA WSDL Property. Property setIRepOverloadSeq is not defined for oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec Please verify the spelling of the property. at oracle.apps.fnd.soa.provider.services.jca.JCAHandler.invoke(JCAHandler.java:169) at oracle.apps.fnd.soa.provider.services.jca.JCAHandler.handleRequest(JCAHandler.java:113) at oracle.apps.fnd.soa.provider.SOAProvider.processMessage(SOAProvider.java:342) at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956) at oracle.j2ee.ws.server.WebServiceProcessor$1.run(WebServiceProcessor.java:358) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:355) at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466) at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114) at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96) at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:194) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:619) org.collaxa.thirdparty.apache.wsif.WSIFException: file:/u01/oracle/VIS/inst/apps/VIS_oracle-ebs/soa/PLSQL/4892/XXBT_MIDAS_ORDER_CREATION.wsdl [ XXBT_MIDAS_ORDER_CREATION_ptt::XXBT_MIDAS_ORDER_CREATION(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'XXBT_MIDAS_ORDER_CREATION' failed due to: Could not instantiate InteractionSpec oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec due to: Error while setting JCA WSDL Property. Property setIRepOverloadSeq is not defined for oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec 

    Hi HDeiby,
    I didn't find the "setIRepOverloadSeq" in wsdl file.i have verified all wsdl files but i didn't find. Please let me know excat file name .
    [applmgr@oracle-ebs 4892]$ ls -ltr
    total 24
    -rwxrwxrwx 1 applmgr dba 3167 Sep  5 02:46 XXBT_MIDAS_ORDER_CREATION.wsdl
    -rwxrwxrwx 1 applmgr dba  706 Sep  5 02:46 XXBT_MIDAS_ORDER_CREATION_PKG.wsdl
    -rwxrwxrwx 1 applmgr dba 3534 Sep  5 02:46 XXBT_MIDAS_ORDER_CREATION_PKG_soap.wsdl
    -rwxrwxrwx 1 applmgr dba 3328 Sep  5 02:46 XXBT_MIDAS_ORDER_CREATION_PKG_soap_http.wsdl
    -rwxrwxrwx 1 applmgr dba 1328 Sep  5 02:46 APPS_XXBT_MIDAS_ORDER_CREATION_PKG_XXBT_MIDAS_ORDER_CREATION.xsd
    -rwxrwxrwx 1 applmgr dba 1245 Sep  5 02:46 AppsContextHeader.wsdl

  • Error 1923. Service 'Input File Repository Server' (BOBJInputFileServer) co

    I get the following error:
    Error 1923. Service 'Input File Repository Server' (BOBJInputFileServer) could not be installed.  Verify that you have sufficient privileges to install system services.
    I am trying to perform the install as an admin. I previously had the server installed but had to uninstall and now I cannot re-install. how would I do a complete uninstall of all registry components, etc. if necessary?

    Ok. Please open the services browser (Start->Programs->Control Panel->Administrative Tools->Services) and check if there are any BOBJ services still listed (like the Input File Repository Server).
    If you find any services still listed, please use instsrv.exe to remove them (even if the services are stopped and/or deactivated). Try to install again after you have removed all BOBJ related services.
    Regards,
    Stratos

  • Minact-scn errors in Alert and Trace Files

    we have enabled trace for one session (  where select query is running ) and we seen this error in trace file
    can any one suggest me to resolve this issue.
    --------------------------------------------------------------Trace File------------------------------------------------------------------
    *** 2015-04-23 19:19:29.559
    minact-scn master-status: grec-scn:0x0805.5b417ecb gmin-scn:0x0805.5b3d0eda gcalc-scn:0x0805.5b417ecb
    minact-scn master-status: grec-scn:0x0805.5b41818c gmin-scn:0x0805.5b3d0eda gcalc-scn:0x0805.5b41818c
    *** 2015-04-23 19:29:33.749
    minact-scn master-status: grec-scn:0x0805.5b424c67 gmin-scn:0x0805.5b3d0eda gcalc-scn:0x0805.5b424c67
    *** 2015-04-23 19:34:36.560
    minact-scn master-status: grec-scn:0x0805.5b425343 gmin-scn:0x0805.5b3d0eda gcalc-scn:0x0805.5b425343
    minact-scn master-status: grec-scn:0x0805.5b425749 gmin-scn:0x0805.5b3d0eda gcalc-scn:0x0805.5b425749

    Hi,
    Check support note if database is hitting a bug - Minact-Scn Master-Status: Grec-Scn Messages In Trace File (Doc ID 1361567.1)
    HTH,
    Pradeep

  • Object Id from address SMON trace file

    Hi Friends,
    We have a block corruption in undo TBS ( I guess as SMON crashes while dp ) in one of our database ,10.2.0.5.0. In the trace file generated, I saw the following lines
    Block header dump:  0x0297ce55
    Object id on Block? Y
    seg/obj: 0x508f3  csc: 0x0f.a306350  itc: 3  flg: E  typ: 1 - DATA
         brn: 0  bdba: 0x297ce0a ver: 0x01 opc: 0
         inc: 0  exflg: 0
    Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
    0x01   0x008b.025.000131c8  0x0f81af61.24c6.40  C---    0  scn 0x000f.0a2cfcfa
    0x02   0x003a.000.0003f46d  0x0f8bbddb.dc12.32  --U-    2  fsc 0x0000.0a3063e1
    0x03   0x0067.019.00020d74  0x0f817878.5823.08  C---    0  scn 0x000f.0a2a30e2How to identify the object id from seg/obj: 0x508f3 , I cannot recollect it now. Thanks in Advance.
    SSN

    SSNair wrote:
    Hi Friends,
    We have a block corruption in undo TBS ( I guess as SMON crashes while dp ) in one of our database ,10.2.0.5.0. In the trace file generated, I saw the following lines
    seg/obj: 0x508f3  csc: 0x0f.a306350  itc: 3  flg: E  typ: 1 - DATAHow to identify the object id from seg/obj: 0x508f3 , I cannot recollect it now. Thanks in Advance.
    Bear in mind that this is the "data_object_id", not the "object_id".
    examples:
    <ul>
    Clustered tables have different object ids but the same data object id.
    The data object_id for a given object id will change if you truncate or move a (non-clustered) table, or rebuild an index.
    </ul>
    Regards
    Jonathan Lewis

  • DistributedCOM errors from Reporting Services server on Primary

    I have a SCCM 2012 SP1 CU4 environment with a dedicated Reporting Services server next to my Primary.
    On the primary i see in the system event viewer every hh:31 2 alerts and every hh:01 about 15 alerts and i can't find how to stop these alerts. The SCCM environment is working properly, als reporting is working properly..but how to solve these erros in my
    system event log on the primary server.
    Below the error:
    The description for Event ID 10009 from source Microsoft-Windows-DistributedCOM cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
    If the event originated on another computer, the display information had to be saved with the event.
    The following information was included with the event:
    <reportingserver fqdn>

    Hi,
    Please try the troubleshooting suggestions the following TechNet article provides.
    Event ID 10009 — COM Remote Service Availability
    http://technet.microsoft.com/en-us/library/cc774368(WS.10).aspx
    Best Regards,
    Joyce
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • How to migrate to SSIS 2012 from Integration Services dtsx file?

    I am struck at migrating the dtsx file to SSIS 2012. How to migrate that dtsx file to SSIS 2012.I made it to migrate from SQL2000 to SQL 2005 dtsx. Now I want to migrate or upgrade it to SSIS 2012.How to achieve it.Help me please. 
    sammy

    Hi sammy,
    Based on your description, you want to upgrade SQL Server 2005 packages to SQL Server 2012. If there are some individual packages, I suggest that we can directly add the SQL Server 2005 package to an existing project in SQL Server Data Tools (SSDT). For
    more details, please see:
    Right click on the SSIS Packages folder in the Integration Services Project in SSDT and Select Add Existing Package from the context menu.
    In the Add Copy of Existing Package dialog box select Package location as File System from the dropdown.
    Click on the ellipsis button next to the Package path textbox.
    Locate the SSIS package (.dtsx file) which you want to add from the file system.
    Click OK in the Add Copy of Existing Package dialog box to finish adding and upgrading the package.
    If those packages are located in a project, we can open a SQL Server 2005 Integration Services (SSIS) project file in SSDT, and then use the SSIS Package Upgrade Wizard to upgrade multiple packages in the project.
    If there are any questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Program Error from running the *,exe file but works fine running with CVI

    When starting CVI created program on Win 2000, I get message “Program Error”.
    I have created a program using NI/CVI version 5.5. I am running windows 2000, I get message 
    “Program Error"
    *.exe has generated errors and will be closed by Windows. You will need to restart the program.
    An error log is being created.”
    It works fine when running directly from the compilier, but if I run just the *.exe I get this error.  I never used to.
    Please let me know if anyone else had this problem or knows solution.
    Thank you very much.
    Craig

    In the debugger unitialized globals are initialized to zero, but not for a release .exe.  So if you are checking whether a global pointer is NULL before it is set to a value by your application it will generally work fine in the debugger but may crash as a release configuration depending on what you use that pointer for.  That's a common thing I have run into.

  • Bad Response error from Amazon service .... how to set access id.......

    Hi,
    I need to some help on creting WebService Proxies for Amazon WebService.
    I just created a proxy for Amazon web service.When i run it... I am getting Bad Response Error
    Details Below
    Code Snippet
    public class AmazonSearchPortClient {
    private String awsAccessKeyId = null;
    // private String associateTag = null;
    private demo2.proxy.AmazonSearchPort _port;
    public AmazonSearchPortClient(String awsAccessKeyId) throws Exception {
    ServiceFactory factory = ServiceFactory.newInstance();
    this.awsAccessKeyId=awsAccessKeyId;
    _port = ((demo2.proxy.AmazonSearchService)factory.loadService(demo2.proxy.AmazonSearchService.class)).getAmazonSearchPort();
    * @param args
    public static void main(String[] args) {
    try {
    demo2.proxy.AmazonSearchPortClient myPort = new demo2.proxy.AmazonSearchPortClient("MYKEY");
    System.out.println("calling " + myPort.getEndpoint());
    KeywordRequest kwr = new KeywordRequest();
    kwr.setType("Java");
    //kwr.setA
    ProductInfo pinfo = myPort.keywordSearchRequest(kwr);
    pinfo.getDetails();
    /*KeywordRequest("Hello","1","books","D3HW0PG66IPLAM",
    "heavy","D3HW0PG66IPLAM","");*/
    // Add your own code here
    } catch (Exception ex) {
    ex.printStackTrace();
    * delegate all operations to the underlying implementation class.
    public ProductInfo keywordSearchRequest(KeywordRequest keywordSearchRequest) throws java.rmi.RemoteException {
    return _port.keywordSearchRequest(keywordSearchRequest);
    When i run the code.. i got the below exception....
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 410 Gone
         at amazonwebclientprj.proxy.runtime.AmazonSearchBinding_Stub.keywordSearchRequest(AmazonSearchBinding_Stub.java:560)
         at amazonwebclientprj.proxy.AmazonSearchPortClient.keywordSearchRequest(AmazonSearchPortClient.java:48)
         at amazonwebclientprj.proxy.AmazonSearchPortClient.main(AmazonSearchPortClient.java:35)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 410 Gone
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:172)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:148)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:175)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
         at amazonwebclientprj.proxy.runtime.AmazonSearchBinding_Stub.keywordSearchRequest(AmazonSearchBinding_Stub.java:543)

    You're getting HTTP 410:
    The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.
    The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server's site. It is not necessary to mark all permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the server owner.
    Looks like the URL in your proxy is not right.
    John

  • Intermittenly receiving an Internal Server Error from Web Services

    When attempting to login to Siebel CRM using the SSO Token (i.e. https://secure-ausomxpod.crmondemand.com/Services/Integration?command=ssologin&odSsoToken=[TOKEN]), I am intermittenly receiving an Internal Server Error. This seems to be completely random and occurs even before the SSO token expires.
    The error code I am getting back is SBL-ODU-01006
    If there is any other information I can provide, please let me know.
    Thank you,
    Cameron

    Hi !
    Is it happening on the production environnment or only on your staging ?
    It may be link on how you get the sso token. Do you make any changes on the "JSESSIONID=azojdazpdazpdnazpdnazpdn" ?
    Just try to search the error code SBL-ODU-01006 in the forum and there're two thread about it.
    Hope this will help, feel free to ask more !
    Max

  • Getting internal error from publish services

    my publish services have stopped working and it's giving me this internal error message "?:0: attempt to index field 'exportSettings' (a nil value)"  What do i need to do to get it back up and running again.

    That is exactly my issue right now. Nothing new on that?

  • Listener trace file: Winsock 54 errors

    I am seeing many of the following error ("soc nnn error - operation=5, ntresnt[0]=517, ntresnt[1]=54...") in my Listener trace file.
    This is on an Oracle 9.2.0.4 server (Windows 2003 Server R2).
    If my intepretation of the Listener trace is correct, this corresponds to Winsock Error 10054 (Connection reset by peer).
    SQL*net trace files at the client side (a separate host) do not indicate a corresponding error - all the trace files appear "clean".
    So what is the peer in this context? My initial thought was that the Oracle server had established a session for the client, but then the client
    had appeared to disappear from the network. But I would have expected to see something in the client trace files at the same time.
    This is an example from the Listener trace file.
    nscon: sending NSPTRD packet
    nspsend: entry
    nspsend: plen=65, type=5
    nttmwr: entry
    nttmwr: socket 332 had bytes written=65
    nttmwr: exit
    nspsend: 65 bytes to transport
    nspsend: packet dump
    nspsend: 00 41 00 00 05 00 00 00 |.A......|
    nspsend: 00 37 28 41 44 44 52 45 |.7(ADDRE|
    nspsend: 53 53 3D 28 50 52 4F 54 |SS=(PROT|
    nspsend: 4F 43 4F 4C 3D 74 63 70 |OCOL=tcp|
    nspsend: 29 28 48 4F 53 54 3D 31 |)(HOST=1|
    nspsend: 39 32 2E 31 36 38 2E 32 |92.168.2|
    nspsend: 2E 32 35 34 29 28 50 4F |.254)(PO|
    nspsend: 52 54 3D 34 34 35 37 29 |RT=4457)|
    nspsend: 29 |) |
    nspsend: normal exit
    nscon: exit (0)
    nsdo: nsctxrnk=0
    nsdo: normal exit
    nsrah: entry
    nsrah: reading (asynchronously) from transport...
    nsrah: ...into overflow area...
    nttmrd: entry
    ntt2err: entry
    ntt2err: soc 332 error - operation=5, ntresnt[0]=517, ntresnt[1]=54, ntresnt[2]=0
    ntt2err: exit
    ntt2err: entry
    ntt2err: Read unexpected EOF ERROR on 332
    ntt2err: exit
    nttmrd: socket 332 had bytes read=0
    nttmrd: exit
    nserror: entry
    nserror: nsres: id=4, op=68, ns=12537, ns2=12560; nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    nsrah: exit (-1)
    nsclose: entry
    nstimarmed: entry
    nstimarmed: no timer allocated
    nstimarmed: normal exit
    Any thoughts/recommendations on this would be gratefully received, thanks.
    Andy.

    nspsend: 4F 43 4F 4C 3D 74 63 70 |OCOL=tcp|
    nspsend: 29 28 48 4F 53 54 3D 31 |)(HOST=1|
    nspsend: 39 32 2E 31 36 38 2E 32 |92.168.2|
    nspsend: 2E 32 35 34 29 28 50 4F |.254)(PO|
    nspsend: 52 54 3D 34 34 35 37 29 |RT=4457)|
    So what is the peer in this context?192.168.2.245 port=4457
    go to http://download.oracle.com/docs/cd/B10501_01/network.920/a96580/troubles.htm
    then Find: EOF ERROR

  • Get blocker from the (self) deadlock trace file

    Hi,
    Recently I had an issue on a 10.2.0.4 single instance database where deadlocks were occurring. The following test case reproduces the problem (I create three parent tables, one child table with indexed foreign keys to all three parent tables and a procedure which performs an insert into the child table in an autonomous transaction):
    create table parent_1(id number primary key);
    create table parent_2(id number primary key);
    create table parent_3(id number primary key);
    create table child( id_c number primary key,
                       id_p1 number,
                       id_p2 number,
                       id_p3 number,
                       constraint fk_id_p1 foreign key (id_p1) references parent_1(id),
                       constraint fk_id_p2 foreign key (id_p2) references parent_2(id),
                       constraint fk_id_p3 foreign key (id_p3) references parent_3(id)
    create index i_id_p1 on child(id_p1);
    create index i_id_p2 on child(id_p2);
    create index i_id_p3 on child(id_p3);
    create or replace procedure insert_into_child as
    pragma autonomous_transaction;
    begin
      insert into child(id_c, id_p1, id_p2, id_p3) values(1,1,1,1);
      commit;
    end;
    insert into parent_1 values(1);
    insert into parent_2 values(1);
    commit;And now the action that causes the deadlock:
    SQL> insert into parent_3 values(1);
    1 row created.
    SQL> exec insert_into_child;
    BEGIN insert_into_child; END;
    ERROR at line 1:
    ORA-00060: deadlock detected while waiting for resource
    ORA-06512: at "SCOTT.INSERT_INTO_CHILD", line 4
    ORA-06512: at line 1My question is: how can I determine which table the insert into CHILD was waiting on? It could be waiting on PARENT_1, PARENT_2, PARENT_3, a combination of them or even on CHILD if I tried to insert a duplicate primary key in CHILD. Since we have the full testcase we know that it was waiting on PARENT_3 (or better said, it was waiting for the "parent" transaction to perform a commit/rollback), but is it possible to determine that solely from the deadlock trace file? I'm asking that because to pinpoint the problem I had to perform redo log mining, pl/sql tracing with DBMS_TRACE and manual debugging on a clone of the production database which was restored to a SCN just before the deadlock occurred. So, I had to do quite a lot of work to get to the blocker table and if this information is already in the deadlock trace file, it would have saved me a lot of time.
    Below is the deadlock trace file. From the "DML LOCK" part I guess that the child table (tab=227042) holds a mode 3 lock (SX), all the other three parent tables have mode 2 locks (SS), but from this extract I can't see that parent_3 (tab=227040) is blocking the insert into child:
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    TX-00070029-00749150        23     476     X             23     476           S
    session 476: DID 0001-0017-00000003     session 476: DID 0001-0017-00000003
    Rows waited on:
    Session 476: obj - rowid = 000376E2 - AAA3biAAEAAA4BwAAA
      (dictionary objn - 227042, file - 4, block - 229488, slot - 0)
    Information on the OTHER waiting sessions:
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    INSERT INTO CHILD(ID_C, ID_P1, ID_P2, ID_P3) VALUES(1,1,1,1)
    ----- PL/SQL Call Stack -----
      object      line  object
      handle    number  name
    3989eef50         4  procedure SCOTT.INSERT_INTO_CHILD
    391f3d870         1  anonymous block
            SO: 397691978, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227042 flg=11 chi=0
                      his[0]: mod=3 spn=35288
            (enqueue) TM-000376E2-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398341fe8, mode: SX, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398341ff8
            SO: 397691878, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227040 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376E0-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x3983386e8, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x3983386f8
            SO: 397691778, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227038 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DE-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398340f58, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398340f68
            SO: 397691678, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227036 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DC-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x39833f358, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x39833f368
          ----------------------------------------Thank you in advance for any comments,
    Jure

    Hi Jonathan,
    thank you very much for your reply which more than answers my question. I think it actually clears a lot of doubts I had about TX locks, since your mentioning of "undo segment header transaction table" pointed me in the right direction for further research on this topic (honestly, I didn't know what's "behind" TX locks). So if I understood correctly, to determine which table is the blocker (in the testcase presented above), you have to have some kind of history of executed SQL statements (e.g. by mining redo logs)?
    The statement you wrote:
    At this point, and with your example, the waiting session is waiting on a TX (transaction) lock - this means it has not idea (and no interest) in the actual data involved, it is merely waiting for an undo segment header transaction table slot to clear. and the example with the savepoint you gave, made me think of some of the consequences of that behaviour. That is probably the reason why it is not possible to get the "blocker" table from v$lock (although sometimes it's possible to get it from v$session.row_wait_obj#) when a session tries to change a row another session holds in exclusive mode, e.g.:
    create table t1 (id number);
    insert into t1 values (1);
    commit;
    Session 126:
    SID = 126> update t1 set id=2 where id=1;
    1 row updated.
    Session 146:
    SID = 146> update t1 set id=2 where id=1;
    {session hangs}
    In a separate session:
    SQL> SELECT   CASE
      2                  WHEN TYPE = 'TM'
      3                     THEN (SELECT object_name
      4                             FROM user_objects
      5                            WHERE object_id = l.id1)
      6               END object_name,
      7                  SID, TYPE, id1, id2, lmode, request, BLOCK
      8          FROM v$lock l
      9         WHERE SID IN (126, 146)
    10     ORDER BY SID, TYPE, 1
    11  /
    OBJECT_NAME    SID TY        ID1        ID2      LMODE    REQUEST      BLOCK
    T1             126 TM      68447          0          3          0          0
                   126 TX     262153       4669          6          0          1
    T1             146 TM      68447          0          3          0          0
                   146 TX     262153       4669          0          6          0The only thing I can tell from this output is that session 146 is trying to get a TX lock in exclusive mode, and session 126 is blocking it, the reason of the blocking being unknown from this view alone.
    Since I'd like to get a better understanding on the mechanics behind this (e.g. why the blocked session can't know the segment that is waiting for, since it has to go to the same segment's data block to find the address of the undo segment header transaction table slot? ; can we get the content/structure of the transaction table in the data block - probably by making a block dump?), do you have any source where a more in depth explanation what happens "behind the scenes" is available (perhaps in Oracle Core?)? Some time ago I found a link on your blog http://jonathanlewis.wordpress.com/2010/06/21/locks/ which points to Franck Pachot's article where he nicely explains the various locking modes: http://knol.google.com/k/oracle-table-lock-modes#. There I also found Kyle Hailey's presentation about locks http://www.perfvision.com/papers/09_enqueues.ppt where slide 23 nicely depicts what's going on when acquiring TX locks. Of course I'll try to search on my own, but any other source (especially from an authority like you) is more than welcome.
    Thank you again and regards,
    Jure

  • How can stop the bdump and udump trace files from accumulating?

    The files are growing so until it is filling up the user's c: drive. It's hundreds of files over 20 megs.

    Angela,
    The management of those files is a reposnsibilty of the DBA. ie The files dumped there are from background processes, session traces and your alert log.
    The alert log in bdump should be checked daily and errors investigated. Some errors will result in trace files being dumped. The alert log will always grow during normal operation and you can simply delete it or better yet zip it up and store it somewhere for a period of time.
    You can clean up the udump user traces files by simply deleting them periodically. For other traces you should have a look to see what they are for. Any ORA 600 traces should be investigated.
    If you are not a DBA and this seems to much trouble then you can just delete the files to reclaim the space.

  • TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES

    제품 : SQL*NET
    작성날짜 : 2002-11-24
    TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES
    (GENERATING TRACE FILE OF SQL*NET, NET8.X, AND NET SERVICES)
    ==========================================================
    PURPOSE
    이 글은 고객들이 Oracle Server의 Oracle Networking 제품들을 사용하다가
    Networking과 관련된 문제를 만났으나 스스로 해결할 수 없는 경우, 예를
    들어 http://metalink.oracle.com 에서 같은 case를 발견할 수 없는 경우,
    원인을 찾기 위하여 Networking 제품의 trace를 떠 보는 방법을 설명합니다.
    Explanation
    Oracle Networking 제품을 사용 중에 어떠한 문제를 겪는 경우 무엇보다도
    OS의 Networking Protocol Stack 쪽을 살펴보는 것이 선행되어야 합니다.
    일부 고객분들은 Oracle Networking 제품들이 OS의 Protocol Stack이 동작
    하는데 어떤 중대한 영향을 주는 것이 아닌가 하고 문의를 합니다만
    그러한 의문은 Oracle Networking 제품도 OS의 Protocol Stack을 사용하는
    하나의 network client라는 것을 이해함으로써 해소가 됩니다.
    Oracle Networking 제품도 OS의 Protocol Stack을 이용하는 하나의 network
    client이기 때문에 Oracle Networking 제품이 OS Protocol Stack의 동작에
    어떠한 식으로든 영향을 준다던가 하는 것은 있을 수 없기 때문입니다.
    고객의 관점에서 OS의 Protocol Stack은 정상적으로 설정이 되었다고 믿고
    있으며 기타 networking 환경을 정확히 판단할 수 없는, 예를 들어
    host설정은 잘 되어 있다고 믿고 있으나 firewall을 통해야만 하는 등의
    다소 접근하기 어려운 networking 환경에서 networking이 잘 되지 않는,
    예를 들어, Oracle Server에 연결이 잘 안되거나 연결 중 networking
    error가 발생하는 경우에는 http://metalink.oracle.com에서 같은 case를
    찾는 것이 가장 빠른 해결 방법입니다.
    그러나 드물게 http://metalink.oracle.com에서 같은 case가 나오지 않는
    경우 Oracle Networking 제품의 trace file을 떠서 원인을 찾게 됩니다.
    Oracle Networking 제품은 Oracle 7.x에서 SQL*Net, Oracle 8.x에서 Net 8.x,
    Oracle 9.x에서 Oracle Net Services라는 이름이 가지고 있으나 여기에서는
    편의상 모두 Oracle Networking 제품으로 부르도록 하겠습니다.
    아울러 여기서 언급하는 Trace File은 Oracle Server의 Trace File과
    다른 것입니다. Oracle Server의 Trace File은 database instance의 대한
    내용만을 기록하며 Oracle Networking 제품의 Trace File은 networking에
    대한 내용만을 기록합니다.
    Trace File의 작성 방법은 Oracle 7.x부터 9.x까지 같습니다.
    Solution Description
    1. Client가 되는 host에서 어떠한 문제를 경험한 경우, 간혹 문제의 발생
    빈도가 낮거나 network나 server 쪽에 이상을 느끼시면서도 문제를 확인하기
    여러운 경우가 있습니다. 이런 경우엔는 문제가 다시 발생될 때 까지
    Client에서 Client Trace File를 작성하여 보아야 합니다.
    a. prompt$ echo $TNS_ADMIN
    b. $TNS_ADMIN이 설정되어 있으면, prompt$ cd $TNS_ADMIN
    아니면, prompt$ cd $ORACLE_HOME/network/admin
    c. vi sqlnet.ora
    # 다음 line들을 추가
    TRACE_LEVEL_client=16
    TRACE_FILE_client=<filename>
    TRACE_DIRECTORY_client=<directory>
    TRACE_UNIQUE_client=TRUE
    :wq
    prompt$
    예를 들어, client가 Windows OS인 경우 다음과 같이 합니다.
    prompt> notepad sqlnet.ora
    TRACE_LEVEL_client=16
    TRACE_FILE_client=client
    TRACE_DIRECTORY_client=D:\temp
    TRACE_UNIQUE_client=TRUE
    prompt>
    d. SQL*Plus와 같은, 또는 사용하던 Client software를 계속 이용
    e. 다시 문제가 발생
    f. 작성된 trace file들의 날자를 보아 문제가 발생한 시간과
    거의 같은 시간에 작성된 file들이 있는지 확인
    prompt> dir D:\temp
    client_<PID1>.trc ...
    client_<PID2>.trc ...
    prompt>
    g. trace를 중단합니다.
    prompt$ vi sqlnet.ora
    TRACE_LEVEL_client=0
    :wq
    prompt$
    h. Trace Assistant를 이용하여 Oracle Networking 제품의 error code
    (이하 TNS error code)를 trace file에서 찾아냅니다.
    prompt$ cd <directory of TRACE_DIRECTORY_client>
    prompt$ trcasst <filename of TRACE_FILE_client>_<PID>.trc > trcasst.out
    prompt$ vi -R trcasst.out
    Trace Assistant (trcasst command)는 Oracle 8.x부터 제공되며,
    Oracle 9.x의 Trace Assistant를 사용할 것을 권합니다.
    i. oerr command로 tns error에 대한 error message를 봅니다.
    예를 들어, 흔한 경우 중에 listener가 실행 중이지 않거나 잘못된
    tnsnames.ora 설정으로 client가 listener가 service 중이지 않은
    network address로 연결을 시도하다가 TNS-12541 TNS-12560 TNS-511
    error가 차례대로 나왔다면 다음과 같이 하여 각 TNS error code에
    대한 message와 설명 및 해결방법을 볼 수 있습니다.
    prompt$ oerr tns 12541
    prompt$ oerr tns 12560
    prompt$ oerr tns 511
    j. Trace Assistant가 알려준 TNS error code를 http://metalink.oracle.com
    에서 검색하여 같은 case가 있는지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    오른쪽 위 HTML frame에서 :
    2) "Advanced" Button을 누릅니다.
    오른쪽 아래 HTML frame에서:
    3) "Enter Keyword" text box에 tns error code를 모두 입력합니다.
    예를 들어, tns-12541 tns-12560 tns-511
    4) "Search" button을 누릅니다.
    k. http://metalink.oracle.com에서 검색이 거의 되지 않거나
    문제가 매우 이상한 경우 이 글 아래를 보시기 바랍니다.
    2. Client에서 SQL*Plus나 Oracle Client를 사용하는 다른 3rd party
    appliction은 잘 동작하나 유독 tnsping command에서 error가 나는 경우가
    드물게 있습니다. 이 때에는 tnsping command의 trace file을 작성해봅니다.
    prompt$ vi sqlnet.ora
    TNSPING_TRACE_LEVEL=16
    TNSPING_TRACE_DIRECTORY=<directory>
    :wq
    prompt$ tnsping <tns alias>
    3. Server, 즉 listener에 문제가 있다고 생각되는 경우 우선 listener의
    log file을 봅니다. listener의 log에 대해서는 bulletin.18364를
    이용합니다.
    4. listener의 trace file은 다음과 같이 설정합니다.
    listener의 trace 설정은 parameter 이름에 trace file을 작성하고자 하는
    listener의 이름이 오는 점, 설정 후 listener process를 restart해야 하는
    점 두 가지를 제외하면 나머지 절차가 앞서 설명드린 client와 같습니다.
    prompt$ vi listener.ora
    TRACE_LEVEL_<listener name>=16
    TRACE_FILE_<listener name>=<filename>
    TRACE_DIRECTORY_<listener name>=<directory>
    :wq
    prompt$ lsnrctl stop <listener name>
    prompt$ lsnrctl start <listener name>
    5. 만일 위와 같이 http://metalink.oracle.com을 검색하여도
    같은 case가 전혀 없거나 찾아낸 error message들이 원인과 관련이 없어
    보일정도로 매우 이상한 경우 다음과 같이 해봅니다.
    a. Oracle Software의 version과 OS의 version이 certification matrix에
    있는 지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    왼쪽 menu에서 :
    2) "Certify & Availabilty" menu item을 click합니다.
    오른쪽 아래 HTML frame에서:
    3) 현재 사용중인 Product와 그 version 및 OS와 그 version을 선택하
    여 검색합니다.
    Certification Matrix는 매우 정확하게 정보를 보여주고 있습니다.
    Matrix에 없는 Oracle Product와 OS version은 certify되어 있지 않으며
    모든 Oracle 제품을 Certify되지 않은 OS version에서 사용하는 것은
    그 어떠한 이유로든 보증과 지원이 되지 않습니다.
    만일 사용중인 제품이 certify되지 않은 경우, 무조건 certify된 제품
    과 OS의 version으로 install하여 다시 시도를 해야 합니다.
    예를 들어, Windows OS의 경우 그 어떠한 Oracle 제품도 Windows Me 및
    Windows XP Home Edition에 certify되어 있지 않습니다.
    Windows 2000 Professional 이상에 Certify된 제품은 Oracle 8.1.6부터
    이며 XP Professional 이상에 Certify된 제품은 Oracle 9.0.1부터
    입니다.
    Oracle 제품은 software이기는 하나 매우 완벽한 수준의 제품이라고 할
    수 있습니다. 그러나 Oracle 제품은 하나의 OS의 process로써 실행이
    되고 시간이 지나며 많은 환경이 major upgrade가 되면서 그러한 환경
    에 따라 Oracle software도 새로운 version으로 제작이 되면서 다시
    certification이 이루어지게 됩니다.
    그렇기 때문에 고객들은 특히 다수의 client나 고가의 server를 계획하
    시는 고객들은 저희 certification matrix를 사전에 철저히 확인하셔야
    합니다.
    앞서 Certification Matrix이전에 Installation Guide에 명시된
    OS version만이 certify되어 있다고 생각하시면 되겠습니다.
    b. Unix에서는 Oracle Software를 install한 후 OS의 Networking patch를
    씌우고 사용하다보면 문제가 되는 경우가 있습니다.
    이런 경우 relink를 해주어 바뀐 OS환경에서 Oracle 실행 file들을 다
    시 만들어 주어야 합니다.
    자세한 내용은 http://metalink.oracle.com에서
    다음 글을 읽어 보시기 바랍니다.
    Note:131321.1 How to Relink Oracle Database Software on UNIX
    c. Certify된 환경에서도 원인을 찾을 수 없는 경우 trace file을 가지고
    Oracle Support Services에 문의를 합니다. (지원 계약 고객에 한함)
    Reference Documents
    Chapter 17 Trouble shooting Oracle Net Services
    Oracle 9i Net Services Administrator's Guide
    SQL*Net, Net8.x, Net Services 9.x Network Administration Guide/Reference

    제품 : SQL*NET
    작성날짜 : 2002-11-24
    TROUBLE SHOOTING PROBLEM ON SQL*NET, NET8.X, AND NET SERVICES
    (GENERATING TRACE FILE OF SQL*NET, NET8.X, AND NET SERVICES)
    ==========================================================
    PURPOSE
    이 글은 고객들이 Oracle Server의 Oracle Networking 제품들을 사용하다가
    Networking과 관련된 문제를 만났으나 스스로 해결할 수 없는 경우, 예를
    들어 http://metalink.oracle.com 에서 같은 case를 발견할 수 없는 경우,
    원인을 찾기 위하여 Networking 제품의 trace를 떠 보는 방법을 설명합니다.
    Explanation
    Oracle Networking 제품을 사용 중에 어떠한 문제를 겪는 경우 무엇보다도
    OS의 Networking Protocol Stack 쪽을 살펴보는 것이 선행되어야 합니다.
    일부 고객분들은 Oracle Networking 제품들이 OS의 Protocol Stack이 동작
    하는데 어떤 중대한 영향을 주는 것이 아닌가 하고 문의를 합니다만
    그러한 의문은 Oracle Networking 제품도 OS의 Protocol Stack을 사용하는
    하나의 network client라는 것을 이해함으로써 해소가 됩니다.
    Oracle Networking 제품도 OS의 Protocol Stack을 이용하는 하나의 network
    client이기 때문에 Oracle Networking 제품이 OS Protocol Stack의 동작에
    어떠한 식으로든 영향을 준다던가 하는 것은 있을 수 없기 때문입니다.
    고객의 관점에서 OS의 Protocol Stack은 정상적으로 설정이 되었다고 믿고
    있으며 기타 networking 환경을 정확히 판단할 수 없는, 예를 들어
    host설정은 잘 되어 있다고 믿고 있으나 firewall을 통해야만 하는 등의
    다소 접근하기 어려운 networking 환경에서 networking이 잘 되지 않는,
    예를 들어, Oracle Server에 연결이 잘 안되거나 연결 중 networking
    error가 발생하는 경우에는 http://metalink.oracle.com에서 같은 case를
    찾는 것이 가장 빠른 해결 방법입니다.
    그러나 드물게 http://metalink.oracle.com에서 같은 case가 나오지 않는
    경우 Oracle Networking 제품의 trace file을 떠서 원인을 찾게 됩니다.
    Oracle Networking 제품은 Oracle 7.x에서 SQL*Net, Oracle 8.x에서 Net 8.x,
    Oracle 9.x에서 Oracle Net Services라는 이름이 가지고 있으나 여기에서는
    편의상 모두 Oracle Networking 제품으로 부르도록 하겠습니다.
    아울러 여기서 언급하는 Trace File은 Oracle Server의 Trace File과
    다른 것입니다. Oracle Server의 Trace File은 database instance의 대한
    내용만을 기록하며 Oracle Networking 제품의 Trace File은 networking에
    대한 내용만을 기록합니다.
    Trace File의 작성 방법은 Oracle 7.x부터 9.x까지 같습니다.
    Solution Description
    1. Client가 되는 host에서 어떠한 문제를 경험한 경우, 간혹 문제의 발생
    빈도가 낮거나 network나 server 쪽에 이상을 느끼시면서도 문제를 확인하기
    여러운 경우가 있습니다. 이런 경우엔는 문제가 다시 발생될 때 까지
    Client에서 Client Trace File를 작성하여 보아야 합니다.
    a. prompt$ echo $TNS_ADMIN
    b. $TNS_ADMIN이 설정되어 있으면, prompt$ cd $TNS_ADMIN
    아니면, prompt$ cd $ORACLE_HOME/network/admin
    c. vi sqlnet.ora
    # 다음 line들을 추가
    TRACE_LEVEL_client=16
    TRACE_FILE_client=<filename>
    TRACE_DIRECTORY_client=<directory>
    TRACE_UNIQUE_client=TRUE
    :wq
    prompt$
    예를 들어, client가 Windows OS인 경우 다음과 같이 합니다.
    prompt> notepad sqlnet.ora
    TRACE_LEVEL_client=16
    TRACE_FILE_client=client
    TRACE_DIRECTORY_client=D:\temp
    TRACE_UNIQUE_client=TRUE
    prompt>
    d. SQL*Plus와 같은, 또는 사용하던 Client software를 계속 이용
    e. 다시 문제가 발생
    f. 작성된 trace file들의 날자를 보아 문제가 발생한 시간과
    거의 같은 시간에 작성된 file들이 있는지 확인
    prompt> dir D:\temp
    client_<PID1>.trc ...
    client_<PID2>.trc ...
    prompt>
    g. trace를 중단합니다.
    prompt$ vi sqlnet.ora
    TRACE_LEVEL_client=0
    :wq
    prompt$
    h. Trace Assistant를 이용하여 Oracle Networking 제품의 error code
    (이하 TNS error code)를 trace file에서 찾아냅니다.
    prompt$ cd <directory of TRACE_DIRECTORY_client>
    prompt$ trcasst <filename of TRACE_FILE_client>_<PID>.trc > trcasst.out
    prompt$ vi -R trcasst.out
    Trace Assistant (trcasst command)는 Oracle 8.x부터 제공되며,
    Oracle 9.x의 Trace Assistant를 사용할 것을 권합니다.
    i. oerr command로 tns error에 대한 error message를 봅니다.
    예를 들어, 흔한 경우 중에 listener가 실행 중이지 않거나 잘못된
    tnsnames.ora 설정으로 client가 listener가 service 중이지 않은
    network address로 연결을 시도하다가 TNS-12541 TNS-12560 TNS-511
    error가 차례대로 나왔다면 다음과 같이 하여 각 TNS error code에
    대한 message와 설명 및 해결방법을 볼 수 있습니다.
    prompt$ oerr tns 12541
    prompt$ oerr tns 12560
    prompt$ oerr tns 511
    j. Trace Assistant가 알려준 TNS error code를 http://metalink.oracle.com
    에서 검색하여 같은 case가 있는지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    오른쪽 위 HTML frame에서 :
    2) "Advanced" Button을 누릅니다.
    오른쪽 아래 HTML frame에서:
    3) "Enter Keyword" text box에 tns error code를 모두 입력합니다.
    예를 들어, tns-12541 tns-12560 tns-511
    4) "Search" button을 누릅니다.
    k. http://metalink.oracle.com에서 검색이 거의 되지 않거나
    문제가 매우 이상한 경우 이 글 아래를 보시기 바랍니다.
    2. Client에서 SQL*Plus나 Oracle Client를 사용하는 다른 3rd party
    appliction은 잘 동작하나 유독 tnsping command에서 error가 나는 경우가
    드물게 있습니다. 이 때에는 tnsping command의 trace file을 작성해봅니다.
    prompt$ vi sqlnet.ora
    TNSPING_TRACE_LEVEL=16
    TNSPING_TRACE_DIRECTORY=<directory>
    :wq
    prompt$ tnsping <tns alias>
    3. Server, 즉 listener에 문제가 있다고 생각되는 경우 우선 listener의
    log file을 봅니다. listener의 log에 대해서는 bulletin.18364를
    이용합니다.
    4. listener의 trace file은 다음과 같이 설정합니다.
    listener의 trace 설정은 parameter 이름에 trace file을 작성하고자 하는
    listener의 이름이 오는 점, 설정 후 listener process를 restart해야 하는
    점 두 가지를 제외하면 나머지 절차가 앞서 설명드린 client와 같습니다.
    prompt$ vi listener.ora
    TRACE_LEVEL_<listener name>=16
    TRACE_FILE_<listener name>=<filename>
    TRACE_DIRECTORY_<listener name>=<directory>
    :wq
    prompt$ lsnrctl stop <listener name>
    prompt$ lsnrctl start <listener name>
    5. 만일 위와 같이 http://metalink.oracle.com을 검색하여도
    같은 case가 전혀 없거나 찾아낸 error message들이 원인과 관련이 없어
    보일정도로 매우 이상한 경우 다음과 같이 해봅니다.
    a. Oracle Software의 version과 OS의 version이 certification matrix에
    있는 지 확인합니다.
    Web browser에서:
    1) Go to http://metalink.oracle.com, then login
    왼쪽 menu에서 :
    2) "Certify & Availabilty" menu item을 click합니다.
    오른쪽 아래 HTML frame에서:
    3) 현재 사용중인 Product와 그 version 및 OS와 그 version을 선택하
    여 검색합니다.
    Certification Matrix는 매우 정확하게 정보를 보여주고 있습니다.
    Matrix에 없는 Oracle Product와 OS version은 certify되어 있지 않으며
    모든 Oracle 제품을 Certify되지 않은 OS version에서 사용하는 것은
    그 어떠한 이유로든 보증과 지원이 되지 않습니다.
    만일 사용중인 제품이 certify되지 않은 경우, 무조건 certify된 제품
    과 OS의 version으로 install하여 다시 시도를 해야 합니다.
    예를 들어, Windows OS의 경우 그 어떠한 Oracle 제품도 Windows Me 및
    Windows XP Home Edition에 certify되어 있지 않습니다.
    Windows 2000 Professional 이상에 Certify된 제품은 Oracle 8.1.6부터
    이며 XP Professional 이상에 Certify된 제품은 Oracle 9.0.1부터
    입니다.
    Oracle 제품은 software이기는 하나 매우 완벽한 수준의 제품이라고 할
    수 있습니다. 그러나 Oracle 제품은 하나의 OS의 process로써 실행이
    되고 시간이 지나며 많은 환경이 major upgrade가 되면서 그러한 환경
    에 따라 Oracle software도 새로운 version으로 제작이 되면서 다시
    certification이 이루어지게 됩니다.
    그렇기 때문에 고객들은 특히 다수의 client나 고가의 server를 계획하
    시는 고객들은 저희 certification matrix를 사전에 철저히 확인하셔야
    합니다.
    앞서 Certification Matrix이전에 Installation Guide에 명시된
    OS version만이 certify되어 있다고 생각하시면 되겠습니다.
    b. Unix에서는 Oracle Software를 install한 후 OS의 Networking patch를
    씌우고 사용하다보면 문제가 되는 경우가 있습니다.
    이런 경우 relink를 해주어 바뀐 OS환경에서 Oracle 실행 file들을 다
    시 만들어 주어야 합니다.
    자세한 내용은 http://metalink.oracle.com에서
    다음 글을 읽어 보시기 바랍니다.
    Note:131321.1 How to Relink Oracle Database Software on UNIX
    c. Certify된 환경에서도 원인을 찾을 수 없는 경우 trace file을 가지고
    Oracle Support Services에 문의를 합니다. (지원 계약 고객에 한함)
    Reference Documents
    Chapter 17 Trouble shooting Oracle Net Services
    Oracle 9i Net Services Administrator's Guide
    SQL*Net, Net8.x, Net Services 9.x Network Administration Guide/Reference

Maybe you are looking for