HCC and PctFree
We seek to optimize storage space and I had a question about Compression hybrid columnar (HCC) and pctfree values. I think that the basic compress clause will use a pctfree 0 unless you specify a value. I know also that compress for OLTP will use a pctfree 10 unless ignore you it. My question is will HCC will automatically use a pctfree 0 or does use a different default value. I think that to archive high, he would use a pctfree 0, but wanted to see if someone could confirm this.HCC should use a pctfree 0 as compression units (UC) are written only once - lines cannot be added to a CPU at a later stage in time then why leave free space which can never be used?
--
Kind regards
Greg Rahn
http://structureddata.org
Tags: Database
Similar Questions
-
Subpartition compresses with pctfree
Hello
How compress subpartition on exadata, by using "high motion" and pctfree 10 options?
I used this statement, but I get only ORA-14160: this physical attribute may not be specified for a table subpartition.
ALTER table table_name move subpartition subpartition_name PCTFREE 10 compress to request high;
Published by: user837363 on 2012-11-12 05:14The document is on My Oracle Support
https://support.Oracle.com/epmos/faces/UI/km/SearchDocDisplay.JSPX?ID=258597.1&type=document&DisplayIndex=1
The short version is: you cannot specify physical attributes such as compression for an individual subpartition. You will have to do for the whole score (or even the entire table).
Marc
-
Cancel a vector of change or an entire block
Cancel a vector of change or the last image of the entire block?
John Thorton says:
UNDO lies in its own tablespace; not with the table object tablespace
PCTFREE is not applicable in LMT which everyone should use instead of manually managed tablespace.
I am struggling to find a way that the OP could find no link between the generation pctfree cancel, and pctfree is applicable in LMT.
To answer your question on "what difference does make" - the obvious difference is that if you think that undo is to save the old blocks so the space that allow you to cancel when set the resources will be much larger it would be if you think that it is on the drivers of change.
Concerning
Jonathan Lewis
-
Change the INITRANS parameter to the existing blocks
Version 11.2.0.2.0
Hello guys, got little stuck to change the INITRANS parameter to a table partition. The table is partitioned by range.
To change the INITRANS and PCTFREE for new block that will be generated, I can use the following statement.
ALTER TABLE < table_name > PARTITION EDIT < nom_partition > INITRANS < value > < value > PCTFREE; (but this change will apply only to newly created blocks and not the existing blocks).
I try to change the existing blocks too, so when I read the thread on otn How do I change initrans in the partition table? he said to use the 'MOVE' clause, so I used the following statement.
ALTER TABLE < table_name > FILM PARTITION < nom_partition > INITRANS < value > < value > PCTFREE; (they said that this measure will apply the change to exisiting blocks as well), but when I executed this statement I got the following error message.
ORA-14020: this physical attribute may not be specified for the partition table.
Can someone tell me where I'm wrong and I have to do correctly to apply the change initrans and pctfree to existing blocks of the table too?
Thank you
Cut-n-pasted from SQL * Plus - 11.2.0.4
SQL > set comments on
SQL > alter table pt_range move partition p400 initrans 20 pctfree 10;
Modified table.
Concerning
Jonathan Lewis
-
I have a small question.
I have create table like this:
create table (Appo)
number of col1,
col2 number
)
tablespace user_data
INITRANS 1
PCTFREE 10
Then I insert 100K record in the table. Secondly, I want to change the initrans and pctfree for the table:
ALTER table Appo initrans 20 45 pctfree
/
ALTER table Appo move
/
My doubt is: after the table entering (the same tablespace) the old block which contained the 100K rows changes to the new definition of pctfree, initrans, or not?
Tanks
StefanikHello
new definition of pctfree, initrans will support.
concerning
-
Hello
Can any body what is the use of the clause UNRECOVERABLE and PCTFREE
For example:
create the table sunk pctfree tempo
Thank youUNRECOVERABLE
This was frowned upon and supported only for backward compatibility. You must use the NOLOGGING clause or logging. To find out about them, you can read the document oracle.
PCTFREE
It is a parameter that indicates the amount of free space is required in a data block to make room for later updates. Again, you can read more about this document.
Here is the link for the document of 10g R2
http://www.Oracle.com/pls/db102/homepage
-
Hai!
I want to improve the performance of insertion and retriving from a table! "
* Could I achieve this by changing the PCTFREE and PCTUSED values?
* If so, what are the values that I put?
-my table contains lakhs of records.
-is continuous insertion of records.
-Update of the is a rare disease.
-iam using Oracle 10 g, data_block_size = 8kb, OS: windows-7
* What to change in the block size?
-Do I need to increase it? or decrease it?936113 wrote:
u could tell me, how would I know if Segment space management is AUTOMATIC or NOT...!select segment_space_management from user_tablespaces where tablespace_name = (select tablespace_name from user_tables where table_name = 'XXX');
-
can I put PCTFREE and PCTUSED in LMT
Hello
can I put PCTFREE and PCTUSED in LMT (locally tablesapce)?
and how I can decrease the probability of migration of line and chaning in LMT
Thank youHello
It depends on the MANAGEMENT option space you choose.
If you create the LMT with SPACE MANAGEMENT MANUAL then you will always have to tune
PCTFREE and PCTUSED as formelly (with DMT).
It is recommended to use the AUTOMATIC SPACE MANAGEMENT then these settings are tuned
by algorithms.Also, by setting the AUTOMATIC SPACE MANAGEMENT, you can use the SHRINK command which is very
useful to rearrange your Tables and indexes (starting with 10g).Best regards
Jean Valentine -
PCTFREE and PCTUSED for index.
Simple doubt confuse many.
1 why PCTFREE is required as update is performed internally as a deletion followed by insert in the index? Also this PCTFREE can waste space also in block.
2. why PCTUSED is required as a complete block must be free (no key entry) to be re-used anywhere in the structure of the index by listing in free-list index?
-YasserYasserRACDBA wrote:
Simple doubt confuse many.1 why PCTFREE is required as update is performed internally as a deletion followed by insert in the index? Also this PCTFREE can waste space also in block.
PCTFREE is essentially used for updates of these Null enteries in marketing and now have updated.
2. why PCTUSED is required as a complete block must be free (no key entry) to be re-used anywhere in the structure of the index by listing in free-list index?
PCTUSED is NOT used for the index. You can't control how index blocks would be used as as setting limits used again lower in data blocks. Here's a good explanation for the same question asked by yours truly :)
HTH
Aman... -
FREELISTS and FREELIST GROUPS of CREATE TABLE
My oracle 10g, create table statement is below:
CREATE TABLE S005. Test
(
AAA char (1)
)
PCTFREE 0
STORAGE)
FREELISTS 10
FREELIST GROUPS 20
)
LOGGING
NOCACHE
NOPARALLEL
NOMONITORING;
After performing this sql, I have a query table USER_TABLES but FREELISTS and FREELIST_GROUPS fields show nothing.
In my view, FREELISTS value must be 10, and FREELIST_GROUPS should be 20. How to retrieve these values?
Thank you very much
-
Question about the rowchain and performance impact
Hi all
We have a table is partitioned and we insert data with values in column PK only leaving all other null column values. After one or two days we will update the column values.
We are to suspect that our table suffers from rowchain. We did no analysis to see the rowchain as he is busy 24/7 system. system stats "table continues line" could not useful as we do scan on partitions full and never no index lookup.
Assuming that we suffer from rowchain what is the best practice to follow?
(1) should we insert the dummy data in the first place? We wanted to insert some dummy values that is going to be same length of length of data for future update. What is this popular help with problem the chain line?
Made Oracle deletes data on the block and reuses the same space for the new updated value? (Assuming that the new value of data will be exact same length)
(2) if the method above doesn't work, then the only solution it to have high PCTFREE?
-Thank you
That should help, if your update does not increase the size of the line is not necessary for oracle to migrate.
You another issue of additional work would not set. What is a two step process?
-
Hello Experts,
I read a slide (five things you probably don't know about SQL) on the values NULL and the cardinality of Tom Kyte. He has demonstrated this indexed column with estimate cardinality evil cause NULL values. However, I do not understand why it causes the estimation of cardinality wrond? You have an idea?
Party suite comes from the slide. Here's the proof, but is not written why.
OPS$ % ORA11GR2 tkyte > create table t2 20 PCTFREE
3 as
4. Select a.*,
5 case when mod(rownum,100) < = 50
6 then last_ddl_time
7 end end_date
8 object;
Table created.
OPS$ % ORA11GR2 tkyte > create indexes t_idx2 on t (end_date);
The index is created.
OPS$ % ORA11GR2 tkyte > select count (*)2 t
3 where end_date
4 between to_date ('01 - sep - 2010 "," dd-mon-yyyy "")
5 and to_date ('30-Oct-2010, ' mon-dd-yyyy "");
COUNT (*)
----------
36267
OPS$ % ORA11GR2 tkyte > startDBMS_STATS.gather_table_stats 2 (user, 't');
3 end;
4.
PL/SQL procedure successfully completed.
OPS$ % ORA11GR2 tkyte > select count (*),2. count (distinct end_date)
count (end_date) 3,.
min (end_date) 4,
5 max (end_date)
6 t;
CNT CNTD CNT2 MIN MAX
---------- ---------- ---------- --------- ---------
72228 703 36850 1 OCTOBER 02 SEP 30.-11
OPS$ % ORA11GR2 tkyte > set autotrace traceonly explainOPS$ % ORA11GR2 tkyte > select *.
2 t
3 where end_date
4 between to_date (' 01-sep-2010', 'dd-mon-yyyy')
5 and to_date ('30-Oct-2010, 'dd-mon-yyyy');
Execution plan
----------------------------------------------------------
Hash value of plan: 1601196873
--------------------------------------------------------------------------| ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 36024 | 3588K | 339 (1) | 00:00:05 |
|* 1 | TABLE ACCESS FULL | T | 36024 | 3588K | 339 (1) | 00:00:05 |
--------------------------------------------------------------------------
Information of predicates (identified by the operation identity card):
---------------------------------------------------
1 Filter ("End_date" < = TO_DATE (' 2010-09-30 00:00:00 ',' syyyy-mm-dd '))
HH24:MI:SS') AND 'End_date' > = TO_DATE (' 2010-09-01 00:00:00 ', ')
'syyyy-mm-dd hh24:mi:ss"))
OPS$ % ORA11GR2 tkyte > update tEnd_date set 2 =.
3 to_date ('01 - jan - 9999',' mon-dd-yyyy "")
4 where End_date is null;
35378 lines to date.
OPS$ % ORA11GR2 tkyte > commit;
Validation complete.
OPS$ % ORA11GR2 tkyte > startDBMS_STATS.gather_table_stats 2 (user, 't');
3 end;
4.
PL/SQL procedure successfully completed.
OPS$ % ORA11GR2 tkyte > select *.2 t
3 where end_date
4 between to_date ('01 - sep - 2010 "," dd-mon-yyyy "")
5 and to_date ('30-Oct-2010, ' mon-dd-yyyy "");
Execution plan
-------------------------------------------------
Hash value of plan: 470836197
---------------------------------------------------------------------------| ID | Operation | Name | Lines | Bytes | Cost (% CPU).
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 175. 18375 | 10 (0) |
| 1. TABLE ACCESS BY INDEX ROWID | T | 175. 18375 | 10 (0) |
|* 2 | INDEX RANGE SCAN | T_IDX | 175 | | 2 (0) |
---------------------------------------------------------------------------
Information of predicates (identified by the operation identity card):
---------------------------------------------------
1 Filter ("End_date" < = TO_DATE (' 2010-09-30 00:00:00 ',' syyyy-mm-dd '))
HH24:MI:SS') AND 'End_date' > = TO_DATE (' 2010-09-01 00:00:00 ', ')
'syyyy-mm-dd hh24:mi:ss"))
Thanks in advance.
Charlie
Jonathan has hit it on the head.
the index has nothing really to do with anything.
See ask Tom: on queries to external tables, the consistency of data and nothing
" NULL values and cardinality.
-
Local and Global Index confusion...
Hi all
Oracle Database 10 g Enterprise Edition Release 10.2.0.3.0 - 64 bit
I have a partitioned table, when developing the application, they have committed an index ON this table. Previously, whenever we use to run 'Alter Table add partition..' global index becomes unusable and I used to rebuild the same. But in recent months, each time we add partition (Alter Table... ADD Partition..) on this table, index will get unusable to stat instead it shows that indexes THE data dictionaries (Lacality = Local in USER_PART_INDEXES). Partitioned indexes are also automatically created with each table partition creation.
But the query below shows the output indexes are GLOBAL.
Select double dbms_metadata.get_ddl('INDEX','ABCD','USER_A');
Can someone me help on what actually happened here.
But the example above has the keyword LOCAL?
CREATING INDEX 'SEB '. "" CDRV_I1 ""SEBS ". "" CDRV ' ('CDRV_CURNT_FL', 'IND_LAST_VERSN', 'GMT_SEIZ_DT_TIME', 'CLECT_ZONE', 'CALL_ID',
"SWTCH_ADMIN_ABBR")
PCTFREE, INITRANS 10 2 MAXTRANS 255 LOGGING
STORAGE (INITIAL 10485760 NEXT 10485760 MINEXTENTS 2 MAXEXTENTS 2147483645)
PCTINCREASE 0 DEFAULT USER_TABLES)
"SEBS_CDRV_TAB" of LOCAL TABLESPACE
(PARTITION "CDRV_HISTORIC"
PCTFREE, INITRANS 10 2 MAXTRANS 255
STORAGE (INITIAL 10485760 NEXT 10485760 MINEXTENTS 2 MAXEXTENTS 2147483645)
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 DEFAULT USER_TABLES)
TABLESPACE "SEBS_CDRV_TAB."
If it looks like a duck and quacks like a duck, it is very probably a duck (or the local index)
See you soon
Richard Foote
-
I used REGEXP_REPLACE to remove Scott. is it possible to delete all information on Scott and storage simultaneously using REGEXP_REPLACE...?
Select REGEXP_REPLACE (dbms_metadata.get_ddl('TABLE','EMP'), '("Scott")', ", 1, 0, 'i') twice;
result:
CREATE TABLE 'EMP '.
(SELECT 'EMPNO' NUMBER (4,0) NOT NULL,)
'ENAME' VARCHAR2 (10),
VARCHAR2 (9) "JOB."
"MGR" NUMBER (4,0).
"SAL" NUMBER (7.2).
"DEPTNO" NUMBER (2.0)
) PCTFREE, PCTUSED, INITRANS 40 10 1 MAXTRANS 255 NOCOMPRESS SLAUGHTER
TABLESPACE 'USERS '.
I want to:
CREATE TABLE 'EMP '.
(SELECT 'EMPNO' NUMBER (4,0) NOT NULL,)
'ENAME' VARCHAR2 (10),
VARCHAR2 (9) "JOB."
"MGR" NUMBER (4,0).
"SAL" NUMBER (7.2).
"DEPTNO" NUMBER (2.0)
)
Hello.
In fact, it's a Japanese forum here.
I'm sorry, English is not good for me...
According to the reference,.
The description of the parameter called SEGMENT_ATTRIBUTES, it is written like this.
> If
TRUE
, include clauses attributes segment in the DDL. IfFALSE
, omit them. Default value isTRUE
.Before you SELECT it, it's OK if you run the following.
exec DBMS_METADATA. SET_TRANSFORM_PARAM (DBMS_METADATA. False SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES',);
I hope you find it informative.
-
Exadata - any changes in functionality between V2 / X 3 and the ESS/RDBMS?
All,
We are running a quarter V2-rack on 11.2.0.2 BP7 and 11.2.2.3.2 ESS. We're heading to a quarter-rack 3 X little which runs to regardless of recent older versions and the RDBMS/GI/ESS.
We use on our current Production environment, of hepatocellular carcinoma and discovered that with bitmap indexes (which we have a lot), it was necessary to disable the index, perform the HCC compression on the table and then rebuild the index later.
Obviously, an operation very intense when we have HUGE clues.
Anyone know if this same behavior in 11.2.0.3 ESS RDBMS/more later? We are always forced to disable the index before run us HCC on the table or have the relationship between the index bitmap and HCC cooled a bit?
Mark
Hi Mark,
You will get probably may 2013 11.2.0.3.18 (RDBMS) on 11.2.3.2.1 (ESS).
You can find some details in 888828.1 (or follow link https://updates.oracle.com/Orion/Services/download?type=readme&aru=16223374) to find what has been corrected.
Kind regards
Tycho
Maybe you are looking for
-
How can I get a total of all emails to a special account?
I need to know how many e-mails are in the account created recently in Thunderbird.
-
HP Deskjet D4360 printer range
Is there a place I can go to get information on how to use my HP Deskjet D4360 printer so I can put envelopes through it and printing on them. Any help will be greatly appreciated.
-
Satellite A205: Vista & BIOS does not recognize the CD/DVD drive
After a crash of the sudden family Vista system premium on a Toshiba Satellite A205 the system does not recognize the DVD CD - RW drive. Neither in Explorer, Device Manager, nor BIOS. Laptop is only a few months old.Have you tried the Toshiba check s
-
ZBook 14 G2: G2 ZBook 14 not out 4 k
I tried everything me and a few colleagues may think, but to no avial. We have a 4 k TV and use a DP-HDMI cable. We know it works because the 15 ZBook NVidia display/output 4 k. Anyone has any ideas... suggestions... anything? Thank you!
-
Can't erase my dvd rw more.
eraseing my dvd rw drive.