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 AcostaCarlos 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-bitexec 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
RandolfOracle 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
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 theinterval_sales
table and equivalent index have been created on theinterval_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.
-
Hi all
Here's my problem with this table:
I need to collect statistics for partitions partitions/subpartitions/index of < b > ALL_20100130204500RQ < /b >, and then copy all these ALL_20100130210000RQ < /b > < b > statisticsCREATE 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 ) );
(1) could someone post the script DBMS_STATS.gather_table_stats and DBMS_STATS.copy_table_stats?
I tried
(2) when I make unusable the index and rebuilding, I need also to collect statistics (how?)?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
Thank you all,
Riccardo
Published by: user12581838 on February 8, 2010 23:58
Published by: user12581838 on February 9, 2010 12:48 AMSQL> 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
This table is interval partitions DATA_ORIGIN_ID and list subpartitions on TABLE_NAME.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.
First of all, an insert in base without specifying the partitions:
Check SUBPARTITION to a SELECT statement syntax: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.
But if we add a subpartition specification (to limit the locking to a single subpartition), we get a syntax error: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.
Specify the partition level did not work either: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
But by specifying explicit partition and subpartition works: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
We have succeeded by using the syntax of PARTITION for tables partitioned, but not sous-partitionnee.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.
Any ideas?
Thank you
MikeSupport 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.
I used the following script: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
It costs 2 minutes for the first two tables to gather statistics respectively, but more than 10 minutes for the partitioned table.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; /
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:45Hi 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 levelYou 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
Troll35Published 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.
-
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=409152Hard 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/SpeccyTest 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.htmHitachi 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/SoftwareUtilitiesNotice 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#diagnosticAlso check Home Edition free Partition Wizard option "Test of disc surface":
http://www.partitionwizard.com/free-partition-manager.htmlJ W Stuart: http://www.pagestart.com
-
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:
- Active NTFS, 500 MB system
- (: C) primary NTFS
- (: D) HP Recovery - NTFS primary
- (:) 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
-
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?
-
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
-
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