Solved

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

Posted on 2011-09-26
6
219 Views
Last Modified: 2013-01-13
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
Comment
Question by:Hope4U
6 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 36599867
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
 
LVL 34

Expert Comment

by:johnsone
ID: 36600651
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
 
LVL 47

Expert Comment

by:schwertner
ID: 36601291
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
 

Accepted Solution

by:
Hope4U earned 0 total points
ID: 37286507
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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
AWS CLI - Issue with name display 2 51
php ssh2_scp_send 1 49
Oracle Pivot Question 8 45
Oracle sql query 7 49
Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the dā€¦
Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for ā€¦
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now