ORA-00600: internal error code, arguments: [ORA_NPI_ERROR], [600], [ORA-00600: internal error code, arguments: [KFCHK_ERRRET], [kfa.c], [3025]

January 2nd, 2014 Matthias Pölzinger No comments

 
Problem description:

You are trying to recursively delete an ASM folder in asmcmd on 12.1.0.1 and are receiving the following ORA-00600:

ASMCMD> rm -rf 2013_12_10
ORA-29261: bad argument
ORA-00600: internal error code, arguments: [ORA_NPI_ERROR], [600], [ORA-00600: internal error code, arguments: [KFCHK_ERRRET], [kfa.c], [3025], [], [], [], [], [], [], [], [], []
], [], [], [], [], [], [], [], [], []
ORA-06512: at line 4 (DBD ERROR: OCIStmtExecute)
ASMCMD>

 
Problem resolution:

This seems to be a currently unresolved issue in 12.1.0.1. Even applying PSU1 will not fix this issue. Currently it is only possible to workaround this issue by not recursively deleting folders and instead delete the files inside:

ASMCMD> rm -f 2013_12_10/*
ASMCMD> ls -l
Type  Redund  Striped  Time             Sys  Name
                                        Y    2013_12_11/
                                        Y    2013_12_12/
                                        Y    2013_12_13/
ASMCMD>

 
System generated folders will be deleted automatically by Oracle ASM if no files are stored inside any longer.

Categories: Database, Grid Infrastructure, Oracle Tags:

How To unlock APEX admin without changing the password

August 3rd, 2013 Matthias Pölzinger 1 comment

 
Problem description:

You have locked your APEX administrator account by mistyping the account’s password too often. As other persons are also using the account, you don’t want to use the “apxchpwd”-script.

 
Problem resolution:

If you just want to unlock the account instead of completely resetting the password, you can use the following PL/SQL block to establish this task:

begin
    wwv_flow_security.g_security_group_id := <APEX_WORKSPACE_ID>;
    wwv_flow_fnd_user_api.UNLOCK_ACCOUNT('<APEX_ACCOUNT_NAME>');
    commit;
end;
/

 
Example:

  1. Query the id for the “INTERNAL” workspace:

    SQL> SELECT workspace_id FROM apex_workspaces WHERE workspace = 'INTERNAL';
    
    WORKSPACE_ID
    ------------
              10
    
    SQL>
    

     

  2. Query the APEX schema’s name for your version:

    SQL> select username from dba_users where username like 'APEX%' order by 1;
    
    USERNAME
    ------------------------------
    APEX
    APEX_040200
    APEX_PUBLIC_USER
    
    SQL>
    

     

  3. Switch your session to the APEX-schema:

    SQL> alter session set current_schema = APEX_040200;                      
    
    Session altered.
    
    SQL>
    

     

  4. Unlock your ADMIN account with the following code:

    SQL> begin
      2    wwv_flow_security.g_security_group_id := 10;
      3    wwv_flow_fnd_user_api.UNLOCK_ACCOUNT('ADMIN');
      4    commit;
      5  end;
      6  /
    
    PL/SQL procedure successfully completed.
    
    SQL>
    
Categories: APEX, Oracle Tags:

How To remove all messages from a sendmail mail queue

 
Problem description:

Somehow your sendmail outgoing message queue got flooded by e.g. a job and you want to remove all of the messages to be delivered.

 
Problem resolution:

Outgoing messages in the sendmail queue are stored in /var/spool/mqueue. In order to get an overview of the messages you could execute the following sendmail command:

sendmail -bp

 
As your sendmail queue got flooded with a lot of messages, this command might take forever. So instead of querying all of the stored messages you can also check the files directly:

[root@server01 mqueue]# pwd
/var/spool/mqueue
[root@server01 mqueue]# 

[root@server01 mqueue]# ls -al
...
-rw-------  1 root smmsp    1285 18. Mai 10:35 qfr4I8ZSBn009790
-rw-------  1 root smmsp    1242 18. Mai 10:35 qfr4I8ZSu1009786
-rw-------  1 root smmsp    1233 18. Mai 10:35 qfr4I8ZumY009830
-rw-------  1 root smmsp    1253 18. Mai 10:35 qfr4I8ZUOF009794
-rw-------  1 root smmsp    1257 18. Mai 10:35 qfr4I8ZXPu009798
-rw-------  1 root smmsp    1253 18. Mai 10:35 qfr4I8ZZhj009802
...
[root@server01 mqueue]# 

[root@server01 mqueue]# ls -al | wc -l
34439
[root@server01 mqueue]#

 
There is no explicit command for removing all messages. You can directly delete them with “rm”. In order to remove all messages, we just delete the queued files:

[root@server01 mqueue]# pwd
/var/spool/mqueue
[root@server01 mqueue]# 

[root@server01 mqueue]# rm -f *
[root@server01 mqueue]# 

[root@server01 mqueue]# ls -al
insgesamt 1128
drwx------  2 root mail 1138688 20. Mai 11:06 .
drwxr-xr-x 16 root root    4096 11. Mai 2011  ..
[root@server01 mqueue]#

 
“sendmail -bq” should now report an empty mail queue:

[root@server01 mqueue]# sendmail -bp
/var/spool/mqueue is empty
          Total requests: 0
[root@server01 mqueue]#

 

Categories: CentOS, Linux, Oracle Linux, Red Hat Tags:

CentOS: yum operations fail with errors like “HTTP Error 404: Not Found” or “550 os: No such file or directory”