table 上的 oracle 分区活动状态
oracle partition active condition on table
我有要分析的 Oracle 查询。 table track_table
有 active
分区。我对分区了解不多。我想检查创建此分区的条件。为了检查我的 table 是否分区,我使用了下面的查询,它说 PARTITION_NAME
对于 track_table
table 是活动的。
SELECT * FROM dba_tab_partitions WHERE table_name = 'track_table';
下面是我要分析的查询:
select count(*) as cnt
from track_table partition (active)
where trg_id > 198754
and status not in (2);
试试这个。我不确定它是否有效。
declare
h NUMBER;
th NUMBER;
doc CLOB;
BEGIN
h := DBMS_METADATA.OPEN(object_type => 'TABLE',network_link => 'dblink' );
DBMS_METADATA.SET_FILTER(h,'SCHEMA','schema_name');
DBMS_METADATA.SET_FILTER(h,'NAME','table_name');
th := DBMS_METADATA.ADD_TRANSFORM(h,'DDL');
DBMS_METADATA.SET_TRANSFORM_PARAM(th,'SQLTERMINATOR',true);
LOOP
doc := DBMS_METADATA.FETCH_CLOB(h);
EXIT WHEN doc IS NULL;
dbms_output.put_line(doc);
exit;
END LOOP;
DBMS_METADATA.CLOSE(h);
end;
您的分区似乎是列表分区。或者也许是范围,几乎可以肯定不是散列。您可以在 high_value 列的 user_tab_partitions 中看到构建分区的值。
SELECT * FROM all_tab_partitions@your_dblink_name WHERE table_name = 'TRACK_TABLE';
否则,如果您想要更多,请参阅此讨论:Getting schema (DDL) of a table through DB link
我有要分析的 Oracle 查询。 table track_table
有 active
分区。我对分区了解不多。我想检查创建此分区的条件。为了检查我的 table 是否分区,我使用了下面的查询,它说 PARTITION_NAME
对于 track_table
table 是活动的。
SELECT * FROM dba_tab_partitions WHERE table_name = 'track_table';
下面是我要分析的查询:
select count(*) as cnt
from track_table partition (active)
where trg_id > 198754
and status not in (2);
试试这个。我不确定它是否有效。
declare
h NUMBER;
th NUMBER;
doc CLOB;
BEGIN
h := DBMS_METADATA.OPEN(object_type => 'TABLE',network_link => 'dblink' );
DBMS_METADATA.SET_FILTER(h,'SCHEMA','schema_name');
DBMS_METADATA.SET_FILTER(h,'NAME','table_name');
th := DBMS_METADATA.ADD_TRANSFORM(h,'DDL');
DBMS_METADATA.SET_TRANSFORM_PARAM(th,'SQLTERMINATOR',true);
LOOP
doc := DBMS_METADATA.FETCH_CLOB(h);
EXIT WHEN doc IS NULL;
dbms_output.put_line(doc);
exit;
END LOOP;
DBMS_METADATA.CLOSE(h);
end;
您的分区似乎是列表分区。或者也许是范围,几乎可以肯定不是散列。您可以在 high_value 列的 user_tab_partitions 中看到构建分区的值。
SELECT * FROM all_tab_partitions@your_dblink_name WHERE table_name = 'TRACK_TABLE';
否则,如果您想要更多,请参阅此讨论:Getting schema (DDL) of a table through DB link