從10.1或更高版本升級到11.1或更高版本,如何在升級前預處理SYS.AUD$中的記錄
適用於:
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 UtilityNOTE: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- openssl版本升級操作記錄
- CentOS 6下gcc升級的操作記錄(由預設的4.4.7升級到6.4.0版本)CentOSGC
- PHP版本升級:從php7.1升級到php7.2PHP
- 【MSSQL】MSSQL 從Express版本升級到Enterprise版本SQLExpress
- centos下升級git版本的操作記錄CentOSGit
- 從CentOS 7.0升級到7.7版本CentOS
- MySQL升級從5.1.71到5.7.17版本MySql
- oracle版本升級:從11.2.0.1到11.2.0.3Oracle
- Firebird從2.1版本升級到2.5版本
- Mac 升級 PHP 到 7.4 版本MacPHP
- Cocospod 升級到指定版本
- 不再支援源選項 5。請使用 6 或更高版本。|| 不再支援目標選項 1.5。請使用 1.6 或更高版本。
- 如何將 Ubuntu 版本升級到新版本Ubuntu
- node 版本升級
- gcc版本升級GC
- NiFi版本升級Nifi
- 方正銳利重磅升級到12.0版本,包裝印前處理更加便捷、高效!
- Redis的跨版本升級Redis
- 如何升級fedora的版本
- 升級mac的PHP版本MacPHP
- python版本升級Python
- Win10怎麼升級版本 Win10升級版本的方法Win10
- CentOS 6升級預設python版本CentOSPython
- 升級到資料庫到10.2.0.5.0版本資料庫
- 寶塔皮膚版本升級實戰教程—升級寶塔皮膚到最新版本
- Centos7 升級openssh到最高版本CentOS
- 應用升級SpringCloud版本時的注意事項(Dalston升級到Edgware)SpringGCCloud
- goctl的1.2.3版本使用goctl migrate無法升級到1.3.0版本記錄Go
- 如何升級電腦windows版本 windows系統版本升級方法介紹Windows
- PHP study 升級預設的MYSQL版本 為5.7PHPMySql
- YourSQLDba版本升級總結SQL
- GitLab跨版本升級Gitlab
- Homestead 升級PHP版本PHP
- Mac brew 升級 PHP版本MacPHP
- centos 7 版本升級nginxCentOSNginx
- cassandra升級版本選擇
- nginx 版本升級 轉載Nginx
- 記一次版本升級遇到的坑