您好,登錄后才能下訂單哦!
數(shù)據(jù)庫環(huán)境為:rhel6.8 64bit oracle 11.2.0.3.11
凌晨1點(diǎn)起床,執(zhí)行計(jì)劃內(nèi)的數(shù)據(jù)庫操作。將幾個(gè)大表在線重定義為分區(qū)表,以便于空間釋放。在執(zhí)行CAN_REDEF_TABLE是正常,但是在執(zhí)行START_REDEF_TABLE時(shí)報(bào)錯(cuò)了,錯(cuò)誤信息如下:
ORA-42008: 實(shí)例化重新定義時(shí)出錯(cuò)
ORA-22060: 參數(shù) [] 是一個(gè)無效或未初始化的數(shù)值
ORA-06512: 在 "SYS.DBMS_SNAPSHOT_UTL", line 1613
ORA-06512: 在 line 1
ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 56
ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 1490
ORA-06512: 在 line 2
當(dāng)時(shí)第一反應(yīng)是難道表有問題,以前遇到過表上注釋太長導(dǎo)致重定義報(bào)錯(cuò)的bug。我換了個(gè)表再次執(zhí)行這些操作,在START_REDEF_TABLE時(shí)還是報(bào)錯(cuò)了。
沒法了,情況緊急,先去百度搜索了一番,又去谷歌搜索了一番,mos也找了,毛都沒找到一根,,,單獨(dú)的ORA-42008,ORA-22060這兩個(gè)錯(cuò)誤多,但是連在一起的時(shí)候幾乎沒有。
不過網(wǎng)上搜索還是有點(diǎn)收獲,借鑒了別人的排查錯(cuò)誤的方法。有人用10046來跟蹤session來發(fā)現(xiàn)報(bào)錯(cuò),我也采用試試。
不過情況有變,別人的都是有明確的報(bào)錯(cuò)信息,但是在我的10046報(bào)告里面沒有。。。沒辦法了,我根據(jù)這個(gè)報(bào)錯(cuò)信息ORA-06512: 在 "SYS.DBMS_SNAPSHOT_UTL", line 1613在10046去查找,找是哪兒執(zhí)行了DBMS_SNAPSHOT_UTL。最后找到了這個(gè)地方sys.dbms_snapshot_utl.get_log_name,我將這個(gè)存儲(chǔ)過程的參數(shù)補(bǔ)全,測試了下,報(bào)錯(cuò)就是ORA-22060,到此可以確定是dbms_snapshot_utl的問題了。但是在系統(tǒng)中沒有看到任何失效對(duì)象,所以在數(shù)據(jù)庫內(nèi)部的這個(gè)包本身是沒問題的。
最后的解決方法是經(jīng)驗(yàn),這個(gè)庫以前遇到過dbms_stats運(yùn)行報(bào)錯(cuò)的情況,說一個(gè)bug補(bǔ)丁不存在,http://blog.itpub.net/29822273/viewspace-2139924/。當(dāng)時(shí)查過mos,說是因?yàn)閿?shù)據(jù)庫中的包與實(shí)際程序不匹配,比如打補(bǔ)丁后沒有運(yùn)行catbundle psu apply。因?yàn)檫@個(gè)庫是從windows平臺(tái)遷移至linux平臺(tái)的,兩個(gè)平臺(tái)當(dāng)時(shí)沒有完全匹配的小版本,所以只能找了一個(gè)與windows版本最接近的linux版本來作為遷移的目標(biāo)版本。然后升級(jí)完了也沒運(yùn)行catbundle psu apply。
由此想到的辦法是重新安裝這個(gè)包,oracle的安裝某些包是有特定步驟的,我怕踩雷,到處搜索了一番,還是沒找到重建dbms_snapshot_utl的方法。最后,時(shí)間越來越到約定的3點(diǎn)鎖表時(shí)間了,心一橫,直接用grep方法在admin里面去找,發(fā)現(xiàn)了兩個(gè)腳本:
prvtsnap.plb:CREATE OR REPLACE PACKAGE BODY dbms_snapshot_utl wrapped
prvtsnps.plb:CREATE OR REPLACE PACKAGE dbms_snapshot_utl wrapped
一個(gè)是package,一個(gè)是package body。注意要先運(yùn)行package腳本,再運(yùn)行body腳本,否者會(huì)報(bào)錯(cuò)。
執(zhí)行完了,在線重定義操作未報(bào)錯(cuò)了。
定于凌晨1點(diǎn)執(zhí)行的在線重定義普通表為分區(qū)表的操作,一直延遲到了凌晨3點(diǎn)才正式開始。。。。。。
最后閑下來還是在mos找到了一篇相關(guān)文章,之前死活找不到。。。搜索還是一門技藝。。。
Bug 14657634 : DBMS_REDEFINITION.START_REDEF_TABLE ENDS WITH ORA-22060
|
Bug Attributes |
|
Type | B - Defect | Fixed in Product Version |
|
Severity | 2 - Severe Loss of Service | Product Version | 11.2.0.3 |
Status | 92 - Closed, Not a Bug | Platform | 226 - Linux x86-64 |
Created | 21-Sep-2012 | Platform Version | NO DATA |
Updated | 17-Jan-2018 | Base Bug | N/A |
Database Version | 11.2.0.3 | Affects Platforms | Generic |
Product Source | Oracle | Knowledge, Patches and Bugs related to this bug |
|
|
Related Products |
|
Line | Oracle Database Products | Family | Oracle Database Suite |
Area | Oracle Database | Product | 5 - Oracle Database - Enterprise Edition |
|
|
|
|
Hdr: 14657634 11.2.0.3 RDBMS 11.2.0.3 UNKNOWN PRODID-5 PORTID-226 ORA-22060 Abstract: DBMS_REDEFINITION.START_REDEF_TABLE ENDS WITH ORA-22060 ---- SAP customer message 729961-2012 TetraPak PROBLEM: -------- BEGIN DBMS_REDEFINITION.START_REDEF_TABLE (UNAME => '"SAPPB3"', ORIG_TABLE => '"/BIC/B0001904000"', INT_TABLE => '"/BIC/B0001904000#$"', OPTIONS_FLAG => DBMS_REDEFINITION.CONS_USE_PK); END; ORA-42008: error occurred while instantiating the redefinition ORA-22060: argument [] is an invalid or uninitialized number ORA-6512: at "SYS.DBMS_SNAPSHOT_UTL", line 1613 ORA-6512: at line 1 ORA-6512: at "SYS.DBMS_REDEFINITION", line 56 ORA-6512: at "SYS.DBMS_REDEFINITION", line 1490 ORA-6512: at line 1 this is constantly reproducable at customer system. Table /BIC/B0001904000 holds 545 columns and was compressed by mistake TABLE_NAME COMPRESS COMPRESS_FOR ------------------------------ -------- ------------ /BIC/B0001904000 ENABLED OLTP Using online reorganisation it should be decompressed again. DIAGNOSTIC ANALYSIS: -------------------- Executing this command directly in SQLPLUS using "/ as sysdba" It reproduces the error. Created error stack with alter session set events '22060 trace name errorstack level 4'; got the underlying sql wich is failing: ----- Error Stack Dump ----- ORA-22060: argument [] is an invalid or uninitialized number ----- Current SQL Statement for this session (sql_id=4jkx2nsqpz6rt) ----- begin sys.dbms_snapshot_utl.get_log_name(:master, :mowner, :lognm, :chkpk, :status, :objid); end; in stack psdexsp() throws the error PROCEDURE GET_LOG_NAME Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- MASTER VARCHAR2 IN MOWNER VARCHAR2 IN LOGNM VARCHAR2 OUT CHKFLG BINARY_INTEGER IN STATUS BINARY_INTEGER OUT MASOBJID NUMBER OUT binds given: ----- Bind Info (kkscoacd) ----- Bind#0 oacdty=01 mxl=32(16) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7caac22 bln=32 avl=16 flg=09 value="/BIC/B0001904000" Bind#1 oacdty=01 mxl=32(06) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7caac00 bln=32 avl=06 flg=09 value="SAPPB3" Bind#2 oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7caac46 bln=30 avl=00 flg=09 Bind#3 oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7b86db8 bln=22 avl=02 flg=05 value=36 Bind#4 oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7b86dd0 bln=22 avl=00 flg=01 Bind#5 oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00 kxsbbbfp=7faea7b86de8 bln=22 avl=00 flg=01 Interim table is created like given in ddl.sql Its the same structure for source table. checking data dictionory by event 10827 and found no error: alter session set events '10827 trace name context forever, level 1'; SQL> set serverout on SQL> EXECUTE dbms_registry_sys.validate_components; VPROC: CATALOG DBMS_REGISTRY_SYS.VALIDATE_CATALOG - +000000 00:00:00.665670000 VPROC: CATPROC DBMS_REGISTRY_SYS.VALIDATE_CATPROC - +000000 00:00:00.030478000 PL/SQL procedure successfully completed. even only two objects are invalid, which are owned by SAP user. One is a VIEW other a SYNONYM. recreating procedure with: SQL> @?/rdbms/admin/prvtsnap.plb does not fix the error. WORKAROUND: ----------- use datapump for offline reorganization. RELATED BUGS: ------------- REPRODUCIBILITY: ---------------- TEST CASE: ---------- STACK TRACE: ------------ skdstdst <- ksedst1 <- ksedst <- dbkedDefDump <- ksedmp <- dbkdaKsdActDriver <- dbgdaExecuteAction <- dbgdaRunAction <- dbgdRunActions <- dbgdProcessEventAct <- ions <- dbgdChkEventKgErr <- dbkdChkEventRdbmsEr <- ksfpec <- dbgePostErrorKGE <- 1129 <- dbkePostKGE_kgsf <- kgeselv <- ksesecl0 <- psdexsp <- rpiswu2 <- psdextp <- pefccal <- pefcal <- pevm_FCAL <- pfrinstr_FCAL <- pfrrun_no_tool <- pfrrun <- plsql_run <- peicnt <- kkxexe <- opiexe <- opiodr <- rpidrus <- skgmstack <- rpiswu2 <- rpidrv <- rpiexe <- kkzdgln <- kkzpgcr <- kkzpgcinfo <- kkzpcbk <- opikkzprs1 <- opiSem <- opiprs <- kksParseChildCursor <- rpiswu2 <- kksLoadChild <- kxsGetRuntimeLock <- kksfbc <- kkspsc0 <- kksParseCursor <- opiosq0 <- opiall0 <- opikpr <- opiodr <- rpidrus <- skgmstack <- rpiswu2 <- kprball <- kprbprs <- kkzparse <- kkzvsnqry <- kkzsval <- kkzcsn <- opiexe <- opiosq0 <- opiall0 <- opikpr <- opiodr <- rpidrus <- skgmstack <- rpiswu2 <- kprball <- kkzucpmv <- kkzusord <- kkzisord <- spefcmpa <- spefmccallstd <- pextproc <- peftrusted <- psdexsp <- rpiswu2 <- psdextp <- pefccal <- pefcal <- pevm_FCAL <- pfrinstr_FCAL <- pfrrun_no_tool <- pfrrun <- plsql_run <- peicnt <- kkxexe <- opiexe <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino <- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main <- libc_start_main <- start SUPPORTING INFORMATION: ----------------------- files uploaded: ddl.sql - for intermim table SB3_ora_16396.zip - errorstack trace 24 HOUR CONTACT INFORMATION FOR P1 BUGS: ---------------------------------------- DIAL-IN INFORMATION: -------------------- IMPACT DATE: ------------ patches currently inistalled: SAP Bundle Patch 11.2.0.3.2 - 201205 -> this is RDBMS PSU#2 see file opatch_lsinventory.zip for complete patch list see dba_registry_history.zip for update history ============================================ Key Symptoms/Summary/Rediscovery: Errors from DBMS_REDEFINITION.START_REDEF_TABLE: ORA-42008: error occurred while instantiating the redefinition ORA-22060: argument [] is an invalid or uninitialized number Explain why this is not a bug: Patch 13767921 was not applied properly - the package was in the DB but the oracle executable was not relinked for some unknown reason. Hence there was a mismatched part installed patch. =============================================
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。