Tarefas de Pós-atualização ao Atualizar a partir do Operations Manager 2007 R2
Publicado: março de 2016
Aplica-se a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
Após concluir o processo de atualização para o System Center 2012 – Operations Manager, é necessário executar várias tarefas de pós-atualização.
Tarefas de Pós-atualização
A tabela seguinte mostra as tarefas que é necessário concluir após a atualização para o System Center 2012 – Operations Manager. Também indica quando se deve executar a tarefa.
Tarefa |
Quando Executar a Tarefa |
---|---|
Reative as Subscrições de Notificação. |
Após concluir as tarefas de atualização em qualquer caminho de atualização. |
Reiniciar ou Reativar os Serviços de Conector |
Após 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 atualizar o grupo de gestão no servidor de gestão secundária. |
Substituições de Atualização |
Após atualizar o grupo de gestão |
Verifique se a Atualização foi Concluída com Êxito |
Após concluir as tarefas de atualização em qualquer caminho de atualização. |
Executar Consulta SQL em cada Grupo de Gestão |
Execute a seguinte consulta SQL em cada grupo de gestão para limpar a tabela Localizedtext e a tabela Publishmessage. |
Atribuir Agentes UNIX/Linux a um Conjunto de Recursos |
Após concluir as tarefas de atualização em qualquer caminho de atualização. |
Reative as Subscrições de Notificação.
Após concluir a atualização, utilize o procedimento seguinte para reativar as subscrições.
Reativar as subscrições
-
Abra a Consola de operações, utilizando uma conta que seja um membro da função Administradores do Operations Manager para o grupo de gestão do System Center 2012 – Operations Manager.
-
Na consola de operações, no painel de navegação, clique no botão Administração.
Nota
Ao executar a Consola de operações num computador que não seja um servidor de gestão, é apresentada a caixa de diálogo Ligar ao Servidor. Na caixa de texto Nome do servidor, escreva o nome do servidor de gestão do System Center 2012 – Operations Manager ao qual pretende ligar-se.
-
No painel Administração, em Notificações, clique em Subscrições.
-
No painel Ações, clique em Ativar para cada subscrição listada.
Reiniciar ou Reativar os Serviços de Conector
Consulte a documentação de terceiros sobre quaisquer conectores instalados para determinar se os conectores são suportados para o System Center 2012 – Operations Manager.
Reiniciar um serviço de conector
-
Na barra de tarefas, clique em Iniciar, clique em Ferramentas Administrativas e, em seguida, clique em Serviços.
-
Na coluna Nome, clique com o botão direito do rato no conector que pretende reiniciar e, em seguida, clique em Iniciar.
Desinstalar o RMS Antigo
Se a atualização para o System Center 2012 – Operations Manager tiver sido executada a partir do servidor de gestão secundário porque o RMS não cumpria as configurações suportadas para o System Center 2012 – Operations Manager, o RMS é removido do grupo de gestão durante a atualização. Em seguida, pode desinstalar o antigo servidor de gestão de raiz (RMS).
Nota
Se atualizar a partir do servidor de gestão secundário, pode compilar um novo servidor de gestão com o mesmo nome de computador Windows que o RMS antigo, em vez de alterar as definições de configuração para apontar para o novo servidor de gestão.
Desinstalar o RMS antigo
-
Inicie sessão no computador que aloja o RMS com uma conta com permissões de administrador local.
-
Na barra de tarefas, clique em Iniciar, em seguida clique em Painel de Controlo e, por fim, execute Programas e Funcionalidades.
-
Clique com o botão direito do rato em Operations Manager 2007 R2 e, em seguida, clique em Desinstalar.
-
Na caixa de diálogo Programas e Funcionalidades, clique em Sim para confirmar que pretende desinstalar.
Substituições de Atualização
Se tiver criado quaisquer substituições para as regras de Integração do Active Directory, é necessário recriá-las após concluir a atualização do grupo de gestão. Elimine a substituição antiga e, em seguida, crie uma nova substituição correspondente que tenha como destino os Conjuntos de Recursos de Atribuição do Active Directory.
Verifique se a Atualização foi Concluída com Êxito
Execute as tarefas seguintes para verificar se a atualização foi concluída com êxito.
Verifique o estado de funcionamento dos servidores de gestão e agentes na vista de estado do Observador do Serviço de Estado de Funcionamento. Na área de trabalho Administração da consola de operações, certifique-se de que os servidores de gestão e agentes estão em bom estado de funcionamento. Na área de trabalho Monitorização, verifique se existem quaisquer alertas relacionados com o estado de funcionamento do grupo de gestão.
Reveja os registos de eventos de todos os servidores de gestão para verificar se existem novos erros.
Ordene os alertas pela coluna de última modificação para rever os alertas novos.
Verifique a utilização da CPU e de E/S do disco nos servidores de base de dados para garantir que estão a funcionar normalmente.
Se a funcionalidade Relatórios estiver instalada, clique em Relatórios e, em seguida, execute um relatório de desempenho genérico para garantir que os Relatórios estão a funcionar corretamente.
Reimplemente quaisquer agentes que tenha desinstalado durante o processo de atualização.
Executar Consulta SQL em cada Grupo de Gestão
Execute a seguinte consulta SQL na base de dados operacional em cada grupo de gestão 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 Conjunto de Recursos
Após concluir a atualização, os agentes UNIX/Linux têm de ser atribuídos a um conjunto de recursos para ativar a monitorização de elevada disponibilidade e a administração de agentes. Para obter mais informações sobre como criar conjuntos de recursos, consulte How to Create a Resource Pool (Como Criar Agrupamentos de Recursos).
-
Abra a Consola de operações, utilizando uma conta que seja um membro da função Administradores do Operations Manager para o grupo de gestão do om12short.
-
Na consola de operações, no painel de navegação, clique no botão Administração.
-
No painel Administração, em Gestão de Dispositivos, clique em Computadores UNIX/Linux.
-
Selecione os computadores UNIX/Linux para atribuir a um conjunto de recursos e, no painel Ações, clique em Alterar Conjunto de Recursos.
-
Conclua o assistente Alterar Conjunto de Recursos para atribuir os computadores ao conjunto de recursos selecionado.