5. oracle rdbms bugs 修复与升级 (25 页)

Post on 17-Jun-2015

428 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Oracle RDBMS

BUG修复与升级

赵元杰

北京群环域科技有限公司

2012.2

2012年2月18日 Oracle 数据库维护技巧 2

内容提要

♠ 升级必要性问题

♠ Oracle系统的版本

♠ Oracle系统支持平台

♠ Oracle的Metalink网站

♠ 有关补丁的下载方法

♠ 有关补丁的安装方法

♠ 小结

2012年2月18日 Oracle 数据库维护技巧 3

Oracle系统升级必要性问题

♠Oracle系统版本技术支持有效期:

♠从销售、提供服务到中止服务一般5年:

2012年2月18日 Oracle 数据库维护技巧 4

Oracle系统升级必要性问题

♠Oracle系统版本技术支持有效期:

♠从销售、提供服务到中止服务一般5年:

2012年2月18日 Oracle 数据库维护技巧 5

Oracle系统升级必要性问题

♠Oracle系统版本BUG等:

♠如果Oracle系统存在BUG,你的应用经常触发这些错误,那你就得升级;

♠有时性能也需用升级;

♠你的服务器平台升级导致你也要升级;

2012年2月18日 Oracle 数据库维护技巧 6

Oracle系统升级版本限制问题

♠ Oracle系统版本与升级:

♠ Oracle系统升级一般不能跨两个版本;

2012年2月18日 Oracle 数据库维护技巧 7

Oracle系统升级版本限制问题

♠ Oracle系统版本与升级:

♠ EXP/IMP仍然是个好方法;

2012年2月18日 Oracle 数据库维护技巧 8

Oracle系统升级版本限制问题

♠ Oracle系统版本与升级:

♠有多种升级的方法;

方法 优缺点

Oracle Database Update

Assistant(GUI) 方便简单,但是不能对过低的版本升级

手工升级 掌握许多的内部技术与脚本方法等

Full EXP & IMP 可跨平台与版本,但速度慢

用SQL*Plus 拷贝

CTAS 与脚本 表与索引可从创建,但是存储过程只能从查询

2012年2月18日 Oracle 数据库维护技巧 9

Oracle 系统版本与平台

♠ Oracle系统的版本:

♠ 5位数字、维护版本、服务器版本号等

9.2.0.1.0

主数据库版本号

Main Database

Release Number

维护版本号

Main

Maintenance

Release

Number

应用服务版本号

Application

Server

Release

Number

平台细节版本号

Platform specific

Release Number

部件细节版本号

Component

specific

Release Number

2012年2月18日 Oracle 数据库维护技巧 10

Oracle系统支持的平台

♠ Oracle系统支持多个平台:

♠流行的硬件提供商;

♠各种流行的OS:

2012年2月18日 Oracle 数据库维护技巧 11

Oracle公司的Metalink网站

♠ Oracle公司提供的针对购买服务的网站:

♠可以查看产品的BUG;

♠升级的补丁;

♠安全补丁;

♠ Oracle系统问题的解答:

♠主要产品的问题解释;

2012年2月18日 Oracle 数据库维护技巧 12

Oracle公司的Metalink网站

♠ OracleMetaLink网站:

♠ 1.登录到Metalink;

2012年2月18日 Oracle 数据库维护技巧 13

Oracle公司的Metalink网站

♠ OracleMetaLink网站:

♠ 2.点击Login To Metalink ,进入“登录”用户画面,如图(输入完成用户意见名及口令后,点“Sign In”进入):

2012年2月18日 Oracle 数据库维护技巧 14

Oracle补丁下载方法

♠ 在OracleMetaLink网站:

♠ 1.在Quick Find 中选择Patch number,并在后面栏目输入rdbms,再点“Go”:

2012年2月18日 Oracle 数据库维护技巧 15

Oracle补丁下载方法

♠ 在OracleMetaLink网站: ♠ 2.点“Simple Search”进入查询选择窗口,如图:

♠ 3.在图4-3上,Product or Family 、RDBMS Server、Oracle 9.2.0.6、Patchset/Minipack及Solaris Operating System ( SPARC 64-bit ),然后点“GO”可查出需要的升级包。

♠ 4.点“3948480”,然后选择“Download”即可下载升级p3948480_9206_solaris64.zip包了。

2012年2月18日 Oracle 数据库维护技巧 16

Oracle补丁安装方法

♠ 主要步骤1: ♠ 假设下载的包已完成;

♠ 假设ORACLE_HOME=/export/home/oracle/product/9.2.0;

♠ 将p3948480_9206_solaris64.zip拷贝到/export/home/oracle/temp目录上

♠ cd /export/home/oracle/temp

♠ 解压到/export/home/oracle/temp目录上:

♠ $ unzip p3948480_9206_solaris64.zip

♠ (解压完成后会产生两个目录 Disk1和 Translations )

