oracle bug
2014-08-27
一:問題
每次在 用RMAN備份(正常完成)後,一段時間後都會在警告日誌檔案裡報errors;
環境:Linux X86平臺,Oracle 10.2.0.1.0;
[ oracle@p2ptestbdump]$ vim alert_zxp2p.log
Tue Aug 12 08:44:19 2014
Errors in file/opt/ora10/product/admin/fenbay/udump/fenbay_ora_5748.trc:
Tue Aug 12 08:44:19 2014
Errors in file/opt/ora10/product/admin/fenbay/udump/fenbay_ora_5748.trc:
Tue Aug 12 08:44:19 2014
Errors in file/opt/ora10/product/admin/fenbay/udump/fenbay_ora_5748.trc:
Tue Aug 12 08:52:00 2014
原因:
在metalink上找到答案,
CAUSE DETERMINATION
====================
This issue is caused by Bug 4596065, RMAN backup generates empty trace files when DB_RECOVERY_FILE_DEST is set.
CAUSE JUSTIFICATION
====================
The following justifies how the issue is related to this specific customer:
1. For this customer, during RMAN backup, empty trace files are generated.
2. This customer has set DB_RECOVERY_FILE_DEST.
This is explained in the following bug:
Bug 4596065: RMAN backup generates empty trace files when DB_RECOVERY_FILE_DEST is set
PROPOSED SOLUTION(S)
======================
1. Upgrade to 10.2.0.4.
~Or~
2. Ignore the message.
PROPOSED SOLUTION JUSTIFICATION(S)
====================================
These solutions are provided by Metalink Note:
Note.4596065.8 Bug 4596065 - RMAN backup generates empty trace files when DB_RECOVERY_FILE_DEST is set
This Bug is fixed on 10.2.0.2.
These messages can be ignored because it is harmless.
此問題是10.2.0.2的一個bug,可以忽略;
二 問題
每次在 用 RMAN 備份後,檢查備份有效性時都會出現“對歸檔日誌的驗證失敗”
環境:
Linux X86平臺,Oracle 10.2.0.1.0;
RMAN> crosscheck archivelog all;
釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=121 devtype=DISK
對歸檔日誌的驗證失敗
存檔日誌檔名 =/opt/ora10/product/arclog/1_3267_705498913.dbf 記錄 ID=1192 時間戳=855486040
原因: RMAN CROSSCHECK 命令小 bug
看下面的例子:
E:>SET ORACLE_HOME=E:ORACLEORACLE920
E:>%ORACLE_HOME%binrman target /@ytk92
恢復管理器: 版本9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
連線到目標資料庫: YTK92 (DBID=1285986946)
RMAN> crosscheck archivelog all;
正在使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=16 devtype=DISK
對歸檔日誌的驗證成功
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_9.DBF 記錄 ID=1 時間戳 =630202142對歸檔日誌的驗證成功
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_10.DBF 記錄 ID=2 時間戳 =631117292對歸檔日誌的驗證成功
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_11.DBF 記錄 ID=3 時間戳 =631459376對歸檔日誌的驗證成功
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_12.DBF 記錄 ID=4 時間戳 =634003780
對歸檔日誌的驗證成功
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_13.DBF 記錄 ID=5 時間戳 =635334356
對歸檔日誌的驗證失敗存
檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_14.DBF 記錄 ID=6 時間戳 =636374339對歸檔日誌的驗證失敗
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_15.DBF 記錄 ID=7 時間戳 =636636080
對歸檔日誌的驗證失敗
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_16.DBF 記錄 ID=8 時間戳 =637149058
對歸檔日誌的驗證失敗
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_17.DBF 記錄 ID=9 時間戳 =638414429
對歸檔日誌的驗證失敗
存檔日誌檔名 =E:ORACLEORADATAYTK92ARCHIVE1_18.DBF 記錄 ID=10 時間戳 =640227158已交叉檢驗的 10 物件
RMAN> exit
恢復管理器完成。
E:>SET NLS_LANG=AMERICAN
E:>%ORACLE_HOME%binrman target /@ytk92
Recovery Manager: Release 9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: YTK92 (DBID=1285986946)
RMAN> crosscheck archivelog all;
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=15 devtype=DISK
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_9.DBF recid=1 stamp=630202142
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_10.DBF recid=2 stamp=631117292
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_11.DBF recid=3 stamp=631459376
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_12.DBF recid=4 stamp=634003780
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_13.DBF recid=5 stamp=635334356
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_14.DBF recid=6 stamp=636374339
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_15.DBF recid=7 stamp=636636080
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_16.DBF recid=8 stamp=637149058
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_17.DBF recid=9 stamp=638414429
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_18.DBF recid=10 stamp=640227158
Crosschecked 10 objects
很明顯中文翻譯和英文的原文是反著的。英文的failed被翻譯為成功,英文的succeeded被翻譯為失敗。
檢查實際情況:
E:>DIR E:ORACLEORADATAYTK92ARCHIVE
驅動器 E 中的卷沒有標籤。
卷的序列號是 9037-19E7
E:ORACLEORADATAYTK92ARCHIVE 的目錄
2007-12-02 00:52 .
2007-12-02 00:52 ..
2007-10-19 10:38 49,586,176 1_14.DBF
2007-10-22 11:21 104,857,088 1_15.DBF
2007-10-28 09:50 104,857,088 1_16.DBF
2007-11-12 01:20 64,443,392 1_17.DBF
2007-12-02 00:52 7,100,928 1_18.DBF
5 個檔案 330,844,672 位元組
2 個目錄 10,308,681,728 可用位元組
看來英文原文並沒有錯誤,是翻譯為中文的時候出的問題。這個問題說小就小,幾乎可以忽略;說大也大,如果被這個提示誤導,手工把存在的歸檔日誌當作丟失的刪除掉,那麼問題就比較嚴重了。總之,這個問題是個很低階的錯誤。
在 10g 中問題仍然存在, Oracle 在 11g 中改正了這個問題。
三:問題
開啟歸檔
SQL> alter system set log_archive_start=true scope=spfile;
SQL> alter system set log_archive_format='orcl_%t%r_%s.arc' scope=spfile;
SQL> alter system set log_archive_dest_1='location=/home/oracle/test' scope=spfile;
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog;
SQL>alter database open;
命令成功執行後
SQL>alter system switch logfile;
切換日誌後,在歸檔目錄下/home/oracle/test下並沒有產生歸檔
並且檢視警告日誌檔案發現有錯誤
[oracle@pierscentos log]$ vim alert_orcl.log
Tue Aug 26 08:30:31 2014
ORA-00294: invalid archivelog format specifier 'r'
環境: oracle 9.0.1.0.0 Red Hat Enterprise Linux Server release 5.5
原因:
******************************************************************************
因為引數設定有誤 (在10G裡才有 %r ),那麼我們把引數裡去掉 %r
SQL> alter system set log_archive_format='orcl_%t_%s.arc' scope=spfile;
系統已更改。
*******************************************************************************
四:問題
啟動歸檔時
SQL> alter system set log_archive_start=true scope=spfile;
SQL> alter system set log_archive_format='orcl_%t%r_%s.arc' scope=spfile;
SQL> alter system set log_archive_dest_1='location=/home/oracle/test' scope=spfile;
SQL>shutdown immediate
SQL>startup mount
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 768294912 bytes
Fixed Size 2232312 bytes
Variable Size 524288008 bytes
Database Buffers 234881024 bytes
Redo Buffers 6893568 bytes
Database mounted.
環境:oracle11g
原因:引數log_archive_start=true在9i之後已經廢棄不用,應該在引數檔案中將這個引數去掉
凡是在引數檔案中出現以下這條語句的都是廢棄的引數
Deprecated system parameters with specified values:
五:問題
檢視 alert_orcl.log 檔案時出現 :
Wed Aug 13 22:00:00 2014
Begin automatic SQL TuningAdvisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
End automatic SQL Tuning Advisorrun for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
Thu Aug 14 02:00:00 2014
Clearing Resource Manager plan viaparameter
Thu Aug 14 05:00:25 2014
Thread 1 advanced to log sequence 357 (LGWRswitch)
Current log# 1 seq# 357 mem# 0: /u01/app/oracle/oradata/orcl/redo01.log
Thu Aug 14 05:00:26 2014
Archived Log entry 340 added for thread 1sequence 356 ID 0x50dabe03 dest 1:
環境 Red Hat Enterprise Linux Server release 5.8 oracle 11.2.0.1
原因:11g的job,如何產生,如何刪除,有什麼作用?尚未查明
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-1260300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Debug ---- oradebugOracle
- oracle之BUG 7497640Oracle
- Oracle groupby的bugOracle
- oracle10.1.0.4.0bugOracle
- oracle的一個bugOracle
- ORACLE EVENT && ORADEBUGOracle
- Oracle oradebug命令Oracle
- Oracle srvctl的小bugOracle
- oracle的兩個bugOracle
- Oracle bug的手工修復Oracle
- oradebug分析oracle hangOracle
- (轉)Oracle EVENT && ORADEBUGOracle
- oracle ucm 的嚴重bugOracle
- ORACLE 自定義函式BUG?Oracle函式
- Oracle10.2.0.1的bugOracle
- Oracle的又一巨型bugOracle
- oracle 9i index bug?OracleIndex
- ORACLE 10.2.0.4 RAC BUG IN HPOracle
- oracle interval日期函式的bug!Oracle函式
- oracle oradebug使用詳解Oracle
- 使用Oradebug修改Oracle SCNOracle
- oracle實用工具:oradebugOracle
- oracle之 oradebug 命令用法Oracle
- Oracle oradebug命令詳解Oracle
- oracle interval日期函式的bugOracle函式
- Oracle10.2.0.4 bug list and patchOracle
- oracle 10.2.0.2.0的一個BUGOracle
- ORACLE 9I not exists的bugOracle
- ORACLE bug 5361778 5083393Oracle
- oracle串物件相關的bugOracle物件
- oracle 10.2.4 遭遇bug 當機Oracle
- ordebug 手動修改Oracle sga scnOracle
- oracle bug 6825287導致DX鎖等待Oracle
- Oracle oradebug 命令 使用說明Oracle
- Oracle關於nvl的一個BugOracle
- 一個oracle查詢引起的bugOracle
- 由drop datafile導致的oracle bugOracle
- Oracle 10g Logminer clob bugOracle 10g