PASSWORD = 新数据库实例的口令。这是使用 SYSDBA 权限连接的用户的口令。-SYSPWD 选项并非必需。如果未指定该项,则将使用操作系统验证,并且不需要口令
第 8 步(Unix 和 Linux)
=================
配置目标 11.2.0.2 ORACLE_HOME
1) 确保环境变量 ORACLE_BASE、ORACLE_HOME、PATH、NLS_10 和 LIBRARY_PATH 设置为指向 11.2.0.2 安装。
将 ORACLE_SID 设置为 11.2.0.1数据库名以升级。
修改 /etc/oratab 文件指向您的 11.2.0.2 ORACLE_HOME。
2) 禁用 Database Vault
Note 453903.1 - Enabling and Disabling Oracle Database Vault in UNIX
3) 将 init.ora/spfile 和口令文件 (orapw
4) 将网络配置文件(listener.ora、sqlnet.ora、tnsnames.ora 等)从 11.2.0.1 $ORACLE_HOME/network/admin(或 $TNS_ADMIN)位置复制到 11.2.0.2 $ORACLE_HOME/network/admin(或$TNS_ADMIN)位置
5) 如果配置了并使用了 DB Console/DB Control,将以下两个目录及其内容从 11.2.0.1 复制到 11.2.0.2。(如果未配置 DB Console/DB Control,则这些目录可能不存在。)
ORACLE_HOME/
ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_
请为
6) 确保为 Oracle Database 11g 版本 2 (11.2) 正确设置了 COMPATIBLE 初始化参数。如果未正确设置COMPATIBLE,则 Pre-Upgrade Information Tool 会在“Database”部分中显示警告。
7) 将初始化参数的值调整到至少为 Pre-Upgrade Information Tool 指示的最小值。对于安装了 JVM 的客户,必须在升级前将 java_pool_size 和 shared_pool_size 至少设置为 250MB,否则 JVM 升级可能会失败,并出现以下错误:
ORA-07445: exception encountered: core dump [qmkmgetConfig()+52] [SIGSEGV] [ADDR:0x18] [PC:0x103FFEC34] [Address not mapped to object] []
具体操作步骤:
?
操作步骤:(复制侦听,密码文件)

编辑环境变量

修 改/etc/oratab,该目录下也有ORACLE_HOME
[oracle@dave db_1]$ cat /etc/oratab

如果配置了并使用了 DB Console/DB Control,将以下两个目录及其内容从 11.2.0.1 复制到 11.2.0.2。(如果未配置 DB Console/DB Control,则这些目录可能不存在。)
ORACLE_HOME/
ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_
确保为 Oracle Database 11g 版本 2 (11.2) 正确设置了 COMPATIBLE 初始化参数。如果未正确设置 COMPATIBLE,则 Pre-Upgrade Information Tool 会在“Database”部分中显示警告。
必须在升级前将 java_pool_size 和 shared_pool_size 至少设置为 250MB,
加入参数:
create pfile from spfile ;
修改参数

最后生成spfile
SQL> create spfile from pfile ;
第 9 步
======
手动升级数据库。
1) 启动 sqlplus 并从新安装的目标 $ORACLE_HOME/rdbms/admin 下运行catupgrd.sql 脚本
sqlplus " / as sysdba "
SQL> spool /tmp/upgrade.log
SQL> startup upgrade
SQL> set echo on
SQL> @$ORACLE_HOME/rdbms/admin /catupgrd.sql;
SQL> spool off
SQL> Shutdown immediate
这个非常重要的步骤可以确保新的数据库软件的完整性和一致性。如果在启动数据库时碰到错误说参数文件中含有被废弃的初始化参数,那么从初始化参数文件中删除这些参数。如果需要的话,可以把 spfile 转换成 pfile 之后就可以编辑 pfile 并删除相关参数了。
执行 Post-Upgrade Status Tool $ORACLE_HOME/rdbms/admin/utlu112s.sql,它会提供一个关于升级的总结. 它会显示升级后各个数据库组件的状态和各个组件升级花费的时间。任何在升级中碰到的错误也会被列出,这些错误必须得到妥善的处理。
$ sqlplus "/as sysdba"
SQL> STARTUP
SQL> @utlu112s.sql
运行 $ORACLE_HOME/rdbms/admin 目录下的 catuppst.sql,完成不需要在数据库处于 UPGRADE 模式下操作的其它升级的动作:
SQL> @catuppst.sql
这个脚本可以和 utlrp.sql 并行运行. 在另一个 session 里运行 utlrp.sql 来重新编译剩下的 PL/SQL 和 Java代码:
SQL> @utlrp.sql
运行从下面文档中得到的 dbupgdiag.sql 来检查升级后数据库的完整性。
Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
如果 dbupgdiag.sql 发现了一些失效对象,那么多次执行 $ORACLE_HOME/rdbms/admin/utlrp.sql 来重新编译这些失效对象,直到失效对象的数目不再变化。
在重新编译这些失效对象之后,再次运行 dbupgdiag.sql 确认一切都是正常的。
升级后步骤
===================
1) 升级集群配置
如果您使用的是 Oracle 集群,那么您必须更新集群配置。
从 11.2.0.2 开始,upgrade 命令会将配置更新为正在运行的软件的版本。
您可以使用 srvctl 命令,例如:
srvctl upgrade database
这个命令会将数据库及其对应服务的配置信息更新至正在运行的软件的版本。
语法及选项如下:
srvctl upgrade database -d db_unique_name -o Oracle_home
Table A-161 srvctl upgrade database Options
选项描述
-d db_unique_name
数据库的 unique name
-o Oracle_home
ORACL