最近、あるマシンから別のマシンに Oracle データベースをコピーしました。
- オリジナル: Oracle Database 10g Enterprise Edition リリース 10.2.0.3.0
- コピー: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production 何らかの理由で、次のクエリはオリジナルでは機能しますが、コピーでは機能しません。
t.tdt_id がクエリによってグループ内の tdt_id の代わりに置換される場合 ( td_tablespaces t に従って)
誰かがこれがなぜなのか、それがインストールと関係があるのか を説明できますか. データは両方でまったく同じです。
SELECT
tdt_name as "name",
tdt_contents as "Content",
tdt_status as "Status",
round(( subsize.SubSize_MB ), 2 ) as "size used",
round(( sum( MaxMB ) - subsize.SubSize_MB ), 2 ) as "size free"
FROM
td_tablespaces t
INNER JOIN
(
SELECT
tdt_id,
CASE
WHEN upper( d.df_autoextend ) = 'YES' THEN round(( sum( df_maxsize ) / 1024 ), 2 )
WHEN upper( d.df_autoextend ) = 'NO' THEN round(( Sum( df_size ) / 1024 ), 2 )
END as MaxMB
FROM
td_datafiles d
GROUP BY
tdt_id,
d.df_autoextend,
df_maxsize,
df_size
) sub
ON
t.tdt_id = sub.tdt_id
INNER JOIN
(
SELECT
tdt_id,
sum( df_size / 1024 ) -( df_free / 1024 ) SubSize_MB,
df_free / 1024 SubSize_Free
FROM
td_datafiles df
GROUP BY
tdt_id,
df_free
) subsize
ON
t.tdt_id = subsize.tdt_id
WHERE
ins_id = 2096
GROUP BY
tdt_id,
tdt_name,
tdt_contents,
tdt_status,
subsize.SubSize_MB,
SubSize_Free
ORDER BY tdt_contents