单实例环境
Vmware Server 1.0.6 +CentOS 5.2+Oracle 10g
1,停进程
2,安装补丁
3,升级数据库
1>停止所有Oracle相关进程
[oracle@node2 Disk1]$ emctl stop dbconsole
[oracle@node2 Disk1]$ lsnrctl stop
SQL>shutdown immediate
2>安装补丁步骤
升级至10.2.0.4
下载包:p6810189_10204_Linux-x86
使用DBUA升级。
[oracle@linux Disk1~]$ ./runInstaller
安装图像界面。
运行root.sh 脚本
[root@node2 db]# sh root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db
Enter the full pathname of the local bin directory: [/usr/local/bin]: y
The file "dbhome" already exists in y. Overwrite it? (y/n)
[n]: y
Copying dbhome to y ...
The file "oraenv" already exists in y. Overwrite it? (y/n)
[n]: y
Copying oraenv to y ...
The file "coraenv" already exists in y. Overwrite it? (y/n)
[n]: y
Copying coraenv to y ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
3>升级数据库。
方式一:DBUA
[oracle@node2 ~]$ dbua
数据库未在图中列出,修改/etc/oratab 添加SID
注意:选择"升级完成后编译无效对象"的选项
关闭归档选项
数据库未备份,可以选择做备份(建议升级前做冷备份)
方式二:手工(推荐)
SQL>startup upgrade
SQL>spool /u01/upgrade.log
SQL>@?/rdbms/admin/catupgrd.sql //时间较长。
Ok
select count(1) from dba_objects where status='INVALID' 是否存在有无效的对象,有
则运行utlrp.sql 编译无效的对象
重启数据库
SQL>shutdown immediate
SQL>startup
SQL> @?/rdbms/admin/utlrp.sql
检查表空间,用户,用户对象等信息。
备份数据库