oracle 查询default,oracle分区表检查--是否带有max或default分区

/*查询含有'default','MAXVALUE'的分区表*,分区表含有default或max分区/

select

allparttab.datestr,

allparttab.table_owner,

allparttab.partition_name,

allparttab.table_name,

allparttab.num_rows

from

(select  *  from

(

with xs as

(select x.*,

to_date (substr (high_value, 11, 19), 'YYYY-MM-DD HH24:MI:SS') dates,

replace (high_value, 'TIMESTAMP''') datestr

from xmltable('/ROWSET/ROW' passing (select dbms_xmlgen.getxmltype('

select t.table_owner, t.table_name, t.partition_name, t.high_value

from dba_tab_partitions t')

from dual) columns

table_owner varchar2(30) path 'TABLE_OWNER',

table_name varchar2(30) path 'TABLE_NAME',

partition_name varchar2(30) path 'PARTITION_NAME',

high_value varchar2(30) path 'HIGH_VALUE') x )

select

xs.datestr,

p.table_owner,

p.partition_name,

p.table_name,

p.num_rows

from xs,dba_tab_partitions p

where xs.table_owner IN (select distinct(p.table_owner) from dba_tab_partitions p where p.table_owner<>'SYS' and substr(table_name,-1,1) <> '$' )

and p.table_owner = xs.table_owner

and p.table_name = xs.table_name

and p.partition_name = xs.partition_name

order by p.table_owner,p.table_name,p.partition_position  ) )  allparttab,

/*查询所有的分区表*/

(

select  distinct(tabname.table_name)  from

(

with xs as

(select x.*,

to_date (substr (high_value, 11, 19), 'YYYY-MM-DD HH24:MI:SS') dates,

replace (high_value, 'TIMESTAMP''') datestr

from xmltable('/ROWSET/ROW' passing (select dbms_xmlgen.getxmltype('

select t.table_owner, t.table_name, t.partition_name, t.high_value

from dba_tab_partitions t')

from dual) columns

table_owner varchar2(30) path 'TABLE_OWNER',

table_name varchar2(30) path 'TABLE_NAME',

partition_name varchar2(30) path 'PARTITION_NAME',

high_value varchar2(30) path 'HIGH_VALUE') x )

select

xs.datestr,

p.table_owner,

p.partition_name,

p.table_name,

p.num_rows

from xs,dba_tab_partitions p

where xs.table_owner IN (select distinct(p.table_owner) from dba_tab_partitions p where p.table_owner<>'SYS' and substr(table_name,-1,1) <> '$' )

and p.table_owner = xs.table_owner

and p.table_name = xs.table_name

and p.partition_name = xs.partition_name

order by p.table_owner,p.table_name,p.partition_position  ) tabname

where tabname.datestr in('default','MAXVALUE')

)  parttab

/*查询只含有'default','MAXVALUE'的分区表*/

where parttab.table_name=allparttab.table_name

----------------------------------------------------------------------------------------------------------------------------------------------------------

/*查询不带有maxvalue和default分区的表*,分区表不含有maxvalue和default分区/

select  * from

(select  *  from

(

with xs as

(select x.*,

to_date (substr (high_value, 11, 19), 'YYYY-MM-DD HH24:MI:SS') dates,

replace (high_value, 'TIMESTAMP''') datestr

from xmltable('/ROWSET/ROW' passing (select dbms_xmlgen.getxmltype('

select t.table_owner, t.table_name, t.partition_name, t.high_value

from dba_tab_partitions t')

from dual) columns

table_owner varchar2(30) path 'TABLE_OWNER',

table_name varchar2(30) path 'TABLE_NAME',

partition_name varchar2(30) path 'PARTITION_NAME',

high_value varchar2(30) path 'HIGH_VALUE') x )

select

xs.datestr,

p.table_owner,

p.partition_name,

p.table_name

---p.num_rows

from xs,dba_tab_partitions p

where xs.table_owner IN (select distinct(p.table_owner) from dba_tab_partitions p where p.table_owner<>'SYS' and substr(table_name,-1,1) <> '$' )

and p.table_owner = xs.table_owner

and p.table_name = xs.table_name

and p.partition_name = xs.partition_name

order by p.table_owner,p.table_name,p.partition_position  ) ) a

where  not  exists

(

select  *  from

(

select

allparttab.datestr,

allparttab.table_owner,

allparttab.partition_name,

allparttab.table_name

from

(select  *  from

(

with xs as

(select x.*,

to_date (substr (high_value, 11, 19), 'YYYY-MM-DD HH24:MI:SS') dates,

replace (high_value, 'TIMESTAMP''') datestr

from xmltable('/ROWSET/ROW' passing (select dbms_xmlgen.getxmltype('

select t.table_owner, t.table_name, t.partition_name, t.high_value

from dba_tab_partitions t')

from dual) columns

table_owner varchar2(30) path 'TABLE_OWNER',

table_name varchar2(30) path 'TABLE_NAME',

partition_name varchar2(30) path 'PARTITION_NAME',

high_value varchar2(30) path 'HIGH_VALUE') x )

select

xs.datestr,

p.table_owner,

p.partition_name,

p.table_name,

p.num_rows

from xs,dba_tab_partitions p

where xs.table_owner IN (select distinct(p.table_owner) from dba_tab_partitions p where p.table_owner<>'SYS' and substr(table_name,-1,1) <> '$' )

and p.table_owner = xs.table_owner

and p.table_name = xs.table_name

and p.partition_name = xs.partition_name

order by p.table_owner,p.table_name,p.partition_position  ) )  allparttab,

/*查询所有的分区表*/

(

select  distinct(tabname.table_name)  from

(

with xs as

(select x.*,

to_date (substr (high_value, 11, 19), 'YYYY-MM-DD HH24:MI:SS') dates,

replace (high_value, 'TIMESTAMP''') datestr

from xmltable('/ROWSET/ROW' passing (select dbms_xmlgen.getxmltype('

select t.table_owner, t.table_name, t.partition_name, t.high_value

from dba_tab_partitions t')

from dual) columns

table_owner varchar2(30) path 'TABLE_OWNER',

table_name varchar2(30) path 'TABLE_NAME',

partition_name varchar2(30) path 'PARTITION_NAME',

high_value varchar2(30) path 'HIGH_VALUE') x )

select

xs.datestr,

p.table_owner,

p.partition_name,

p.table_name

from xs,dba_tab_partitions p

where xs.table_owner IN (select distinct(p.table_owner) from dba_tab_partitions p where p.table_owner<>'SYS' and substr(table_name,-1,1) <> '$' )

and p.table_owner = xs.table_owner

and p.table_name = xs.table_name

and p.partition_name = xs.partition_name

order by p.table_owner,p.table_name,p.partition_position  ) tabname

where tabname.datestr in('default','MAXVALUE')

)  parttab

/*查询只含有'default','MAXVALUE'的分区表*/

where parttab.table_name=allparttab.table_name  ) c

where  a.table_name=c.table_name

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值