Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

OK, I'm new to Oracle administration but I'm trying to import a previous dump (no pun intended) which was split into two files.

The import is happening from an Oracle 9i to 11gR2 on Windows

I used the following commands:

imp userid=olduser/oldpassword indexes=n log=import.log  
file(Export_DB_776full_20130829_020000_01,Export_DB_776full_20130829_0200
00_02) fromuser=olduser touser=newadminuser commit=y feedback=100

Now this has progressed fairly well and has imported data from what seems to be the first file, peppering the console with a dot every 100 rows imported. Then when it reaches the table where the export was split (into the second dmp file) its just paused. I thought it was simply collecting its thoughts and left it overnight but with no progress

Trying to connect to Oracle from SQLPLUS on the command line, even as SYS or SYSDBA is not possible, and returns with a

"ORA-00257: archiver error. Connect internal only, until freed."

Googling has yielded no direct answers to this but what I did find at least yielded some access to the database to perform some alteration function. Some of the other posts I saw mentioned that the log files are filling up, but there is well in excess of 150 GB free on both drives (the tablespace is split across two drives)

A few things:

What is going on? - because the error message seems a bit cryptic to me - How can I connect to the database? How can I fix this? How do I not fall into this trap again?

Thanks

share|improve this question
add comment

1 Answer 1

up vote 0 down vote accepted

your database is running in archivelog mode. An initial backup + archives allow you to recover your database to any point in time between the backup and the last available archivelog file. If this is a big import you are most likely going to make a backup afterwards. If you have no need to recover the database to a state between now and the previous backup, you could use rman to delete the archived log files, freeing space so the archiver can continue. An other option is to increase the db_recovery_file_dest_size parameter that could be in place since you claim to have plenty of space available.

sqlplus / as sysdba
show parameter db_recovery_file_dest_size
alter system set db_recovery_file_dest_size = {A_BIGGER_SIZE}

or

rman target=/
delete archivelog all;

don't forget to make a backup, deleting the archives makes recovery impossible.

share|improve this answer
    
Thanks, thats a step forward. So the next step for me is to tell Oracle to move forward with what's been stalled. how do I do that? Also, is there a way to move the archive logs to a different path? As in altering the db_recovery_file_dest parameter? –  SteveMustafa Oct 7 '13 at 13:54
    
yes, you can change to location. The archiver should detect the changes and start archiving again. In older release you had to issue 'alter system archivelog start' to get it going again. –  ik_zelf Oct 7 '13 at 14:59
    
Thanks a whole bunch, its been going strong and is on the way to finishing with no errors (I hope). Would you know of any decent online resources to learn stuff like this? –  SteveMustafa Oct 7 '13 at 15:31
    
oracle.com/pls/db112/portal.portal_db?selected=4 2 day dba is a good start. –  ik_zelf Oct 7 '13 at 16:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.