When connecting to oracle you will normally connect to ONE database, and within that database you will have a number of schemas. These schemas would be seen as "databases" in some other rdbms systems. Each schema is owned by a DB-User that can be a system- or normal user. All tables/objects created in a schema is "owned" by the owner of the schema.
So a rough method to separate the system tables from user tables will be to consider tables in a schemas owned by a system user as system tables.
If in a database with version 12c and above you can do like this:
select t.table_name, t.owner, u.oracle_maintained
from dba_tables t, dba_users u
where t.owner = u.username
and rownum < 100;
If version below 12c the oracle_maintained column does not exist so you need this work-around. The 35 should be set to the highest used_id for system users. System users are normally the lowest in the database.
select t.table_name, t.owner, case when u.user_id > 35 then 'N' else 'Y' end systemgenerated
from dba_tables t, dba_users u
where t.owner = u.username
and rownum < 100;
Also: the 'and rownum < 100' should be replaced by your own filter on tables.