通過RMAN遷移資料並升級資料庫10.2.0.3->11.2.0.3【相同位數與平臺版】

eric_zhyd發表於2013-12-04
Source 端:
OS:Windows 2003 64位
DB: 10.2.0.3.0

Target 端:
OS: Windows 7 64位
DB: 11.2.0.3.0

-- Source端執行升級前指令碼 - utlu112i.sql(指令碼獲得路徑:@?\rdbms\admin )
spool upgrade_info.log
@?/rdbms/admin/utlu112i.sql
spool off

Oracle Database 11.2 Pre-Upgrade Information Tool 12-03-2013 16:30:29
Script Version: 11.2.0.3.0 Build: 001
.
**********************************************************************
Database:
**********************************************************************
--> name:          ZH10G
--> version:       10.2.0.4.0
--> compatible:    10.2.0.3.0
--> blocksize:     8192
--> platform:      Microsoft Windows x86 64-bit
--> timezone file: V4
.
**********************************************************************
Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 725 MB
--> UNDOTBS1 tablespace is adequate for the upgrade.
.... minimum required size: 400 MB
--> SYSAUX tablespace is adequate for the upgrade.
.... minimum required size: 452 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 60 MB
--> EXAMPLE tablespace is adequate for the upgrade.
.... minimum required size: 78 MB
.
**********************************************************************
Flashback: OFF
**********************************************************************
**********************************************************************
Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]
Note: Pre-upgrade tool was run on a lower version 64-bit database.
**********************************************************************
--> If Target Oracle is 32-Bit, refer here for Update Parameters:
WARNING: --> "sga_target" needs to be increased to at least 412 MB
.

--> If Target Oracle is 64-Bit, refer here for Update Parameters:
WARNING: --> "sga_target" needs to be increased to at least 596 MB
.
**********************************************************************
Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]
**********************************************************************
-- No renamed parameters found. No changes are required.
.
**********************************************************************
Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]

**********************************************************************
--> background_dump_dest         11.1       DEPRECATED   replaced by  "diagnostic_dest"
--> user_dump_dest               11.1       DEPRECATED   replaced by  "diagnostic_dest"
.

**********************************************************************
Components: [The following database components will be upgraded or installed]
**********************************************************************
--> Oracle Catalog Views         [upgrade]  VALID
--> Oracle Packages and Types    [upgrade]  VALID
--> JServer JAVA Virtual Machine [upgrade]  VALID
--> Oracle XDK for Java          [upgrade]  VALID
--> Oracle Workspace Manager     [upgrade]  VALID
--> OLAP Analytic Workspace      [upgrade]  VALID
--> OLAP Catalog                 [upgrade]  VALID
--> EM Repository                [upgrade]  VALID
--> Oracle Text                  [upgrade]  VALID
--> Oracle XML Database          [upgrade]  VALID
--> Oracle Java Packages         [upgrade]  VALID
--> Oracle interMedia            [upgrade]  VALID
--> Spatial                      [upgrade]  VALID
--> Data Mining                  [upgrade]  VALID
--> Expression Filter            [upgrade]  VALID
--> Rule Manager                 [upgrade]  VALID
--> Oracle OLAP API              [upgrade]  VALID
.
**********************************************************************
Miscellaneous Warnings
**********************************************************************
WARNING: --> Database is using a timezone file older than version 14.
.... After the release migration, it is recommended that DBMS_DST package
.... be used to upgrade the 10.2.0.4.0 database timezone version
.... to the latest version which comes with the new release.
WARNING: --> EM Database Control Repository exists in the database.
.... Direct downgrade of EM Database Control is not supported. Refer to the
.... Upgrade Guide for instructions to save the EM data prior to upgrade.
WARNING: --> Your recycle bin is turned on and currently contains no objects.
.... Because it is REQUIRED that the recycle bin be empty prior to upgrading
.... and your recycle bin is turned on, you may need to execute the command:
        PURGE DBA_RECYCLEBIN
.... prior to executing your upgrade to confirm the recycle bin is empty.
.
**********************************************************************
Recommendations
**********************************************************************
Oracle recommends gathering dictionary statistics prior to
upgrading the database.
To gather dictionary statistics execute the following command
while connected as SYSDBA:

    EXECUTE dbms_stats.gather_dictionary_stats;

**********************************************************************
Oracle recommends reviewing any defined events prior to upgrading.

