ORA-00600: internal error code, arguments: [qerixAddNotNullStopKeyPredicate:1] in the alert log !

one of the databases i am supporting ( on version 12cR1 12.1.0.2) was throwing ORA-600 in the alert log:

Archived Log entry 94742 added for thread 1 sequence 48014 ID 0x6a20c315 dest 2:
Errors in file /oracle/orcl12/diag/rdbms/orcl12/orcl12/trace/orcl12_j003_115141.trc (incident=582200):
ORA-00600: internal error code, arguments: [qerixAddNotNullStopKeyPredicate:1], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /oraclex/orcl12/diag/rdbms/orcl12/orcl12/incident/incdir_582200/orcl12_j003_115141_i582200.trc
Non critical error ORA-48913 caught while writing to trace file “/oraclex/orcl12/diag/rdbms/orcl12/orcl12/incident/incdir_582200/orcl12_j003_115141_i582200.trc”
Error message: ORA-48913: Writing into trace file failed, file size limit [5242880] reached

Solution:

if this error is infrequent then you can ignore, otherwise as a workaround is to disable the Automatic SQL Tuning Tasks by executing the following:

BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => ‘sql tuning advisor’,
operation => NULL,
window_name => NULL );
END;
/

As a consequence, this will disable all automatic SQL tuning tasks but you can still perform “on-demand” SQL tuning to get advice on tuning specific SQL statements.

 

Presenting NoSQL Technology in Imam Abdulrahman Bin Faisal University

I have presented at Imam Abdulrahman Bin Faisal University to Computer Science Students “Introduction to NoSQL Technology

EMAD_SadaIT

Introduction_To_No_SQL

 

 

 

 

physical standby error when applying archive logs ORA-00317

in a physical standby that was out of synchronization….i found that the below errors were thrown:

ORA-00317: file type 0 in header is not log file

ORA-00334: archived log: ‘/stdby/arc/arch_t211_1_972641998_48514.arc’

To resolve this issue:

the error is indicating that the archive log was is corrupted. so i restored the archive log using RMAN:

rman target /

RMAN> restore archivelog logseq=48514;

the archive log restored successfully and then applied on the standby.

hope this helps

LOCAL TEMPORARY TABLESPACE in 12cR2 and 18c

when upgrading a database from 12cR1 to either 12cR2 or 18c , you will notice when querying dba_users view a new column added: LOCAL_TEMP_TABLESPACE

local temp tablespace is most probably used for RAC.

you need to ensure that its not assigned to “SYSTEM” tablesapce, to check this:

SQL>  select username from dba_users where local_temp_tablespace=’SYSTEM’;

if there any….you can set it to temp tablespace as follows:

SQL> alter user C##ADAM LOCAL TEMPORARY TABLESPACE TEMP;

 

Automate Startup/Shutdown Of Oracle Database 12cR2 in Linux Red Hat

if you are not using Grid Infrastructure and Oracle Restart, this guide will help you
automate single instance Oracle database.

create a directory for your shell scripts for example:

mkdir /app/oracle/scripts

1. create a script called setEnv.sh

vi setEnv.sh

# Oracle Settings

export TMP=$ORACLE_BASE/tmp

export TMPDIR=$ORACLE_BASE/tmp

export ORACLE_HOSTNAME=mycomputer.com

export ORACLE_UNQNAME=db12c

export ORACLE_BASE=/orcl/db12

export ORACLE_HOME=/orcl/db12/product/12.2.0.1

export ORACLE_SID=/orcl/db12

export PATH=$PATH:$ORACLE_HOME/bin:/usr/vacpp/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/jlib:/$ORACLE_HOME/rdbms/jlib

2. create two scripts called start_all.sh & stop_all.sh

vi start_all.sh

#!/bin/sh

. /app/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO

. oraenv

export ORAENV_ASK=YES

dbstart \$ORACLE_HOME

vi stop_all.sh

#!/bin/sh

. /app/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO

. oraenv

export ORAENV_ASK=YES

dbshut \$ORACLE_HOME

3. edit scripts unde $ORACLE_HOME/bin for dbstart and dbshut by performing the following:

replace ORACLE_HOME_LISTNER=$1

with

ORACLE_HOME_LISTNER=$ORACLE_HOME

and replace $ORACLE_HOME/bin/lsnrctl start >> $LOG 2>&1 &

with your listener name configured in your listener.ora file

$ORACLE_HOME/bin/lsnrctl start listener_db12c >> $LOG 2>&1 &

4. make sure /etc/oratab is reflecting the right oracle home path

5. Ask Linux Admin to create the following file:

vi /lib/systemd/system/dbora.service

[Unit]

Description=Oracle DB 12cR2

After=syslog.target network.target

[Service]

RemainAfterExit=yes

User=oracle

Group=dba

ExecStart=/app/oracle/scripts/start_all.sh

ExecStop=/app/oracle/scripts/stop_all.sh

[Install]

WantedBy=multi-user.target

6. Linux Admin should execute the following:

systemctl daemon-reload

systemctl start dbora.service

systemctl enable dbora.service

8. Ask Linux Admin to reboot the Linux server to TEST automatic startup of the database