Evacuation and binding affinity rules

I have a 5.5 ESXi host called ESXi1 in a group of DRS host called "host of ESXi1 group.  No other ESXi host is in this group, but there are 4 other ESXi hosts in the cluster.  I have a VM called 'VM1' in a virtual machine DRS group called "group virtual machine VM1.  No other VMS are in this group of DRS.

VM1-> "VM1-machine group.

ESXi1-> "host of ESXi1 group.

There is a mandatory rule of DRS that says MV in the 'machine VM1 group' working only with ESXi hosts in the 'host ESXi1 group'.  What happens when I try to put ESXi1 host in maintenance mode?  He will be able to evacuate VM1 since there is no other host in the Group VM1 to work?

Yes. Answer is 100% correct. If configured VM host affinity/anti-affinity rule is ESSENTIAL, it cannot be violated. Same vSphere HA respects the rules of the VM-host must. Even you can not manually migrate this VM1 to another host. Maintenance mode also cannot assess the host. Even if there is imbalance CPU/Memory, DRS will always obey this rule.

If you want this rule to be flexible, you can configure the same thing as "soft / should" rule. In this case, rule is violated every time that it is absolutely necessary (like MM, HA does not respect this rule, you can manually migrate VM to others, the DRS in a balanced cpu/memory can violet this rule) but notes that in the immediate following invocation of the DRS, DRS will try its best to resolve the violation of the rules.

To know what are the rules can be honored by vSphere HA:of vSphere HA abreast of the DRS rules of affinity? | vThinkBeyondVM

Let us know if you need any other clarity.

Tags: VMware