To view existing non-default events execute the following commands
while connected AS SYSDBA:
  Events:
    SELECT (translate(value,chr(13)||chr(10),' ')) FROM sys.v$parameter2
      WHERE  UPPER(name) ='EVENT' AND  isdefault='FALSE'

  Trace Events:
    SELECT (translate(value,chr(13)||chr(10),' ')) from sys.v$parameter2
      WHERE UPPER(name) = '_TRACE_EVENTS' AND isdefault='FALSE'

Changes will need to be made in the init.ora or spfile.

**********************************************************************

-- 通過RMAN資料庫進行備份

-- 將RMAN備份的所有檔案拷貝到新伺服器指定的位置【Target端存放備份路徑必須與Source端一致,否則必須要用Catalog方式

-- 在新伺服器建立密碼檔案
orapwd file=D:\app\Administrator\product\11.2.0\dbhome_1\database\PWDzh10g.ora password=zhong

-- 建立例項資訊
oradim -new -sid zh10g

-- 通過RMAN還原配置檔案
set oracle_sid=zh10g
RMAN TARGET /
STARTUP NOMOUNT
restore spfile to pfile 'D:\app\Administrator\product\11.2.0\dbhome_1\database\initZH10G.ora' from 'D:\03_DB_02OQJMH9_1_1_12M03D';

C:\>set oracle_sid=zh10g

C:\>RMAN TARGET /

恢復管理器: Release 11.2.0.3.0 - Production on 星期二 12 3 16:46:13 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

已連線到目標資料庫 (未啟動)

RMAN> STARTUP NOMOUNT

啟動失敗: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITZH10G.ORA'

在沒有引數檔案的情況下啟動 Oracle 例項以檢索 spfile
Oracle 例項已啟動

系統全域性區域總計     158662656 位元組

Fixed Size                     2253296 位元組
Variable Size                104861200 位元組
Database Buffers              46137344 位元組
Redo Buffers                   5410816 位元組

RMAN> restore spfile to pfile 'D:\app\Administrator\product\11.2.0\dbhome_1\database\initZH10G.ora' from 'D:\03_DB_02OQJMH9_1_1_12M03D';

啟動 restore 於 03-12-13
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=249 裝置型別=DISK

通道 ORA_DISK_1: 正在從 AUTOBACKUP D:\03_DB_02OQJMH9_1_1_12M03D 還原 spfile
通道 ORA_DISK_1: 從 AUTOBACKUP 還原 SPFILE 已完成
完成 restore 於 03-12-13

RMAN>

-- PFILE修正
*.audit_file_dest='D:\app\Administrator\admin\zh10g\adump'
*.background_dump_dest='D:\app\Administrator\admin\zh10g\bdump'
*.compatible='10.2.0.3.0'
*.control_files='D:\app\Administrator\oradata\zh10g\control01.ctl','D:\app\Administrator\oradata\zh10g\control02.ctl','D:\app\Administrator\oradata\zh10g\control03.ctl'
*.core_dump_dest='D:\app\Administrator\admin\zh10g\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='zh10g'
*.db_recovery_file_dest='d:\app\Administrator\fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='d:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=zh10gXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=96468992
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=290455552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\app\Administrator\admin\zh10g\udump'
+ 主要是將SGA引數根據需求進行調整且必須剔除USER_DUMP_DEST與BACKGROUND_DUMP_DEST 引數!

+ 10g spfile啟動將會得到以下報錯
ORA-32004: obsolete or deprecated parameter(s) specified for rdbms instance 
解決方案:
PFILE引數剔除USER_DUMP_DEST與BACKGROUND_DUMP_DEST 

-- 資料庫啟動到NOMOUNT模式
SHUTDOWN IMMEDIATE
STARTUP NOMOUNT

-- 還原原資料庫控制檔案
RMAN TARGET /
restore controlfile from 'C:\ORABACKUP\03_DB_02OQJMH9_1_1_12M03D';

C:\>RMAN TARGET /

恢復管理器: Release 11.2.0.3.0 - Production on 星期二 12 3 17:09:58 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

已連線到目標資料庫: ZH10G (未裝載)

RMAN> restore controlfile from 'D:\03_DB_02OQJMH9_1_1_12M03D';

啟動 restore 於 03-12-13
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=63 裝置型別=DISK

通道 ORA_DISK_1: 正在還原控制檔案
通道 ORA_DISK_1: 還原完成, 用時: 00:00:03
輸出檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\CONTROL01.CTL
輸出檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\CONTROL02.CTL
輸出檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\CONTROL03.CTL
完成 restore 於 03-12-13

-- 啟動資料庫到MOUNT狀態
alter database mount;

