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.
"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
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.
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
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;