Calculation of availability constraints

Hi all

I leaned how to manually calculate the constraints of availability in a HA cluster active, I came across a blog that suggests the calculation can be developed by taking the amount of ram in your esx host more than dividing by the amount of ram in your computer more virtual and multiplying by the amount of guests you have after you maximum configured failover has occurred.

So my smaller esx host has 16 GB of ram for example vm largest has 2 GB or ram configured and I have 5 servers in the cluster with the default host defined on a chess:

16/2 = 8 8 x 4 = 32

So if the failure of a vm 32 host altogether would be able to run a few hosts on the rest violate the constraints of availability. It is just that I googled a bit and can't find verification on this forumla?

Concerning

Dale

Here is the formula that we use, it seems quite well

http://www.vmwarewolf.com/HA-failover-capacity/

You can also check the vSphere availability Guide

.. .and finally

http://www.yellow-bricks.com/VMware-high-availability-deepdiv/

Tags: VMware

Similar Questions

  • Calculation of available time after taking into account "outages".

    I have two tables, travel and failures. The shift table contains one record per person (identified by an ID unique person) by date and a time field start time and end. The failures table contains documents showing when someone is unavailable and has a start date/time and end date/time.

    What I need to do, is to create a view that returns one line per record shift, showing their hours available taking into account failures which cover this change. A failure may extend over several days, or there could be multiple failures within a single day. For example, if there is a power failure for a person from 12/01/2009-08:00 (DD/MM/YYYY HH24) and ends at 2009-02-12 10:00 and the movement of people both at the time is 08:00 - 16:00, it should return zero hour availability for 2009-01-12 and the availability of 6 hours for 2009-02-12. Similarly, assuming the same displacement from 08:00-16:00, a shift with 2 failures from 08:00 - 10:00 and 15:00 - 16:00 must return the availability of 5 hours. Failures for one person may not overlap.

    Any ideas on how to go about it?

    Hello

    Welcome to the forum!

    Not counting failures, the total duration (in days) is end_time less start_time, assuming that these columns are DATEs.
    Subtract the total time when outages overlap shift multiply by 24 to change the units from days to hours.
    One way to do that is:

    SELECT     s.*     -- or whatever columns you want
    ,     24 * ( (end_time - start_time)
              - NVL ( ( SELECT  SUM  ( LEAST    (end_time,   s.end_time)
                            - GREATEST (start_time, s.start_time)
                            )
                     FROM    outage
                     WHERE   person_id  = s.person_id
                     AND     start_time < s.end_time
                     AND     end_time   > s.start_time
                   )
                 , 0
                 )
              )     AS hours_available
    FROM     shift     s
    ;
    

    Maybe it's not obvious why the conditions

    ...                 AND     start_time < s.end_time
                     AND     end_time   > s.start_time
    

    say if failure overlaps with shift.
    Look at it this way: in which case failure to NOT overlap? They do not overlap when either
    (a) the breakdown begins after the end of the SHIFT (i.e. start_time > s.end_time), or
    (b) the failure ends before the start of the transition (i.e. end_time<>
    The conditions of the query are the negation of these two conditions.

    It would be in reality a little more correct to say that failure and shift overlap when

    ...                 AND     start_time <= s.end_time
                     AND     end_time   >= s.start_time
    

    which would include cases where you start at the exact moment the other ends. Given that the total duration of such an overlap is 0, I left these cases limits out of the query.

    This requires that start_time<= end_time="" in="" all="">
    I made a few other assumptions, too. If I have something wrong, or if you need assistance for any reason, after the informatipn as mentioned centinul.

    Published by: Frank Kulash, November 1, 2009 19:23

  • run the calculation APP1. DB1. Calc1 ON database APP2. DB2;

    Hello

    Can I run calculation script available under different application on another application as shown below:

    run the calculation APP1. DB1. Calc1 ON database APP2. DB2;

    I get the syntax error:

    MAXL > run calculation APP1. DB1. Calc1 ON database APP2. DB2;

    ERROR - syntax error 1242021-1 ['IT'].

    Could you please help me

    Thank you

    Mourad

    No, you can't.

    This syntax is used only for calculation a stored at the level of the application on a particular database in this application, for example, you might use:

    execute calculation Sample.'Test' on database Basic;
    

    In your case, you must first copy the script to the other database.

    If you need to automate the process, you could do this:

    create or replace calculation APP2.DB2.Calc1 as APP1.DB1.Calc1;
    execute calculation APP2.DB2.Calc1;
    drop calculation APP2.DB2.Calc1;
    

    The fall is optional, that simply means that your new copy of Calc1 sit around APP2. DB2 but deleted.

    You can also submit a direct calculation of MaxL (i.e. the content of a calc script) chain to a database, but I don't like bury calc channels in MaxL scripts.

  • How to display the list of all the constraints, triggers, procedures... .etc

    Hello
    How to view a list of all the available constraints, triggers, procedures, functions and packages in a database. And how to view its definition?

    user12222356 wrote:
    Not working is this said sql statement "object"sys"". "" DBA_OBJECTS"does not exist"

    OK, so the problem is that you have not allowed access to any data dictionary table. If you want to be able to view all of the DBA_ * dictionary of data tables, you need the ADMINISTRATOR to grant you the privilege to CHOOSE ANY DICTIONARY.

    In the future, when you post an error message, in addition to displaying the error message, it will be useful if you can get the error number, for example, that is, ORA-xxxxx

    Justin

  • HP 35S EMULATOR

    To whom it my concern:

    On this occasion I need your help. I found myself struggling with the HP 35s (http://www.hp.com/sbso/product/calculators-emulators/scientific-calculator-emulator.html) emulator. It works perfectly, but where is the manual? For example, I don't understand the WINDOW of TOOLS. The other windows:

    CALCULATE: save, load, quick save and quick load (save and load what?)

    EDIT: screenshot, reset the calculator (reset for what situation?)

    Can you please help me with some explanations. A brief guide will be very grateful!

    Thank you in advance, Pedro

    Hello

    There is no manual for the emulator itself (as you probably noticed, with aid only the manual for the calculator is available).

    In the FILE:

    Save: saves the emualtor (as well as the keyed-in programs) State - ask for a name.

    Charge: invited to load everything previously saved state of the emulator (including programs).

    Save quickly creates a saved state of the emulator with the name default "quick record".

    Fast charge: appears only if a quick record exists, load the existing quick registration

    Check the update: check a HP Server for updates of the emulator.

    Exit: exit emulator

    EDIT:

    Copy of the screen: a bitmap capture of the screen of the calculator

    Given to zero Calculator: does nothing broken =. In an emulator older I have reset the emulator similar to RESET at the back of the real calculator.

    In the TOOL:

    Macros:

    Records or re-plays a series of strikes. In the Macro menu, select new and give it a name and a description, and then press the required keys. When you are done, back to Macros and you will be asked to stop recording.

    The macro is now visible in the Macro menu, select Play and the keystrokes will be processed. Note: the reading is very slow on my PC.

    Select skin:

    Selects the displays for the calculator

    Options:

    Skin and macros enabled check boxes determines whether the "Macros" or "Select an envelope" is available in the TOOL menu.

    I don't know how the other options.

    HP.COM opens your internet browser to the HP Web site.

    In HELP:

    HP 35s help: opens the calculator manual in PDF reader

    Help language: selects the version of the calculator manual

    About: details on the emulator.

    The calculator manual supplied with the emualtor is a condensed version. The full manual is available here:

    http://h10032.www1.HP.com/CTG/manual/c01579350.PDF

    HTH

  • FUSION support

    Hello

    I need assistance with a procedure. I am for the first time using MERGE and difficulties with the INCLUSION of the FUSION part. Updates work correctly. This is the structure of the table

    CREATE TABLE OF CALCULATIONS

    (

    ID NUMBER (10),

    YEAR_MONTH VARCHAR2 (7).

    DELAY NUMBER (10),

    PERS_OUT NUMBER (5),

    NUMBER (10) SELECTED.

    NUMBER (10) OVERTIME.

    WITHOUT NUMBER (2)

    )

    /

    ALTER TABLE CALCULATIONS

    ADD CONSTRAINT CALC_ID_YEARMONTH_PK PRIMARY KEY (ID, YEAR_MONTH)

    /

    INSERT IN THE CALCULATIONS OF THE VALUES (1, 201504, 0, 0, 0, 0, 2);

    INSERT THE VALUES IN CALCULATIONS (2, 201504, 0, 0, 0, 0, 1);

    INSERT THE VALUES IN CALCULATIONS (4, 201504, 0, 0, 0, 0, 20);

    INSERT THE VALUES IN CALCULATIONS (6, 201504, 0, 0, 0, 0, 0);

    COMMIT;

    CREATE or replace PROCEDURE CALCULATIONS_TESTPROC

    (number of p_id,

    p_year_month varchar,

    number of p_delay

    number of p_pers_out

    number of p_overtime

    number of p_absent)

    IS

    Start

    MERGE CALCULATIONS D

    USING (SELECT DISTINCT ID,

    YEAR_MONTH,

    DELAY,

    PERS_OUT,

    OVERTIME,

    In the ABSENCE OF THE CALCULATIONS WHERE id = p_id and

    YEAR_MONTH = p_year_month)

    WE (D.id = p_id and D.year_month = p_year_month)

    WHEN MATCHED THEN

    Setting a DAY of SET D.delay = p_delay,

    D.pers_out = p_pers_out,

    D.overtime = p_overtime,

    D.absent = p_absent

    WHERE D.id = p_id and

    D.YEAR_MONTH = p_year_month

    WHEN NOT MATCHED THEN INSERT (D.ID, D.YEAR_MONTH, D.DELAY, D.PERS_OUT, D.OVERTIME, D.ABSENT)

    VALUES (p_id,

    p_year_month,

    p_delay,

    p_pers_out,

    p_overtime,

    p_absent);

    commit;

    end;

    /

    Execution of the procedure UPDATES are going very well. Here is an example

    EXEC CALCULATIONS_TESTPROC(1,'201504',1,1,0,2)

    Inserts do not move

    EXEC CALCULATIONS_TESTPROC(3,'201504',1,1,0,2)

    What I'm doing wrong here?

    All you need is DOUBLE as table USE:

    SQL > CREATE OR REPLACE
    PROCEDURE (2) CALCULATIONS_TESTPROC
    3                                    p_id    number ,
    4 p_year_month varchar,
    number of p_delay 5.
    number of p_pers_out 6,.
    number of p_overtime 7,.
    number of p_absent 8
    9                                  )
    10 EAST
    BEGIN 11
    12 FUSION
    13. IN CALCULATIONS D
    14 WITH THE HELP OF)
    15 SELECT *.
    16 FROM TWO
    17                ) S
    (18)
    19 D.id = p_id
    20 AND
    21 D.year_month = p_year_month
    22              )
    23. WHEN MATCHED
    24 THEN
    UPDATE 25
    26 SET D.delay = p_delay,
    27 D.pers_out = p_pers_out,
    28 D.overtime = p_overtime,
    29 D.absent = p_absent
    30 WHEN NOT MATCHED
    31. THEN INSERT
    32 VALUES)
    33                          p_id,
    p_year_month 34,
    p_delay 35,
    p_pers_out 36,
    37                          null,
    p_overtime 38,
    39 p_absent
    40                          );
    END 41;
    42.

    Created procedure.

    SQL > select * from calculations;

    ID YEAR_MO DELAY PERS_OUT ABSENT ADDITIONAL DEDUCTIONS
    ---------- ------- ---------- ---------- ---------- ---------- ----------
    1 201504          0          0          0          0          2
    2 201504          0          0          0          0          1
    4 201504 0 0 0 0 20
    6 201504          0          0          0          0          0

    SQL > EXEC CALCULATIONS_TESTPROC (1, '201504' 1,1,0, 2);

    PL/SQL procedure successfully completed.

    SQL > select * from calculations;

    ID YEAR_MO DELAY PERS_OUT ABSENT ADDITIONAL DEDUCTIONS
    ---------- ------- ---------- ---------- ---------- ---------- ----------
    1 201504          1          1          0          0          2
    2 201504          0          0          0          0          1
    4 201504 0 0 0 0 20
    6 201504          0          0          0          0          0

    SQL > EXEC CALCULATIONS_TESTPROC (3, '201504' 1,1,0, 2);

    PL/SQL procedure successfully completed.

    SQL > select * from calculations;

    ID YEAR_MO DELAY PERS_OUT ABSENT ADDITIONAL DEDUCTIONS
    ---------- ------- ---------- ---------- ---------- ---------- ----------
    1 201504          1          1          0          0            2
    2 201504          0          0          0          0            1
    4 201504          0          0          0          0           20
    6 201504          0          0          0          0            0
    3 201504          1          1                     0            2

    SQL >

    And it is almost always a bad idea to engage in the stored procedure.

    SY.

  • Recyclable waste

    So I just of vKernel, where the right sizer peaks account when you give recommendations on the removal/addition of resources.  Depending on the configuration of the oversized VM, it is only by looking at average use over the period that I have installed (30 days).  So when I look at a big VM in vCOPS, it is said to change a vCPU virtual machine 6 in 1 memory and change of 42 GB to 18 GB.  The thing is when I view a report in 30 days on memory, I see a higher than 18 GB epi that was recommended.   It seems that if I'm not taking into account spikes, I could potentially paralyze a request.   So if I make my own judgment call, so I'll always have recyclable waste and it's going to be a never-ending cycle.

    My way of thinking, maybe someone can help me here.  Is that the recommendation does not take into account this Ridge high, perhaps because it categorizes it as an anomaly?

    I'm just trying to get a better understanding on how/why vCOPS is to give these recommendations, so any help would be appreciated.

    Hi DLally,

    Each system reaches a maximum at some point, the question is ' do we need to anticipate and plan for this pic?  The recommendations made by CR Ops will guide you to systems that may have resources recoverable due to on computers virtual allocated.  One thing to keep in mind is that the "recoverable waste" is an opportunity, not a target.  In other words, vC Ops is offering recommendations to avoid or delay the hardware upgrades and also tell you what you can do with the resources you have today based on usage.  Many times admins see the 'efficiency' score and treat it as an operational problem, and is not how you should look at it.  In General, don't worry about chasing on VMs sizes unless you need the ability to add machines or avoid hitting the wall "remaining time" for a resource.  Using "All measures" to validate the peaks in the areas of resources for 7 or 30 days is a good idea by examining the resizing.

    You can refine vC Ops to consider using policies advanced behavior.  You can adjust the bulky or undersized determination as well that include Stress (a better word for "peak") in the remaining time and the calculations of available capacity.  In addition, there are a few strategy OOTB models that are tuned for loads of maximum 15 min and 30 min.  Check those out as well.

  • Do not allow the virtual machine to power on if the host memory usage over 75%?

    Hi all

    I'm looking for a way to do not allow the power of virtual machines on if the clutser average memory usage is greater than 75%, or if its corresponding host memory usage is greater than 75%.

    Any idea.

    Thank you very much

    Hey Valot,.

    One way to achieve this is HA admission control that does not allow a virtual machine to be turned on if the availability constraints are not met

    http://www.VMware.com/PDF/vmware_ha_wp.PDF

    Also chwck on http://www.yellow-bricks.com

    Concerning

    one

  • How to get the dimensions of the area within the window of the scene?

    Hello

    I am able to get the size of a window using stage.getWidth () and stage.getHeight (), which gives the dimensions of the window, including the border. But how the size of the dimensions within the window, which is the area inside the border of the window?

    I had created a way to understand this by calculating the difference between the sides of my initial scene and my step. I called this window filling, which is essentially the thickness of the border on the sides and up and down.

    This method of calculation for available surface area in a window is not reliable when a window is maximized, because the thickness of the border of the window shrinks when enlarged. And if your stage size is larger than your scene, then you will get a wrong value.

    There must be a way to get this area. I need it to do correctly scaling.

    Thank you
    Jose

    Published by: jmart on 22 August 2012 23:58

    I did it by adding a 'master' component to the stage

    mainScene = new scene (masterPane, 430, 430);

    The master component is just a container that contains all the content but will resize the window resize event and therefore will always have the right width and height.

    masterPane = new Pane();
    masterPane.getChildren () .add (root);

    Due to that you can resize your content based on

    Double screenWidth = masterPane.getWidth ();
    Double screenHeight = masterPane.getHeight ();

    Here is an example. You can zoom (scrollwheel), pan (click and drag) and Center + scale on the screen (middle button) (only if the content is a square, there is a bug if the content is greater than the width, which I had no time to eliminate now but you get the point)

    import javafx.animation.Animation;
    import javafx.animation.ParallelTransition;
    import javafx.animation.ParallelTransitionBuilder;
    import javafx.animation.RotateTransition;
    import javafx.animation.RotateTransitionBuilder;
    import javafx.animation.ScaleTransition;
    import javafx.animation.ScaleTransitionBuilder;
    import javafx.animation.Timeline;
    import javafx.animation.TranslateTransition;
    import javafx.animation.TranslateTransitionBuilder;
    import javafx.application.Application;
    import javafx.event.EventHandler;
    import javafx.geometry.Point2D;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.input.MouseButton;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.input.ScrollEvent;
    import javafx.scene.layout.Pane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Rectangle;
    import javafx.stage.Stage;
    import javafx.util.Duration;
    
    public class Test extends Application
    {
        Stage primStage;
        Scene mainScene;
        Group root;
        Pane masterPane;
        Point2D dragAnchor;
        double initX;
        double initY;
    
        public static void main(String[] args)
        {
            launch(args);
        }
    
        @Override
        public void init()
        {
            root = new Group();
    
            final Pane pane = new Pane();
            pane.setStyle("-fx-background-color: #CCFF99");
    
            pane.setOnScroll(new EventHandler()
            {
                @Override
                public void handle(ScrollEvent se)
                {
                    if(se.getDeltaY() > 0)
                    {
                        pane.setScaleX(pane.getScaleX() + pane.getScaleX()/15);
                        pane.setScaleY(pane.getScaleY() + pane.getScaleY()/15);
                    }
                    else
                    {
                        pane.setScaleX(pane.getScaleX() - pane.getScaleX()/15);
                        pane.setScaleY(pane.getScaleY() - pane.getScaleY()/15);
                    }
                }
            });
    
            pane.setOnMousePressed(new EventHandler()
            {
                public void handle(MouseEvent me)
                {
                    initX = pane.getTranslateX();
                    initY = pane.getTranslateY();
                    dragAnchor = new Point2D(me.getSceneX(), me.getSceneY());
                }
            });
    
            pane.setOnMouseDragged(new EventHandler()
            {
                public void handle(MouseEvent me) {
                    double dragX = me.getSceneX() - dragAnchor.getX();
                    double dragY = me.getSceneY() - dragAnchor.getY();
                    //calculate new position of the pane
                    double newXPosition = initX + dragX;
                    double newYPosition = initY + dragY;
                    //if new position do not exceeds borders of the rectangle, translate to this position
                    pane.setTranslateX(newXPosition);
                    pane.setTranslateY(newYPosition);
    
                }
            });
    
            int x = 0;
            int y = -40;
            for(int i = 0; i < 5; i++)
            {
                y = y + 40;
                for (int j = 0; j < 5; j++)
                {
                    final Rectangle rect = new Rectangle(x, y, 30 , 30);
                    final RotateTransition rotateTransition = RotateTransitionBuilder.create()
                            .node(rect)
                            .duration(Duration.seconds(4))
                            .fromAngle(0)
                            .toAngle(720)
                            .cycleCount(Timeline.INDEFINITE)
                            .autoReverse(true)
                            .build();
                    rect.setOnMouseClicked(new EventHandler()
                    {
                        public void handle(MouseEvent me)
                        {
                            if(rotateTransition.getStatus().equals(Animation.Status.RUNNING))
                            {
                                rotateTransition.setToAngle(0);
                                rotateTransition.stop();
                                rect.setFill(Color.BLACK);
                                rect.setScaleX(1.0);
                                rect.setScaleY(1.0);
                            }
                            else
                            {
                                rect.setFill(Color.AQUAMARINE);
                                rect.setScaleX(2.0);
                                rect.setScaleY(2.0);
                                rotateTransition.play();
                            }
    
                        }
                    });
    
                    pane.getChildren().add(rect);
                    x = x + 40;
    
                }
                x = 0;
    
            }
    
            pane.autosize();
            pane.setPrefSize(pane.getWidth(), pane.getHeight());
            pane.setMaxSize(pane.getWidth(), pane.getHeight());
            root.getChildren().add(pane);
    
            masterPane = new Pane();
            masterPane.getChildren().add(root);
            masterPane.setStyle("-fx-background-color: #AABBCC");
            masterPane.setOnMousePressed(new EventHandler()
            {
               public void handle(MouseEvent me)
               {
                   System.out.println(me.getButton());
                   if((MouseButton.MIDDLE).equals(me.getButton()))
                   {
                       double screenWidth  = masterPane.getWidth();
                       double screenHeight = masterPane.getHeight();
                       double scaleXIs     = pane.getScaleX();
                       double scaleYIs     = pane.getScaleY();
                       double paneWidth    = pane.getWidth()  * scaleXIs;
                       double paneHeight   = pane.getHeight() * scaleYIs;
    
                       double screenScale  = (screenWidth < screenHeight) ? screenWidth : screenHeight;
                       int    screenSide   = (screenWidth < screenHeight) ? 0 : 1;                 
    
                       double scaleFactor = 0.0;
                       if(screenSide == 1)
                       {
                           scaleFactor = screenScale / paneWidth;
                       }
                       else
                       {
                           scaleFactor = screenScale / paneHeight;
                       }
    
                       double scaleXTo = scaleXIs * scaleFactor;
                       double scaleYTo = scaleYIs * scaleFactor;
    
                       double moveToX  = (screenWidth /2) - (pane.getWidth()  / 2);
                       double moveToY  = (screenHeight/2) - (pane.getHeight() / 2);
                       TranslateTransition transTrans = TranslateTransitionBuilder.create()
                           .duration(Duration.seconds(2))
                           .toX(moveToX)
                           .toY(moveToY)
                           .build();
                       ScaleTransition scaleTrans = ScaleTransitionBuilder.create()
                           .duration(Duration.seconds(2))
                           .toX(scaleXTo)
                           .toY(scaleYTo)
                           .build();
                       ParallelTransition parallelTransition = ParallelTransitionBuilder.create()
                          .node(pane)
                          .children(transTrans,scaleTrans)
                          .build();
                       parallelTransition.play();
                   }
               }
            });
    
        }
        public void start(Stage primaryStage)
        {
            primStage = primaryStage;
            mainScene = new Scene(masterPane, 430, 430);
            primaryStage.setScene(mainScene);
            primaryStage.show();
        }
    }
    
  • Backup of BC

    Hello

    I have little of my database that are 1 TB, 3 TB, etc. which backups are produced through backup BC!
    Could someone please tell me how does the copy BC happen? The backup copy BC architecture!

    Made the closing of the database for these types of backups? I heard that these backups are fast enough. 4 TB coming in under an hour!
    So is this the future of backups in Oracle? We will not use RMAN after awhile?

    Please help me with the entries!

    Thank you!

    Hi again,

    Closing of the database also works, but we don't want to stop our production database every night due to availability constraints. The best documentation you will find would own disk subsystem vendors documentation. I assume you are using BCV technology EMC. You can search the web site of EMC for the detailed documentation various on the video, mirroring, SNAPSHOT and so on...

    I remember that the name of the command was "symmir' which is an operating system tool provided by EMC. I hope that these would help because unfortunately, I'm not an expert on this technology.

  • How to exclude VMS from the calculation of constraint of availability HA

    Hello

    I would like to confirm if I put 'Turn off' on a few VM HA settings (cluster level), these virtual machines will not be included in the PA "Prevent VMs from turned on if they violate constraints of availability?

    Thanks for your replies

    Concerning

    Julien

    No, because you have disabled the HA for the VM (s) in question.  Therefore, it won't budge, nor be calculated.

  • Calculation Manager is not available from the workspace

    We have recently installed Hyperion Planning v 11.1.1.1.0 to a customer. The installation consisted of EPMA. Everything works fine (app created, responsible for dimensions, forms of work, etc.) with one exception. We cannot step Manager appears as an option in the menu under "Administer" in the workspace. We installed the calculation Manager Finally, after that everything was in place. We have configured in the EMP system configurator. The calculation Manager service is running and everything seems to work in EPMA. I use the user ID is a shared services administrator with administrator rights Manager calculation.

    I have to do something stupid, but unfortunately the calculation Manager is new to me. We tried to restart all services.

    Any ideas?

    Hey Jake,.

    You redeploy workspace and re-configuration of the web server after the installation of the Calc Manager?

    Just like all the other components workspace does not recognize if it was installed after the deploy/web server config workspace - poor design in my mind.

    Kind regards

    -John

  • Stars marks the beginning or the end date without affecting a primary constraint

    I'm working on 4 project consists of some 225 thousands of activities on p6v7 Primavera. All four EPC and supply projects are interconnected. I get the mark of the Star (*) at the start or end date without affecting any primary obligation. These activities are logically follow constraints also gives no relevant dates and negative float. I cannot import excel sheet too make any changes to my projects, it shows memory. Can someone confirm how many activities takes in charge the Primavera? There is no filter at the level of the WBS code, I need to put the filter at the level of the WBS code so that I could see that the activities that fall within these WBS. The UDF, I defined at the level of WBS code also not shown to global, how WBS UDF activity? I want to glue the print screen on this forum but impossible...

    Hello

    In P6 client, there is no filter available for view of WBS, so you play with the filters of activity only according to your needs...

    And change overall WBS UDF feature isn't available in client P6... If you can not any calculation or changes...

    What are all the limitations of primavera P6 customer.

    See you soon...

  • The total size of slot in Cluster HA includes all available memory for all hosts resources

    Hello

    So I a 7 host with 1 host cluster that is running a different generation of the Intel processor, EVC is enabled, and the hosts are running and were broadcast with happiness for months.  This host is also more physical RAM installed than the others.

    A project has worked to upgrade to ESXi 4.1 vSphere 4.0 hosts; five of the hosts have been successfully upgraded (when I say up to level, they have been rebuilt) a few months back, then for some reason, the project was put on hold so far.  So there are two hosts, including the strange which need to be modernised. Currently, I am unable to put any host in Maintenance Mode to start the reconstruction because it would cause the cluster to violate the level of failover for HA (see attachment).  When I checked the info HA Advanced Runtime for the Cluster there are only 46 pitches in total for the Cluster but 61 used locations. The size of the slot is 4255 MB (see attachment)

    I did some calculations to determine the size of the slot based on memory reserves and the total available RAM in hosts:

    Six hosts have 32758 MB of RAM and the host only has 49142 MB installed.

    49142 / 4255 = 11.5 slots
    32758 / 4255 = 7.8 * 6 hosts = 46.2 slots

    Total slots = 7.8 + 11.5 = 57.7

    The 46 slots calculated for 6 guests with 32758 MB of RAM suggests that it is only taking into account 6 guests with the same hardware configuration and not the seventh army, nobody thinks that this may be the case and have all the answers to why?  Can someone explain why when vSPhere working on the available slots is not taking into account the memory in this seventh host.

    Also, if to the failover cluster violation prompt when I try to put a host in Maintenance Mode, I say 'Yes' to continue violating the constraints, will be the fact that he believes there are 61 used locations allow the machine virtual vmotioned on other host successfully or not?

    Any help is very appreciated.

    Thank you

    As mentioned more high read my deepdive HA that she will explain how does admission control. In short, he takes the worst cases into account, which is the host with the most of the 'slots' can fail and evade this amount of homes in total.

    Duncan

    Yellow - Bricks.com

    vSphere 5 clusters Deepdive - eBook | Paper

  • [8i] help with function with parameters (for the calculation of the work)

    Let me start by saying, I've never written a function before, and I do not have access to create a feature in my database (that is, I can't test this feature). I am trying to achieve a function I can ask my IT Department to add for me. I hope that someone can take a look at what I wrote and tell me if this should work or not, and if it's the right way to go to solve my problem.

    I'm creating a function to make a very simple calculation of work (add/subtract a number of days to a date in the calendar).

    The database, I work with has a table with the schedule of work. Here is a sample table and sample data, representative of what is in my work table calendar:
    CREATE TABLE caln
    (     clndr_dt     DATE,
         shop_days     NUMBER(5)
         CONSTRAINT caln_pk PRIMARY KEY (clndr_dt)
    );
    
    INSERT INTO     caln
    VALUES (To_Date('01/01/1980','mm/dd/yyyy'),0);
    INSERT INTO     caln
    VALUES (To_Date('01/02/1980','mm/dd/yyyy'),1);
    INSERT INTO     caln
    VALUES (To_Date('01/03/1980','mm/dd/yyyy'),2);
    INSERT INTO     caln
    VALUES (To_Date('01/04/1980','mm/dd/yyyy'),3);
    INSERT INTO     caln
    VALUES (To_Date('01/05/1980','mm/dd/yyyy'),3);
    INSERT INTO     caln
    VALUES (To_Date('01/06/1980','mm/dd/yyyy'),3);
    INSERT INTO     caln
    VALUES (To_Date('01/07/1980','mm/dd/yyyy'),4);
    INSERT INTO     caln
    VALUES (To_Date('01/08/1980','mm/dd/yyyy'),5);
    INSERT INTO     caln
    VALUES (To_Date('01/09/1980','mm/dd/yyyy'),6);
    INSERT INTO     caln
    VALUES (To_Date('01/10/1980','mm/dd/yyyy'),7);
    INSERT INTO     caln
    VALUES (To_Date('01/11/1980','mm/dd/yyyy'),8);
    INSERT INTO     caln
    VALUES (To_Date('01/12/1980','mm/dd/yyyy'),8);
    INSERT INTO     caln
    VALUES (To_Date('01/13/1980','mm/dd/yyyy'),8);
    INSERT INTO     caln
    VALUES (To_Date('01/14/1980','mm/dd/yyyy'),9);
    The table includes since 01/01/1980 but 31/12/2015.

    I have written (and validated) this parameter query that performs the calculation of my working day (mday):
    SELECT     cal.clndr_dt
    FROM     CALN cal
    ,     (
         SELECT     cal.shop_days+:mdays     AS new_shop_days
         FROM     CALN cal
         WHERE     cal.clndr_dt     =:start_date
         ) a
    WHERE     cal.shop_days     = a.new_shop_days
    AND     ROWNUM          =1
    ORDER BY     cal.clndr_dt;
    Based on this request, I created the following function (and I have no idea if it works or if the syntax is right, etc..):
    CREATE OR REPLACE FUNCTION add_mdays 
         (start_date     IN DATE,
         mdays          IN NUMBER(5))
    RETURN     DATE 
    IS
         new_date DATE;
    BEGIN
    
         SELECT     cal.clndr_dt
         FROM     CALN cal
         ,     (
              SELECT     cal.shop_days+mdays     AS new_shop_days
              FROM     CALN cal
              WHERE     cal.clndr_dt     =start_date
              ) a
         WHERE     cal.shop_days     = a.new_shop_days
         AND     ROWNUM          =1
         ORDER BY     cal.clndr_dt;
    
         RETURN     new_date;
    
    END add_mdays;  //edit 9:31 AM - noticed I left off this bit
    I'm also not sure how to do to have the function handle results that would return a date outside the range of dates that appear in the table (prior to 01/01/1980 or after until 31/12/2015 - or, another way to look at what was, before the caln.clndr_dt or the caln.clndr_dt MAX value MIN value).

    My goal is to be able to use the function in a situation similar to the following:

    First of all, here is a sample table and data:
    CREATE TABLE orders
    (     ord_no          NUMBER(5),
         plan_start_dt     DATE,
         CONSTRAINT orders_pk PRIMARY KEY (ord_no)
    );
    
    INSERT INTO orders
    VALUES (1,To_Date('01/08/1980','mm/dd/yyyy'));
    INSERT INTO orders
    VALUES (2,To_Date('01/09/1980','mm/dd/yyyy'));
    INSERT INTO orders
    VALUES (3,To_Date('01/10/1980','mm/dd/yyyy'));
    And here's how I would use my function:
    SELECT     orders.ord_no
    ,     orders.plan_start_dt
    ,     add_mdays(orders.plan_start_dt, -3) AS prep_date
    FROM     orders
    Thus, the function would allow me to come back, for each command in my table of orders, the date is 3 days working (mdays) before the start of the plan of each order.

    I go about it the right way? I have to create a function to do this, or is there a way for me to integrate my request (which makes my mday calculation) in the example query above (eliminating the need to create a function)?

    Thank you very much in advance!

    Published by: user11033437 on February 2, 2010 08:55
    Fixed some typos in the last insert statements

    Published by: user11033437 on February 2, 2010 09:31 (fixed some syntax in the function)

    Hello

    Ah, referring to Oracle 8 and is not not able to test your own code makes me nostalgic for the good old days, when you have entered your cards and led to a window to the computer center and waited an hour for the work to be performed and then seen printing to find that you had made a typo.

    If you write functions, you should really test yourself. Like all codes, functions forge be written small not: write a line or two (or sometimes just a part of what would later become a single line), test, make sure it is running properly and repeat.
    Ideally, your employer must create a pattern of development in a development database that you can use.
    You can legally download your own instance of Oracle Express Edition free; just be careful not to use features that are not available in the database where the code will be deployed.

    You need a function to get the desired results:

    SELECT       o.ord_no
    ,       o.plan_start_dt
    ,       MIN (e.clndr_dt)     AS prep_date
    FROM       orders     o
    ,       caln          l
    ,       caln          e
    WHERE       l.clndr_dt     = o.plan_start_dt
    AND       e.shop_days     = l.shop_days - 3
    GROUP BY  o.ord_no
    ,            o.plan_start_dt
    ;
    

    It would be more effective (and somewhat simpler) If you've added a column (let's call it work_day) identified whether each line represents a work_day or not.
    For each value of shop_days, exactly 1 row will be considered as a working day.
    Then, the query may be something like:

    SELECT       o.ord_no
    ,       o.plan_start_dt
    ,       e.clndr_dt          AS prep_date
    FROM       orders     o
    ,       caln          l
    ,       caln          e
    WHERE       l.clndr_dt     = o.plan_start_dt
    AND       e.shop_days     = l.shop_days - 3
    AND       e.work_day     = 1
    ;
    

    You can use the analytic LAG function to populate the work_day column.

    A function would certainly be useful, although perhaps slower.

    The function you have posted has some errors:
    an argument can be stated under NUMBER (5); Just NUMBER.
    (b) when you SELECT in PL/SQL, as you do, you must SELECT a variable to store the results.
    (c) ROWNUM is arbitrary (making it useless in this problem) unless you draw a neat subquery. I don't think you can use ORDER BY in subqueries in Oracle 8. Use the ROW_NUMBER analytic function.
    (d) the service must end with an END statement.

    Given your current caln table, here's how I would write the function:

    CREATE OR REPLACE FUNCTION add_mdays
         ( start_date     IN           DATE          DEFAULT     SYSDATE,
           mdays          IN           NUMBER          DEFAULT     1
         )
    RETURN     DATE
    DETERMINISTIC
    IS
         --     add_mdays returns the DATE that is mdays working days
         --     after start_date.  (If mdays < 0, the DATE returned
         --     will be before start_date).
         --     Work days do not include Saturdays, Sundays or holidays
         --     as indicated in the caln table.
    
         new_date     DATE;          -- to be returned
    BEGIN
    
         SELECT     MIN (t.clndr_dt)
         INTO     new_date
         FROM     caln     f     -- f stands for "from"
         ,     caln     t     -- t stands for "to"
         WHERE     f.clndr_dt     = TRUNC (start_date)
         AND     t.shop_days     = f.shop_days + TRUNC (mdays)
         ;
    
         RETURN     new_date;
    END     add_mdays;
    /
    SHOW ERRORS
    

    Production code forge be robust (which includes "fool-proofing").
    Try to anticipate what people errors might appeal to your function and correct for them where possible.
    For example, if it only makes sense for start_date at midnight, mdays to be an integer, use TRUNC in the function where soembody passes a good value.
    Allow default arguments.
    Comment of your function. Put all comments within the service (i.e. after CREATION and before the END) so that they will remain in the data dictionary.
    If, given the same arguments, the function always returns the same value, mark it as DETERMINISTIC, for efficiency. This means that the system will remember the values transmitted rather than to call the function whenever it is said to.

    I wish I could score questions such as 'Correct' or 'useful '; you get 10 points for sure.
    You posted CREATE TABLE and INSERT statements (without even be begged).
    You gave a clear description of the problem, including the expected results.
    The code is well formatted and easy to read.
    All around, one of the more thoughtful and well written questions I've seen.
    Play well! Keep up the good work!

    Published by: Frank Kulash, February 2, 2010 13:10
    Added to my own version of the function.