-- 還原資料檔案並設定新路徑
run
{
 set newname for datafile 1  to 'D:\app\Administrator\oradata\zh10g\SYSTEM01.DBF';
 set newname for datafile 3  to 'D:\app\Administrator\oradata\zh10g\SYSAUX01.DBF';
 set newname for datafile 2  to 'D:\app\Administrator\oradata\zh10g\UNDOTBS01.DBF';
 set newname for datafile 4  to 'D:\app\Administrator\oradata\zh10g\USERS01.DBF';
 set newname for datafile 5  to 'D:\app\Administrator\oradata\zh10g\EXAMPLE01.DBF';
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
restore database;
switch datafile all;
recover database;
}
對switch datafile all的說明:
--對於nocatalog 模式下,rman備份的資訊是儲存在控制檔案裡的,包括檔案的路徑資訊。 這裡的switch datafile all的作用,就是更新控制檔案裡的資訊。

RMAN> startup mount

已連線到目標資料庫 (未啟動)
Oracle 例項已啟動
資料庫已裝載

系統全域性區域總計     292278272 位元組

Fixed Size                     2254584 位元組
Variable Size                109054216 位元組
Database Buffers             176160768 位元組
Redo Buffers                   4808704 位元組

RMAN> run
2> {
3>  set newname for datafile 1  to 'D:\app\Administrator\oradata\zh10g\SYSTEM01.DBF';
4>  set newname for datafile 3  to 'D:\app\Administrator\oradata\zh10g\SYSAUX01.DBF';
5>  set newname for datafile 2  to 'D:\app\Administrator\oradata\zh10g\UNDOTBS01.DBF';
6>  set newname for datafile 4  to 'D:\app\Administrator\oradata\zh10g\USERS01.DBF';
7>  set newname for datafile 5  to 'D:\app\Administrator\oradata\zh10g\EXAMPLE01.DBF';
8> allocate channel c1 device type disk;
9> allocate channel c2 device type disk;
10> allocate channel c3 device type disk;
11> restore database;
12> switch datafile all;
13> recover database;
14> }

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

分配的通道: c1
通道 c1: SID=191 裝置型別=DISK

分配的通道: c2
通道 c2: SID=129 裝置型別=DISK

分配的通道: c3
通道 c3: SID=193 裝置型別=DISK

啟動 restore 於 03-12-13

釋放的通道: c1
釋放的通道: c2
釋放的通道: c3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 12/03/2013 17:26:07 上) 失敗
RMAN-06026: 有些目標沒有找到 - 終止還原
RMAN-06023: 沒有找到資料檔案4的副本來還原
RMAN-06023: 沒有找到資料檔案3的副本來還原
RMAN-06023: 沒有找到資料檔案2的副本來還原
RMAN-06023: 沒有找到資料檔案1的副本來還原

RMAN> list backupset;


備份集列表
===================


BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
1       Full    119.87M    DISK        00:00:23     03-12-13
        BP 關鍵字: 1   狀態: EXPIRED  已壓縮: YES  標記: TAG20131203T163632
段名:C:\ORABACKUP\03_DB_01OQJMGG_1_1_12M03D
  備份集 1 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  1       Full 640653     03-12-13 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZH10G\SYSTEM01.DBF
  2       Full 640653     03-12-13 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZH10G\UNDOTBS01.DBF
  3       Full 640653     03-12-13 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZH10G\SYSAUX01.DBF
  4       Full 640653     03-12-13 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZH10G\USERS01.DBF
  5       Full 640653     03-12-13 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZH10G\EXAMPLE01.DBF

RMAN> CROSSCHECK BACKUP;

分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=191 裝置型別=DISK
交叉校驗備份片段: 找到為 'AVAILABLE'
備份片段控制程式碼=C:\ORABACKUP\03_DB_01OQJMGG_1_1_12M03D RECID=1 STAMP=833214992
已交叉檢驗的 1 物件


RMAN> run
2> {
3>  set newname for datafile 1  to 'D:\app\Administrator\oradata\zh10g\SYSTEM01.DBF';
4>  set newname for datafile 3  to 'D:\app\Administrator\oradata\zh10g\SYSAUX01.DBF';
5>  set newname for datafile 2  to 'D:\app\Administrator\oradata\zh10g\UNDOTBS01.DBF';
6>  set newname for datafile 4  to 'D:\app\Administrator\oradata\zh10g\USERS01.DBF';
7>  set newname for datafile 5  to 'D:\app\Administrator\oradata\zh10g\EXAMPLE01.DBF';
8> allocate channel c1 device type disk;
9> allocate channel c2 device type disk;
10> allocate channel c3 device type disk;
11> restore database;
12> switch datafile all;
13> recover database;
14> }

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

