Что @ matthew-mcpeak сказал выше - ВЫЙТИ ИЗ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ.
После того, как вы создали правильную схему, содержащую ваши объекты, вы можете запросить USER_TABLES.Предложение WHERE не требуется: это ПРОСМОТР ТАБЛИЦ в схеме, принадлежащей вашей учетной записи пользователя SESSION.
Поэтому войдите в систему как PETE, запрос
SELECT * FROM USER_TABLES
Покажет каждую таблицу вСхема PETE.
или
select *
from ALL_OBJECTS
where OBJECT_TYPE = 'TABLE'
and OWNER = 'PETE';
или запрос
SELECT * FROM ALL_TABLES where owner = 'PETE'
У нас также есть представления DBA_, такие как DBA_TABLES и DBA_OBJECTS.Они работают быстрее, чем представления ALL_, потому что модель безопасности отсутствует.Просмотры ALL_ показывают только то, что вы можете видеть.Поэтому, если у вас есть доступ к представлениям DBA_, используйте их.
Но если вы просто хотите увидеть, что находится в вашей схеме, представления USER_ просто великолепны.
Однако.
Это не покажет вам каждую таблицу, которую вы создали.Например, как насчет всех тех таблиц, которыми вы загрязнили схему SYSTEM?
Словарь данных Oracle не отслеживает, кто что создал.Вам понадобится AFTER CREATE TRIGGER для захвата владельца сеанса каждый раз, когда запускается CREATE TABLE, и его запись в новую таблицу для создания отчетов.Или включите аудит в своей системе и позвольте этому позаботиться об этом.ORACLE-BASE (Тим) демонстрирует, что здесь .