读书笔记整理一:数据库的安装,升级,打补丁

sql脚本(utlu112i.sql,在$ORACLE_HOME/rdbms/admin下面)分析要升级的数据库
检查是否存在可能导致升级失败的参数设置并生成警告

升级前信息工具将检查以下内容:
数据库版本和兼容性
重做日志大小
更新后的初始化参数(例如SHARED_POOL_SIZE)
废弃的或过时的初始化参数
数据库中的组件(JAVAVM、Spatial 等)
表空间估计:总大小的增加,增加AUTOEXTEND ON 的分配,SYSAUX 表空间

升级前信息分析
安装了Oracle Database 11g 后,应在将其升级到新版本之前对数据库进行分析。该项分析通
过运行升级前信息工具完成。如果是手动进行升级,则必须执行此步骤。此外,建议在使用
DBUA 进行升级时也执行此步骤,以便可以预览DBUA 检查的项目。升级前信息工具是一个
与Oracle Database 11g 一起提供的SQL 脚本,必须将其复制到要升级的数据库环境中,并从
该环境中运行。要运行该工具,请执行以下步骤:
1. 以Oracle Database 11g Oracle 主目录所有者的身份登录系统。
2. 将升级前信息工具(utlu111i.sql) 从Oracle Database 11g 的
ORACLE_HOME/rdbms/admin 目录复制到Oracle 主目录以外的某个目录(如
/tmp)。
3. 以要升级的数据库的Oracle 主目录所有者的身份登录系统。
4. 更改至将文件复制到的目录,然后启动SQL*Plus。
5. 以具有SYSDBA 权限的用户身份连接到数据库实例。
6. 设置系统以便将结果假脱机到某个日志文件,以供日后分析使用:
SQL> SPOOL upgrade_info.log
7. 运行升级前信息工具:
SQL> @utlu111i.sql
8. 关闭将脚本结果假脱机到日志文件的功能,然后在upgrade_info.log 中检查升级前
信息工具的输出。

STARTUP UPGRADE 将禁止显示正常的升级错误:
. 仅将真实的错误假脱机。
. 自动处理可能在升级过程中导致问题的系统参数设置:
– 关闭作业队列
– 禁用系统触发器
– 仅允许AS SYSDBA 连接
– 替换Oracle Database 9i 版本2 中的STARTUP MIGRATE
. 要进行升级,请按以下方式启动数据库:
SQL> STARTUP UPGRADE

STARTUP UPGRADE
使用STARTUP UPGRADE 可以打开基于较早Oracle DB 版本的数据库。它还可以将登录
限制为AS SYSDBA 会话,禁用系统触发器,以及执行附加操作以准备升级环境
(部分操作已在本幻灯片中列出)。
要升级候选的数据库,请按以下说明操作:
1. 正确设置ORACLE_SID。
oratab 文件应指向Oracle Database 11g 的Oracle 主目录。以下环境变量指向Oracle
Database 11g 目录:
ORACLE_HOME
PATH
2. 以Oracle Database 11g Oracle 主目录所有者的身份登录系统。
3. 系统提示时,定位至ORACLE_HOME/rdbms/admin 目录和SQL*Plus。
4. 以具有SYSDBA 权限的用户身份连接到数据库实例。
5. 通过发布以下命令启动该实例:
SQL> STARTUP UPGRADE

升级性能增强功能
对多处理器CPU 上的无效PL/SQL 数据库对象进行并行重
新编译:
* utlrp.sql 现在可以利用多个CPU 来缩短重新编译
任何存储的PL/SQL 和Java 代码所需的时间。
* UTL_RECOMP 可以根据CPU_COUNT 和
PARALLEL_THREADS_PER_CPU 自动确定并行程度。

该脚本是一个基于UTL_RECOMP 程序包的包装程序。UTL_RECOMP 提供了一个更通用的
重新编译界面,其中包括用于在单个方案中重新编译对象的选项。有关详细信息,请参阅
UTL_RECOMP 的文档。
默认情况下,此脚本将调用utlprp.sql 脚本,所用的重新编译并行度为0。也就是
说,UTL_RECOMP 根据Oracle CPU_COUNT 和PARALLEL_THREADS_PER_CPU 参数自
动确定适当的并行程度。如果将该参数设置为1,则使用串行重新编译。

升级后状态工具
运行utlu111s.sql 以显示升级的结果:
* 错误记录现在可为每个组件提供更多信息
* 复查每个组件的状态并列出占用时间
* 提供有关无效或不正确的组件升级的信息
* 升级完成后运行此工具,以查看错误并检查组件的状态

升级后状态工具会在假脱机日志的结尾处提供升级的概要。它可以显示已升级数据库中的
数据库组件状态,以及完成每个组件升级所需的时间。升级过程中发生的任何错误都与每
个组件一起列出,并且必须加以解决。
运行utlu111s.sql 以显示升级的结果。