2012年2月18日 Oracle 数据库维护技巧 17

Oracle补丁安装方法

♠主要步骤2-设置环境变量:

♠要在Solaris下设置下面参数,并确保有效(Bourne, Bash, Korn shell ):

$ ORACLE_HOME=oracle_home

$ ORACLE_SID=sid

$DISLAY=192.168.3.6:0.0

$ export ORACLE_HOME ORACLE_SID DISPLAY

2012年2月18日 Oracle 数据库维护技巧 18

Oracle补丁安装方法

♠主要步骤3-关闭Oracle与监听器:

SQL>connect /as sysdba

SQL>

SQL>shutdown immediate

SQL>exit

$

$lsnrctl stop

2012年2月18日 Oracle 数据库维护技巧 19

Oracle补丁安装方法

♠主要步骤4-备份Oracle 系统:

SQL>connect /as sysdba

SQL>shutdown immediate

SQL>exit

--用cp拷贝/export/home/oracle/目录到 /4/目录上:

cp /export/home/oracle /4/

2012年2月18日 Oracle 数据库维护技巧 20

Oracle补丁安装方法

♠主要步骤5-运行升级包:

♠ $cd /export/home/oracle/temp/Disk1

♠ $ ./runInstaller

( 此时会出现 Oracle 10g 的安装画面 )

2012年2月18日 Oracle 数据库维护技巧 21

Oracle补丁安装方法

♠主要步骤6-表空间的要求:

♠ SYSTEM表空间和XDB表空间要有足够的空间

SQL>connect / as sysdba

SQL>spool /export/home/oracle/oper0930

SQL>startup

SQL> alter tablespace system add datafile '/4/oradata/system02.dbf' size 500m;

Tablespace altered.

SQL> alter tablespace xdb add datafile '/4/oradata/xdb02.dbf' size 200m;

Tablespace altered.

2012年2月18日 Oracle 数据库维护技巧 22

Oracle补丁安装方法

♠主要步骤7-修改实例的参数: ♠ 共享池 ( S H A R E D _ P O O L _ S I Z E ) 和 J a v a 池

(JAVA_POOL_SIZE)设置至少150MB以上 :

SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M'

SCOPE=spfile;

SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;

2012年2月18日 Oracle 数据库维护技巧 23

Oracle补丁安装方法

♠主要步骤8-升级操作:

♠连接到Oracle 帐户上,然后进行下面的操作

$ lsnrctl start

$ sqlplus /nolog

SQL>--连接到sysdba

SQL> CONNECT / AS SYSDBA

SQL>--将升级过程所产生的提示信息记录到patch文件中:

SQL>spool /export/home/oracle/patch.log

SQL>

SQL>--用STARTUP MIGRATE命令来执行升级:

SQL> STARTUP MIGRATE

SQL> --执行catpatch.sql创建Oracle内部数据字典、包等:

SQL>--运行catpatch.sql脚本需要至少1小时

SQL> @?/rdbms/admin/catpatch.sql

2012年2月18日 Oracle 数据库维护技巧 24

Oracle补丁安装方法

♠主要步骤9-升级操作:

♠当提示“ SQL>”后,表明升级操作完成,可关闭Oracle实例然后再启动:

SQL> SHUTDOWN

SQL>--然后再启动Oracle实例:

SQL> STARTUP

SQL>--运行utlrp.sql重编译无效PL/SQL包:

SQL> @?/rdbms/admin/utlrp.sql

PL/SQL procedure successfully completed.

2012年2月18日 Oracle 数据库维护技巧 25

Oracle补丁安装方法

♠主要步骤10-无效对象的处理方法:

♠当使utlrp.sql脚本编译后,可能还存在个别对象还是无效,这些可能是由于新环境的缺少权限导致,建议授予相关权限再编译;再就是对源代码进行修改:

SQL>--授予xx权限给用户:

SQL>GRANT PUBLIC TO USER01;

SQL>

SQL> SELECT dbms_metada.get_ddl(‘PROCEDURE’,’PROC1’) from dual;

2012年2月18日 Oracle 数据库维护技巧 26

Oracle系统升级小结

♠ Oracle系统升级考虑的关键: ♠ 应用是否能停止使用;

♠ 停止使用的最多时间与升级或迁移需要的最小时间;

♠ 非停机升级或迁移的方法与技术实现;

♠ Oracle系统升级模拟与演练: ♠ 搭建类似的平台(硬件与软件);给出可性的方案;

♠ 将升级或迁移写完整的步骤与脚本;

♠ 按照预先的方案试验与记录任何问题;

♠ 对存在问题进行解决,再试验到成功并试运行应用;

♠ Oracle系统升级的时机: ♠ 必须选择各方都能认可的时间段,做好各种进退准备;

♠ 各方技术人员的协调;

♠ 确认成功并逐步放开使用,并观察与及时解决问题。

top related