Compartilhar via


Tarefas pós-atualização ao atualizar do Operations Manager 2007 R2

 

Aplica-se a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Depois de concluir o processo de atualização para o System Center 2012 – Operations Manager, você deve executar diversas tarefas de pós-atualização.

Tarefas pós-atualização

A tabela a seguir mostra as tarefas que você precisa concluir depois de atualizar para System Center 2012 – Operations Manager. Ela também indica quando executar a tarefa.

Tarefa

Quando executar a tarefa

Habilitar novamente as assinaturas de notificação.

Depois de concluir as tarefas de atualização em qualquer caminho de atualização.

Reiniciar ou reabilitar os serviços de conector

Depois de concluir as tarefas de atualização em qualquer caminho de atualização, e apenas se os serviços de conector estiverem instalados.

Desinstalar o RMS antigo

Apenas se você atualizar o grupo de gerenciamento no servidor de gerenciamento secundário.

Atualizar substituições

Depois de atualizar o grupo de gerenciamento

Verificar se a atualização foi bem-sucedida

Depois de concluir as tarefas de atualização em qualquer caminho de atualização.

Executar consulta SQL em cada grupo de gerenciamento

Execute a consulta SQL em cada grupo de gerenciamento para limpar a tabela Localizedtext e a tabela Publishmessage.

Atribuir agentes UNIX/Linux a um pool de recursos

Depois de concluir as tarefas de atualização em qualquer caminho de atualização.

Habilitar novamente as assinaturas de notificação.

Depois que a atualização for concluída, use o procedimento a seguir para reativar as inscrições.

Para reativar as inscrições

  1. Abra o console de Operações usando uma conta que seja membro da função Administradores do Operations Manager para o grupo de gerenciamento do System Center 2012 – Operations Manager.

  2. No Console de Operações, no painel de navegação, clique no botão Administração.

    System_CAPS_noteObservação

    Quando você executar o Console de Operações em um computador que não for um servidor de gerenciamento, a caixa de diálogo Conectar ao Servidor aparecerá. Na caixa de texto Nome do servidor, digite o nome do servidor de gerenciamento do System Center 2012 – Operations Manager ao qual você deseja se conectar.

  3. No painel,Administração, em Notificações, clique em Assinaturas.

  4. No painel Ações, clique em Habilitar para cada inscrição listada.

Reiniciar ou reabilitar os serviços de conector

Consulte a documentação de terceiros para quaisquer conectores instalados para determinar se os conectores tem suporte para System Center 2012 – Operations Manager.

Para reiniciar o serviço do conector

  1. Na barra de tarefas, clique em Iniciar, Ferramentas Administrativas e Serviços.

  2. Na coluna Nome, clique com o botão direito do mouse no conector que você deseja reiniciar, e clique em Iniciar.

Desinstalar o RMS antigo

Se você atualizou para System Center 2012 – Operations Manager do servidor de gerenciamento secundário porque o RMS não atendeu as configurações com suporte para System Center 2012 – Operations Manager, o RMS será removido do grupo de gerenciamento durante a atualização. Em seguida, você pode desinstalar o antigo servidor de gerenciamento raiz (RMS).

System_CAPS_noteObservação

Se você atualizou do servidor de gerenciamento secundário, será possível criar um novo servidor de gerenciamento com o mesmo nome do computador do Windows como o RMS antigo, ao invés de alterar os parâmetros de configuração para apontarem para o novo servidor de gerenciamento.

Para desinstalar o RMS antigo

  1. Faça logon no computador que hospeda o RMS com uma conta que tenha permissões de administrador local.

  2. Na barra de tarefas, clique em Iniciar, depois clique em Painel de controle e execute Programas e Recursos.

  3. Clique com o botão direito do mouse em Operations Manager 2007 R2 e depois clique em Desinstalar.

  4. Na caixa de diálogo Programas e Recursos, clique em Sim para confirmar que você deseja desinstalar.

Atualizar substituições

Se você criou substituições para as regras de Integração com o Active Directory, você deve recriá-las após a atualização do grupo de gerenciamento ser concluída. Exclua a substituição antiga e depois crie uma nova, correspondendo à substituição que almeja os Pools de Atribuição de Recursos do Active Directory.

Verificar se a atualização foi bem-sucedida

Execute as tarefas a seguir para verificar se a atualização foi bem-sucedida.

  • Verifique o estado de integridade dos servidores de gerenciamento e agentes na exibição de estado do Inspetor do Serviço de Integridade. No espaço de trabalho Administração do console de Operações, verifique se os servidores de gerenciamento e agentes estão íntegros. No espaço de trabalho Monitoramento, verifique se há algum alerta relacionado à integridade do grupo de gerenciamento.

  • Revise os logs de eventos de todos os servidores de gerenciamento para ver novos erros.

  • Classifique os alertas pela coluna modificada por último para revisar os novos alertas.

  • Verifique a utilização da CPU e E/S de disco nos servidores do banco de dados para assegurar que eles estejam funcionando normalmente.

  • Se o recurso Relatórios estiver instalado, clique em Relatórios e depois execute um relatório de desempenho genérico para verificar se Relatórios está funcionando corretamente.

  • Implante novamente os agentes que você desinstalou durante o processo de atualização.

