这篇文章演示一个linux 下10g 恢复到11g中的示例。
Target 端:
OS: Oracle Linux 6.1 64位
DB: 11.2.0.3
Source 端:
OS:Oracle Linux 6.1 64位
DB: 10.2.0.5
注意:
简单的来说就是2个步骤:
1. 将10g 数据库 还原11g上
2. 升级还原的10g数据库到11g。
具体操作步骤如下。
1.1 在Source 库上执行utlu112i.sql脚本
在Source 备份之前,需要执行一下utlu112i.sql 脚本,如果不执行,那么在升级时执行 @ /rdbms/admin/catupgrd.sql 脚本时会报如下错误:
DOC> The following error is generated if the pre-upgrade tool has not been
DOC> run in the old ORACLE_HOME home prior to upgrading a pre-11.2 database:
DOC>
DOC> SELECT TO_NUMBER('MUST_HAVE_RUN_PRE-UPGRADE_TOOL_FOR_TIMEZONE')
DOC> *
DOC> ERROR at line 1:
DOC> ORA-01722: invalid number
DOC>
DOC> o Action:
DOC> Shutdown database ("alter systemcheckpoint" and then "shutdown abort").
DOC> Revert to the original oracle home andstart the database.
DOC> Run pre-upgrade tool against thedatabase.
DOC> Review and take appropriate actionsbased on the pre-upgrade
DOC> output before opening the datatabase inthe new software version.
DOC>
将11g $ORACLE_HOME/rdbms/admin 下的utlu112i.sql脚本copy到10g的$ORACLE_HOME/rdbms/admin 下,并在10g上执行,这个脚本可以检查升级前的一些信息。如果不满足条件,会列出。
SQL> spool upgrade_info.log
SQL> @ /rdbms/admin/utlu112i.sql
Oracle Database 11.2 Pre-UpgradeInformation Tool 03-01-2012 19:53:57
Script Version: 11.2.0.3.0 Build: 001
.
**********************************************************************
Database:
**********************************************************************
--> name: ANQING
--> version: 10.2.0.5.0
--> compatible: 10.2.0.5.0
--> blocksize: 8192
--> platform: Linux x86 64-bit
--> timezone file: V4
.
**********************************************************************
Tablespaces: [make adjustments in thecurrent environment]
**********************************************************************
--> SYSTEM tablespace is adequate forthe upgrade.
.... minimum required size: 682 MB
--> UNDOTBS1 tablespace is adequate forthe upgrade.
.... minimum required size: 400 MB
--> SYSAUX tablespace is adequate forthe upgrade.
.... minimum required size: 454 MB
--> TEMP tablespace is adequate for theupgrade.
.... minimum required size: 60 MB
.
**********************************************************************
Flashback: OFF
**********************************************************************
**********************************************************************
Update Parameters: [Update Oracle Database11.2 init.ora or spfile]
Note: Pre-upgrade tool was run on a lowerversion 64-bit database.
**********************************************************************
--> If Target Oracle is 32-Bit, referhere for Update Parameters:
-- No update parameter changes are required.
.
--> If Target Oracle is 64-Bit, referhere for Update Parameters:
WARNING: --> "sga_target"needs to be increased to at least 596 MB
.
**********************************************************************
Renamed Parameters: [Update Oracle Database11.2 init.ora or spfile]
**********************************************************************
-- No renamed parameters found. No changesare required.
.
**********************************************************************
Obsolete/Deprecated Parameters: [UpdateOracle Database 11.2 init.ora or spfile]
*******************************************