釋放的通道: ORA_DISK_1
分配的通道: c1
通道 c1: SID=191 裝置型別=DISK

分配的通道: c2
通道 c2: SID=129 裝置型別=DISK

分配的通道: c3
通道 c3: SID=193 裝置型別=DISK

啟動 restore 於 03-12-13

通道 c1: 正在開始還原資料檔案備份集
通道 c1: 正在指定從備份集還原的資料檔案
通道 c1: 將資料檔案 00001 還原到 D:\app\Administrator\oradata\zh10g\SYSTEM01.DBF
通道 c1: 將資料檔案 00002 還原到 D:\app\Administrator\oradata\zh10g\UNDOTBS01.DBF
通道 c1: 將資料檔案 00003 還原到 D:\app\Administrator\oradata\zh10g\SYSAUX01.DBF
通道 c1: 將資料檔案 00004 還原到 D:\app\Administrator\oradata\zh10g\USERS01.DBF
通道 c1: 將資料檔案 00005 還原到 D:\app\Administrator\oradata\zh10g\EXAMPLE01.DBF
通道 c1: 正在讀取備份片段 C:\ORABACKUP\03_DB_01OQJMGG_1_1_12M03D
通道 c1: 段控制程式碼 = C:\ORABACKUP\03_DB_01OQJMGG_1_1_12M03D 標記 = TAG20131203T163632
通道 c1: 已還原備份片段 1
通道 c1: 還原完成, 用時: 00:00:35
完成 restore 於 03-12-13

資料檔案 1 已轉換成資料檔案副本
輸入資料檔案副本 RECID=7 STAMP=833218128 檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSTEM01.DBF
資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 RECID=8 STAMP=833218128 檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\UNDOTBS01.DBF
資料檔案 3 已轉換成資料檔案副本
輸入資料檔案副本 RECID=9 STAMP=833218128 檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSAUX01.DBF
資料檔案 4 已轉換成資料檔案副本
輸入資料檔案副本 RECID=10 STAMP=833218129 檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\USERS01.DBF
資料檔案 5 已轉換成資料檔案副本
輸入資料檔案副本 RECID=11 STAMP=833218129 檔名=D:\APP\ADMINISTRATOR\ORADATA\ZH10G\EXAMPLE01.DBF

啟動 recover 於 03-12-13

正在開始介質的恢復

RMAN-08187: 警告: 完成到 SCN 640653 的介質恢復
完成 recover 於 03-12-13
釋放的通道: c1
釋放的通道: c2
釋放的通道: c3

RMAN>

-- 還原提示需要不完全恢復【此處由於10g備份時不嚴謹導致的,在此我採用不完整恢復來跳過。
RMAN-08187: 警告: 完成到 SCN 640653 的介質恢復

RMAN> recover database until scn 640653;

啟動 recover 於 03-12-13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=191 裝置型別=DISK

正在開始介質的恢復
介質恢復完成, 用時: 00:00:01

完成 recover 於 03-12-13

-- 重建控制檔案以修改REDOLOG的位置【此步驟主要是為了重新設定REDOLOG的引數與位置
alter database backup controlfile to trace as 'D:\CONTROLFILE_ZH10G.txt';

+ RESETLOGS方式
SHUTDOWN IMMEDIATE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ZH10G" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO01.LOG'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO03.LOG'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSTEM01.DBF',
  'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\UNDOTBS01.DBF',
  'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSAUX01.DBF',
  'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\USERS01.DBF',
  'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\EXAMPLE01.DBF'
CHARACTER SET AL32UTF8
;

SYS@ zh10g SQL>shutdown immediate
ORA-01109: 資料庫未開啟


已經解除安裝資料庫。
ORACLE 例程已經關閉。
SYS@ zh10g SQL>STARTUP NOMOUNT
ORACLE 例程已經啟動。

Total System Global Area     292278272 bytes
Fixed Size                     2254584 bytes
Variable Size                109054216 bytes
Database Buffers             176160768 bytes
Redo Buffers                   4808704 bytes
SYS@ zh10g SQL>CREATE CONTROLFILE REUSE DATABASE "ZH10G" RESETLOGS  NOARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO01.LOG'  SIZE 50M BLOCKSIZE 512,
  9    GROUP 2 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,
 10    GROUP 3 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\REDO03.LOG'  SIZE 50M BLOCKSIZE 512
 11  -- STANDBY LOGFILE
 12  DATAFILE
 13    'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSTEM01.DBF',
 14    'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\UNDOTBS01.DBF',
 15    'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\SYSAUX01.DBF',
 16    'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\USERS01.DBF',
 17    'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\EXAMPLE01.DBF'
 18  CHARACTER SET AL32UTF8
 19  ;

