Я работаю над этим скриптом SQL, чтобы перечислять данные логической записи базы данных, но не смог успешно присоединиться к таблицам.Сценарий для поиска логических данных базы данных
Попытка перечислить все ниже столбцы, но натыкается при отображении file_id
(идентификатор файла данных).
Вся помощь и предложения действительно оценены.
Столбцы, необходимые:
owner, segment_name, partition_name, file_id, segment_type,
extent count, size_k (space occupied by object)
Я думаю, что нужно, чтобы присоединиться dba_segment
, dba_extents
& dba_tablespaces
взгляды, но это не получается ...
SELECT
dbs.owner, dbs.segment_name, dbs.partition_name, dbe.file_id,
dbs.segment_type, dbs.extents "Extent count" , dbs.bytes/1024 "size_k"
FROM dba_segments dbs, dba_extents dbe, dba_tablespaces tbs
WHERE
dbs.tablespace_name = dbe.tablespace_name
and dbe.tablespace_name = tbs.tablespace_name
and tbs.contents = 'PERMANENT'
Выше не дает правильный результат .. .. выглядит как соединение таблицы или что-то не так ...
[Вредные привычки пинать: использование старого стиля JOIN и] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old -style-joins.aspx) - стиль старого стиля * разделенный запятыми список таблиц * был отменен с помощью ANSI - ** 92 ** SQL Standard (более ** 20 лет ** назад) –
Я запускаю этот запрос к oracle11g ... идея состоит в том, чтобы перечислять детали сегментов, а также выводить идентификатор файла данных, который становится сложным, поскольку каждый сегмент имеет больше экстентов в dba_extents ... поэтому объединение становится сложным. – Khallas301
спасибо marc_s за эту ссылку .. Я никогда не думал, что этот тип присоединения был таким старым .. читать вашу ссылку сейчас .. – Khallas301