ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle数据库从 9.2.0.1 到 9.2.0.8升级步骤 for win

Oracle数据库从 9.2.0.1 到 9.2.0.8升级步骤 for win

原创 Linux操作系统 作者:47328983 时间:2011-07-12 15:19:33 0 删除 编辑

1 打开远程桌面,登录到远程服务器的桌面

2 打补丁之前最重要的是数据库的备份,备份之前必须将数据库先干净的关闭,在服务管理中停掉所有的oracle相关服务。

  conn / as sysdba
  如果报权限不足,可以在 ?\network\admin\sqlnet.ora中添加如下行
 
  SQLNET.AUTHENTICATION_SERVICES = (NTS)
 
  或先备份原来的PWDsid.ora 重新生成一个口令文件
  orapwd.exe  file=ORACLE_HOME\database\PWD.ora password=oracle entries=5 force=(y|n)

  2.1 备份数据文件: 
 
          备份之前先要查看数据库的数据文件、日志文件、控制文件、临时文件的路径,并估计文件的大小,
      然后将这些文件复制到备份文件夹中;
     
          查看数据文件、日志文件、控制文件、临时文件的路径
           
             select file_name from dba_data_files
             union
             select member from v$logfile
             union
             select name from v$controlfile
             union
             select file_name from dba_temp_files;
            

        FILE_NAME
    ———————————————————————

 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
 
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
 
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
 
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
 
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
 
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
 
 已选择11行。
     
     
  2.2 备份oracle软件的安装文件:
 
      将ORACLE_HOME下的所有文件复制到备份文件夹中。
     
3.升级oracle(administrator用户权限)
 
  (1)到metalink下载升级压缩包,patch号为4547809,压缩包名称为 p4547809_92080_WINNT.zip,for windows 32bit。
    
     ftp://updates.oracle.com/4547809/p4547809_92080_WINNT.zip
     可以在迅雷或网际快车中新建一个下载任务,其中要将您的metalink账户填入下载属性中
    
  (2) 将zip文件上传到远程服务器中,解压缩zip,下边包含一个Disk1和readme.html文件。
      安装升级补丁之前,在管理中停掉所有的oracle相关服务,在命令提示符中lsnrctl stop,停掉监听器。
     
     
  (3) 打开一个命令行窗口cmd.exe,在安装之前先设置环境变量,确保环境变量中有ORACLE_HOME变量,并已正确设置。否则会出现错误       
    
     set ORACLE_HOME=C:\oracle\ora92    
    
     路径切换到补丁包下
     cd Disk1
     setup.exe
    
    假如数据库在升级过程中,报告 *.dll文件被另一个进程应用而无法覆盖,则可通过如下命令查看:
    查看是哪个程序引用了orapls9.dll
    tasklist /m orapls9.dll
   
 
  (4) oracle软件自动升级到9.2.0.8,提示安装完成后,说明软件补丁已经安装上。
 
  (5) 第4步并没有更新数据库本身的组件,所以还需要升级.此时需要开启Oracle的服务,最好是重起电脑,Oracle默认服务会自启动。
 
  (6) 以sysdba身份登录数据库后,
 
   安装oracle有有jvm和xdb的用户确保init.ora中的参数SHARED_POOL_SIZE 和JAVA_POOL_SIZE 为150m。方法是查看现有两个参数大小
  
   SQL>startup
   SQL>SHOW PARAMETER SHARED_POOL_SIZE
   SQL>SHOW PARAMETER JAVA_POOL_SIZE
   如果大小不是150m,进行设置:
  
   SQL> ALTER SYSTEM SET SHARED_POOL_SIZE=’150M’ SCOPE=spfile;
   SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=’150M’ SCOPE=spfile;
  
   设置成功后shutdown immediate关闭数据库。
  
  (7)以sysdba登录数据库
 
   SQL> STARTUP MIGRATE
   SQL> SPOOL patch.log
   SQL> @?\rdbms\admin\catpatch.sql
   SQL> SPOOL OFF
  
   spool patch.log是把做升级日志到patch.log,供以后察看。
   其中?表示你的oracle目录,假设oracle安装目录为c:\oracle\ora92,则第三句应为:
   SQL>@c:\oracle\ora92\rdbms\admin\catpatch.sql  其中@表示执行以下脚本。
   这个过程持续大概20分钟。
  
  (8)完成后shutdown数据库,然后startup,执行另外一个脚本
 
   SQL> @?\rdbms\admin\utlrp.sql,完成后升级补丁打完
  
  (9)数据库升级完成后,重起数据库,查看升级状态  
    select *  from v$version;
    col comp_name for a30
    select COMP_NAME,VERSION,STATUS from dba_registry;