Executar consulta SQL em cada grupo de gerenciamento

Execute a consulta SQL a seguir no banco de dados operacional em cada grupo de gerenciamento para limpar a tabela Localizedtext e a tabela Publishmessage.

-- Create a temporary table to quickly find a PublisherId when you know the MessageId.
BEGIN TRY
CREATE TABLE #PublisherMessageReverseIndex(MessageStringId UNIQUEIDENTIFIER, 
   MessageId INT)
CREATE CLUSTERED INDEX #PublisherMessageReverseIndex_CI ON #PublisherMessageReverseIndex(MessageStringId)
INSERT INTO #PublisherMessageReverseIndex (MessageStringId, MessageId)
SELECT MessageStringId, MessageId
FROM dbo.PublisherMessages

-- Create a temporary table of message lengths, message IDs, and message hashes with the
-- MessageStringId to quickly determine whether a message is duplicated. Index the table. 

CREATE TABLE #LTHashStrings (MessageStringId UNIQUEIDENTIFIER, 
 LTValueLen INT, 
 LTValueHash VARBINARY(32),
 MessageId INT NULL)
CREATE CLUSTERED INDEX #LTHashStrings_CI ON #LTHashStrings(MessageStringId)
CREATE NONCLUSTERED INDEX #LTHashStrings_NCI1 ON #LTHashStrings(LTValueLen, MessageId, LTValueHash)

-- Create a temporary table for the orphaned PublisherStrings that you find. Orphaned PublisherStrings 
-- are rows in PublisherMessages whose corresponding events have already been groomed. They still
-- have corresponding rows in LocalizedText.  Do not add rows for PublisherMessages; they are not
-- for duplicated messages.

CREATE TABLE #OrphanedPublisherStrings (PublisherId UNIQUEIDENTIFIER, 
MessageStringId UNIQUEIDENTIFIER)
CREATE CLUSTERED INDEX #OrphanedPublisherStrings_CI ON #OrphanedPublisherStrings(MessageStringId)

-- Create a temporary table so that you can determine whether a PublisherMessages row still
-- has a corresponding event. These events do not have an index on the PublisherId, so do 
-- not query the EventAllView. If a PublisherId occurs multiple times in the event tables,
-- it is only needed one time in the temp table; therefore, the unique clustered index
-- must contain IGNORE_DUP_KEY. This keeps the temporary table relatively small and saves
-- time when you want to see the orphaned PublisherMessages.

CREATE TABLE #EventAllPublishers (PublisherId UNIQUEIDENTIFIER)
CREATE UNIQUE CLUSTERED INDEX #EventAllPublishers_CI ON #EventAllPublishers (PublisherId)
WITH (IGNORE_DUP_KEY = ON)

-- Populate the temporary table by scanning EventAllView one time.
INSERT INTO #EventAllPublishers(PublisherId) 
SELECT PublisherId 
FROM EventAllView

-- Populate the first temporary table to determine which messages are duplicated.
INSERT INTO #LTHashStrings (MessageStringId, LTValueLen, LTValueHash, MessageId)
SELECT LTStringId, len(LTValue), HashBytes('SHA1', LTValue), MessageId
FROM dbo.LocalizedText LT 
JOIN #PublisherMessageReverseIndex PM ON PM.MessageStringId = LTStringId

-- Create the second table to determine which messages are duplicated.  
CREATE TABLE #LTCountByMessage( LTValueLen INT, 
MessageId INT, 
LTValueHash VARBINARY(32), 
MsgCount INT)
CREATE CLUSTERED INDEX #LTCountByMessage_CI ON #LTCountByMessage(LTValueLen, MessageId, LTValueHash)

-- Populate second message for duplicate message detection by scanning the INDEX of
-- the first one and by doing a grouped count.
INSERT INTO #LTCountByMessage (LTValueLen, MessageId, LTValueHash, MsgCount)
SELECT LTValueLen, MessageId, LTValueHash, COUNT(1) 
FROM #LTHashStrings
GROUP BY LTValueLen, MessageId, LTValueHash