升级过程
准备升级
1. 熟悉Oracle Database 11g 版本1 的功能。
2. 确定升级路径。
3. 选择升级方法。
4. 选择一个OFA 兼容的Oracle 主目录。
5. 准备备份和恢复策略。
6. 制定一个测试计划以测试数据库、应用程序和报表。

Oracle Database 11g 版本1:升级路径
. 支持从9.2.0.4 或更高版本、10.1.0.2 或更高版本以及
10.2.0.1 或更高版本直接升级至11g。
. 如果您的版本不是上述版本之一,则需要执行“双中继段”
升级。
. 示例:
– 7.3.4--->9.2.0.8--->11.1
– 8.1.7.4--->9.2.0.8--->11.1

选择升级方法
. Database Upgrade Assistant (DBUA)
– 自动化的GUI 工具,可通过交互方式指导用户按步骤完
成升级过程,并可配置数据库以便与Oracle Database
11g 版本1 一起运行
. 手动升级
– 使用SQL*Plus 执行所有必需的操作以准备升级,运行
升级脚本,并分析升级结果
. 导出和导入实用程序
– 使用数据泵或原始导出/导入
. CREATE TABLE AS SELECT 语句

Oracle Database 11g 版本1 支持使用以下工具和方法将数据库升级至新的版本:
* Database Upgrade Assistant (DBUA) 提供一个图形用户界面(GUI),用于指引用户完
成数据库升级。DBUA 可在安装过程中与Oracle Universal Installer 一起启动,也可以
在以后随时将DBUA 作为独立的工具启动。DBUA 是执行主版本升级或补丁程序版
本升级的推荐升级方法。
* 可以使用SQL 脚本和实用程序提供的命令行数据库升级功能来执行手动升级。
* 导出和导入实用程序:使用Oracle 数据泵的导出和导入实用程序(从Oracle Database
10g 版本1 (10.1) 开始提供)或者原始的导出和导入实用程序,从数据库执行全部或
部分导出,然后再对新的Oracle Database 11g 版本1 数据库执行全部或部分导入。
导出/导入可以复制数据的一个子集,但不改动数据库。
* CREATE TABLE AS SELECT 语句可以将某个数据库中的数据复制到新的Oracle
Database 11g 版本1 数据库中。数据复制可以复制数据的一个子集,但不改动数据
库。

Database Upgrade Assistant升级的优缺点
优点:
– 自动完成所有任务
– 可执行版本升级和补丁程序集升级
– 支持RAC、单实例和ASM
– 可通知用户和修复升级先决条件
– 自动报告在假脱机日志中发现的错误
– 提供完整的升级过程HTML 报表
– 命令行界面支持ISV 实现自动操作
缺点
– 对单个升级步骤的控制较少

Database Upgrade Assistant:优点和缺点
Database Upgrade Assistant (DBUA) 可指引用户完成升级过程,并可为新版本配置数据
库。DBUA 可实现升级过程的自动化,并可针对配置选项(如表空间和重做日志)提出合
理化建议。运行升级操作时,DBUA 将显示每个组件的升级过程。DBUA 将编写详细的
跟踪文件和日志文件,并生成完整的HTML 报告以供日后参考。为了增强安全性,
DBUA 会在已升级的数据库中自动锁定新用户帐户。然后,DBUA 会在新的Oracle 主目
录中新建配置文件(初始化参数文件和监听程序文件)。
如果DBA 要求增加对升级过程中单个步骤的控制,仍可使用手动升级。但是,通常情况
下,手动升级方法更容易出错,更难以实现自动化,而且所需的工作量也比使用DBUA
升级要大。

Database Upgrade Assistant (DBUA)
* DBUA 是一种用于执行数据库升级的GUI 和命令行工
具。
* 使用向导界面可以:
– 使升级进程实现自动化
– 简化升级问题的检测和处理过程
* 支持升级到11g 的版本:
– 9.2, 10.1, 和10.2
* 补丁程序集升级:
– 支持的版本:10.2.0.3 及更高版本
* 支持以下数据库类型:
– 单实例
– Real Application Clusters
– 自动存储管理

DBUA 的主要功能
配置文件:
– 在新的ORACLE_HOME 中创建init.ora 和服务器参数文件
– 更新网络配置
– 使用OFA 兼容位置
– 更新Oracle Internet Directory 数据库信息
* Oracle Enterprise Manager:
– DBCA 允许设置和配置EM DB Control。
– DBCA 允许将数据库注册到EM Grid Control。
– 如果正在使用EM,则DBCA 允许升级EM 目录以及进行必要
的配置更改。
* 记录和跟踪
– 写入详细的跟踪文件和日志文件
(ORACLE_BASE/cfgtoollogs/dbua/<sid>/upgradeNN)

