Oracle支持周期

?
Oracle对自己产品也一样,对于自己的产品在不同的时期,支持的强度是不一样的。
大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Extended Support(中等优先级的支持),Sustaining Support(最低优先级的支持)
1.从产品发布为期5年的标准支持服务期-Premier support
2.随后为期3年的延展支持服务期---------extended support
3.接下来进入持久支持服务期--------------sustaining support
不过根据不同的周期划分,Oracle的支持费用将会不同,在延展服务器内,第一年将会加收10%的费用提供支持,第二年加收20%的费用提供支持,第三年也是加收20%的费用提供支持。
Oracle11g数据库的推出,oracle数据库的升级成为必然。升级包括数据库软件的升级和数据库的升级两部分。
升级路线图

?
大概的升级步骤:
(1) 备份数据库
(2) 运行patchset,升级oracle 软件
(3) 准备新的ORACLE_HOME
(4) 运行dbua 或者脚本升级实例
(5) 检查升级后的版本信息和无效对象
升级补丁包选择
Metalink文档id:1922396.1会更新需要的补丁号

升级方法选择
关于方法有很多,每种有各自的特点,根据特点选择合适的升级方式。
?

?

可以选择参考文档id 1674333.1和1602485.1分别是9i和11g升级到最新的11gR2

?
第 1 步
======
下载 11.2.0.2 或更高版本的 RDBMS 软件。
第 2 步
======
将最新的 11.2 RDBMS 软件安装到新的 ORACLE_HOME 中。
运行Patchset 的runInstaller。
./runInstaller

这里要注意,我们之前讲过11gR2的Patchset 可以直接用来安装。在这个界面就可以选择操作类型,这个功能比较方便,从而也导致patchset 越来越大,我们这里选择upgrade an existing database。

注意这里的安装位置,我之前的安装目录是11.2.0. 这里我改成了11.2.0.4. 即将oracle安装到其他位置,这样可以减少宕机时间,也是oracle 推荐的方法。
第 3 步
======
安装最新的 11.2 RDBMS 软件之后,用以前的 ORACLE_HOME 中启动 11.2.0.1实例,对正在运行的以前的实例执行 11.2.0.2 的$ORACLE_HOME/rdbms/admin/utlu112i.sql脚本,并将输出 spool 至一个文件。原来目录执行新脚本。
不论您是使用 DBUA 还是手动升级,均必须运行 Pre-Upgrade Information Tool。否则可能会遇到错误:
1. Log in to the system as theowner of the environment of the database being upgraded.
Important:
The Pre-UpgradeInformation Tool must be copied to and must be run from the environment of thedatabase being upgraded.
注意,这里必须调用新的ORACLE_HOME 下脚本。
2. Start SQL*Plus.
3. Connect to the databaseinstance as a user with SYSDBA privileges.
4. Set the system to spool resultsto a log file for later analysis:
SQL> SPOOL upgrade_info.log
5. Run the Pre-Upgrade InformationTool:
SQL>@/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql
6. Turn off the spooling of scriptresults to the log file:
SQL> SPOOL OFF
第 4 步
======
运行以下 My Oracle Support 文章中的 dbupgdiag.sql 脚本,验证 dba_registry中的所有组件有效并且 dba_objects 中没有无效的数据字典对象。
如果 dbupgdiag.sql 脚本报告了任意无效对象,则运行$ORACLE_HOME/rdbms/admin/utlrp.sql(可能需要多次)以使数据库中的无效对象变为有效,直至无效对象数不发生变化为止。
第 5 步
=====
禁用所有批处理和 cron 作业,然后执行数据库的完整备份。
1. 登录 RMAN:
rman "target / nocatalog"
2. 运行以下 RMAN 命令:
RUN
{
ALLOCATE CHANNEL chan_name TYPE DISK;
BACKUP DATABASE FORMAT 'some_backup_directory%U' TAG before_upgrade;
BACKUP CURRENT CONTROLFILE FORMAT 'controlfile location and name';
}
第 6 步
=======
干净的关闭数据库。
操作步骤:

第 7 步(仅限 Windows 平台)
========================
1) 将环境变量 ORACLE_HOME 设置为指向 11.2.0.1 安装。
2) 停止指向 11.2.0.1 安装的 Oracle 数据库服务。
C:\> NET STOP OracleServiceORCL
3) 使用 %ORACLE_HOME%\bin\ORADIM 可执行程序删除 11.2.0.1 Oracle 服务。
C:\> ORADIM -DELETE -SID ORCL
4) 将环境变量 ORACLE_HOME 设置为指向 11.2.0.2 安装。
5) 将 init.ora/spfile 和口令文件 (orapw
6) 将网络配置文件(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%)位置。
7) 如果配置并使用了 DB Console/DB Control,将以下两个目录及其内容从 11.2.0.1 复制到 11.2.0.2。(如果未配置 DB Console/DB Control,则这些目录可能不存在。)
ORACLE_HOME/
ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_
8) 使用 11.2.0.2 的可执行程序,在命令提示符下创建 Oracle 11.2.0.2 服务。
%ORACLE_HOME%\bin\ ORADIM
C:\> ORADIM -NEW -SID SID -SYSPWD PASSWORD -STARTMODE AUTO -PFILE %ORACLE_HOME%\DATABASE\INIT
例如:
C