Monday, November 14, 2011

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

*Cause: The archiver process received an error while trying to archive
a redo log. If the problem is not resolved soon, the database
will stop executing transactions. The most likely cause of this
message is the destination device is out of space to store the
redo log file.

*Action: Check 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.


Explanation:-

The archiver process received an error while trying to archive a log.
The database will stop executing transactions.
The cause of this error is the archive destination device is out of space.
This will stop the system from working allowing only internal to connect.



solution:-

1)

Sql> conn / as sysdba

sql> archive log list;

---see the Archive Destination and
---increase the size of that location

suppose if archive destination is USE_DB_RECOVERY_FILE_DEST

then increase the size with following command.

SQL> alter system set db_recovery_file_dest_size=3G ;


2) backup your database and archive logs to somewhere else then delete archive log file via Rman

RMAN> connect target sys/sys@orcl as sysdba

RMAN> delete archivelog all ;


3) also you can configure

set the following parameters so that when the dest1 is full, archiving is automatically performed to the alternate dest2 :

log_archive_dest_1='LOCATION=use_db_recovery_file_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2'
log_archive_dest_2='LOCATION=/other_dest_for_archiving'
log_archive_dest_state_1='enable'
log_archive_dest_state_2='alternate'
db_recovery_file_dest='/u01/app/oracle/product/10.1.0/db_1/flash_recovery_area'
db_recovery_file_dest_size=2G

ORA-32004:obsolete and/or deprecated parameter(s) specified

Clue:= when you trying to startup your database you face this error
this means you set up a obsolete and/or deprecated parameter in database parameter file.
for this this error is showing .

so now you should check parameter file which is using when database is starting up.
and remove the obsolete and/or deprecated parameter then startup the database.


Now question is:- how can you find out of this obsolete and/or deprecated parameter?

Answer are :-

1)Look at the alert log of the associated instance (at the time that an instance startup is initiated)
it show the parameter with this "obsolete and/or deprecated" message.
like below

Deprecated system parameters with specified values:
(your Deprecated parameters)
End of deprecated system parameter listing

2) or if database is accessable then query this view V$OBSOLETE_PARAMETER

3) or read the document of the current database version and identified from the list of deprecated parameters

Sunday, November 13, 2011

Memory Notification: Library Cache Object loaded into SGA Heap size K exceeds notification threshold (2048K)

I found this message in my oracle database alert log file. my database version is 10.2.0.1 .

clue:-

This is for an undocumented parameters value. which parameter is

"_kgl_large_heap_warning_threshold"

This is new in 10g release 2 and in 10.2.0.1 default threshold value is 2Mb.
and in 10.2.0.2 and above default threshold value is 50Mb.

so, for avoiding this type of warning message from alert log file you have to configure in parameter
"_kgl_large_heap_warning_threshold" to a reasonable high value or zero . Value needs to be set in bytes.
or upgrate the Database version.