Modify INITIAL in partitioned table
Dear all,
Facts:
oracle 10.1
aix 5.3
i have a table with the INITIAL value 1M:
partition PARTITION_83 values less than (201103)
tablespace D_DML
pctfree 0
pctused 40
initrans 1
maxtrans 255
storage
initial 1M
minextents 1
maxextents unlimited
and i want to change that value to 512 k.
i review the next http://ss64.com/ora/table_a_part.html but how can i do that ???
thanks all.
Why? What is the problem you're trying to solve?
I'm assuming you're using locally managed tablespaces since you're using a recent version of Oracle. I'm assuming your partitions are relatively large since partitioning is generally used for very large tables. Given that, the INITIAL parameter no longer controls the size of the initial extent-- instead, in a LMT, it sets a lower bound on the total size of all the extents that are initially allocated to the partition. It seems unlikely that you would have less than 1 MB of extents allocated to your partition-- there's a good chance that it's in a tablespace with uniform extents that are at least 1 MB. If there is more than 1 MB of data in the partition, what would changing the INITIAL parameter accomplish?
Justin
Similar Messages
-
Modify HUGE HASH partition table to RANGE partition and HASH subpartition
I have a table with 130,000,000 rows hash partitioned as below
----RANGE PARTITION--
CREATE TABLE TEST_PART(
C_NBR CHAR(12),
YRMO_NBR NUMBER(6),
LINE_ID CHAR(2))
PARTITION BY RANGE (YRMO_NBR)(
PARTITION TEST_PART_200009 VALUES LESS THAN(200009),
PARTITION TEST_PART_200010 VALUES LESS THAN(200010),
PARTITION TEST_PART_200011 VALUES LESS THAN(200011),
PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE)
CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR, LINE_ID);
Data: -
INSERT INTO TEST_PART
VALUES ('2000',200001,'CM');
INSERT INTO TEST_PART
VALUES ('2000',200009,'CM');
INSERT INTO TEST_PART
VALUES ('2000',200010,'CM');
VALUES ('2006',NULL,'CM');
COMMIT;
Now, I need to keep this table from growing by deleting records that fall b/w a specific range of YRMO_NBR. I think it will be easy if I create a range partition on YRMO_NBR field and then create the current hash partition as a sub-partition.
How do I change the current partition of the table from HASH partition to RANGE partition and a sub-partition (HASH) without losing the data and existing indexes?
The table after restructuring should look like the one below
COMPOSIT PARTITION-- RANGE PARTITION & HASH SUBPARTITION --
CREATE TABLE TEST_PART(
C_NBR CHAR(12),
YRMO_NBR NUMBER(6),
LINE_ID CHAR(2))
PARTITION BY RANGE (YRMO_NBR)
SUBPARTITION BY HASH (C_NBR) (
PARTITION TEST_PART_200009 VALUES LESS THAN(200009) SUBPARTITIONS 2,
PARTITION TEST_PART_200010 VALUES LESS THAN(200010) SUBPARTITIONS 2,
PARTITION TEST_PART_200011 VALUES LESS THAN(200011) SUBPARTITIONS 2,
PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE) SUBPARTITIONS 2
CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
Pls advice
Thanks in advanceSorry for the confusion in the first part where I had given a RANGE PARTITION instead of HASH partition. Pls read as follows;
I have a table with 130,000,000 rows hash partitioned as below
----HASH PARTITION--
CREATE TABLE TEST_PART(
C_NBR CHAR(12),
YRMO_NBR NUMBER(6),
LINE_ID CHAR(2))
PARTITION BY HASH (C_NBR)
PARTITIONS 2
STORE IN (PCRD_MBR_MR_02, PCRD_MBR_MR_01);
CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
Data: -
INSERT INTO TEST_PART
VALUES ('2000',200001,'CM');
INSERT INTO TEST_PART
VALUES ('2000',200009,'CM');
INSERT INTO TEST_PART
VALUES ('2000',200010,'CM');
VALUES ('2006',NULL,'CM');
COMMIT;
Now, I need to keep this table from growing by deleting records that fall b/w a specific range of YRMO_NBR. I think it will be easy if I create a range partition on YRMO_NBR field and then create the current hash partition as a sub-partition.
How do I change the current partition of the table from hash partition to range partition and a sub-partition (hash) without losing the data and existing indexes?
The table after restructuring should look like the one below
COMPOSIT PARTITION-- RANGE PARTITION & HASH SUBPARTITION --
CREATE TABLE TEST_PART(
C_NBR CHAR(12),
YRMO_NBR NUMBER(6),
LINE_ID CHAR(2))
PARTITION BY RANGE (YRMO_NBR)
SUBPARTITION BY HASH (C_NBR) (
PARTITION TEST_PART_200009 VALUES LESS THAN(200009) SUBPARTITIONS 2,
PARTITION TEST_PART_200010 VALUES LESS THAN(200010) SUBPARTITIONS 2,
PARTITION TEST_PART_200011 VALUES LESS THAN(200011) SUBPARTITIONS 2,
PARTITION TEST_PART_MAX VALUES LESS THAN(MAXVALUE) SUBPARTITIONS 2
CREATE INDEX TEST_PART_IX_001 ON TEST_PART(C_NBR,LINE_ID);
Pls advice
Thanks in advance -
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 -
Hi,
Please let me know how to modify the partition table of the disk on to which root is mounted. I want to extend the root space, by modifying the partition table.
Is there any other way of extending the root disk space?
Thanks in Advance
- Sarat.Take backup, re-partition, newfs, restore (you are talking about simple root, no mirroring/veritas, right?)
-
Tablespace about partitioned table
Guys,
I've had some issues with the partitioned tables. Scenario is like this..
I have had a table, which was partitioned. I had to move all the partitions of this table to a new one, which worked fine and dropped the old tablespace. But now when i try to split the partition, the table still referes to the old tablespace name at a higer level. How do i change this..
I am refering to the USER_DATA on top, which is the default tablespace for the user.
It looks something like :
CREATE TABLE XCM_CU19_ASGN_DLR
XCM_CONSUMER_PK VARCHAR2(14 BYTE) NOT NULL,
COUNTRY_ISO3_C VARCHAR2(3 BYTE) NOT NULL,
CUST_CUSTOMER_R NUMBER(11) NOT NULL,
CUD_DLR_CTRY_C VARCHAR2(3 BYTE) NOT NULL,
CUD_DLR_C VARCHAR2(8 BYTE) NOT NULL,
CUD_DLR_ROLE_C INTEGER,
CUD_DLR_REF_X VARCHAR2(15 BYTE),
CUD_DLR_ST_Y DATE,
CUD_DLR_END_Y DATE,
P_CUD_DLR_SRC_C INTEGER,
P_UPDATE_ID_C VARCHAR2(8 BYTE),
P_UPDATE_S DATE,
XCM_UPDATE_S DATE,
IBMSNAP_LOGMARKER TIMESTAMP(6)
TABLESPACE USER_DATA
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
PARTITION BY RANGE (COUNTRY_ISO3_C)
PARTITION PRT001 VALUES LESS THAN ('CZE')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT002 VALUES LESS THAN ('DNK')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT003 VALUES LESS THAN ('FIN')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT004 VALUES LESS THAN ('GBR')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT005 VALUES LESS THAN ('GIB')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT006 VALUES LESS THAN ('ITA')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT007 VALUES LESS THAN ('USA')
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PARTITION PRT008 VALUES LESS THAN (MAXVALUE)
LOGGING
NOCOMPRESS
TABLESPACE XCM04_DATA
PCTUSED 40
PCTFREE 10
INITRANS 10
MAXTRANS 255
STORAGE (
INITIAL 20M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS 501
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
NOCACHE
PARALLEL ( DEGREE 8 INSTANCES 1 )
ENABLE ROW MOVEMENT;ThanksI've done this before but I couldn't find it quickly... hence I thought it was the MOVE TABLESPACE clause. But now I think what I did was:
ALTER TABLE xxx MODIFY DEFAULT ATTRIBUTES TABLESPACE yyy;See
http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_3001.htm#i2131000
Cheers,
Colin -
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. -
How to import partitioned tables in different tablespace
Hi everyone,
I try to import the partitioned tables in different tablespace.
Consider the following situation:
I have a dump file which is created by using "Export" utility. Some data are in partitioned tables, some of them are in non-partitioned tables. Also, all tables are located in "MYTBS" tablesapce. I try to import all data from this dump file to another database. I didn't get error messages when importing the data from non-partitioned tables. However, I got error message when importing the data from partitioned tables. The error message is: tablespace 'MYTBS' does not exist.
I just want to how I can solve this problem other than create 'MYTBS' tablespace for my new database.
Thanks in advance.
AngelHi,
I got the following error message:
IMP-00017: following statement failed with ORACLE error 959:
"CREATE TABLE "FACILITYCONNECTION",....., "CONNECTIONTYPE" "
"NUMBER(1, 0) NOT NULL ENABLE) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"
"5 PARALLEL ( DEGREE DEFAULT INSTANCES 1) NOLOGGING STORAGE( PCTINCREASE 0) "
"TABLESPACE "MYTBS" PARTITION BY RANGE ("CONNECTIONTYPE" ) (PARTITION "
""EXT" VALUES LESS THAN (1) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 S"
"TORAGE(INITIAL 65536) TABLESPACE "MYTBS" NOLOGGING, PARTITION "FAC" VA"
"LUES LESS THAN (2) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(I"
"NITIAL 65536) TABLESPACE "MYTBS" NOLOGGING )"
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'MYTBS' does not exist
Thanks.
Angel -
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; -
Query Needed for Partitioning table
Hi,
I have created a table called Test. There is a column named business_name.
There are several businesses like ABC,BCD,ADE....
There will be lakhs of rows corresponding to each business, i mean there will be lakhs of entires corresponding to ABC,BCD....
So i like to partition the table according to business_name so that the search will be more faster.As we had partitioned according to the business_name, i hope we need to search only on the partition corresponding to the particular business.
can any one provide the Query to partition the table ' TEST ' according to the column ' business_name ' .
Also can anyone provide Query to modify the already existing table ' TEST ' to incorporate partition for the column ' business_name '.We can partiton a table by the following
create table Generalledger (
record_id number,
business_name varchar2(3)
sales_dt date,
amount number(10)
partition by list (business_name)
partition ct values ('ABC'),
partition ca values ('BCD'),
partition def values (default)
But if we dont know the values like 'ABC' , 'BCD'
....how can we do the partitionuse SQL to generate part (or all) of your DDL statement. The following will output one partition statement for each business_name:
SELECT DISTINCT 'partition p_' || BUSINESS_NAME || ' values (''' ||
BUSINESS_NAME || '''),'
FROM GENERALLEDGER; -
Partitioning tables in Oracle 10g
Hi,
I have a table that already contains more than a million of records, I am considering partitioning it, I am new with the web based console of oracle 10g, so I am not finding the way to do it.
can any one help me?Well, search on "Creating Partitioned Tables" in OEM help and that will tell you how to get to the partitions page for when you are creating a new table. I figured modifying an existing table would be in the Storage tab of that area but I didn't see it. For an existing table, it might be easier just to use SQL Plus.
Or you can use OEM to create a new empty table with partitions and just do a select into... on it.
Gaff -
How to record partitioned tables in Data Modeler ?
Hi,
I have discovered the options for partitioned tables. Some questions remain, however.
1) Static partitions
For one table, a set of predefined partitions is set up in the data model. In certain situations, a new partition is added. Is it possible to generate alter table DDL from the model that will add this partition ?
2) Dynamic partitions
For another table, partitions are added and deleted on the fly (exhange partition). For this tabel, I would like to record just 1 partition, which is added when the tabels are created initially. It is not important to include the actual partitions when synchronizing with the database. Is it possible to skip this for a certain table (i.e. record this preference with the table, since it does not apply for all partitioned tables... ) ?
Thanks,
Richard.Hi Richard,
For one table, a set of predefined partitions is set up in the data model. In certain situations, a new partition is added. Is it possible to generate alter table DDL from the model that will add this partition ?
In Data Modeler version 4.1, ALTER TABLE ... ADD PARTITION statements are generated for new LIST partitions, but not for other types of partitions.
For another table, partitions are added and deleted on the fly (exhange partition). For this tabel, I would like to record just 1 partition, which is added when the tabels are created initially. It is not important to include the actual partitions when synchronizing with the database. Is it possible to skip this for a certain table (i.e. record this preference with the table, since it does not apply for all partitioned tables... ) ?
I've logged an enhancement request on this.
Regards,
David -
How to move lob segment in partitioned table
On my Oracle 11.2, I have a partitioned table wich I would like to move to another tablespace
After invoking script, there's still unmoved lob segment withing table
CREATE TABLE BONGO.AAA_3
ID NUMBER,
DATUM DATE,
OBJEKAT BLOB
TABLESPACE BONGODATA_HUGE
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
LOGGING
PARTITION BY RANGE (DATUM)
PARTITION P_MAXVALUE VALUES LESS THAN (MAXVALUE)
LOGGING
NOCOMPRESS
TABLESPACE BONGODATA_HUGE
LOB (OBJEKAT) STORE AS
( TABLESPACE BONGODATA
ENABLE STORAGE IN ROW
CHUNK 8192
RETENTION
NOCACHE
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;how to move this lob segment in partitioned table?
or, is there some package for data move within tablespaces?
regardstnx...
now, I have another problem..
I have a nested table within partitioned table, and I'm trying to move it to another tablespace.
I tried to move child table (of nested type colum), but I didn't succedeed... -
Insert performance issue with Partitioned Table.....
Hi All,
I have a performance issue during with a table which is partitioned. without table being partitioned
it ran in less time but after partition it took more than double.
1) The table was created initially without any partition and the below insert took only 27 minuts.
Total Rec Inserted :- 2424233
PL/SQL procedure successfully completed.
Elapsed: 00:27:35.20
2) Now I re-created the table with partition(range yearly - below) and the same insert took 59 minuts.
Is there anyway i can achive the better performance during insert on this partitioned table?
[ similerly, I have another table with 50 Million records and the insert took 10 hrs without partition.
with partitioning the table, it took 18 hours... ]
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 4195045590
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 643K| 34M| | 12917 (3)| 00:02:36 |
|* 1 | HASH JOIN | | 643K| 34M| 2112K| 12917 (3)| 00:02:36 |
| 2 | VIEW | index$_join$_001 | 69534 | 1290K| | 529 (3)| 00:00:07 |
|* 3 | HASH JOIN | | | | | | |
| 4 | INDEX FAST FULL SCAN| PK_ACCOUNT_MASTER_BASE | 69534 | 1290K| | 181 (3)| 00:00
| 5 | INDEX FAST FULL SCAN| ACCOUNT_MASTER_BASE_IDX2 | 69534 | 1290K| | 474 (2)| 00:00
PLAN_TABLE_OUTPUT
| 6 | TABLE ACCESS FULL | TB_SISADMIN_BALANCE | 2424K| 87M| | 6413 (4)| 00:01:17 |
Predicate Information (identified by operation id):
1 - access("A"."VENDOR_ACCT_NBR"=SUBSTR("B"."ACCOUNT_NO",1,8) AND
"A"."VENDOR_CD"="B"."COMPANY_NO")
3 - access(ROWID=ROWID)
Open C1;
Loop
Fetch C1 Bulk Collect Into C_Rectype Limit 10000;
Forall I In 1..C_Rectype.Count
Insert test
col1,col2,col3)
Values
val1, val2,val3);
V_Rec := V_Rec + Nvl(C_Rectype.Count,0);
Commit;
Exit When C_Rectype.Count = 0;
C_Rectype.delete;
End Loop;
End;
Total Rec Inserted :- 2424233
PL/SQL procedure successfully completed.
Elapsed: 00:51:01.22
Edited by: user520824 on Jul 16, 2010 9:16 AMI'm concerned about the view in step 2 and the index join in step 3. A composite index with both columns might eliminate the index join and result in fewer read operations.
If you know which partition the data is going into beforehand you can save a little bit of processing by specifying the partition (which may not be a scalable long-term solution) in the insert - I'm not 100% sure you can do this on inserts but I know you can on selects.
The APPEND hint won't help the way you are using it - the VALUES clause in an insert makes it be ignored. Where it is effective and should help you is if you can do the insert in one query - insert into/select from. If you are using the loop to avoid filling up undo/rollback you can use a bulk collect to batch the selects and commit accordingly - but don't commit more often than you have to because more frequent commits slow transactions down.
I don't think there is a nologging hint :)
So, try something like
insert /*+ hints */ into ...
Select
A.Ing_Acct_Nbr, currency_Symbol,
Balance_Date, Company_No,
Substr(Account_No,1,8) Account_No,
Substr(Account_No,9,1) Typ_Cd ,
Substr(Account_No,10,1) Chk_Cd,
Td_Balance, Sd_Balance,
Sysdate, 'Sisadmin'
From Ideaal_Cons.Tb_Account_Master_Base A,
Ideaal_Staging.Tb_Sisadmin_Balance B
Where A.Vendor_Acct_Nbr = Substr(B.Account_No,1,8)
And A.Vendor_Cd = b.company_no
;Edited by: riedelme on Jul 16, 2010 7:42 AM -
SYNC(EVERY interval ) deployment for Partitioned Tables
I am wondering if anyone has deployed the SYNC(EVERY "SYSDATE + interval") style in a Partition table environment where there is a large number of partitions but only a few the most recent 7days (lets say 30 days) have any inserts/updates. As I understand it, the SYNC(EVERY interval) creates a DBMS_SCHEDULER job for each partition and the job will submit as per the interval. We have about 5000 partitions on any given day; partitions get dropped and we add a new one for the fututre (we keep 30 days ahead).
1. Is it possible to modify the interval in these auto created Jobs? For Partitions older thasn X days i would want to run the job every Z hours
2. Disable the future jobs until the day required (enable 10 minutes before the partition becomes "active" -- gets data
RegardsHi,
you can read about this in the manual (http://docs.oracle.com/cd/E11882_01/text.112/e24436/csql.htm#i997677). The manual says: "Each partition of a locally partitioned index can have its own type of sync (ON COMMIT, EVERY, or MANUAL). The type of sync specified in master parameter strings applies to all index partitions unless a partition specifies its own type." So it is possible to set for each partition its own sync type. This is possible with an ALTER statement:
ALTER INDEX index_name MODIFY PARTITION partition_name PARAMETER (paramstring)1. With the above alter you can change it
2. You can put a partition to MANUAL and then synchronize when necessary.
So if you know when the partition needs to change, you can change it possible with another job or procedure.
Herald ten Dam
http://htendam.wordpress.com -
How to import partition table in 10 express edition database
Hi all,
I have 10g express edition installed on my laptop, I have a table with partition now I am unable to import that table in my oracle 10 express edition database.Anybody help me in this regard that how could I able to import this table in my database, even I dont want its partitions I want only data.
RegardsThe phrase "awfully small table" was not intended as criticism. It merely notes that tables smaller than 2 GB would normally be too small to partition. Since you didn't specify the amount of data initially, it was reasonable to suspect that you might exceed the express edition data size limits.
If you pre-create the table as a non-partitioned table (i.e. do a CREATE TABLE manually) before importing, I would expect that would allow the import to succeed (of course, you'd have to ignore the warning that the object already existed when it was time to import).
Justin
Maybe you are looking for
-
I have the latest downloadable version of LR5. It crashed while it was createing 1:1 previews during an import. After a Win7(64) restart, it shows a message that LR needs to quit because it can't read the preview files and it will try to fix it the
-
Adobe Acrobat 10.1.4 Crash.
Hi, I'm having an odd issue with computers that I deployed Adobe CS5.5 to recently using AAMEE 2.1, OSX 10.7.4. I just recently pushed out the Adobe Acrobat 10.1.4 update using Munki.. On a large percentage of our computers where CS5.5 was deployed
-
Infopackage Abap Routine (Selection based on other fields?)
Dear Friends, I know that Abap routine is used in infopackage to select or restrict using complex data selection. My requirement is to restrict Material no field based on 4 other fields. Is that possible? Actual condition is to load Material no only
-
Error in Iview Skills profile (career & job)
Hi All, I am getting this error while working on the iview on skill profile Career & job in ESS. please give answer IT IS VERY URGENT <b>Skills Profile 500 Internal Server Error SAP NetWeaver Application Server 7.00/Java AS 7.00 Failed to
-
Corel Pain Essentials 3 alternative, Is there Free one?
GIMP and IMAGE TRICKS are great. but they're more for editing photos I want a alternative to Corel Painter Esentials 3( which is what i bought for Tiger and now i'm moving to SL) And possibly free cause after buying a New Mac Pro.. i dont' really wan