Sql Oracle:用于验证对象是否属于其表空间的脚本

Sql Oracle:用于验证对象是否属于其表空间的脚本,sql,oracle,plsql,Sql,Oracle,Plsql,我有两个表空间,一个用来存储表,另一个用来存储索引。我创建了一个可以在任何模式中运行的脚本,它将对象(表或索引)移动到各自的表空间 但是,我没有找到一个脚本来验证对象是否已移动到正确的表空间(意味着表已移动到表空间,索引已移动到索引表空间) 有什么想法吗?您可以使用下面的查询通过特定模式获取信息: select t.table_name, t.tablespace_name as "TS Name For Table", i.index_name, i.tablespace_nam

我有两个表空间,一个用来存储表,另一个用来存储索引。我创建了一个可以在任何模式中运行的脚本,它将对象(表或索引)移动到各自的表空间

但是,我没有找到一个脚本来验证对象是否已移动到正确的表空间(意味着表已移动到表空间,索引已移动到索引表空间)


有什么想法吗?

您可以使用下面的查询通过特定模式获取信息:

select t.table_name, t.tablespace_name as "TS Name For Table",
       i.index_name, i.tablespace_name as "TS Name For Indexes"
  from user_tables t
  join user_indexes i on i.table_name = t.table_name
 order by t.table_name, i.index_name;

人类(例如,您)如何知道“对象已移动到正确的表空间”?一旦你弄明白了这一点,用PL/SQL对其进行编码就很简单了。
从用户_段中选择段_名称对象_名称、段_类型对象_类型、表空间_名称,其中段_输入('INDEX','TABLE')我当前正在使用此脚本,但这还不够,因为我不想查看所有记录以验证每个对象是否已成功移动到其各自的表空间。您的
用户\u段
查询有什么问题?您的意思是要检查表空间历史记录中的某个段,而不仅仅是当前表空间?我想要一个查询,该查询将显示我拥有的索引的计数,并且计数应该与表空间的索引表空间相同,其中表空间的名称是索引表空间。目前还不清楚您尝试的方法有什么问题。您具体在寻找什么结果而没有得到什么结果?我想要一个查询,它将显示我拥有的索引的计数,并且计数应该与tablespace_name是索引表空间时的计数相同。