Partições

Para consultar as partições de uma tabela específica em um banco de dados Oracle, você pode usar as visualizações do dicionário de dados que armazenam informações sobre as partições. As principais visualizações que contêm essas informações são:

  • ALL_TAB_PARTITIONS
  • USER_TAB_PARTITIONS
  • DBA_TAB_PARTITIONS

A visualização ALL_TAB_PARTITIONS mostra as partições das tabelas acessíveis ao usuário. A visualização USER_TAB_PARTITIONS mostra as partições das tabelas do usuário atual, enquanto a DBA_TAB_PARTITIONS mostra todas as partições das tabelas no banco de dados (requer privilégios de DBA).

Aqui está um exemplo de como consultar as partições de uma tabela específica usando a visualização ALL_TAB_PARTITIONS:

SELECT
    TABLE_NAME,
    PARTITION_NAME,
    PARTITION_POSITION,
    TABLESPACE_NAME,
    LAST_ANALYZED,
    NUM_ROWS,
    HIGH_VALUE
FROM
    ALL_TAB_PARTITIONS
WHERE
    TABLE_NAME = 'NOME_DA_TABELA'
ORDER BY
    PARTITION_POSITION;

Substitua NOME_DA_TABELA pelo nome da tabela cuja partição você deseja consultar.

Exemplos Práticos

  1. Consultando Partições de uma Tabela Específica

SELECT
    TABLE_NAME,
    PARTITION_NAME,
    PARTITION_POSITION,
    TABLESPACE_NAME,
    LAST_ANALYZED,
    NUM_ROWS,
    HIGH_VALUE
FROM
    ALL_TAB_PARTITIONS
WHERE
    TABLE_NAME = 'MINHA_TABELA'
ORDER BY
    PARTITION_POSITION;

2. Consultando Detalhes Específicos de uma Partição

Se você quiser detalhes mais específicos sobre uma partição em particular, por exemplo, as colunas de intervalo de uma partição, você pode consultar a visualização ALL_TAB_SUBPARTITIONS ou ALL_PART_KEY_COLUMNS:

SELECT
    TABLE_NAME,
    PARTITION_NAME,
    COLUMN_NAME,
    COLUMN_POSITION
FROM
    ALL_PART_KEY_COLUMNS
WHERE
    TABLE_NAME = 'MINHA_TABELA'
ORDER BY
    PARTITION_NAME, COLUMN_POSITION;

3. Consultando Subpartições (se aplicável)

Se a tabela estiver particionada em subpartições, você pode usar a visualização ALL_TAB_SUBPARTITIONS:

SELECT
    TABLE_NAME,
    SUBPARTITION_NAME,
    PARTITION_NAME,
    TABLESPACE_NAME,
    LAST_ANALYZED,
    NUM_ROWS
FROM
    ALL_TAB_SUBPARTITIONS
WHERE
    TABLE_NAME = 'MINHA_TABELA'
ORDER BY
    PARTITION_NAME, SUBPARTITION_NAME;

Essas consultas fornecem informações detalhadas sobre as partições de uma tabela, como o nome da partição, posição da partição, espaço de tabela associado, última análise, número de linhas e o valor limite para intervalos de partições.

Notas Adicionais

  • Privilégios: Dependendo dos privilégios do usuário, você pode precisar ajustar a visualização que está usando (USER_TAB_PARTITIONS se você não tiver privilégios para ALL_TAB_PARTITIONS ou DBA_TAB_PARTITIONS).
  • Nomes das Tabelas: Certifique-se de que os nomes das tabelas e partições estejam em maiúsculas, a menos que tenham sido criados explicitamente com aspas e em letras minúsculas.
    Essas consultas devem ajudá-lo a obter uma visão completa das partições em uma tabela específica no Oracle.

Essas consultas devem ajudá-lo a obter uma visão completa das partições em uma tabela específica no Oracle.