控制檔案已建立。


-- 資料庫升級
alter database open resetlogs upgrade;

SYS@ zh10g SQL>alter database open;
ERROR:
ORA-03114: 未連線到 ORACLE


alter database open
*
 1 行出現錯誤:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
程式 ID: 5144
會話 ID: 191 序列號: 1

SYS@ zh10g SQL>alter database open resetlogs upgrade;
ERROR:
ORA-04023: Object SYS.STANDARD could not be validated or authorized

Database altered.



-- 重建臨時表空間
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\APP\ADMINISTRATOR\ORADATA\ZH10G\TEMP01.DBF' SIZE 100M REUSE;

-- UPGRADE模式執行catupgrd.sql指令碼
spool upgrade.log 
@?/rdbms/admin/catupgrd.sql

SYS@ zh10g SQL>@?/rdbms/admin/catupgrd.sql
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC>   The first time this script is run, there should be no error messages
DOC>   generated; all normal upgrade error messages are suppressed.
DOC>
DOC>   If this script is being re-run after correcting some problem, then
DOC>   expect the following error which is not automatically suppressed:
DOC>
DOC>   ORA-00001: unique constraint (<constraint_name>) violated
DOC>              possibly in conjunction with
DOC>   ORA-06512: at "", line NN
DOC>
DOC>   These errors will automatically be suppressed by the Database Upgrade
DOC>   Assistant (DBUA) when it re-runs an upgrade.
DOC>
DOC>#######################################################################
DOC>#######################################################################
DOC>#
DOC>######################################################################
DOC>######################################################################
DOC>    The following statement will cause an "ORA-01722: invalid number"
DOC>    error if the user running this script is not SYS.  Disconnect
DOC>    and reconnect with AS SYSDBA.
DOC>######################################################################
DOC>######################################################################
DOC>#

no rows selected

ERROR:
ORA-04023: Object SYS.STANDARD could not be validated or authorized


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

+ Dbua Upgrade Stops With Error Object ORA-04023:sys.standard could not validated or authorized when select a database for upgrade (Doc ID 1087737.1)

Applies to:

Oracle Database Upgrade Assistant - Version 11.2.0.0 to 11.2.0.0 [Release 11.2]
Information in this document applies to any platform.

Symptoms


Using DBUA to upgrade to 11GR2. Upgrade process stops with error :-

Object sys.standard could not validated or authorized when select a database for upgrade

 

Changes

One reason could be /etc/oratab has a wrong entry for the source DB location. Second reason could be that /etc/oratab entry has been modified to 11GR2 location before the upgrade is complete using DBUA.

Cause

The cause of the error is /etc/oratab has a wrong entry for the source DB location. Second reason could be that /etc/oratab entry has been modified to 11GR2 location before the upgrade is complete using DBUA.

Solution

The first thing is to refer to NOTE 729909.1 & see if it resolves the problem. The solution could be :- 

Run the following query to check for DBUA test mode: 

SELECT COUNT(*) FROM obj$ WHERE owner#=0 AND type#=2 AND name='PUIU$DBUA'; 

If the query returns a value greater than 0 (zero), then remove the PUIU$DBUA table and run DBUA again.

 

If the above solution does not work, then re-check the entry in /etc/oratab. Make sure that then DB being upgraded has correct ORACLE_HOME & no duplicate lines for the same ORACLE_HOME.

References

NOTE:729909.1 - Upgrading To Oracle11g And DBUA Reports ORA-4023 On SYS.STANDARD

+ Please note that when using DBUA you should not make any changes to the oratab file.  If you manually made changes to the oratab file, then undo them and put the original information back.  DBUA will make changes to the oratab file at the appropriate time during the upgrade.

-- 修復ORA-04023報錯
sqlplus / as sysdba
drop table PUIU$DBUA;

spool upgrade.log 
@?/rdbms/admin/catupgrd.sql

+ 指令碼執行時間約:
    + 改善指令碼執行時間方法:00:49:17
        + 線上日誌容量增大,減少checkpoint not complete發生
        + 適當增加系統引數:
            SQL>alter system set java_pool_size=512M;
            SQL>alter system set shared_pool_size=800M;
