您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何從vCenter Server使用的數據庫中清除舊數據,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
如果您的 vCenter Server 無法啟動,請確認VPX_EVENT和VPX_TASK表是否已滿并根據需要手動清空數據庫。
vCenter Server 數據庫已滿時:
無法登錄 vCenter Server。
VMware VirtualCenter Server 服務可能會在啟動后立即停止。
Microsoft SQL 事件日志報告以下錯誤:
無法為數據庫 'VCDB' 中的對象 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' 分配空間,因為 'PRIMARY' 文件組已滿。請刪除不需要的文件、刪除文件組中的對象、將其他文件添加到文件組或為文件組中的現有文件啟用自動增長,以便增加可用磁盤空間。(Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.)
要解決此問題,請手動清除或截斷 vCenter Server 數據庫。
注意:VMware 建議您先停止 VMware VirtualCenter Server 服務并為您的數據庫創建完整、可靠的備份,再嘗試執行此過程。
注意:
如果使用的是 SQL 2005 Express,則可能需要下載并安裝 Microsoft SQL Server Management Studio Express。
SQL Express 2005/2008(vCenter Server 5.x 與 SQL Express 2008 打包在一起)支持最多 5 個主機和 50 個虛擬機。如果您的環境超出這些閾值,必須將數據庫升級到 SQL Standard 版本。
如果可用磁盤空間不足,在此過程中數據庫事務日志可能會被填滿。對于 SQL Server,如果無法提供所需的磁盤空間,一種可選方案是在此操作執行期間對數據庫采用“簡單”恢復模式。
注意:如果清除數據庫需要較長時間,請截斷事件和任務表來清理數據庫。
要清除 VPX_EVENT
表中的數據,請執行以下操作:
連接到 Servername\SQL Database
并使用相應憑據登錄。
單擊數據庫展開,然后依次選擇 VIM_VCDB >表。
注意:默認情況下,vCenter Server 數據庫的名稱為 VIM_VCDB
,除非在一開始創建時進行了重命名。
右鍵單擊 dbo.VPX_PARAMETER 表,再單擊打開。
注意:如果使用的是 SQL Server 2008,則右鍵單擊 dbo.VPX_PARAMETER 表,并單擊編輯前 200 行。
將 event.maxAge 修改為30,并將 event.maxAgeEnabled 值修改為 true。
將 task.maxAge 修改為30,并將 task.maxAgeEnabled 值修改為 true。
注意:為縮短數據清除時間,請在多個時間間隔內運行上述步驟:
確保留用 event.maxAge 的默認值 task.maxAge.
執行步驟 6 來運行清理任務。
將 event.maxAge 和 task.maxAge 值減少 60,然后運行清理任務。
重復步驟 a 到 c,直到值達到 30 并執行最終清除過程。
運行內置的存儲過程:
導航到 VIM_VCDB>可編程性>存儲過程。
右鍵單擊 dbo.cleanup_events_tasks_proc,然后選擇執行存儲過程。
這將根據為 maxAge 指定的日期從 vpx_event, vpx_event_arg 和 vpx_task 表中清除數據。
成功完成清理操作后,關閉 SQL Management Studio,然后啟動 VMware Virtual Center Server 服務。
確保默認統計級別設置為 1:
使用 vSphere Client 以管理員身份登錄 vCenter Server。
轉到管理>vCenter Server 設置>統計。
在“統計間隔”下,確保“統計級別”列設置為1。
要更改該值,可選擇間隔時間,單擊編輯,然后從列表中選擇1 級。
注意:
執行 dbo.cleanup_events_tasks_proc
可能會花費較長時間,具體視數據庫大小而定。
由于事務日志將基于要清除的數據以多個間隔來填充,因此操作可能失敗。在需要時您必須縮小 Transaction 日志,然后重新運行 dbo.cleanup_events_tasks_proc
。
要截斷事件和任務表,請運行以下腳本:
alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY
alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade,
constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID)
references VPX_EVENT (EVENT_ID) on delete cascade
使用以下 Microsoft SQL Studio 選項無助于清除 VPX_EVENT 和 VPX_TASK 表:
清除舊數據
截斷表
收縮日志和數據庫
重新創建匯總作業
關于如何從vCenter Server使用的數據庫中清除舊數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。