Vor dem Aktualisieren einer vCenter Server Appliance oder dem Migrieren eines vCenter Server unter Windows, die bzw. der eine externe Oracle-Database verwendet, müssen Sie die Größe der bestehenden Datenbank festlegen. Sie können die Mindestspeichergröße für die neue Appliance entsprechend der Größe der bestehenden Datenbank berechnen, damit die eingebettete PostgreSQL-Datenbank die Daten aus der alten Datenbank nach dem Upgrade erfolgreich und mit ausreichend freiem Speicherplatz übernehmen kann.

Warum und wann dieser Vorgang ausgeführt wird

Zur Ermittlung der Größe der Oracle-Kerntabelle, der Ereignis- und Aufgabentabellen und der Statistiktabellen können Sie Skripts ausführen. Die Oracle-Kerntabelle entspricht der Datenbankpartition (/storage/db) der PostgreSQL-Datenbank. Die Oracle-Ereignis- und Aufgabentabellen und die Statistiktabellen entsprechen der Partition für Statistik, Ereignisse, Alarme und Aufgaben (/storage/seat) der PostgreSQL-Datenbank.

Während des Upgrades der Appliance müssen Sie eine Speichergröße für die neue Appliance auswählen; diese muss mindestens doppelt so groß sein wie die Größe der Oracle-Tabellen.

Während des Upgrades der Appliance können Sie die an die neue Appliance zu übertragenden Datentypen auswählen. Um die Dauer des Upgrades und die Speicherbelegung für die neue Appliance zu minimieren, können Sie auch nur die Konfigurationsdaten übertragen.

Voraussetzungen

Sie müssen über die Anmeldedaten für die vCenter Server-Datenbank verfügen.

Prozedur

  1. Melden Sie sich mit dem vCenter Server-Datenbankbenutzer bei einer SQL*Plus-Sitzung an.
  2. Ermitteln Sie die Größe der Kerntabelle, indem Sie den folgenden Befehl ausführen:
    SELECT ROUND(SUM(s.bytes)/(1024*1024)) SIZE_MB
      FROM   user_segments s
      WHERE  (s.segment_name,s.segment_type)
                    IN (SELECT seg_name, seg_type FROM
                             (SELECT t.table_name seg_name, t.table_name tname,
                               'TABLE' seg_type
                               FROM   user_tables t
                              UNION
                              SELECT i.index_name, i.table_name,
                              'INDEX'
                               FROM   user_indexes i
                             ) ti
                        WHERE  (ti.tname LIKE 'VPX_%'
                                OR ti.tname LIKE 'CL_%'
                                OR ti.tname LIKE 'VDC_%')
                            AND ti.tname NOT LIKE 'VPX_SAMPLE_TIME%'
                            AND ti.tname NOT LIKE 'VPX_HIST_STAT%'
                            AND ti.tname NOT LIKE 'VPX_TOPN%'
                            AND ti.tname NOT LIKE 'VPX_SDRS_STATS_VM%'
                            AND ti.tname NOT LIKE 'VPX_SDRS_STATS_DATASTORE%'
                            AND ti.tname NOT LIKE 'VPX_TASK%'
                            AND ti.tname NOT LIKE 'VPX_EVENT%'
                            AND ti.tname NOT LIKE 'VPX_PROPERTY_BULLETIN%');

    Das Skript gibt die Speichergröße der Datenbank in MB zurück.

  3. Ermitteln Sie die Größe der Ereignis- und Aufgabentabelle, indem Sie den folgenden Befehl ausführen:
    SELECT ROUND(SUM(s.bytes)/(1024*1024)) SIZE_MB
    FROM   user_segments s
    WHERE  (s.segment_name,s.segment_type)
                 IN (SELECT seg_name, seg_type FROM
                          (SELECT t.table_name seg_name, t.table_name tname,
                            'TABLE' seg_type
                            FROM   user_tables t
                           UNION
                           SELECT i.index_name, i.table_name,
                           'INDEX'
                            FROM   user_indexes i
                          ) ti
                     WHERE
                        ti.tname LIKE 'VPX_TASK%'
                     OR ti.tname LIKE 'VPX_EVENT%');

    Das Skript gibt die Speichergröße der Ereignisse und Aufgaben in MB zurück.

  4. Ermitteln Sie die Größe der Statistiktabelle, indem Sie den folgenden Befehl ausführen:
    SELECT ROUND(SUM(s.bytes)/(1024*1024)) SIZE_MB
    FROM   user_segments s
    WHERE  (s.segment_name,s.segment_type)
                 IN (SELECT seg_name, seg_type FROM
                          (SELECT t.table_name seg_name, t.table_name tname,
                            'TABLE' seg_type
                            FROM   user_tables t
                           UNION
                           SELECT i.index_name, i.table_name,
                           'INDEX'
                            FROM   user_indexes i
                          ) ti
                     WHERE
                        ti.tname LIKE 'VPX_SAMPLE_TIME%'
                     OR ti.tname LIKE 'VPX_TOPN%'
                     OR ti.tname LIKE 'VPX_TASK%'
                     OR ti.tname LIKE 'VPX_EVENT%'
                     OR ti.tname LIKE 'VPX_HIST_STAT%');

    Das Skript gibt die Speichergröße der Statistik in MB zurück.

  5. Berechnen Sie die Mindestspeichergröße für die neue Appliance, die Sie während des Upgrade bereitstellen werden.
    1. Die Größe der Datenbankpartition (/storage/db) der eingebetteten PostgreSQL-Datenbank muss mindestens doppelt so groß wie die der in 2 zurückgegebenen Oracle-Kerntabelle sein.
    2. Die Größe der Partition für Statistik, Ereignisse, Alarme und Aufgaben (/storage/seat) der eingebetteten PostgreSQL-Datenbank muss mindestens doppelt so groß sein wie die Summe der Größen der in 3 und 4 zurückgegebenen Oracle-Ereignis- und Aufgabentabellen und Statistiktabellen.

    Wenn die Oracle-Kerntabelle beispielsweise eine Größe von 100 MB, die Ereignis- und Aufgabentabelle eine Größe von 1.000 MB und die Statistiktabelle eine Größe von 2.000 MB hat, muss die Postgres-Partition /storage/db eine Mindestgröße von 200 MB und die Partition /storage/seat eine Mindestgröße von 6.000 MB aufweisen.