Best approach to replace the storage of an ASM diskgroup nondisruptive?

Hi Experts,

Please advise what the best approach is to replace the storage of ASM diskgroup without downtime, or minimal service interruption?

Thanks in advance.

RAJ_KUMAR wrote:

Hi Experts,

Please advise what the best approach is to replace the storage of ASM diskgroup without downtime, or minimal service interruption?

Thanks in advance.

New drive for fixation to the BONE

Add the new disk to the selected disk group

Wait for rebalancing complete

remove old disk of selected disk group.

Wait for rebalancing complete

I just finished the migration to an all new SAN with zero downtime.

Tags: Database

Similar Questions

  • What would be the best approach to store the contents of an application

    Hi all,

    Whereas there are certain restrictions on the University Complutense of MADRID since the limit of files in a folder (max. 1000), that would be the best approach to store the contents of a request, for example? Is it possible to store the content with a logic of separation?

    Kind regards

    Maybe that I miss the question, but I think you are looking for a good definition of the metadata model or same good architecture of content server instances themselves.

    You wrote that you have lots of files from one application (1200 check-ins per day) and you are limited by the recommendation to have maximum 1000 files in a folder. It is a bit of a mix of apples and oranges. Records are a logical representation of file storage, who must somehow match what users a) are used for b) is useful to organizational processes. If it makes no sense in the context of your organization - just don't use them. At the University Complutense of MADRID, he must be. Unlike, the University Complutense of MADRID must always have a metadata model, and if the content search is one of your typical use cases, it is a starting point.

    You mentioned you want to separate an application an application documents X documents Y - that sounds like you have a metadata field called, for example, 'Application', which will contain the appropriate value. Unfortunately, you write more detail, so I'll make my scripts:

    -Imagine you have users who work areas or countries interested only in 'their' data - sounds like a need for one or more fields to represent this type of separation (country - State - City - whatever)
    -now, you might have another group of users who are more focused on the product; They also want to see 'their' data, but this time, the main search criteria are different (product line - product - Version - Batch, etc..)

    At the University Complutense of MADRID, you can serve both groups - you can create research and recording of profiles that meet the needs of these two types of users. It's actually more convenient than using the folders because you can have multiple views on the same repository.

    It is a "but" to this approach and that's if you want to use Desktop Integration after the check in documents from Office applications (Word, Excel). In this case, you will need records.

    However, even, there is a solution that might help: note that, so far, I expect to have a single repository (a single instance of the University Complutense of MADRID) serving all your applications. In theory, you could have a few instances UCM running in the same environment (the same number of licenses CPU, if you want). Therefore, the main criterion will be the name of the server instance of content rather than a metadata field. Another thing to consider if you want your "desktop users" for access to "all files" in the repository. Note that even if you use folders you can have files that are not assigned to any folder.

  • What is the best approach to take the content from another page... sampe App

    I need to access the values of the other page...... What will be the best method to her dowry...
    I thought to use the loading of the page...
    and development using plsql expression...
    as
    page load event
    PLSQL expression

    : P200_EMAIL

    element on the page to p200_email
    p103_email of the affected item.

    Now for some strange reason the contents of the p200_email field... that exist in page 200... Donot enter paeg 103......
    field p103_email...
    What will be the best method .or approach to retrieve the content...
    Any information will be greatly appreciated...

    Published by: pauljohny on September 11, 2012 12:08

    Question seem you too much, but my understanding is that you want to 'Access session values' in the Apex.

    In Apex, all elements of the page that is presented, and the session will be available in the session.

    example: If you have the page 1 and P1_NAME like a text field, and if you send the page, access to this to say page 2 P2_NAME to: P1_NAME & P1_NAME. v ('P1_NAME') etc. Then try this under P2_NAME default value setting, enter & P1_NAME. It has the value of P1_NAME to P2_NAME.

    Hope this helps
    JS

  • How to find the drive assigned to ASM diskgroup

    Hi all
    I created some ASM disks and do not know if I attributed to a diskgroup. Please may I know how to find the disc by ASM diskgroup or free on the disk that can be used.


    Thank you.

    Hello

    You must make reference to:
    http://download.Oracle.com/docs/CD/B28359_01/server.111/b31107/asmdiskgrps.htm#CHDIBGGH
    If you scroll down a bit you'll find: "groups example 4-3 look at a disk with associated disks.

    You can also check more specifically:
    http://www.Stanford.edu/dept/ITSS/docs/Oracle/10G/server.101/b10755/dynviews_1019.htm

    HTH,
    Thierry

  • Best approach to serve the same data between multiple users of the POJO DC

    Hello

    It is a question related to what is the best possible approach for this scenario.

    A POJO domain controller that retrieves a collection (of about 200 folders). The application displays the same records for all users of the application. The collection should be updated from time to time when there are new items and it must be visible to all users in DB.

    Currently, for each user that connects to the DC POJO application runs the query and deliver results. This works well when amount just a few users, but when multiple users want to access the app becomes very expensive.

    I think to build a programatically EO - VO, and then display it in a SharedApplicationModule where through the Cache of BC, I'll save and share data between users. I need to mark make a poll and update the collection when new results come thru.

    Is this a good approach? What are your thoughts or how would be better applied?

    Thank you very much.

    JDeveloper 12.c

    Hello

    Why do you use a POJO DC at all when the solution is to use a shared Module of Application ADF BC?  Sample 156 will become your friend:

    https://blogs.Oracle.com/smuenchadf/resource/examples#156

    Frank

  • [8i] best way to replace the 'similar' value values...?

    Some examples of data:

    Sorry for the large / complex set of sample data, but there should be no need to go through it in detail =).

    2 things to keep in mind:
    (1) it is a 8i db
    (2) I can't create any tables in the db, if I can create views
    CREATE TABLE     ord_master
    (     part_nbr          CHAR(25)
    ,     ord_nbr          CHAR(10)
    ,     sub_ord_nbr     CHAR(3)
    ,     ord_type          CHAR(2)
    ,     ord_stat          CHAR(2)
    ,     date_closed     DATE
    );
    
    -- please note, though none of the columns in ord_master are explicitly defined as NOT NULL, 
    -- none of them are NULL in the db, and given how things are input into the table, I don't 
    -- even think it's possible
    
    -- a unique order is described by ord_nbr, sub_ord_nbr.  there should only be one record in
    -- this table for a given unique combination of those columns, though they are not the p.k.
    
    -- NOTE: dates default to 12/31/1900, so in the table above, if an order is still open (thus, 
    -- not closed), it's date_closed will be 12/31/1900.  It will only change once the order closes.
    
    INSERT INTO     ord_master
    VALUES     ('ABC-123','1','1','AA','CL',TO_DATE('05/01/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','1','2','AA','CL',TO_DATE('9/14/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','2','1','AA','CL',TO_DATE('12/03/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','3','1','AA','OP',TO_DATE('12/31/1900','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','4','1','AA','CL',TO_DATE('03/12/2004','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('XYZ-123','5','1','AA','CL',TO_DATE('03/12/2004','mm/dd/yyyy'));
    
    
    CREATE TABLE     op_detail
    (     ord_nbr          CHAR(10)
    ,     sub_ord_nbr     CHAR(3)
    ,     major_seq_nbr     CHAR(4)
    ,     wctr_id          CHAR(5)
    ,     oper_stat          CHAR(2)
    ,     plan_su_rsrc     NUMBER(5,2)
    ,     plan_run_rsrc     NUMBER(11,8)
    ,     plan_subc_amt     NUMBER(15,5)
    ,     act_su_rsrc     NUMBER(5,2)
    ,     act_run_rsrc     NUMBER(7,2)
    ,     act_subc_amt     NUMBER(15,2)
    ,     act_start_dt     DATE
    ,     dt_completed     DATE
    ,     qty_planned     NUMBER(13,4)
    ,     qty_recvd          NUMBER(13,4)
    ,     qty_complete     NUMBER(13,4)
    ,     qty_scrap          NUMBER(13,4)
    ,     qty_on_hold     NUMBER(13,4)
    );
              
    -- similar to ord_master, thought none of the columns are explicitly defined as NOT NULL, 
    -- none of the records have NULL values for any of these columns, and I don't think it's 
    -- really possible with the way the system is
    
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0081', 'X516 ', 'CP', 0, 0, 0, 0, .2, 0, TO_DATE('02/03/2010', 'mm/dd/yyyy'), TO_DATE('02/03/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .87, 0, TO_DATE('04/06/2010', 'mm/dd/yyyy'), TO_DATE('04/06/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 159, TO_DATE('03/05/2010', 'mm/dd/yyyy'), TO_DATE('03/05/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0130', 'H211 ', 'CP', .5, .1, 0, .08, .63, 0, TO_DATE('02/10/2010', 'mm/dd/yyyy'), TO_DATE('02/10/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0120', 'H214 ', 'CP', .3, .05, 0, 0, .68, 0, TO_DATE('05/22/2009', 'mm/dd/yyyy'), TO_DATE('05/22/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0122', 'T203 ', 'CP', 2.5, 1, 0, .67, .3, 0, TO_DATE('05/28/2009', 'mm/dd/yyyy'), TO_DATE('05/28/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0130', 'H211 ', 'CL', .5, .1, 0, .67, .3, 0, TO_DATE('05/28/2009', 'mm/dd/yyyy'), TO_DATE('05/28/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 153.12, TO_DATE('06/10/2009', 'mm/dd/yyyy'), TO_DATE('06/10/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .08, 0, TO_DATE('06/17/2009', 'mm/dd/yyyy'), TO_DATE('06/17/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0081', 'X516 ', 'CL', 0, 0, 0, 0, 0, 0, TO_DATE('07/20/2009', 'mm/dd/yyyy'), TO_DATE('07/20/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0324', 'Y000 ', 'CL', .1, .2, 0, 0, 3.03, 0, TO_DATE('09/11/2009', 'mm/dd/yyyy'), TO_DATE('09/11/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 204.16, TO_DATE('08/11/2009', 'mm/dd/yyyy'), TO_DATE('08/11/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0130', 'H211 ','CP', .5, .1, 0, 1.97, 2.67, 0, TO_DATE('07/28/2009', 'mm/dd/yyyy'), TO_DATE('07/29/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 255.2, TO_DATE('11/06/2009', 'mm/dd/yyyy'), TO_DATE('11/06/2009', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0130', 'H212 ', 'CP', .5, .1, 0, .6, .03, 0, TO_DATE('10/21/2009', 'mm/dd/yyyy'), TO_DATE('10/21/2009', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0550', 'R501 ', 'WK', 1, 16, 0, 2.2, 12.4, 0, TO_DATE('05/19/2010', 'mm/dd/yyyy'), TO_DATE('12/31/1900', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0324', 'Y000 ', 'CL', .1, .2, 0, 0, .07, 0, TO_DATE('02/04/2010', 'mm/dd/yyyy'), TO_DATE('02/04/2010', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('4', '1', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .59, 0, TO_DATE('02/06/2004', 'mm/dd/yyyy'), TO_DATE('02/06/2004', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    This is the query, I'm working with right now:
    SELECT     o.part_nbr               
    ,          s.major_seq_nbr          AS op_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END                         AS wctr
    ,          MIN(s.plan_su_rsrc)          AS min_plan_setup
    ,          AVG(s.plan_su_rsrc)          AS avg_plan_setup
    ,          MAX(s.plan_su_rsrc)          AS max_plan_setup
    ,          STDDEV(s.plan_su_rsrc)     AS sdev_plan_setup
    ,          MIN(s.plan_run_rsrc)     AS min_plan_run
    ,          AVG(s.plan_run_rsrc)     AS avg_plan_run
    ,          MAX(s.plan_run_rsrc)     AS max_plan_run
    ,          STDDEV(s.plan_run_rsrc)     AS sdev_plan_run
    ,          MIN(s.plan_subc_amt)     AS min_plan_subc
    ,          AVG(s.plan_subc_amt)     AS avg_plan_subc
    ,          MAX(s.plan_subc_amt)     AS max_plan_subc
    ,          STDDEV(s.plan_subc_amt)     AS sdev_plan_subc
    ,          MIN(s.act_su_rsrc)          AS min_act_setup
    ,          AVG(s.act_su_rsrc)          AS avg_act_setup
    ,          MAX(s.act_su_rsrc)          AS max_act_setup
    ,          STDDEV(s.act_su_rsrc)     AS sdev_act_setup
    ,          MIN(s.act_run_rsrc)          AS min_act_run
    ,          AVG(s.act_run_rsrc)          AS avg_act_run
    ,          MAX(s.act_run_rsrc)          AS max_act_run
    ,          STDDEV(s.act_run_rsrc)     AS sdev_act_run
    ,          MIN(s.act_subc_amt)          AS min_act_subc
    ,          AVG(s.act_subc_amt)          AS avg_act_subc
    ,          MAX(s.act_subc_amt)          AS max_act_subc
    ,          STDDEV(s.act_subc_amt)     AS sdev_act_subc     
    ,          MIN(s.act_start_dt)          AS min_start
    ,          MAX(s.act_start_dt)          AS max_start
    ,          MIN(s.dt_completed)          AS min_comp
    ,          MAX(s.dt_completed)          AS max_comp
    ,          MIN(s.qty_planned)          AS min_qty_plan
    ,          AVG(s.qty_planned)          AS avg_qty_plan
    ,          MAX(s.qty_planned)          AS max_qty_plan
    ,          STDDEV(s.qty_planned)     AS sdev_qty_plan
    ,          MIN(s.qty_recvd)          AS min_qty_recvd
    ,          AVG(s.qty_recvd)          AS avg_qty_recvd
    ,          MAX(s.qty_recvd)          AS max_qty_recvd
    ,          STDDEV(s.qty_recvd)          AS sdev_qty_recvd
    ,          MIN(s.qty_complete)          AS min_qty_comp
    ,          AVG(s.qty_complete)          AS avg_qty_comp
    ,          MAX(s.qty_complete)          AS max_qty_comp
    ,          STDDEV(s.qty_complete)     AS sdev_qty_comp
    ,          MIN(s.qty_scrap)          AS min_qty_scrap
    ,          AVG(s.qty_scrap)          AS avg_qty_scrap
    ,          MAX(s.qty_scrap)          AS max_qty_scrap
    ,          STDDEV(s.qty_scrap)          AS sdev_qty_scrap
    ,          MIN(s.qty_on_hold)          AS min_qty_hold
    ,          AVG(s.qty_on_hold)          AS avg_qty_hold
    ,          MAX(s.qty_on_hold)          AS max_qty_hold
    ,          STDDEV(s.qty_on_hold)     AS sdev_qty_hold
    ,          COUNT(*)                    AS rec_cnt
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END                         AS time_period
    FROM          ord_master o
    ,          op_detail     s
    ,          (     -- begin in-line view a, to get the min act_start_dt for each order
              SELECT     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ,          MIN     (
                             CASE
                                  WHEN     s1.act_start_dt     > TO_DATE('01/01/2000','mm/dd/yyyy')
                                  THEN     s1.act_start_dt
                             END
                             )          AS ord_min_start
              FROM          op_detail s1
              GROUP BY     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ) a     -- end in-line view a          
    WHERE     o.ord_nbr          = s.ord_nbr
    AND          o.sub_ord_nbr     = s.sub_ord_nbr
    AND          o.ord_nbr          = a.ord_nbr
    AND          o.sub_ord_nbr     = a.sub_ord_nbr
    AND          o.ord_type     = 'AA'
    AND          o.ord_stat     IN ('CL','OP')
    AND          s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ORDER BY     o.part_nbr
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ,          s.major_seq_nbr
    It gives me a lot of descriptive statistics on data stored in the database, divided into groups of the time period.

    I have 7 sets of possible values for the wctr_id column, which are groups of similar/identical positions and should be treated as the same, assuming that the ord_nbr, sub_ord_nbr and major_seq_nbr are the same. In my case statement example above, every time I find 'H211' or 'H212', I'm replacing it with "Z211', which is my new unique identifier for all wctr in the Group ("H211', "H212"). I have 7 of these kinds of groups that should be replaced by a new unique identifier. Is my statement CASE (above) the best way to do it, or is there a better way? These groups of similar-wctr_id are not listed in a table anywhere.

    Hello

    As always, thanks for posting the CREATE TABLE and INSERT statements. It is very useful and leads to the more quickly, better solutions.
    Another thing that is useful and promotes better solutions, faster, is to simplify your problem.
    For example, you need to calculate a large number of aggregates, but looks like you already know how to do this. This issue only affects the CASE expressions, and how they interact with the GROUP BY clause. So just cut most of the aggregate functions.
    Also, it seems that the finer points of view one online have nothing to do with your current problem. For purposes of recognition of this problem, pretend that one is a regular display, so it does not clutter the main request.

    I think your problem might be reformulated as follows:
    You already have a query like this:

    CREATE OR REPLACE VIEW a
    AS
              SELECT     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ,          MIN     (
                             CASE
                                  WHEN     s1.act_start_dt     > TO_DATE('01/01/2000','mm/dd/yyyy')
                                  THEN     s1.act_start_dt
                             END
                             )          AS ord_min_start
              FROM          op_detail s1
              GROUP BY     s1.ord_nbr
              ,          s1.sub_ord_nbr
    ;
    
    SELECT     o.part_nbr
    ,          s.major_seq_nbr          AS op_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END                         AS wctr
    ,          MIN(s.plan_su_rsrc)          AS min_plan_setup
              -- lots of other agtgregates go here in real query
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END                         AS time_period
    FROM          ord_master o
    ,          op_detail     s
    ,          a          -- in real query, a is an in-line view
    WHERE     o.ord_nbr          = s.ord_nbr
    AND          o.sub_ord_nbr     = s.sub_ord_nbr
    AND          o.ord_nbr          = a.ord_nbr
    AND          o.sub_ord_nbr     = a.sub_ord_nbr
    AND          o.ord_type     = 'AA'
    AND          o.ord_stat     IN ('CL','OP')
    AND          s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ORDER BY     o.part_nbr
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ,          s.major_seq_nbr
    ;
    

    which produces this output:

    `                       MIN_
                           PLAN_
    PART_NBR   OP_N WCTR   SETUP TIME_PERIOD
    ---------- ---- ----- ------ --------------
    ABC-123    0081 X516      .0 12 mos. back
    ABC-123    0130 Z211      .5 12 mos. back
    ABC-123    0170 X928      .0 12 mos. back
    ABC-123    0324 Y000      .1 12 mos. back
    ABC-123    0120 H214      .3 24 mos. back
    ABC-123    0122 T203     2.5 24 mos. back
    ABC-123    0130 Z211      .5 24 mos. back
    ABC-123    0170 X928      .0 24 mos. back
    ABC-123    0324 Y000      .1 24 mos. back
    ABC-123    0324 Y000      .1 37 mos. back +
    

    The output is correct; the problem is, can we get the same results without 2 copies of the expression BOX wctr and 3 copies of the expression BOX time_period?
    What is a good description of the problem?

    To start, you can use aliases for columns in the ORDER BY clause. Unfortunately, it's the only place where you can use column aliases in the same query, where they are defined . You can calculate them in a query-sib and then use them in queries Super.
    In other words, wouldn't be nice if we had a table just like op_detail, but with an extra column called wctr? Make a view: either a regular view (especially if wctr, calculated in the same way, to be used for several different queries) or view online, as shown below.
    Wouldn't be great if there was a table that was like a, except that he had calculated alreay time_period? Make a view: either a regular view, or a view online, as shown below.

    SELECT     o.part_nbr
    ,     s.major_seq_nbr          AS op_nbr
    ,     s.wctr
    ,     MIN(s.plan_su_rsrc)          AS min_plan_setup
         -- lots of other agtgregates go here in real query
    ,     a2.time_period
    FROM     ord_master      o
    ,     (          -- Begin in-line view s, with data from op_detail
                 SELECT  op_detail.*      -- or list all columns needed in main query
              ,     CASE          -- replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                       WHEN     wctr_id        IN ('H211','H212')
                       THEN     'Z211'
                       ELSE     wctr_id
                   END                    AS wctr
              FROM     op_detail
         ) s          -- End in-line view s, with data from op_detail
    ,     (           -- Begin in-line view a2, to compute time_period
              SELECT  a.*
              ,     CASE
                       WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                           THEN     '12 mos. back'
                           WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                           THEN     '24 mos. back'
                           WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                           THEN     '36 mos. back'
                           ELSE '37 mos. back +'
                   END                         AS time_period
              FROM     a          -- in real query, a is an in-line view
         ) a2          -- End in-line view a2, to compute time_period
    WHERE     o.ord_nbr     = s.ord_nbr
    AND     o.sub_ord_nbr     = s.sub_ord_nbr
    AND     o.ord_nbr     = a2.ord_nbr
    AND     o.sub_ord_nbr     = a2.sub_ord_nbr
    AND     o.ord_type     = 'AA'
    AND     o.ord_stat     IN ('CL','OP')
    AND     s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          s.wctr
    ,          a2.time_period
    ORDER BY     o.part_nbr
    ,          a2.time_period
    ,          s.major_seq_nbr
    ;
    

    In your example, wctr is identical to wctr_id, except for two values. If it was more complicated (for example, if there is not only 2 values that must be mapped on 'Z211', but also 3 to did not amount to "Z987", and 1 which should be treated as "A012" and 5 who should appear as "A666" and...), then you pourriez encode this in an expression BOX humongeous (one nested expression BOX if it involves more than 128 branches) , but it actually belongs to a table, where you have the gross wctr_id (such as "H211") in a column and its equivalent correspondent (for example "Z211") in another. I know that you said that you cannot create new tables; I'm just pointing out that then you can tell people that won't let you create tables, it's a bad idea, likely to lead to errors and some time in the future.

  • Best approach to reconcile the flatfile of password

    Hello

    Please suggest a better approach or best practices to reconcile a Fichierplat which includes user passwords.

    Thanks in advance.

    We cannot reconcile the password in the reconciliation. It is preferable to use the generation of any fake password of the adapter of the entity in pre insertion of the users of the object data manager form.

  • Adding to the capacity of the disks to existing ASM DiskGroup

    Hi, I have a Production (11.2.0.3) sitting on a RAC LIB 6.3 cluster database platform with storage of ASM and everything works normally, but I'm running out of space in one of disk groups.

    I drive new capabilities to add to this group of disks, but when I run the following command to root OS no entries are returned:

    /etc/init.d/oracleasm listdisks

    If I go into ASMCMD and run lsdsk, I get the following returned:

    / dev/map/oradata

    / dev/map/oraflash

    Also, if I connect to the instance of the ASM of network user name and perform the following steps, I get the following text:

    SQL > select name from V$ ASM_DISKGROUP;

    NAME

    ------------------------------

    DATA

    FLASH

    My question is why /etc/init.d/oracleasm listdisks command returns no results?  Note that I've done the scandisks /etc/init.d/oracleasm on both nodes.

    The disc, I want to add is called/dev/map/oradata2

    When I go to the /etc/init.d/oracleasm/dev/map/oradata2 DATA2 createdisk to create the disc, and run the scandisks on both nodes, I guess the listdisks still not will be able to list the discs of data, Flash and Data2

    My big concern is that when I add create disc on Node1, Node2 might not be able to see the newly created disk when I run the command Scandisks.

    Here, any help would be appreciated.

    Oracleasm will be only the list disks that have been added and marked by using the command "oracleasm createdisk. You can also pay attention to the ORACLEASM_SCANEXCLUDE variable, which can hold devices names oracleasm must ignore. To see the devices in a cluster, your devices must be shared, which is the underlying storage topology.

  • Replacing the battery on Satellite Pro L40-17 b

    Satellite Pro L40-17 b
    Information: PSL4BE-00P00UDU

    Looking for the best way to replace the battery of my laptop. Buy a new for about 50 euros, but unfortunately no possibility for me at the moment: (.)

    Any tips?

    Sonaya

    Hi Sonaya

    I can understand you but cheaper battery unfortunately isn't the best solution. What you need is compatible and original battery for your laptop.

    If possible, wait a bit, save the money and buy the right one.
    When you remove the original battery, you will find the exact reference. To order a new one.

    Anyway, I think battery cheaper than you can find on ebay. Check it out and compare prices.

  • Best approach to send result PHP Page Interview in cloud OPA 12.2 version details


    Team,

    I would like to know the best approach to render the results of interview (Page Summary) to PHP data. We use the OPA 12.2 release cloud version August.

    We plan to use page summary as a PHP page rather page summary of OPA. Please throw your point of view on this.

    Thank you

    Vivek

    Custom Control Manager is sent throughout the OPA session so you can get the results you want, or just report all deduced values.

    http://Oracle.com/determinations/engine/sessiondata/10.2 "> "

    The data structures are all in the link of the document that I posted above.

  • replace the family of fonts in bootstrap

    Hi, what is the best way to replace the default font of bootstrap?

    If I load fonts in a bootstrap of custom style sheet overrides them.

    Also how can I lock (read only) my bootstrap.css so I won't change it inadvertently.

    Thank you

    Luke

    If I load fonts in a bootstrap of custom style sheet overrides them.

    Make sure that the custom map is loaded after the original stylesheet. If this does not help, you can always use ! important to ensure that the value cannot change.

    Also how can I lock (read only) my bootstrap.css so I won't change it inadvertently.

    This can be done outside of Dreamweaver. In Windows, use File Explorer to set the ReadOnly property.

  • translation vs SQL qry (best approach) table

    Hello

    I use oracle 10g

    I was wondering what would be the best approach to get the answer below.

    create table
    create table rateguaran 
    (rateguarantee        VARCHAR2(200 BYTE))
    INSERT statement
    insert into rateguaran values ('16 Months                     ')
    insert into rateguaran values ('       ')
    insert into rateguaran values ('24 months            ')
    insert into rateguaran values ('2 Years (51+ Lives)           ')
    insert into rateguaran values ('1     ')
    insert into rateguaran values ('3 years    ')
    Please note that this is how I have values in my picture

    power required:

    I need to check the number that precedes the first space. If the number is less than 5, then I need to multiply it by 12. If its null or more than 5 then leave it as it is.

    so is the output that I need to get
    16 months
    
    24 months
    24
    12
    36
    Please advice if I can do this using sql or do I create a table of conversion and get the values of the value to the translation table mapping.

    Thanks in advance.
    SQL> select rateguarantee
      2  ,      case
      3           when substr(rateguarantee, 1, instr(rateguarantee, chr(32))-1) < 5
      4           then to_char(substr(rateguarantee, 1, instr(rateguarantee, chr(32))-1) * 12)
      5           else rateguarantee
      6         end new_rateguarantee
      7  from   rateguaran; 
    
    RATEGUARANTEE             NEW_RATEGUARANTEE
    ------------------------- -------------------------
    16 Months                 16 Months
    
    24 months                 24 months
    2 Years (51+ Lives)       24
    
    1                         12
    3 years                   36
    
    6 rows selected.
    
  • How to identify the ASM DiskGroup attached to which disks?

    Hi guys,.

    In RAC 11 GR 2, how to identify which ASM Diskgroup is attached to which disks... (OS is RHEL 5.4).

    We could list ASM starts by,
    *#oracleasm listdisks * but this command does not display the disks assigned to ASM DiskGroup.

    Even for check location of OCR and voting disks only show Diskgroup name and not the actual discs.
    $ocrcheck
    $crsctl query css votedisk


    (as in gr 10, 2 RAC, we entered /etc/rules.d/udev/60-raw-rules raw file mapping of the OCR, voting disk and other ASM Diskgroup)


    Please help me, as long as the customer place, I could see LUN as assigned to the server and get is not an exact idea whose records have been used for OCR and voting disk DATA Diskgroup.


    Thank you
    Manish

    And for this, you can use oracleasm querydisk. Using that you can identify which device marked for asm or not. for example you can see below the example.

    [oracle@localhost init.d]$ sqlplus "/as sysdba"
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jun 3 11:52:12 2010
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select path from v$asm_disk;
    
    PATH
    --------------------------------------------------------------------------------
    /dev/oracleasm/disks/VOL2
    /dev/oracleasm/disks/VOL1
    
    SQL> exit;
    
    [oracle@localhost init.d]$ su
    Password:
    [root@localhost init.d]# /sbin/fdisk -l
    
    Disk /dev/sda: 80.0 GB, 80000000000 bytes
    255 heads, 63 sectors/track, 9726 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1        1305    10482381   83  Linux
    /dev/sda2            1306        9401    65031120   83  Linux
    /dev/sda3            9402        9662     2096482+  82  Linux swap / Solaris
    /dev/sda4            9663        9726      514080    5  Extended
    /dev/sda5            9663        9726      514048+  83  Linux
    
    Disk /dev/sdb: 80.0 GB, 80026361856 bytes
    255 heads, 63 sectors/track, 9729 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        4859    39029886   83  Linux
    /dev/sdb2            4860        9729    39118275   83  Linux
    [root@localhost init.d]# ./oracleasm querydisk /dev/sdb1
    Device "/dev/sdb1" is marked an ASM disk with the label "VOL1"
    [root@localhost init.d]# ./oracleasm querydisk /dev/sdb2
    Device "/dev/sdb2" is marked an ASM disk with the label "VOL2"
    [root@localhost init.d]# ./oracleasm querydisk /dev/sda1
    Device "/dev/sda1" is not marked as an ASM disk
    [root@localhost init.d]#
    

    Also in windows:

    C:\Documents and Settings\comp>asmtool -list
    NTFS                             \Device\Harddisk0\Partition1           140655M
    ORCLDISKDATA1                    \Device\Harddisk0\Partition2             4102M
    ORCLDISKDATA2                    \Device\Harddisk0\Partition3             4102M
    NTFS                             \Device\Harddisk0\Partition4           152617M
    
    C:\Documents and Settings\comp>
    

    answered by Alex.
    Reference:-How to identify what disc rawdevice is named as VOL1 in ASM OS level

    Happy new year.
    Kind regards

  • Best approach for the design of the Radial Image - sector scanning Sonar

    This is not a problem, but you are asked to think about the best approach.

    I need a sector sonar image data.  This device runs on 360 (degree sub-segments) and generates a set of data from the origin - radially outwards at an angle of no - to an endpoint.  Therefore, for each 'ping' sonar I need data points in the center of a circle graph, a radial angle on the outside.

    I don't know if I should use LabView vi for the drawing tools, or go to ActiveX or?

    Anyone has a suggestion on the best approach to this?

    Thank you
    Peter

    Peter,

    You can use a chart of the LabVIEW intensities for this kind of display.

    Maybe not the best way, but it is possible.

    As an attachment, I did an example with your specifications.

    datapoints 1024 by degree

    See example image:

    Basic principle:

    -Create the matrix of 2048 x 2048 points database

    -For each 'line of angle' calculate which pixel to replace each data point in the line

    -Because "datapoints" becoming bigger, far from the Center, repeat the action for several "sup angles. for example, to 85 deg also Calc. 84.6, 84.8, 85, 85.2 85.4

    It gives you an idea of the possibilities, but performance may be necessary.

    -Only external Calc x pixels more degrees

    -Do some kind of anti-aliasing to avoid the pixelated lines.

    See attached example. (LV 8.6)

  • What is the best approach to the conversion of the LV7.1 tags to the variables shared by several screws LV2012?

    What is the best approach for the upgrade of the DSC-LV2012/LV7.1/DSC static variable tags in several screws running on several platforms? Our system is made up of about 5 PC running Windows 2000/LV7.1 DURATION, the more a PLC and a PDC running XP/SP3/LV2012. About 3 PC publish information from the sensor through tags on the local network to the PDC. Only the main command is currently being upgraded. Basic questions:

    1. the other computers running RTÉ 7.1 (with labels) will be able to communicate with the PDC running 2012 (shared variables)?

    2. is it necessary for conversion of tags shared variables, or the deprecated legacy tag screws of LV7.1 work in LV2012?

    3 all of the main controllers will be screw must be integrated in a project in order to use shared variables?

    4 is the only way to do it is to find all the tags and replace them with elements of shared variable?

    Thank you in advance with all the information and advice!

    lb

    Hello lb.

    Datasockets are the common middle only my knowledge between versions, so apart from the upgrade to the same version, they will probably be your best bet.

Maybe you are looking for

  • How to set properly contrast of the display on a Satellite A200 - 19L

    Dear all,Day before yesterday I bought a Toshiba A200 - 19L.When I play DVDs and movies, as well as photos I look at the picture is very pale, no contrast.I asked already brightness with FN/F5 I think (Ido has no computer available here now)The image

  • Windows 8.1, black screen with cursor flashing before logon

    I tried to update my sound driver, then all of a sudden a greyish black screen came on screen with the blinking cursor.I waited, but nothing happened so I took the laptop battery and replace.the laptop starts in safe mode, but if I run it normally, a

  • Access violation on EIP - causing Crash

    I have a small VI who call the two APIs from a DLL. When I press on the register, the FI_Register_wrapper() is called, and when I press "Registration", FI_get_handle_by_name_wrapper() is called.  Two calls works perfectly. But when I close the the La

  • procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll

    I installed assassin creed III, but when I want to play it game this error: procedure entry point _except_handler4_common could not be found in the dynamic link library msvcrt.dll. I don't know how can I solve the problem.please help me

  • No sound on my speakers

    my computer always tells me my speakers are disconnected on notice to someone else, I right click on the speaker icon, which has a red x on it, I selected reading devices, clicked on the reading tab, clicked on the speaker, but I can't click on the d