[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 227
  • Last Modified:

Newbie: Want to get an export(or equivalant) or copy done on a broken oracle datafile

Hi:

I have a problem with a datafile in my oracle database which runs on top of Linux.  The problem is that when I try to copy or cat the 'sys01XXXX.dbf' file i get this error:
"cp: reading `/home2/sys01XXXX.dbf': Input/output error"
and
"cat: /home2/sys01XXXX.dbf: Input/output error"

Note:
The other 5 datfiles are ok; the system has been functioning ok for over a year with this underlying problem;  I can do a full system export of the database. If possible, I don't want to have to drop everything and Import everything in again.

What I would like to achieve:
(i) Do some operation that would produce a good copy of the '/sys01XXXX.dbf' or a file that can be imported back into the database.
(ii) Transfer the other datafiles; log files; control files to a new system.
(iii) Import or copy the fixed 'sys01XXXX.dbf' into the database on the new system.
(iv) Start the database on the  new system.

Any solutions that fit close to the above would be appreciated?

Rem: I am a newbie.
0
Hope4U
Asked:
Hope4U
1 Solution
 
slightwv (䄆 Netminder) Commented:
I don't think any of your options are possible.

sys01XXXX.dbf is likely your system tablespace.  This is what hold the data dictionary.

Without this, you cannot open your database so any form of export is out of the question.

Without a proper backup of the database and configuration, you are likely out of luck.

Please confirm that your database doesn't open.
0
 
johnsoneSenior Oracle DBACommented:
It is possible that you got extremely lucky and that whatever is corrupted is in free space.

I would run dbv on the file to see if Oracle picks up the corruption (it should because it is an I/O error).  The documentation for that utility is here:

http://download.oracle.com/docs/cd/E11882_01/server.112/e22490/dbverify.htm#i1006970

From there, you should be able to determine where the corruption is.

In all likelihood, no matter where the corruption is, you are going to have to recreate the database.
0
 
schwertnerCommented:
The owner of this file is the Oracle user. Possibly you run intoprivileges problem.
Also you have to stop the instance before you try to archive these files.
This will the so called "cold backup". The alternative is complex.

If you can bounce (startup the instance) the alternative of the physical backup/restore approach will be the logical export/import.

Be aware that Linux is very unstable system with a very bad file system. So try to use export (if possible).
0
 
Hope4UAuthor Commented:
I went with the solution outlined in Question: 'DB file transfer onto another machine and Data Guard sequence number issue' or '09/22/11 04:51 PM, ID: 27323066'
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now