In the past : When I had once the error ORA-00257: Archiver error, I had resolved it using the RMAN command:

rman target sys/1234

delete archivelog all;

This time , when I try to connect to rman target:

rman target sys/1234

I get the error:

RMAN-00554: initialization of internal recovery manager packagefailed.  
RMAN-04005: error from target database.  
ORA-28001:the password has expired.

When I try to connect with sqlplus as sys SYSDBA, then raises the following error: ERROR:

ORA-28001: the password has expired
Changing password for SYS
New password:

When I type the new password, the error that comes is:

ORA-00257: Archiver error. Connect AS SYSDBA only until resolved.

So the problem is that..

  • When I connect through sqlplus as sys SYSDBA, I cannot change the expired sys password because of archivelog RMAN.
  • When I try to fix RMAN error, I cannot connect to RMAN due to the expired sys password.

How can I solve this?

2 Answers 2


Connect SYS as SYSDBA:

If you're already logged in to the database server OS you can login without a password, assuming you can run commands as the Oracle software owner and have the ORACLE_SID environment parameter set:

sqlplus / as sysdba


rman / as sysdba

If you're connecting over the network:

sqlplus sys/password@service_name as sysdba


rman target sys/password@service_name as sysdba

The SYSDBA role credential is stored in an external password file and is not subject to expiration. This is not necessarily the same password you would use to connect without invoking the SYSDBA role.


Your fundamental problem - the Archiver one - is that you've run out of disk space.

The Archiver has a simple job - take an online Redo Log File that is full and write its contents to an Archived Redo Log (ArchiveLog) file, thereby freeing up the online Redo Log File to accept further changes.
When the Archiver cannot do that - for lack of disk space - it stops and, as a result, stops the entire Database as well because the Database will not accept any change that it cannot make a note of (in Redo).

  • Hello and thanks for the answer! Yes, I understand that the problem is the lack of space, so I need to connect to RMAN and run a command to increase the space: alter system set db_recovery_file_dest_size=220G; The problem is that due to SYS expired password, I cannot connect to RMAN.. And because of RMAN, I cannot change the expired SYS password..
    – eathan
    Sep 29, 2023 at 6:43
  • 1
    You should not need it. Log on to the database server and log in with "/ as SYSDBA". By default, this should get you in without needing to enter a password (as the SYSTEM account, BTW). You don't say whether you're using ASM but I'm guessing you're not (managing ASM is not usually done using the SYS account). If you're still using file systems then (immediately after you fix /this/ issue), you might want to create a "dummy" file of, say, 1GB size in the file system used for ArchiveLogs. If this issue happens again, delete that file to get some "Emergency Wiggle Room".
    – Phill W.
    Sep 29, 2023 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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