Strange Trunk utilization

I've inherited a poorly designed network that is experiencing some problems.
It has 2 6509 core switches and then extending out from the core are individual 3750s connected with a single trunk. one 6509 is side "A" and the other is side "B".
Our backup server is directly connected to side "B", whenever it kicks off I see a serious spike in the utilization of the trunks between side "A's" 3750s and side "A's" 6509, this spike is there even though there are no target hosts being backed up on those 3750s.
I can't explain it so I can't fix it.
Any insight would be helpful, we have of course vlan interfaces running HSRP on the 6509s and multiple vlans. No pruning is occuring either via VTP or allowed vlans. BAsically all vlans are allowed on all trunks.
I'm going to try to hit a trunk with a sniffer tonight I think.
Thanks

Is the port the directly connected port where the server is connected? I assume it is actually the port across from this switch that lost the entry. This is typical in backup situations where the server talks to one host for an extended period of time or is quiet for a long time.
The cam entries age every 5 minutes by default and the arp entry every 4 hours. There is a big overlap there in terms of when we will send an ARP and thus learn a new entry. The issue is typically that you have vlans active on different switches and depending on who you are talking to, you may be routing through one switch and coming back in through another. At layer 2, that traffic never hits your cross-connect between the switches and thus the entry is not updated.
Here is a document that explains this issue:
http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094afd.shtml#t8
Regards

