從10.1或更高版本升級到11.1或更高版本,如何在升級前預處理SYS.AUD$中的記錄

mosdoc發表於2016-11-08
從10.1或更高版本升級到11.1或更高版本,如何在升級前預處理SYS.AUD$中的記錄 (文件 ID 1577326.1)

適用於:

Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 11.2.0.2 [發行版 10.1 到 11.2]
本文件所含資訊適用於所有平臺

用途

當系統中的審計功能被啟用時,審計記錄的數量將對升級效能產生負面的影響。

解決這個問題有2個傳統的方法:
1: 允許升級程式使用足夠的時間來處理這些記錄(可能需要花費幾個小時,取決於記錄的數量)
2: 在升級前Truncate審計表。這個選擇會導致歷史安全資料的丟失。
     儘管這從不是一個推薦的方案,但是由於停機視窗時間的限制,有時必須這樣處理。 
      在考慮這個方案前,使用者需要與其安全管理員稽核,如果採用,使用者需要自擔風險。

現在一個新的方法和指令碼允許使用者預處理這些審計記錄。這篇文件為使用者提供了預處理審計記錄的方法和指令碼,減少了升級過程中這個步驟所需要的時間。

適用範圍

這個方法對於從10.1或更高版本升級到11.1或更高版本的資料庫有效(包括標準版和專業版)。

當下面任一個表的審計記錄條數龐大(超過250,000),這個指令碼就需要被考慮:
sys.aud$             <system.aud$       <                                ="" 已安裝database="" vault="" (dv)="" sys.fga_log$       <
這個方法不適用於升級前為9.2的資料庫。
在9.2中為了避免deadlock的產生,在做預處理時例項狀態必須是upgrade / restricted,這與預處理的目的背道而馳。

這個方法不適用於實際升級過程中產生的與審計記錄相關的問題。

詳細資訊

步驟:
1: 檢視審計表中的行數
    標準審計
               SELECT count(*) FROM sys.aud$ WHERE dbid is null;
    標準審計,只有當Oracle Label Security (OLS) 和/或 Database Vault (DV)被安裝時
               SELECT count(*) FROM system.aud$ WHERE dbid is null;
    Fine Grained Auditing
               SELECT count(*) FROM sys.fga_log$ WHERE dbid is null;

2: 如果審計記錄條數龐大(例如:超過250,000),考慮預處理審計記錄。

透過預處理,那些在升級過程中需要做的改變可以在升級前完成,同時保證例項為正常執行狀態。根據需要處理的記錄數量和新生成的審計記錄數量,指令碼需要一段比較長的時間來完成,而且可能需要在升級前被執行多次。

通常我們推薦在升級前的一週內執行此指令碼,之後觀察審計記錄條數的變化。

如果執行這個指令碼帶來了效能的問題,它可以在執行的過程中使用ctrl-c來停止,並在另一個空閒時間重新開始。

我們推薦在做預處理審計記錄前,檢查資料庫sys / system是否有無效物件,並使用utlrp.sql指令碼來解決。如果utlrp指令碼無法使物件有效,您可以建立SR尋求Oracle Support的幫助。

下面文件中包含有用的指令碼,可以在升級前檢查資料庫:
NOTE:556610.1 - Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
NOTE:884522.1 - How to Download and Run Oracle's Database Pre-Upgrade Utility

或者

如果你不能預處理SYS.AUD$, 那麼可以採取下面的步驟

繞過的方法:

1) 匯出SYS.AUD$表

2) Truncate SYS.AUD$ 表

3) 升級資料庫

4) 在資料庫升級完成後,再匯入SYS.AUD$表

 關於更具體的步驟,請參考文件 Note 73408.1 :  How to Truncate, Delete, or Purge Rows from the Audit Trail Table AUD$  


以下的文件被重定向到本文

Database Upgrade Appears To Have Halted At SYS.AUD$ Table (Doc ID 979942.1)
10.2 Upgrade to 11.2 Hangs While Running Catupgrd.sql (Doc ID 1329606.1)

參考

NOTE:884522.1 - How to Download and Run Oracle's Database Pre-Upgrade Utility
NOTE:556610.1 - Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
NOTE:166301.1 - How to Reorganize SYS.AUD$ Table
NOTE:73408.1 - How to Truncate, Delete, or Purge Rows from the Audit Trail Table AUD$

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31393455/viewspace-2127966/,如需轉載,請註明出處,否則將追究法律責任。

相關文章