Configurar um banco de dados Oracle autogerenciado

  1. Verifique se seu banco de dados está sendo executado no modo ARCHIVELOG.
  2. Para isso, faça login no banco de dados Oracle e execute o seguinte comando no prompt SQL:

    SELECT LOG_MODE FROM V$DATABASE;

    1. Se o resultado for ARCHIVELOG, avance para a etapa 2.
    2. Se o resultado for NOARCHIVELOG, será necessário ativar o modo ARCHIVELOG para seu banco de dados.
    3. Execute os seguintes comandos quando conectado como SYSDBA:
      SHUTDOWN IMMEDIATE;
      STARTUP MOUNT;
      ALTER DATABASE ARCHIVELOG;
      ALTER DATABASE OPEN;
    4. Como os arquivos de registros arquivados consomem espaço em disco, configure o parâmetro DB_RECOVERY_FILE_DEST_SIZE para seu banco de dados. Use esse parâmetro para especificar (em bytes) o limite absoluto no espaço total a ser usado pelos arquivos de recuperação do banco de dados de destino. Ao definir esse parâmetro, você pode gerenciar o equilíbrio entre proteger o banco de dados contra a falta de espaço em disco e a falha do stream devido à perda de posição do registro.

  3. Defina uma política de retenção de dados para seu banco de dados executando estes comandos do Oracle Recovery Manager (RMAN):
    TARGET /
    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS;
    

    Recomendamos que você mantenha backups e arquive registros por no mínimo quatro dias. Recomendamos sete dias.

  4. Volte para o prompt SQL da ferramenta de banco de dados que você está usando para configurar a política de rotação de arquivos de registros da Oracle. Recomendamos definir um tamanho máximo de 512 MB para o arquivo de registros.
  5. Ative os dados de registro complementares. Para isso, primeiro ative a geração de registros complementar mínima no nível do banco de dados executando o seguinte comando:
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

    Em seguida, escolha se você quer ativar a geração de registros para tabelas específicas ou para todo o banco de dados.

    Para registrar alterações apenas em tabelas específicas, execute o seguinte comando em cada tabela que você quer replicar:

    ALTER TABLE SCHEMA.TABLE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS

    Substitua:

    • SCHEMA: o nome do esquema que contém a tabela.
    • TABLE: o nome da tabela em que você quer registrar alterações.

    Para replicar a maioria ou todas as tabelas do banco de dados, ative o registro para todo o banco de dados.

    Execute o comando a seguir para ativar os dados de registro complementares em todo o banco de dados:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
  6. Conceda os privilégios necessários à conta de usuário que será usada para se conectar ao seu banco de dados. Para isso, execute os seguintes comandos:
    GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
    GRANT CONNECT TO USER_NAME;
    GRANT CREATE SESSION TO USERNAME;
    GRANT SELECT ON SYS.V$DATABASE TO USERNAME;
    GRANT SELECT ON SYS.V$ARCHIVED_LOG TO USERNAME;
    GRANT SELECT ON SYS.V$LOGMNR_CONTENTS TO USER_NAME;
    GRANT EXECUTE ON DBMS_LOGMNR TO USER_NAME;
    GRANT EXECUTE ON DBMS_LOGMNR_D TO USER_NAME;
    GRANT SELECT ANY TRANSACTION TO USER_NAME;
    GRANT SELECT ANY TABLE TO USER_NAME;
    

    Caso sua organização não permita a concessão da permissão GRANT SELECT ANY TABLE, use a solução descrita na seção Captura de dados alterados da Oracle (CDC) da página de perguntas frequentes sobre o Datastream.

    Se o banco de dados de origem for Oracle 12c ou mais recente, conceda o seguinte privilégio adicional:

    GRANT LOGMINING TO USER_NAME;