Recuperar um Banco de Dados do Object Store Classic do OCI

Este artigo explica como recuperar um banco de dados usando um backup criado pelo Oracle Database Backup Module e armazenado no Oracle Cloud Infrastructure Object Storage Classic.

Os seguintes termos são usados em todo este tópico:

  • Banco de dados de origem: O backup do banco de dados no Object Storage Classic.
  • Banco de dados de destino: O novo banco de dados em um sistema de banco de dados no Oracle Cloud Infrastructure.

Pré-requisitos

Será necessário o seguinte:

  • O nome do serviço, o nome da identidade, o contêiner, o nome do usuário e a senha do Oracle Cloud Infrastructure Object Storage Classic.
  • A senha de backup se a criptografia baseada em senha for usada ao fazer backup no Object Storage Classic.
  • O ID do banco de dados de origem, o nome do banco de dados, o nome exclusivo do banco de dados (necessário para configurar o armazenamento)
  • Se o banco de dados de origem estiver configurado com TDE (Criptografia Transparente de Dados), você precisará de um backup da wallet e da senha da wallet.
  • Tnsnames a serem configurados para qualquer link de banco de dados.
  • A saída de Opatch lsinventory para o banco de dados de origem Oracle_home, para referência.
  • Uma cópia do diretório sqlpatch do home do banco de dados de origem. Isso é necessário para fazer rollback, caso o banco de dados de destino não inclua esses patches.

Configurar o Armazenamento no Sistema de Banco de Dados

  1. Estabeleça conexão via SSH com o Sistema de Banco de Dados.
    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. Faça log-in como opc e, em seguida, sudo para o usuário raiz. Use sudo su - com um hífen para chamar o perfil do usuário raiz, que definirá o PATH para o diretório dbcli (/opt/oracle/dcs/bin).
    login as: opc
    sudo su - 
  3. Use os Comandos Dbstorage para configurar diretórios para armazenamento DATA, RECO e REDO. O exemplo a seguir cria 10 GB de armazenamento ACFS para o banco de dados tdetest.
    dbcli create-dbstorage --dbname tdetest --dataSize 10 --dbstorage ACFS 

    Observação:

    Ao migrar um banco de dados versão 11.2, o armazenamento ACFS deve ser especificado.
  4. Use os Comandos Dbstorage para listar o ID de armazenamento. Você precisará do ID para a próxima etapa.
    dbcli list-dbstorages
    Saída:
    ID                                       Type   DBUnique Name        Status
    ---------------------------------------- ------ -------------------- ----------
    9dcdfb8e-e589-4d5f-861a-e5ba981616ed     Acfs   tdetest              Configured
  5. Use os Comandos Dbstorage com o ID de armazenamento da etapa anterior para listar os locais de DATA, RECO e REDO.
    dbcli describe-dbstorage --id 9dcdfb8e-e589-4d5f-861a-e5ba981616ed
    Saída:
    DBStorage details
    ----------------------------------------------------------------
                         ID: 9dcdfb8e-e589-4d5f-861a-e5ba981616ed
                    DB Name: tdetest
              DBUnique Name: tdetest
             DB Resource ID:
               Storage Type: Acfs
              DATA Location: /u02/app/oracle/oradata/tdetest
              RECO Location: /u03/app/oracle/fast_recovery_area/
              REDO Location: /u03/app/oracle/redo/
                      State: ResourceState(status=Configured)
                    Created: August 24, 2016 5:25:38 PM UTC
                UpdatedTime: August 24, 2016 5:25:53 PM UTC 
  6. Anote os locais de DATA, RECO e REDO. Você precisará deles mais tarde para definir os parâmetros db_create_file_dest, db_create_online_log_dest e db_recovery_file_dest para o banco de dados.

Escolher um ORACLE_HOME

Decida qual ORACLE_HOME será usado para a restauração do banco de dados e, em seguida, alterne para esse home com as definições corretas de ORACLE_BASE, ORACLE_HOME e PATH. O ORACLE_HOME ainda não deve estar associado a um banco de dados.

Para obter uma lista de ORACLE_HOMEs existente e garantir que ORACLE_HOME esteja vazio, use os comandos Dbhome e os Comandos Database, respectivamente. Para criar um novo ORACLE_HOME, use os Comandos Dbhome.

Copiar as Wallets do Banco de Dados de Origem

