Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

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

avatar
Explorer

Hello,

I am getting below error while starting ambari server. I tried to login to the ambari db got the same error, so at this point we cannot even login to db.

ERROR [main] DBAccessorImpl:117 - Error while creating database accessor java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

5 REPLIES 5

avatar
Master Mentor

@sbx_hadoop

"ORA-00257: archiver error" indicates some disk issue at your Oracle Database end. This is basically a DB side error your Database admin can help it easily.


- Please make sure your Oracle server has enough disk space or the disk volume used by archive has enough space.

- Also please check the archiver trace file for a detailed description of the problem. Also, verify that the device specified in the initialization parameter archive_log_dest is set up properly for archiving.

More details about this Oracle error can be found at: http://www.dba-oracle.com/sf_ora_00257_archiver_error_connect_internal_only_until_freed.htm

.

avatar
Explorer

@Jay
This is our lab environment, we do not have a DBA for this. I also checked the url you provided, all the options requires you to login to sqlplus which is I am not able to with the same exact error as above.

avatar
Master Mentor

@sbx_hadoop

Try cleaning some disk space from the Oracle DB host.

Then restart Oracle Database once.

avatar
Master Mentor

@sbx_hadoop

A lab environment or Dev should NEVER be in archive log mode !!!

What version is your Oracle database maybe some old hacks could still work.

Do you have command line access to the oracle server.? If so can you locate the initxxx.ora or spfile? usually in $ORACLE_HOME\dbs and check your db name to ensure you log on the correct database Linux boxes usually have many databases.

Check if you can switch user to the user running the database process ! This should give you the oracle user

$ ps -ef | grep oracle or ps -ef | grep pmon 

Run the below to set the correct variable from values you get from above

export ORACLE_HOME=/path/to/oracle_home 
export ORACLE_SID=xxxx

Then as root switch to this user so have to have all the oracle variables in your path,

You MUST log on as sysdba that's the only internal user allowed to access the database in such situations. eg if the owner owner/user is oradba

# su - oradba 

Now you can invoke sqlplus

$sqlplus /nolog 
SQL>conn / as sysdba 
SQL> archive log list; 

Check the Archive destination and delete all the logs

SQL> shutdown immediate  
SQL> startup mount 
SQL> alter database noarchivelog; 
SQL> alter database open; 
SQL> archive log list; 

You should see Automatic archival Disabled

Now you can proceed with restarting your Ambari server

avatar

Clear the archives from log_archive_dest location

Once you have make some space at the OS level then connect to the Oracle database as sysdba and execute below statements

sqlplus / as sysdba

archive log list;

alter system switch logfile;