COMP_NAME                      VERSION                        STATUS
—————————— —————————— ———–
Oracle9i Catalog Views         9.2.0.8.0                      VALID
Oracle9i Packages and Types    9.2.0.8.0                      VALID
Oracle Workspace Manager       9.2.0.1.0                      VALID
JServer JAVA Virtual Machine   9.2.0.8.0                      VALID
Oracle XDK for Java            9.2.0.10.0                     VALID
Oracle9i Java Packages         9.2.0.8.0                      VALID
Oracle interMedia              9.2.0.8.0                      VALID
Spatial                        9.2.0.8.0                      VALID
Oracle Text                    9.2.0.8.0                      VALID
Oracle XML Database            9.2.0.8.0                      VALID
Oracle Ultra Search            9.2.0.8.0                      VALID

COMP_NAME                      VERSION                        STATUS
—————————— —————————— ———–
Oracle Data Mining             9.2.0.8.0                      VALID
OLAP Analytic Workspace        9.2.0.8.0                      UPGRADED
Oracle OLAP API                9.2.0.8.0                      UPGRADED
OLAP Catalog                   9.2.0.8.0                      VALID

15 rows selected.

恭喜您,您已成功完成数据库的升级!

 


附 1 ————–补丁的下载地址——————————————————————————————–
为了方便,将9.2.0.8 及常用的 10.2.0.4 的补丁下载地址列举在这里,如果没有Metalink帐号,你可以通过迅雷来尝试下载这些Patch.

oracle 9208 patch:

ftp://updates.oracle.com/4547809/p4547809_92080_AIX64-5L.zip
ftp://updates.oracle.com/4547809/p4547809_92080_AXP.zip
ftp://updates.oracle.com/4547809/p4547809_92080_HP64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_HPUX-IA64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_LINUX-S390.zip
ftp://updates.oracle.com/4547809/p4547809_92080_LINUX.zip
ftp://updates.oracle.com/4547809/p4547809_92080_Linux-IA64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_Linux-x86-64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_MVS.zip
ftp://updates.oracle.com/4547809/p4547809_92080_SOLARIS.zip
ftp://updates.oracle.com/4547809/p4547809_92080_SOLARIS64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_TRU64.zip
ftp://updates.oracle.com/4547809/p4547809_92080_WINNT.zip
ftp://updates.oracle.com/4547809/p4547809_92080_WINNT64.zip
oracle 10.2.0.4 patch:
 
 
ftp://updates.oracle.com/6810189/p6810189_10204_AIX5L.zip
ftp://updates.oracle.com/6810189/p6810189_10204_AXP.zip
ftp://updates.oracle.com/6810189/p6810189_10204_BS2000.zip
ftp://updates.oracle.com/6810189/p6810189_10204_BS2000SX.zip
ftp://updates.oracle.com/6810189/p6810189_10204_HPUX-64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_HPUX-IA64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_IBMPower.zip
ftp://updates.oracle.com/6810189/p6810189_10204_ItaniumVMS.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-IA64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-x86-64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-x86.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-zSer.zip
ftp://updates.oracle.com/6810189/p6810189_10204_MSWIN-x86-64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Solaris-64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Solaris86-64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Solarisx86.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Tru64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_WINNT64.zip
ftp://updates.oracle.com/6810189/p6810189_10204_Win32.zip
 
 

