index rebuild
During the rebuilding of the index on the production of databases what precautions because a DBA will take? If dba disable the application or not?When online index rebuilding, what performance question will come on the production database?
Thanks in advance
Reconstruction on-line during the index of what will be the impact on the database?
1 space of index segments can be roughly doubled as Oracle retains the original index segment during the reconstruction. It creates a new index segment, he switches rapidly, then deletes the old.
2 CPU will be consumed
3 oracle perhaps fully analyze the old index, other index or table.
If a user makes a request at the time of the index to rebuild which will have an impact on this user?
a shared lock on the table will be held
brief exclusive lock tables and indexes metadata will be held during the switch.
Tags: Database
Similar Questions
-
Index rebuild after moving table to a different tablespace?
Index rebuild after moving table to a different tablespace?
Oracle-Meng wrote:
Index rebuild after moving table to a different tablespace?
Only if you want to reuse.
See DBA guide
http://docs.Oracle.com/CD/B28359_01/server.111/b28310/tables006.htm#i1106606
Pass an array to a new Segment or a Tablespace
Move a table changes the ROWID of the rows in the table. This causes the indexes on the table to be marked
UNUSABLE
, and DML, access the table using these clues you will receive an ORA-01502 error. The indexes on the table must be deleted or rebuilt. Similarly, all the statistics in the table become invalid and new statistics should be collected after the removal of the table. -
Hello
I have little doubt below the topics listed. Please explain each topics and where we need to use for the same thing. Can I use any of that? What are the subjects of these advantages and disadvantages?
(1) index rebuild and index rebuild online
(2) analyze index-static calculation and validate the strcture
(3) DBMS_STATS. GATHER_INDEX_STATSIn order to make good use of the cost based optimizer, you create statistics for data in the database.
-
Index rebuild required after truncate the table and load data
Hello
I have a situation that we truncate tables bit and then we loaded data [only content] on these tables. What you need to rebuild the index online is necessary or not?
And another question is if we drop a few clues is the total amount of space is released or not. And re-create indexes will use the same amount of space. As I don't have disk space more? In this situation, rebuild the index online will be a better idea...
Can you please on this...
truncate the table some the few loading tables + reconstruction markings online is the best (or) droping little tables, a few tables loading + re-create the index is better
Can you suggest the best way... We have a time that it currently we don't have enough space on the disk... [Option should not effect the space]user13095767 wrote:
Ok. I have it...u want to say if we disbale the index while loading... Next, we need to spend the time to build.
If the indexes are enabled, then rebuild again is not necessary after loading tables...
Please answer if my understanding is correct...
above is correct
>
If so, how abt the differences in the space occupied by the spaces of storage during the index rebuild and re-create... T he acquires more space if recreate us [deletion and creation] or rebuild online is preferable to an index...?
space used is the same for all options.
-
At the same time index rebuild...
OK, so I have a question that has puzzled me a bit. I think I understand the theory, but I am not convinced, so looking for 3xp3rt thoughts.
I have the following table with the indexes following:
Departments of instance name table Name Index
AWESOME_DETAIL 20 1 AWESOME_DETAIL_B8
The table itself has a DEGREE of 2 BODIES 1 value.
What is happening is when the following is executed:
ALTER INDEX REBUILD AWESOME_DETAIL_B8.
the table is read in series, despite the index with a DOP of 20. However, when we do the following:
ALTER INDEX REBUILD PARALLEL OF 20 AWESOME_DETAIL_B8
The table is read with the parallelism and the treatment is faster (no surprise on the second part).
When the index is rebuilt with the first statement, the degree of parallel remained unchanged at 20. If we run the second statement, and the index have had a degree of parallelism of the 2, then I expect the degree of parallelism of the index itself will be replaced by 20 (because I've seen this before).
Is this expected behavior? Is the first statement saying Oracle "Hey, this rebuild operation does not have parallel" and the second statement saying: 'Hey, I'm specifying options of storage here, my friend, do in parallel of 20'.
Essentially, the first statement is a pure DDL operation and the second statement is a DDL operation with storage options, where the change? And DDL operations ignore the declaration of principles on the subject, unlike, for example, a SELECT statement.
I tried with a DISPLACEMENT of ALTER TABLE and saw the same behavior: without specifying PARALLEL in my statement, it read the table in series. When I specified PARALLEL, it read the table in parallel.
MarkWhen you specify PARALLEL creating / REBUILD / MOVE, the degree is used for the C/R/M. it is always "in place" for all the readings (and will be used in DML If ALTER SESSION ACTIVATE PARALLEL_DML has been paid).
However, the degree of PARALLEL set of the GET on the table / index is not automatically reused for the next RECONSTRUCTION/MOVE (although the degree that has been set remains!)Is the first statement saying Oracle "Hey, this rebuild operation does not have parallel" and the second statement saying: 'Hey, I'm specifying options of storage here, my friend, do in parallel of 20'.
Yes, precisely.
See http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/clauses006.htm#g1058315
NOPARALLEL
Specify NOPARALLEL for serial execution. It is the default value.Hemant K Collette
-
ALTER index rebuild (parallel nologing) vs (parallel nologging)
The below statements have difference the behavior of oracle or it is just the other way to use the syntax:
SQL > create index test_idx on test (owner, table_name, nom_tablespace);
The index is created.
What is the best way to use?
SQL > alter index test_idx reconstruction nologging parallel 16;
The index is modified.
SQL > alter index rebuild nologging test_idx parallel (16 degrees);
The index is modified.
SQL > alter index rebuild nologging test_idx parallel (measure 16);
The index is modified.
and
SQL > alter index test_idx connection parallel 1.
The index is modified.
SQL > alter index test_idx parallel 1 operating forest;
The index is modified.
All I'm trying to understand y - no difference in the statements of reconstruction? I haveIf you read the link below, I'm sure you cela and the rest doubts will never be around you...!
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/statements_1008.htmLogging and parallel clauses are optional, and there is no effect on the order of the optional clauses.
Concerning
Girish Sharma -
My database is out 10 gr 2. Sometimes, I pass command ALTER INDEX < index name > REBUILD online on the indexes that are 500 MB in size. It takes about ten minutes to run the command. The database alert log shows no activity for the first six minutes, and DML is allowed on the associated table. At about minute seven journal alerts shows the first of a series of five online redo logs switches. They are each 100 MB.
During the time that online redo logs, DML execution sessions cannot fill. When the new version of the index was created again online records switching station, the original copy of the index disappears, the ALTER INDEX command ends, and blocking for DML ceases.
I read that the DML statements are not affected by executing ALTER INDEX REBUILD online, but experience shows that the blocking of the above sessions. Can someone explain to me what is happening in the different stages of the index rebuild? Is there something I can do to eliminate the blocking of the DML statements during the period when redo online record switch?
Thank you
BillBill,
A useful reference for you:
http://jonathanlewis.WordPress.com/2009/06/05/online-rebuild/Another very useful reference - of many articles:
http://richardfoote.WordPress.com/category/index-rebuild/For what reason you rebuild the index?
Charles Hooper
Co-author of "Expert Oracle practices: Oracle Database Administration of the Oak Table.
http://hoopercharles.WordPress.com/
IT Manager/Oracle DBA
K & M-making Machine, Inc. -
Hello
I must set my DB and move some tables from one tablaspace to another.
For example, a PRODUCT stored on tablespace TBL_1 table I wrote a script like this:
ALTER table PRODUCT move tablespace TBL_2
storage
*(*
initial 1 M
According to 1 M
PCTINCREASE 0
*);*
Its index to perform a script like this?
ALTER index rebuild of IDX_PRODUCT;
I just want to rebuid the index because I guess that after having pass the array to another tablaspace, the index is no longer gets its records, but I don't need to move the index to a different tablespace.
My alter index statement above is fair?
My version is Oracle 8.1.7.
Thank youYes.
ALTER index rebuild oftablespace ; -
Internal components of the online index rebuild.
Hi all
What happens in the index rebuild online compared to the simple index rebuild?
Why this task consumes temporary space in the tablespace where index?
How to get access index is accepted when online index rebuilding... What happens internally?
-Yasser
-
Hi master,
It is 'NO' yet another thread on the rebuilding of the index.
I have read all the threads on index rebuild on oracle forums. each thread is full load with arguments and significantly useful discussion.
but hardly a thread to discuss the process of rebuilding the index!
I would like to know what exactly the do oracle, to rebuild the index? It uses the existing as a source index and therefore require more space?
or it generates repeat therefore requires more space?
What oracle will do with the old index? It frees the space occupied by the old index?
If someone has a link or a suggestion, I will be grateful. and the deep knowledge sharing is more appreciated.
Thanks and greetings
VD
Published by: vikrant dixit on January 21, 2009 03:40Vikrant dixit says:
Thanks Charlesfor your kind support. and yet I doubt how much performance gain should be expected by rebuilding the index. I think I have to read all this thread once more and find the cream of the subject.
and all that said by experts is it not true that the performance gain is dependent on scenario?
in any case thank you
Thanks and greetings
VDVikrant,
From what I've seen and read, what said you above is correct.
I like your the thread topic to try to understand what is happening during an index rebuild and after an index rebuild. The subject of rebuild indexes or not has been discussed many, many times on this forum, in messages Usenet dating back to 1999, various threads on asktom.oracle.com, various Web sites and in various books. But, your topic of what happens during an index rebuild, and after an index rebuild is not discussed as often, then I hope the links I provided will help you.
Charles Hooper
IT Manager/Oracle DBA
K & M-making Machine, Inc. -
ALTER INDEX REBUILD and large waste area
Hello world.
Concerns the RDBMS EE 10.2.0.2 on a box with 16CPUs. Non-standard initialization parameters:
db_16k_cache_size = 3G
pga_aggregate_target = 3G
SGA_MAX_SIZE = 12G
SGA_TARGET = 5G
workarea_size_policy = AUTO
I have a large table partitioned on a monthly basis with a local couple of bitmap index on this subject. Table and index are stored in different areas of storage. The index tablespace is
EXTENT MANAGEMENT UNIFORM LOCAL 1 M SIZE
16K BLOCKSIZE
SEGMENT SPACE MANAGEMENT AUTO
Nightly batch processing allows a few partitions index unusable then inserts/adds one part of the data and rebuilds the index with
ALTER INDEX... REBUILD PARTITION... NOLOGGING PARALLEL
When you are finished, query on DBA_IND_PARTITIONS shows that, for all the index, partition value SCOPES is much greater than the value of used BYTES, for example one of the partitions has 106 DEGREES (1 MB each so he made 106 MB space) while only 15 MB for the BYTES.
I understand that during the reconstruction of the parallel process slave create segments in the tablespace of the index of destination so that spend a lot more space than this segment takes finally. But it also means that the space is not released. (Deallocation/shrinkage will not help). Same thing can be demonstrated by the queries on DBA_SEGMENTS and DBA_FREE_SPACE. Because of this behavior, I have huge waste of space in the tablespace to index.
Can someone help, please?
Przemek
Allocate space for parallel process slave is documented in the book 'Data warehousing database Oracle 10 g 2', chapter 25 "run in parallel to assistance.user2038804 wrote:
Concerns the RDBMS EE 10.2.0.2 on a box with 16CPUs. Non-standard initialization parameters:When you are finished, query on DBA_IND_PARTITIONS shows that, for all the index, partition value SCOPES is much greater than the value of used BYTES, for example one of the partitions has 106 DEGREES (1 MB each so he made 106 MB space) while only 15 MB for the BYTES.
Przemek,
I can confirm that there is a bug in 10.2.0.2 leading to inconsistent information related to size in DBA_SEGMENTS / DBA_EXTENTS after an index rebuild in parallel to a big clue, maybe a bug 4771672 in 10.2.0.3. If I remember correctly the information of MEASUREMENT is correct and the information provided in DBA_SEGMENTS is misleading.
The Metalink note suggests to use DBMS_SPACE_ADMIN Procedure TABLESPACE_FIX_SEGMENT_EXTBLKS to correct erroneous information in the dictionary, but I don't know if it was the one we used when encountering the problem.
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/ -
DB version 10.2
When I try to do more high I am hit with ORA-02242 after reconstitution with nologging parallel 4. But when I run manuallyBEGIN FOR vIdxList IN (select INDEX_NAME from user_indexes where table_name in('PORT') and index_type='NORMAL') LOOP EXECUTE IMMEDIATE 'ALTER INDEX ' || vIdxList.INDEX_NAME || ' REBUILD nologging parallel 4 '; 5 dbms_output.put_line('-----------------'); --EXECUTE IMMEDIATE 'ALTER INDEX ' || vIdxList.INDEX_NAME || 'NOPARALLEL'; END LOOP; begin FOR vIdxList IN (select INDEX_NAME from user_indexes where table_name in('PORT') and index_type='NORMAL') LOOP EXECUTE IMMEDIATE 'ALTER INDEX ' || vIdxList.INDEX_NAME || 'NOPARALLEL'; end loop; end; END; /
then ok.ALTER INDEX' <index_name> NOPARALLEL
Some can help me please
ERROR on line 1:
ORA-02242: no option specified for the ALTER INDEX statement
ORA-06512: at line 11 levelBEGIN FOR vIdxList IN (select INDEX_NAME from user_indexes where table_name in('EMPLOYEES') and index_type='NORMAL') LOOP EXECUTE IMMEDIATE 'ALTER INDEX ' || vIdxList.INDEX_NAME || ' REBUILD nologging parallel 4 '; EXECUTE IMMEDIATE 'ALTER INDEX ' || vIdxList.INDEX_NAME || ' NOPARALLEL '; END LOOP; END; /
-
stupid question: back in terms of index rebuild...
I know this will sound like a stupid question and perhaps I should change my alias dumb-dba, but I think that this name is already taken... HA, ha... :-)
I'm on a site that has very strict and even change management rules run a job to rebuild indexes requires a request for change and a plan to uninstall.
I'm under Oracle 11 g EE (not that this is important).
No idea what to ask for "Uninstalling Plan"?
As far as I know, only uninstalling would enter Ctrl-C when rebuilding the index and Oracle would automatically return to the initial index.
Alternatively, if something crazy that happened and that the index hit the corrupt blocks or something, just rebuild again.
Any other ideas?user12159859 wrote:
No idea what to ask for "Uninstalling Plan"?
I think it depends on what you're supposed to be back out of. I see two options:
(1) the reconstruction it lasts too long and is a performance impact
(2) the reconstruction is finished and seems to have caused a performance problem.In the first case, it seems appropriate to kill the session (if possible on your platform).
In the second case, you're a little stuck - however, there are two possibilities to consider: check the index before statistics of the rebuild and to write their return after the reconstruction, in which case it is the change in the stats which has introduced changes in the plans; Otherwise, make sure you know how much free space there is on average in each index leaf block before reconstruction and regeneration it again with pctfree is set to allow much space free after reconstruction - if it was only the change in the use of block that caused a problem of competition which may help - you might want to develop an initrans adapted at the same time.
Concerning
Jonathan Lewis -
Hello
I have a question
1 have we not rebuild the index if storage is in asm?
Will not cause asm is rebalancing to the backend, shd we rebuild indexes in oltp?
Please let me know
Thank youHello;
The answer is not simple.
The administrator Automatic Storage Management Guide 11g Release 2 (11.2) of the source - E18951-03
Impossible to find in white papers, either:
http://www.Oracle.com/technetwork/products/cloud-storage/index.html
Best regards
mseberg
-
Capture the Index Rebuild process time in a table
Dear Experts,
I have a stored procedure to rebuild the indexes. I would like to capture reconstruction of start and end time for a table. I created the table with structure below: I am writing an insert statement in the procedure that captures rebuild timings, might well want to suggest how to implement this?
MAINT DESC
Name Null? Type
------------------------------------------- ------------------------------------
OWNER VARCHAR2 (30)
TABLE-NAME VARCHAR2 (30)
START_TIME DATE
END_TIME DATE
VARCHAR2 (200) COMMENTS
CODE PLEASE
=======
CREATE OR REPLACE PROCEDURE "USER1". "" ONLINE_REORG ".
(v_owner IN varchar2, v_tablename IN varchar2) AS
v_rebuild_statement VARCHAR2 (1000);
v_rebuild_statement1 VARCHAR2 (1000);
err_msg VARCHAR2 (100);
v_cdc number (6);
cursor c1 is select master index_name table_name, nom_tablespace
of dba_indexes
where table_owner = upper (v_owner) and
nom_tablespace is not null and
index_type = 'NORMAL' and
table_name = Upper (v_tablename);
BEGIN
DBMS_OUTPUT. Put_line ('Rebuild Index procedure begins execution At' | to_char (sysdate, ' DD-MM-YYYY HH24:MI:SS'));))
FOR c1_rec IN c1 LOOP
Start
v_rebuild_statement: = 'edit index' | c1_rec. Owner: '.' | c1_rec.index_name |' REBUILD PARALLEL 6 LOGGING COMPRESS TABLESPACE ' | c1_rec.tablespace_name;
DBMS_OUTPUT. Put_line(v_rebuild_statement||';');
EXECUTE IMMEDIATE v_rebuild_statement;
exception when others then
null;
end;
Start
v_rebuild_statement: = 'edit index' | c1_rec. Owner: '.' | c1_rec.index_name |' NOPARALLEL ';
DBMS_OUTPUT. Put_line(v_rebuild_statement||';');
EXECUTE IMMEDIATE v_rebuild_statement;
exception when others then
null;
end;
END LOOP;
DBMS_OUTPUT. Put_line ("Rebuild Index procedure completes execution to ' |") TO_CHAR
(sysdate, ' DD-MM-YYYY HH24:MI:SS'))) ;
EXCEPTION
WHILE OTHERS THEN
DBMS_OUTPUT. Put_line ("Rebuild Index ended execution without success to")
' || TO_CHAR (sysdate, ' DD-MM-YYYY HH24:MI:SS'));)
err_msg: = SUBSTR (SQLERRM, 1, 100);
raise_application_error(-20001,err_msg);
END;
Maybe you are looking for
-
transfer bookmarks of android on pc
Android model SCH1200 version 4.1.2 Verizon pc Toshiba windows phone 7.
-
My IMovie will not spread my clips to change their
Good then sometimes when I drag and drop my clips in the actual iMovie editing part, they stay together as a single clip and not spread out so I can see the film in a long strip big that it's like a square and the whole of my film. I can't change it
-
Tecra Z50 - Fingerprint already exists - how to remove all traces of fingers?
My Tecra Z50 came with win 7 preinstalled.Before moving on to Win 8.1, I recorded 2 fingerprints. Then, once upgraded, not only 2 fingerprint to unlock windows does not, but I can't delete it. If I register other fingers, they work well, but I can't
-
Migrate ReadyNAS to ReadyNAS 516 314
Hello I'm looking to migrate my 4 discs of my ReadyNAS 314 with the purchase of a new 516 ReadyNAS. Can someone give me instructions step by step on what I have to do to pass? Will my app structure remain intact, Plex Media Server, SickRage etc., or
-
OfficeJet Pro 8500 A909a: Cannot locate driver download page.
Download page for driver cannot locate. OfficeJet Pro 8500 A909a MS Vista Ultimate 64-bit. When you use my Linux PC to try to find the drivers for a different PC, site Web just continues to send me round and no display drivers to download. It seems