cancel
Showing results for 
Search instead for 
Did you mean: 

Missing tables in ABAP dictionary - DBA_COCKPIT_HELPER and MLICHECK~

symon_braunbaer
Participant
0 Kudos

Dear Experts,

as the title says - in ST04 diagnostics, I have tables DBA_COCKPIT_HELPER and MLICHECK~

declared missing in the ABAP dictionary.

About DBA_COCKPIT_HELPER, I found SAP note:

1374746 - DBA Cockpit: Temporary table ORA_COCKPIT_HELPER

But when I try to execute the statement there, I am getting the following error:

<SID> Insufficient privilege to access specified tables.

And at the bottom of SAP GUI, at the status line there is a green tick and then:

Exception CX_DBA_ROOT in class CL_ORA_SQL_EXECUTOR method  line 40

And I am executing this under DDIC !!! And I've also tried as SAP* !!! What is the privilege that those users can't possibly have ???

Please also advise what to do with table MLICHECK~ ? Many thanks in advance!

Accepted Solutions (0)

Answers (1)

Answers (1)

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Execute the create statement for ORA_COCKPIT_HELPER from the database level.

For MLICHECK I have advised in the other thread you have raised here

symon_braunbaer
Participant
0 Kudos

Hi Reagan,

I didn't hear from you for long time, hence I'm really glad for obtaining your reply 🙂

I hope you're doing good!

About the ORA_COCKPIT_HELPER - that's the thing, the table already exists on DB level, but it's not present in the ABAP dictionary.

Nevertheless, before posting this thread, I've also tried to execute that statement in SQL*Plus and it fails:

SQL> create global temporary table ora_cockpit_helper as select * from ( <p_sql_stmt_text> ) where 1=0;

create global temporary table ora_cockpit_helper as select * from ( <p_sql_stmt_text> ) where 1=0

                                                                                                             *

ERROR at line 1:

ORA-00903: invalid table name

I am coming to the conclusion, that <p_sql_stmt_text> is some kind of placeholder, but the note doesn't say what to put there... Please kindly advise! Many thanks!

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

I am doing good Symon. Thanks. Hope you are doing good.

>>About the ORA_COCKPIT_HELPER - that's the thing, the table already exists on DB level, but it's not present in the ABAP dictionary.<<

If the table exists at the DB level then check the owner of the table ORA_COCKPIT_HELPER.

While executing the query from Oracle did you connect as the schema user or as SYS?

If not connected as schema user then you will need to specify the schema owner along with the table name in the create statement assuming that the schema owner should be same as the SAP schema name.

symon_braunbaer
Participant
0 Kudos

Hi Reagan,

I connected using sqlplus / as sysdba, hence I was connected at SYS. In queries against SAP tables, I always specify the schema, like that:

SQL> select table_name, owner from dba_tables where table_name='ORA_COCKPIT_HELPER';

TABLE_NAME                     OWNER

------------------------------ ------------------------------

ORA_COCKPIT_HELPER             SAPSR3

So, the owner is SAPSR3. Please kindly advise on how to proceed.


Many thanks in advance!

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Symon,

OK, So the table is present at the DB level and not in ABAP. In that case modify the DBDIFF table using the view DBDIFFVIEW and put an exception. Afterwards do a consistency check in DB02 and see if everything looks OK.

Check note 1870843 - Missing Tables and Indexes - How to edit exceptions for the steps.

Cheers