正常結束狀態:
SYS@ zh10g SQL>/*****************************************************************************/
SYS@ zh10g SQL>/* Step 10 - SHUTDOWN THE DATABASE..!!!!!
SYS@ zh10g SQL>*/
SYS@ zh10g SQL>/*****************************************************************************/
SYS@ zh10g SQL>shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SYS@ zh10g SQL>
SYS@ zh10g SQL>
SYS@ zh10g SQL>
SYS@ zh10g SQL>DOC
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC>   The above sql script is the final step of the upgrade. Please
DOC>   review any errors in the spool log file. If there are any errors in
DOC>   the spool file, consult the Oracle Database Upgrade Guide for
DOC>   troubleshooting recommendations.
DOC>
DOC>   Next restart for normal operation, and then run utlrp.sql to
DOC>   recompile any invalid application objects.
DOC>
DOC>   If the source database had an older time zone version prior to
DOC>   upgrade, then please run the DBMS_DST package.  DBMS_DST will upgrade
DOC>   TIMESTAMP WITH TIME ZONE data to use the latest time zone file shipped
DOC>   with Oracle.
DOC>
DOC>#######################################################################
DOC>#######################################################################
DOC>#
SYS@ zh10g SQL>
SYS@ zh10g SQL>Rem Set errorlogging off
SYS@ zh10g SQL>SET ERRORLOGGING OFF;
SYS@ zh10g SQL>
SYS@ zh10g SQL>REM END OF CATUPGRD.SQL
SYS@ zh10g SQL>
SYS@ zh10g SQL>REM bug 12337546 - Exit current sqlplus session at end of catupgrd.sql.
SYS@ zh10g SQL>REM                This forces user to start a new sqlplus session in order
SYS@ zh10g SQL>REM                to connect to the upgraded db.
SYS@ zh10g SQL>exit
從 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷開
You canrerunthe catupgrd.sql script as many times as necessary. The firsttimeyou run the script, there should be no error messages returned. If yourerunthe script, then the ORA-00001 messageisdisplayed. You can safely ignore this message.

-- 顯示升級過程摘要資訊
@?/rdbms/admin/utlu112s.sql

+ 正常狀態結束:
SYS@ zh10g SQL>@?/rdbms/admin/utlu112s.sql
.
Oracle Database 11.2 Post-Upgrade Status Tool           12-04-2013 17:31:00
.
Component                               Current      Version     Elapsed Time
Name                                    Status       Number      HH:MM:SS
.
Oracle Server
.   ORA-00942: 表或檢視不存在
.                                         VALID      11.2.0.3.0  00:11:59
JServer JAVA Virtual Machine
.                                         VALID      11.2.0.3.0  00:08:01
Oracle Workspace Manager
.                                         VALID      11.2.0.3.0  00:00:26
OLAP Analytic Workspace
.                                         VALID      11.2.0.3.0  00:00:19
OLAP Catalog
.                                         VALID      11.2.0.3.0  00:00:43
Oracle OLAP API
.                                         VALID      11.2.0.3.0  00:00:20
Oracle Enterprise Manager
.                                         VALID      11.2.0.3.0  00:08:45
Oracle XDK
.                                         VALID      11.2.0.3.0  00:02:03
Oracle Text
.                                         VALID      11.2.0.3.0  00:00:45
Oracle XML Database
.                                         VALID      11.2.0.3.0  00:03:44
Oracle Database Java Packages
.                                         VALID      11.2.0.3.0  00:00:13
Oracle Multimedia
.                                         VALID      11.2.0.3.0  00:03:03
Spatial
.                                         VALID      11.2.0.3.0  00:05:39
Oracle Expression Filter
.                                         VALID      11.2.0.3.0  00:00:10
Oracle Rules Manager
.                                         VALID      11.2.0.3.0  00:00:08
Gathering Statistics
.                                                                00:02:47
Total Upgrade Time: 00:49:17

PL/SQL 過程已成功完成。


_USER@ _CONNECT_IDENTIFIER SQL>select comp_id, version, status from DBA_registry;



COMP_ID                                                      VERSION                                              STATUS

------------------------------------------------------------ ------------------------------------------------------------

----------

EM                                                           11.2.0.3.0                                           VALID

AMD                                                          11.2.0.3.0                                           VALID

SDO                                                          11.2.0.3.0                                           VALID

ORDIM                                                        11.2.0.3.0                                           VALID

XDB                                                          11.2.0.3.0                                           VALID

CONTEXT                                                      11.2.0.3.0                                           VALID

ODM                                                          11.2.0.3.0                                           VALID

