다음을 통해 공유


Operations Manager 2007 R2에서 업그레이드할 경우 업그레이드 후 작업

 

적용 대상: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

System Center 2012 - Operations Manager에 대한 업그레이드 프로세스를 완료한 후 몇 가지 업그레이드 후 작업을 수행해야 합니다.

업그레이드 후 작업

다음 표에서는 System Center 2012 - Operations Manager로 업그레이드한 후 완료해야 하는 작업을 보여 줍니다. 또한 작업을 수행해야 하는 시기도 나타냅니다.

작업

작업 수행 시기

알림 구독 다시 사용

업그레이드 경로에서 업그레이드 작업을 완료한 후

커넥터 서비스 다시 시작 또는 다시 사용

업그레이드 경로에서 업그레이드 작업을 완료한 후 그리고 커넥터 서비스가 설치된 경우에만

이전 RMS 제거

보조 관리 서버에서 관리 그룹을 업그레이드하는 경우에만

재정의 업데이트

관리 그룹을 업그레이드한 후

업그레이드가 제대로 완료되었는지 확인

업그레이드 경로에서 업그레이드 작업을 완료한 후

각 관리 그룹에서 SQL 쿼리 실행

각 관리 그룹에서 SQL 쿼리를 실행하여 Localizedtext 테이블 및 Publishmessage 테이블 정리

리소스 풀에 UNIX/Linux 에이전트 할당

업그레이드 경로에서 업그레이드 작업을 완료한 후

알림 구독 다시 사용

업그레이드가 완료되면 다음 절차에 따라 구독을 사용하도록 다시 설정할 수 있습니다.

구독을 사용하도록 다시 설정하려면

  1. Operations Manager 관리 그룹에 대한 System Center 2012 - Operations Manager 관리자 역할의 구성원인 계정을 사용하여 운영 콘솔을 엽니다.

  2. 운영 콘솔의 탐색 창에서 관리 단추를 클릭합니다.

    참고

    관리 서버가 아닌 컴퓨터에서 운영 콘솔을 실행하는 경우 서버에 연결 대화 상자가 표시됩니다.서버 이름 입력란에 연결할 System Center 2012 - Operations Manager 관리 서버 이름을 입력합니다.

  3. 관리 창의 알림에서 구독을 클릭합니다.

  4. 작업 창에서 나열된 각 구독에 대해 사용을 클릭합니다.

커넥터 서비스 다시 시작 또는 다시 사용

설치된 모든 커넥터에 대한 타사 설명서를 참조하여 커넥터가 System Center 2012 - Operations Manager에 대해 지원되는지 확인하십시오.

커넥터 서비스를 다시 시작하려면

  1. 작업 표시줄에서 시작, 관리 도구, 서비스를 차례로 클릭합니다.

  2. 이름 열에서 다시 시작하려는 커넥터를 마우스 오른쪽 단추로 클릭한 후 시작을 클릭합니다.

이전 RMS 제거

RMS가 System Center 2012 - Operations Manager에 대해 지원되는 구성을 충족하지 않아서 보조 관리 서버에서 System Center 2012 - Operations Manager로 업그레이드하는 경우, 업그레이드하는 중에 RMS가 관리 그룹에서 제거됩니다. 그러면 이전 RMS(루트 관리 서버)를 제거할 수 있습니다.

참고

보조 관리 서버에서 업그레이드한 경우 새 관리 서버를 가리키는 구성 설정을 변경하지 않고 이전 RMS와 동일한 Windows 컴퓨터 이름으로 새 관리 서버를 구성할 수 있습니다.

이전 RMS를 제거하려면

  1. 로컬 관리자 권한이 있는 계정을 사용하여 RMS를 호스트하는 컴퓨터에 로그온합니다.

  2. 작업 표시줄에서 시작제어판을 차례로 클릭한 후 프로그램 및 기능을 실행합니다.

  3. Operations Manager 2007 R2를 마우스 오른쪽 단추로 클릭하고 제거를 클릭합니다.

  4. 프로그램 및 기능 대화 상자에서 를 클릭하여 제거할 프로그램을 확인합니다.

재정의 업데이트

Active Directory 통합 규칙에 대해 재정의를 만든 경우 관리 그룹 업그레이드가 완료된 후 재정의를 다시 만들어야 합니다. 이전 재정의를 삭제한 후 Active Directory 할당 리소스 풀을 대상으로 하며 이전 재정의와 일치하는 새 재정의를 만듭니다.

업그레이드가 제대로 완료되었는지 확인

다음 작업을 수행하여 업그레이드가 제대로 완료되었는지 확인할 수 있습니다.

  • 상태 서비스 감시자 상태 보기에서 관리 서버 및 에이전트의 상태를 확인합니다. 운영 콘솔의 관리 작업 영역에서 관리 서버 및 에이전트의 상태가 정상인지 확인합니다.모니터링 작업 영역에서 관리 그룹 상태와 관련된 경고가 있는지 확인합니다.

  • 모든 관리 서버의 이벤트 로그에서 새로운 오류를 검토합니다.

  • 마지막에 수정된 열을 기준으로 경고를 정렬하면 새로운 경고를 확인할 수 있습니다.

  • 데이터베이스 서버에서 CPU 사용률 및 디스크 I/O를 확인하여 정상적으로 기능하는지 확인합니다.

  • 보고 기능이 설치된 경우 보고를 클릭한 후 일반 성능 보고서를 실행하여 보고가 제대로 기능하는지 확인합니다.

  • 업그레이드 프로세스 중에 제거한 에이전트를 다시 배포합니다.

각 관리 그룹에서 SQL 쿼리 실행

각 관리 그룹의 운영 데이터베이스에 대해 다음 SQL 쿼리를 실행하여 Localizedtext 테이블 및 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

리소스 풀에 UNIX/Linux 에이전트 할당

업그레이드 완료 후 리소스 풀에 UNIX/Linux 에이전트를 할당해야 항상 사용 가능한 모니터링 및 에이전트 관리를 사용할 수 있습니다. 리소스 풀을 생성하는 방법에 대한 자세한 내용은 리소스 풀을 만드는 방법을 참조하십시오.

  1. om12short 관리 그룹에 대한 Operations Manager 관리자 역할의 구성원인 계정을 사용하여 운영 콘솔을 엽니다.

  2. 운영 콘솔의 탐색 창에서 관리 단추를 클릭합니다.

  3. 관리 창의 장치 관리에서 UNIX/Linux 컴퓨터를 클릭합니다.

  4. 리소스 풀에 할당할 UNIX/Linux 컴퓨터를 선택하고 작업 창에서 리소스 풀 변경을 클릭합니다.

  5. 리소스 풀 변경 마법사를 완료하여 선택한 리소스 풀에 컴퓨터를 할당합니다.