注:以下内容如未明了指定用户,默认均为oracle用户操纵。
预备事变 --安装补丁包:
1.下载补丁包p5337014_10203_LINUX.zip并解压unzip p5337014_10203_LINUX.zip
2.收场合有数据库做事,监听等
3.备份数据库,冷备热备均可,但必需是完备 备份。推举冷备,一旦有题目规复也快。
4.安装补丁包:
[oracle@jsslinux oraupdate]$ cd Disk1
[oracle@jsslinux Disk1]$ ./runInstaller
服从提醒不停下一步,直到:如图
打开一个终端窗口:
[oracle@jsslinux ~]$ su - root
推行 提醒的脚本,本例中:
[root@jsslinux ~]# /opt/ora10g/product/10.2.0/db_1/root.sh
完成后封闭终端,返回安装界面,断定。如图
这个时间别忙着启动数据库,补丁打完了,还必要 升级数据库才行。
下面进入重头戏--升级数据库
选择题如下:
A. 应用 DBUA升级(图型化界面,操纵大略 ,听说堕落机率高)
B. 手工升级(字符界面,操纵稍复制,听说堕落机率低)
选A,好,我不得不说,这不是一个不明智的选择。
以oracle用户登岸
打开终端,设置好环境 变量$ORACLE_HOME,$ORACLE_SID,$PATH
推行 dbua
[oracle@jsslinux ~]$ dbua
看到迎接界面,如图
下一步,服从提醒选择数据库(假如你要操纵的数据库不在列表中,手工批改/etc/oratab添加SID),留意 "升级完成后编译无效器材 "的选项,提议选中,接着下一步。假如在操纵之前没有备份数据库,可以在此选择备份。dbua推行 的是冷备,必要 预计 好磁盘剩余空间。点击下一步,oracle起头升级操纵,如图
假如运气好即没碰上bug,也没承受过错,那就可以finish了,如图
升级完成,Oracle主动 打开数据库,赶紧 毗连 进去看看数据是否还在:)
选B,好,我不得不又说,这不是一个不明智的选择。
1、以oracle用户登岸
打开终端,设置好环境 变量$ORACLE_HOME,$ORACLE_SID,$PATH
[oracle@jsslinux dbs]$ export ORACLE_SID=jsscon
[oracle@jsslinux dbs]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期三 11月 21 12:48:16 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已毗连 到空闲例程。
2、以升级模式启动数据库
SQL> startup upgrade
ORACLE 例程已经启动。
Total System Global Area 109051904 bytes
Fixed Size 1260360 bytes
Variable Size 92275896 bytes
Database Buffers 12582912 bytes
Redo Buffers 2932736 bytes
数据库装载完毕。
数据库已经打开。
3、重修数据字典,另:假如有归档的话,凶猛提议起首封闭归档
SQL> spool /home/oracle/oraupgrade.log
SQL> @?/rdbms/admin/catupgrd.sql
...
...
SQL>
SQL> Rem *********************************************************************
SQL> Rem END catupgrd.sql
SQL> Rem *********************************************************************
SQL> SPOOL OFF
假如这一步顺遂推行 ,升级已经完成了泰半。
4、重启数据库
SQL> shutdown
数据库已经封闭。
已经卸载数据库。
ORACLE 例程已经封闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 109051904 bytes
Fixed Size 1260360 bytes
Variable Size 92275896 bytes
Database Buffers 12582912 bytes
Redo Buffers 2932736 bytes
数据库装载完毕。
数据库已经打开。
5、编译无效器材
由于catupgrd.sql重修过程中也许造成一些器材失效,我们必要 运行utlrp.sql重新编译那些无效器材 (知道utlrp.sql功能了吧,黑黑,有事没事都可以推行 一下)。
SQL> select count(1) from dba_objects where status='INVALID';
COUNT(1)
----------
108
已选择 1 行。
SQL> @?/rdbms/admin/utlrp.sql
...
...
SQL> DECLARE
2 threads pls_integer := &&1;
3 BEGIN
4 utl_recomp.recomp_parallel(threads);
5 END;
6 /
耐心期待吧。
SQL> Rem ================================================================
SQL> Rem END utlrp.sql
SQL> Rem ================================================================
SQL> select tablespace_name,status from dba_tablespaces;
--表空间都在
SQL> select username from dba_users;
--用户都在
SQL> select object_name from dba_objects where owner='JSS';
--用户器材都在
ok,恭喜,升级乐成 。。
注:dba_objects视图中大概会有一些类似BIN$BD34RX+6TICOMtVfhZZ6Zw==$0的器材存在,这是10g后供给 的新功能,器材删除后并非真正被删,而是扔到采取 站,这些器材就是采取 站的器材,不消管它。