EXF                                                          11.2.0.3.0                                           VALID

RUL                                                          11.2.0.3.0                                           VALID

OWM                                                          11.2.0.3.0                                           VALID

CATALOG                                                      11.2.0.3.0                                           VALID

CATPROC                                                      11.2.0.3.0                                           VALID

JAVAVM                                                       11.2.0.3.0                                           VALID

XML                                                          11.2.0.3.0                                           VALID

CATJAVA                                                      11.2.0.3.0                                           VALID

APS                                                          11.2.0.3.0                                           VALID

XOQ                                                          11.2.0.3.0                                           VALID



已選擇17行。

-- 遷移Baseline資料
@?/rdbms/admin/catuppst.sql
+ 指令碼執行時間約:00:00:30

SYS@ zh10g SQL>@?/rdbms/admin/catuppst.sql

TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------
COMP_TIMESTAMP POSTUP_BGN 2013-12-04 17:37:38


PL/SQL 過程已成功完成。


This script will migrate the Baseline data on a pre-11g database
to the 11g database.

Move BL Data "SYS"."WRH$_FILESTATXS" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SQLSTAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SYSTEM_EVENT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_WAITSTAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_LATCH" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_LATCH_CHILDREN" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_LATCH_PARENT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_LATCH_MISSES_SUMMARY" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_DB_CACHE_ADVICE" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_ROWCACHE_SUMMARY" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SGASTAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SYSSTAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_PARAMETER" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SEG_STAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_DLM_MISC" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SERVICE_STAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_TABLESPACE_STAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_OSSTAT" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SYS_TIME_MODEL" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_SERVICE_WAIT_CLASS" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_INST_CACHE_TRANSFER" (0 rows in 0 seconds)
Move BL Data "SYS"."WRH$_ACTIVE_SESSION_HISTORY" (0 rows in 0 seconds)
...                                       ...
... Completed Moving the Baseline Data    ...
...                                       ...
... If there are no Move BL Data messages ...
... above, then there are no renamed      ...
... baseline tables in the system.        ...
...                                       ...
Drop Renamed Baseline Table SYS."WRH$_FILESTATXS_BR"
Drop Renamed Baseline Table SYS."WRH$_SQLSTAT_BR"
Drop Renamed Baseline Table SYS."WRH$_SYSTEM_EVENT_BR"
Drop Renamed Baseline Table SYS."WRH$_WAITSTAT_BR"
Drop Renamed Baseline Table SYS."WRH$_LATCH_BR"
Drop Renamed Baseline Table SYS."WRH$_LATCH_CHILDREN_BR"
Drop Renamed Baseline Table SYS."WRH$_LATCH_PARENT_BR"
Drop Renamed Baseline Table SYS."WRH$_LATCH_MISSES_SUMMARY_BR"
Drop Renamed Baseline Table SYS."WRH$_DB_CACHE_ADVICE_BR"
Drop Renamed Baseline Table SYS."WRH$_ROWCACHE_SUMMARY_BR"
Drop Renamed Baseline Table SYS."WRH$_SGASTAT_BR"
Drop Renamed Baseline Table SYS."WRH$_SYSSTAT_BR"
Drop Renamed Baseline Table SYS."WRH$_PARAMETER_BR"
Drop Renamed Baseline Table SYS."WRH$_SEG_STAT_BR"
Drop Renamed Baseline Table SYS."WRH$_DLM_MISC_BR"
Drop Renamed Baseline Table SYS."WRH$_SERVICE_STAT_BR"
Drop Renamed Baseline Table SYS."WRH$_TABLESPACE_STAT_BR"
Drop Renamed Baseline Table SYS."WRH$_OSSTAT_BR"
Drop Renamed Baseline Table SYS."WRH$_SYS_TIME_MODEL_BR"
Drop Renamed Baseline Table SYS."WRH$_SERVICE_WAIT_CLASS_BR"
Drop Renamed Baseline Table SYS."WRH$_INST_CACHE_TRANSFER_BR"
Drop Renamed Baseline Table SYS."WRH$_ACTIVE_SESSION_HISTORY_BR"
...                                       ...
... Completed the Dropping of the         ...
... Renamed Baseline Tables               ...
...                                       ...
... If there are no Drop Table messages   ...
... above, then there are no renamed      ...
... baseline tables in the system.        ...
...                                       ...

PL/SQL 過程已成功完成。


已建立 0 行。


提交完成。


表已建立。


已建立 2 行。


已更新 1 行。


已更新2行。


已更新0行。


表已刪除。


提交完成。