Ignore esta seção se o banco de dados de origem não estiver configurado com TDE.

  1. No sistema de banco de dados, torne-se o usuário oracle:
    sudo su - oracle
  2. Crie o seguinte diretório se ele ainda não existir:
    mkdir /opt/oracle/dcs/commonstore/wallets/tde/<db_unique_name>
  3. Copie o arquivo ewallet.p12 do banco de dados de origem para o diretório criado na etapa anterior.
  4. No host de destino, certifique-se de que $ORACLE_HOME/network/admin/sqlnet.ora contenha a seguinte linha:
    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))

    Adicione a linha se ela não existir no arquivo. (A linha pode não existir se este for um novo home e ainda não houver nenhum banco de dados criado neste host.)

  5. Crie a wallet de log-in automático usando a wallet baseada em senha para permitir a abertura automática da wallet durante operações de restauração e recuperação.

    Para um banco de dados versão 12.1 ou posterior, use o comando ADMINISTER KEY MANAGEMENT:

    $cat create_autologin_12.sh
    
    #!/bin/sh
    if [ $# -lt 2 ]; then
            echo "Usage: $0 <dbuniquename><remotewalletlocation>"
            exit 1;
    fi
    
    mkdir /opt/oracle/dcs/commonstore/wallets/tde/$1
    cp $2/ewallet.p12* /opt/oracle/dcs/commonstore/wallets/tde/$1
    rm -f autokey.ora
    echo "db_name=$1"  > autokey.ora
    autokeystoreLog="autologinKeystore_`date +%Y%m%d_%H%M%S_%N`.log"
    echo "Enter Keystore Password:"
    read -s keystorePassword
    echo "Creating AutoLoginKeystore -> "
    sqlplus "/as sysdba"  <<EOF
    spool $autokeystoreLog
    set echo on
    startup nomount pfile=autokey.ora
    ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE
    FROM KEYSTORE '/opt/oracle/dcs/commonstore/wallets/tde/$1' -- Keystore location
    IDENTIFIED BY "$keystorePassword";
    shutdown immediate;
    EOF

    Ajuste as permissões cwallet.sso de oracle:asmadmin para oracle:oinstall.

    ls -ltr /opt/oracle/dcs/commonstore/wallets/tde/<db_unique_name>
    Saída:
    total 20
    -rw-r--r-- 1 oracle oinstall 5680 Jul  6 11:39 ewallet.p12
    -rw-r--r-- 1 oracle asmadmin 5725 Jul  6 11:39 cwallet.sso

    Para um banco de dados versão 11.2, use o comando orapki:

    orapki wallet create -wallet wallet_location -auto_login [-pwd password]

Instalar o Módulo de Backup do Oracle Database

O arquivo JAR do módulo de backup é fornecido no sistema de banco de dados, mas é preciso instalá-lo.

  1. Estabeleça conexão via SSH com o sistema de banco de dados, faça log-in como opc e, em seguida, torne-se o usuário oracle.
    ssh -i <path to SSH key used when launching the DB System> opc@<DB System IP address or hostname>
    sudo su - oracle
  2. Passe para o diretório que contém o arquivo opc_install.jar do módulo de backup.
    cd /opt/oracle/oak/pkgrepos/orapkgs/oss/<version>/
  3. Para instalar o módulo de backup, consulte a sintaxe de comando descrita em Installing the Oracle Database Cloud Backup Module for OCI Classic em Using Oracle Database Backup Cloud Service.

Definir Variáveis de Ambiente

Defina as seguintes variáveis de ambiente para as sessões do RMAN e do SQL*Plus para o banco de dados:

ORACLE_HOME=<path of Oracle Home where the database is to be restored>
ORACLE_SID=<database instance name>
ORACLE_UNQNAME=<db_unique_name in lower case>
NLS_DATE_FORMAT="mm/dd/yyyy hh24:mi:ss"

Alocar um Canal SBT do RMAN

Para cada operação de restauração, aloque um canal SBT e defina o parâmetro SBT_LIBRARY para o local do arquivo libopc.so e o parâmetro OPC_FILE para o local do arquivo opc_sbt.ora, por exemplo:

ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/<ORACLE_HOME>/dbs/opc_sbt.ora)';

Para obter mais informações sobre esses arquivos, consulte Files Created When the Oracle Database Cloud Backup Module for OCI Classic is Installed em Using Oracle Database Backup Cloud Service.

Verificar se a Decriptografia está Ativada

Certifique-se de que a criptografia esteja ativada para todas as sessões de restauração do RMAN.

set decryption wallet open identified by <keystore password>;

Para obter mais informações, consulte Providing the Password Required to Decrypt Encrypted Backups.

Restaurar Spfile

