Recovering a ruined partition table

I would like to begin by saying, I f***ed up big time. 
When trying to reboot my machine having hibernated it the night before, I found that the computer would only boot into recovery mode and didn't respond to my keyboard.  After trying again, and the fallback I put the Arch install disk in to try to figure out the problem.  The first thing I found was the /boot partition couldn't mount due to a filesystem problem.  I decided that rather than try and fix it, I'd create a new one.  I originally used JFS for god knows what reason but this time I tried to put ext2 on it (which is I use for all my other Arch installs).  Afterwhich, it seemed to have some kind of problem with both of the filesystems.  I learnt from another install that a good way to deal with a filesystem that refuses to die is to use:
dd if=/dev/urandom of=/dev/sdaX bs=1M
and create a new partition in it's place.  But I must have overlooked something because now it says that sda4 (the /boot partition I was trying to destroy) is longer than the hard drive. 
I'm fairly certain that my data is still there because it says dd only wrote about 176kB.  I think I should be able to delete the partition and everything should work, but I may be oversimplifying it. 
If anyone has any suggestions or idea the help is appreciated.  Also I am, at this moment, creating an image of my drive, just in case. 
Right now I'm thinking of print /dev/zero to sda4 for 176kB and see if that fixes it.
Last edited by Dornith (2013-11-23 21:36:48)

Use Testdisk to resurrect that partition.  It is the fastest and simplest way I'm aware of resurrecting dead / old partitions.  It should be on the wiki about how Testdisk is used.  Your partition may still be damaged but at least you can access it after Testdisk is done and then run the fsck utility (JFS does have one, right?) on that partition.  From there I'm pretty sure you can figure out what else you need to do.
Last edited by MoonSwan (2013-11-23 23:49:03)

