Interval question partition and subpartition - range

11.2.0.4

(separate issue than my other storage)

You can partition a table by day apart and subpartition and then by a field ID, a sequential ID in single digits?  I want a subpartition for each code.  something lije

CREATE TABLE detail_tab

(prod_id NUMBER (6))

date of create_ts

)

PARTITION OF RANGE (create_ts) INTERVAL (NUMTODSINTERVAL(1,'DAY'))

SUBPARTITION BY RANGE (prod_id) interval (1)

Ive read the docs http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm#insertedID5 but you see is not the one I want.  IM thinking the closest, I can get to it is a hash range



OK - so FYI stock, you should have a LIMITED identity series: your "id" is probably in the ticker.

Oracle can manage thousands of partitions.

For example, to create a partitioned table range-list with each list being one, or several, stock ID. Just hardcode the IDs. Or generate the DDL from a table with a game master of ID.

Creation of segment use deferred for segments are not created until there are at least a lines for the subpartition.

Remember, however, you must handle everything by SEGMENT. This means the subpartitions. So all this rollilng off be for hundreds of ID stock.

You should analyze your processes to determine the "roll-off" exact criteria you need. Group stocks into the partition even if they can get out.

Also - you can use 'tricks' as the creation of CUSTOM symbols that truly represent AGGREGATE data from stocks of one or more.

We used to store weekly data by using a value DATE when markets aren't open yet. Activity on these dates were given aggregate rather than granular data.

Tags: Database

