Pacote DBMS_AUTO_PARTITION
O pacote DBMS_AUTO_PARTITION fornece rotinas administrativas para gerenciar o particionamento automático de esquemas e tabelas.
Procedimento CONFIGURE
Este procedimento configura definições para particionamento automático no Autonomous AI Database.
Sintaxe
DBMS_AUTO_PARTITION.CONFIGURE (
PARAMETER_NAME IN VARCHAR2,
PARAMETER_VALUE IN VARCHAR2,
ALLOW IN BOOLEAN DEFAULT TRUE);Parâmetros
| Parâmetro | Descrição |
|---|---|
PARAMETER_NAME |
Nome do parâmetro de configuração de particionamento automático a ser atualizado. Ele pode ter um dos seguintes valores:
Inicialmente, ambas as listas estão vazias e todos os esquemas do banco de dados podem usar o particionamento automático. Se a lista de inclusão contiver um ou mais esquemas, somente os esquemas listados na lista de inclusão poderão usar o particionamento automático. Se a lista de inclusão estiver vazia e a lista de exclusão contiver um ou mais esquemas, todos os esquemas usarão o particionamento automático, exceto os esquemas listados na lista de exclusão. Se ambas as listas contiverem um ou mais esquemas, todos os esquemas usarão o particionamento automático, exceto os esquemas listados na lista de exclusão.
Inicialmente, ambas as listas estão vazias e todas as tabelas do banco de dados podem usar o particionamento automático. Se a lista de inclusão contiver uma ou mais tabelas, somente as tabelas listadas na lista de inclusão poderão usar o particionamento automático. Se a lista de inclusão estiver vazia e a lista de exclusão contiver uma ou mais tabelas, todas usarão o particionamento automático, exceto as tabelas listadas na lista de exclusão. Se ambas as listas contiverem uma ou mais tabelas, todas elas usarão o particionamento automático, exceto as tabelas listadas na lista de exclusão. Se uma tabela não estiver em nenhuma das listas, as listas de inclusão e exclusão do esquema decidirão se uma tabela é candidata para particionamento automático. Se houver um conflito entre as listas de nível de esquema e as listas de nível de tabela, as listas de nível de tabela terão precedência. Para remover todas as tabelas da execução das listas de inclusão e exclusão:
|
PARAMETER_VALUE |
Valor para a definição de configuração especificada em parameter_name. Quando definida como NULL, a definição de configuração recebe seu valor padrão. |
ALLOW |
Aplicável somente para as definições de configuração
AUTO_PARTITION_SCHEMA e AUTO_PARTITION_TABLE. |
Observações de Uso
- Você pode verificar a configuração atual para configuração de particionamento automático usando o seguinte SQL:
SELECT * FROM DBA_AUTO_PARTITION_CONFIG;- Ao contrário da indexação automática, o particionamento automático não é executado periodicamente como uma tarefa em segundo plano. O particionamento automático só é executado quando você o chama usando a função
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.
Função VALIDATE_CANDIDATE_TABLE
Esta função verifica se a tabela fornecida é um candidato válido para particionamento automático no Autonomous AI Database.
Candidato Válido
Para ser um candidato válido, os seguintes testes devem ser aprovados:
-
A tabela passa nos testes de inclusão e exclusão especificados pelos parâmetros de configuração
AUTO_PARTITION_SCHEMAeAUTO_PARTITION_TABLE. -
A tabela existe e tem estatísticas atualizadas.
-
A tabela tem pelo menos 64 GB.
-
A tabela tem 5 ou mais consultas no SQL Tuning Set que verificaram a tabela.
-
A tabela não contém uma coluna de tipo de dados
LONG. -
A tabela não é particionada manualmente.
-
Tabela não é uma tabela externa, uma tabela híbrida interna/externa, uma tabela temporária, uma tabela organizada por índice ou uma tabela agrupada.
-
A tabela não tem um índice de domínio ou um índice de junção de bitmap.
-
A tabela não é uma fila avançada, uma view materializada ou uma tabela de armazenamento de arquivos compactados de flashback.
-
A tabela não tem tabelas aninhadas ou determinados outros recursos de objeto.
Retorna:
-
VALIDse a tabela for uma candidata válida para particionamento autônomo -
INVALID: <reason>se a tabela não for válida para particionamento autônomo, e <reason> for uma string que descreve por que a tabela não é válida.
Sintaxe
DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
( SQLSET_OWNER IN VARCHAR2 DEFAULT 'SYS',
SQLSET_NAME IN VARCHAR2 DEFAULT 'SYS_AUTO_STS',
TABLE_OWNER IN VARCHAR2,
TABLE_NAME IN VARCHAR2)
RETURN VARCHAR2;Parâmetros
| Parâmetro | Descrição |
|---|---|
SQLSET_OWNER, SQLSET_NAME |
Nome do SQL Tuning Set que representa a carga de trabalho a ser avaliada. |
TABLE_OWNER, TABLE_NAME |
Nome de uma tabela a ser validada como candidata ao particionamento automático. |
Observações de Uso
- Como exemplo, você pode verificar a validade de uma tabela de amostra,
LINEORDERno esquemaTEST, com a seguinte SQL:
SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
( TABLE_OWNER => 'TEST',
TABLE_NAME => 'LINEORDER')
FROM DUAL;Função RECOMMEND_PARTITION_METHOD
Essa função retorna um ID de recomendação que pode ser usado com o procedimento APPLY_RECOMMENDATION para aplicar a recomendação ou pode ser usado com a view DBA_AUTO_PARTITION_RECOMMENDATIONS para recuperar detalhes das recomendações para particionamento automático no Autonomous AI Database.
Sintaxe
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
( SQLSET_OWNER IN VARCHAR2 DEFAULT 'SYS',
SQLSET_NAME IN VARCHAR2 DEFAULT 'SYS_AUTO_STS',
TABLE_OWNER IN VARCHAR2 DEFAULT NULL,
TABLE_NAME IN VARCHAR2 DEFAULT NULL,
TIME_LIMIT IN INTERVAL DAY TO SECOND DEFAULT INTERVAL '1' DAY,
REPORT_TYPE IN VARCHAR2 DEFAULT 'TEXT',
REPORT_SECTION IN VARCHAR2 DEFAULT 'SUMMARY',
REPORT_LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN RAW;Parâmetros
| Parâmetro | Descrição |
|---|---|
SQLSET_OWNER, SQLSET_NAME |
Nome do SQL Tuning Set que representa a carga de trabalho a ser avaliada. |
TABLE_OWNER, TABLE_NAME |
Nome de uma tabela a ser validada como candidata ao particionamento automático. |
TIME_LIMIT |
Quando a função escolhe as tabelas para as quais gerar recomendações, TABLE_OWNER e TABLE_NAME são NULL), o parâmetro limita quanto tempo a função é executada antes de parar de procurar novas tabelas candidatas para particionar. Uma vez iniciado o processamento de uma tabela, o processo não será encerrado. Espera-se que a função possa ser executada por mais tempo que este parâmetro. Se esse parâmetro for NULL, não haverá limite de tempo. O valor default é de 1 dia. |
REPORT_TYPE |
Usado para gerar relatório para o método de partição recomendado. Consulte Função RELPORT_ACTIVITY para obter detalhes. |
REPORT_SECTION |
Usado para gerar relatório persistente para o método de partição recomendado. Consulte Função RELPORT_ACTIVITY para obter detalhes. |
REPORT_LEVEL |
Usado para gerar relatório para o método de partição recomendado. Consulte Função RELPORT_ACTIVITY para obter detalhes. |
Observações de Uso
-
O
AUTO_PARTITION_MODEcontrola as ações executadas por esta função:-
IMPLEMENT: Neste modo, o particionamento automático gera um relatório e modifica a tabela existente usando o método de partição recomendado. -
REPORT ONLY: Neste modo, o particionamento automático gera um relatório gerado, mas as tabelas existentes não são modificadas. Esse é o valor padrão. -
OFF: Neste modo, o particionamento automático impediu a produção, a consideração ou a aplicação de novas recomendações. Não desativa as tabelas particionadas automáticas existentes.
-
-
Ao contrário da indexação automática, o particionamento automático não é executado periodicamente como uma tarefa em segundo plano. O particionamento automático só é executado quando você o chama usando a função
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.
Valores de Retorno
Esta função retorna um ID de recomendação que pode ser usado da seguinte forma: DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION para aplicar a recomendação,
-
Use com
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATIONpara aplicar a recomendação. -
Use com a view
DBA_AUTO_PARTITION_RECOMMENDATIONSpara recuperar detalhes das recomendações. Por exemplo:
SELECT PARTITION_METHOD, PARTITION_KEY
FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;APPLY_RECOMMENDATION Procedimento
Este procedimento aplica a recomendação fornecida em um Autonomous AI Database.
Sintaxe
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
( RECOMMENDATION_ID IN RAW,
TABLE_OWNER IN VARCHAR2 DEFAULT NULL,
TABLE_NAME IN VARCHAR2 DEFAULT NULL);Parâmetros
| Parâmetro | Descrição |
|---|---|
RECOMMENDATION_ID |
ID da Recomendação retornado da função RECOMMEND_PARTITION_METHOD ou consultado na exibição DBA_AUTO_PARTITION_RECOMMENDATIONS. |
TABLE_OWNER, TABLE_NAME |
Quando um único ID de recomendação tem recomendações para várias tabelas, esse parâmetro opcional permite controlar quais tabelas são particionadas.
|
Observação do Uso
Independentemente do AUTO_PARTITION_MODE, este procedimento gera um ORA-20000: recommendation_id was not found se não houver recomendações aceitas associadas ao RECOMMENDATION_ID ou se todas as recomendações aceitas associadas ao RECOMMENDATION_ID já tiverem sido aplicadas. O primeiro caso se aplicará se RECOMMENDATION_ID tiver sido gerado com AUTO_PARTITION_MODE = OFF. O segundo caso será aplicado se RECOMMENDATION_ID tiver sido gerado com AUTO_PARTITION_MODE = IMPLEMENT.
Função REPORT_ACTIVITY
Esta função retorna um relatório das operações de particionamento automático executadas durante um período específico em um Autonomous AI Database.
Sintaxe
DBMS_AUTO_PARTITION.REPORT_ACTIVITY
( ACTIVITY_START IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
ACTIVITY_END IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
TYPE IN VARCHAR2 DEFAULT 'TEXT',
SECTION IN VARCHAR2 DEFAULT 'ALL',
LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
ACTIVITY_START |
As operações de particionamento automático no horário inicial são usadas para o relatório. Se nenhum valor for especificado ou NULL for especificado, o relatório será gerado para a última operação de particionamento automático executada. |
ACTIVITY_END |
As operações de particionamento automático no horário final são usadas para o relatório. Se nenhum valor for especificado ou NULL for especificado, o relatório será gerado para a última operação de particionamento automático que foi executada. |
TYPE |
Formato do relatório que tem um dos seguintes valores:
|
SECTION |
Seções a serem incluídas no relatório que tem um dos seguintes valores:
|
level |
Nível de informação a ser incluído no relatório que tem um dos seguintes valores:
|
Observações de Uso
Retornos: Um relatório de análise de desempenho para carga de trabalho executada no banco de dados após a aplicação da recomendação. Este relatório não é armazenado persistentemente com a recomendação.
Função REPORT_LAST_ACTIVITY
Esta função retorna um relatório da operação de particionamento automático mais recente executada em um Autonomous AI Database.
Sintaxe
DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY
( TYPE IN VARCHAR2 DEFAULT 'TEXT',
SECTION IN VARCHAR2 DEFAULT 'ALL',
LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
TYPE |
O formato de saída do relatório. Consulte Função RELATÓRIO_ATIVIDADE para obter informações. |
SECTION |
As seções incluídas no relatório, consulte Função RELATÓRIO_ATIVIDADE para obter informações. |
LEVEL |
O nível de informações incluídas no relatório. Consulte Função RELATÓRIO_ATIVIDADE para obter informações. |
Observações de Uso
Retornos: Um relatório de análise de desempenho para carga de trabalho executada no banco de dados após a última recomendação ser aplicada. Este relatório não é armazenado persistentemente com a recomendação.