When a table must be reorganized?

Hello
11 g R2 how to know when to reorganize a table?

Is it enough to issue:

ALTER table mytable move;

When finished, how to check?

Thank you.

Great explanation by a guy (Tom Kyte):

http://tkyte.blogspot.SG/2005/05/why.html

Thank you and best regards,
Raj K.

Tags: Database

Similar Questions

  • Performance when indexing table 1 d of table 2D

    In the attached extract, I'm trying to store images from a camera in a pre-initialise table. The GetImages16 function is a wrapper of commercial for a DLL that takes a pointer to a 1 d array and writes the image of the camera. My Images in table must store 1500 ~ frames of images of 128 x 128 pixels, so I assigned a 2D of 16384 x 1500 table.

    The problem I have is that table indexing Images significantly slows down that I increase the number of images, and I can't keep up with my camera. Three things correct this code:

    1. reduction of the size of the Images of 1500 images to<400 frames="" or="">

    2 image making a 1 d array and passing it directly.

    3. moving code from indexing outside of the loop.

    So, even if the location of the first image of Images should not change, it seems to take significantly longer (~ 5 ms) to perform indexing of Images when the pre-initialise table becomes large (> 400 frames). This suggests that I couldn't be very good memory management, but I'm a noice from LabVIEW relative in this area. I tried indexing column instead of line and get the same performance.

    Suggestions?

    Maybe I simply don't see, or maybe that is not visible in this picture, but I don't see anywhere that write you to the local variable of the "Perle of Images", so I don't see how it's helping you. Again, it would be useful to see the subVIs. Can you post a ZIP file containing all your screws, instead of just images?

    To share a great picture between the loops, the best option is an action VI engine that stores the chart in an uninitialized shift register. At a minimum, it must have actions to initialize the table records an image in the table and retrieve an image. There also other treatment options, so you can operate directly on the data in the table.

  • How to list the when a Table is created, and when the last change?

    Is there a way to know when a TABLE was created originally, and when the last change (=. for example, the last INSERTION of a line or UPDATE a line)?

    Peter

    Hello!

    select created,last_ddl_time from dba_objects where object_type = 'TABLE' and object_name = 'table_name'
    

    created ways to create object (table)
    last_ddl_time means when the structure of tables was the last modified time

    But there no opinion with dml last on the table. You must provide this with a few columns on table (Last_dml_time) that should be filled with
    Some database triggers

    Or if you have enabled AUDITING, then last time dml is registered also in audit trail

    T

  • When a table has been removed

    Hello

    in 9i, is there a way to know when a table has been removed?

    Thank you.

    user10274093 wrote:

    Hello

    in 9i, is there a way to know when a table has been removed?

    Thank you.

    DBMS_LOGMNR

  • When a subclass must have its own fields and when to use its super

    When a subclass must have its own fields and when to use fields of its superclass?


    Hi, thanks for reading this post!

    I would use a specific example to my question.

    public class BankAccount {
         private double accountBalance;
         
         public double getBalance() {
              return this.accountBalance;
         }
    }
    
    public class SavingsAccount extends BankAccount {
         private double accountBalance;
         
         public double getBalance() {
              return this.accountBalance;
         }
    }
    In the example of bank account, account Bank both SavingsAccount will have a getBalance() method. As a result, they
    both need an account balance field. My question is as getBalance() for both classes will occur exactly the same
    operation, when I should omit declaring the getBalance() method and the accountBalance in the subclass field, and
    When should I include them?

    My own thought is when we never instantiate a superclass object (for example, an abstract class), then we place
    common fields in the superclass abstract and subclasses have access to these areas via getter/Setter protected
    access the fields of the superclass. This is the principle of reuse.

    But if you do not need to instantiate a superclass and the superclass needs to maintain its own fields, then
    I would need to replicate the getBalance() accountBalance and field method in the subclass.

    Is my thinking correct or incorrect?

    Thank you in advance for your help!

    Eric

    Published by: er * August 22, 2011 20:19

    ER * wrote:
    If SavingsAccount inherits BankAccount.getBalance ()... getBalance () would return accountBalance bank account. This isn't the right result we want.

    In fact, I think that this is precisely what you want.

    We want getBalance() accountBalance bank account back when we use a BankAccount object and SavingsAccount accountBalance when we use a SavingsAccount object.

    I seriously doubt that. I think you are confused a bank account with a customer, who may have multiple accounts.

    In all the systems I've ever seen, a SavingsAccount IS - A BankAccount - that is to say, it is a subtype of real. Now, it can contain many other areas ('interest'?), that a normal account would not be 'balance' is not one of them.

    Winston

  • Clear fields on the master page when fluid table goes to the second page

    Good then this is quite annoying, because I have no idea why this is happening.  In my form, I have 5 text fields that users are required to conclude the data personal (name, address, city, State and zip).  These 5 areas are on the master page 1.  I also have a master page 2, which was designed strictly for the flow on the text for a table of expenditure.  The expenditure table drains properly and I have no problems with the calculations but I noticed today that when the expenditure table throw on the second page, the data that the user entered in the 5 text fields clear when the table runs.

    Is this something I need to write code that said once the user leaves the field lock.  This does not seem as if it were necessary, given that many users who also make the fluid fields.

    I'm stumped, any help would be great.

    Thank you

    Hello

    Make sure that the binding for the five fields on the Master Page are set to Global (see object > range of liaison, when objects are selected).

    Hope that helps,

    Niall

  • records_per_block: can be set when the table has a lot of data?

    Hello

    We have a partition table with a length of middle line of 7K, and there are a lot of the line string. The score is based on the date, old partition will be truncated and reused later. I'm trying to find a way to limit the rows by block 1 (pct_free is another way, but is not reliable), it looks like records_per_block is a parameter that could be defined at the table level. But unfortunately, my test shows that the use of records_per_block, the table must be an empty table and insert a row inside and then set records_per_block, otherwise records_per_block will be ignored. Is there a solution?
    SQL> create table t_11 as select rownum a, rpad('x',100,'x') b from dual connect by rownum<100;
     
    Table created
    SQL> delete t_11 where a<65;
     
    64 rows deleted
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
     
    DBMS_ROWID.ROWID_BLOCK_NUMBER(   COUNT(*)
    ------------------------------ ----------
                            121354          2
                            121355         33
    SQL> alter table t_11 minimize records_per_block;
     
    Table altered
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
     
    DBMS_ROWID.ROWID_BLOCK_NUMBER(   COUNT(*)
    ------------------------------ ----------
                            121354          2
                            121355         33
    SQL> insert into t_11 select * from t_11 where rownum<100;
     
    35 rows inserted
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
     
    DBMS_ROWID.ROWID_BLOCK_NUMBER(   COUNT(*)
    ------------------------------ ----------
                            121354         37
                            121355         33
     

    A solution that is not quite perfect - alter table XXX pctfree, pctused 99 1.
    Unless your beginning of lines off incredibly short it will probably limit you to one line per block for the future DML.

    As a guideline for "ranks shortcuts" (and this may vary slightly depending on whether you use SAMS or not):

    SQL> insert into t1 values(rpad('x',42));
    
    1 row created.
    
    SQL> insert into t1 values(rpad('x',1));
    
    1 row created.
    
    SQL> select rowid from t1;
    
    ROWID
    ------------------
    AAAY2bAAFAAAA4KAAA
    AAAY2bAAFAAAA4LAAA
    

    Your analysis of the rows_per_block is not quite right — but the critical point is correct, it is very difficult to get the recorded "records per block" reduced once you have data in place. Here is an improved version of your test cut-n-pasted from a SQL * Plus term in 10.2.0.3:

    SQL> @temp
    SQL> set echo on
    SQL>
    SQL> drop table t_11;
    
    Table dropped.
    
    SQL>
    SQL> create table t_11 as select rownum a, rpad('x',100,'x') b from dual connect by rownum<100;
    
    Table created.
    
    SQL>
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
    
    DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
    ------------------------------------ ----------
                                    5642         66
                                    5643         33
    
    2 rows selected.
    
    SQL>
    SQL> delete t_11 where a between 31 and 70;
    
    40 rows deleted.
    
    SQL>
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
    
    DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
    ------------------------------------ ----------
                                    5642         30
                                    5643         29
    
    2 rows selected.
    
    SQL>
    SQL> alter table t_11 minimize records_per_block;
    
    Table altered.
    
    SQL>
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number (rowid);
    
    DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
    ------------------------------------ ----------
                                    5642         30
                                    5643         29
    
    2 rows selected.
    
    SQL>
    SQL> insert into t_11 select * from t_11 where rownum<100;
    
    59 rows created.
    
    SQL>
    SQL> select dbms_rowid.rowid_block_number(rowid),count(*) from t_11 group by dbms_rowid.rowid_block_number(rowid);
    
    DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
    ------------------------------------ ----------
                                    5644         33
                                    5642         33
                                    5643         33
                                    5645         19
    
    4 rows selected.
    
    SQL> spool off
    

    I delete the last lines 36 to one block and the first 4 lines on the other. For this reason, Oracle is capable (on the block drain plug) to reduce the size of the + 'line directory' + in the first block by removing the pointers 'empty' to the end of the book - but it cannot eliminate all entries in the directory of the line of the second block because the "empty" pointers are not at the end of the directory.

    Code to determine the limit on the number of lines per block looks like the size of the largest directory online - not the current number of rows in the block.

    In my example, the largest directory of line is 33 because the last 34 entries have been pruned at the end; in your example, the largest directory of line was still 67 because your deletion had left two rows at the end of the directory.

    Concerning
    Jonathan Lewis
    http://jonathanlewis.WordPress.com
    http://www.jlcomp.demon.co.UK

    "Science is more than a body of knowledge; It's a way of thinking. "
    Carl Sagan

  • When a table has been updated

    Hello
    in 10g, how see when a table has been finally updated?

    Thank you.

    Take a look at this post

    http://blog.tanelpoder.com/2009/02/07/when-was-a-table-last-changed/

    Coskan Gundogar

    http://Coskan.WordPress.com

  • Too many spare disks when creating table

    I shall preface this by saying: I'm new on Equallogic San...

    I have a PS6100 with 16 drives of 2 TB.  When you perform the initial configuration on the table, it's from 4 disks as "rescue" any RAID level, I chose.  The option to right click on the drive and choose 'Add the disk to the RAID' is grayed out.

    Having 4 discs/8 TB of storage "spare" seems much too excessive.  I would like only 1 or 2 disk hot spares.  I don't know if there is a problem preventing the table of allowing them to be "online" or if there is a setting to specify the number of spare parts.  If a setting is enabled, I can't find it anywhere.

    Please let know us if this is normal or if there is anything I can do to get some of that extra space added to my table.

    Thank you!

    Hmmmm

    the old PS60x0 comes with 16x3.5. The PS61x0 and later as

    24 x 3.5 "

    12 x 3.5 "

    or 24 x 2.5 "

    IIRC it isn't so modell with 16 discs.

    "Deleted" Dell RAID5 Option in one of the last FW Version from the GUI, if a customer drives of 1 TB or more because the risk of failure of a disk doubles increases when you make the raid rebuild underway long with large disks.

    If you want to force the use of a RAID5 + spare, single, you must create the middle of raid from the command line.

    We use RAID50 for the older model 16 disk which means: usable discs = Total of discs - 4 (2 + a 2 rescue disk parity)

    Kind regards

    Joerg

  • Format of the date when the table was created

    Hi all

    Is it possible to create the table with the specific date format: as I want to create table with the format date must be in the format "mmddyyy" or no matter what specific.

    I am using oracle 11g

    Thank you

    Hello Abbas85,

    not only the dates Oracle occupy only 7 bytes, but using DATES give some benefits, like:

    -verification of the data: the system will not accept things like '44-JAN-2014' or 15 months,...

    -date arithmetic: it's so easy and convenient to be able to do things like "date2 - date1", or "date 1 + x days!"

    -l' effectiveness of the index: when stored as dates, Oracle knows that there's only one second between 27-APR-2014 23:59:59 and 28 April 2014 00:00:00, but if it is stored as strings or numbers, for example there is a bigger difference between 20140331235959 and 20140401000000 and between 20140331010203 and 20140331195959. This may mislead the optimizer...

    But in any case if for any reason any bad you persist in the idea of storing dates as numbers or strings, be sure to keep the items in the order YYYY MM DD HH24 MI SS; at least the order is respected. With the help of MMDDYYYY would be really sad!

    And on the addition of certain "quality check" If you use for example a 8 string ((aucune heure min sec)): this can be achieved with a constraint, as for example

    SQL > CREATE TABLE aajessica1986 (a_date TANK (8) CHECK (TO_DATE (a_date, 'MMDDYYYY') > DATE ' 1900-01-01'));

    Table created.

    SQL > INSERT INTO aajessica1986 VALUES ('15212014');

    INSERT INTO aajessica1986 VALUES ('15212014')

    *

    ERROR on line 1:

    ORA-01843: not one month valid

    SQL > INSERT INTO aajessica1986 VALUES ('10082014') / * (but maybe the user has waited 10 - AUG and not 08 - OCT) * /;

    1 line of creation.

    Best regards

    Bruno Vroman.

  • Brand Table field required when other Table fields are filled in

    Hello

    After combing through the forums, I couldn't find an answer for the following script scenario.

    (Or maybe I ask the wrong question)

    I have a Table (Name: InputTable) with a header row and footer line (for a Grand Total function), add/remove buttons, as well as scripts of the Addition.

    Customer has requested that if an amount is set in one of Cell4, Cell5, Cell6, Cell7, Cell8, Cell9 or Cell10
    Cell1 becomes a required field.

    This array must have an Initial number of 10 lines, so I can do simple Cell1 required, because there could be lines in white/empty subject, and which would be the fire errors.

    Could someone please provide an example of Script, I need to add to the Row1 Cell1? (Or where to look for resources)
    And this script is possible to work on all of the added lines?

    I do a lot of scripts and sincerely could help with that.

    Thank you in advance, I thank you for taking the time to help me!

    -Michelle

    well, well because when you calculate your total must always be the last row, otherwise I do not think that it reads the line just below the total

    so do something like this

    TopmostSubform.Page1.InputTable.Row1.Total::calculate - (FormCalc, client)

    var intTotal = Sun + Monday + Tuesday + Wednesday + game + Fri + Sam

    If (intTotal gt 0) then

    Cell1.mandatory = "error".

    on the other

    Cell1.mandatory = "disabled".

    endif

    $.rawValue = intTotal

  • When I$ table in ODI...

    Hi all

    I'm new on ODI and test interfaces if data flows from source to the target. I have more than 10 interfaces, and these interfaces can use the same database tables.

    Now I would like to run all interfaces in a go using a script. I understand, ODI creates one I$ table each time when execution of the interface.

    Suppose if I simultaneously run two scripts that uses the same tables, ODI creates two I$ tables or not?

    Could someone explain please the mechanism?

    Thank you in advance.

    Kind regards
    Srini

    Hello

    ODI will create and I drop table $ while the integration process is running.
    If your TARGET table is the same for all interfaces, then you have a problem in these interfaces running in parallel.
    Why? ODI will create C$ I $ table with the same name.
    Suppose you 1 interface turns and she created C$ and I4 table C1 and I1. Now the interface of time even start 2 kicks. He will try to drop the C1 and I1 (if it exists), and then create new C1 and I1. This will create a problem in terms of integration and your process will be messed up.

    This situation does not just if you run all of the interfaces in a sequence.

    If you want to run at the same time, then you must make some changes.
    Search in Metalink you will get a few notes describing how to overcome this problem.
    See also http://odiexperts.com/interface-parallel-execution-a-new-solution

    Thank you
    Fati

  • Click the "add another line" adv table must fill in the data in tbl.

    Hi all
    I have a requirement of value of column in table adavance automatically filling in read-only mode when the user clicks on the add another button in the row.

    Initially when the page loads there is no data and therefore no line in the table in advance. And advanced table will have the "add another line." When the user clicks this button, the first column of the table advance must complete with so-called values a contant '1'.


    Can someone please provide a code example in how to achieve this?


    Thank you
    Sunny

    Hi Sunny,

    Please use the controls below before creating and inserting the line so this new line will be created at the end.

    custVO1.last ();
    custVO1.next ();

    Thank you
    Agnes.

  • Problem of ball when creating tables and blocks of text in InDesign CS5

    Every time I have create a new text frame or a table in InDesign CS5 and paste information, the first row in the table or several lines of text out with chips. I don't know that it's a style at some point, I created and am now unsure how to remove or setting. I would like the new blocks of text and tables do not include by default when imported or pasted chips. Any thoughts? Thank you!

    Default values for the text in the current document are made with no selected text. Disable the chips and they should stay off (but check styles, also, you have perhaps accidentally set a style bulleted as the default and you must change the default style instead). If this is the case in all files, you must do with nothing open to reset the default for all new documents (existing files, must unfortunately be set one at a time).

  • Tables: Must have text Message box appears if the totals do not agree

    I have a table that has six columns of figures. Each column is reached. I would get a text box ("these totals must agree") to appear IF (column mouse + column Rats) is NOT equal to (column B column C + column D + column E.)

    I didn't need calculate the sum of the totals of columns, that is to say, no need to know the total of mice and rats, etc.. I just have to make sure that the number of rats and mice is equal the number of category B, C, D and E pets. And to let the form user know.

    I hope that makes sense!

    Thank you!

    There are two ways to handle this.  Normally validation of this type is made when the user has finished the form and is ready to submit.  This is because in this case, validation is based on several columns and rows, so if you wanted a pop-up for the error message box, they would get a message popping up every time a number is entered until all columns are added correctly.

    It looks not to form any kind of function submit, so I got stabbed another angle.  I've added a message that is a note and a warning below the list of categories.  This is normally visible and is hidden when the columns add up correctly.  I added the validation code in the event of page layout: ready for JustifyE since it was already used another script and it fires when you need it.

    Update form is attached.

Maybe you are looking for