Similar Questions

  • Need to take stats twice for partitions and subpartitions?

    Hello world

    I'm taking a new approach for making statistics.

    First my system:

    Oracle 10.2.0.1
    3 instance RAC running on Linux RH AS 3, 64-bit

    I'm currently my stats using dbms_stats.gather_schema_stats with the option "rally car", it's good because only the data tables with stale and empty tables are being analyzed, but the process takes 3 to 4 days...

    Now I want to spread the statistical processes on nodes in the cluster using gather_table_stats (stale tables and empty tables only), while I was doing my procedure, I discovered the following, and here's where I need your help.

    If I run the following command:

    exec dbms_stats.gather_table_stats (ownname = > 'CACOSTA', tabname = > 'subpart_date', granularity = > 'SUBPARTITION', partname = > 'P200901')

    I can see the stats from my server BUT no stats have been taken for the partition.

    If I change the granularity on the "PARTITION": gather_table_stats

    exec dbms_stats.gather_table_stats (ownname = > 'CACOSTA', tabname = > 'subpart_date', granularity = > 'PARTITION', partname = > 'P200901')

    It will take the stats ONLY for the partition, but not for subparts.

    If I take the stats twice for 'PARTITION' and 'SUBPARTITION', I'll get all stats but it will take twice as long to complete.

    Is someone can you please tell me if I'm on the wrong approach? is it possible to understand that when I use the granularity of the "PARTITION", it can take the opportunity to use this same information it is collecting and provide statistics for subparts too to the RDBMS?

    Thank you and sorry for the long post.

    Carlos Acosta

    Carlos Acosta wrote:
    I'm taking a new approach for making statistics.

    First my system:

    Oracle 10.2.0.1
    3 instance RAC running on Linux RH AS 3, 64-bit

    exec dbms_stats.gather_table_stats(ownname=>'CACOSTA',tabname=>'subpart_date',granularity=>'SUBPARTITION',partname=>'P200901')

    I can see the stats from my server BUT no stats have been taken for the partition.

    If I change the granularity on the "PARTITION": gather_table_stats

    exec dbms_stats.gather_table_stats(ownname=>'CACOSTA',tabname=>'subpart_date',granularity=>'PARTITION',partname=>'P200901')

    It will take the stats ONLY for the partition, but not for subparts.

    If I take the stats twice for 'PARTITION' and 'SUBPARTITION', I'll get all stats but it will take twice as long to complete.

    Is someone can you please tell me if I'm on the wrong approach? is it possible to understand that when I use the granularity of the "PARTITION", it can take the opportunity to use this same information it is collecting and provide statistics for subparts too to the RDBMS?

    Carlos,

    This composite partitioning (range-list, range-hash) do you use?

    First of all I think it's important to understand that statistical subpartition will actually not to be used by the cost based optimizer in previous versions 10.2.0.4 (but in 10.2.0.4 only with bugs without patch installed, see the link to the message below) and 11.1.0.6:

    http://Oracle-Randolf.blogspot.com/2007/03/subpartitions-and-optimizer-statistics.html

    http://Oracle-Randolf.blogspot.com/2008/04/revisiting-subpartition-pruning-and.html

    http://Oracle-Randolf.blogspot.com/2009/03/partition-oddities-part-1-severe-bug-in.html

    So, I'd be interested to see a case in the database pre - 10.2.0.4 where the optimizer actually using subpartition level statistics; I have not yet found one.

    Second, he must be aware of what Oracle offers several ways how to maintain the different level of statistics:

    -Less consumption of resources, but less quality: collection of statistics on the lowest level (e.g. subpartition) only. I hope all subparts of the partition have statistics, the higher levels (partition / global) will be inspired by the aggregation. This way, you get the low quality statistics on levels higher (e.g. no histograms will be generated by aggregation, number of distinct values potentially quite inaccurate), but you do not need to collect statistics on these levels. Note that if once you have collected statistics on the higher levels (indicated by the "GLOBAL_STATS = YES" column in the DBA_\ * views STATISTICS) will not perform this statistical aggregation. You must first remove the statistics of higher level using DELETE\ * _STATS have enabled new aggregation (next time gather you statistics on low levels and all partitions (sub-) have statistics)

    For more information about this approach, see for example here: http://oracle-randolf.blogspot.com/2008/04/exchange-partition-and-aggregated.html

    -Consumption of resources, but of better quality most: separate statistics on all levels

    - And the new modes supported by 10.2.0.4 and especially 11.1.0.6: APPROX_GLOBAL AND PARTITION (10.2.0.4), true incremental global statistics in 11.1.0.6 and the new algorithm for estimating AUTO_SAMPLE_SIZE introduced in 11g:

    http://structureddata.org/2008/07/16/Oracle-11g-incremental-global-statistics-on-partitioned-tables/

    http://structureddata.org/2007/09/17/Oracle-11g-enhancements-to-DBMS_STATS/

    http://optimizermagic.blogspot.com/2009/02/maintaining-statistics-on-large.html

    Another very good synthesis about the management of statistics has recently been published by Karen Morton: http://karenmorton.blogspot.com/2009/02/new-paper-and-cj-date-advert.html

    So in your case a database pre - 10.2.0.4 you should not bother with subpartition statistics at all (or you can show me otherwise I would be interested), and you can then try to find out if you could live with the above statistical approach of "sum" by simply collecting statistics on the level of partition, or if you need to collect statistics on the partition and the global level separately (you did not mention your current strategy to the global level statistics).

    If you install the 10.2.0.4 patch game you have several options and statistics subpartition can be used by the optimizer (but only in the case of beach-list composite partitioning, as far as I know), for example by using the option of PARTITION AND APPROX_GLOBAL introduced in this version. Note that you must install the unique patches to get this working properly as described by my post and the optimizer of blog post for the development group.

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

  • Find the right Partition for swap Partiton when there are PARTITION and SUBPARTITION

    Hi all

    I have a small problem:

    I want to find the right cause of partitions of the partition key.  I have a partition and a Subpartition (sample - table in annex).

    I leave the database to generate the partition (and name), the name is generated. I need to find for the exchange of partition

    the right of Partition has cause of a given value of the partition key (in this case EVOD_PART_DATE and 20141101 value).

    When I try to find the right partiton name, I would use generally not:

    SELECT DISTINCT dbms_rowid.rowid_object(ROWID) data_object_id
       FROM F_CONTRACT_EVENT
       WHERE  EVOD_PART_DATE = TO_DATE ('20141101','YYYYMMDD')
    

    Okay, I get 2 rows, I'm expecting one, but cause the result are the subpartions, I get this:

      SELECT *  FROM ALL_OBJECTS WHERE DATA_OBJECT_ID IN ( 155159,155154);
    

    I see:

    EVO_DM    F_CONTRACT_EVENT    SYS_SUBP4292    155159    155159    TABLE SUBPARTITION
    EVO_DM    F_CONTRACT_EVENT    SYS_SUBP4287    155154    155154    TABLE SUBPARTITION
    

    But I don't want the subparts, I want the PARTITON!

    The table:

    CREATE TABLE "EVO_DM"."A0_F_CONTRACT_EVENT" 
       ( "EVOD_DDATE_ID_VALID_FROM" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DDATE_ID_VALID_TO" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DTIME_ID_START" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DSUST_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DCHAN_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DARTI_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DCAMP_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DUSAG_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DOPSY_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DDEVI_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DSHOP_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DPLFO_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DACCO_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DDECL_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DOBJT_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DOFFR_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DCNTR_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DCURR_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DCONT_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DIVWC_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "DD_SUBSCRIPTION_ID" VARCHAR2(50 BYTE) DEFAULT '~' NOT NULL ENABLE, 
        "SINGLE_ISSUE" NUMBER(8,0) DEFAULT 0, 
        "SUBSCRIPTION" NUMBER(8,0) DEFAULT 0, 
        "RENEWAL" NUMBER(8,0) DEFAULT 0, 
        "CONVERSION" NUMBER(8,0) DEFAULT 0, 
        "DOWNLOAD" NUMBER(8,0) DEFAULT 0, 
        "UPDATES" NUMBER(8,0) DEFAULT 0, 
        "NET_VALUE_IN_EUR" NUMBER(10,4) DEFAULT 0 NOT NULL ENABLE, 
        "GROSS_VALUE_IN_EUR" NUMBER(10,4) DEFAULT 0 NOT NULL ENABLE, 
        "COMMISSION_IN_EUR" NUMBER(10,4) DEFAULT 0 NOT NULL ENABLE, 
        "TAX_IN_EUR" NUMBER(10,4) DEFAULT 0 NOT NULL ENABLE, 
        "POSITION_NR" NUMBER(3,0) DEFAULT -1, 
        "DD_ORDER_NR" VARCHAR2(50 BYTE) DEFAULT '~' NOT NULL ENABLE, 
        "EVOD_SOURCE_CD" VARCHAR2(50 BYTE) DEFAULT '~' NOT NULL ENABLE, 
        "FLAG_STOCK_RELEVANT" NUMBER(1,0) DEFAULT '0' NOT NULL ENABLE, 
        "RENEWAL_NR" NUMBER(3,0) DEFAULT -1, 
        "EVOD_DDATE_ID_SUBSCRIPTION" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
        "EVOD_DPRCG_ID" NUMBER(20,0) DEFAULT -1 NOT NULL ENABLE, 
      
       EVOD_PART_DATE DATE  GENERATED ALWAYS AS ( TRUNC(TO_DATE(TO_CHAR(EVOD_DDATE_ID_VALID_FROM),'YYYYMMDD'),'MM')) VIRTUAL)
    PARTITION BY RANGE(EVOD_PART_DATE)
    interval(NUMTOYMINTERVAL (1,'MONTH'))
    SUBPARTITION BY LIST(EVOD_SOURCE_CD)
    SUBPARTITION TEMPLATE(
    SUBPARTITION "P_ITUNES"  VALUES ('ITUNES') ,
    SUBPARTITION    "P_WSP"  VALUES ('WSP'),
    SUBPARTITION   "P_GOOGLE"  VALUES ('PLAYSTORE'),
    SUBPARTITION   "P_DEFAULT"  VALUES ('~') ,
    SUBPARTITION   "P_AMAZON"  VALUES ('AMAZON_EREADER', 'AMAZON_MANUELL', 'AMAZON_TABLET') ,
    SUBPARTITION    "P_MSD"  VALUES ('MSD')
    )
    (
     PARTITION P01 VALUES LESS THAN (TO_DATE('200310','YYYYMM')) SEGMENT CREATION DEFERRED
    )
    PARALLEL 10  ;
    

    Any ideas?

    Thanks for Berlin

    First of all - the DOF you posted is INVALID - you do not specify a delayed segment creation for partitions. Specify you for the table.

    Also, you must remove the DEFAULT value - 1 for the partitioning column. The value '-1' cannot be converted to a valid date for the virtual partitioning column value.» The default value is useless and will give confusion around the year exception err when the exception should actually provide a NULL value for a column not null.

    The documentation explains how to use the EXCHANGE PARTITION and has the code example

    Maintenance of Partitions

    Exchange a Partition of a partitioned Table interval

    You can exchange of range partitions in a partitioned table interval. However, you must make sure that the partition of the interval was created before that you can swap partition. You can leave the database create the partition in the partition of the interval of locking.

    The following example shows an Exchange partition for the interval_sales table, range-partitioned using the monthly from partitions of 1 January 2004. This example shows how to add data to the table using charge Exchange partition for June 2007. Assume there is only a local index on the interval_sales table and equivalent index have been created on the interval_sales_june_2007 table.

    LOCK TABLE interval_sales  PARTITION FOR (TO_DATE('01-JUN-2007','dd-MON-yyyy'))  IN SHARE MODE;    ALTER TABLE interval_sales  EXCHANGE PARTITION FOR (TO_DATE('01-JUN-2007','dd-MON-yyyy'))  WITH TABLE interval_sales_jun_2007  INCLUDING INDEXES;
    

    Note the use of the FOR syntax to identify a partition that has been generated by the system. The name of the partition can be used by querying the *_TAB_PARTITIONS view of data dictionary to find the partition system-generated name.

    Given that the last paragraph? That's what showed Solomon.

    NOTE:-special attention to the FIRST paragraph. If you use segment carried OVER creating the partition you want to Exchange could NOT have been created yet.

    Make SURE that you lock the partition as the example shows, or you will get an exception if it has not been created.

    Also - we know NOT what PROBLEM you're trying to solve.

    If you exchange a PARTITION of a table subpartitioned your working table should actually be partitioned using the SAME parttioning as the subparts in the source table:

    See my response in this thread:

    https://forums.Oracle.com/forums/thread.jspa?threadID=2482090&TSTART=30

    In this thread I have provide the code example illustrating how the table should be created and made Exchange.

  • PARTITIONS AND SUBPARTITIONS

    Hi all
    Here's my problem with this table:
    CREATE TABLE CKEPM.CKCLASS_ALL
    (
      DATA_POPOLAMENTO  DATE,
      OBJ_CAT           CHAR(1 BYTE),
      NODE_ID           NUMBER,
      CA_V              VARCHAR2(256 BYTE),
      CB_V              VARCHAR2(256 BYTE),
      C1                NUMBER,
      C2                NUMBER
     )
    TABLESPACE TBS_CKEPM_ALL
    PARTITION BY RANGE (DATA_POPOLAMENTO)
    SUBPARTITION BY LIST (OBJ_CAT)
    (  
      PARTITION ALL_20100130204500RQ VALUES LESS THAN (TO_DATE(' 2010-01-30 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        TABLESPACE TBS_CKEPM_ALL
      ( SUBPARTITION ALL_20100130204500RQL01 VALUES ('N')    TABLESPACE TBS_CKEPM_ALL,
        SUBPARTITION ALL_20100130204500RQL02 VALUES ('L')    TABLESPACE TBS_CKEPM_ALL ),  
      PARTITION ALL_20100130210000RQ VALUES LESS THAN (TO_DATE(' 2010-01-30 21:15:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        TABLESPACE TBS_CKEPM_ALL
      ( SUBPARTITION ALL_20100130210000RQL01 VALUES ('N')    TABLESPACE TBS_CKEPM_ALL,
        SUBPARTITION ALL_20100130210000RQL02 VALUES ('L')    TABLESPACE TBS_CKEPM_ALL )
    );
    
    CREATE BITMAP INDEX CKEPM.IX_CKCLASSALL_NODE ON CKEPM.CKCLASS_ALL
    (NODE_ID)
      TABLESPACE TBS_CKEPM_ALLX
    LOCAL (  
      PARTITION ALL_20100130204500RQ
        TABLESPACE TBS_CKEPM_ALLX
      ( SUBPARTITION ALL_20100130204500RQL01    TABLESPACE TBS_CKEPM_ALLX,
        SUBPARTITION ALL_20100130204500RQL02    TABLESPACE TBS_CKEPM_ALLX ),  
      PARTITION ALL_20100130210000RQ
        TABLESPACE TBS_CKEPM_ALLX
      ( SUBPARTITION ALL_20100130210000RQL01    TABLESPACE TBS_CKEPM_ALLX,
        SUBPARTITION ALL_20100130210000RQL02    TABLESPACE TBS_CKEPM_ALLX )
    );
    I need to collect statistics for partitions partitions/subpartitions/index of < b > ALL_20100130204500RQ < /b >, and then copy all these ALL_20100130210000RQ < /b > < b > statistics

    (1) could someone post the script DBMS_STATS.gather_table_stats and DBMS_STATS.copy_table_stats?

    I tried
    exec DBMS_STATS.gather_table_stats (ownname               => 'CKEPM',
    tabname               => 'CKCLASS_ALL',
    partname              => 'ALL_20100130204500RQ', 
    estimate_percent      => DBMS_STATS.AUTO_SAMPLE_SIZE ,
    CASCADE               => FALSE);
    
    select partition_name , last_analyzed
    from user_TAB_PARTITIONS 
    where partition_name IN ('ALL_20100130204500RQ, 'ALL_20100130210000RQ);
    
    PARTITION_NAME     LAST_ANALYZED
    ALL_20100130204500RQ     09/02/2010 8.56.20
    ALL_20100130210000RQ      
    
    exec DBMS_STATS.copy_table_stats (ownname => 'CKEPM', 
    tabname => 'CKCLASS_ALL', 
    srcpartname => 'ALL_20100130204500RQ', 
    dstpartname => 'ALL_20100130210000RQ');
    
    ORA-06533: Subscript beyond count
    ORA-06512: at "SYS.DBMS_STATS", line 16496
    ORA-06512: at line 1
    
    select partition_name , last_analyzed
    from user_TAB_PARTITIONS 
    where partition_name IN ('ALL_20100130204500RQ, 'ALL_20100130210000RQ);
    
    PARTITION_NAME     LAST_ANALYZED
    ALL_20100130204500RQ     09/02/2010 8.56.20
    ALL_20100130210000RQ     09/02/2010 8.56.20 
    (2) when I make unusable the index and rebuilding, I need also to collect statistics (how?)?

    Thank you all,
    Riccardo

    Published by: user12581838 on February 8, 2010 23:58

    Published by: user12581838 on February 9, 2010 12:48 AM
    SQL> drop table CKCLASS_ALL;
    
    Tabella eliminata.
    
    SQL>
    SQL> CREATE TABLE CKCLASS_ALL
      2  (
      3    DATA_POPOLAMENTO  DATE,
      4    OBJ_CAT           CHAR(1 BYTE),
      5    NODE_ID           NUMBER,
      6    CA_V              VARCHAR2(256 BYTE),
      7    CB_V              VARCHAR2(256 BYTE),
      8    C1                NUMBER,
      9    C2                NUMBER
     10   )
     11  PARTITION BY RANGE (DATA_POPOLAMENTO)
     12  SUBPARTITION BY LIST (OBJ_CAT)
     13  (
     14    PARTITION ALL_20100130204500RQ VALUES LESS THAN (TO_DATE(' 2010-01-30 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
     15   ( SUBPARTITION ALL_20100130204500RQL01 VALUES ('N')   ,
     16      SUBPARTITION ALL_20100130204500RQL02 VALUES ('L')  ),
     17    PARTITION ALL_20100130210000RQ VALUES LESS THAN (TO_DATE(' 2010-01-30 21:15:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
     18    ( SUBPARTITION ALL_20100130210000RQL01 VALUES ('N')  ,
     19      SUBPARTITION ALL_20100130210000RQL02 VALUES ('L')  )
     20  );
    
    Tabella creata.
    
    SQL> insert into CKCLASS_ALL
      2  select TO_DATE(' 2010-01-30 20:50:00', 'SYYYY-MM-DD HH24:MI:SS'),'N',0,'X','Y',0,0
      3  from dual
      4  connect by level <= 150000;
    
    Create 150000 righe.
    
    SQL>
    SQL> insert into CKCLASS_ALL
      2  select TO_DATE(' 2010-01-30 20:50:00', 'SYYYY-MM-DD HH24:MI:SS'),'L',0,'X','Y',0,0
      3  from dual
      4  connect by level <= 150000;
    
    Create 150000 righe.
    
    SQL>
    SQL> insert into CKCLASS_ALL
      2  select TO_DATE(' 2010-01-30 21:10:00', 'SYYYY-MM-DD HH24:MI:SS'),'N',0,'X','Y',0,0
      3  from dual
      4  connect by level <= 150000;
    
    Create 150000 righe.
    
    SQL>
    SQL> insert into CKCLASS_ALL
      2  select TO_DATE(' 2010-01-30 21:10:00', 'SYYYY-MM-DD HH24:MI:SS'),'L',0,'X','Y',0,0
      3  from dual
      4  connect by level <= 150000;
    
    Create 150000 righe.
    
    SQL> CREATE BITMAP INDEX IX_CKCLASSALL_NODE ON CKCLASS_ALL
      2  (NODE_ID)
      3  LOCAL (
      4    PARTITION ALL_20100130204500RQ
      5    ( SUBPARTITION ALL_20100130204500RQL01  ,
      6      SUBPARTITION ALL_20100130204500RQL02  ),
      7    PARTITION ALL_20100130210000RQ
      8    ( SUBPARTITION ALL_20100130210000RQL01  ,
      9      SUBPARTITION ALL_20100130210000RQL02  )
     10  );
    
    Indice creato.
    
    SQL> set timing on
    
    SQL> begin
      2  DBMS_STATS.gather_table_stats (ownname  => 'MAXR',
      3  tabname               => 'CKCLASS_ALL',
      4  partname              => 'ALL_20100130204500RQL01',
      5  granularity => 'SUBPARTITION',
      6  estimate_percent      => DBMS_STATS.AUTO_SAMPLE_SIZE ,
      7  CASCADE               => FALSE);
      8  end;
      9  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:04.57
    SQL> begin
      2  DBMS_STATS.gather_table_stats (ownname               => 'MAXR',
      3  tabname               => 'CKCLASS_ALL',
      4  partname              => 'ALL_20100130204500RQL02',
      5  granularity => 'SUBPARTITION',
      6  estimate_percent      => DBMS_STATS.AUTO_SAMPLE_SIZE ,
      7  CASCADE               => FALSE);
      8  end;
      9  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.29
    SQL>
    SQL> begin
      2  DBMS_STATS.copy_table_stats (ownname => 'MAXR',
      3      tabname => 'CKCLASS_ALL',
      4      srcpartname => 'ALL_20100130204500RQ',
      5      dstpartname => 'ALL_20100130210000RQ');
      6  end;
      7  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.65
    
    SQL> select PARTITION_NAME, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN, SAMPLE_SIZE, LAST_ANALYZED
      2  from dba_tab_partitions
      3  where table_owner='MAXR';
    
    PARTITION_NAME                   NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN SAMPLE_SIZE LAST_ANAL
    ------------------------------ ---------- ---------- ------------ ---------- ---------- ----------- ----------- ---------
    ALL_20100130204500RQ               300000       1244            0          0          0          20     10-FEB-10
    ALL_20100130210000RQ
    
    SQL> select subPARTITION_NAME, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN, SAMPLE_SIZE, LAST_ANALYZED
      2  from dba_tab_subpartitions
      3  where table_owner='MAXR';
    
    SUBPARTITION_NAME                NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN SAMPLE_SIZE LAST_ANAL
    ------------------------------ ---------- ---------- ------------ ---------- ---------- ----------- ----------- ---------
    ALL_20100130204500RQL01            150000        622            0          0          0          20   150000 10-FEB-10
    ALL_20100130204500RQL02            150000        622            0          0          0          20   150000 10-FEB-10
    ALL_20100130210000RQL01
    ALL_20100130210000RQL02
    
    -- DI NUOVO DROP/CREATE/INSERT
    
    SQL> begin
      2  DBMS_STATS.gather_table_stats (ownname               => 'MAXR',
      3  tabname               => 'CKCLASS_ALL',
      4  partname              => 'ALL_20100130204500RQL01',
      5  granularity => 'SUBPARTITION',
      6  estimate_percent      => DBMS_STATS.AUTO_SAMPLE_SIZE ,
      7  CASCADE               => FALSE);
      8  end;
      9  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.34
    SQL>
    SQL>
    SQL> begin
      2  DBMS_STATS.gather_table_stats (ownname               => 'MAXR',
      3  tabname               => 'CKCLASS_ALL',
      4  partname              => 'ALL_20100130204500RQL02',
      5  granularity => 'SUBPARTITION',
      6  estimate_percent      => DBMS_STATS.AUTO_SAMPLE_SIZE ,
      7  CASCADE               => FALSE);
      8  end;
      9  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.18
    SQL>
    SQL> begin
      2  DBMS_STATS.copy_table_stats (ownname => 'MAXR',
      3      tabname => 'CKCLASS_ALL',
      4      srcpartname => 'ALL_20100130204500RQL01',
      5      dstpartname => 'ALL_20100130210000RQL01');
      6  end;
      7  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.06
    SQL>
    SQL> begin
      2  DBMS_STATS.copy_table_stats (ownname => 'MAXR',
      3      tabname => 'CKCLASS_ALL',
      4      srcpartname => 'ALL_20100130204500RQL02',
      5      dstpartname => 'ALL_20100130210000RQL02');
      6  end;
      7  /
    
    Procedura PL/SQL completata correttamente.
    
    Passati: 00:00:00.04
    SQL>
    
    SQL> select PARTITION_NAME, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN, SAMPLE_SIZE, LAST_ANALYZED
      2  from dba_tab_partitions
      3  where table_owner='MAXR';
    
    PARTITION_NAME                   NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN SAMPLE_SIZE LAST_ANAL
    ------------------------------ ---------- ---------- ------------ ---------- ---------- ----------- ----------- ---------
    ALL_20100130210000RQ               300000       1244            0          0          0          20     10-FEB-10
    ALL_20100130204500RQ               300000       1244            0          0          0          20     10-FEB-10
    
    Passati: 00:00:00.03
    SQL> select subPARTITION_NAME, NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN, SAMPLE_SIZE, LAST_ANALYZED
      2  from dba_tab_subpartitions
      3  where table_owner='MAXR';
    
    SUBPARTITION_NAME                NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN SAMPLE_SIZE LAST_ANAL
    ------------------------------ ---------- ---------- ------------ ---------- ---------- ----------- ----------- ---------
    ALL_20100130204500RQL01            150000        622            0          0          0          20   150000 10-FEB-10
    ALL_20100130204500RQL02            150000        622            0          0          0          20   150000 10-FEB-10
    ALL_20100130210000RQL01            150000        622            0          0          0          20   150000 10-FEB-10
    ALL_20100130210000RQL02            150000        622            0          0          0          20   150000 10-FEB-10
    

    HTH

    Max

  • Using PARTITION FOR / SUBPARTITION FOR the syntax to insert

    We try to use PARTITION syntax for (or, better, SUBPARTITION of syntax) to insert into a table subpartitioned.
    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/sql_elements009.htm#i165979
    08:26:46 GM_CS_CDR@oradev02> select * from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Solaris: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    
    5 rows selected.
    This table is interval partitions DATA_ORIGIN_ID and list subpartitions on TABLE_NAME.

    First of all, an insert in base without specifying the partitions:
    08:10:05 GM_CS_CDR@oradev02> insert into key_ids2 (
    08:11:51   2  DATA_ORIGIN_ID         ,
    08:11:51   3  TABLE_NAME             ,
    08:11:51   4  DUR_UK                 ,
    08:11:51   5  DUR_UK_ID              )
    08:11:51   6  select
    08:11:51   7  12         ,
    08:11:51   8  TABLE_NAME             ,
    08:11:51   9  DUR_UK                 ,
    08:11:51  10  DUR_UK_ID              
    08:11:51  11  from key_ids where table_name = 'PART' 
    08:11:51  12  and rownum <= 10;
    
    10 rows created.
    Check SUBPARTITION to a SELECT statement syntax:
    08:19:43 GM_CS_CDR@oradev02> 
    08:26:45 GM_CS_CDR@oradev02> 
    08:26:45 GM_CS_CDR@oradev02> 
    08:26:45 GM_CS_CDR@oradev02> 
    08:26:45 GM_CS_CDR@oradev02> select count(*) from key_ids2 
    08:26:45   2  subpartition for(12,'PART');
    
      COUNT(*)
    ----------
            10
    
    1 row selected.
    But if we add a subpartition specification (to limit the locking to a single subpartition), we get a syntax error:
    08:14:57 GM_CS_CDR@oradev02> insert into key_ids2 subpartition for(12,'PART') (
    08:14:57   2  DATA_ORIGIN_ID         ,
    08:14:57   3  TABLE_NAME             ,
    08:14:57   4  DUR_UK                 ,
    08:14:57   5  DUR_UK_ID              )
    08:14:57   6  select
    08:14:57   7  14         ,
    08:14:57   8  TABLE_NAME             ,
    08:14:57   9  DUR_UK||'!'                 ,
    08:14:57  10  DUR_UK_ID              
    08:14:57  11  from key_ids 
    08:14:57  12  where table_name = 'PART' 
    08:14:57  13  and rownum <= 10;
    insert into key_ids2 subpartition for(12,'PART') (
                                         *
    ERROR at line 1:
    ORA-14173: illegal subpartition-extended table name syntax
    Specify the partition level did not work either:
    08:14:58 GM_CS_CDR@oradev02> insert into key_ids2 partition for(14) (
    08:15:23   2  DATA_ORIGIN_ID         ,
    08:15:23   3  TABLE_NAME             ,
    08:15:23   4  DUR_UK                 ,
    08:15:23   5  DUR_UK_ID              )
    08:15:23   6  select
    08:15:23   7  14         ,
    08:15:23   8  TABLE_NAME             ,
    08:15:23   9  DUR_UK||'!'                 ,
    08:15:23  10  DUR_UK_ID              
    08:15:23  11  from key_ids 
    08:15:23  12  where table_name = 'PART' 
    08:15:23  13  and rownum <= 10;
    insert into key_ids2 partition for(14) (
                                      *
    ERROR at line 1:
    ORA-14108: illegal partition-extended table name syntax
    But by specifying explicit partition and subpartition works:
    08:17:45 GM_CS_CDR@oradev02> insert into key_ids2 partition (SYS_P15127) (
    08:18:23   2  DATA_ORIGIN_ID         ,
    08:18:23   3  TABLE_NAME             ,
    08:18:23   4  DUR_UK                 ,
    08:18:23   5  DUR_UK_ID              )
    08:18:23   6  select
    08:18:23   7  12         ,
    08:18:23   8  TABLE_NAME             ,
    08:18:23   9  DUR_UK||'!'                 ,
    08:18:23  10  DUR_UK_ID              
    08:18:23  11  from key_ids 
    08:18:23  12  where table_name = 'PART' 
    08:18:23  13  and rownum <= 10;
    
    10 rows created.
    
    08:18:24 GM_CS_CDR@oradev02> insert into key_ids2 subpartition (SYS_SUBP15126) (
    08:19:42   2  DATA_ORIGIN_ID         ,
    08:19:42   3  TABLE_NAME             ,
    08:19:42   4  DUR_UK                 ,
    08:19:42   5  DUR_UK_ID              )
    08:19:42   6  select
    08:19:42   7  12         ,
    08:19:42   8  TABLE_NAME             ,
    08:19:42   9  DUR_UK||'!#'                 ,
    08:19:42  10  DUR_UK_ID              
    08:19:42  11  from key_ids 
    08:19:42  12  where table_name = 'PART' 
    08:19:42  13  and rownum <= 10;
    
    10 rows created.
    We have succeeded by using the syntax of PARTITION for tables partitioned, but not sous-partitionnee.

    Any ideas?

    Thank you
    Mike

    Support of Oracle reproduced this issue. The resolution was to ensure cursor_sharing is set to "EXACT", we happened to use "SIMILAR" in this case due to a migration of 10 g and 11 g.

    Please visit 1481564.1 for more information.

  • Collection of statistics on partitioned and non-partitioned tables

    Hi all
    My DB is 11.1

    I find that the collection of statistics on partitioned tables are really slow.
    TABLE_NAME                       NUM_ROWS     BLOCKS SAMPLE_SIZE LAST_ANALYZED PARTITIONED COMPRESSION
    ------------------------------ ---------- ---------- ----------- ------------- ----------- -----------
    O_FCT_BP1                        112123170     843140    11212317 8/30/2011 3:5            NO                    DISABLED
    LEON_123456                      112096060     521984    11209606 8/30/2011 4:2           NO                   ENABLED
    O_FCT                           115170000     486556      115170 8/29/2011 6:3            YES         
    
    SQL> SELECT COUNT(*)  FROM user_tab_subpartitions
      2  WHERE table_name =O_FCT'
      3  ;
    
      COUNT(*)
    ----------
           112
    I used the following script:
    BEGIN
      DBMS_STATS.GATHER_TABLE_STATS(ownname          => user,
                                    tabname          => O_FCT',
                                    method_opt       => 'for all columns size auto',
                                    degree           => 4,
                                    estimate_percent =>10,
                                    granularity      => 'ALL',
                                    cascade          => false);
    END;
    /
    It costs 2 minutes for the first two tables to gather statistics respectively, but more than 10 minutes for the partitioned table.
    Time of collection of statistics represents a large part of the time of the whole lot.
    Most of the work of the lot are at full load, which case all partitions and subpartitions will be affected and we cannot collect just specified partitions.

    Does anyone have experiences on this subject? Thank you very much.

    Best regards
    Leon

    Published by: user12064076 on August 30, 2011 01:45

    Hi Leon

    Why don't collect you statistics to the partition level? If your data partitions will not change after a day (score range date for ex), you can simply do to the partition level

    GRANULARITY-online 'SCORE' for partition level and
    GRANULARITY-online 'SUBPARTITION' for subpartition level

    You collect global stats whenever you can not require.

    Published by: user12035575 on August 30, 2011 01:50

  • Partitioning the table - range on data type (21, 7) number and varchar2

    Hello

    Database version:

    DB: Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    Operating system: HP - UX nduhi18 B.11.31 U ia64 1022072414 unlimited-license user

    APP: SAP - ERP

    I have to the partition of the RANGE on UPDATED_ON or PROFILE is a table that has a structure below:

    Name Null?    Type

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

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

    MANDT NOT NULL VARCHAR2 (9)

    MR_ID NOT NULL VARCHAR2 (60)

    PROFILE NON-NULL VARCHAR2 (54)

    NO_REGISTRE NOT NULL VARCHAR2 (30)

    INTERVAL_DATE NOT NULL VARCHAR2 (24)

    AGGR_CONSUMPTION NOT NULL NUMBER (21.6)

    MDM_VERS_NO NOT NULL VARCHAR2 (9)

    MDP_UPDATE_DATE NOT NULL VARCHAR2 (24)

    MDP_UPDATE_TIME NOT NULL VARCHAR2 (18)

    NMI_CONFIG NOT NULL VARCHAR2 (120)

    NMI_CONFIG_FLAG NOT NULL VARCHAR2 (3)

    MDM_DATA_STRM_ID NOT NULL VARCHAR2 (6)

    NSRD NOT NULL VARCHAR2 (24)

    REASON_CODE NOT NULL VARCHAR2 (9)

    QUALITY_FLAG NOT NULL VARCHAR2 (3)

    METHOD_FLAG NOT NULL VARCHAR2 (6)

    MSATS_UPDATE_DAT NOT NULL VARCHAR2 (24)

    MSATS_UPDATE_TIM NOT NULL VARCHAR2 (18)

    READ_STATUS NOT NULL VARCHAR2 (3)

    LEGACY_FLAG NOT NULL VARCHAR2 (3)

    CREATED_ON NOT NULL NUMBER (21.7)

    CREATED_BY NOT NULL VARCHAR2 (36)

    UPDATED_ON NOT NULL NUMBER (21.7)

    UPDATED_BY NOT NULL VARCHAR2 (36)

    CVERSNO NOT NULL VARCHAR2 (18)

    OLDER_MD_FLAG NOT NULL VARCHAR2 (3)

    TRANSACTION_ID NOT NULL VARCHAR2 (108)

    According to my knowledge, RANGE is better suited for the DATE or NUMBER. and partition INTERVAL is available on the DATE or number.

    PROFILE of column

    I havets is of type VARCHAR2. I know that again I can partition as Oracle convert internally to varchar2 in number when the data is inserted. But the INTERVAL is not possible.  However, so could you please suggest how RANGE partition on PROFILE?

    CREATED_ON column:

    It's the NUMBER with decimals. Could you guide me please?

    Please let me know if you need more information?

    See you soon

    Sameer

    I partitioned table as below:

    PARTITION BY RANGE

    (

    "CREATED_ON".

    )

    SUBPARTITION BY HASH

    (

    'PROFILE '.

    )

    SUBPARTITION TEMPLATE

    (

    TABLESPACE SUBPARTITION 'PROF_SUB01"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB02"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB03"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB04"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB05"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB06"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB07"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB08"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB09"'PSAPISU."

    TABLESPACE SUBPARTITION 'PROF_SUB10' 'PSAPISU '.

    )

    (

    "BEF12_CP00" VALUES LOWER PARTITION TO (20120101000000),

    "JAN12_CP01" VALUES LOWER PARTITION TO (20120201000000),

    "FEB12_CP02" VALUES LOWER PARTITION TO (20120301000000),

    "MAR12_CP03" VALUES LOWER PARTITION TO (20120401000000),

    "APR12_CP04" VALUES LOWER PARTITION TO (20120501000000),

    "MAY12_CP05" VALUES LOWER PARTITION TO (20120601000000),

    "JUN12_CP06" VALUES LOWER PARTITION TO (20120701000000),

    "JUL12_CP07" VALUES LOWER PARTITION TO (20120801000000),

    "AUG12_CP08" VALUES LOWER PARTITION TO (20120901000000),

    "SEP12_CP09" VALUES LOWER PARTITION TO (20121001000000),

    "OCT12_CP10" VALUES LOWER PARTITION TO (20121101000000),

    "NOV12_CP11" VALUES LOWER PARTITION TO (20121201000000),

    "DEC12_CP12" VALUES LOWER PARTITION TO (20130101000000),

    "JAN13_CP13" VALUES LOWER PARTITION TO (20130201000000),

    "FEB13_CP14" VALUES LOWER PARTITION TO (20130301000000),

    "MAR13_CP15" VALUES LOWER PARTITION TO (20130401000000),

    "APR13_CP16" VALUES LOWER PARTITION TO (20130501000000),

    "MAY13_CP17" VALUES LOWER PARTITION TO (20130601000000),

    "JUN13_CP18" VALUES LOWER PARTITION TO (20130701000000),

    "JUL13_CP19" VALUES LOWER PARTITION TO (20130801000000),

    "AUG13_CP20" VALUES LOWER PARTITION TO (20130901000000),

    "SEP13_CP21" VALUES LOWER PARTITION TO (20131001000000),

    "OCT13_CP22" VALUES LOWER PARTITION TO (20131101000000),

    "NOV13_CP23" VALUES LOWER PARTITION TO (20131201000000),

    PARTITION 'OTHER_CPMAX' VALUES LESS THAN (MAXVALUE)

    )

    works very well.

  • Any point of view that tells partitioning_type of INTERVAL and no RANGE

    Hello

    I know that the INTERVAL is a kind of partition of the RANGE.
    But if I want to know explicitly by a SINGLE table SQL STATEMENT is partitioned partiioned or range interval.

    I tried:
    Select the table table_name, partitioning_type, partition_count from USER_PART_TABLES where table_name = 'TABLENAME '.

    But hows BEACH for these two types of partitions.

    Thank you...

    Hello

    Try this:

    Select table_name, partitioning_type, partition_count, interval
    from USER_PART_TABLES
    where table_name = 'A' ;
    
    TABLE_NAME      PARTITION PARTITION_COUNT INTERVAL
    --------------- --------- --------------- ------------------------------
    A               RANGE             1048575 NUMTODSINTERVAL(30,'DAY')
    

    Kind regards
    Troll35

    Published by: Troll35 on December 4, 2012 11:55

  • Question of partition: partition and narrower than the disk space

    Hi, I have a big problem with OS X El Capitan 10.11.3.

    I used to have a Windows partition with bootcamp which I deleted via bootcamp, but it crashed.

    I lost all my partitions and even os x. I have therefore started in recovery mode and launched disk utility, I could not create a partition OS X 90Go on my 120 GB SSD, and I installed OS X on it. Once installed, I have tried to maximize the size of the partition in disk utility to the actual size of the SSD, but it wouldn't work. Worse still, it actually shows my OS X partition a 60 GB instead of 90... (we also say that change log has not been activated, I allowed him but nothing happened)

    How can I make my OS X partition as big as my SSD?

    Here are some pictures of the utility disc and occupied disk space.

    Try to launch the Boot Camp again to see if it will delete the partition. It acts like it doesn't have.

  • When installing a new operating system isn't automatically wipe the hard disk, create a new partition, and then install the operating system?

    Have a Dell system, caught a virus and it has really messed up the PC. Recently, it got worse so I tried to reinstall the operating system with the Dell disks. It wouldn't work. So I bought for Windows 7 Professional, it will not be installed. My first question when installing a new operating system isn't automatically wipe the hard disk, create a new partition, and then install the operating system? Because this does the same as the Dell disks, is to take what is on the hard drive and put it in a folder called windows old, is not formatting the HD. When I boot the disk, it shows the installation of files then open windows and start the installation. Before he could finish I get an error missing or corrupted files. Tried several times now, windows will still not open. Any suggestions? Once while trying to install the pc crashed with a blue screen which is one of the reasons why I have reinstall the OS, he started to plant a few times. I don't remember all the details on my PC, but its 4 years, triple core coprocessors, ram 8 GB, 500 GB HD. At the same time just after all this started in Jan. I had also improved my 3 GB to 8 GB memory. I bought the Dell memory for my system. Since the crash, could there be a problem with these new memory chips? Last night I tried to disassemble each and reinstalling it, but that doesn't seem to make a difference. Before I tried to reinstall the operating system, the pc was see the concert 8.

    Original title: used to install Windows 7

    Disconnect any other (additional) internal hard drives and external USB devices.
    Look for any loose hard drive power or cables SATA, graphics card or other power cables.

    First run Memtest86 +:
    It runs from a floppy disk or CD and should eliminate or confirm if one or more of your memory
    sticks are bad or the values of the SPD in the BIOS are correct.
    Let it run for as long as you can: 2,4,6,8 or several hours (at least 3 full passes), so no errors at that time then your ram is OK.
    http://www.memtest.org/
    Memtest86 + Guide/How To (use the.) ISO to create a bootable CD)
    http://www.overclockers.com/forums/showthread.php?t=409152

    Hard drive test:
    If you do not know your readers of the brand and model, try "Speccy",.
    It provides information from the computer/system in detail:
    OS, CPU, RAM, motherboard, graphics, Hard Drive, optical, Audio, peripherals, network.
    Note: Option RAM indicates number of slots, DRAM Timing.
    Works your memory speed (frequency). The nominal frequency of your memory.
    http://www.Piriform.com/Speccy

    Test your player - create a Bootable CD:
    Ranging from 5 to 25% (depending on the make and model) new hard disks are defective.
    Note: Reliability of the drive hard has come the way down over the last 24 months and improved a bit lately according to manufacturing.

    Test your drive with the car manufacture utility.
    If you have a new hard drive Seagate the very next thing would be to download Seagate Seatools
    (bootable CD) and check bad sectors.
    SeaTools for information: http://www.seagate.com/support/downloads/seatools/
    SeaTools for Windows download: http://www.seagate.com/support/internal-hard-drives/enterprise-hard-drives/saturn/seatools-win-master/
    SeaTools for DOS download:
    http://www.Seagate.com/support/internal-hard-drives/consumer-electronics/LD25-series/SeaTools-DOS-master/

    For Western Digital readers to download the .iso from WdDiag file: http://support.wdc.com/product/download.asp?groupid=611&sid=30&lang=en

    Samsung Estool: http://www.samsung.com/global/business/hdd/support/utilities/ES_Tool.html
    Samsung Disk Manager software: http://www.samsung.com/Products/HardDiskDrive/utilities/shdiag.htm

    Hitachi Drive Fitness Test Software: http://www.hgst.com/hdd/support/download.htm#DFT
    Diagnostic tool available for use by customers who believe that having a brand Toshiba Fujitsu hard drive:
    http://SDD.Toshiba.com/main.aspx?path=ServicesandSupport/WarrantySupport/SoftwareUtilities

    Notice of Fujitsu drive management utility: http://www.fujitsu.com/us/services/computing/storage/hdd/

    Toshiba CD bootable: (BACK Diagnostic Tool version 7.0 for IDE/ATA/SATA hard disks)
    http://SDD.Toshiba.com/main.aspx?path=ServicesSupport/FujitsuDrivesUSandCanada/SoftwareUtilities#diagnostic

    Also check Home Edition free Partition Wizard option "Test of disc surface":
    http://www.partitionwizard.com/free-partition-manager.html

    J W Stuart: http://www.pagestart.com

  • Partition and functions

    Hello
    I was just curious to know if the use of the function to get the value of a partitioned column, makes useless the join of the partition?

    For example. I have a table that is partitioned on the date_col. I have a query that requires access to the 2 partitions of the table.
    Now would be the join ' AND (date_col =: param GOLD date_col = func(:param))' would not be using 2 partitions, and do a full table scan.

    Do I have to give the join as ' AND (date_col =: param date_col = GOLD: param2) "to restrict the analysis to only 2 partitions

    Make the plan to explain to the two queries above gave one a slight difference (perhaps due to the extra function call)

    Thanking in anticipation...

    Below is a case of short demo I created to show you what is happening. I was doing this on 11 GR 1 material.

    SQL*Plus: Release 11.1.0.6.0 - Production on Ned Nov 22 01:08:33 2009
    
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> CREATE FUNCTION dt (p1 VARCHAR2) RETURN DATE
      2  IS
      3  BEGIN
      4     RETURN TO_DATE(p1,'dd.mm.yyyy');
      5  END;
      6  /
    
    Function created.
    
    SQL> CREATE TABLE demo (
      2    ID NUMBER(6),
      3    my_date DATE,
      4    pad1 VARCHAR2(100),
      5    pad2 VARCHAR2(100))
      6  PARTITION BY RANGE (my_date)
      7  INTERVAL (numtoyminterval(1,'MONTH'))
      8  (PARTITION p1 VALUES LESS THAN (TO_DATE('01.01.2009','DD.MM.YYYY')));
    
    Table created.
    
    SQL> INSERT INTO demo SELECT ROWNUM, TO_DATE(SYSDATE - 365 + ROWNUM),'pad1','pad2' FROM dual CONNECT BY LEVEL <=1000;
    
    1000 rows created.
    
    SQL> COMMIT;
    
    Commit complete.
    
    SQL> set lines 120 pages 9999
    
    SQL> SELECT partition_name,high_value FROM USER_TAB_PARTITIONS WHERE table_name='DEMO';
    
    PARTITION_NAME                 HIGH_VALUE
    ------------------------------ --------------------------------------------------------------------------------
    P1                             TO_DATE(' 2009-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P93                        TO_DATE(' 2009-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P94                        TO_DATE(' 2009-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P95                        TO_DATE(' 2009-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P96                        TO_DATE(' 2009-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P97                        TO_DATE(' 2009-06-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P98                        TO_DATE(' 2009-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P99                        TO_DATE(' 2009-08-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P100                       TO_DATE(' 2009-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P101                       TO_DATE(' 2009-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P102                       TO_DATE(' 2009-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P103                       TO_DATE(' 2009-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P104                       TO_DATE(' 2010-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P105                       TO_DATE(' 2010-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P106                       TO_DATE(' 2010-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P107                       TO_DATE(' 2010-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P108                       TO_DATE(' 2010-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P109                       TO_DATE(' 2010-06-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P110                       TO_DATE(' 2010-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P111                       TO_DATE(' 2010-08-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P112                       TO_DATE(' 2010-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P113                       TO_DATE(' 2010-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P114                       TO_DATE(' 2010-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P115                       TO_DATE(' 2010-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P116                       TO_DATE(' 2011-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P117                       TO_DATE(' 2011-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P118                       TO_DATE(' 2011-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P119                       TO_DATE(' 2011-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P120                       TO_DATE(' 2011-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P121                       TO_DATE(' 2011-06-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P122                       TO_DATE(' 2011-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P123                       TO_DATE(' 2011-08-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    SYS_P124                       TO_DATE(' 2011-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
    
    33 rows selected.
    
    SQL>
    SQL>
    SQL> BEGIN
      2     DBMS_STATS.GATHER_TABLE_STATS(USER,'DEMO');
      3  END;
      4  /
    
    PL/SQL procedure successfully completed.
    
    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date=TO_DATE('01.02.2009','dd.mm.yyyy') OR my_date=TO_DATE('01.03.2009','dd.mm.yyyy');
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------
    Plan hash value: 2143838214
    
    -----------------------------------------------------------------------------------------------
    | Id  | Operation              | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    -----------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT       |      |     2 |    42 |     4   (0)| 00:00:01 |       |       |
    |   1 |  PARTITION RANGE INLIST|      |     2 |    42 |     4   (0)| 00:00:01 |KEY(I) |KEY(I) |
    |*  2 |   TABLE ACCESS FULL    | DEMO |     2 |    42 |     4   (0)| 00:00:01 |KEY(I) |KEY(I) |
    -----------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - filter("MY_DATE"=TO_DATE(' 2009-02-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss') OR
                  "MY_DATE"=TO_DATE(' 2009-03-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
    
    15 rows selected.
    
    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date=:date1 OR my_date=:date2;
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------
    Plan hash value: 2143838214
    
    -----------------------------------------------------------------------------------------------
    | Id  | Operation              | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    -----------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT       |      |     2 |    42 |    46   (0)| 00:00:01 |       |       |
    |   1 |  PARTITION RANGE INLIST|      |     2 |    42 |    46   (0)| 00:00:01 |KEY(I) |KEY(I) |
    |*  2 |   TABLE ACCESS FULL    | DEMO |     2 |    42 |    46   (0)| 00:00:01 |KEY(I) |KEY(I) |
    -----------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - filter("MY_DATE"=:DATE1 OR "MY_DATE"=:DATE2)
    
    14 rows selected.
    
    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date=TO_DATE('01.02.2009','dd.mm.yyyy') OR my_date=dt('01.03.2009');
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------
    Plan hash value: 3571197848
    
    ------------------------------------------------------------------------------------------------
    | Id  | Operation               | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    ------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT        |      |     2 |    42 |     6   (0)| 00:00:01 |       |       |
    |   1 |  CONCATENATION          |      |       |       |            |          |       |       |
    |   2 |   PARTITION RANGE SINGLE|      |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |*  3 |    TABLE ACCESS FULL    | DEMO |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |   4 |   PARTITION RANGE SINGLE|      |     1 |    21 |     3   (0)| 00:00:01 |     3 |     3 |
    |*  5 |    TABLE ACCESS FULL    | DEMO |     1 |    21 |     3   (0)| 00:00:01 |     3 |     3 |
    ------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - filter("MY_DATE"="DT"('01.03.2009'))
       5 - filter("MY_DATE"=TO_DATE(' 2009-02-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
                  LNNVL("MY_DATE"="DT"('01.03.2009')))
    
    19 rows selected.
    
    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date=:date1 OR my_date=dt(:p2);
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ------------------------------------------------------------------------------------------------------------------------
    Plan hash value: 772090020
    
    ------------------------------------------------------------------------------------------------
    | Id  | Operation               | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    ------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT        |      |     2 |    42 |     6   (0)| 00:00:01 |       |       |
    |   1 |  CONCATENATION          |      |       |       |            |          |       |       |
    |   2 |   PARTITION RANGE SINGLE|      |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |*  3 |    TABLE ACCESS FULL    | DEMO |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |   4 |   PARTITION RANGE SINGLE|      |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |*  5 |    TABLE ACCESS FULL    | DEMO |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    ------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - filter("MY_DATE"="DT"(:P2))
       5 - filter("MY_DATE"=:DATE1 AND LNNVL("MY_DATE"="DT"(:P2)))
    
    18 rows selected.
    

    The last execution plan is what you no doubt in mind. CBO made partition pruning here twice - the first time for the normal state and the second time for the State where you are using and then uses the CONCATENATION operation for a union of the results of these two operations. Thus, CBO solves the problem of the expansion of the GOLD.

    KEY in the Pstart | Pstop column means that the partition will be determined by the partition key in the runtime.
    KEY (I) in the above cases means that partition will be determined by the result of operation of PARTITION RANGE INLIST.

    Only in one case when I used a literal value that is converted to date format partition * 3 * appeared in Pstart. Pstop columns. In this case the partition was already known at the time of compilation of the sql statement (to the Parser) and thus could be determined.

    Just for the demonstration I have slightly changed again the sql:

    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date between :date1 and :date2 or my_date=dt(:p2);
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------
    Plan hash value: 2349549400
    
    --------------------------------------------------------------------------------------------
    | Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    --------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT    |      |     3 |    63 |    46   (0)| 00:00:01 |       |       |
    |   1 |  PARTITION RANGE ALL|      |     3 |    63 |    46   (0)| 00:00:01 |     1 |1048575|
    |*  2 |   TABLE ACCESS FULL | DEMO |     3 |    63 |    46   (0)| 00:00:01 |     1 |1048575|
    --------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - filter("MY_DATE">=:DATE1 AND "MY_DATE"<=:DATE2 OR "MY_DATE"="DT"(:P2))
    
    14 rows selected.
    

    Here the CBO decides to use a full table scan, which is the most appropriate method of access to the computed selectivity of predicates (don't forget that we have here OR and AND condition). Just by removing the second condition, back to the size of the partition.

    It is also interesting to see that the CBO reported the higher number of partitions in the interval of range as 1048575.

    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date between :date1 and :date2;
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------
    Plan hash value: 104405242
    
    --------------------------------------------------------------------------------------------------
    | Id  | Operation                 | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    --------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT          |      |     3 |    63 |    46   (0)| 00:00:01 |       |       |
    |*  1 |  FILTER                   |      |       |       |            |          |       |       |
    |   2 |   PARTITION RANGE ITERATOR|      |     3 |    63 |    46   (0)| 00:00:01 |   KEY |   KEY |
    |*  3 |    TABLE ACCESS FULL      | DEMO |     3 |    63 |    46   (0)| 00:00:01 |   KEY |   KEY |
    --------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       1 - filter(TO_DATE(:DATE1)<=TO_DATE(:DATE2))
       3 - filter("MY_DATE">=:DATE1 AND "MY_DATE"<=:DATE2)
    
    16 rows selected.
    

    But there is a simple trick to fix the problem with the SCAN of the ENTIRE TABLE. We just have to rewrite the sql code in a slightly different form:

    SQL> EXPLAIN PLAN FOR
      2  SELECT * FROM demo WHERE my_date between :date1 and :date2
      3  UNION ALL
      4  SELECT * FROM demo WHERE my_date=dt(:p2);
    
    Explained.
    
    SQL> SELECT * FROM TABLE(dbms_xplan.display);
    
    PLAN_TABLE_OUTPUT
    ----------------------------------------------------------------------------------------------------
    Plan hash value: 4124787885
    
    ---------------------------------------------------------------------------------------------------
    | Id  | Operation                  | Name | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT           |      |     4 |    84 |    49   (7)| 00:00:01 |       |       |
    |   1 |  UNION-ALL                 |      |       |       |            |          |       |       |
    |*  2 |   FILTER                   |      |       |       |            |          |       |       |
    |   3 |    PARTITION RANGE ITERATOR|      |     3 |    63 |    46   (0)| 00:00:01 |   KEY |   KEY |
    |*  4 |     TABLE ACCESS FULL      | DEMO |     3 |    63 |    46   (0)| 00:00:01 |   KEY |   KEY |
    |   5 |   PARTITION RANGE SINGLE   |      |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    |*  6 |    TABLE ACCESS FULL       | DEMO |     1 |    21 |     3   (0)| 00:00:01 |   KEY |   KEY |
    ---------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       2 - filter(TO_DATE(:DATE1)<=TO_DATE(:DATE2))
       4 - filter("MY_DATE">=:DATE1 AND "MY_DATE"<=:DATE2)
       6 - filter("MY_DATE"="DT"(:P2))
    
    20 rows selected.
    

    As you can see it is very important how we write the SQL statement.

    HTH, Joze

  • Shrinking Bootcamp partition and add space for Macintosh HD

    Guys, after helping me with my previous question, my Macbook is almost as I want it to be. As said, I have a Macbook Pro 15 "retina end 2013 with OS X El Captain (later) and in addition, a Bootcamp with Windows partition 8.1." It's that everything works fine now, but the partition Windows 8.1 has 300 GB and my score only 80 GB hard drive Macintosh.

    I wanted to shrink the partition, Bootcamp in Windows 8, 1 with Minitool Partition software but, obviously, when I reduce this score I get unallocated space that I can't turn into a new partition because I have 4 partitions in the MBR slot. So, what is the best way to reduce my Bootcamp partition and add space on the Macintosh HD partition?

    Thank you very much!

    Remove the Boot Camp partition, and Windows using Boot Camp Assistant. Then start to affect the size of the Boot Camp partition you want.

  • ProBook 650: Drive Partitions and Windows 10 upgrade

    Hello

    I'm here to find some information on Windows 10 because I want to upgrade my system, now it's Windows 7 Pro (64 bit). I downloaded the Windows ISO 10N Pro yet and before doing the upgrade, I'll create a complete backup of my drive using Macrium Reflect.

    I have now four partitions:

    1. Active NTFS, 500 MB system
    2. (: C) primary NTFS
    3. (: D) HP Recovery - NTFS primary
    4. (:) E HP Tools - primary NTFS

    In which partition Windows 10 installs?

    I have to choose, or it's an automatic installation?

    I should delete some of the partitions?

    W10 upgrade will remove one or more partitions?

    Thank you very much for your help!

    PS: how to check if the driver are compatible with W10?

    I upgraded to win10 of many PC Win7 - and everyone had some issues that needed to be overcome.

    Your plan to make an image with MR backup is the best approach, because, although Microsoft says that there is no risk in the upgrade of Win10, because they allow you to believe that you can always go back to your original OS and setup within 30 days, the ugly fact of the matter is that the Win10 GoBack feature turned out to be unreliable - and when it fails She can let the machines in a corrupt State - which is not always the case, it happens often enough to be a problem, but you will get no warning beforehand that he goes to the trash your PC!

    With regard to your questions:

    (1) installation partition: you already have 4 partitions at a higher level, so unless your drive is formatted in GPT (which is probably isn't), you WON'T get a meaningful choice about where to install Win10, because only the C: partition will be enough space.

    (2) deletion of partitions: while you can migrate HP tools stuff it into the C: partition and then delete HP_TOOLS, which really won't help much because this space is much too small to be useful.

    (3) with the recovery partition.  Don't count on that it works. The Win10 upgrade is known, in some cases, corrupt the partition of recovery that are stored by the OEM that built the original machine.  It's pretty much guarantee that no HP recovery will work. Thus, based on the recovery of Win7 partition back to Win7 is a mistake.

    Your backup of Mr. is safest and most reliable way to have a backup plan to return to Win7.  You do not mount the image to a restoration, instead, you start from media that you have created using MR, connect the external hard drive and then use the restore option to select the backup that you did.  So, be sure to exercise the option MR to create bootable media, you will need later to do a restore.

    Good luck
    ========================================================================
    I'm a volunteer and I do not work for, or represent, HP.
    ---------------------------------------------------------------
    If my post helped you, please click on the Thumbs-Up symbol on my post to say thank you.
    If my posts resolved your issue please click "accept as a Solution.
    ========================================================================

  • Format HARD drive, delete the recovery partition and recover with disc

    Hello

    I have a laptop Satellite C660D-17F and want to format my HDD, remove the recovery partition and recover the preinstalled Windows 7 and other software. I don't want to keep my own data, which are all stored already, I just want to be sure I can safely restore preinstalled stuff. I have a few questions that I need help to clear up before I go ahead.

    Am I right in thinking the dvd recovery disc I made when I got to my laptop has all the software and drivers that I need on this subject, the same that would have the recovery partition? If I do another room to spare in now just to be sure only will they have the out-of-box default stuff: OS, software and drivers on any of my data?

    I found [this post | http://www.mytoshiba.com.au/support/items/faq/71] which explains the recovery process. If I select "Erase the hard drive" (so I can wipe my hard drive and delete the recovery partition too) what happens after that? It will restore the OS and the software for the backup of dvd drive? Will the process after that recreate a recovery partition (which I don't)?

    Added SIDENOTE:
    I actually prefer to be able to choose what programs preinstalled settle after that I have format, but I'm guessing that probably isn't possible and will settle for install everything and remove what I'm after. Or is there a way?

    Sorry, I know that was a long post, but I want to be sure of what will happen BEFORE I'll and spoil things! :) If you got this far, thanks for reading. :)

    Hello

    I will try to offer help. ;)
    > Am I right in thinking the dvd recovery disc I made when I got to my laptop has all the software and drivers that I need on this subject, the same that would have the recovery partition?
    Yes. Saved on recovery discs recovery image contains the operating system, all necessary drivers, specific Toshiba and utility tools and some additional software.
    > If I do another room to spare in now just to be sure only will they have the out-of-box default stuff: OS, software and drivers on any of my data?
    Preinstalled Toshiba Recovery creator make recovery disc that includes the recovery image only. It has nothing to do with your personal data.
    > I found this post that explains the process of recovery. If I select "Erase the hard drive" (so I can wipe my hard drive and delete the recovery partition too) what happens after that?
    After that, you should use recovery disks created for the recovery image installation.
    > Will the process after that recreate a recovery partition (which I don't)?
    When you use the recovery disc for your laptop recovery image installation will have factory settings which include the recovery saved on the HARD disk image. To be honest I do not understand why you do not want to have this recovery image on the HARD drive. This allows the installation of recovery using recovery of HARD drive option. But of course you can delete it later for more free space on your HARD drive. Installation image that you can always use created for recovery discs-recovery DVDs.
    > I'd really rather be able to choose what programs preinstalled settle after that I have format, but I'm guessing that probably isn't possible and will settle for install everything and remove what I don't want after
    Fix.

    Also - check http://aps2.toshiba-tro.de/kb0/HTD1303440001R02.htm

    Good luck and if you have any other questions feel free.

  • Portege Z30T - Confused on partitions and recovery methods

    A few weeks ago, I bought a new PORTEGE Z30T-A PT24CE and upgraded to Microsoft Windows OS Version 8.1 Pro 6.3.9600 with its CDs. (it came with Windows 7 pre-installed)

    I have two questions that confuse me:

    1-) first of all, I got the laptop I upgraded to 8.1 win by a DVD burner. And I remember this time, he made a picture to copy at the end of the Windows installation. And then another reason I reset phone option "DELETE EVERYTHING AND REINSTALL WINDOWS. But SSD partition recovery recovery (since I don't use any DVD).

    My first question is: does make a difference to reset the PC from DVD of the TOSHIBA (which takes longer) than the reset of the image on the hard drive. I ask because if there is difference, I'll try new DVD reset.

    2-) when I check 256 GB SSD disk management I see the following disk partition (check the image below):
    [partition|postimg.org/image/57i99hsgr/]

    Here, there are the OEM partition and the recovery Partition. What is the difference between these two? Should I have them both? They occupy too much space each more than 8 GB.

    In regard to point 1)

    What software did you use to create the image after the update 8.1 Win?

    The fact is that the Toshiba recovery image was preinstalled on the laptop and recover the laptop using the recovery media (disk or USB key) or by using the procedure of recovery Toshiba HDD would reset the computer laptop back to the factory settings; on the same State as at the first day of the purchase.

    If you want to use another method of recovery or image, you reset draw the laptop to the State when the image was created.

    In regard to point 2)
    Unfortunately, somehow the link to the screenshot does not work
    However, as I said above: the Toshiba HDD recovery procedure redefines the laptop to factory settings and the recovery of image files is placed on a separate partition.
    This partition is very important to perform HARD drive recovery and create additional recovery media.
    This was the case for pre-installed Win 7 OS!

    The other partition may be created by Windows system after Win 8.1 install.
    I'm also a little confused about the image created...
    It would also be possible that this OEM partition is related to the image that you created after the installation of Win 8.1.

    In any case... it would be useful to know all the steps you did the upgrade...

    by the way: I also recommend you read some threads/posts on the topic of recovery here in the forum... This should help you understand the whole process

Maybe you are looking for

  • Updates to Garage Band

    I was unable to finish the Garage Band updates after replacing the HD on my 2007 24 iMac.  El Capitan running.  All other fine updated iLife applications... Suggestions?

  • How to avoid accidentally getting the split screen. I never want that. 3.6.11 version. Thank you

    I don't know how I did it, but now when I go to drag a web page below on the right scroll bar another mini bar appears. If I accidentally hit that all of a sudden I have two pages to the top at the same time and I can't get back to where I was withou

  • WiFi Compatible?

    I am looking to buy a Sony Tablet S for my academic needs. The University I attend requires a wireless card that supports "IEEE 802. 11 a, b or g standard (compatible Wi - Fi)". The Sony Tablet has a Wireless N Wi - Fi (802.11b/g/n). Is this a game?

  • Everytime I open Windows Mail, all of my emails are downloaded and it slows my system

    Original title: "Windows Mail Help" Hello guys,. I need assistance in the use of my email windows software. I'm a basic user, I want only windows mail to write and send emails from her, but whenever I open it all that my mails are downloaded. I can't

  • Taskbar shortcut keyboard to scroll?

    Anyone know if there is a keyboard shortcut to scroll the taskbar? I think that the scroll buttons just to the right of the taskbar are much too small and seriously slow down using the taskbar when you have to scroll between screens full of icons as