O seguinte script de shell de amostra restaura o spfile. Defina a variável $dbID para o dbid do banco de dados que está sendo restaurado. Por padrão, o spfile é restaurado para $ORACLE_HOME/dbs/spfile<sid>.ora.

rman target / <<EOF

spool log to "`date +%Y%m%d_%H%M%S_%N`_dbid_${dbID}_restore_spfile.log"
startup nomount
set echo on
run {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
SET DBID=$dbID;
RESTORE SPFILE FROM AUTOBACKUP;
shutdown immediate;
EOF

Definir os Parâmetros do Banco de Dados

  1. Inicie o banco de dados no modo nomount.
    startup nomount
  2. Atualize o spfile e modifique os parâmetros a seguir.
    • Se o tipo de armazenamento do banco de dados for ACFS, use os locais de DATA, RECO e REDO obtidos na saída do comando dbcli describe-dbstorage, conforme descrito em Configurar o Armazenamento no Sistema de Banco de Dados:

      alter system set db_create_file_dest='/u02/app/oracle/oradata/' scope = spfile;
      alter system set db_create_online_log_dest_1='/u03/app/oracle/redo' scope = spfile;
      alter system set db_recovery_file_dest='/u03/app/oracle/fast_recovery_area' scope = spfile;
    • Se o tipo de armazenamento do banco de dados for ASM:

      alter system set db_create_file_dest='+DATA' scope = spfile;
      alter system set db_create_online_log_dest_1='+RECO' scope = spfile;
      alter system set db_recovery_file_dest='+RECO' scope = spfile;
    • db_recovery_file_dest_size não foi definido ou não foi definido corretamente:

      alter system set db_recovery_file_dest_size=<sizeG> scope=spfile;
    • Defina audit_file_dest como o valor correto:

      alter system set audit_file_dest=/u01/app/oracle/admin/<db_unique_name in lower case>/adump
  3. Remova o parâmetro control_files. Os parâmetros do OMF (Oracle Managed Files) serão usados para criar o arquivo de controle.
    alter system reset control_files scope=spfile;
  4. Reinicie o banco de dados no modo nomount usando os parâmetros recém-adicionados.
    shutdown immediate
    startup nomount

Restaurar o Arquivo de Controle

Modifique o seguinte script de shell de amostra do seu ambiente para restaurar o arquivo de controle. Defina a variável $dbID para o dbid do banco de dados que está sendo restaurado. Defina SBT_LIBRARY como o local especificado no parâmetro -libDir ao instalar o Módulo de Backup. Defina OPC-PFILE como o local especificado no parâmetro -configFile, que é padrão para ORACLE_HOME/dbs/opcSID.ora.

rman target / <<EOF

spool log to "`date +%Y%m%d_%H%M%S_%N`_dbid_${dbID}_restore_controlfile.log"
set echo on
run {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/<Backup Module libDir>/libopc.so ENV=(OPC_PFILE=/<Backup Module configFile>/opcSID.ora)';
SET DBID=$dbID;
RESTORE CONTROLFILE FROM AUTOBACKUP;
alter database mount;
}

exit;
EOF

Restaurar o Banco de Dados

  1. Visualize e valide o backup. O banco de dados agora está montado e o RMAN deve ser capaz de localizar o backup do arquivo de controle restaurado. Esta etapa ajuda a garantir que a lista de logs de arquivamento esteja presente e que os componentes de backup possam ser restaurados.

    Nos exemplos a seguir, modifique SBT_LIBRARY e OPC_PFILE, conforme necessário para o seu ambiente.

    rman target / <<EOF
    
    spool log to "`date +%Y%m%d_%H%M%S_%N`_restore_database_preview.log"
    set echo on
    run {
        ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c2 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c3 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        restore database validate header preview;
    }

    Verifique a saída e se há mensagens de erro e investigue a causa do problema.

  2. Redirecione a restauração usando set newname para restaurar os arquivos de dados no formato OMF e use switch datafile all para permitir que o arquivo de controle seja atualizado com as novas cópias do arquivo de dados.
    rman target / <<EOF
    
    spool log to "`date +%Y%m%d_%H%M%S_%N`_restore_database_preview.log"
    set echo on
    run {
        ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c2 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c3 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        set newname for database to new;
        restore database;
        switch datafile all;
        switch tempfile all;
        recover database;
    }

    Essa recuperação tentará usar o último backup de log de arquivamento disponível e, em seguida, falhará com um erro, por exemplo:

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 07/20/2016 12:09:02
    RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 22 and starting SCN of 878327
  3. Para concluir a recuperação incompleta, execute uma recuperação usando o número de sequência e o número do thread mostrados na mensagem RMAN-06054, por exemplo:
    recover database until sequence 22 thread 1;

Redefinir os Logs

Redefina os logs.

alter database open resetlogs;

Preparar para Registrar o Banco de Dados

Antes de registrar o banco de dados:

  1. Certifique-se de que o valor do parâmetro COMPATIBLE do banco de dados seja aceitável. Se o valor for menor que o mínimo, o banco de dados não poderá ser registrado até que você faça upgrade da compatibilidade do banco de dados.
  2. Verifique se o banco de dados foi registrado com o listener e o nome do serviço.
    lsnrctl services
  3. Certifique-se de que o arquivo de senha foi restaurado ou criado para o novo banco de dados.
    ls -ltr $ORACLE_HOME/dbs/orapw<oracle sid>

    Se o arquivo não existir, crie-o usando o utilitário orapwd.

    orapwd file=<$ORACLE_HOME/dbs/orapw<$ORACLE_SID>> password=<sys password>
  4. Certifique-se de que o banco de dados restaurado está aberto no modo de leitura e gravação.
    select open_mode from v$database;

    A saída do comando deve indicar o modo de leitura/gravação. O comando dbcli register-database tentará executar o datapatch, que requer o modo de leitura/gravação. Se houver PDBs, eles também deverão estar no modo de leitura/gravação para garantir que o datapatch seja executado neles.

  5. No Oracle Home do banco de dados restaurado, use o seguinte comando para verificar a conexão com o SYS:
    conn sys/<password>@//<hostname>:1521/<database service name>

    Esta conexão é necessária para registrar o banco de dados posteriormente. Corrija os problemas de conexão antes de continuar.

  6. Verifique se o banco de dados está em execução no spfile usando o comando SQL*Plus.
    SHOW PARAMETERS SPFILE
  7. (Opcional) Se você quiser gerenciar o backup do banco de dados com a interface de linha de comandos dbcli, poderá associar uma configuração de backup nova ou existente ao banco de dados migrado ao registrá-lo ou depois de registrá-lo. Uma configuração de backup define o destino do backup e a janela de recuperação do banco de dados. Use os Comandos Backupconfig para criar, listar e exibir configurações de backup.
  8. Copie a pasta $ORACLE_HOME/sqlpatch do banco de dados de origem para o banco de dados de destino. Isso permitirá que o comando dbcli register-database faça rollback dos patches em conflito.

    Observação:

    Se você estiver migrando um banco de dados versão 11.2, será necessário executar etapas adicionais após o registro do banco de dados. Para obter mais informações, consulte Fazer Rollback de Patches em um Banco de Dados Versão 11.2.

Registrar o Banco de Dados no Sistema de Banco de Dados

Os Comandos Database registram o banco de dados restaurado para o dcs-agent para que ele possa ser gerenciado pela pilha do dcs-agent.

Observação:

O comando dbcli register-database não está disponível nos sistemas de banco de dados RAC de 2 nós.

Como o usuário raiz, use o comando dbcli register-database para registrar o banco de dados no sistema de banco de dados, por exemplo:

dbcli register-database --dbclass OLTP --dbshape odb1 --servicename tdetest --syspassword

Saída:

Password for SYS:
{
  "jobId" : "317b430f-ad5f-42ae-bb07-13f053d266e2",
  "status" : "Created",
  "message" : null,
  "reports" : [ ],
  "createTimestamp" : "August 08, 2016 05:55:49 AM EDT",
  "description" : "Database service registration with db service name: tdetest",
  "updatedTime" : "August 08, 2016 05:55:49 AM EDT"
}

Atualizar o tnsnames.ora

Verifique o tnsnames.ora no local do backup, verifique os links de banco de dados usados no banco de dados clonado e, em seguida, adicione quaisquer strings de conexão relevantes ao arquivo do banco de dados clonado em $ORACLE_HOME/network/admin/tnsnames.ora.

Fazer Rollback de Patches em um Banco de Dados Versão 11.2

Para bancos de dados versão 11.2, o aplicativo sqlpatch não é automatizado. Portanto, é necessário fazer rollback manualmente no banco de dados de destino de quaisquer patches provisórios (anteriormente conhecidos como patches "one-off") aplicados ao banco de dados de origem que não façam parte da PSU instalada. Depois de registrar o banco de dados, execute o script catbundle.sql e depois o script postinstall.sql com o patch da PSU correspondente (ou o patch de sobreposição na parte superior do patch da PSU), conforme descrito a seguir.

Dica:

Alguns patches provisórios podem incluir arquivos gravados no diretório $ORACLE_HOME/rdbms/admin, bem como no diretório $ORACLE_HOME/sqlpatch. A Oracle recomenda que você faça rollback desses patches no banco de dados de origem usando as instruções no arquivo leia-me do patch antes de migrar o banco de dados para o ambiente OCI. Entre em contato com o Suporte Técnico da Oracle se precisar de ajuda para fazer rollback desses patches.
  1. No Sistema de Banco de Dados, use o comando dbcli list-dbhomes para localizar o número de patch da PSU para o home do banco de dados versão 11.2. Na saída do seguinte comando de amostra, o número de patch da PSU é o segundo número na coluna Versão do Banco de Dados:
    dbcli  list-dbhomes
    Saída:
    ID                                   Name               DB Version                             Home Location                             Status 
    ------------------------------------ -----------------  -------------------------------------  ----------------------------------------- ----------
    59d9bc6f-3880-4d4f-b5a6-c140f16f8c64 OraDB11204_home1	11.2.0.4.160719 (23054319, 23054359)   /u01/app/oracle/product/11.2.0.4/dbhome_1 Configured

    (O primeiro número de patch, 23054319 no exemplo acima, é para o componente OCW no home do banco de dados.)

  2. Localize o patch de sobreposição, se houver, usando o comando lsinventory. No exemplo a seguir, o patch número 24460960 está sobreposto na parte superior do patch da PSU 23054359.
    $ORACLE_HOME/OPatch/opatch lsinventory
    Saída:
    ...
    Installed Top-level Products (1): 
    
    Oracle Database 11g                                                  11.2.0.4.0
    There are 1 products installed in this Oracle Home.
    
    
    Interim patches (5) :
    
    Patch  24460960     : applied on Fri Sep 02 15:28:17 UTC 2016
    Unique Patch ID:  20539912
       Created on 31 Aug 2016, 02:46:31 hrs PST8PDT
       Bugs fixed:
         23513711, 23065323, 21281607, 24006821, 23315889, 22551446, 21174504
       This patch overlays patches:
         23054359
       This patch needs patches:
         23054359
       as prerequisites
  3. Inicie o SQL*Plus e execute o script catbundle.sql, por exemplo:
    startup 
    connect / as sysdba
    @$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply
    exit
  4. Aplique o sqlpatch utilizando o número de patch de sobreposição da etapa anterior, por exemplo:
    connect / as sysdba
    @$ORACLE_HOME/sqlpatch/24460960/postinstall.sql 
    exit

Observação:

Se o banco de dados de origem tiver patches únicos instalados e esses patches não fizerem parte da PSU instalada no ambiente de nuvem, as alterações de SQL correspondentes a esses patches únicos deverão ser submetidas a rollback. Para fazer rollback das alterações SQL, copie o script $ORACLE_HOME/sqlpatch/<patch#>/postdeinstall.sql do ambiente de origem para o ambiente de nuvem e execute o script postdeinstall.sql.

Lista de Verificação Pós-restauração

Depois que o banco de dados for restaurado e registrado no sistema de banco de dados, use a lista de verificação a seguir para verificar os resultados e executar qualquer personalização pós-restauração.

  1. Verifique se os arquivos do banco de dados foram restaurados no formato OMF.
  2. Certifique-se de que o banco de dados esteja listado na saída de Comandos Database.
  3. Verifique as seguintes referências externas no banco de dados e atualize-as, se necessário:
    • Tabelas externas: Se o banco de dados de origem usar tabelas externas, faça backup desses dados e migre-os para o host de destino.
    • Diretórios: Personalize os diretórios padrão, conforme necessário, para o banco de dados restaurado.
    • Links de banco de dados: Certifique-se de que todas as entradas TNS necessárias estejam atualizadas no arquivo tnsnames.ora no ORACLE_HOME.
    • E-mail e URLs: Verifique se os endereços de e-mail e URLs usados no banco de dados ainda estão acessíveis no sistema de banco de dados.
    • Jobs programados: Verifique os jobs programados no banco de dados de origem e programe jobs semelhantes, conforme necessário, no banco de dados restaurado.
  4. Se você associar uma configuração de backup ao registrar o banco de dados, execute um teste de backup usando os Comandos Backup.
  5. Se o banco de dados restaurado contiver um CDB e PDBs, verifique se os patches foram aplicados a todos os PDBs.