Oracle 11g数据库软件主要由三个部分组成:
- 首先是通过补丁集所安装的基础版本, 2.0.3.0。
- 其次是在补丁集的基础上安装PSU(Patch Set Update)补丁程序,该补丁程序每三个月发布一次,其中包含对多个重要Bug的补丁。
- 最后是所安装的多个单个补丁程序(One-off patch)。
本规范确定所采用的Oracle 11g软件,其补丁集的版本是11.2.0.3.0。对于将安装的PSU 和单个补丁程序,下文将进行详细的说明。
Patch Set Updates
Document | Description | Rolling RAC | Patch Download |
Note:14727310.8 | 11.2.0.3.5 Database Patch Set Update (PSU) | Yes | Patch:14727310 |
Grid Infrastructure
Document | Description | Rolling RAC | Patch Download |
Note:14727347.8 | 11.2.0.3.5 Grid Infrastructure Patch Set Update (GI PSU) | Yes | Patch:14727347 |
确定以上补丁所使用的参考文档如下:
- Oracle Recommended Patches — Oracle Database (Doc ID 756671.1)
- Oracle网站上的页面“Critical Patch Updates, Security Alerts and Third Party Bulletin”。
- My Oracle Support网站上“Recommended Patch Advisor”的查询结果。
- 2.0.3 Patch Set – Availability and Known Issues (Doc ID 1348336.1)
参考Note 14727310.8
参考 Note 14727347.8
对于DB软件的11.2.0.3版本,在安装了PSU补丁之后,还可能存在没有被修正的一些Bug。
本节将根据MOS支持网站上的文档:
- Oracle Databsae Patch Set Update Known Issues
对其中所列出的已知问题进行检查,以确定是否还需要安装单个的补丁程序。
暂无。
暂无。
对于GI软件,当前没有需要安装的单个补丁。
对于Grid Infrastructure软件的11.2.0.3版本,在安装了PSU补丁之后,还可能存在没有被修正的一些Bug。本节将根据My Oracle Support支持网站上的文档:
- 2.0.3 Patch Set – Availability and Known Issues (Doc ID 1348336.1)
- Oracle Grid Infrastructure Patch Set Update Known Issues (Doc ID)
对其中所列出的已知问题进行检查,以确定是否还需要安装单个的补丁程序。
同时还将借鉴其他客户的经验、其它文档等。
文档“11.2.0.3 Patch Set – Availability and Known Issues”的原文中,分为了三个小节,因此本文也同样分为三个部分进行分析:
- General Alerts / Issues:一般性问题。
- Upgrade Issues:升级中可能会遇到的问题。
- Issues introduced in 11.2.0.3:2.0.3版本所引发的问题。
执行本次检查时该文档的更新日期是“”。
对于检查结果,在下面的表格中使用了不同的底色以作区分:
- 橘黄色表示需要安装补丁。这是因为该Bug目前已经有单个补丁了,并且对当前的应用有影响,
- 灰色表示对该Bug需要保持跟踪。这是因为该Bug目前没有单个补丁,或者相关问题对于系统的影响尚不明确。
- 白色表示目前不需要安装补丁。这是因为该Bug或者已经在2.0.3.5版本中被修正,或者已经有Workaround,或者在当前应用环境中不会被触发。
Issues introduced in 11.2.0.3
This section lists bugs introduced in 11.2.0.3 (if any). Such issues may be either serious or trivial but the aim is to list them all to help customers assess the risk of applying the Patch Set on top of 11.2
执行本次检查时该文档的更新日期是“”。
根据该文档,当前还没有已知问题。
下表的补丁来自Oracle内部网站、最佳实践等,包括:
- Oracle内部网站RAC assurance上所推荐的补丁。
- SSC团队发现的问题。
- 测试/使用中发现的问题
下表的补丁来自客户的数据库系统在测试和使用中所发现的问题。
通过实际安装测试,上面所分析的、需要安装的单个补丁没有遇到有补丁冲突的情况,都可以安装。
DB Home中所安装的单个补丁列表及其所修正的Bug如下列出:
以下列出了当前没有补丁、但是可以通过修改参数来处理的Bug及其对应的初始化参数列表:
将11g的软件安装在一个单独的Oracle Home中。
对于Oracle 11g RAC系统,需要安装两个独立的Oracle软件,即Grid Infrastructure和Database,这两个部分分别归属于不同的Oracle Home。
为简化管理,对于这两个Oracle Home,其owner只使用一个操作系统用户,即oracle。
组也指定一个dba
仍然使用dba 组
仍然使用oracle
创建操作系统组和用户所使用的命令可以参考下面:
在11gR2中,ORACLE_BASE环境变量从以前版本的可选配置成为了必选配置(详细请参见MOS网站上的文档“11g Install : Understanding about Oracle Base, Oracle Home and Oracle Central/Global Inventory locations(Note: 454442.1)”。
根据该文档的推荐,ORACLE_BASE以及其它相关的环境变量设置为:
环境变量 | 设置值 | 说明 |
ORACLE_BASE | /home/oracle/oracle | |
ORACLE_HOME | /oracle/11.2.0.3/db | |
GRID_HOME | /oracle/11.2.0.3/grid | 简化路径的长度 |
2.16 数据库trace目录
Diag_trace :$ORACLE_BASE/diag
Global Inventory目录用来存放该主机上安装的全部Oracle产品,根据MOS网站上的文档“11g Install : Understanding about Oracle Base, Oracle Home and Oracle Central/Global Inventory locations(Note: 454442.1)”的说明,将其定义为:
$ORACLE_BASE/oraInventory
对于不同的Oracle软件,或者不同版本的Oracle软件,需要存放在单独的Oracle Home中。
Home类型 | 目录 | 容量 | 说明 |
Grid Infrastructure | /oracle/11.2.0.3/grid | 10GB | 存放GI软件及其日志 |
Database | /oracle/11.2.0.3/db | 10GB | 存放数据库软件及其日志 |
Oracle的正常运行还需要足够的系统权限。
修改kernel
- Maxdsiz 1073741824 (1 GB)
- maxdsiz_64bit 2147483648 (2 GB)
- Maxfiles 1024
- maxfiles_lim 63488
- Maxssiz 134217728 (128 MB)
- maxssiz_64bit 1073741824 (1 GB)
- Maxuprc 3686
为运行异步方式,oracle用户还需要增加如下的MLOCK权限:
#mknod /dev/async c 101 0x4
#chmod 660 /dev/async
#chown oracle:dba /dev/async
- # /usr/sbin/setprivgrp dba MLOCK TTSCHED RTPRIO
- # vi /etc/privgroup
This should contain dba MLOCK RTSCHED RTPRIO - # cat /etc/privgroup
dba MLOCK RTSCHED RTPRIO
11g Clusterware必须使用的OCR和Voting disk文件存放在在ASM上,
用途 | Asm 盘 | 容量 | 说明 |
Voting disk & OCR | CRS | 10g | Asm 存放voting & OCR |
在安装11g RAC集群软件之前,要求提供一些IP地址,这些地址由Oracle Clusterware所使用。具体是:
- 对于集群中的每个节点,提供一个公网地址,作为客户端连接数据库的VIP地址。
- 对于一个Oracle RAC集群,提供一个公网地址,作为集群的SCAN VIP地址。
说明:除下文列出的参数外,其余参数均使用其缺省值。
下表列出了升级到11g后新增的初始化参数,这些参数的配置值需要与下表一致。
参数名称及其设置值 | 说明 | 目的 |
memory_target = 0
sga_target = 0 _memory_imm_mode_without_autosga = false |
禁用SGA自动调整大小(即AMM/ASMM)。
参考:SGA Re-Sizes Occurring Despite AMM / ASMM Being Disabled (Doc ID 1269139.1) |
|
deferred_segment_creation = false | 禁用Deferred Segment Creation特性 | |
recyclebin = off | 禁用回收站 | |
optimizer_dynamic_sampling = 2 | 缺省值 | 没有统计信息时,允许Oracle进行动态采样 |
diagnostic_dest = /oracle/11.2.0.3/diag | 将Oracle所产生的trace文件存放于单独的文件系统 | |
parallel_force_local = true
parallel_execution_message_size = 32768 |
禁用跨实例的并行服务器
增大并行服务器所使用的消息缓存 |
|
_undo_autotune = false
undo_retention = 10800 |
禁用Auto Undo | |
_optimizer_adaptive_cursor_sharing = false
_optimizer_extended_cursor_sharing = none _optimizer_extended_cursor_sharing_rel = none |
禁用Adaptive Cursor Sharing特性 | |
_cleanup_rollback_entries = 400 | 加快事务的回滚/恢复 | |
_gc_policy_time = 0 | 禁用RAC的DRM特性 | |
_external_scn_rejection_threshold_hours = 24 | 缺省值 | 避免数据库的SCN过快增长 |
_use_adaptive_log_file_sync= false | MOS 1462942.1 Adaptive Switching Between Log Write Methods can Cause ‘log file sync’ Waits | |
_like_with_bind_as_equality | True | |
_gby_hash_aggregation_enabled = false | MOS 345048.1 ‘Group By’ Does Not Guarantee a Sort Without Order By Clause In 10g and Above | |
_clusterwide_global_transactions = false |
global_txn_processes = 1
_ASH_SIZE
下表列出升级前后数据库初始化参数的变化。
序号 | 参数 | 9i中的设置值 | 11g中 | 变更 |
1 | log_archive_start | true | 该参数已经废弃 | 删除 |
2 | hash_join_enabled | true | 该参数已经废弃 | |
3 | background_dump_dest | /oracle/app/admin/orayy3/bdump | 由diagnostic_dest 参数确定 | |
4 | user_dump_dest | /oracle/app/admin/orayy3/udump | ||
5 | cluster_interconnects | odx1a = ‘172.19.242.110’
odx1b = ‘172.19.242.112’ |
使用OCR中的设置值 | |
6 | compatible | 9.2.0.0.0 | 11.2.0.0.0 | 修改 |
7 | log_archive_format | yy3a%t%S.ARC
yy3b%t%S.ARC |
yy3a-%t-%s-%r.arc
yy3b-%t-%s-%r.arc |
修改 |
8 | sga_max_size
db_cache_size db_keep_cache_size |
Keep same | 修改 | |
9 | shared_pool_size | 6G | 10G | 修改 |
10 | java_pool_size | 32M | 512M | 修改 |
11 | audit_file_dest | /oracle/11.2.0/db/audit | 修改 | |
12 | _shared_pool_reserved_pct | 5 | 10
避免/减少ORA-4031错误 |
说明:
下表列出了升级到11g后不变的初始化参数,这些参数的配置值需要与下表一致。
参数名称及其设置值 | 说明 | 目的 |
下表列出升级前后数据库初始化参数的变化。
序号 | 参数 | 上线前的设置值 | 上线后的设置值 | 变更 |
1 | ||||
2 |
在每台数据库主机上使用归档文件系统用于存放:
- oracle运行中所产生的trace、log、审计文件等。
# For Oracle OSWatcher black box utility
export OSWBB_ARCHIVE_DEST=/arch/oswbb_arch
## Oracle OSWatcher Black Box Tool,
* * * * * cd /ggs/oswbb; nohup ./startOSWbb.sh 60 240 1>/ggs/oswbb/startOSWbb.log 2>&1 &
exec dbms_stats.gather_dictionary_stats;
exec dbms_stats.gather_fixed_objects_stats;
select dbms_stats.get_prefs( ‘AUTOSTATS_TARGET’ ) FROM DUAL;
exec DBMS_STATS.SET_GLOBAL_PREFS( pname => ‘AUTOSTATS_TARGET’, pvalue => ‘ORACLE’ );
exec dbms_scheduler.disable( ‘ORACLE_OCM.MGMT_CONFIG_JOB’ );
exec dbms_scheduler.disable( ‘ORACLE_OCM.MGMT_STATS_CONFIG_JOB’ );
New 11g Default Jobs (Doc ID 755838.1)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=orayy3)
(SID_NAME = oyy3a)
(ORACLE_HOME = /oracle/app/oracle/product/11.2.0/dbhome_1 )
)
)
grant create view to connect;
grant create table to connect;
grant alter session to connect;
grant create cluster to connect;
grant create session to connect;
grant create synonym to connect;
grant create sequence to connect;
grant create database link to connect;
grant debug connect session to connect;
本节讨论是否启用11gR2版本的一个新特性——Deferred Segment Creation。
参考文档
- 2 Database New Feature Deferred Segment Creation [Video] (Doc ID 887962.1)
概述
“Deferred Segment Creation”特性是11.2版本的Oracle数据库所提供一种新的存储空间分配方法。在创建堆表时(从11.2.0.3开始,包含分区表),segment的创建操作将延迟到插入第一行记录时。该特性通过初始化参数deferred_segment_creation设置为TRUE来启用,或者在CREATE TABLE/ALTER TABLE语句中通过segment creation deferred选项来设定。
优势
- 可能会显著节省磁盘空间。
- 应用程序的安装时间会减少,因为表的创建仅仅是数据字典操作。
劣势:
- 在插入第一行记录的时候,系统会为基表及其LOB字段、索引创建Segment。在这个过程中,与该表相关的cursors对象会被失效。这些操作对性能会略有影响。
建议
为减少数据库升级以及后续的与应用程序磨合过程中,对系统可能的影响,尽量保证升级平稳完成。建议对于关键系统,不启用此特性。
10g中DBA无需手工收集Statspack报告,相同的功能已经由数据库自动管理的AWR报告所取代。DBA需要的工作是定义AWR快照的采样间隔与保存时间。
缺省情况下:
? 系统每间隔60分钟收集一次快照
? 系统保留最近7天的AWR快照,过期的部分系统将自动清除。
根据贵州移动的情况,我们建议:
? 快照采集时间保持系统缺省值,即每间隔60分钟收集一次快照。在特殊需要时,比如性能优化,根据需要临时进行调整,当性能优化工作结束后,仍恢复为60分钟。
? 系统保留最近90天的AWR快照,便于进行系统性能、负载状况的对比。
可能导致宕机,在两个节点上执行:
停止:
rsctl stop res ora.crf -init
禁止自动启动:
crsctl modify res ora.crf -attr “AUTO_START=never” -init
crsctl disable crs
Leave a Reply