Maybe you are looking for

  • On the latest version of Mozilla FireFox

    Hi there, if I suspect that my Mozilla Firefox is already outdated. How can I check for the latest version of Mozilla Firefox and how to upgrade to the latest version? Thank you for your sincere help 1 million.

  • Converter USB/serial for Satellite P100-112

    Hi, I need to buy a converter usb/serial for my P100-112. The one I have, I can't make it work with my current machine. Tips for what to buy would be appreciated.

  • Pavilion DV1000: NIC in the laptop does not

    I have a notebook HP DV1000 elderly & ethernet NIC stoped working. When I try to reinstall it, the add new hardware wizard gives me this error message: cannot install hardware. The system cannot find the specified file. I tried to uninstall and reins

  • What CPU was delievered with the Satellite A210 - 11 p

    What the process type of TL - 56 in satellite A210 - 11 p, 65nm and 90nm? Who knows? Please tell me, thanks! null

  • Bootcamp Windows 7 cannot run by VMWare Fusion 8.1.0

    I use MBP (13 "mid-2010) 2.4 GHz Intel Core 2 Duo 8 GB 1067 MHz DDR3 Nvidia 320 M 256 MB That's what I did in chronological order (1) improved my MBP to El Capitan 10.11.1 (2) my VMWare Fusion Pro 7 did not work - asked me to upgrade to version 8 to