Migrate Partition Tables
What is the best way to migrate partition tables from one oracle instance to another? I noticed when using CTAS statement and import/export utilitiy, Oracle migrates the table as a regular table and not as a partitioned table.
CTAS can be used to create a partitioned table, but you need to specify the partitioning in the CREATE TABLE part of the statement.
Use DBMS_METADATA.GET_DDL to extract the DDL for the table, like this:
SELECT dbms_metadata.get_ddl('TABLE',table_name) FROM user_tables;Then modify it into your CTAS statement.
For example:
create table part_table
partition by range (timestamp)
(partition aug15 values less than (to_date('16-aug-2008','DD-mon-YYYY'))
,partition aug16 values less than (to_date('17-aug-2008','DD-mon-YYYY'))
,partition aug17 values less than (to_date('18-aug-2008','DD-mon-YYYY'))
,partition aug18 values less than (to_date('19-aug-2008','DD-mon-YYYY'))
,partition aug21 values less than (to_date('22-aug-2008','DD-mon-YYYY'))
,partition aug22 values less than (to_date('23-aug-2008','DD-mon-YYYY'))
,partition other values less than (MAXVALUE)
) tablespace USERS
as select * from non_part_table@my_dblink;
Similar Messages
-
Migrating a new partition table with transportable tablespace
I created a partitioned table with 2 partitions (2010 and 2011) and used transportable tablespace to migrate the data over to a new envionment. My question is, if I decide to add a partition (2012) in the future, can I simply move that new partition along with the associated datafile via transportable tablespace or would I have to move all the partitions (2010, 2011, 2012).
user564785 wrote:
I created a partitioned table with 2 partitions (2010 and 2011) and used transportable tablespace to migrate the data over to a new envionment. My question is, if I decide to add a partition (2012) in the future, can I simply move that new partition along with the associated datafile via transportable tablespace or would I have to move all the partitions (2010, 2011, 2012).Yes why not.
1) create a table as CTAS from 2012 in new Tablespace on source
2) transport the tablespace
3) Add partition to existing partition table Or exchange partition
Oracle has also documented this procedure:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/tspaces013.htm#i1007549 -
Datapump skipping partitioned tables in the database
I have run expdp on Oracle 10.2.0.4.0 on AIX 5.6 Platform, the export runs well exporting rows in the database but when it comes to partitioned tables in the database it export no rows for all the partitioned tables. When I run a normal exp/imp the partitioned tables are exported with all their rows.
I used the following commands:
expdp system/****** dumpfile=export_data.dmp directory=DATA_PUMP_DIR full=y logfile=export_dump.log
Output for expdp on partitioned table:
. . exported "SCOTT"."DEPT":"DEPT_2003_P1" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P10" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P11" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P12" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P2" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P3" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P4" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P5" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P6" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P7" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P8" 0 KB 0 rows
. . exported "SCOTT"."DEPT":"DEPT_2003_P9" 0 KB 0 rows
And for exp:
exp system/****** file=export_dump.dmp full=y log=export_log1.log
Result from the export log for partitioned tables:
. . exporting partition DEPT_2005_P1 881080 rows exported
. . exporting partition DEPT_2005_P2 1347780 rows exported
. . exporting partition DEPT_2005_P3 2002962 rows exported
. . exporting partition DEPT_2005_P4 2318227 rows exported
. . exporting partition DEPT_2005_P5 3122371 rows exported
. . exporting partition DEPT_2005_P6 3916020 rows exported
. . exporting partition DEPT_2005_P7 4217100 rows exported
. . exporting partition DEPT_2005_P8 4125915 rows exported
. . exporting partition DEPT_2005_P9 1913970 rows exported
. . exporting partition DEPT_2005_P10 1100156 rows exported
. . exporting partition DEPT_2005_P11 786516 rows exported
. . exporting partition DEPT_2005_P12 822976 rows exported
I am not sure about this behavour from datapump, my database is more than 800GB and we want to migrate the database from AIX to LINUX.
ThanksSorry I just copied and pasted some extracts from my exp and expdp logs:
For testing purposes I tried to run a datapump export of only 1 partitioned table in the database and its going through, but when I do the same on a full datapump export these partitioned tables are being exported with no rows.
Export: Release 10.2.0.4.0 - 64bit Production on Tuesday, 02 August, 2011 12:18:47
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TABLE_01": system/******** dumpfile=DEPT.dmp tables=scott.dept logfile=dept1.log
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 48.50 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/COMMENT
Processing object type TABLE_EXPORT/TABLE/RLS_POLICY
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."DEPT":"DEPT_2009_P6" 1.452 GB 7377736 rows
. . exported "SCOTT"."DEPT":"DEPT_2009_P7" 1.363 GB 6935687 rows
. . exported "SCOTT"."DEPT":"DEPT_2008_P6" 1.304 GB 6656096 rows
. . exported "SCOTT"."DEPT":"DEPT_2010_P7" 1.410 GB 7300618 rows
. . exported "SCOTT"."DEPT":"DEPT_2008_P7" 1.296 GB 6641073 rows
. . exported "SCOTT"."DEPT":"DEPT_2010_P6" 1.328 GB 6863885 rows
. . exported "SCOTT"."DEPT":"DEPT_2007_P6" 1.158 GB 6568075 rows
. . exported "SCOTT"."DEPT":"DEPT_2009_P5" 1.141 GB 5801822 rows
. . exported "SCOTT"."DEPT":"DEPT_2011_P5" 1.162 GB 6027466 rows
. . exported "SCOTT"."DEPT":"DEPT_2007_P7" 1.100 GB 6214680 rows
. . exported "SCOTT"."DEPT":"DEPT_2011_P6" 1.106 GB 5762303 rows
. . exported "SCOTT"."DEPT":"DEPT_2010_P5" 1.133 GB 5859492 rows
. . exported "SCOTT"."DEPT":"DEPT_2007_P5" 1.001 GB 5664315 rows
. . exported "SCOTT"."DEPT":"DEPT_2008_P5" 1.023 GB 5229356 rows
. . exported "SCOTT"."DEPT":"DEPT_2010_P8" 1.078 GB 5549666 rows
. . exported "SCOTT"."DEPT":"DEPT_2007_P8" 940.3 MB 5171379 rows
. . exported "SCOTT"."DEPT":"DEPT_2008_P8" 989.0 MB 4920276 rows
. . exported "SCOTT"."DEPT":"DEPT_2009_P8" 918.6 MB 4553523 rows
. . exported "SCOTT"."DEPT":"DEPT_2006_P6" 821.0 MB 5220879 rows
. . exported "SCOTT"."DEPT":"DEPT_2008_P4" 766.6 MB 3832262 rows
. . exported "SCOTT"."DEPT":"DEPT_2006_P8" 747.9 MB 4753538 rows
. . exported "SCOTT"."DEPT":"DEPT_2006_P7" 741.8 MB 4708242 rows
. . exported "SCOTT"."DEPT":"DEPT_2010_P4" 734.2 MB 3713567 rows
. . exported "SCOTT"."DEPT":"DEPT_2005_P7" 661.4 MB 4217100 rows
. . exported "SCOTT"."DEPT":"DEPT_2005_P8" 647.1 MB 4125915 rows
. . exported "SCOTT"."DEPT":"DEPT_2011_P4" 677.8 MB 3428887 rows
I also tried to run a normal schema by schema export with the normal exp system/password command the and got my dump file which is about 300GB, when I run the imp system/password command and specify fromuser=<system > and touser=<schemas_in_the_dumpfile> seperated by commas, it just comes up with this message:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export file created by EXPORT:V10.02.01 via conventional path
import done in WE8ISO8859P9 character set and AL16UTF16 NCHAR character set
Import terminated successfully without warnings.
No tables are exported.
If I specify the parameter imp system/password file=dept_export.dmp full=y log=dept_imp.log with the same dumpfile and it imports data from the dumpfile into my database.
I am not sure what could be wrong with my dumpfile or my imp command and its parameters. -
Problems with partition tables
Hi all,
I've got some problems with partition tables. The script at the bottom run but when I wanna insert some values it returns me an error
(ORA-06550: line 1, column 30: PL/SQL: ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 1, column 7: PL/SQL: SQL Statement ignored)
and I can't understand why!
There's something incorrect in the script or not?
Please help me
Thanks in advance
Steve
CREATE TABLE TW_E_CUSTOMER_UNIFIED
ID_CUSTOMER_UNIFIED VARCHAR2 (27) NOT NULL ,
START_VALIDITY_DATE DATE NOT NULL ,
END_VALIDITY_DATE DATE ,
CUSTOMER_STATUS VARCHAR2 (255)
PARTITION BY RANGE (START_VALIDITY_DATE)
SUBPARTITION BY LIST (END_VALIDITY_DATE)
PARTITION M200909 VALUES LESS THAN (TO_DATE('20091001','YYYYMMDD'))
(SUBPARTITION M200909_N VALUES (NULL), SUBPARTITION M200909_NN VALUES (DEFAULT)),
PARTITION M200910 VALUES LESS THAN (TO_DATE('20091101','YYYYMMDD'))
(SUBPARTITION M200910_N VALUES (NULL), SUBPARTITION M200910_NN VALUES (DEFAULT)),
PARTITION M200911 VALUES LESS THAN (TO_DATE('20091201','YYYYMMDD'))
(SUBPARTITION M200911_N VALUES (NULL), SUBPARTITION M200911_NN VALUES (DEFAULT)),
PARTITION M200912 VALUES LESS THAN (TO_DATE('20100101','YYYYMMDD'))
(SUBPARTITION M200912_N VALUES (NULL), SUBPARTITION M200912_NN VALUES (DEFAULT)),
PARTITION M201001 VALUES LESS THAN (TO_DATE('20100201','YYYYMMDD'))
(SUBPARTITION M201001_N VALUES (NULL), SUBPARTITION M201001_NN VALUES (DEFAULT)),
PARTITION M201002 VALUES LESS THAN (TO_DATE('20100301','YYYYMMDD'))
(SUBPARTITION M201002_N VALUES (NULL), SUBPARTITION M201002_NN VALUES (DEFAULT)),
PARTITION M210001 VALUES LESS THAN (MAXVALUE))
(SUBPARTITION M210001_N VALUES (NULL), SUBPARTITION M210001_NN VALUES (DEFAULT))
;Hi Hoek,
the DB version is 10.2 (italian version, then SET is correct).
...there's something strange: now I can INSERT rows but I can't update them!
I'm using this command string:
UPDATE TW_E_CUSTOMER_UNIFIED SET END_VALIDITY_DATE = TO_DATE('09-SET-09', 'DD-MON-RR') WHERE
id_customer_unified = '123' and start_validity_date = TO_DATE('09-SET-09', 'DD-MON-RR');
And this is the error:
Error SQL: ORA-14402: updating partition key column would cause a partition change
14402. 00000 - "updating partition key column would cause a partition change"
*Cause: An UPDATE statement attempted to change the value of a partition
key column causing migration of the row to another partition
*Action: Do not attempt to update a partition key column or make sure that
the new partition key is within the range containing the old
partition key.
I think that is impossible to use a PARTITION/SUBPARTITION like that: in fact the update of "END_VALIDITY_DATE" cause a partition change.
Do u agree or it's possible an update on a field that implies a partition change?
Regards Steve -
Is it possible a partition table create a partition itself?
Hi,
I migrated a table to range partition table by years on production system.
But I thought, after the new year 2011 must I add new partition again for year 2011?
For example,
When a new record comes for year 2011 and if there is no partition for 2011 the table should be create new partition for 2011 itself?
Every year must I add new partition myself? this is a time consuming job.
Yes. I know MAXVALUE but I don't want to use it. I want to be done automatically.
regards,Hi,
I haven't tried EXECUTE_IMMEDIATE. It doesn't matter because I haven't found how the partition name concatenate a variable automatically.
DB version is 10.2.0.1.
table script is:
CREATE TABLE INVOICE_PART1
ID NUMBER(10) NOT NULL,
PREPARED DATE NOT NULL,
TOTAL NUMBER,
FINAL VARCHAR2(1 BYTE),
NOTE VARCHAR2(240 BYTE),
CREATED DATE NOT NULL,
CREATOR VARCHAR2(8 BYTE) NOT NULL,
TABLESPACE PROD
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
LOGGING
PARTITION BY RANGE (CREATED)
PARTITION INV08 VALUES LESS THAN (TO_DATE(' 2010-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE PROD
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION INV09 VALUES LESS THAN (TO_DATE(' 2010-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE PROD
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION INV10 VALUES LESS THAN (TO_DATE(' 2010-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
LOGGING
NOCOMPRESS
TABLESPACE PROD
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION INV VALUES LESS THAN (MAXVALUE)
LOGGING
NOCOMPRESS
TABLESPACE PROD
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING
ENABLE ROW MOVEMENT; -
Converting from non partitioned to partitioned table
Hi gurus,
I need to convert non partition to partition table. Most flexible way is using DBMS_REDEFINITION package for this.
i dont have access to execute this package , when i asked for EXECUTION permission for my dev
CLIENT rejected with suggestion that
" DBMS_REDEFINITION is a very slow migration method which has never been used before here for such migrations
so I would not recommend using it as it could trigger bugs and unexpected side effects"
is it true?
what will be alternate method i can go far?
Please suggest
SI don't think DBMS_REDEFINITION has bugs. However, you (and the client) need to be familiar with the steps involved.
Other than that, you'd have to build a partitioned table and insert data from the existing table. You can speed up the insert with direct path Parallel Insert.
You also need to build indexes on the new (partitioned) table. Define constraints if necessary. Execute grants to other schemas, if required.
Hemant K Chitale -
I get this message that says that but cant read the rest its says use the disk utitlity to change....
Cant read the rest. Can someone help me?Are you trying to install Mountain Lion and get that message?
If so, it means you have to reformat your hard drive as GUID Partition Table, which will erase all of your data. So, you need to backup your hard drive before you try.
While somewhat old, this seems to be a good tutorial on reformatting and partitioning: http://www.kenstone.net/fcp_homepage/partitioning_tiger.html
Here is a more current tutorial: http://www.ehow.com/how_4779169_partition-drive-mac-os-x.html
You'll need to boot from your Snow Leopard install disk in order to reformat startup hard drive.
Once you reformat and install Snow Leopard on the drive, you can update to 10.6.8 and then install Mountain Lion. Once you reinstall, it will ask if you want to migrate from another Mac or Backup. Choose yes and connect the backup drive. -
Error while creating partition table
Hi frnds i am getting error while i am trying to create a partition table using range
getting error ORA-00906: missing left parenthesis.I used the following statement to create partition table
CREATE TABLE SAMPLE_ORDERS
(ORDER_NUMBER NUMBER,
ORDER_DATE DATE,
CUST_NUM NUMBER,
TOTAL_PRICE NUMBER,
TOTAL_TAX NUMBER,
TOTAL_SHIPPING NUMBER)
PARTITION BY RANGE(ORDER_DATE)
PARTITION SO99Q1 VALUES LESS THAN TO_DATE(‘01-APR-1999’, ‘DD-MON-YYYY’),
PARTITION SO99Q2 VALUES LESS THAN TO_DATE(‘01-JUL-1999’, ‘DD-MON-YYYY’),
PARTITION SO99Q3 VALUES LESS THAN TO_DATE(‘01-OCT-1999’, ‘DD-MON-YYYY’),
PARTITION SO99Q4 VALUES LESS THAN TO_DATE(‘01-JAN-2000’, ‘DD-MON-YYYY’),
PARTITION SO00Q1 VALUES LESS THAN TO_DATE(‘01-APR-2000’, ‘DD-MON-YYYY’),
PARTITION SO00Q2 VALUES LESS THAN TO_DATE(‘01-JUL-2000’, ‘DD-MON-YYYY’),
PARTITION SO00Q3 VALUES LESS THAN TO_DATE(‘01-OCT-2000’, ‘DD-MON-YYYY’),
PARTITION SO00Q4 VALUES LESS THAN TO_DATE(‘01-JAN-2001’, ‘DD-MON-YYYY’)
;More than one of them. Try this instead:
CREATE TABLE SAMPLE_ORDERS
(ORDER_NUMBER NUMBER,
ORDER_DATE DATE,
CUST_NUM NUMBER,
TOTAL_PRICE NUMBER,
TOTAL_TAX NUMBER,
TOTAL_SHIPPING NUMBER)
PARTITION BY RANGE(ORDER_DATE) (
PARTITION SO99Q1 VALUES LESS THAN (TO_DATE('01-APR-1999', 'DD-MON-YYYY')),
PARTITION SO99Q2 VALUES LESS THAN (TO_DATE('01-JUL-1999', 'DD-MON-YYYY')),
PARTITION SO99Q3 VALUES LESS THAN (TO_DATE('01-OCT-1999', 'DD-MON-YYYY')),
PARTITION SO99Q4 VALUES LESS THAN (TO_DATE('01-JAN-2000', 'DD-MON-YYYY')),
PARTITION SO00Q1 VALUES LESS THAN (TO_DATE('01-APR-2000', 'DD-MON-YYYY')),
PARTITION SO00Q2 VALUES LESS THAN (TO_DATE('01-JUL-2000', 'DD-MON-YYYY')),
PARTITION SO00Q3 VALUES LESS THAN (TO_DATE('01-OCT-2000', 'DD-MON-YYYY')),
PARTITION SO00Q4 VALUES LESS THAN (TO_DATE('01-JAN-2001', 'DD-MON-YYYY')))In the future, if you are having problems, go to Morgan's Library at www.psoug.org.
Find a working demo, copy it, then modify it for your purposes. -
Local index vs global index in partitioned tables
Hi,
I want to know the differences between a global and a local index.
I'm working with partitioned tables about 10 millons rows and 40 partitions.
I know that when your table is partitioned and your index non-partitioned is possible that
some database operations make your index unusable and you have tu rebuid it, for example
when yo truncate a partition your global index results unusable, is there any other operation
that make the global index unusable??
I think that the advantage of a global index is that takes less space than a local and is easier to rebuild,
and the advantage of a local index is that is more effective resolving a query isn't it???
Any advice and help about local vs global index in partitioned tables will be greatly apreciatted.
Thanks in advancehere is the documentation -> http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/partconc.htm#sthref2570
In general, you should use global indexes for OLTP applications and local indexes for data warehousing or DSS applications. Also, whenever possible, you should try to use local indexes because they are easier to manage. When deciding what kind of partitioned index to use, you should consider the following guidelines in order:
1. If the table partitioning column is a subset of the index keys, use a local index. If this is the case, you are finished. If this is not the case, continue to guideline 2.
2. If the index is unique, use a global index. If this is the case, you are finished. If this is not the case, continue to guideline 3.
3. If your priority is manageability, use a local index. If this is the case, you are finished. If this is not the case, continue to guideline 4.
4. If the application is an OLTP one and users need quick response times, use a global index. If the application is a DSS one and users are more interested in throughput, use a local index.
Kind regards,
Tonguç -
Insert statement does not insert all records from a partitioned table
Hi
I need to insert records in to a table from a partitioned table.I set up a job and to my surprise i found that the insert statement is not inserting all the records on the partitioned table.
for example when i am using select statement on to a partitioned table
it gives me 400 records but when i insert it gives me only 100 records.
can anyone help in this matter.INSERT INTO TABLENAME(COLUMNS)
(SELECT *
FROM SCHEMA1.TABLENAME1
JOIN SCHEMA2.TABLENAME2a
ON CONDITION
JOIN SCHEMA2.TABLENAME2 b
ON CONDITION AND CONDITION
WHERE CONDITION
AND CONDITION
AND CONDITION
AND CONDITION
AND (CONDITION
HAVING SUM(COLUMN) > 0
GROUP BY COLUMNS -
Performance issues with version enable partitioned tables?
Hi all,
Are there any known performance issues with version enable partitioned tables?
Ive been doing some performance testes with a large version enable partitioned table and it seems that OCB optimiser is choosing very expensive plans during merge operations.
Tanks in advance,
Vitor
Example:
Object Name Rows Bytes Cost Object Node In/Out PStart PStop
UPDATE STATEMENT Optimizer Mode=CHOOSE 1 249
UPDATE SIG.SIG_QUA_IMG_LT
NESTED LOOPS SEMI 1 266 249
PARTITION RANGE ALL 1 9
TABLE ACCESS FULL SIG.SIG_QUA_IMG_LT 1 259 2 1 9
VIEW SYS.VW_NSO_1 1 7 247
NESTED LOOPS 1 739 247
NESTED LOOPS 1 677 247
NESTED LOOPS 1 412 246
NESTED LOOPS 1 114 244
INDEX RANGE SCAN WMSYS.MODIFIED_TABLES_PK 1 62 2
INDEX RANGE SCAN SIG.QIM_PK 1 52 243
TABLE ACCESS BY GLOBAL INDEX ROWID SIG.SIG_QUA_IMG_LT 1 298 2 ROWID ROW L
INDEX RANGE SCAN SIG.SIG_QUA_IMG_PKI$ 1 1
INDEX RANGE SCAN WMSYS.WM$NEXTVER_TABLE_NV_INDX 1 265 1
INDEX UNIQUE SCAN WMSYS.MODIFIED_TABLES_PK 1 62
/* Formatted on 2004/04/19 18:57 (Formatter Plus v4.8.0) */
UPDATE /*+ USE_NL(Z1) ROWID(Z1) */sig.sig_qua_img_lt z1
SET z1.nextver =
SYS.ltutil.subsversion
(z1.nextver,
SYS.ltutil.getcontainedverinrange (z1.nextver,
'SIG.SIG_QUA_IMG',
'NpCyPCX3dkOAHSuBMjGioQ==',
4574,
4575
4574
WHERE z1.ROWID IN (
(SELECT /*+ ORDERED USE_NL(T1) USE_NL(T2) USE_NL(J2) USE_NL(J3)
INDEX(T1 QIM_PK) INDEX(T2 SIG_QUA_IMG_PKI$)
INDEX(J2 WM$NEXTVER_TABLE_NV_INDX) INDEX(J3 MODIFIED_TABLES_PK) */
t2.ROWID
FROM (SELECT /*+ INDEX(WM$MODIFIED_TABLES MODIFIED_TABLES_PK) */
UNIQUE VERSION
FROM wmsys.wm$modified_tables
WHERE table_name = 'SIG.SIG_QUA_IMG'
AND workspace = 'NpCyPCX3dkOAHSuBMjGioQ=='
AND VERSION > 4574
AND VERSION <= 4575) j1,
sig.sig_qua_img_lt t1,
sig.sig_qua_img_lt t2,
wmsys.wm$nextver_table j2,
(SELECT /*+ INDEX(WM$MODIFIED_TABLES MODIFIED_TABLES_PK) */
UNIQUE VERSION
FROM wmsys.wm$modified_tables
WHERE table_name = 'SIG.SIG_QUA_IMG'
AND workspace = 'NpCyPCX3dkOAHSuBMjGioQ=='
AND VERSION > 4574
AND VERSION <= 4575) j3
WHERE t1.VERSION = j1.VERSION
AND t1.ima_id = t2.ima_id
AND t1.qim_inf_esq_x_tile = t2.qim_inf_esq_x_tile
AND t1.qim_inf_esq_y_tile = t2.qim_inf_esq_y_tile
AND t2.nextver != '-1'
AND t2.nextver = j2.next_vers
AND j2.VERSION = j3.VERSION))Hello Vitor,
There are currently no known issues with version enabled tables that are partitioned. The merge operation may need to access all of the partitions of a table depending on the data that needs to be moved/copied from the child to the parent. This is the reason for the 'Partition Range All' step in the plan that you provided. The majority of the remaining steps are due to the hints that have been added, since this plan has provided the best performance for us in the past for this particular statement. If this is not the case for you, and you feel that another plan would yield better performance, then please let me know and I will take a look at it.
One suggestion would be to make sure that the table was been recently analyzed so that the optimizer has the most current data about the table.
Performance issues are very hard to fix without a reproducible test case, so it may be advisable to file a TAR if you continue to have significant performance issues with the mergeWorkspace operation.
Thank You,
Ben -
"GUID partition table scheme" Can't install snow leopard on my mbp.
I have a mbp that is partitioned as half mac, half XP. I put in the snow leopard CD and came up with an error that said I could not istall snow leopard because my partition did not fit the "GUID partition table scheme". I followed the menues to the partition section of the disk utility. From there, I don't know what to do. I can't click on the "options" button to change to the GUILD thing. Do I need to repartition my entire mbp? Will this erase my other partition? And will it delete all my data? Any suggestions on what to do???
GUID partition table (GPT) or map is a set of instructions at the very begining of a storage drive to tell the hardware what partitions and formats are where on the drive.
A Intel Mac now requires a GPT to boot OS X as it uses EFI (Extensible Firmware Interface) which is a software firmware in a hidden EFI partition on the boot drive designed originally for copy protection by Intel. EFI loads into memory before OS X does, which can be seen if you have verbose mode activated upon boot time.
Setting up the boot drive with a GUID Partiton table WILL require backing up of all data off the machine and a complete erasure of ALL partitions on the drive, which includes ALL data, programs, operating systems and files not backed up off the machine previously.
Since a partition map is basically road directions, when it's destroyed so does go the partitions.
Also since you will be fresh installing 10.6, your free iLife won't tag along,, however you can erase/install 10.5 first then upgrade to 10.6 (no BootCamp) and that shoudl work.
Unfortunatly Mac's only now support Windows 7 in Bootcamp, however Windows 7 Pro (and above) will run XP programs natively or via free virtual machine XP downloaded from Microsoft, however since it's really not native, 3D games etc likely won't run very well.
If your not familiar or willing to take a chance, then I suggest you have someone else upgrade that machine.
https://discussions.apple.com/community/notebooks/macbook_pro?view=documents -
How to delete the data from partition table
Hi all,
Am very new to partition concepts in oracle..
here my question is how to delete the data from partition table.
is the below query will work ?
delete from table1 partition (P_2008_1212)
we have define range partition ...
or help me how to delete the data from partition table.
Thanks
Sree874823 wrote:
delete from table1 partition (P_2008_1212)This approach is wrong - as Andre pointed, this is not how partition tables should be used.
Oracle supports different structures for data and indexes. A table can be a hash table or index organised table. It can have B+tree index. It can have bitmap indexes. It can be partitioned. Etc.
How the table implements its structure is a physical design consideration.
Application code should only deal with the logical data structure. How that data structure is physically implemented has no bearing on application. Does your application need to know what the indexes are and the names of the indexes,in order to use a table? Obviously not. So why then does your application need to know that the table is partitioned?
When your application code starts referring directly to physical partitions, it needs to know HOW the table is partitioned. It needs to know WHAT partitions to use. It needs to know the names of the partitions. Etc.
And why? All this means is increased complexity in application code as this code now needs to know and understand the physical data structure. This app code is now more complex, has more moving parts, will have more bugs, and will be more complex to maintain.
Oracle can take an app SQL and it can determine (based on the predicates of the SQL), which partitions to use and not use for executing that SQL. All done totally transparently. The app does not need to know that the table is even partitioned.
This is a crucial concept to understand and get right. -
How can I add a new column in compress partition table.
I have a compress partition table when I add a new column in that table it give me an error "ORA-22856: CANNOT ADD COLUMNS TO OBJECT TABLES". I had cretaed a table in this clause. How can I add a new column in compress partition table.
CREATE TABLE Employee
Empno Number,
Tr_Date Date
COMPRESS PARTITION BY RANGE (Tr_Date)
PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
PARTITION JUNK Values LESS THAN (MAXVALUE));
Note :
When I create table with this clause it will allow me to add a column.
CREATE TABLE Employee
Empno Number,
Tr_Date Date
PARTITION BY RANGE (Tr_Date)
PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
PARTITION JUNK Values LESS THAN (MAXVALUE));
But for this I have to drop and recreate the table and I dont want this becaue my table is in online state i cannot take a risk. Please give me best solution.Hi Fahed,
I guess, you are using Oracle 9i Database Release 9.2.0.2 and the Table which you need to alter is in OLTP environment where data is usually inserted using regular inserts. As a result, these tables generally do not get much benefit from using table compression. Table compression works best on read-only tables that are loaded once but read many times. Tables used in data warehousing applications, for example, are great candidates for table compression.
Reference : http://www.oracle.com/technology/oramag/oracle/04-mar/o24tech_data.html
Topic : When to Use Table Compression
Bug
Reference : http://dba.ipbhost.com/lofiversion/index.php/t147.html
BUG:<2421054>
Affects: RDBMS (9-A0)
NB: FIXED
Abstract: ENH: Allow ALTER TABLE to ADD/DROP columns for tables using COMPRESS feature
Details:
This is an enhancement to allow "ALTER TABLE" to ADD/DROP
columns for tables using the COMPRESS feature.
In 9i errors are reported for ADD/DROP but the text may
be misleading:
eg:
ADD column fails with "ORA-22856: cannot add columns to object tables"
DROP column fails with "ORA-12996: cannot drop system-generated virtual column"
Note that a table which was previously marked as compress which has
now been altered to NOCOMPRESS also signals such errors as the
underlying table could still contain COMPRESS format datablocks.
As of 10i ADD/SET UNUSED is allowed provided the ADD has no default value.
Best Regards,
Muhammad Waseem Haroon
[email protected] -
How can I create my own tag name while creating a partition table.
I have X4500 running Solaris 10. I have formatted a disk and created partition table as given below.
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
/dev/dsk/c0t0d0s0 is part of active ZFS pool zpool1. Please see zpool(1M).
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
fdisk - run the fdisk program
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
inquiry - show vendor, product and revision
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> partition
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> print
Current partition table (original):
Total disk sectors available: 1953508749 + 16384 (reserved sectors)
Part Tag Flag First Sector Size Last Sector
0 usr wm 34 4.00GB 8388641
1 usr wm 8388642 2.00GB 12582945
2 usr wm 12582946 200.00GB 432013345
3 usr wm 432013346 175.00GB 799014945
4 usr wm 1166180386 375.43GB 1953508748
5 usr wm 799014946 175.00GB 1166016545
6 usr wm 1166016546 80.00MB 1166180385
8 reserved wm 1953508749 8.00MB 1953525132
partition>
I am unable to specify my own tag name. How can I change the tag name to one of my interest.
I need to create 3 partitions as told below
partitions:
/earth
/mars
/work
/earth and /work should be roughly equal in size, /mars should be twice the size of the others, if that is possible. If not 3 partitions of equal size will do.
Please, help me .
Thank you.Exactly 1TB? Slightly under/slightly over?
Traditional Solaris disk labels are in VTOC format, but this format cannot describe disks larger than 1TB. So EFI labels must be used on disks larger than 1TB. Setup is slightly different.
Are these physical disks or LUNs from a SAN array? If they are array LUNS, it is often the case that they don't have a Sun label of any type. So...
#1 Apply a Solaris label
If the LUNS don't have a label (when selected in 'format', it gives a warning that no label is present and offers to apply a label immediately). When run non-interactively, format assumes "yes" for any questions. So all you'd have to do is select every disk to have it apply labels to any unlabled disk. Run 'format' once and find the highest number (maybe it's 50 for you). Create a text file that looks like this:
disk 1
disk 2
disk 3
disk 50Then feed that to format like this:
# format -f /tmp/disklist or whatever you've named the file.
#2 Apply the partition layout to all disks you want.
You asked if you should do the same procedure, but I don't see that you've actually done anything above other than print out the existing layout. Take one of your 48 drives and partition it the way you want manually (set the slices to the sizes that you want). Then you can copy the layout of that disk to others. You only want to do this between disks/LUNs of the same size. As an example, if you've explicitly partitioned c1t0d0 and you want to apply this to c1t1d0, do this:
# prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2Repeat for all of your other disks.
Darren
Maybe you are looking for
-
How can I recover email from library file?
I tried to convert from incoming POP to IMAP (per instructions from Verizon). I then saw thousands of emails in my inbox disappear. They reside in my library folder with a different name: Library/mail/POP-(my email address/INBOX/messages/. I can
-
F4 help based on the records in the same column
Dear All its an fantastic blog....i have one different question for u....n u can check the below.. is it possible to get F4 functionality for a record in column in ALV based on the first 3 records of the same column.... material vendor shipping contr
-
Thread 1 cannot allocate new log, sequence 1196,Checkpoint not complete
We were receiving the following messages in alert log. We have Oracle 10g R2 database having four redo log groups with two members each (50 MB). To overcome this error yesterday we added two more groups with same config. Again we received the same me
-
Hello, we are running EBS 11.5.10.2 with 11.2.0.2 database. Now we are planing to upgrade only application from 11.5.10.2 to R12.1.3. Are there any issues in upgrading application from 11.5.10.2 to R12.1.3 , I heard that we can not upgrade applicatio
-
Toast 7.1 Media Browser-iPhotos Will Not Show
Since purchasing Toast 7.1 none of my iPhotos will show in the Media Browser. My iMovies, iMusic and DVD do show. Ran Disk Warrior and TechTool-no problems. My iPhoto library is located in the correct location-user/Pictures/iPhoto library. I did a qu