其他版本的相关Bug号,可以根据以上规则来查找自己需要的补丁:

9.2.0.4 = 3095277
9.2.0.5 = 3501955
9.2.0.6 = 3948480
9.2.0.7 = 4163445
9.2.0.8 = 4547809
10.1.0.3 = 3761843
10.1.0.4 = 4163362
10.1.0.5 = 4505133
10.2.0.2 = 4547817
10.2.0.3 = 5337014
10.2.0.4 = 6810189
附2  oracle打安全补丁   ————————————————————————————————–
 (1)补丁信息:Critical Patch Update Note  Release 9.2.0.8 for Microsoft Windows (32-Bit),patch号为6867138。
 (2)CPU是过渡性补丁,需要用Oracle的安装工具opatch安装。
   安装CPU之前,查看相应的opatch版本应为1.0.0.0.57,9.2.0.1版oracle自带版本为55的,到metalink下载57版本的,压缩包名为p2617419_10102_GENERIC。解压缩后将OPATCH目录覆盖%oracle_home%\opatch就行了。
 (3)在用OPATCH安装安全补丁之前,停掉所有的oracle服务,但是实践中发现,进程中仍会有相关的dll被未知(我未知)的程序占用,导致couldn’t copy一些.dll文件。因此建议重启服务器,进入安全模式进行。
 (4)在安全模式下,在命令提示符中直接Opatch apply %补丁所在位置%,比如在我的电脑中补丁在 D:\software\oracle9\p6867138_92080_WINNT\6867138中,则我在命令提示符中输入 Opatch apply D:\software\oracle9\p6867138_92080_WINNT\6867138,自动安装安全补丁。
 (5)安装完成后,补丁还不算打成功,都快哭了~~~~。咬牙,接着来
  跑remove_demo.js脚本来移除不稳定的Oracle HTTP Server demos.命令提示符中cd到6867138目录。
  >cscript. //nologo remove_demo.js
 (6)把修改过的 .sql文件导入数据库:
   启动oracle服务,cd %ORACLE_HOME%\cpu\CPUApr2008 然后以sysdba登录后执行SQL>@catcpu.sql
   如果在这个过程中报有invalid的对象,则需要执行(7),否则直接执行(8).
 (7)cd %ORACLE_HOME%\rdbms\admin后以sysdba登录,执行@utlrp.sql,之后你可以用
SQL> SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS= ‘INVALID’;检查,可以看到已没有invalid对象。
 (8)重新编译数据库中的视图
  cd %ORACLE_HOME%\cpu\view_recompile然后sysdba登录,执行SQL> @recompile_precheck_jan2008cpu.sql 这个是计算下需要执行的时间等。
  shutdown数据库,以migrate方式startup,SQL>startup migrate 然后SQL> @view_recompile_jan2008cpu.sql 关闭数据库。如果有invalid对象,手动compile,但是一般没有。

  总结:oracle不同的补丁还有不同的打法,实在是很不智能,所以之前要仔细的阅读readme,是个很郁闷的活!而且安装完了不是真正的安装完!!崩溃了吧~~~上边的操作是新建数据库之后就直接进行的,因此也没有考虑到数据库备份等工作。如果你已经在使用数据库做了一些工作,建议先备份数据库,以免补丁没有打上,影响数据库的使用。

 

注意:

1、升级过程中如出现“从补丁程序集Oracle 9iR2 Patch Set 9.2.0.8.0中找不到需要应用的补丁”错误,则因为安装目录没有正确的被指定。相见这里

2、升级过程中,注意停掉所有和Oracle相关服务.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/241379/viewspace-701974/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-07

  • 博文量
    111
  • 访问量
    335961