Similar Messages

  • Recommendations for Software that Reports on KPIs - CUCM

    Greetings,
    I am curious what folks use to monitor/manage prescribed KPIs in their Cisco UC environment. I am looking at the common KPIs (uptime, trunk utilization, various QoS items) and I would also like to monitor Normal Call Termination, Dropped/Failed calls, answer seizure ratio, trunk group availability ratio, etc.. 
    Getting raw data isn't an issue. My customer wants something that will track key performance indicators daily, monthly, and quarterly. So, the tool needs to be able to trend. I have found a couple of tools to cover the basis w/ some manual intervention to plug gaps. I am wondering if anyone has a suggestion for a single tool that covers all bases well.
    Thanks in advance.
    -Bill (@ucguerrilla)

    Hello Bill - I too struggle with this type of daily, monthly, quarterly reporting for CUCM.  You mentioned you found a couple tools, though - do you mind sharing with the community what those are?
    Thanks!
    Dee

  • Tool used for monitoring Voice Gateways

    Hi,
    I would like to know which tools that are available to do realtime monitoring for cisco VoiceGateways AS5400.
    We would like to monitor trunk utilization/ number of active calls ...
    We need a real time monitoring capabilities.
    Thanks for the advise.
    rgds
    abdel

    you can start from here:
    http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00800b4cee.shtml
    goto MIB Locator, select the IOS version, then platform family, it will
    narrow down to a small number of MIB to choose from.
    and search for " number of calls" and check the box of " Include object
    descriptions in search"
    about 21 MIB objects are related. Each one can check the supported
    version of IOS.

  • Cisco Prime Collaboration Assurance

    Hello Guys,
    I'm tryng to implement a Cisco Prime Collaboration Assurance on a costumer, but it does not create the phones inventory.
    The UC Cluster nodes are already managed.
    I've followed some Cisco Guides to set this up, and it is not working.
    http://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/prime-collaboration/guide-c07-732215.html#_Toc394127247
    http://docwiki.cisco.com/wiki/Setting_up_Devices_for_Prime_Collaboration_Assurance
    http://www.cisco.com/c/en/us/td/docs/net_mgmt/prime/collaboration/10-5/assurance/standard/guide/Cisco_Prime_Collaboration_Assurance_Guide_Standard_10_5.html
    Please, how the PCA discover the Cisco IP Phones and endpoints?
    I'm working with a Prime Collaboration Assurance 10.5 Advanced License. All the UC nodes are on 10.5 version.
    Thanks in advance and best regards.

    Hi Pedro,
    I am fine.
    thanks for the ratings.
    What I could find that this could be again the bug but not sure since I  never came across this issue when worked on PCA 9.x?
    Data sorting issue in Trunk Utilization & Location CAC bandwidth
    CSCur69981
    If TAC case is still opened, you can speak to him about this issue as well.
    there is a similar discussion on E1 channel but could not be resolved.
    https://supportforums.cisco.com/discussion/12297036/cpc-assurance-not-showing-e1-cas-channel-status
    regds,
    aman

  • Regarding parallel SIP sessions

    Is there a way we can find how many parallel SIP sessions can be made? I am trying to understand how to calculate the SIP trunk utilization. 
    Is there any command or SNMP MIN to find that out? It has been specified in CUBE FAQ that there is no way we can get the license information of CUBE in command line. My understanding is, CUBE license and the bandwidth only decides the amount of calls we can make in parallel. Please through some light

    hi sailaja ,
    I understood ur answer and i found it correct . Could u tell me , why it picks up the first record only again and again . what cud be the purpose behind this .
    bye
    regards
    varma

  • Unable to generate CUSSM Trunk/PRI Utilization Report

    Dear All,
    We want to generate Voice Gateways E1 Utilization report from CUSSM 8.5. I have configured CUOM 8.5 and CUSM 8.5 but i am unable to get the date for number of active calls and % utilization/PRI.
    Thanks in Advance.
    Hassan

    Well i have done a little reading and found out that CUSSM 8.5 gives trunk utilizaition but only for MGCP Controlled Gateways. Reverting back to version 1.3
    Hassan

  • Follow up on an old thread about memory utilization

    This thread was active a few months ago, unfortunately its taken me until now
    for me to have enough spare time to craft a response.
    From: SMTP%"[email protected]" 3-SEP-1996 16:52:00.72
    To: [email protected]
    CC:
    Subj: Re: memory utilization
    As a general rule, I would agree that memory utilzation problems tend to be
    developer-induced. I believe that is generally true for most development
    environments. However, this developer was having a little trouble finding
    out how NOT to induce them. After scouring the documentation for any
    references to object destructors, or clearing memory, or garbage collection,
    or freeing objects, or anything else we could think of, all we found was how
    to clear the rows from an Array object. We did find some reference to
    setting the object to NIL, but no indication that this was necessary for the
    memory to be freed.
    I believe the documentation, and probably some Tech-Notes, address the issue of
    freeing memory.
    Automatic memory management frees a memory object when no references to the
    memory
    object exist. Since references are the reason that a memory object lives,
    removing
    the references is the only way that memory objects can be freed. This is why the
    manuals and Tech-Notes talk about setting references to NIL (I.E. freeing memory
    in an automatic system is done by NILing references and not by calling freeing
    routines.) This is not an absolute requirement (as you have probably noticed
    that
    most things are freed even without setting references to NIL) but it accelerates
    the freeing of 'dead' objects and reduces the memory utilization because it
    tends
    to carry around less 'dead' objects.
    It is my understanding that in this environment, the development tool
    (Forte') claims to handle memory utilization and garbage collection for you.
    If that is the case, then it is my opinion that it shoud be nearly
    impossible for the developer to create memory-leakage problems without going
    outside the tool and allocating the memory directly. If that is not the
    case, then we should have destructor methods available to us so that we can
    handle them correctly. I know when I am finished with an object, and I
    would have no problem calling a "destroy" or "cleanup" method. In fact, I
    would prefer that to just wondering if Forte' will take care of it for me.
    It is actually quite easy to create memory leaks. Here are some examples:
    Have a heap attribute in a service object. Keep inserting things into
    the heap and never take them out (I.E. forgot to take them out). Since
    service objects are always live, everything in the heap is also live.
    Have an exception handler that catches exceptions and doesn't do
    anything
    with the error manager stack (I.E. it doesn't call task.ErrMgr.Clear).
    If the handler is activated repeatedly in the same task, the stack of
    exceptions will grow until you run out of memory or the task terminates
    (task termination empties the error manager stack.)
    It seems to me that this is a weakness in the tool that should be addressed.
    Does anyone else have any opinions on this subject?
    Actually, the implementation of the advanced features supported by the Forte
    product
    results in some complications in areas that can be hard to explain. Memory
    management
    happens to be one of the areas most effected. A precise explanation to a
    non-deterministic process is not possible, but the following attempts to
    explain the
    source of the non-determinism.
    o The ability to call from compiled C++ to interpreted TOOL and back
    to compiled C++.
    This single ability causes most of the strange effects mentioned in
    this thread.
    For C++ code the location of all variables local to a method is not
    know
    (I.E. C++ compilers can't tell you at run-time what is a variable
    and what
    isn't.) We use the pessimistic assumption that anything that looks
    like a
    reference to a memory object is a reference to a memory object. For
    interpreted
    TOOL code the interpreter has exact knowledge of what is a reference
    and what
    isn't. But the TOOL interpreter is itself a C++ method. This means
    that any
    any memory objects referenced by the interpreter during the
    execution of TOOL
    code could be stored in local variables in the interpreter. The TOOL
    interpreter
    runs until the TOOL code returns or the TOOL code calls into C++.
    This means
    that many levels of nested TOOL code can be the source of values
    assigned to
    local variables in the TOOL interpreter.
    This is the complicated reason that answers the question: Why doesn't a
    variable that is created and only used in a TOOL method that has
    returned
    get freed? It is likely that the variable is referenced by local
    variables
    in the TOOL interpreter method. This is also why setting the
    variable to NIL
    before returning doesn't seem to help. If the variable in question is a
    Array than invoke Clear() on the Array seems to help, because even
    though the
    Array is still live the objects referenced by the Array have less
    references.
    The other common occurrence of this effect is in a TextData that
    contains a
    large string. In this case, invoking SetAllocatedSize(0) can be used
    to NIL
    the reference to the memory object that actually holds the sequence of
    characters. Compositions of Arrays and TextData's (I.E. a Array of
    TextData's
    that all have large TextDatas.) can lead to even more problems.
    When the TOOL code is turned into a compiled partition this effect
    is not
    noticed because the TOOL interpreter doesn't come into play and
    things execute
    the way most people expect. This is one area that we try to improve
    upon, but it is complicated by the 15 different platforms, and thus
    C++ compilers,
    that we support. Changes that work on some machines behave
    differently on other
    machines. At this point in time, it occasionally still requires that
    a TOOL
    programmer actively address problems. Obviously we try to reduce
    this need over
    time.
    o Automatic memory management for C++ with support for multi-processor
    threads.
    Supporting automatic memory management for C++ is something that is
    not a very
    common feature. It requires a coding standard that defines what is
    acceptable and
    what isn't. Additionally, supporting multi-processor threads adds
    its own set of
    complications. Luckily TOOL users are insulated from this because
    the TOOL to C++
    code generator knows the coding standard. In the end you are
    impacted by the C++
    compiler and possibly the differences that occur between different
    compilers and/or
    different processors (I.E. Intel X86 versus Alpha.) We have seen
    applications that
    had memory utilization differences of up to 2:1.
    There are two primary sources of differences.
    The first source is how compilers deal with dead assignments. The
    typical TOOL
    fragment that is being memory manager friendly might perform the
    following:
    temp : SomeObject = new;
    ... // Use someObject
    temp = NIL;
    return;
    When this is translated to C++ it looks very similar in that temp
    will be assigned the
    value NULL. Most compilers are smart enough to notice that 'temp' is
    never used again
    because the method is going to return immediately. So they skip
    setting 'temp' to NULL.
    In this case it should be harmless that the statement was ignored
    (see next example for a different variation.) In more
    complicated examples that involve loops (especially long
    lived event loops) a missed NIL assignment can lead to leaking the
    memory object whose
    reference didn't get set to NIL (incidentally this is the type of
    problem that causes
    the TOOL interpreter to leak references.)
    The second source is a complicated interaction caused by history of
    method invocations.
    Consider the following:
    Method A() invokes method B() which invokes method C().
    Method C() allocates a temporary TextData, invokes
    SetAllocatedSize(1000000)
    does some more work and then returns.
    Method B() returns.
    Method A() now invokes method D().
    Method D() allocates something that cause the memory manager to look
    for memory objects to free.
    Now, even though we have returned out of method C() we have starting
    invoking
    methods. This causes us to use re-use portions of the C++ stack used to
    maintain the history of method invocation and space for local variables.
    There is some probability that the reference to the 'temporary' TextData
    will now be visible to the memory manager because it was not overwritten
    by the invocation of D() or anything invoked by method D().
    This example answers questions of the form: Why does setting a local
    variable to
    NIL and returning and then invoking task.Part.Os.RecoverMemory not
    cause the
    object referenced by the local variable to be freed?
    In most cases these effects cause memory utilization to be slightly
    higher
    than expected (in well behaved cases it's less than 5%.) This is a small
    price to pay for the advantages of automatic memory management.
    An object-oriented programming style supported by automatic memory
    management makes it
    easy to extended existing objects or sets of objects by composition.
    For example:
    Method A() calls method B() to get the next record from the
    database. Method B()
    is used because we always get records, objects, of a certain
    type from
    method B() so that we can reuse code.
    Method A() enters each row into a hash table so that it can
    implement a cache
    of the last N records seen.
    Method A() returns the record to its caller.
    With manual memory management there would have to be some interface
    that allows
    Method A() and/or the caller of A() to free the record. This
    requires
    that the programmer have a lot more knowledge about the
    various projects
    and classes that make up the application. If freeing doesn'
    happen you
    have a memory leak, if you free something while its still
    being used the
    results are unpredictable and most often fatal.
    With automatic memory management, method A() can 'free' its
    reference by removing
    the reference from the hash table. The caller can 'free' its
    reference by
    either setting the reference to NIL or getting another
    record and referring
    to the new record instead of the old record.
    Unfortunately, this convenience and power doesn't come for free. Consider
    the following,
    which comes from the Forte' run-time system:
    A Window-class object is a very complex beast. It is composed of two
    primary parts:
    the UserWindow object which contains the variables declared by the
    user, and the
    Window object which contains the object representation of the window
    created in
    the window workshop. The UserWindow and the Window reference each
    other. The Window
    references the Menu and each Widget placed on the Window directly. A
    compound Window
    object, like a Panel, can also have objects place in itself. These
    are typically
    called the children. Each of the children also has to know the
    identity of it's
    Mom so they refer to there parent object. It should be reasonably
    obvious that
    starting from any object that make up the window any other object
    can be found.
    This means that if the memory manager finds a reference to any
    object in the Window
    it can also find all other objects in the window. Now if a reference
    to any object
    in the Window can be found on the program stack, all objects in the
    window can
    also be found. Since there are so many objects and the work involved
    in displaying
    a window can be very complicated (I.E. the automatic geometry
    management that
    layouts the window when it is first opened or resized.) there are
    potentially many
    different reference that would cause the same problem. This leads to
    a higher than
    normal probability that a reference exists that can cause the whole
    set of Window
    objects to not be freed.
    We solved this problem in the following fashion:
    Added a new Method called RecycleMemory() on UserWindow.
    Documented that when a window is not going to be used again
    that it is
    preferably that RecycleMemory() is invoked instead
    of Close().
    The RecycleMemory() method basically sets all references
    from parent to
    child to NIL and sets all references from child to
    parent to NIL.
    Thus all objects are isolated from other objects
    that make up
    the window.
    Changed a few methods on UserWindow, like Open(), to check
    if the caller
    is trying to open a recycled window and throw an
    exception.
    This was feasible because the code to traverse the parent/child
    relationship
    ready existed and was being used at close time to perform other
    bookkeeping
    operations on each of the Widgets.
    To summarize:
    Automatic memory management is less error prone and more productive but
    doesn't come totally for free.
    There are things that the programmer can do that assists the memory
    manager:
    o Set object reference to NIL when known to be correct (this
    is the
    way the memory is deallocated in an automatic system.)
    o Use methods like Clear() on Array and SetAllocatedSize()
    on TextData to
    that allow these objects to set their internal
    references to NIL
    when known to be correct.
    o Use the RecycleMemory() method on windows, especially very
    complicated
    windows.
    o Build similar type of methods into your own objects when
    needed.
    o If you build highly connected structures that are very
    large in the
    number of object involved think that how it might be
    broken
    apart gracefully (it defeats some of the purpose of
    automatic
    management to go to great lengths to deal with the
    problem.)
    o Since program stacks are the source of the 'noise'
    references, try
    and do things with less tasks (this was one of the
    reasons that
    we implemented event handlers so that a single task
    can control
    many different windows.)
    Even after doing all this its easy to still have a problem.
    Internally we have
    access to special tools that can help point at the problem so that
    it can be
    solved. We are attempting to give users UNSUPPORTED access to these
    tools for
    Release 3. This should allow users to more easily diagnose problems.
    It also
    tends to enlighten one about how things are structured and/or point out
    inconsistencies that are the source of known/unknown bugs.
    Derek
    Derek Frankforth [email protected]
    Forte Software Inc. [email protected]
    1800 Harrison St. +510.869.3407
    Oakland CA, 94612

    I beleive he means to reformat it like a floppy disk.
    Go into My Computer, Locate the drive letter associated with your iPod(normally says iPod in it, and shows under removable storage).
    Right click on it and choose format - make sure to not have the "quick format" option checked. Then let it format.
    If that doesnt work, There are steps somewhere in the 5th gen forum( dont have the link off hand) to try to use the usbstor.sys to update the USB drivers for the Nano/5th gen.

  • Can iTunes utilize more than one external hard drive at once?

    A couple of years ago we had the bright idea to get a mac mini with an external hard drive and load it up with movies and such, so when we wanted to watch a tv show or movie, we could just scroll through the titles and pick without having to deal with the actual DVD (the mini is hooked up to a flatscreen tv). Needless to say, this monster has grown to epic proportions and we have since upgraded to 2 external hard drives (totaling 5 TB), and we now use another program that utilizes both hard drives without problem.
    The issue I am having is that we bought an AppleTV tonight, and have not had any problems getting iTunes to see the movies in the "Movies" External HD, but the tv shows are on another External HD and they take up a little more than 345 GB of space. I kinda liked having the two drives separate, but was wondering if there was a way to make the mini think these two drives were just one? I know it is a strange question, but I can't think of a solution at this point.
    Is there a way to tell iTunes to look in two locations for content?

    I am wondering if this set-up will work if I daisy chain the external drives. My iTunes library is stored on a 1.5 TB external drive. I have about 350 GB of storage left. I have been trying to find a way to add a drive instead of replacing the drive with a larger drive. If I can daisy chain, this will allow me to add storage without losing another firewire port. I just want to make sure this all works before I attempt any changes. Thank you.

  • [svn:bz-trunk] 15126: Removed NonHttpFlexSession that is not used anywhere in our code.

    Revision: 15126
    Revision: 15126
    Author:   [email protected]
    Date:     2010-03-30 01:48:55 -0700 (Tue, 30 Mar 2010)
    Log Message:
    Removed NonHttpFlexSession that is not used anywhere in our code. According to check-in notes, this class was introduced during LCDS and BlazeDS split and it was supposed to be extended by RTMP and RTMPT FlexSessions and will serve as a bridge between the community and enterprise servers, but this doesn't seem to be the case, so getting rid of it to avoid confusion.
    Removed Paths:
        blazeds/trunk/modules/core/src/flex/messaging/NonHttpFlexSession.java

    Very strange, something else running that may be holding onto the UFL in memory?
    I know it's extreme but what happens if you re-boot and use the new UFL? Just to verify it's unloaded.
    What happens if you create a new report?
    Try this[ sample UFL|https://bosap-support.wdf.sap.corp/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3030303135323530313426] also.
    Thanks
    Don

  • Increased CPU utilization on Sup1A after upgrade

    Hello,
    I recently upgraded a 6009 with Supervisor 1A from CatOS 7.6(5) to 8.4(4). Baseline total CPU utilization before the upgrade was about 12%, post upgrade it sits at about 30%.
    We have several similar switches throughout our network that we intend to upgrade as well, so are treating this one box as a testbed. We will soon deploy IP telephones to every desk in our network, and want to determine if this higher baseline utilization will be problematic for us.
    Considering voice, should we be concerned about this? Will any changes due to voice deployment such as many trunks, QoS, etc. cause a significant jump in CPU that might put our baseline even higher?
    Will the higher baseline CPU utilization affect switch performance? I know most forwarding functions do not depend upon the CPU, and are switched via ASIC.
    thanks for the help,
    Brad

    The IDLE_Tasks process on which you are seeing a slightly higher CPU is actually an enhancement that collects information more effectively on crashinfo files (files generated when there is a crash on the box). This enhancement went into 8.3(x) and 8.4(x)
    In the past "IDLE_tasks" processing was not counted and therefore belong to the "kernel and IDLE" process (which as you can see in the show proc cpu) accounts the amount of cpu not being used.
    If you are upgrading other 6500's with Sup1a's make sure they all have 128MB DRAM just like this one has.

  • Strange VLAN issue on aironet access points

    I'm setting up some access points for WPA. I've ran into a strange issue. The client VLAN (VLAN that the users will be put into) is 1, and the native VLAN is 10. The RADIUS server is in VLAN 1 (but I have a test RADIUS server in VLAN 10 as well). I can connect from the access point to a RADIUS server in either VLAN, and from the RADIUS servers to the access point as well. When I point to a RADIUS server in VLAN10 authentication works fine. If I point to a RADIUS server that is located in VLAN1, and I put the wireless clients in VLAN10 it works fine. But for some reason when I have the RADIUS server and the clients in VLAN (1) and the native (BVI1) interface in VLAN 10 the authentication packets never seem to get to the RADIUS server. It is as if the authentication is being sources out of the wrong VLAN. I can?t find any docs to say that this isn?t a supported configuration.

    Hi Shannon,
    have a look here:
    http://www.cisco.com/en/US/products/hw/wireless/ps4570/products_configuration_example09186a00801d0815.shtml#apconfig
    - - - Snipp - - -
    Significance of Native VLAN
    When you use an IEEE 802.1Q trunk port, all frames are tagged except those on the VLAN configured as the "native VLAN" for the port. Frames on the native VLAN are always transmitted untagged and are normally received untagged. Therefore, when an AP is connected to the switchport, the native VLAN configured on the AP must match the native VLAN configured on the switchport.
    Note: If there is a mismatch in the native VLANs, the frames are dropped.
    This scenario is better explained with an example. If the native VLAN on the switchport is configured as VLAN 12 and on the AP, the native VLAN is configured as VLAN 1, then when the AP sends a frame on its native VLAN to the switch, the switch considers the frame as belonging to VLAN 12 since the frames from the native VLAN of the AP are untagged. This causes confusion in the network and results in connectivity problems. The same happens when the switchport forwards a frame from its native VLAN to the AP.
    - - - Snapp - - -
    Best regards,
    Frank

  • Strange problem with module WIC-4ESW on 1751-V

    Hi all,
    Cisco 1751-V witch WIC-4ESW IoS : c1700-adventerprisek9-mz.124-4.XC.bin
    CCME 4.0.1
    interface FastEthernet0/1
    description ** To Cisco AP 1200 **
    switchport trunk encapsulation dot1q
    switchport mode trunk
    interface FastEthernet0/2
    description ** To Cisco IP PHONE 7960 **
    switchport access vlan 99
    The strange problem is that in module 4ESW the led of activity they remain fixed, for both of the ports Fa0/1 and Fa0/2. ?_?
    With the previous IOS ( c1700-adventerprisek9-mz.124-5a.bin )the leds they work normally.
    Bha!
    Tnx so much for any answer!

    hmmm.. so u think there is no way to revive the messages?
    Nokia 8800e-1 (ARTE), V 05.21, 30-11-2007, RM-233
    Phones used: Nokia 3600, 6110, 6600, 8210, 8910i, 9500, N70, N91, 8800 SIROCCO
    Sony Erricsson: K900, T610
    Motorola, V3, L7

  • Strange CBO choice

    Hi guys,
    I'm runing some tests to check weather processed_flag should have NULL for already processed values or not. I thought that having a smaller index on the processed_flag column should be better.
    Check the following example:
    CREATE TABLE processed_flag_not_null AS
    SELECT LEVEL id,
           lpad('A', 10, 'A') VALUE,
           CASE
             WHEN MOD(LEVEL, 100) = 0 THEN
              0
             ELSE
              1
           END processed_flag
      FROM dual
    CONNECT BY LEVEL <= 1000000;
    CREATE INDEX IDX_PROCESSED_FLAG_NOT_NULL ON PROCESSED_FLAG_NOT_NULL (PROCESSED_FLAG);
    CREATE TABLE processed_flag_null AS
    SELECT LEVEL id,
           lpad('A', 10, 'A') VALUE,
           CASE
             WHEN MOD(LEVEL, 100) = 0 THEN
              0
           END processed_flag
      FROM dual
    CONNECT BY LEVEL <= 1000000;
    CREATE INDEX IDX_PROCESSED_FLAG_NULL ON PROCESSED_FLAG_NULL (PROCESSED_FLAG);
    BEGIN
      dbms_stats.gather_table_stats(USER, 'PROCESSED_FLAG_NOT_NULL', cascade => TRUE);
      dbms_stats.gather_table_stats(USER, 'PROCESSED_FLAG_NULL', cascade => TRUE);
    END;The first strange thing I've found was in all_tab_histograms:
    SELECT *
      FROM all_tab_histograms
    WHERE table_name IN ('PROCESSED_FLAG_NOT_NULL', 'PROCESSED_FLAG_NULL')
       AND column_name = 'PROCESSED_FLAG'
    ORDER BY 2,4;
    TABLE_NAME     COLUMN_NAME     ENDPOINT_NUMBER     ENDPOINT_VALUE
    PROCESSED_FLAG_NOT_NULL     PROCESSED_FLAG     0     0
    PROCESSED_FLAG_NOT_NULL     PROCESSED_FLAG     1     1
    PROCESSED_FLAG_NULL     PROCESSED_FLAG     0     0
    PROCESSED_FLAG_NULL     PROCESSED_FLAG     1     0Only after running queries against both tables with ("where processed_flag = 0") and gathering table stats again I get the following histograms:
    TABLE_NAME                     COLUMN_NAME     ENDPOINT_NUMBER     ENDPOINT_VALUE
    PROCESSED_FLAG_NOT_NULL     PROCESSED_FLAG     59                     0
    PROCESSED_FLAG_NOT_NULL     PROCESSED_FLAG     5598                     1
    PROCESSED_FLAG_NULL     PROCESSED_FLAG     10000                     0Can someone explain to me this behaviour?
    Now for the main question, I don't understand why the CBO chooses an Index Range Scan for the PROCESSED_FLAG_NOT_NULL table, and a Full Table Scan for the PROCESSED_FLAG_NULL:
    SQL> set timing on
    SQL> set autotrace traceonly
    SQL> SELECT *
      2    FROM processed_flag_not_null
      3   WHERE processed_flag = 0;
    10000 rows selected.
    Elapsed: 00:00:00.20
    Execution Plan
    Plan hash value: 3652560023
    | Id  | Operation                   | Name                        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                             | 10539 |   195K|    93   (0)| 00:00:02 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| PROCESSED_FLAG_NOT_NULL     | 10539 |   195K|    93   (0)| 00:00:02 |
    |*  2 |   INDEX RANGE SCAN          | IDX_PROCESSED_FLAG_NOT_NULL | 10539 |  |    23   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("PROCESSED_FLAG"=0)
    Statistics
              1  recursive calls
              0  db block gets
           4444  consistent gets
              0  physical reads
              0  redo size
         306954  bytes sent via SQL*Net to client
           7745  bytes received via SQL*Net from client
            668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          10000  rows processed
    SQL> SELECT *
      2    FROM processed_flag_null
      3   WHERE processed_flag = 0;
    10000 rows selected.
    Elapsed: 00:00:00.22
    Execution Plan
    Plan hash value: 1150676937
    | Id  | Operation         | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT  |                     | 10000 |   166K|   802   (2)| 00:00:10 |
    |*  1 |  TABLE ACCESS FULL| PROCESSED_FLAG_NULL | 10000 |   166K|   802   (2)| 00:00:10 |
    Predicate Information (identified by operation id):
       1 - filter("PROCESSED_FLAG"=0)
    Statistics
              1  recursive calls
              0  db block gets
           3571  consistent gets
              0  physical reads
              0  redo size
         174974  bytes sent via SQL*Net to client
           7745  bytes received via SQL*Net from client
            668  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
          10000  rows processedIf I compare both aproaches using Runstats:
    BEGIN
      runstats_pkg.rs_start;
      BEGIN
        FOR i IN 1 .. 1000
        LOOP
          FOR x IN (SELECT *
                      FROM processed_flag_not_null
                     WHERE processed_flag = 0)
          LOOP
            NULL;
          END LOOP;
        END LOOP;
      END;
      runstats_pkg.rs_middle;
      BEGIN
        FOR i IN 1 .. 1000
        LOOP
          FOR x IN (SELECT *
                      FROM processed_flag_null
                     WHERE processed_flag = 0)
          LOOP
            NULL;
          END LOOP;
        END LOOP;
      END;
      runstats_pkg.rs_stop;
    END;
    -- Output
    Run1 ran in 4295 hsecs
    Run2 ran in 5123 hsecs
    run 1 ran in 83.84% of the timeIf I compare the processed_flag_null without hints versus processed_flag_null with index hint this are the results:
    BEGIN
      runstats_pkg.rs_start;
      BEGIN
        FOR i IN 1 .. 1000
        LOOP
          FOR x IN (SELECT *
                      FROM processed_flag_null
                     WHERE processed_flag = 0)
          LOOP
            NULL;
          END LOOP;
        END LOOP;
      END;
      runstats_pkg.rs_middle;
      BEGIN
        FOR i IN 1 .. 1000
        LOOP
          FOR x IN (SELECT /*+ index(processed_flag_null IDX_PROCESSED_FLAG_NULL) */
                      FROM processed_flag_null
                     WHERE processed_flag = 0)
          LOOP
            NULL;
          END LOOP;
        END LOOP;
      END;
      runstats_pkg.rs_stop;
    END;
    -- Output
    Run1 ran in 5017 hsecs
    Run2 ran in 2212 hsecs
    run 1 ran in 226.81% of the timeAs I expected using the hint is more than twices fast of not using the index, why doesn't the CBO choose the index aproach? Can I tune the stats to give the CBO more information?
    Thanks in advance,
    Manuel Vidigal
    EDIT:
    Forgot to mention the tests were done using my laptop with Oracle 11.2.0.1.0.
    Edited by: Manuel Vidigal on 16/Set/2010 11:53

    I don't have runstats installed on my 11.2 instance so i can't reproduce your findings there, however with a simple SET TIMING ON and observing the results i get no noticeable difference between the INDEX hinted query and the not hinted query (i have an isolated sandbox where i am on the only user on the server so this is a reasonably safe method in my opinion).
    TUBBY_TUBBZ?
    BEGIN
    FOR i IN 1 .. 1000
    LOOP
       FOR x IN (SELECT *
                   FROM processed_flag_null
                  WHERE processed_flag = 0)
       LOOP
         NULL;
       END LOOP;
    END LOOP;
    END;
    12  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:51.26
    BEGIN
    FOR i IN 1 .. 1000
    LOOP
       FOR x IN (SELECT /*+ index(processed_flag_null IDX_PROCESSED_FLAG_NULL) */
                   FROM processed_flag_null
                  WHERE processed_flag = 0)
       LOOP
         NULL;
       END LOOP;
    END LOOP;
    END;
    13  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:50.53The results you are seeing are a consequence of the tiny nature of your table. The way you have set it up you should be seeing roughly 300 rows fitting on to a single data block (i observed 325 on my instance running on ASM) and you are only interested in returning every 100th row (again the way you set up your data) but to get every 100th row means you will have to visit EVERY block in the table.
    select
       blocks
    from dba_segments
    where segment_name = 'PROCESSED_FLAG_NULL';
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:04.51
    TUBBY_TUBBZ?
                BLOCKS
                  3072
    1 row selected.
    Elapsed: 00:00:00.13Since you haven't ordered your data it's going to be inserted as the rows are generated from DUAL (so ordered by LEVEL asc). That means that you will need to get every block from the table (getting roughly 3 results per block).
    In order to visit every block in the table via an index access you cannot utilize multi-block IO, so that would be the reason the optimizer took the FULL table scan as it's choice.
    So in terms of 'fixing' this you have a couple of options.
    1) change the order of the data so it's not so evenly distributed across the blocks in the table (or possibly create this table as an index organized one so the values are sorted upon insertion and kept physically close to each other)
    2) change the size of a row such that less rows will fit on a single data block meaning that you will not actually have to return every data block for this table via your query
    lpad('A', 1000, 'A') VALUE,Would be a sufficient change to shift things in favor of index access in your example.

  • Help using the Connection Trunk command

    Hello Group,
    I could use a bit of assistance accomplishing the following.
    I have two Cisco 1760 Routers with a WIC 1/DSU T1 and one VIC2/E/M in each router.  I am new to CLI commands and could use some tips.
    I would like to set up these routers (I will call them Router A and Router B) to communicate with each other via a internal IP network which spans between two seperate locations. 
    I would like to set up these routers to use the E&M ports to send and receive audio between locations.  The E&M ports are connected to my external equipment which allows for transmit and receive audio to be delivered to the E&M port.  
    I need to be able to allow for the routers to use 2 wire or 4 wire audio between locations, which is matched at both ends.   The routers do not dial phone numbers nor are phones in use at all.  Basically the routers are going to be used to send and receive two way radio voice between the locations which the radios are interfaced to the E&M ports. 
    Can anyone please help me on configuring these routers to accomplish this and if I need to use the Connection Trunk command I can do so, as this is the only purpose of the routers is to relay audio between locations.
    Please Help.
    Thanks A bunch!!
    Rick

    Thank you for taking the time to reply,  However I have allready configured the routers to link the LMR sites together.   I have been connecting LMR assets utilizing ROIP for many years using non-cisco equipment which is specifically designed for ROIP, I have a large inventory of 1760 routers which were originally used for Telco applications which were replaced by newer equipment.  The fact that the routers have become "obsolete" does not mean that they are not usable for my application.   How can you make a statement that this is "limited equipment" when the intended use of this equipment for my application has been accomplished without limitations which are specific to my operation.  
    I posted a request on this forum to obtain some help in the configuration of these devices from people who are familiar with the 1760 router.  Your response was the first response which I had received in regards to my request for assistance, I thank you for at least attaching a link to some resources which I can utilize.  Utilizing the services of a "reputable consultant" or "UC certified partner" would be acceptable in some circumstances, however utilizing the services which would be provided by such would only pose limitations on our technical skills.  I do not want to have to rely on a third party consultants to acheive what is engineered and desgned in house by our staff. 
    I am not looking to purchase new equipment, nor am I looking for consulting help on this issue as we manage and deploy equipment in house.  Enlisting the services of a consultant or certified partner for our Cisco equipment deployments would only add unnecessary costs and time to deploy equipment.  Again thank you for the link to the examples. 
    Respectfully,
    Richard Wiglesworth

  • Strange behaviors from SG300-10MP

    Hi, everyone.  Was hoping to get some advice and assistance regarding two issues with a brand new SG300-10MP our company recently bought.
    1.  I've been having difficulty getting a proper trunk port to work on this, as compared to the Cisco Catalyst 2960's.  My office has temporarily been relocated to another space in our building.  The core switch in this side of the building is a 2960 series.  This room has a single network jack in it.  That jack is plugged into the 2960 directly on a trunk port with no explicit vlans as native, allowed or disallowed.  Pretty much the config of the port is "Switchport mode trunk" and that's it.  I'm sharing this space with another person on the IT team and we both have multiple computers and VoIP phones, so we've placed a NetGear FS726TP switch in here that has 12 PoE ports (for the VoIP phones) and 12 non-PoE for everything else.  Port 25 on this switch appears to be configured as a trunk port with all VLANs being tagged.  The VLANs on this switch are (1, 3, 6, 10, 11, 1001 and 2).  VLAN 6 is for PC's, 11 is for VoIP phones, 1001 is for management, and 1 is the default VLAN and also is the PVID for port 25.  Everything plugged into the NetGear is working as expected.  The SG300-10MP's port 9 is plugged into the NetGear's port 26.  I've configured port 26 identically to port 25, so as far as the NetGear is concerned, that should be a trunk port.  I've attempted to configure the SG300-10MP's port 9 as a trunk, but I've found that first I need to manually create all my VLANs on it that I want to use on the switch (in this case, 1, 6, 10, 11 and 1001), and then for the trunk to actually work as expected, I have to explicitly allow the VLAN's on port 9 ("switchport trunk allowed vlan add all").  I've configured GE1-8 to be access ports on VLAN 6.  The strange thing is, every 5 minutes I get this message on the console: "%CDP-W-NATIVE_VLAN_MISMATCH: Native VLAN mismatch detected on interface gi9."  This only occurs if I have a computer plugged into GE1 on the SG300.  The computer also has a second connection into the NetGear, so I suspect it might be an issue with spanning tree, although how the switch is communicating through my PC is unknown.  When I first unboxed the SG300 and plugged my computer into a port, it was grabbing a valid DHCP address for VLAN 6 somehow through my PC.  Does anyone have any idea why I keep getting this?  I'd done a "sh cdp n detail" and this is what it gives me:
    Device-ID: 2960-06-TrunkSw5590.XXXX.XXXXX.local
    Advertisement version: 2
    Platform: cisco WS-C2960S-24TS-S
    Capabilities: Switch IGMP
    Interface: gi9, Port ID (outgoing port): GigabitEthernet0/15
    Holdtime: 151
    Version: Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE5, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Co
    Duplex: full
    Native VLAN: 1
    SysObjectID: 0.0
    VTP Management Domain: XXX
    Primary Management Address: IP 10.100.100.125,
    Addresses:
              IP 10.100.100.125
    Device-ID: SEP08000F77571D
    Advertisement version: 2
    Platform: Mitel 5330e,DN 2890
    Capabilities: Host Phone
    Interface: gi9, Port ID (outgoing port): Port 1
    Holdtime: 125
    Version: M6020006
    Duplex: full
    Power drawn: 6100 milliwatts
    SysObjectID: 0.0
    Addresses:
              IP 10.2.2.60
    Device-ID: SEP08000F8E7773
    Advertisement version: 2
    Platform: Mitel 5330e,DN 2643
    Capabilities: Host Phone
    Interface: gi9, Port ID (outgoing port): Port 1
    Holdtime: 125
    Version: M6020006
    Duplex: full
    Power drawn: 6100 milliwatts
    SysObjectID: 0.0
    Addresses:
              IP 10.2.2.25
    Device-ID: 5067ae3ccc29
    Advertisement version: 2
    Platform: Cisco SG300-10MP (PID:SRW2008MP-K9)-VSD
    Capabilities: Switch IGMP
    Interface: gi9, Port ID (outgoing port): gi1
    Holdtime: 121
    Version: 1.3.5.58
    Duplex: full
    Native VLAN: 6
    SysName: switch3ccc29
    SysObjectID: 0.0
    Addresses:
              IP 10.200.1.55        (this is the IP for Management of the SG300 on VLAN1001)
    So, CDP appears to be working, seeing itself, the two VoIP phones and the core switch, but getting nothing from the NetGear (obviously).  The Native VLAN on the core switch is 1 and the PVIDs on both trunk ports on the NetGear are also 1, the default VLAN on the NetGear is 1, all packets are tagged on ports 25 and 26, and I've even set GE9 on the SG300 as native vlan 1, but still getting these errors.  Is this just a warning that's being caused by having that NetGear between the two Cisco switches or something else?
    2.  Whenever I make any changes to the VLANs on the switch from the command line, it always gives me this message:  "Please ensure that the port through which the device is managed has the proper settings and is a member of the new management interface.  Would you like to apply this new configuration? (Y/N)[N]"  As mentioned above, VLAN 1001 is our management VLAN and I've assigned IP address 10.200.1.55, subnet mask 255.255.255.0 to interface VLAN1001.  After I set that, if I make any changes to the VLANs, whether it be adding a new VLAN interface, or changing the IP address or removing an IP address, I'll get that message, choose "YES", and then I'll lose all IP connectivity to the rest of the VLAN1001 subnet.  I look at the config and even if I was working with a VLAN other than 1001, the IP address I assigned to interface VLAN1001 will be gone.  Also, the default gateway will be removed.  So, every time I make any change to the VLANs, I have to go and re-do these things.  Is this normal behavior for the configuration to blow itself up like this?
    Help!

    Looks like Cisco small business products dont support the cisco network assistant. I have tried the web console with both Internet Explorer and Firefox.

Maybe you are looking for

  • Merge Multiple Rows in to a single Row.

    Hi Tab_A Col_1 Col_2 Col_3 I want resultant rows to merge on base of Col_1 (i.e. single ‘-‘ delimited merge row for distinct value of Col_1) Example Table_A Col_1     |     Col_2     |     Col_3 A     |     1     |     23 A     |     2     |     25 B

  • How do I install Photoshop Elements 10 on my new mac that doesn't have a disc drive?

    Help!  I have an old imac that has Photoshop Elements 10 installed on it.  I bought a new imac that does not have a disc drive.  How do I uninstall/reinstall on my new computer???  Is there a way besides having to purchase a disc drive?

  • Query takes much time while sum of yearly bases amount

    I have made query on the basis of joing to get payroll data it's woking fine but when we accumulate this on yearly basis while giving parameter from and to date then it takes much time, so how can we optimise this. please advice.

  • OEM grid not recognizing the targets

    hi, I have installed agent in one of my server.the same has been detected as a host in my OEM grid,but the targets in the host are not recognized by OEM.Please help me how can my OEM can detect the targets(AS,OC4J etc). regards sangeeth

  • Does my applet work for you?

    I can see it fine on my PC but nobody else can view it. http://www.info.com.ph/~arivera/game/testmain.html I'm using SDK 1.4.2