已更新0行。


提交完成。


已更新0行。


提交完成。


已更新0行。


提交完成。


已建立 0 行。


提交完成。


已建立 0 行。


提交完成。


PL/SQL 過程已成功完成。

TIMESTAMP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------
COMP_TIMESTAMP POSTUP_END 2013-12-04 17:37:42


PL/SQL 過程已成功完成。


PL/SQL 過程已成功完成。


PL/SQL 過程已成功完成。

Generating apply and rollback scripts...
Check the following file for errors:
D:\app\Administrator\cfgtoollogs\catbundle\catbundle_PSU_ZH10G_GENERATE_2013Dec04_17_37_49.log
Apply script: D:\app\Administrator\product\11.2.0\dbhome_1\rdbms\admin\catbundle_PSU_ZH10G_APPLY.sql
Rollback script: D:\app\Administrator\product\11.2.0\dbhome_1\rdbms\admin\catbundle_PSU_ZH10G_ROLLBACK.sql

PL/SQL 過程已成功完成。

Executing script file...

SYS@ zh10g SQL>COLUMN spool_file NEW_VALUE spool_file NOPRINT
SYS@ zh10g SQL>SELECT 'D:\app\Administrator\cfgtoollogs\catbundle\' || 'catbundle_PSU_' || name || '_APPLY_' || TO_CHAR(SYSDATE, 'YYYYMonDD_hh24_mi_ss', 'NLS_DATE_LANGUAGE=''AMERICAN''') || '.log' AS
spool_file FROM v$database;

SYS@ zh10g SQL>SPOOL &spool_file
SYS@ zh10g SQL>exec dbms_registry.set_session_namespace('SERVER')

PL/SQL 過程已成功完成。

SYS@ zh10g SQL>ALTER SESSION SET current_schema = SYS;

會話已更改。

SYS@ zh10g SQL>PROMPT Updating registry...
Updating registry...
SYS@ zh10g SQL>INSERT INTO registry$history
  2    (action_time, action,
  3     namespace, version, id,
  4     bundle_series, comments)
  5  VALUES
  6    (SYSTIMESTAMP, 'APPLY',
  7     SYS_CONTEXT('REGISTRY$CTX','NAMESPACE'),
  8     '11.2.0.3',
  9     0,
 10     'PSU',
 11     'Patchset 11.2.0.2.0');

已建立 1 行。

SYS@ zh10g SQL>COMMIT;

提交完成。

SYS@ zh10g SQL>SPOOL off
SYS@ zh10g SQL>SET echo off
Check the following log file for errors:
D:\app\Administrator\cfgtoollogs\catbundle\catbundle_PSU_ZH10G_APPLY_2013Dec04_17_37_51.log

-- 重編譯無效物件
select count(*) from dba_invalid_objects;

@?/rdbms/admin/utlrp.sql
+ 指令碼執行時間約:00:02:00

SYS@ zh10g SQL>select count(*) from dba_invalid_objects;

  COUNT(*)
----------
      5954

-- 查詢元件狀態
col comp_name for a40
set wrap off
select comp_name,version, statusfrom dba_registry;

SYS@ zh10g SQL>select comp_name,version, status from dba_registry;

COMP_NAME                                VERSION                                                      STATUS
---------------------------------------- ------------------------------------------------------------ -------
Oracle Enterprise Manager                11.2.0.3.0                                                   VALID
OLAP Catalog                             11.2.0.3.0                                                   VALID
Spatial                                  11.2.0.3.0                                                   VALID
Oracle Multimedia                        11.2.0.3.0                                                   VALID
Oracle XML Database                      11.2.0.3.0                                                   VALID
Oracle Text                              11.2.0.3.0                                                   VALID
Oracle Data Mining                       11.2.0.3.0                                                   VALID
Oracle Expression Filter                 11.2.0.3.0                                                   VALID
Oracle Rules Manager                     11.2.0.3.0                                                   VALID
Oracle Workspace Manager                 11.2.0.3.0                                                   VALID
Oracle Database Catalog Views            11.2.0.3.0                                                   VALID
Oracle Database Packages and Types       11.2.0.3.0                                                   VALID
JServer JAVA Virtual Machine             11.2.0.3.0                                                   VALID
Oracle XDK                               11.2.0.3.0                                                   VALID
Oracle Database Java Packages            11.2.0.3.0                                                   VALID
OLAP Analytic Workspace                  11.2.0.3.0                                                   VALID
Oracle OLAP API                          11.2.0.3.0                                                   VALID

已選擇17行。


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

相關文章