Posted on 2008-01-02 04:08
leekiang 阅读(611)
评论(0) 编辑 收藏 所属分类:
oracle
1,必须把所有的oracle服务停掉。如果忘停就执行升级,则会报错,不要紧,这时仍然可以停掉oracle服务然后retry
2,缺省是新建一个ORACLE_HOME,我们应该选择原来装的ORACLE_HOME,如C:\oracle\ora92,名字为"OraHome92",否则升级可能不成功
3,如果报"无法确定主机的IP地址时产生异常错误",解决办法:
修改 c:\windows\system32\drivers\etc\hosts,加一行
192.168.1.101 LENOVO-PC
其中ip是通过ipconfig查得的,右边是机器名,可通过hostname命令查得。
同时需要启动服务“TCP/IP NetBIOS Helper Service”
4,修改shared_pool_size=150M;shared_pool_size=150M。 必须以spfile的方式。
这时可能报:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-04033: 没有足够的内存来增加池的容量
原因是sga_max_size太小,把其调大。
select sum(bytes)/1024/1024 from v$sgastat where name='free memory';
它统计的空闲空间是当前各缓冲池未使用的空间,而不是SGA预留而未分配给各池的空间。
详细步骤:
C:\>sqlplus /nolog
conn sys/sys as sysdba;
startup;
--设置共享池和Java池大于150M
ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
--修改System表空间大小,保证有50M的多余空间
--修改XDB表空间大小,保证有20M的多余空间
shutdown immediate;
--重新启动数据库到升级状态
STARTUP MIGRATE;
SPOOL c:\patch.log;
@C:\oracle\ora92\rdbms\admin\catpatch.sql;
--开始运行升级脚本,内存足够的话运行时间小于1个小时,建议在运行期间关闭所有其它相关的运行程序,另外最好有200M的多余内存空间
--升级时可以通过WINDOWS任务管理器监视ORACLE是否在升级。
SPOOL OFF;
--还原共享池和JAVA池大小,根据实际情况设置
ALTER SYSTEM SET SHARED_POOL_SIZE='50M' SCOPE=spfile;
ALTER SYSTEM SET JAVA_POOL_SIZE='50M' SCOPE=spfile;
shutdown immediate;
STARTUP;
--以下脚本为重新编译所有失效对象
@C:\oracle\ora92\rdbms\admin\utlrp.sql;
详见http://www.cnblogs.com/njlhb/archive/2007/12/23/1011410.html
http://dev.21tx.com/2005/03/07/11952.html