oracle狂热分子 发表于 2011-12-23 03:45

升级ORACLE 10.1.0.2到ORACLE 10.2.0.5

<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;升级ORACLE 10.1.0.2到ORACLE 10.2.0.5<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天需要把ORACLE 10.1.0.2的数据库升级到ORACLE 10.2.0.5.由于10.1不能直接升级到10.2<BR>因此首先需要升级到10.2.0.1,然后再打PS到10.2.0.5</DIV>
<DIV><BR>1,升级数据库第一件事就是要做好备份,并且制定回退计划;</DIV>
<DIV><BR>2,查询一下当前的版本<BR>SQL&gt; select * from v$version;</DIV>
<DIV>BANNER<BR>----------------------------------------------------------------<BR>Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod<BR>PL/SQL Release 10.1.0.2.0 - Production<BR>CORE&nbsp;&nbsp;&nbsp; 10.1.0.2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Production<BR>TNS for 32-bit Windows: Version 10.1.0.2.0 - Production<BR>NLSRTL Version 10.1.0.2.0 - Production</DIV>
<DIV>3,关闭数据库,由于是windows平台,需要把关于ORACLE的数据库服务都要停掉<BR>SQL&gt; shutdown immediate;<BR>Database closed.<BR>Database dismounted.<BR>ORACLE instance shut down.</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>4,接下就是安装10.2.0.1,都是图形化操作,直接点一下就都可以了,新的ORACLE_HOME<BR>最好在相同的ORACLE_BASE下,如我原来的ORACLE_HOME为C:\oracle\product\10.1.0\Db_1,<BR>那么新的ORACLE_HOME设为C:\oracle\product\10.1.0\Db_2<BR>然后安装10.2.0.5的PS,也图形化操作,直接点一下就都可以了.基本都是一些体力活.</DIV>
<DIV><BR>5,把原来的ORACLE_HOME\DATABASE下的spfile和PWD&lt;SID&gt;都拷贝到新的ORACLE_HOME\DATABASE下,<BR>修改注册表的下的service中的oracle服务的path.并且通过netca重配listener。数据库这时候不能<BR>正常打开的,如:<BR>D:\Documents and Settings\Administrator.C6POWERTEST&gt;sqlplus /nolog</DIV>
<DIV>SQL*Plus: Release 10.2.0.5.0 - Production on 星期六 10月 29 10:31:42 2011</DIV>
<DIV>Copyright (c) 1982, 2010, Oracle.&nbsp; All Rights Reserved.</DIV>
<DIV>SQL&gt; conn / as sysdba;<BR>已连接到空闲例程。<BR>SQL&gt; startup mount;<BR>ORACLE 例程已经启动。</DIV>
<DIV>Total System Global Area&nbsp; 171966464 bytes<BR>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1302224 bytes<BR>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 142606640 bytes<BR>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25165824 bytes<BR>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2891776 bytes<BR>数据库装载完毕。</DIV>
<DIV>SQL&gt; alter database open;<BR>alter database open<BR>*<BR>第 1 行出现错误:<BR>ORA-01092: ORACLE 实例终止。强制断开连接</DIV>
<DIV>&nbsp;</DIV>
<DIV>6,在安装的PS后,必须以upgrade方式才能打开;<BR>SQL&gt; conn /as sysdba;<BR>已连接到空闲例程。<BR>SQL&gt; startup upgrade;<BR>ORACLE 例程已经启动。</DIV>
<DIV>Total System Global Area&nbsp; 171966464 bytes<BR>Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1302224 bytes<BR>Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 142606640 bytes<BR>Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25165824 bytes<BR>Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2891776 bytes<BR>数据库装载完毕。<BR>数据库已经打开。</DIV>
<DIV>SQL&gt;spool up.log;<BR>SQL&gt;@?\rdbms\admin\utlu102i.sql;<BR>运行该脚本进行先决检查,然后看一下up.log中有没有很明显的错误信息,有些是可以ignore掉的<BR>运行该脚本并不是必须条件</DIV>
<DIV>7,闭数数据库,然后再次以upgrade方式打开,开始真正的升级;</DIV>
<DIV>SQL&gt;@?\rdbms\admin\catupgrd.sql;</DIV>
<DIV><BR>SELECT dbms_registry_sys.dbupg_script('CATJAVA') AS dbmig_name FROM DUAL<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<BR>第 1 行出现错误:<BR>ORA-00604: 递归 SQL 级别 1 出现错误<BR>ORA-04031: 无法分配 4108 字节的共享内存 ("shared pool","select /*+<BR>index(idl_ub1$ i_...","Typecheck","kgghteInit")<BR>出现错误,由于shared pool过小,增加shared_pool_size,再次运行catupgrd.sql;</DIV>
<DIV><BR>8,关闭数据库,然后以正常方式打开数据库,重新编绎一下无效的应用程序对像<BR>SQL&gt;@?\rdbms\admin\utlrp.sql;</DIV>
<DIV>9,关闭数据库,然后以正常方式打开数据库.检查版片信息和alert.log有无重要的信息.<BR></DIV>
页: [1]
查看完整版本: 升级ORACLE 10.1.0.2到ORACLE 10.2.0.5