Similar Questions

  • HA and affinity rules & book by Duncan & Frank

    VMware vSphere reading 5 clusters of Duncan & Frank (Pocket v1.0) deepdive, I'm confused.

    On page 212, second paragraph, it says (roughly) VMware HA is not aware of the virtual-VM anti machine affinity rules, and after an HA event may begin on the same host. But on page 215, second paragraph, it says (roughly) HA will not violate the mandatory rules after HA failover.

    This seems to contradict itself.

    I can not type the full section due to copyright.

    Is anyone able to explain it?

    See you soon.

    Hello

    There are two types of rules:

    1. VM - VM affinity rules
    2. VM - host affinity rules

    HA is not aware of the first, machine virtual-VM, so any rule you create here will be ignored by HA.

    Now, for the second, it's a bit more complicated... There are two types of VM - affinity host rules:

    1. Bride aka mandatory
    2. Expected preferential aka

    HA will respect 'must' of the rules, but will be no respect for the rules 'should '.

    That's what means the book.

  • Backup/restore DRS VM affinity/anti-affinity rules - can they be backed up and restored without re-entering manually after DRS disabled?

    DRS VM affinity/anti-affinity rules - these are lost when the DRS is off - they can be "listed" via perl or script Toolkit VI to return to manual if necessary.

    But can they be backed up / restored through automated methods for easy recovery in case required or accidental deactivation of the DRS? What happens if a user of vCenter turns off instead of the manual setting during operations?

    I have over 100 + VM DRS affinity/anti-affinity rules to maintain.

    There are indeed several DRS rules related cmdlets in the VITK 1.5.

    The following script will save all rules in a .txt file.

    $outfile = "C:\rules.txt"
    Remove-Item $outfile
    $clusterName = 
    $rules = get-cluster -Name $clusterName | Get-DrsRule
    
    foreach($rule in $rules){
      $line = (Get-View -Id $rule.ClusterId).Name
      $line += ("," + $rule.Name + "," + $rule.Enabled + "," + $rule.KeepTogether)
      foreach($vmId in $rule.VMIds){
        $line += ("," + (Get-View -Id $vmId).Name)
      }
      $line | Out-File -Append $outfile
    }
    

    The reason why we are writing the rules in a .txt file is because the type of 'Solidarity' with the rules can have 2 or more guests defined.

    This type of info (variable length table) is impossible to export to a. CSV file.

    The 2nd script reads this external file and sets the rules.

    $file = "C:\rules.txt"
    $rules = Get-Content $file
    
    foreach($rule in $rules){
      $ruleArr = $rule.Split(",")
      if($ruleArr[2] -eq "True"){$rEnabled = $true} else {$rEnabled = $false}
      if($ruleArr[3] -eq "True"){$rTogether = $true} else {$rTogether = $false}
      get-cluster $ruleArr[0] | `
        New-DrsRule -Name $ruleArr[1] -Enabled $rEnabled -KeepTogether $rTogether -VM (Get-VM -Name ($ruleArr[http://4..($ruleArr.Count - 1)|http://4..($ruleArr.Count - 1)]))
    }
    

    [The trick used for guests, it's that we select the part of a table with the \[a... scoring b\].

    Currently, you will need to run the first script for each cluster separately, but this could be easily adapted to run on all clusters in your VI.

  • SQL 2012 still on the use of affinity rules

    Hey guys,.

    I use SQL 2012 alwaya time on in a virtual, but so far, it is not configured as best practices and environment I wanted to change that.

    At the moment I have no DRS rules in place so it can happen that two virtual machines running on the same host and it's something I want to avoid.

    However, my big problem is that I only got a SQL license for two hypervisors and best practices talked about four hosts who are needed to achieve my goal.

    Here is what I intend to implement:

    -Affinity rule machine virtual-VM to separate two virtual machines

    -Affinity VM host rule which VM1 MUST run on ESX1

    -Affinity VM host rule that VM2 MUST run on ESX2

    This configuration is a good idea or could / should I do something different?

    What I found that all the features how for example the evacuation and HA should still work?

    There are many more ESX servers in this group and they will be used in the case of an outtage, right?

    Also there is a dev environment that looks the same. I could include the hosts in the same VM-Host affinity rules or should I create new ones?

    BTW. I am using vCenter and ESX 5.5.0.

    Thank you very much!

    See you soon

    Nicolai

    Affinity rules those you intend to sense. These rules will not be those virtual machines to be on the same host most of the time.

    Note:

    1 rule of VM host is configured as "SHOULD", in extreme cases, DRS can break these rules. However, in the next invocation of DRS, DRS will try to resolve the violations.

    2. Note that: when you keep either the host in maintenance (ESX1 or ESX2) mode, you must manually migrate the VM to another host due to the virtual-VM anti rule machine affinity. DRS even in full auto mode, VM will not be migrated automatically. This will apply only if there are only 2 host in the cluster.

    3. Yes, HA should well with that: however HA is not aware of the rules 'EXPECTED' and in the case of host failure it can not respect 'SHOULD' rule.

    4 rule anti-affinite VM - VM can be sensitized HA using the advanced option. Let me know if you want to help with that.

    5. Yes, failure of other hosts in the cluster will be used but please updated on impact due to rules & licenses.

    6. "There is also an environment-dev which looks the same." I did not follow what exactly you mean here:

    7 migration threshold settings DRS is also important.

    8 DRS gives priority to the prevention of violations of anti-affinity rules machine virtual-VM that violations of rules of affinity. (it's just for your info.)

    Nevertheless,.

    1. If ESX1 falls down or affinity rule VM host that VM1 MUST run on ESX1 gets violated: VM1 can be migrated to other hosts in the cluster. As you have no licenses (more than 2) SQL, how it would be dealt with (I'm not very updated on the SQL licenses)

    2 point above applies to the second rule of VM HOST as well.

  • Call the stored procedure, and bind parameters by name

    Hello

    I use the Oracle ODBC 12 c driver to pass values from one Interface to our database Oracle 11.2. The Interface software collects data from modbus protocoll and calls a stored procedure. Right now my syntax to call the stored procedure looks like this:

    CALL procedure-name ('STRING', 'Timestamp as String', numValue1);

    It works very well. Now, I have to add a default setting to my procedure. To stay flexible to make other changes, I want to call the procedure and bind the parameters by name. Release 10.2.0.1.0 ISC ODBC Notes:

    Added support for the named parameter, binding the parameters by name. ODBC Oracle driver now allows the application to specify the parameters of a stored procedure by name, in the procedure call. Named parameters are to be used in calls to stored procedures and should not be used in other SQL statements.

    So, it shouldn't be a problem to use named notation, but how do I do this in ODBC? I tried like this, but oracle returns an ora-00936 error of missing expression:

    call procedure-name (paramName1 = > 'STRING',= paramName2 > 'Timestamp as String',paramName3 = > numValue1).


    Thank you for your help.

    Finally, I was able to find the error. The syntax of the statement was very good. The problem was caused by another declaration that I edited before and the error has not attracted Attention immediately.

    Thanks for reading and looking for an answer.

  • How can I call Adobe? I need to talk about how to create my site and bind it to lightroom. I have creative cloud.

    How can I call Adobe? I need to talk about how to create my site and bind it to lightroom. I have creative cloud.

    The only phone support I know is not for sales, the use of programs

    You will also likely get detailed assistance in the specific forums for the programs you use

    Forum of https://forums.adobe.com/thread/1929760 to find a forum for your program list

  • What determines the order that CSS styles class and/or target rule are listed in the menu of the class of the HTML or CSS property inspector in Dreamweaver CC?

    Using Mac OS 10.10.4 and Dreamweaver 8 and Dreamweaver CC 2015 or Mac OS 10.6.8

    What determines the order that CSS styles class and/or target rule are listed in the menu of the class of the HTML or CSS property inspector in Dreamweaver CC?

    Is it possible to change the order in the drop-down list so that a frequently used class style/Targeted rule is listed first (to the top of the list)?

    I just have an attached style sheet and which shows alphabetically in the drop-down list. Maybe, if you have more than one style sheet, the styles appear in the load order of the leaves and alphabetically within each worksheet.

  • Affinity rules

    What are the "rules of affinity".

    Thank you

    Prashant

    Affinity rules you can define a rule for example that a specific virtual machine only works on a single host (you choose). Or the other way around: one or more virtual machines are not allowed to run on host A & B for example.

    This is often used in combination with license policies.

    Kind regards

    Mario

  • DRS anti-affinity rules

    Hello world

    I want to create anti-affinity rules machine virtual-VM for 4 virtual machines. We use vSphere 4.0 U2 on our environment.

    What would be the number of rules that are created on the DRS Cluster?

    It's 6 rules? What is different now.

    4 VMS = 6 rules (VM1/VM2 VM1/VM3 VM4/VM1, VM2/VM3, VM4/VM2, VM3/VM4)

    gedelar wrote:

    It's 6 rules? What is different now.

    If you upgrade to vSphere 4.1, that one rule would be necessary, but I guess on 4.0, you must create these six different rules.

    http://www.VMware.com/files/PDF/Techpaper/VMW-whats-new-vSphere41-HA.PDF

    "Finally, rules anti-affinity machine VM-virtual can now integrate more than two virtual machines." Here, VMware DRS try remove the virtual machines specified. Users could use this rule to ensure that some virtual machines are always on different physical hosts. »
  • Histograms and bind variables

    Hi guys,.
    When a SQL using bind variables histograms afftect the excution plan how?

    For example
    There is a table 'TEST' a column a number, varchar2 (100) b, c. tank (100).
    100000 rows in this table and the 90000 column rows a value is 1, the other value is 2-10 by 100rows.

    Now this column a histogram and a btree index only has on a;

    Here is sample code
    number of a_v var;
    exec: a_v: = 10;

    Select * from test where a =: a_v.

    The plan of the excution is full table scan.

    If I don't use of variable binding. It will scan the index.


    I remember that a document mentioned that "do not use histograms using bind variables.

    But why?

    I disabled same bind variable peeking?


    Thank you guys. Looking forward to your response.

    Longfei Wei says:
    Thanks Centinul this article is useful for me, but it is not explained why histograms do not work well with bind variables.

    Thanks again.

    Longfei,

    Jonathan Lewis article is very good - another look at this article. Histograms peuvent work with bind variable, but the end result is usually not the desired result. Bind variables are used to reduce the number of different execution plans. The histograms are used to find what is supposed to be the best execution plan for the predicates provided and in the case of the bind variables, those are peeked from the bind variable values. Thus, if you have a histogram on a column and for hard analysis of a SQL statement and the most common value in this column is presented in the binding variable - this execution plan is considered by the optimizer to be the 'best' execution plan for the bind variable values provided. Suppose now that instead the less popular value in the column is specified - the optimizer peut produce a very different for the same SQL statement execution plan, which is optimized for the less popular value (this can be a scan of the index systematic range, rather than a full table scan). Now suppose the execution plan may not change when change of variable values bind - if you have a single popular value and many unpopular values, if the analysis lasts is performed with the popular single value, you might find that all subsequent runs of this SQL statement to perform full table scans, even if only a few rows in the table are selected.

    Here's a quick test on the Oracle 11.2.0.2 database to demonstrate:

    CREATE TABLE T1 (
      C1 NUMBER,
      C2 NUMBER,
      C3 VARCHAR2(300));
    
    INSERT INTO
      T1
    SELECT
      *
    FROM
      (SELECT
        ROWNUM C1,
        DECODE(MOD(ROWNUM,100),99,99,1) C2,
        RPAD('A',300,'A') C3
      FROM
        DUAL
      CONNECT BY
        LEVEL <= 1000000)
    ORDER BY
      C2;
    
    CREATE INDEX IND_T1_C2 ON T1(C2);
    
    EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>USER,TABNAME=>'T1',CASCADE=>TRUE,METHOD_OPT=>'FOR ALL INDEXED COLUMNS SIZE 254')
    

    The foregoing has created a table with 1 000 000 lines where 99% of the lines have a value of 1 in C2 and 1% have a value of 99, and lines are inserted with a perfect setting in cluster factor because of the ORDER BY clause. A histogram has been created on the indexed column.

    Let's try a test, we'll search a unpopular value 2 for the connection variable:

    VARIABLE N1 NUMBER
    EXEC :N1:=2
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    no rows selected
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 0
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ------------------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    ------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |      0 |00:00:00.01 |       3 |      1 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |      0 |00:00:00.01 |       3 |      1 |
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |      0 |00:00:00.01 |       3 |      1 |
    ------------------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    Thus, there is no selected row, the optimizer predicts that 5 957 lines would be returned and a path to the index has been selected. Path of this index would also be appropriate for the value of the bind variable 1? We will continue the trial, this time by choosing the 99 for the binding variable value:

    EXEC :N1:=99
    SET TIMING ON
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    ...
    10000 rows selected.
    
    Elapsed: 00:00:05.35
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 0
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |  10000 |00:00:00.02 |    1783 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |  10000 |00:00:00.02 |    1783 |
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |  10000 |00:00:00.01 |     690 |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    Once more, the optimizer predicts 5 957 lines could be found even if 10,000 rows have been retrieved. Note also that the number of children is always 0. We will continue the trial, this time with the bind variable value of 1:

    EXEC :N1:=1
    
    SET AUTOTRACE TRACEONLY STATISTICS
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    990000 rows selected.
    
    Elapsed: 00:00:18.78
    
    Statistics
    ---------------------------------------------------
              1  recursive calls
              1  db block gets
         108571  consistent gets
              0  physical reads
             96  redo size
       21958348  bytes sent via SQL*Net to client
         726508  bytes received via SQL*Net from client
          66001  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         990000  rows processed
    
    SET AUTOTRACE OFF
    

    Because I used AUTOTRACE to prevent 990 000 lines scrolling on the screen, I have to specify the SQL_ID and CHILD_NUMBER to retrieve the execution plan:

    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('c7su63uw7nch6',0,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 0
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |  10000 |00:00:00.02 |    1783 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |  10000 |00:00:00.02 |    1783 |
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |  10000 |00:00:00.01 |     690 |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    Who can be the execution plan that was used because it shows that 10,000 rows have been retrieved. We will try again, this time with CHILD_NUMBER 1:

    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('c7su63uw7nch6',1,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 1
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 3617692013
    
    ------------------------------------------------------------------------------------
    | Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |      1 |        |    990K|00:00:00.83 |     108K|
    |*  1 |  TABLE ACCESS FULL| T1   |      1 |    988K|    990K|00:00:00.83 |     108K|
    ------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       1 - filter("C2"=:N1)
    

    The foregoing shows the actual plan that has been used. Sharing the adjustment slider (first available with Oracle Database 11.1) is reached and forced to re-evaluate the execution plan to avoid a very slow recovery through the index - which won't happen before 11.1 database Oracle.

    Just to illustrate:

    ALTER SESSION SET OPTIMIZER_FEATURES_ENABLE='10.2.0.4';
    
    VARIABLE N1 NUMBER
    EXEC :N1:=2
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    no rows selected
    
    Elapsed: 00:00:00.00
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 2
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |      0 |00:00:00.01 |       3 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |      0 |00:00:00.01 |       3 |
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |      0 |00:00:00.01 |       3 |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    Note in the above that the CHILD_NUMBER is now 2.

    Continues:

    EXEC :N1:=99
    SET TIMING ON
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    10000 rows selected.
    
    Elapsed: 00:00:05.31
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 2
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |  10000 |00:00:00.02 |    1783 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |  10000 |00:00:00.02 |    1783 |
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |  10000 |00:00:00.01 |     690 |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    The CHILD_NUMBER is always 2.

    Continues:

    EXEC :N1:=1
    
    SET AUTOTRACE TRACEONLY STATISTICS
    
    SELECT /*+ GATHER_PLAN_STATISTICS */
      C1,
      C2
    FROM
      T1
    WHERE
      C2 = :N1;
    
    990000 rows selected.
    
    Elapsed: 00:00:16.91
    
    Statistics
    ---------------------------------------------------
              0  recursive calls
              0  db block gets
         175927  consistent gets
              0  physical reads
              0  redo size
       21958348  bytes sent via SQL*Net to client
         726508  bytes received via SQL*Net from client
          66001  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         990000  rows processed
    
    SET AUTOTRACE OFF
    
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('c7su63uw7nch6',2,'ALLSTATS LAST'));
    
    SQL_ID  c7su63uw7nch6, child number 2
    -------------------------------------
    SELECT /*+ GATHER_PLAN_STATISTICS */   C1,   C2 FROM   T1 WHERE   C2 =
    :N1
    
    Plan hash value: 236868917
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |           |      1 |        |    990K|00:00:01.63 |     175K|
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1        |      1 |   5957 |    990K|00:00:01.63 |     175K|
    |*  2 |   INDEX RANGE SCAN          | IND_T1_C2 |      1 |   5957 |    990K|00:00:00.68 |   67932 |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
       2 - access("C2"=:N1)
    

    The foregoing is the execution plan for CHILD_NUMBER 2 - notice that this time he reports 990 000 recovered lines, it's the execution that was used - adaptive cursor sharing plan do not have take effect and force the re-evaluation of the implementation plan - implementation plan has NOT been changed for a full table scan. That's the risk you take if you allow histograms on columns that have an uneven distribution of values and bind variables are used in the WHERE clause that refers to the column.

    Charles Hooper
    Co-author of "Expert Oracle practices: Oracle Database Administration of the Oak Table.
    http://hoopercharles.WordPress.com/
    IT Manager/Oracle DBA
    K & M-making Machine, Inc.

  • literal and bind variables

    Hello

    What is the difference between literal and bind variables?
    What happens if I use
    literal variable has.
    variable b.bind

    who is suggested?

    Kind regards
    KKK

    There are two phases of any SQL performance.

    1. analysis (check Oracle this SQL syntax, also generates the implementation PLAN)
    2. execution (the real execution takes place)

    Below, SQL.

    Select * from emp where empno = 1234;

    I used literal in the SQL above.

    For each SQL type similar (average for empno modified value) oracle must analyze the SQL for each performance.

    Select * from emp where empno =: v_emp_no;

    I used the bind variable in the SQL above.

    In the oracle SQL above needs to analyze once, next time ehen this SQl will be executde with the value of the bound different variable, oracle will use the old execution PLAN and analysis will be not not happed. It will be a little fast.

    Also variable binding instead of literal use reduced use shared pool.

    HTH

    Best regards
    oratest

  • There are advanced settings for VM - VM affinity rules?

    Hello world

    First time post, but I have found extremely useful forums in search engine results so thought I should get involved as much as I can.

    Anyway, I was asked a question about the rules of affinity, and I was not able to find the answer anywhere, so I was hoping someone might be able to point me in the right direction please.

    My client gave me a list of VMs that are 'pairs' - by that I mean that they both the same, but act is turned on and the other is used only if the virtual direct machine is not reachable. There is nothing intelligent power which, as grouping or well HA within the OS.

    We asked me to make sure the pair of VM could not be fed by the same ESXi host, thus following the documentation for VMware, I created a virtual-VM affinity DRS machine rule. I was asked to test it, and honestly, it works a treat. However, the result is not desired. Unfortunately, I can not give too much information because of policies, but I'll try my best to explain the whole upward and deliver.

    The rule stops two virtual machines are hosted on the same ESXi host at

    VM1 is the direct server, VM2 is the backup server

    Both of the above are in the relevant rule

    There are 8 hosts in the cluster

    HA and DRS are enabled on the cluster

    ESXi version 4.1

    If I manually start a vMotion VM2, send to the host who currently hosts VM1, it seems to happen: VM2 vMotion gets 78% > > DRS Rules are evaluated > > VM1 is vMotion had to a new host > > VM2 vMotion ends when VM1 is off the host

    However, I am told that the customer would have preferred that the VM2 vMotion fails, or the vMotion process automatically sends elsewhere, rather than invoke a VM1 vMotion.

    I'm not quite sure what is happening in the case of a real event of HA, I'm sure I read that HA not take account of the DRS Rules? The foregoing only happens because it is a manual vMotion? Or y at - it a better method that I forgot?

    Thank you

    Paul

    Unfortunately, as you use vSphere4.1, you're out of look about the DRS control over an HA event, it's a feature of 5.x

    If you do a manual vMotion then you are effectively denying your rules of affinity of DRS, until she physically check the rule during the migration.  It's as good as it gets.

  • Automate adding to DRS affinity rule

    Is it possible to add automatically as a new virtual machine created in a specific to his Rule DRs Cluster?

    Here we have 2 rules of affinity in the same cluster and all VMV that would be created it needs to adhere to a rule.

    To change the rule:

    game-drsrule-rule (get-drsrule-cluster (cluster-get "Mycluster") - name "MyRule")-VM $MyVM - Enabled $true

    Everything is possible with PowerCLI

    Seriously, you want to detect the virtual machines in a cluster that are not in a rule of DRS, correct?

    When you detect VMs DRS article they should be added?

  • Copy and move broken rules

    Hello

    At one point in the upgrades of the Mavericks with El Capitan, broken rules in Apple Mail.

    I used to have a rule: If the [email protected] message arrives, copy it into an IMAP folder - so I can see it on my devices - and move it to my local folder for xyz.com

    It has worked well for years. Now what's happening is the position, the rules of the switch and since that movement occurs, the copy is not.

    I tried to delete and re-create the rules, but they always return to move before copy as soon as you close the window. When you return to Edit, Move is the first.

    Is there an action Applescript or automator can I run instead of the rule to restore the functionality I need?

    If these are two separate rules, mail-> Preferences-> drag window rules the rules in the correct order. Execution is top at the bottom of this window.

  • SRP527W setting DHCP address and source firewall rules

    In my quest to find a decent ADSL router for VoIP, I found the SRP527W and so far it has been the best performer of a range of boxes from netgear, thomson, and zyxel.  However, I have two questions:

    (1) how to troubleshoot DHCP leases on the LAN address

    (2) how to specify source ip in the firewall rule

    Note:

    I currently have 1 computer on the LAN, VLAN1 interface

    * 192.168.15.100

    and

    2 IP phones on the LAN, VLAN100 interface

    * 192.168.100.100

    * 192.168.100.101

    Address three assigned by the DHCP server lease times with approximately 20 days.

    I would like to repair the three devices DHCP leases, for example if some port forwarding rules can be made with confidence that the rules will not point to another device in the future.

    from PVC0-> 192.168.15.100, Port 3389 for remote desktop

    of PVC0-> 192.168.100.100 ex.port 5881 to int.port 80 for voip phone web-gui

    from PVC0-> 192.168.100.101 ex.port 5882 to int.port 80 for voip phone web-gui

    Ideally, I would like the rules to act like that, limiting myself only to access these ports (from my remote site)

    PVC0 interface where the source is ip 12.34.56.78-> 192.168.15.100, Port 3389 for remote desktop

    PVC0 interface where the source is ip 12.34.56.78-> 192.168.100.100 ex.port 5881 to int.port 80 for voip phone web-gui

    PVC0 interface where the source is ip 12.34.56.78-> 192.168.100.101 ex.port 5882 to int.port 80 for voip phone web-gui

    I hope that makes sense, I appreicate any help you can give.

    Kind regards

    Paul

    Hi Paul,.

    Thank you for using the Cisco support community.

    With regard to two questions:

    1. Yes - it is possible to configure static DHCP assignments.  Use the DHCP Server rule configuration page and click the 'Show DHCP booking' button to assign.

    2. Unfortunately, it is not possible to configure rules to address source for the SRP520 list.  (This is possible on the SRP540 for further reading).

    Kind regards

    Andy

Maybe you are looking for