最大限度地缩短停机时间:
– 通过禁用归档加快升级速度
– 以并行方式重新编译程序包
– 升级开始后无需用户交互
. 安全功能
– 在已升级的数据库中锁定新用户
. Real Application Clusters:
– 升级所有节点
– 升级所有配置文件

命令行语法
. 无提示模式运行
. 备份位置
. 自定义脚本
. 初始化参数
. 帮助
. EM 配置
$ dbua –silent –dbName <Oracle database>
$ dbua -postUpgradeScripts
$ dbua –initParam
$ dbua -help
$ dbua –emConfiguration

命令行语法
如果使用-silent 命令行选项调用DBUA,则DBUA 将以无提示模式运行。在无提示
模式下,DBUA 不显示用户界面。DBUA 还会将所有消息(包括信息、错误和警告)写
入ORACLE_HOME/cfgtoollogs/dbua/SID/upgraden 目录中的日志文件(其中n
是DBUA 截至此次升级为止所执行的升级次数)。
例如,以下命令将以无提示模式升级数据库ORCL:
$ dbua -silent -dbName ORCL &
以下是可以使用的重要选项列表:
. -backupLocation directory 指定升级开始前备份数据库的目录。
. -postUpgradeScripts script [,script] 指定以逗号分隔的SQL 脚本列
表。指定完整的路径名称。脚本在升级结束时执行。
. -initParam parameter=value [,parameter=value] 指定以逗号分隔的初
始化参数值(使用name=value 形式)列表。
. -emConfiguration {CENTRAL|LOCAL|ALL|NOBACKUP|NOEMAIL|NONE} 指定
Oracle Enterprise Manager 管理选项。
注:有关这些选项的详细信息,请参阅《Oracle Database Upgrade Guide 11g》指南。

安装热补丁程序
应用热补丁程序不需要关闭实例、重新链接Oracle
二进制文件或重新启动实例。
* OPatch 可用于安装或卸载热补丁程序。
* OPatch 可以检测两个热补丁程序之间以及热补丁程序
与常规补丁程序之间的冲突。

与常规补丁机制不同,应用热补丁程序不需要关闭或重新启动实例。
与常规补丁类似,可以使用OPatch 来安装热补丁程序。
可以使用以下命令来确定某个补丁程序是否为热补丁程序:
opatch query -is_online_patch <patch location> or
opatch query <patch location> -all
注:打过补丁的代码将作为动态/共享库提供,该库随后会被每个Oracle 进程映射至内存
中。

热补丁的优点
无停机时间,不中断业务
* 安装和卸载速度极快
* 与OPatch 集成:
– 检测冲突
– 在补丁程序清单中列出
– 在RAC 环境中工作
* 虽然不改变磁盘上的Oracle 二进制文件,但热补丁程序
在实例关闭和启动时都保持有效。

在应用热补丁程序时无需关闭数据库实例。与常规补丁不同,热补丁的安装和卸载速度极
快。因为热补丁使用OPatch,因此可以获得使用OPatch 的常规补丁已有的所有优点。不
管多少次关闭数据库,也不管关闭数据库的时间有多长,热补丁程序在实例关闭和启动时
始终保持有效。

热补丁注意事项
可能不是所有平台上都有热补丁程序。当前在以下平台
上有热补丁程序:
– Linux x86
– Linux x86-64
– Solaris SPARC64
* 要消耗一些额外的内存。
– 确切的内存数取决于:
— 补丁程序的大小
— 当前运行的Oracle 进程数
– 最小内存数:每个Oracle 进程大约占一个OS 页面

热补丁注意事项
一个操作系统(OS) 页面在Linux x86 上一般为4 KB,在和Solaris SPARC64 上为8 KB。
在平均大约一千个Oracle 进程同时运行的情况下,这意味着一个小型的热补丁程序大约
额外占用4 MB 内存。

热补丁注意事项
在每个Oracle 进程安装或卸载热补丁程序之前,可能会有
一段极短的延迟(几秒)。
* 并非所有bug 修复和诊断补丁程序都可用作热补丁程序。
* 不能在停机时间使用热补丁程序。
* 如果可能有停机时间,则应以常规补丁程序方式安装所有
相关的bug 修复。

极大部分诊断补丁程序可作为热补丁程序提供。对于bug 修复,则具体取决于其性质。并
非每个bug 修复或诊断补丁程序都可用作热补丁程序。但热补丁工具的长期目标是为关键

补丁程序更新提供热补丁功能。


-----------------------------整理自11g New Feature一书,下载地址http://download.csdn.net/detail/skybluehao/4460607    oracle官方的文档,还是可以看看的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值