Skip to content

How to Resolve ORA-39195: At least one schema in the TABLE_FILTER does not exist.

  • by

ORA-39195

ORA-39195 means that tables that you want to export does not exist in the current database, even though you qualify exported tables by schema names. Let's see an error pattern.

[oracle@test ~]$ expdp \"/ as sysdba\" tables=hr.employees
...
ORA-39001: invalid argument value
ORA-39195: At least one schema in the TABLE_FILTER does not exist.

As you can see, we used OS authentication (no password) to export the table which is qualified by the schema name, but expdp can't find the table. What's wrong? The possible reasons could be:

  1. In the scope of view, the export user can't see the schema name.
  2. It's easy to check by this:

    SQL> select table_name from all_tables where owner = 'HR';

    no rows selected
  3. You went for the wrong database.
  4. You should make sure that the connected database is the right one before exporting tables.

OS Authentication

To use OS authentication without password to export data, you should beware of the following items.

ORACLE_SID

If you export data as sysdba in a multi-home or multi-instance environment, you should make sure that you set ORACLE_SID correctly.

[oracle@test ~]$ echo $ORACLE_SID
ERP2DB

To correct ORACLE_SID, you can do this before exporting:

[oracle@test ~]$ export ORACLE_SID=FIN2DB
[oracle@test ~]$ echo $ORACLE_SID
FIN2DB

ORACLE_PDB_SID

To export PDB as sysdba in a multi-tenant environment, you should additionally set an environment variable ORACLE_PDB_SID to your shell.

[oracle@test ~]$ export ORACLE_PDB_SID=ORCLPDB1
[oracle@test ~]$ echo $ORACLE_PDB_SID
ORCLPDB1

Leave a Reply

Your email address will not be published.