-- You are now set up to detect both orphaned PublisherStrings and duplicated messages
-- by joining to our relatively small (and correctly indexed) temporary tables.
-- Determine the OrphanedPublisherStrings that have duplicate messages.
INSERT INTO #OrphanedPublisherStrings (PublisherId, MessageStringId)
SELECT PM.PublisherId, PM.MessageStringId 
FROM dbo.PublisherMessages PM 
JOIN #LTHashStrings LTS ON (LTS.MessageStringId = PM.MessageStringId AND LTS.MessageId = PM.MessageId)
JOIN #LTCountByMessage LTC ON (LTC.LTValueLen = LTS.LTValueLen AND
LTC.MessageId = LTS.MessageId AND LTC.LTValueHash = LTS.LTValueHash)
WHERE PM.PublisherId NOT IN (SELECT PublisherId FROM #EventAllPublishers) AND
LTC.MsgCount > 1

-- Deleting all the OrphanedPublisherStrings and all the corresponding LocalizedText rows
-- at one time may be too large for the transaction log to handle.  Create a numbered
-- or ordered table so that you can delete them in relatively small batches and not
-- overtax the transaction log.
CREATE TABLE #NumberOrphanPublisherStrings(OrphanNum INT IDENTITY,
   PublisherId UNIQUEIDENTIFIER, 
   MessageStringId UNIQUEIDENTIFIER)
CREATE CLUSTERED INDEX #NumberOrphanPublisherStrings_CI on #NumberOrphanPublisherStrings(OrphanNum)

-- Populate the numbered table.
INSERT INTO #NumberOrphanPublisherStrings (PublisherId, MessageStringId)
SELECT PublisherId, MessageStringId FROM #OrphanedPublisherStrings
END TRY
BEGIN CATCH
GOTO Error
END CATCH

-- Set up variables so that you can delete the orphaned rows.
-- If the transaction log fills up, try to reduce the @OrphanIncrement value,
-- which controls the number of rows that are delete at the same time.
DECLARE @OrphanNum INT
DECLARE @OrphanIncrement INT
DECLARE @OrphanLimit INT
SET @OrphanNum = 0
SET @OrphanIncrement = 10000
SELECT @OrphanLimit = MAX(OrphanNum) FROM #NumberOrphanPublisherStrings
BEGIN TRY
WHILE @OrphanNum < @OrphanLimit
BEGIN
DELETE dbo.LocalizedText FROM
#NumberOrphanPublisherStrings OPS JOIN dbo.LocalizedText LT
ON LT.LTStringId = OPS.MessageStringId
WHERE OPS.OrphanNum >= @OrphanNum AND OPS.OrphanNum < @OrphanNum + @OrphanIncrement
DELETE dbo.PublisherMessages FROM
#NumberOrphanPublisherStrings OPS JOIN dbo.PublisherMessages PM
ON PM.PublisherId = OPS.PublisherId
WHERE OPS.OrphanNum >= @OrphanNum AND OPS.OrphanNum < @OrphanNum + @OrphanIncrement
SET @OrphanNum = @OrphanNum + @OrphanIncrement
END
END TRY
BEGIN CATCH
GOTO Error
END CATCH

Error:
IF @@ERROR <> 0
   SELECT 
        ERROR_NUMBER() AS ErrorNumber,
        ERROR_MESSAGE() AS ErrorMessage;

-- Try to drop all the temporary tables
BEGIN TRY
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#PublisherMessage%')
DROP TABLE #PublisherMessageReverseIndex
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#OrphanedPublisherStrings%')
DROP TABLE #OrphanedPublisherStrings
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#LTHashStrings%')
DROP TABLE #LTHashStrings
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#EventAllPublishers%')
DROP TABLE #EventAllPublishers
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#LTCountByMessage%')
DROP TABLE #LTCountByMessage
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#NumberOrphanPublisherStrings%')
DROP TABLE #NumberOrphanPublisherStrings
END TRY
BEGIN CATCH
   SELECT 
        ERROR_NUMBER() AS ErrorNumber,
        ERROR_MESSAGE() AS ErrorMessage;
END CATCH

Atribuir agentes UNIX/Linux a um pool de recursos

Após concluir a atualização, os agentes UNIX/Linux devem ser atribuídos a um pool de recursos para ativar a monitoração altamente disponível e a administração do agente. Para obter mais informações sobre como criar pools de recursos, consulte Como criar um Pool de Recursos.

  1. Abra o Console de Operações usando uma conta que seja membro da função Administradores do Operations Manager para o grupo de gerenciamento do om12short.

  2. No Console de Operações, no painel de navegação, clique no botão Administração.

  3. No painel Administração, em Gerenciamento de Dispositivos, clique em Computadores UNIX/Linux.

  4. Selecione os computadores UNIX/Linux para atribuir um pool de recursos e no painel Ações, clique em Alterar Pool de Recursos.

  5. Conclua o assistente de Alterar Pool de Recursos para atribuir computadores ao pool de recursos selecionado.