Bad Partition table?

Hey Guys, I seem to be getting Bad Partition Table once in awhile on my main hard drive with windows so I use chkdsk and repair but it happens TOO often. I've even reformatted the darn thing and yet it does it. What does this mean? Does it mean my hard drive is dying? nothing else goes wrong except that Partition Table.

Hi Austin
Do you have SMART enabled in bios, sometimes this can warn you of impending trouble. What causes Bad partition tables, well, how long is a piece of string.  Could well be a damaged section due to a power surge, spike, or crash. Could be a virus lurking, is your boot sector protection enabled. Could be the OS, or a prog your using. Could be a bad Molex connector to the HDD. Could be bad cable, or IDE connector, or bent pin. Could be a disk that has had Linux installed, and left bits of drivers. Could just be an old drive getting past it.
Best change it before it does some real damage to disk controller or Mobo.
cheers
jocko

Similar Messages

  • Correcting a bad block on ext4 and with GTP partition table

    Hello,
    I ran a SMART offline test today which came back as a bad block:
    # 1  Extended offline    Completed: read failure       30%      8363         3212759896
    This is my first run-in with a bad block, and since these drives are big and relatively new, I want to be proactive and fix any problems as they arise. Here is my setup:
    * I have 2x 2TB HDDs of same make and model, with the device link being /dev/sdc and /dev/sdd. /dev/sdc is the one with the error.
    * These two disks are linked via a Linux RAID 1 array under /dev/md0 which is then mounted on /storage.
    * Both drives have only 1 partition under a GUID Partition Table (GPT)
    I've looked around to try to find info on fixing bad blocks, and I came across this: smartmontools.sourceforge.net/badblockhowto.html
    However, it seems to be out-dated and geared for tools like fdisk (which I cannot use for GPT) and filesystems ext2/3 (although, due to the backwards compatibility, I'm sure it works with ext4 as well), and a lot fo the commands gives things like "Couldn't find valid filesystem superblock."
    Can someone point me in the right direction as to how I can fix this issue?
    EDIT:
    My noob is showing. I got the commands above to work, and when I check to see which file is using the bad block it shows this (after all the calculations involved, the block was 401594731):
    debugfs:  icheck 401594731
    Block   Inode number
    401594000       <block not found>
    So i'm assuming that there isn't a file assigned to it (empty space?). But then, when I use dd to read from it, it seems to read just fine:
    sudo dd if=/dev/md0 of=my.block skip=401594731 bs=4096 count=1
    1+0 records in
    1+0 records out
    4096 bytes (4.1 kB) copied, 0.0222587 s, 184 kB/s
    I think it's able to read it since the other disk in the RAID1 array doesn't have the bad block. But I just want to make absolutely sure that there is no file assigned to that block before I nuke it. Given the above information, would it be safe to remove this block from service?
    Last edited by XtrmGmr99 (2012-01-26 01:17:51)

    Yes I think the block is not in use. You can do
    debugfs: testb 401594731
    which will state it clearly ("not in use" vs "marked in use")

  • Performance between two partitionned tables with different structure

    Hi,
    I would like if there is a difference between two partitionned tables with different structure in term of performance (access, query, insertions, updates ).
    I explain myself in detail :
    I have a table that stores one value every 10 minutes in a day (so we have 144 values (24*6) in the whole day), with the corresponding id.
    Here is the structure :
    | Table T1 |
    + id PK |
    + date PK |
    + sample1 |
    + sample2 |
    + ... |
    + sample144 |
    The table is partionned on the column date, with a partionned every months. The primary key is based on the columns (id, date).
    There is an additionnal index on the column (id) (is it useful ?).
    I would like to know if it is better to have a table with just (id, date, value) , so for one row in the first table we'll have 144 rows in the future? table. The partition will already be on the columns (id, date) with the index associated.
    What are the gains or loss in performance with this new structure ( access, DMLs , storage ) ?
    I discuss with the Java developers and they say it is simpler to manage in their code.
    Oracle version : Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    Thanks & Regards
    From France
    Oliver
    Edited by: 998239 on 5 avr. 2013 01:59

    I mean storage in tablespaces and datafiles on disk.
    Can you justify please and give me concrete arguments why the two structures are equivalent ( except inserting data in T(id, date,value))
    because i have to make a report.i didnt say any thing like
    two structures are equivalent ( except inserting data in T(id, date,value)i said
    About structure : TABLE1(id, date, value) is better than TABLE1(id, date, sample1, .... sample144)because
    1) oracle has restriction for numbers of column. Ok you can have 144 columns now but for future if you must have more than 1000 columns , what will you do?
    2) Restrictions on Table Compression (Table compression is not supported for tables with more than 255 columns.)
    3) store same type values on diffrent columns is bad practise
    http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#i4383
    i remember i seen Toms article about this but now i cant find it sorry ((( if i found i will post here

  • How to recover corrupted partition table?

    I have a disk that somehow got the partition table corrupted. I am getting lots of "Bad Geometry" errors that state the label says one size while the drive says something different.
    I have tried running the TestDisk (http://www.cgsecurity.org) application, and it seems to find the partitions just fine and I believe that my data is in tact. I just need to correct the partition table and access the UFS file system. The TestDisk reports that "write_part_sun" is not implemented, so it cannot correct the problem. I have checked the source code for the current and beta versions of the program and the function still has not been written.
    Is there another application that I can use to rescue my corrupted partition table? I am not finding much support for Solaris out on the net.
    Thanks.

    Is there another application that I can use to rescue my corrupted partition table? I am not finding much support for Solaris out on the net.Hi
    There is some, but you have to look hard.
    I wrote a partition table editor:
    http://paulf.free.fr/pfdisk.html
    If your LBA values are good, you should be able to restore the CHS values from them. If both the LBA and CHS values are corrupt, and you have a good idea of the sizes of the partitions, then with a calculator you should be able to work out what the values should have been.
    Paul

  • Ubuntu wrecked partition table. Help to fix?

    (Macbook Pro 2013 15" Crystalwell 4 Core, 500GB SSD 16GB RAM)
    I should have known that installing Ubuntu next to Bootcamp was a bad idea.
    So here's what's up... Before this whole debacle began I had two separate partitions on my SSD. The primary partition was for Mavericks with 300GB. The second partition was to a Bootcamped Windows 7 with 150 GB of space. I left 50GB free between the two, which still left me at
    disk0s1 for EFI, ~200 MB
    disk0s2 for Macintosh HD, 300 GB
    disk0s3 for Recovery HD 650 MB
    disk0s4 for Bootcamp 148 GB
    Here's where my problem began. Genius me decided to attempt to install Ubuntu via live USB onto the 50GB space in between. I have reFIT installed so this wasn't a problem. After loading into Ubuntu and realizing that it wouldn't load into the 50GB space, I rebooted and installed alongside Windows (through the Ubuntu live usb) following the install GUI Prompt.
    The installation failed after it got hung on a CRON command and drained the battery from my unplugged computer sitting next to me in my bed (I fell asleep waiting for it to finish, even though it was at 100% battery when it started the installation). When I woke up my computer was dead, so I plugged it in. I started reFIT and booted into Windows after seeing that Ubuntu wasn't there. I was given the "Choose OS" prompt from Windows and Ubuntu wouldn't load, so I said screw it and went back to Mavericks. When I opened my Disk utility partitions table to see where it might have gone wrong....
    Great Odin's Raven.
    I now had ext4 partitions sitting above my bootcamp partition and linux-swap partitions below it. Absolutely no free space. I switched back to Windows, avoiding the failed Ubuntu OS, and uninstalled wubi from Windows (the universal uninstall for ubuntu, I used the Windows "uninstall application" application from Control Center), hopefully deleting the mess it had made of my drive table.
    It didn't.
    Since I couldn't delete the partitions back to free space around my bootcamp volume using Disk utility (insufficient hfs+ permissions or something like that), I decided to take a more agressive option. I installed partedMagic onto a live USB and once again rebooted my computer into the live USB. I went in and using gParted removed the partitions in front of the bootcamp volume and behind it reducing them to empty space. Good! Hoping for the best I went back to reFIT and booted into Windows...
    "No bootable device -- insert boot disk and press any key"
    Well crap.
    After some more research into why this wasn't working, I was sure that somehow my EFI wasn't loading the right area of my hard drive. Then I think I found out what happened. I ran diskutil list from terminal and saw this..
    IceMan-HomeBase:~ Tim$ diskutil list
    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:                  Apple_HFS Macintosh HD            300.2 GB   disk0s2
       3:                  Apple_HFS Recovery HD             650.0 MB   disk0s3
       4:       Microsoft Basic Data BOOTCAMP                148.0 GB   disk0s6
    disk0s6. There's the problem. Mac doesn't like anything beyond disk0s4, which is where Bootcamp was originally and where it should be now, at disk0s4.
    If it were merely an issue of copying the bootcamp volume and repartitioning the hard drive, that wouldn't be a problem, but even WinClone doesn't like this volume. When I tried to do a copy, it threw an error saying "Invalid partition ID of 6"
    Here is my question.
    Is there a way to change the IDENTIFIER back to disk0s4 from disk0s6 and save my Windows 7 partition, is there some other way to save my files to a backup and clean install, or is he dead, Jim?
    Sorry if this was a little long-winded, but I figured too much information would be better than not enough.
    Thank you in advance for anyone brave enough to read this.
    TL;DR
    Partition table went bogus because of a bad Ubuntu OS install. Windows can't find a bootable device. Disk0s4 is now disk0s6. Possible way to change this?

    Problem solved, I used iPartition to resize the partition back to its original size after which I could copy all data off.

  • Partition Table Disappearance

    Hi,
    I have had a completely stable system for the past two weeks (at last).
    I did however have 1 stick of memory on RMA.
    I placed this back in the system after it returned yesterday and run some checks.
    Passed 2 passes of Memtest+ - had previous failures.
    Passed 20 mins of prime95 (a first for me, with 2 sticks, usually didn't last 5 seconds)
    So checked Sandra to admire my memory bandwidth - very nice.
    Then clicked tune up wizard as I was going for a drink - big mistake.
    Came back to a BSOD and the memory dump didn't happen. The BSOD was a cryptic "can't read from swap device".
    Reboot - no boot partition, disk was present in bios and correct boot order.
    Several utilities later find the Partition table doesn't exist
    I get this back with some other utility and have a fully working PC again.
    Windows just worked, data on other partition looks fine.
    Chkdsk including a surface scan found nothing.
    Bad Disk crontroller? I am already on my third board after two dying on me.
    Thoughts?

    With further investegation I have confirmed the problem occurs when looking at the ATA information in SANDRA.
    The IDE controller is fine but if I go into the SATA controller that contains my drive I get information after a pause, windows hangs and then I get a BSOD.
    If I have event viewer open I get errors but these arn't there after I repair the partition table.
    I get something along the lines of "An error was detected on device \Device\hardisk1\D during a paging operation"
    And other type of event 51 pointing at same device.
    I don't get alot of time to look at these
    My conclusion is either
    Hard disk - which tested OK with Western Digital's own testing program run with full testing.
    Or ATA controller / Driver.
    I have tried ports 1 and 3 - aren't these different chipsets? I'll try the other 2 later tonight.
    I have tried all drivers I can find nvidia 5.03, 5.10 and 6.x for nforce 4.
    Or is SANDRA the cause of this?

  • BUG ? Create index on a partitioned table drops the complete table !

    Hi ...
    now i had twice the problem when i tried to create a local index (with 2 fields) on a partitioned table .
    I set initrans to 1 and maxtrans to 255 (i know - initrans has to be at least 2).
    I got an error - and the table (including the data) was gone ... :-((
    Has anybody the same behavior and is it a bug ??
    Christian

    See 1.5 Bad bug when creating index fails.
    Have fun,
    K.

  • How to partition tables and indexes in this scenario?

    So our situation is pretty simple. We have 3 tables.
    A, B and C
    the model is A->>B->>C
    Currently A, B and C are range partitioned on a key created_date however it's typical that only C is every qualfied with created date. There is a foreign key from B -> A and C -> B
    we have many queries where the data is identified by state that is indexed currently non partitioned on columns in A ... there are also indexes on the foreign keys that get from C -> B -> A. Again these are non partitioned indexes at this time.
    It is typical that we qualify A on either account or user or both. There are indexes (non partitioned) on these
    We have a problem now because many of the queries use leading wildcards ie. account like '%ACCOUNT' etc. This often results in large full table scans. Our solution has been to remove the leading wildcard but this isn't always possible.
    We are wondering how we can benefit from partitioning and or sub partitioning table A. since it's partitioned on created_date but rarely qualify by that.
    We are also wondering where and how we can benefit from either global partitioned index or local partitioned indexes on tables A. We suspect that the index on the foreign key from C to B could be a local partitioned index.
    I am also wondering what impact pushing the state from A that's used to qualify A down to C would have any advantage.
    C is the table that currently we qualify with the partition key so I figure if you also pushed down the state from A that's used to qualify the set of C's we want based on the set of B's we want based on the set of A thru qualfying on columns within A.
    If we push down some of those values to C and simply use C when filtering I'm wondering what the plans will look like compared to having to work all the way up from the bottom to the top before it begins qualifying A.
    Edited by: steffi on Jan 14, 2011 11:36 PM

    We are wondering how we can benefit from partitioning and or sub partitioning table A. since it's partitioned on >created_date but rarely qualify by that. Very good question. Why did you partition on it? You will never have INSERTS on these partitions, but maybe deletes and updates? The only advantage (I can think of) would be to set these partitions in a read only tablespace to ease backup... but that's a weired reason.
    we have many queries where the data is identified by state that is indexed currently non partitioned on columns in >A ... there are also indexes on the foreign keys that get from C -> B -> A. Again these are non partitioned indexes at >this time.Of course. Why should they be partitioned by Create_date?
    It is typical that we qualify A on either account or user or both. There are indexes (non partitioned) on these
    We have a problem now because many of the queries use leading wildcards ie. account like '%ACCOUNT' etc. This >often results in large full table scans. Our solution has been to remove the leading wildcard but this isn't always possible.I would suspect full index scan. Isn't it?
    We are also wondering where and how we can benefit from either global partitioned index or local partitioned >indexes on tables A. We suspect that the index on the foreign key from C to B could be a local partitioned index.As A is not accessed by any partition, why should C and B profit? You should look to partition by the key you are using to access. But, you are looking to tune your SQLs where the access is like '%ACCOUNT' on A. Then when there is a match. ORACLE joins via your index and nested loop (right?) to B and C.
    I am also wondering what impact pushing the state from A that's used to qualify A down to C would have any >advantage.Why should it. It just makes the table and indexes larger => more IO.
    C is the table that currently we qualify with the partition key so I figure if you also pushed down the state from A >that's used to qualify the set of C's we want based on the set of B's we want based on the set of A thru qualfying >on columns within A.If the access from A to C would be .. AND A.CREATE_DATE =C.CREATE_DATE and c.key like '%what I want%' which does not qualifify for a FK ;-) then, as that could be resulting in a partition scan, you could "profit". But, I'm sure that's not your model.
    If we push down some of those values to C and simply use C when filtering I'm wondering what the plans will look >like compared to having to work all the way up from the bottom to the top before it begins qualifying A.So you want to denormalize A,B,C and into one table? With the same access is like '%ACCOUNT' you would get a full scan on an index as before, just the objects would be larger due to redundance and harder to maintain. In the end you would have a bad and slower design.
    Maybe you explain what the problem is.
    Full index scan can not be avoided, but that can be made faster by e.g. parallel query, and then the join to B and C should be a "snip" if you just identify a small subset of rows in these tables.

  • Tuning SQL | Partition Table | MJC

    All good hearted people -
    Problem :- This SQL runs forever and returns nothing when STATS are stale. If I collect the table level stats (dbms_stats) on these partitioned table it runs again as normal (< 2 minutes).
    I see Merge Join cartesian in the explain plan when it runs bad. After the stats done, this MJC disappeared from the plan and things back to normal.
    Also, If convert one of those partition into a regular table(amms partition 2010-03-16 ) and join to the other partition table's (cust ) partition this works fine.
    Note : After every load we run partition level stats on these tables (not table level stats).
    My question is why am I getting MJC? How to solve this issue?
    <code>
    select aln.acct_no as acct_no, aln.as_of_dt, max(acm.appno) as appno, count( * )
    from amr.amms aln, acr.cust acm <================= both tables are range partitioned by date
    where acm.acctno = aln.acct_no
    and acm.acctno > 0
    and acm.as_of_dt = date '2010-03-16' <============ partition key on cust table < 2M rows
    and aln.as_of_dt = date '2010-03-12' < ============= partition key on amms table < 2M rows
    group by aln.acct_no, aln.as_of_dt
    having count( * ) = 1
    </code>
    Env: Oracle 10g | 10.2.0.4 | ASM | 2 node RAC | Linux x86 | Archivelog | Partition | Optimizer Choose |

    and acm.as_of_dt = date '2010-03-16'
    and aln.as_of_dt = date '2010-03-12' not valid syntax!

  • An interesting error: "recursive partition table"

    So I just found an old 8 Gb SD card I had forgotten about (and was overjoyed because I had just said "if only I had a bigger SD card". Why do good things happen to bad people?). Several months ago I'd used some Windows tool, I think, to make a live USB for ArchBang, which hadn't worked. I put it in my computer and ran `fdisk -l` and got this:
    # fdisk -l
    Disk /dev/sdd: 7948 MB, 7948206080 bytes
    64 heads, 32 sectors/track, 7580 cylinders, total 15523840 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0c7e5ddb
    Device Boot Start End Blocks Id System
    /dev/sdd1 * 0 1003519 501760 17 Hidden HPFS/NTFS
    Disk /dev/sdd1: 513 MB, 513802240 bytes
    64 heads, 32 sectors/track, 490 cylinders, total 1003520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0c7e5ddb
    Device Boot Start End Blocks Id System
    /dev/sdd1p1 * 0 1003519 501760 17 Hidden HPFS/NTFS
    When I ran gparted (a graphical partition editor), it threw up "Invalid partition table: recursive partition on /dev/sdd". Gparted then treats the disk as unformatted, which is presumably its "fallback" behaviour.
    This isn't actually a problem for me as I don't need any of the data on the card, but I thought it was a pretty interesting error, so I'd post it here for discussion. I can't work out what's going on, but it seems to me that someething is seriously bawsled up here! Perhaps there was a bug in the library the Windows utility used? I haven't found anything similar online, although this was interesting.
    Today may be a day for me to read up on partition tables and the heads/disks/cylinders/sectors/tracks abstractions!

    I get the same result when using dd to write the archlinux installer image to usb. It's nothing really. it can easily have a new partition table made with gparted. It's likely the tool you used in Windows also wrote the bootable image with a low level utility similar to dd. dd generally starts at the very beginning of a disk when pointed at the device and not a partition number. /dev/sdb instead of /dev/sdb1. Meaning it overwrites the first 512byte sector too(mbr) With whatever the image/ISO contains. I've never regarded it as an issue. Just kinda confusing to tools that expect data like a partition table to be present in a normal structure.

  • Impact of drop the bad partition

    Hi,
    We have one partitioned table, As the part of adding new partions we are drop the bad partition(name of partition).
    Is there any impact of our DB.
    If that partition is having data what will be tha impact??
    ALTER TABLE ASR.AR_ILS_INTERIM_ILL DROP PARTITION BAD_PART VALUES LESS THAN (MAXVALUE)
    LOGGING
    NOCOMPRESS
    TABLESPACE DETAIL_PART
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 25M
    NEXT 25M
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    DB is in : 9.2.0.6
    Plz help me...

    Srini wrote:
    Hi,
    We have one partitioned table, As the part of adding new partions we are drop the bad partition(name of partition).
    Is there any impact of our DB.
    If that partition is having data what will be tha impact??
    ALTER TABLE ASR.AR_ILS_INTERIM_ILL DROP PARTITION BAD_PART VALUES LESS THAN (MAXVALUE)
    LOGGING
    NOCOMPRESS
    TABLESPACE DETAIL_PART
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 25M
    NEXT 25M
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    DB is in : 9.2.0.6
    Plz help me...the data in that partition will no long be accessible.

  • 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 advance

    here 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?
    I’ve 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

Maybe you are looking for

  • How a variable in C++ gets updated from calling a labview dll running in a loop?

    Hi, I have created a dll which is called from a C++ program. The dll has been created from a vi which continuously runs in a loop (this is necessary because I need to control some hardware in real-time). When I call the function from C++ I can see th

  • LDB sample program (Hr abap)

    Hi,   iam learning HR Abap i want to write a program in ldb's..for example i want to fetch the following data P0001-WERKS,P0105-USRID,P0002-CNAME,P0000-STAT2,PA0001-PERNR into one internal table in ldb PNP.how to write the code.please send me the sam

  • Ignoring white when converting painted artwork to vector

    I'm designing invitations and very new to illustrator. I have painted a small rose onto a piece of paper and scanned it. Have worked out how to live trace my scanned painting however, it is also tracing the white background. When I choose high colour

  • Popup window saying max os x startup disk has no more space

    I recently started having a window pop up that says "Your Mac OS X startup disk has no more space available for application memory." Under that it says "To avoid problems with your computer, quit any applications you are not using. Closing windows an

  • "archive and install" button can't be clicked, already have Mac OS 10.4

    i cannot start up my laptop and i see the apple logo and it doesn't go to my desktop and i would like to do a "archive and install" but the button isn't an option for me even though i have Mac OS 10.4 already installed when i bought it. should i go t