Similar Messages

  • 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

  • [SOLVED] The best way to recover a Partition Table. (LVM)

    I just did something really stupid I accidently had a typo in gdisk and changed the wrong hard drive partition table.
    So before I do something really stupid I post here.
    The hard drive is still mounted and I luckily have the output of the former partition table, this is it:
    fdisk -l /dev/sdb
    Festplatte /dev/sdb: 2,7 TiB, 3000558944256 Bytes, 732558336 Sektoren
    Einheiten: Sektoren von 1 * 4096 = 4096 Bytes
    Sektorgröße (logisch/physikalisch): 4096 Bytes / 4096 Bytes
    E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
    Festplattenbezeichnungstyp: dos
    Festplattenbezeichner: 0x00028375
    Device Boot Start End Sectors Size Id Type
    /dev/sdb1 256 366211193 366210938 1,4T 83 Linux
    /dev/sdb2 366211194 732558335 366347142 1,4T 83 Linux
    The partition table was a LVM partition table.
    This is the current one:
    gdisk -l /dev/sdb
    GPT fdisk (gdisk) version 0.8.10
    Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present
    Found valid GPT with protective MBR; using GPT.
    Disk /dev/sdb: 732558336 sectors, 2.7 TiB
    Logical sector size: 4096 bytes
    Disk identifier (GUID): DA7956E1-B120-4F78-925A-B5DDE14E7C9C
    Partition table holds up to 128 entries
    First usable sector is 6, last usable sector is 732558330
    Partitions will be aligned on 256-sector boundaries
    Total free space is 250 sectors (1000.0 KiB)
    Number Start (sector) End (sector) Size Code Name
    1 256 131327 512.0 MiB EF00 EFI
    2 131328 13238527 50.0 GiB 8E00 Arch
    3 13238528 732558330 2.7 TiB 8300 EXT
    I really hope someone can help me with that, I'm currently a total nerve wrack.
    If its a more or less impossible task (well or there is no guarantee that it works) I will buy a new Drive tomorow to save the currently still mounted files.
    Thank You!
    [EDIT]
    Forget about copying the file system isn't really accessible, I can open a few folders but everything in there are 0byte files
    Last edited by theblackdog (2015-03-10 14:16:59)

    So because no one gave me a answer so far (ok it's already pretty late and I was a bit imatient) I took the leap of faith and used fdisk to recreate the partition sheme,  so far everything seems to work.
    There is only one thing that would interest me, as far as I know a GPT partition table is bigger than a dos partition table, how big is the risk that data got corrupted because of the bigger table?
    I will mark the thread as solved after that.

  • Can I use gpt to recreate/unerase a partition table? (Rebuild the GPT/GUID partition table?)  I don't want to do FILE recovery.

    (Yes, I've  googled a bunch and read threads like this one already.)
    Can I use gpt or some other app to recreate/unerase a partition table?  That is, how can I rebuild a disk's GPT/GUID partition table?)  I don't want to do FILE recovery.
    What happened: Instead of erasing a single partition off a disk with many partitions, the entire partition table was erased (using Disk Utility, w/o deleting the underlying files).  Somehow the "Erasing a disk deletes all data on all its partitions." warning message was missed.
    I have a copy of the output of df, with the number of blocks in each partition, from just prior to the erasure, so I should be able to recreate the GPT/GUID partition table.  Editing the GPT with a hex editor is not feasible.  Simply recreating the partitions with Disk Utility will overwrite the key filesystem tables on each partition, and I don't want to do that, plus Disk Utility doesn't allow me to specify exact partition sizes anyway.
    Surely there's an app for rebuilding the partition table (other than emacs' hexl-mode!) for recreating/unerasing a partition table when the partition sizes and orders are known?  I've looked at the advertising for a bunch of recovery software and none of them clearly indicate that they will do what I want. 
    I guess I can try using gpt on a copy of the reformatted drive I've made with dd, and see what happens.  But perhaps someone knows of a tool that should do what I need, or knows if gpt is that tool or not.
    There are answers and tools that will do FILE recovery - search for files and recover the ones that aren't fragmented or deleted.  As far as I can find, they just look for files on the disk, and don't pay much, if any attention to the filesystem info or directory heirarchy, which in this case is valuable.  Of course I could send it in to DriveSavers, or the like.  But none of that seems necessary, and the scavenging file recovery apps won't do the job well,
    E.g. some are mentioned here:
    I don't want to do FILE recovery.
    Thanks for any help.
    The links in this post are to pages describing the underlined term, e.g. the man pages for df and gpt.
    dd output includes:
    Filesystem
    512-blocks 
    Used Available Capacity  Mounted on

    Aperture has the ability to work with files in their existing location. They are called "referenced masters." When you import images, you should select the "In their current location" in the "Store Files:" drop down box. Have a read of the documentation for full specifics. Unsure how you can resolve your duplication; might be some work but next time have a read of the manual first
    Information for versions is stored in the Aperture database (library file). The masters can be inside the library file itself, or they can be somewhere else.

  • How to manage large partitioned table

    Dear all,
    we have a large partitioned table with 126 columns and 380G not indexed can any one tell me how to manage it because now the queries are taking more that 5 days
    looking forward for your reply
    thank you

    Hi,
    You can store partitioned tables in separate tablespaces. This does the following:
    Reduce the possibility of data corruption in multiple partitions
    Back up and recover each partition independently
    Control the mapping of partitions to disk drives (important for balancing I/O load)
    Improve manageability, availability, and performance
    Remeber as the doc states :
    The maximum number of partitions or subpartitions that a table may have is 1024K-1.
    Lastly you can use SQL*Loader and the import and export utilities to load or unload data stored in partitioned tables. These utilities are all partition and subpartition aware.
    Document Reference:
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14231/partiti.htm
    Adith

  • [Solved] corrupted partition table

    Yours truly was experimenting with alternative bootloaders today and ended up with a corrupted partition table. Yours truly had backed up the bootloader part of the MBR today but neglected to copy the rest. Guess who is feeling very stupid right now.
    Here is what fdisk has to say about my disk,
    root@sysresccd /root % fdisk -l /dev/sdb
    Warning: ignoring extra data in partition table 5
    Warning: ignoring extra data in partition table 5
    Warning: ignoring extra data in partition table 5
    Warning: invalid flag 0x2404 of partition table 5 will be corrected by w(rite)
    Disk /dev/sdb: 30.0 GB, 30020272128 bytes
    255 heads, 63 sectors/track, 3649 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x4b36bdea
    Device Boot Start End Blocks Id System
    /dev/sdb1 * 895 3444 20482875 7 HPFS/NTFS
    /dev/sdb2 1 894 7181023+ b W95 FAT32
    /dev/sdb3 3445 7476 32387040 5 Extended
    /dev/sdb5 ? 142349 151007 69551332+ 19 Unknown
    Partition table entries are not in disk order
    This looks somewhat promising. I had only three partitions on the disk (I don't remember if any were logical), one swap, one large thing for pacman stuff and of course root.
    By suggestion of this I will try testdisk (version 6.11 from Sys Resc CD).
    Last edited by fsckd (2011-09-17 21:22:59)

    Unfortunately my copy of sys resc cd does not have fixparts.
    testdisk worked like a charm and my partitions were recovered, one swap, one JFS and one ext4.
    (Incidentally it was Windows which damaged the MBR in the first place.)

  • Recovery of  partition table

    Hi All,
    My question to the forum is :
    Oracle version :10.2.0.4
    I would like to revcover data from one of the partition of the partition table .
    we have monthly partition table , we store about 40 months of data ( hugh table about 800GB) and we have one tablespace for each partition.
    I would like to recover data from one of the oldest partition which got purged out .
    Steps I did:
    1) restored the datafiels of the tablespaces from hot backup for the oldest partition ( xyz_200601) , system and rbs
    2) recovered database until cancel
    3) database is open mode .. I am not able to access the partition data (xyz_200601), gives me error saying file is missing "ORA-01110: data file 1517: '/u01/app/oracle/product/10.2.0/dbs/MISSING01517"
    Is it possible recover one partition from the table ? or do I need to recover entire table ...

    Hi,
    Strange, from error
    ORA-01110: data file 1517 but not the correct path, why it referring to "dbs" folder
    '/u01/app/oracle/product/10.2.0/dbs/MISSING01517' - is the file correct one. Check.
    Any how are you testing your backups validity whether you can recover or not.
    What is the error it throwing when you are trying to accessing the partition, check alert log.
    - Pavan Kumar N
    Oracle 9i/10g - OCP
    http://oracleinternals.blogspot.com/

  • 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

  • "GUID partition table scheme"  Can't install snow leopard on my mbp.

    I have a mbp that is partitioned as half mac, half XP.  I put in the snow leopard CD and came up with an error that said I could not istall snow leopard because my partition did not fit the "GUID partition table scheme".  I followed the menues to the partition section of the disk utility.  From there, I don't know what to do.  I can't click on the "options" button to change to the GUILD thing.  Do I need to repartition my entire mbp?  Will this erase my other partition?  And will it delete all my data?  Any suggestions on what to do???

    GUID partition table (GPT) or map is a set of instructions at the very begining of a storage drive to tell the hardware what partitions and formats are where on the drive.
    A Intel Mac now requires a GPT to boot OS X as it uses EFI (Extensible Firmware Interface) which is a software firmware in a hidden EFI partition on the boot drive designed originally for copy protection by Intel. EFI loads into memory before OS X  does, which can be seen if you have verbose mode activated upon boot time.
    Setting up the boot drive with a GUID Partiton table WILL require backing up of all data off the machine and a complete erasure of ALL partitions on the drive, which includes ALL data, programs, operating systems and files not backed up off the machine previously.
    Since a partition map is basically road directions, when it's destroyed so does go the partitions.
    Also since you will be fresh installing 10.6, your free iLife won't tag along,, however you can erase/install 10.5 first then upgrade to 10.6 (no BootCamp) and that shoudl work.
    Unfortunatly Mac's only now support Windows 7 in Bootcamp, however Windows 7 Pro (and above) will run XP programs natively or via free virtual machine XP downloaded from Microsoft, however since it's really not native, 3D games etc likely won't run very well.
    If your not familiar or willing to take a chance, then I suggest you have someone else upgrade that machine.
    https://discussions.apple.com/community/notebooks/macbook_pro?view=documents

  • How to delete the data from partition table

    Hi all,
    Am very new to partition concepts in oracle..
    here my question is how to delete the data from partition table.
    is the below query will work ?
    delete from table1 partition (P_2008_1212)
    we have define range partition ...
    or help me how to delete the data from partition table.
    Thanks
    Sree

    874823 wrote:
    delete from table1 partition (P_2008_1212)This approach is wrong - as Andre pointed, this is not how partition tables should be used.
    Oracle supports different structures for data and indexes. A table can be a hash table or index organised table. It can have B+tree index. It can have bitmap indexes. It can be partitioned. Etc.
    How the table implements its structure is a physical design consideration.
    Application code should only deal with the logical data structure. How that data structure is physically implemented has no bearing on application. Does your application need to know what the indexes are and the names of the indexes,in order to use a table? Obviously not. So why then does your application need to know that the table is partitioned?
    When your application code starts referring directly to physical partitions, it needs to know HOW the table is partitioned. It needs to know WHAT partitions to use. It needs to know the names of the partitions. Etc.
    And why? All this means is increased complexity in application code as this code now needs to know and understand the physical data structure. This app code is now more complex, has more moving parts, will have more bugs, and will be more complex to maintain.
    Oracle can take an app SQL and it can determine (based on the predicates of the SQL), which partitions to use and not use for executing that SQL. All done totally transparently. The app does not need to know that the table is even partitioned.
    This is a crucial concept to understand and get right.

  • How can I add a new column in compress partition table.

    I have a compress partition table when I add a new column in that table it give me an error "ORA-22856: CANNOT ADD COLUMNS TO OBJECT TABLES". I had cretaed a table in this clause. How can I add a new column in compress partition table.
    CREATE TABLE Employee
    Empno Number,
    Tr_Date Date
    COMPRESS PARTITION BY RANGE (Tr_Date)
    PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
    PARTITION JUNK Values LESS THAN (MAXVALUE));
    Note :
    When I create table with this clause it will allow me to add a column.
    CREATE TABLE Employee
    Empno Number,
    Tr_Date Date
    PARTITION BY RANGE (Tr_Date)
    PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
    PARTITION JUNK Values LESS THAN (MAXVALUE));
    But for this I have to drop and recreate the table and I dont want this becaue my table is in online state i cannot take a risk. Please give me best solution.

    Hi Fahed,
    I guess, you are using Oracle 9i Database Release 9.2.0.2 and the Table which you need to alter is in OLTP environment where data is usually inserted using regular inserts. As a result, these tables generally do not get much benefit from using table compression. Table compression works best on read-only tables that are loaded once but read many times. Tables used in data warehousing applications, for example, are great candidates for table compression.
    Reference : http://www.oracle.com/technology/oramag/oracle/04-mar/o24tech_data.html
    Topic : When to Use Table Compression
    Bug
    Reference : http://dba.ipbhost.com/lofiversion/index.php/t147.html
    BUG:<2421054>
    Affects: RDBMS (9-A0)
    NB: FIXED
    Abstract: ENH: Allow ALTER TABLE to ADD/DROP columns for tables using COMPRESS feature
    Details:
    This is an enhancement to allow "ALTER TABLE" to ADD/DROP
    columns for tables using the COMPRESS feature.
    In 9i errors are reported for ADD/DROP but the text may
    be misleading:
    eg:
    ADD column fails with "ORA-22856: cannot add columns to object tables"
    DROP column fails with "ORA-12996: cannot drop system-generated virtual column"
    Note that a table which was previously marked as compress which has
    now been altered to NOCOMPRESS also signals such errors as the
    underlying table could still contain COMPRESS format datablocks.
    As of 10i ADD/SET UNUSED is allowed provided the ADD has no default value.
    Best Regards,
    Muhammad Waseem Haroon
    [email protected]

  • How can I create my own tag name while creating a partition table.

    I have X4500 running Solaris 10. I have formatted a disk and created partition table as given below.
    Specify disk (enter its number): 0
    selecting c0t0d0
    [disk formatted]
    /dev/dsk/c0t0d0s0 is part of active ZFS pool zpool1. Please see zpool(1M).
    FORMAT MENU:
    disk - select a disk
    type - select (define) a disk type
    partition - select (define) a partition table
    current - describe the current disk
    format - format and analyze the disk
    fdisk - run the fdisk program
    repair - repair a defective sector
    label - write label to the disk
    analyze - surface analysis
    defect - defect list management
    backup - search for backup labels
    verify - read and display labels
    inquiry - show vendor, product and revision
    volname - set 8-character volume name
    !<cmd> - execute <cmd>, then return
    quit
    format> partition
    PARTITION MENU:
    0 - change `0' partition
    1 - change `1' partition
    2 - change `2' partition
    3 - change `3' partition
    4 - change `4' partition
    5 - change `5' partition
    6 - change `6' partition
    select - select a predefined table
    modify - modify a predefined partition table
    name - name the current table
    print - display the current table
    label - write partition map and label to the disk
    !<cmd> - execute <cmd>, then return
    quit
    partition> print
    Current partition table (original):
    Total disk sectors available: 1953508749 + 16384 (reserved sectors)
    Part Tag Flag First Sector Size Last Sector
    0 usr wm 34 4.00GB 8388641
    1 usr wm 8388642 2.00GB 12582945
    2 usr wm 12582946 200.00GB 432013345
    3 usr wm 432013346 175.00GB 799014945
    4 usr wm 1166180386 375.43GB 1953508748
    5 usr wm 799014946 175.00GB 1166016545
    6 usr wm 1166016546 80.00MB 1166180385
    8 reserved wm 1953508749 8.00MB 1953525132
    partition>
    I am unable to specify my own tag name. How can I change the tag name to one of my interest.
    I need to create 3 partitions as told below
    partitions:
    /earth
    /mars
    /work
    /earth and /work should be roughly equal in size, /mars should be twice the size of the others, if that is possible. If not 3 partitions of equal size will do.
    Please, help me .
    Thank you.

    Exactly 1TB? Slightly under/slightly over?
    Traditional Solaris disk labels are in VTOC format, but this format cannot describe disks larger than 1TB. So EFI labels must be used on disks larger than 1TB. Setup is slightly different.
    Are these physical disks or LUNs from a SAN array? If they are array LUNS, it is often the case that they don't have a Sun label of any type. So...
    #1 Apply a Solaris label
    If the LUNS don't have a label (when selected in 'format', it gives a warning that no label is present and offers to apply a label immediately). When run non-interactively, format assumes "yes" for any questions. So all you'd have to do is select every disk to have it apply labels to any unlabled disk. Run 'format' once and find the highest number (maybe it's 50 for you). Create a text file that looks like this:
    disk 1
    disk 2
    disk 3
    disk 50Then feed that to format like this:
    # format -f /tmp/disklist or whatever you've named the file.
    #2 Apply the partition layout to all disks you want.
    You asked if you should do the same procedure, but I don't see that you've actually done anything above other than print out the existing layout. Take one of your 48 drives and partition it the way you want manually (set the slices to the sizes that you want). Then you can copy the layout of that disk to others. You only want to do this between disks/LUNs of the same size. As an example, if you've explicitly partitioned c1t0d0 and you want to apply this to c1t1d0, do this:
    # prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2Repeat for all of your other disks.
    Darren

Maybe you are looking for

  • Error in rules while updating from PSA to ODS

    Hi Experts, I am trying to load data from PSA to ODS using DTP. For about 101 records I get the following error: "Runtime error while executing rule -> see long text     RSTRAN     301" On further looking at the long text: Diagnosis     An error occu

  • My itunes wont recognise my Iphone5. how do i fix this?

    My itunes is not reconising my iphone when i plug it into my laptop. my laptop is reconising it, but i cant get it to connect to itunes. ive tried resetting my laptop, re-downloaded itunes and none of this seems to work, does anyone know how i can fi

  • Cannot update customer name in R12.0.6

    We are experiencing one issue where we cannot update the customer name in the customer form in AR. When we try to update a customer name we get an error message. "Error Page You have encountered an unexpected error. Please contact the System Administ

  • HP Designjet Z6100 printhead failure.

    I´m having the following problem: When the plotter has to print an image with some yellow density, printhead yellow / magenta begins to fail, and the printer stops printing, giving the indication that is necessary to replace the printhead magenta / y

  • Firefox dose not refresh while ie refreshes the JSP page

    Hiii, I think I am in a little tricky situation here and need for your advice, here is the situation... I have a small .jsp page that contains a little jsp code and a little html code ... the main function of the jsp part is the adjust the "refresh c