Block corruption recovery!!
Hi. all.
I am testing a recovery in the event of block corruption.
As far as I know, the solution to block corruption is as followings:
1. BlockRecover command (RMAN)
2. drop the table and import from backup dump file
3. DBMS_REPAIR package
4. complete recovery from online full backup
My question is whether No. 4 is possible or not.
step 1 : bring the datafile offline
step 2 : restore the datafile from the last backup(online backup)
step 3: recover the datafile, applying archive logs and online redo logs
step 4 : bring the datafile online
The above steps are enough for block corruption recovery?
I need to make a document about block corruption issue, but
I have no experience of recovering block corruption.
Thanks in advance.
Best Regards.
If few blocks are corrupted, it is advisable to run the BMR (block media recover, staring with 9i). This option provides the availability of other data present in datafile.
Option 4 is okay when most of the data block in a datafile got corrupted.
To know how many blocks got corrupted in the datafile, run the following:
SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
SELECT * FROM V$COPY_CORRUPTION;
SELECT * FROM V$BACKUP_CORRUPTION;
You need to look into corrution_type and blocks columns in the v$database_block_corruption view as it gives the reason for block corruption and number of blocks are corrupted in a datafile.
Jaffar
Similar Messages
-
How to practice "Archived log sequences loss- Block corruptions recovery"
Hello,
Prepare and test a recovery scenarios
- System Tablespace loss
- Online Redolog loss
- Controlfile loss
- Data Tablespace loss
- Single/multiple datafile loss
- Archived log sequences loss- Block corruptions recovery
- Total loss (database)
- Total loss (server = database/software/parameter files)
11g on windows
I am practicing my rman recovery and found this list of recovery scenarios. I have completed all scenarios
besides "Archived log sequences loss- Block corruptions recovery"
How do I break the database for the snenario "Archived log sequences loss- Block corruptions recovery"?
Do I delete the acr.001 files in directory I:\oracle\product\11.1.0\db_1\RDBMS? Then recovery as far forward as I can?
thanks for your help.thanks for the tips
11g on windows 2003
I broke the database like this:
rman backup
shutdown immediate;
deleted datafile 5
delete most recent archivelogs seq 5 and 6;
recovered like this:
startup mount;
restore datafile 5;
recover datafile 5;
alter database open;
This does not seem correct? Did this also apply my archivelogs seq 5 and 6? Should I also do a point in time recovery?
Should I also run this?
run (set until sequence 6 thread 1; restore database; recover database;)
thanks for any help -
Standby DB recovery in case of block corruption
Hi all,
I have a question,can we recover the physical standby database if we take rman backup of rpimary db and restore it to the standby db.Please suggest me...I have checked it through rman on the primary db and not found any block corruption....
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
backup check logical validate database;
release channel d1;
release channel d2;
}but i want ot forst test it on the test server but i don't know how to corrupt the block corruption i have opened the datafile and entered some character but i am getting other error not block corruption actually i want to test the sam scenario so that i will be confident while resotring the primary database to standby database.....
Edited by: user00726 on Feb 20, 2009 12:10 AM -
Urgent- block corruption on standby and recovery thru physical copy file
Hi all,
We have a ORacle 9.2.0.6 DB and we have manula physical standby DB.
We got a block corruption on standby and I got to know thru metalink that we have to copy the data file from primary to standby but
my question is when we copy the datafile from primary to standby, will i be able to do the same because I think the SCN may varies ,as when i down the standby to copy the datafile ,oracle server wrtie a SCN to the control file of standby and when i will open it it will throw an error....
Please suggest me....we are having n numbers od block corruption so what should be the exact value in
alter database recover automatic standby database allow *1* corruptionpls suggeest me
select * from v$backup_corruption;
RECID STAMP SET_STAMP SET_COUNT PIECE# FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# MARKED_CORRUPT CORRUPTION_TYPE
1 679059926 679058677 54 1 3 299997 12 1790569359 NO LOGICAL
2 679059926 679058677 54 1 3 300010 15 1790569374 NO LOGICAL
3 679059926 679058677 54 1 3 300026 15 1790569389 NO LOGICAL
4 679059926 679058677 54 1 3 300042 7 1790569404 NO LOGICAL
5 679059926 679058677 54 1 3 300433 8 1790569404 NO LOGICAL
6 679059926 679058677 54 1 3 300442 15 1790569419 NO LOGICAL
7 679059926 679058677 54 1 3 300458 15 1790569434 NO LOGICAL
8 679059926 679058677 54 1 3 300690 15 1790569450 NO LOGICAL
9 679059926 679058677 54 1 3 300930 7 1790569465 NO LOGICAL
10 679059926 679058677 54 1 3 2427217 64 1545959567 NO LOGICAL
11 679059926 679058677 54 1 3 3078291 126 1790569473 NO LOGICAL
12 679059926 679058677 54 1 3 3236929 8 1790569465 NO LOGICAL
13 679059926 679058677 54 1 3 3236941 12 1790464761 NO LOGICAL
14 679059926 679058677 54 1 3 3236954 15 1790464776 NO LOGICAL
15 679059926 679058677 54 1 3 3236970 15 1790464792 NO LOGICAL
16 679059926 679058677 54 1 3 3236986 15 1790464807 NO LOGICAL
17 679059926 679058677 54 1 3 3237002 7 1790464822 NO LOGICAL
18 679059926 679058677 54 1 3 3242641 8 1790464822 NO LOGICAL
19 679059926 679058677 54 1 3 3242650 15 1790464837 NO LOGICAL
20 679059926 679058677 54 1 3 3242666 15 1790464852 NO LOGICAL
21 679059926 679058677 54 1 3 3242682 15 1790464867 NO LOGICAL
22 679059926 679058677 54 1 3 3242771 40 1790464875 NO LOGICAL
23 679059926 679058677 54 1 3 3242899 126 1790569482 NO LOGICAL
24 679059926 679058677 54 1 3 3243027 126 1790569491 NO LOGICAL
25 679059926 679058677 54 1 3 3243155 126 1790569500 NO LOGICAL
26 679059926 679058677 54 1 3 3243283 126 1790569509 NO LOGICAL
27 679059926 679058677 54 1 3 3243411 126 1790569518 NO LOGICAL
28 679059926 679058677 54 1 3 3243539 126 1790569527 NO LOGICAL
29 679059926 679058677 54 1 3 3243667 126 1790569536 NO LOGICAL
30 679059926 679058677 54 1 3 3243795 126 1790569545 NO LOGICAL
31 679059926 679058677 54 1 3 3243923 126 1790569554 NO LOGICAL
32 679059926 679058677 54 1 3 3244051 126 1790569564 NO LOGICAL
33 679059926 679058677 54 1 3 3244179 126 1790569573 NO LOGICAL
34 679059926 679058677 54 1 3 3244307 126 1790569582 NO LOGICAL
35 679059926 679058677 54 1 3 3244435 126 1790569591 NO LOGICAL
36 679059926 679058677 54 1 3 3244563 126 1790569600 NO LOGICAL
37 679059926 679058677 54 1 3 3244691 126 1790569609 NO LOGICAL
38 679059926 679058677 54 1 3 3244819 126 1790569618 NO LOGICAL
39 679059926 679058677 54 1 3 3244947 126 1790569627 NO LOGICAL
40 679059926 679058677 54 1 3 3245075 126 1790569637 NO LOGICAL
41 679059926 679058677 54 1 3 3245203 126 1790569646 NO LOGICAL
42 679059926 679058677 54 1 3 3245331 126 1790569655 NO LOGICAL
43 679059926 679058677 54 1 3 3245459 126 1790569664 NO LOGICAL
44 679059926 679058677 54 1 3 3245587 126 1790569673 NO LOGICAL
45 679059926 679058677 54 1 3 3245715 126 1790569683 NO LOGICAL
46 679059926 679058677 54 1 3 3245843 126 1790569692 NO LOGICAL
47 679059926 679058677 54 1 3 3245971 126 1790569701 NO LOGICAL
48 679059926 679058677 54 1 3 3246099 126 1790569710 NO LOGICAL
49 679059926 679058677 54 1 3 3246227 126 1790569719 NO LOGICAL
50 679059926 679058677 54 1 3 3246355 126 1790569728 NO LOGICAL
51 679059926 679058677 54 1 3 3246483 126 1790569737 NO LOGICAL
52 679059926 679058677 54 1 3 3246611 126 1790569746 NO LOGICAL
53 679059926 679058677 54 1 3 3246739 126 1790569755 NO LOGICAL
54 679059926 679058677 54 1 3 3246867 126 1790569764 NO LOGICAL
55 679059926 679058677 54 1 3 3246995 126 1790569773 NO LOGICAL
56 679059926 679058677 54 1 3 3247123 126 1790569782 NO LOGICAL
57 679059926 679058677 54 1 3 3247251 126 1790569791 NO LOGICAL
58 679059926 679058677 54 1 3 3247379 126 1790569801 NO LOGICAL
59 679059926 679058677 54 1 3 3247507 126 1790569811 NO LOGICAL
60 679059926 679058677 54 1 3 3247635 126 1790569820 NO LOGICAL
61 679059926 679058677 54 1 3 3247763 126 1790569829 NO LOGICAL
62 679059926 679058677 54 1 3 3247891 126 1790569838 NO LOGICAL
63 679059926 679058677 54 1 3 3248019 126 1790569847 NO LOGICAL
64 679059926 679058677 54 1 3 3248147 126 1790569856 NO LOGICAL
65 679059926 679058677 54 1 3 3248275 126 1790569865 NO LOGICAL
66 679059926 679058677 54 1 3 3248403 126 1790569874 NO LOGICAL
67 679059926 679058677 54 1 3 3248531 126 1790569883 NO LOGICAL
68 679059926 679058677 54 1 3 3248659 126 1790569892 NO LOGICAL
69 679059926 679058677 54 1 3 3248787 126 1790569901 NO LOGICAL
70 679059926 679058677 54 1 3 3248915 126 1790569910 NO LOGICAL
71 679059926 679058677 54 1 3 3249043 126 1790569920 NO LOGICAL
72 679059926 679058677 54 1 3 3249171 126 1790569929 NO LOGICAL
73 679059926 679058677 54 1 3 3249299 126 1790569938 NO LOGICAL
74 679059926 679058677 54 1 3 3249427 126 1790569947 NO LOGICAL
75 679059926 679058677 54 1 3 3249555 126 1790569956 NO LOGICAL
76 679059926 679058677 54 1 3 3249683 126 1790569965 NO LOGICAL
77 679059926 679058677 54 1 3 3249811 126 1790569974 NO LOGICAL
78 679059926 679058677 54 1 3 3249939 126 1790569984 NO LOGICAL
79 679059926 679058677 54 1 3 3250067 126 1790569993 NO LOGICAL
80 679059926 679058677 54 1 3 3250195 126 1790570002 NO LOGICAL
81 679059926 679058677 54 1 3 3250323 126 1790570011 NO LOGICAL
82 679059926 679058677 54 1 3 3250451 126 1790570020 NO LOGICAL
83 679059926 679058677 54 1 3 3250579 126 1790570029 NO LOGICAL
84 679059926 679058677 54 1 3 3250706 127 1790570039 NO LOGICAL
85 679059926 679058677 54 1 3 3250837 1020 1790570048 NO LOGICAL
86 679059926 679058677 54 1 3 3251861 1020 1790570057 NO LOGICAL
87 679059926 679058677 54 1 3 3252885 1020 1790570067 NO LOGICAL
88 679059926 679058677 54 1 3 3253909 1020 1790570076 NO LOGICAL
89 679059926 679058677 54 1 3 3254933 1020 1790570086 NO LOGICAL
90 679059926 679058677 54 1 3 3255957 1020 1790570095 NO LOGICAL
91 679059926 679058677 54 1 3 3256981 1020 1790570104 NO LOGICAL
92 679059926 679058677 54 1 3 3258005 1020 1790570114 NO LOGICAL
93 679059926 679058677 54 1 3 3259029 1020 1790570123 NO LOGICAL
94 679059926 679058677 54 1 3 3260053 1020 1790570133 NO LOGICAL
95 679059926 679058677 54 1 3 3261077 486 1790570142 NO LOGICAL NO LOGICAL
SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 299997 12 1790569359 LOGICAL
3 300010 15 1790569374 LOGICAL
3 300026 15 1790569389 LOGICAL
3 300042 7 1790569404 LOGICAL
3 300433 8 1790569404 LOGICAL
3 300442 15 1790569419 LOGICAL
3 300458 15 1790569434 LOGICAL
3 300690 15 1790569450 LOGICAL
3 300930 7 1790569465 LOGICAL
3 2427217 64 1545959567 LOGICAL
3 3078291 126 1790569473 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3236929 8 1790569465 LOGICAL
3 3236941 12 1790464761 LOGICAL
3 3236954 15 1790464776 LOGICAL
3 3236970 15 1790464792 LOGICAL
3 3236986 15 1790464807 LOGICAL
3 3237002 7 1790464822 LOGICAL
3 3242641 8 1790464822 LOGICAL
3 3242650 15 1790464837 LOGICAL
3 3242666 15 1790464852 LOGICAL
3 3242682 15 1790464867 LOGICAL
3 3242771 40 1790464875 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3242899 126 1790569482 LOGICAL
3 3243027 126 1790569491 LOGICAL
3 3243155 126 1790569500 LOGICAL
3 3243283 126 1790569509 LOGICAL
3 3243411 126 1790569518 LOGICAL
3 3243539 126 1790569527 LOGICAL
3 3243667 126 1790569536 LOGICAL
3 3243795 126 1790569545 LOGICAL
3 3243923 126 1790569554 LOGICAL
3 3244051 126 1790569564 LOGICAL
3 3244179 126 1790569573 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3244307 126 1790569582 LOGICAL
3 3244435 126 1790569591 LOGICAL
3 3244563 126 1790569600 LOGICAL
3 3244691 126 1790569609 LOGICAL
3 3244819 126 1790569618 LOGICAL
3 3244947 126 1790569627 LOGICAL
3 3245075 126 1790569637 LOGICAL
3 3245203 126 1790569646 LOGICAL
3 3245331 126 1790569655 LOGICAL
3 3245459 126 1790569664 LOGICAL
3 3245587 126 1790569673 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3245715 126 1790569683 LOGICAL
3 3245843 126 1790569692 LOGICAL
3 3245971 126 1790569701 LOGICAL
3 3246099 126 1790569710 LOGICAL
3 3246227 126 1790569719 LOGICAL
3 3246355 126 1790569728 LOGICAL
3 3246483 126 1790569737 LOGICAL
3 3246611 126 1790569746 LOGICAL
3 3246739 126 1790569755 LOGICAL
3 3246867 126 1790569764 LOGICAL
3 3246995 126 1790569773 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3247123 126 1790569782 LOGICAL
3 3247251 126 1790569791 LOGICAL
3 3247379 126 1790569801 LOGICAL
3 3247507 126 1790569811 LOGICAL
3 3247635 126 1790569820 LOGICAL
3 3247763 126 1790569829 LOGICAL
3 3247891 126 1790569838 LOGICAL
3 3248019 126 1790569847 LOGICAL
3 3248147 126 1790569856 LOGICAL
3 3248275 126 1790569865 LOGICAL
3 3248403 126 1790569874 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3248531 126 1790569883 LOGICAL
3 3248659 126 1790569892 LOGICAL
3 3248787 126 1790569901 LOGICAL
3 3248915 126 1790569910 LOGICAL
3 3249043 126 1790569920 LOGICAL
3 3249171 126 1790569929 LOGICAL
3 3249299 126 1790569938 LOGICAL
3 3249427 126 1790569947 LOGICAL
3 3249555 126 1790569956 LOGICAL
3 3249683 126 1790569965 LOGICAL
3 3249811 126 1790569974 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3249939 126 1790569984 LOGICAL
3 3250067 126 1790569993 LOGICAL
3 3250195 126 1790570002 LOGICAL
3 3250323 126 1790570011 LOGICAL
3 3250451 126 1790570020 LOGICAL
3 3250579 126 1790570029 LOGICAL
3 3250706 127 1790570039 LOGICAL
3 3250837 1020 1790570048 LOGICAL
3 3251861 1020 1790570057 LOGICAL
3 3252885 1020 1790570067 LOGICAL
3 3253909 1020 1790570076 LOGICAL
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 3254933 1020 1790570086 LOGICAL
3 3255957 1020 1790570095 LOGICAL
3 3256981 1020 1790570104 LOGICAL
3 3258005 1020 1790570114 LOGICAL
3 3259029 1020 1790570123 LOGICAL
3 3260053 1020 1790570133 LOGICAL
3 3261077 486 1790570142 LOGICAL
95 rows selected.
SQL> -
System datafile block corruption - no backups and database in NOARCHIVELOG mode
Dear All,
Database version - oracle 11.1 Enterprise
OS - RHELinux 5.8
What are the options of recovering from physical block corruption when there are no backup available to perform block media recovery?
V$DATABASE_BLOCK_CORRUPTION reports two segments corrupted (please see attached image for details).
1 table in system datafile - sys_fba_barrierscn
1 index - (applicaiton index)
What are my options?
I know there is a possibility that the database will not restart after a shutdown due to corruption in system tablespace.
Database is in noarchivelog mode. So online backups are not possible and there aren't any full backups either.
I am thinking of below,
1. Run dbms_repair with fix_block_corruption. - Still database startup might fail?
2. Shutdown the database and take offline full backup with RMAN MAXCorrupt option.
Appreciate your suggestions and advises.
Thanks
StefanThanks Sybrand,
Agree with your first two suggestions .
Also scheduled a expdp job tonight. (Only backup like thing they had was a expdp cron, but until today all the large tables were failing due to small undo_retention).
Yes. Flashback is not used. So hopefully it will not affect the a database restart i guess?
Related to dbms_repair, I was referring to - http://askdba.org/weblog/2010/08/physical-corruption-ora-1578-part-3/.
Where DBMS_REPAIR.FIX_CORRUPT_BLOCKS and DBMS_REPAIR.SKIP_CORRUPT_BLOCKS used.
Which i think will not use any redo.
Thanks
Stefan -
Oracle 11g - How to repair block corruption(on free space) in datafile
Hi,
I have a tablesopace with 3 datafiles, out of which one datafile has corrupted block. But no objects or data is affected as the corrupted block os in free space. This was shown in the alert logs.
Please see below the details:
Wed Apr 06 15:30:04 2011
SMON: Restarting fast_start parallel rollback
SMON: ignoring slave err,downgrading to serial rollback
ORACLE Instance geooap (pid = 12) - Error 1578 encountered while recovering transaction (10, 6) on object 149755.
Errors in file f:\oracle11g\diag\rdbms\geooap\geooap\trace\geooap_smon_5540.trc:
ORA-01578: ORACLE data block corrupted (file # 7, block # 54053)
ORA-01110: data file 7: 'F:\ORACLE11G\ORADATA\GEOOAP\ORDER_DATA_01.DBF'
GEOAP:
Fri Apr 01 14:57:48 2011
Errors in file f:\oracle11g\diag\rdbms\geop\geop\trace\geop_arc1_2156.trc:
ORA-00235: control file read without a lock inconsistent due to concurrent update
Fri Apr 01 14:57:58 2011
================================================================
The corruption is being reported in a free space block of the ORDER_DATA_01.DBF.
I’ve checked all the tables (and indexes) in this tablespace and none report corruption.
=====================================================Is there any action I need to take to remove corruption at this point?It is not affected any operation on the database yet.
What is the best way to do get rid of the corrupt block, without dropping and rebuillding the full tablespace(which is around 6 GB -total of 3 datafiles)
Thanks a lotCan RMAN recover the datablock from this cold backup(which is a week old, the data file was not corrupted then) ?Please note that to do the recovery, you would need the backup and the archivelog files since the backup. Think about what you are asking to do. Its a single block whose recovery you are asking from a week old backup which obviously would be on an much older SCN compared to the rest of the database. How would you make that block consistent with the rest of the datafile. If you don't have archivelog in that db whose block is corrupted, you may forget that block and any data that it might ever had. Also, please read the documentation about the block recovery which explains the requirements very clearly,
http://download.oracle.com/docs/cd/E11882_01/backup.112/e10642/rcmblock.htm#BRADV89784
From the above link, 1st point,
The target database must run in ARCHIVELOG mode and be open or mounted with a current control file.HTH
Aman.... -
I'm on 9i R2 Patch 7 on a Microsoft Windows Server 2003.
How do you fix data block corruption in a Table?
Is the some way to retrieve the data from the Table drop it then recreate and reimport the data?
or do you have to succumb with restoring the Database from the last known good backup?Hey, you can do the BMR (Block Media Recovery).
Since block corruption is to few subsets of blocks, i.e. a single table, you dont need to restore from the previous valid backup, you can simply do the following to achieve BMR.
Connect to rman and run the following:
run{ backup validate database};
Once the above commend is finishes, exit from RMAN and connect to the database as / as sysdba and use the following view to know the details required for BMR.
select * from V$backup_corruption;
The above queries gives you file# and block# information. Once you have the information do the BMR using following command at the RMAN prompt:
run {blockrecover datafile # block #};
# : indicated the datafile number and block number from the above view.
Let me know if you have any further issues.
You can also use view V$DATABASE_BLOCK_CORRUPTION to view the file# and corrupted blocks information.
Jaffar -
Needs help regarding block corruption
DB Version - 11.2.0.3.0
Issue - Last backup failed due to block corruption ,message says "ORA-19566: exceeded limit of 0 corrupt blocks for file /GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct.dbf'
I tried to perform block recovery using RMAN but it was not present in backup, hence failed. tried in the below way also :-
RMAN> LIST FAILURE
2> ;
using target database control file instead of recovery catalog
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
72981 HIGH OPEN 13-JAN-13 Datafile 58: '/GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct.dbf'
contains one or more corrupt blocks
RMAN> ADVISE FAILURE
2> ;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
72981 HIGH OPEN 13-JAN-13 Datafile 58: '/GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct..dbf' contains one or more corrupt blocks
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2055 device type=DISK
analyzing automatic repair options complete
Mandatory Manual Actions
========================
1. No backup of block 3106752 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
2. No backup of block 3106911 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
3. No backup of block 3106976 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
4. No backup of block 3107504 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
5. Contact Oracle Support Services if the preceding recommendations cannot be used, or if they do not fix the failures selected for repair
Now how to troubleshoot ? Any help will be highly appreciatedFirst, you need to determine to which segment the block is assigned:
select segment_type,owner,segment_name
from dba_extents
where file_id=58 and 3106752 between block_id and (blockid + blocks -1);
Your action from there will depend on the type of segment. Since you have no backup, the options are limited. But there are still possibilities. -
(oracle) block corruption
Hi Everybody,
Recently, my site has a development database that encountered block corruption in the system tablespace. I have verified this by using Oracle utility DBVERIFY on the system datafile.
We have no backup at all for this development database. So database recovery from backup is impossible for us.
I understand that there's a package called DBMS_REPAIR that can be used to repair corrupted blocks. I tried using this, but the process failed because it could not access the system tablespace (which is corrupted) to create a table used by the package.
Does anyone know if I could overcome this problem and repair the corrupted blocks on the system tablespace?
Also, I would like to understand what are the possible causes of block corruption. My site's Oracle Server and databases are installed on Windows 2000 platform.
Please help answer my queries if you can. Thank you!
nullIam sorry that I have not seen this posting until today .
When there is a block corruption export will fail with error.
The best method is to replace this file with a backup file and roll forward.
null -
Checking block corruption, why in alert it is saying Error in trace file
Hi,
I am using Oracle 10g 10.2.0.1 with linux 32 bit
I wanted to check block corruption using RMAN by following statement
backup validate check logical database;
when i executed the statement, following was the output
Starting backup at 09-MAY-08
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=91 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00004 name=/u01/app/oracle/oradata/test/users01.dbf
input datafile fno=00008 name=/u01/app/oracle/oradata/test/workflowuser
input datafile fno=00001 name=/u01/app/oracle/oradata/test/system01.dbf
input datafile fno=00003 name=/u01/app/oracle/oradata/test/sysaux01.dbf
input datafile fno=00010 name=/u01/app/oracle/oradata/test/ifan
input datafile fno=00002 name=/u01/app/oracle/oradata/test/undotbs01.dbf
input datafile fno=00007 name=/u01/app/oracle/oradata/test/taker
input datafile fno=00009 name=/u01/app/oracle/oradata/test/testing1
input datafile fno=00005 name=/u01/app/oracle/oradata/test/brokerdb
input datafile fno=00006 name=/u01/app/oracle/oradata/test/moneio
input datafile fno=00011 name=/u01/app/oracle/oradata/test/web1
input datafile fno=00012 name=/u01/app/oracle/oradata/test/e1
input datafile fno=00013 name=/u01/app/oracle/oradata/test/ind1
channel ORA_DISK_1: backup set complete, elapsed time: 00:06:57
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 09-MAY-08
and when i do the following query
select * from v$database_block_corruption in sqlplus
then there was no row
so it means there is no logical corruption, but when i am looking at alert log file it is giving following lines
Fri May 9 10:14:04 2008
Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc:
Fri May 9 10:14:04 2008
Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc:
Fri May 9 10:14:04 2008
Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc
and in above trace file following contents
/u01/app/oracle/admin/test4/udump/test_ora_6606.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: test
Release: 2.6.18-5-686
Version: #1 SMP Wed Oct 3 00:12:50 UTC 2007
Machine: i686
Instance name: test
Redo thread mounted by this instance: 1
Oracle process number: 61
Unix process pid: 6606, image: oracle@test (TNS V1-V3)
*** 2008-05-09 10:14:04.093
*** ACTION NAME:(0000040 STARTED19) 2008-05-09 10:14:04.071
*** MODULE NAME:(backup full datafile) 2008-05-09 10:14:04.071
*** SERVICE NAME:(SYS$USERS) 2008-05-09 10:14:04.071
*** SESSION ID:(91.40318) 2008-05-09 10:14:04.071
Is it normal, why the in alert file it is saying that Error in.
And it did not create any backupset in folder of flash recovery but in Enterprise manager it is showing last backup on 09-may-2008, why ?
Regards,See logical corruption is normally termed as the internal inconsistancy within the block which is not caused by Oracle but by the user.So if you find internal inconsistancy than the best option is to look at the user and ask him to get the values sorted out.If the internal inconsistancy is some thig like index fragmentation sort of things or index entry pointing to a null rowid than they are termed as the logical corruption and they should not impact your normal as he data is already there and there is no issue in reading the block as such.
The term "corrupted blocks" I would call both in the tables and backup for those data blocks which are unreadable by Oracle which actualy is Physical corruption.
If i am doing the checking at 2:00 am, does it take more than two hours.I didnt understand this.
what can we do for Physical corruptionThis will need the block to be recovered with the Block Recover command of RMAN and a good backup.Read about it here,
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta010.htm
About the Logical and Physical corruption checks , check here
http://download-west.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc1012.htm
Aman.... -
BLOCK CORRUPTION (ORACLE8 에서 ORA-1578 조치방법)
제품 : ORACLE SERVER
작성날짜 : 2002-04-26
BLOCK CORRUPTION (ORACLE8 에서 ORA-1578 조치방법)
================================================
PURPOSE
본 bulletin 에서는 Oracle8 에서의 data block corruption error
(ORA-1578) 에 대해서 조치방법을 알아본다.
BACKGROUND
ORA-1578 은 data block 에 corruption 이 생긴 경우에 발생한다.
이 error 는 corruption 이 발생한 곳의 file number 와 block
number 를 알려준다.
본 bulletin 에서는 file number 를 'f', block number 를 'b' 로
지칭하기로 한다. ORA-1578 과 함께 return 되는 file number는
relative file number 가 아닌 absolute file number 를 의미한다.
(Oracle8 에서 새롭게 소개된 relative file number 에 대해서는 본
bulletin 의 6번 항목에서 다루도록 한다.)
RESOLUTION
1. 최선의 해결책은 backup 받아둔 file 을 restore 한 후
recover 작업을 하는 것이다. 이 작업을 위해서는 archive
log mode 로 운영 중이어야 한다.
dba_data_files 또는 v$datafile 과 ORA-1578 error 에서
return 된 absolute file number 를 이용하여 corruption이
발생한 datafile 의 이름을 알아낼 수 있다.
Oracle8 에서는, dba_data_files 에 absolute file number
(file_id) 와 함께 relative file number (relative_fno) 를
가지고 있다.
v$datafile 에는 아직 absolute file number (file#) 만을 가진다.
backup 을 restore 하기 전에 hardware 의 문제를 fix 해야 할
필요가 있을 수 있다. 만약 corruption 이 disk 불량에 의해
발생하였다면, backup 받아둔 datafile 을 문제가 없는 disk 에
restore 하고, startup mount 한 후, 새로운 위치로 datafile
rename 을 하고 recover 한다.
만약 해당 datafile 이 system tablespace 에 속하지 않는다면
offline tablespace recovery 도 가능하다.
2. backup datafile 을 restore 하고 recover 하지 않을 것이라면
우선, 어떤 object 에서 corruption 이 발생하였는지 확인해야
한다.
다음의 SQL 문을 이용한다.
SELECT owner, segment_name, segment_type, relative_fno
FROM dba_extents
WHERE file_id = f
AND b BETWEEN block_id AND block_id + blocks - 1 ;
3. 해당 segment 가 non-data dictionary index라면, 해당 index를
drop 한 후 재생성한다.
4. 해당 segment 가 table 이라면, corruption 이 발생한 block 의
data 는 소실된 것이다.
5. 만약 해당 table 에 대한 최근의 export dump file이 존재한다면,
해당 table 을 drop 한 후 import 함으로써 복구할 수 있다.
최근의 export dump file 이 없거나 이를 export 받을 수 있는
최근의 backup 이 없다면 다음과 같은 방법을 이용할 수 있다.
6. corruption 이 발생한 non-clustered table 에서 corrupted
block 을 access 하지 않고 나머지 data 들을 select 할 수
있도록 ROWID 를 이용할 수 있다. non-clustered table의 모든
row 들은 해당 row 의 물리적인 주소를 가리키는 고유한 ROWID를
갖는다(해당 row가 여러 block에 조각이 나 있다면 첫번째 조각에
대한 주소). clustered table 인 경우에는 서로 다른 table 의
data 들이 같은 block 에 존재할 수 있으며, 같은 ROWID 를 가질
수 있다.
Oracle 은 index 를 구성하기 위하여 내부적으로 ROWID 를 사용한다.
따라서 where 절에 ROWID 를 사용하여 select 하면 강제로 range
scan 를 할 수 있다.
Oracle8 에서는 이를 위하여 ROWID hint 를 사용할 필요가
없어졌다.
ROWID 를 이용하여 table 로부터 data 를 추출하기
예제로써 ACCT_NO, PERSON, WEEKNO 등의 column 으로 구성된
SCOTT user의 EXAMPLE 이라는 table 이 있다고 가정한다.
이때, ORA-1578 "ORACLE data block corrupted (file # 5,
block # 2) 가
발생하였다고 가정하자.
ROWID in Oracle8 :
Oracle8 에서의 ROWID 는 'OOOOOOFFFBBBBBBSSS' format 을 가진다.
OOOOOO = data object number
Oracle7 의 object_id 와는 별도로 segment 의 id 를 갖는다.
dba_objects 의 data_object_id 에서 확인가능
FFF = relative file number
BBBBBB = block number
SSS = row number
Oracle8에서의 ROWID 는 absolute file number 가 아닌 relative
file number 를 갖는다는 점에 주목해야 한다.
relative file number 는 tablespace 에 대해 상대적이며
(tablespace마다 첫번째, 두번째, 세번째 datafile 을 가질 수
있음을 의미) absolute file number 는 전체 database 내에서
고유하다. 두개의 서로다른 file 들이 동일한 relative file
number를 가질 수 있다.
만약 EXAMPLE table 에서 ACCT_NO, ROWID 를 select하면 다음과
같은 결과가 나올 수 있다.
ACCT_NO ROWID
12345 AAAAh3AAGAAACJAAAA
19283 AAAAh3AAGAAACJAAAB
22345 AAAAh4AAFAAAAADAAA
60372 AAAAh4AAFAAAAADAAB
33456 AAAAh5AAEAAAAIuAAA
29473 AAAAh5AAEAAAAIuAAB
이러한 format 을 extended ROWID character format 이라고
지칭한다.
extended ROWID 는 number 이므로 substr 함수를 이용하여
extended ROWID 로부터 일부를 떼어낼 수 없다.
ROWID 를 생성하기 위해서는 모든 component 를 알아야 한다.
그런다음, DBMS_ROWID package 의 function 을 이용하여 ROWID 를
생성할 수 있다.
function rowid_create(rowid_type IN number,
object_number IN number,
relative_fno IN number,
block_number IN number,
row_number IN number)
return rowid;
pragma RESTRICT_REFERENCES(rowid_create,WNDS,RNDS,WNPS,RNPS);
-- rowid_type - type (restricted=0/extended=1)
-- object_number - data object number
(rowid_object_undefined for )
-- restricted
-- relative_fno - relative file number
-- block_number - block number in this file
-- file_number - file number in this block
corruption 이 발생한 block 의 data object number 를 알기
위해서는 dba_objects 를 조회한다.
SELECT data_object_id FROM dba_objects
WHERE owner = 'SCOTT'
AND object_name = 'EXAMPLE' ;
DATA_OBJECT_ID
2168
우리는 이미, 위에서 사용한 다음의 SQL 에 의해서 relative file
number 를 알고 있다.
SELECT owner, segment_name, segment_type, relative_fno
FROM dba_extents
WHERE file_id = 5
AND 2 BETWEEN block_id AND block_id + blocks - 1 ;
OWNER SEGMENT_NAME SEGMENT_TYPE RELATIVE_F
SCOTT EXAMPLE TABLE 5
corruption 이 발생한 block 이 2이므로, block# 2 이전의 access
가능한 마지막 ROWID 는 block# 1 에 존재한다. 그리고 block# 2
이후의 access 가능한 첫 ROWID 는 block# 3에 존재한다. block
안에 몇개의 row number 가 존재할 지 모르므로 row number 0 을
이용한다.
이제 corrupted block 이전의 ROWID 와 이후의 ROWID 를 생성할
준비가 끝났다.
corrupted block 이전의 ROWID :
SELECT DBMS_ROWID.ROWID_CREATE(1,2168,5,1,0) FROM example ;
DBMS_ROWID.ROWID_C
AAAAh4AAFAAAAABAAA
corrupted block 이후의 ROWID :
SELECT DBMS_ROWID.ROWID_CREATE(1,2168,5,3,0) FROM example ;
DBMS_ROWID.ROWID_C
AAAAh4AAFAAAAADAAA
다음으로, EXAMPLE table 과 같은 spec 으로 table 을 하나 만든다.
CREATE TABLE temp AS SELECT * FROM example WHERE 1=2;
그리고 corrupted block 이외의 block 에서 data 를 추출하여
insert 한다.
INSERT INTO temp SELECT * FROM example
WHERE ROWID <= 'AAAAh4AAFAAAAABAAA';
INSERT INTO temp SELECT * FROM example
WHERE ROWID >= 'AAAAh4AAFAAAAADAAA';
이후 원본 table 을 drop 하고, TEMP 를 rename 한다.
7. 만약 data dictionary 에 속하는 table, index 또는 rollback
segment에 corrupted block 이 발생하였다면 Oracle Support 의
지원을 받는다.
8. 일반적으로, ORA-1578 은 hardware 의 문제때문에 유발된다.
하지만 만약에 ORA-600[3374] 가 발생한다면 memory 상에서
corruption 이 발생한 경우이다.
이 경우 database 를 restartup 하면 문제가 해결될 수 있다.
Reference Documents
--------------------Hello,
Please check the link i posted.
Example: Detecting Corruption
The CHECK_OBJECT procedure checks the specified object, and populates the repair table with information about corruptions and repair directives. You can optionally specify a range, partition name, or subpartition name when you want to check a portion of an object.
Validation consists of checking all blocks in the object that have not previously been marked corrupt. For each block, the transaction and data layer portions are checked for self consistency. During CHECK_OBJECT, if a block is encountered that has a corrupt buffer cache header, then that block is skipped.
The following is an example of executing the CHECK_OBJECT procedure for the scott.dept table.
SET SERVEROUTPUT ON
DECLARE num_corrupt INT;
BEGIN
num_corrupt := 0;
DBMS_REPAIR.CHECK_OBJECT (
SCHEMA_NAME => 'SCOTT',
OBJECT_NAME => 'DEPT',
REPAIR_TABLE_NAME => 'REPAIR_TABLE',
CORRUPT_COUNT => num_corrupt);
DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
END;
SQL*Plus outputs the following line, indicating one corruption:
number corrupt: 1 -
System and sysaux file block corruption
Errors in file /u01/app/oracle/diag/rdbms/pdent/pdent/trace/pdent_smon_3135.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01578: ORACLE data block corrupted (file # 1, block # 91607)
ORA-01110: data file 1: '/u01/app/oracle/oradata/pdent/system01.dbf'
I am unable to take r man backup, as well as export using datapump. i tried to recover it using rman blockrecover but still same. here is detail
SQL> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
1 91607 1 0 CHECKSUM
2 58710 1 0 CHECKSUM
5 1202316 1 0 CHECKSUM
SQL> SELECT
tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id = 1
AND BETWEEN block_id AND block_id + blocks - 1; 2 3 4 5 6 7 8
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSTEM INDEX SYS
I_OBJ2
alter system dump datafile 1 block 344;
SQL> SELECT
tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id = 2
AND 58710 BETWEEN block_id AND block_id + blocks - 1; 2 3 4 5 6 7 8
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSAUX INDEX PARTITION SYS
WRH$_OSSTAT_PK
SQL> ALTER INDEX I_OBJ2 REBUILD ONLINE;
ALTER INDEX I_OBJ2 REBUILD ONLINE
ERROR at line 1:
ORA-00701: object necessary for warmstarting database cannot be altered
need immediate help.
thanks in advanceuser11914238 wrote:
Errors in file /u01/app/oracle/diag/rdbms/pdent/pdent/trace/pdent_smon_3135.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01578: ORACLE data block corrupted (file # 1, block # 91607)
ORA-01110: data file 1: '/u01/app/oracle/oradata/pdent/system01.dbf'
I am unable to take r man backup, as well as export using datapump. i tried to recover it using rman blockrecover but still same. here is detail
SQL> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
1 91607 1 0 CHECKSUM
2 58710 1 0 CHECKSUM
5 1202316 1 0 CHECKSUM
SQL> SELECT
tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id = 1
AND BETWEEN block_id AND block_id + blocks - 1; 2 3 4 5 6 7 8
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSTEM INDEX SYS
I_OBJ2
alter system dump datafile 1 block 344;
SQL> SELECT
tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id = 2
AND 58710 BETWEEN block_id AND block_id + blocks - 1; 2 3 4 5 6 7 8
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSAUX INDEX PARTITION SYS
WRH$_OSSTAT_PK
SQL> ALTER INDEX I_OBJ2 REBUILD ONLINE;
ALTER INDEX I_OBJ2 REBUILD ONLINE
ERROR at line 1:
ORA-00701: object necessary for warmstarting database cannot be altered
need immediate help.
Immediate help can be only provided by Oracle Support Services. So if you need that, please raise a Sev1 SR . For your issue, as others have suggested already, if you have a valid backup and you are in the archive log mode, using RMAN's BMR(Block Media Recovery) , the issue can be resolved provided there is nothing wrong with the hardware of yours. If that's the case, recovery wouldn't yield any benefits.
Aman.... -
Block corruption in undo_tablespace
due to storage problem my server changed to read only, because of this my database instance gets terminated improperly. after fixing storage issue i started the database it throws error as block corruption. that undo datafile is needed for instance recovery, so i can't able to make it offline.
main thing is my database is in noarchivelog mode.
Please give any solution to open the database except restoring.https://forums.oracle.com/thread/1098080
-
How to respond to physical block corruption??
Hi, all.
As far as I know, there are two types of block corruption.
1. logical block corruption
2. physical block corruption
In case of logical block corruption, there are a few method of how to take care of it.
such as BMR with rman, media recovery, and dbms package.
In case of physical block corruption, how can I respond to this type of errors?
Does physical block corruption of a disk mean disk failure??
If so, I have to replace the disk? Or, is there any other way to solve
this type of errors?
In addition, how can I know that the block corruption is caused by logical problems
or physical problems??
Thanks and Regards.> In case of physical block corruption, how can I respond to this type of
errors?
Round around in circles, screaming at the top of your voice "we're all going to die!".
Hey, why that funny looks? It works. And it scares the stuffings out of management and colleagues... ;-)
> Does physical block corruption of a disk mean disk failure??
If by physical corruption you mean that reading a data block results in I/O errors and a corrupt/incomplete read buffer, then yes. The "disk" is failing - or more correctly, the I/O h/w is failing. It may not be the disk itself. It could be a problem with the HBA, a controller card, etc.
In exceptional cases it may not even be a h/w issue. It could be a s/w induced error. I once got physical I/O errors reported by Oracle. The problem was traced to an incompatibility between the ASMlib kernel module and EMC Powerpath. The SAN disks & h/w were fine.
> If so, I have to replace the disk? Or, is there any other way to solve
this type of errors?
There should be some kind of diagnostics you can run on the disks to determine if they are failing. Simply replacing a disk because there seems to be a physical corruption problem may not solve the problem itself.
You need to identify the actual problem. Which means looking at all Oracle traces/dumps in this regard, looking at the kernel logs, manually dumping blocks to see the results, using whatever I/O & disk diagnostic tools available, etc.
> In addition, how can I know that the block corruption is caused by logical
problems or physical problems??
That depends on what you define as logical and physical corruption. The latter means to me that I cannot get the data off the disk without some kind of I/O error. Logical means that the data can be read just fine, but is garbage. Which could simply mean GIGO without implying any kind of underlaying h/w failure. -
Block Corruption in the SYSAUX tablespace
Problem Description: Block Corruption in the SYSAUX tablespace :
==================================
We are facing block corruption issue in the SYSAUX tablespace during rman backup..
So currently we are using SET MAXCORRUPT FOR DATAFILE 3 TO 2; parameter to take the backup and it is running fine.. Now we have to fix the issue..
Please let us know the steps to fix the issue..
Please find the details below.
Dbv output:
sesoxpro33.p51x1> dbv file=/oradata/p51x/data/p51x_sysaux_01.dbf blocksize=32768 end=64000
DBVERIFY: Release 10.2.0.3.0 - Production on Fri Aug 26 20:47:29 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
DBVERIFY - Verification starting : FILE = /oradata/p51x/data/p51x_sysaux_01.dbf
Page 64 is influx - most likely media corrupt
Corrupt block relative dba: 0x00c00040 (file 3, block 64)
Fractured block found during dbv:
Data in bad block:
type: 0 format: 0 rdba: 0x00000000
last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x00000001
check value in block header: 0x0
block checksum disabled
DBVERIFY - Verification complete
Total Pages Examined : 64000
Total Pages Processed (Data) : 22547
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 23859
Total Pages Failing (Index): 0
Total Pages Processed (Other): 14586
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 3007
Total Pages Marked Corrupt : 1
Total Pages Influx : 1
Highest block SCN : 281617057 (2054.281617057)
SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents
WHERE file_id = 3 and 64 between block_id AND block_id + blocks - 1;
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSAUX SYS_LOB0000000594C00007$$
OS & database Details :
==========
Oracle Solaris on x86-64 (64-bit)
Oracle Server - Enterprise Edition -- 10.2.0.3
If any more informatin is needed, Please let me know..
Thanks & Regards,
Suresh Bommalata.refer:
logical corruption found in the sysaux tablespace
Check the metalink note: Identify the corruption extension using RMAN/DBV/ANALYZE etc - 836658.1
Note 28814.1 - Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g
Note 472231.1 - How to identify all the Corrupted Objects in the Database reported by RMAN
http://download.oracle.com/docs/cd/B12037_01/server.101/b10734/rcmrecov.htm
http://oracleinstance.blogspot.com/2010/05/block-recovery-using-rman-backup.html
Maybe you are looking for
-
Since updating my iPad devices (iPad 1,2 and iPad) with the latest iOS, I can no longer use the camera connection kit to load photos directly into my camera roll. Anybody have any ideas on remedying this problem?
-
Creating a collection from a list and joining the list to a database table
I would like to have opinions on good ways to process rows, based on a provided list of key values, joining the collected list against a source table to retrieve additional information related to the key. In this simple example, the procedure accepts
-
How do I re instate my apple account?
My account is disabled, how to do I reinstate?
-
Why can't I open Canon G15 raw files in CC?
-
How can I connect to my network? I received this as a gift and I cannot get it to connect. My home computer is running on Windows XP and my internet provider is Rogers. I have a network set up. Is therese something special that I need to do to ensure