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

第一步下载安装文件1.1 确认系统版本

  1.2 下载补丁二, 升级预备三, 升级配置3.1 identify the oracle9i installation3.2 阅读升级留意事项

  3.3 上传升级包并解压

  3.4 确认环境变量ORACLE_SID和ORACLE_HOME设置.

  3.5 shut Down oracle Database

  3.6 停用所有进程

  3.7 backup the system四安装任务4.1 交互式安装五, 安装后的任务5.1 检查表空间大小

  5.2 检查shared_pool_size和java_pool_size初始化参数

  5.3 升级数据库 第一步 下载安装文件

  1.1 确认系统版本

  SQL> select * from v$version; BANNER -------------------------------------------------- ------------------------------ Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production PL/SQL Release 9.2.0.4.0 - Production CORE 9.2.0.3.0Production TNS for Linux: Version 9.2.0.4.0 - Production NLSRTL Version 9.2.0.4.0 - Production 1.2 下载补丁

  Oracle的补丁集(Patch Set)需要登录metalink下载,下面是个版本升级补丁的号码:

  9.2.0.4 =

  9.2.0.5 =

  9.2.0.6 =

  9.2.0.7 =

  9.2.0.8 = (9i终极)

  10.1.0.3 =

  10.1.0.4 =

  10.1.0.5 =

  10.2.0.2 =

  10.2.0.3 =

  10.2.0.4 = 没有发布

  下载补丁时,可进进cmd,使用ftp命令直接登录网站下载。相同版本,针对不同的操纵系统,会有不同的补丁。每个补丁大小约在500MB~1.3GB之间。下面以 9.2.0.8补丁为例(登陆的时候以metalink的用户名和密码登陆):

  C:\Users\sz>ftp updates.oracle.com

  连接到 bigip-updates-test-adc.oracle.com。

  220 FTP server ready.

  用户(bigip-updates-test-adc.oracle.com:(none)):

  331 Username OK, please send password.

  密码:

  230-

  230- Welcome to the Oracle Patch Download FTP Server

  230-

  230- For detailed help, use command "quote site help".

  230

  留意根目录是不能ls的,由于Patch是海量的:

  ftp> ls

  200 PORT command OK.

  150 Opening data connection for file listing.

  226-Listing complete. Data connection has been closed.

  226-It is the policy of this server to deny all

  226-requests to list from the root directory.

  226-Only directories with names which match

  226 bug numbers exist and there are too many to be listed.

  ftp>

  我们必须知道确切的Patch号才能导航到下一级目录:

  ftp> cd

  250 Changed directory OK.

  ftp> ls -la

  200 PORT command OK.

  150 Opening data connection for file listing.

  total 1

  -r--r--r-- 1 root other Aug 22 2006 p__AIX64-5L.z

  -r--r--r-- 1 root other May 22 2007 p__AXP.zip

  -r--r--r-- 1 root other Aug 22 2006 p__HP64.zip

  -r--r--r-- 1 root other Oct 4 2006 p__HPUX-IA64.z

  -r--r--r-- 1 root other Aug 25 2006 p__LINUX.zip

  -r--r--r-- 1 root other Aug 22 2006 p__Linux-IA64.

  -r--r--r-- 1 root other Aug 22 2006 p__Linux-x86-6

  -r--r--r-- 1 root other Aug 22 2006 p__MVS.zip

  -r--r--r-- 1 root other Aug 24 2006 p__SOLARIS.zip

  -r--r--r-- 1 root other Aug 24 2006 p__SOLARIS64.z

  -r--r--r-- 1 root other Mar 4 2007 p__TRU64.zip

  -r--r--r-- 1 root other Aug 21 2006 p__WINNT.zip

  -r--r--r-- 1 root other Aug 22 2006 p__WINNT64.zip

  226 Listing complete. Data connection has been closed.

  ftp: 收到 1099 字节,用时 2.00秒 0.55千字节/秒。

  ftp>

  然后使用get或mget命令下载即可。

  也可以使用FTP浏览器查看并下载,比如迅雷的查看如下图: , 升级预备

  1.打补丁前一定要先阅读升级包里面的readme.htm

  2.看Oracle Universal Installer Version Requirements

  查看该升级包适用于什么版本

  3.看System Requirements

  看补丁是针对于哪个版本的操纵系统

  4.Set the ORACLE_HOME and ORACLE_SID Environment Variables

  设置shared_pool 和 java_pool 的大小各大于150M

  Shut Down Oracle Databases & listener & agent

  Stop All Processes

  Back Up the System

  检查环境变量 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

  5.开始执行升级包

  $ patchset_directory/Disk1

  $ ./runInstaller

  应用程序执行完成后有成功提示

  6.Enter the following SQL*Plus commands:

  SQL> STARTUP MIGRATE

  SQL> SPOOL patch.log

  SQL> @?/rdbms/admin/catpatch.sql

  SQL> SPOOL OFF

  7.检查升级脚本执行的结果,没有题目的话,封闭并重新启动数据库

  8.Run the utlrp.sql script. to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.

  SQL> @?/rdbms/admin/utlrp.sql

  9.检查升级脚本执行的结果,没有题目的话,封闭并重新启动数据库

  10.Change your directory to:

  $ cd $ORACLE_HOME/install

  Run changePerm.sh and specify the patched server Oracle home location, before accessing client-side utilities or libraries in the database home.

  升级完毕!

  忠告:数据库的升级往往会有很多意想不到的结果发生,所以在升级之前一定要做好数据的备份.不要拿自己的饭碗来做赌注哦^_^

   , 升级配置

  3.1 identify the oracle9i installation

  升级的过程能够执行的条件是系统中已经存在较低的oracle版本. 要确认oracle home文件夹的方式有两个. 首先可以查看$ORACLE_HOME环境变量设置.

  [oracle@localhost ~]$ echo $ORACLE_HOME

  /oracle/product/9.0.2

  其次, 用户可以查看文件/etc/oratab中的配置.

  [oracle@localhost etc]$ more oratab

  #

  # This file is used by ORACLE utilities. It is created by root.sh

  # and updated by the Database Configuration Assistant when creating

  # a database.

  # A colon, ':', is used as the field terminator. A new line terminates

  # the entry. Lines beginning with a pound sign, '#', are comments.

  #

  # Entries are of the form.

  # $ORACLE_SID:$ORACLE_HOME::

  #

  # The first and second fields are the system identifier and home

  # directory of the database respectively. The third filed indicates

  # to the dbstart utility that the database should , "Y", or should not,

  # "N", be brought up at system boot time.

  #

  # Multiple entries with the same $ORACLE_SID are not allowed.

  #

  #

  *:/home/oracle/OraHome1:N

  *:/oracle/product/9.0.2:N

  crmtest:/oracle/product/9.0.2:N

  假如用户在RAC环境中安装本升级文件, 则需要在执行数据库安装的同一台机器上运行本过程. 3.2 阅读升级留意事项

  假如是要升级一个生产数据库, 请阅读metalink上的.1文档.

  1, 在metalink上点击advanced;

  2, 在文档ID区域输进.1然后点击submit. 3.3 上传升级包并解压

  通过ftp或者其他方式将升级包upload到服务器上.然后执行

  $ unzip p_9208_LINUX.zip 3.4 确认环境变量ORACLE_SID和ORACLE_HOME设置.

  可以使用下述的命令设置环境变量.

  $ ORACLE_HOME=oracle_home

  $ ORACLE_SID=sid

  $ export ORACLE_HOME ORACLE_SID 3.5 shut Down oracle Database

  执行升级动作之前需要先封闭当前数据库, 记得使用normal或者immediate选项. 假如是在RAC环境中执行操纵, 需要封闭所有节点的所有实例. 3.6 停用所有进程

  停用所有监听或者其他在oracle_home文件夹中的进程. 3.7 backup the system

  Oracle推荐在执行升级包前先备份现有的oracle9i安装. 安装任务

  用户可以采用下列方式之一执行升级包的安装.

  交互式安装;

  定制安装. 4.1 交互式安装

  假如你试图将升级包安装到一个不包含oracle9i安装文件的目录中, oracle将提示一个错误信息.

  There are no patches that need to be applied from the patchset oracle9i set 9.2.0.8.0.

  交互式安装过程的描述如下.

  1, 使用oracle用户登录;

  2, 假如是使用远程登录到服务器进行安装, 需要执行如下配置将界面传输到本地系统:

  Bourne , bash, korn shell

  $ DISPLAY=local_host:0.0; export DISPLAY

  3, 对于RAC环境, 需要输进下面的命令列表.

  $ cd oracle_home/oui/bin

  $ ./runInstaller updateNodeList noClusterEnabled local ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES=node1,node2,node3

  4, 设置LD_LIBRARY_PATH环境变量为$ORACLE_HOME/lib

  $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

  5, 执行下述命令运行安装.

  $ cd patchset_directory/Disk1

  $ ./runInstaller

  6, 按照提示以root身份登录运行脚本 $oracle_home/root.sh script. . 假如是在RAC环境, 则需要在每个节点上都运行root.sh脚本 , 安装后的任务

  5.1 检查表空间大小

  1, 检查system tablespace大小

  假如在升级的过程中选择安装Jserver, 则需要确认system tablespace中至少有10M剩余空间;

  selectsum(bytes)/1024/1024from dba_free_space dfs

  where dfs.tablespace_name = 'SYSTEM' ;

  假如系统表空间剩余空间不足10M, 则需要为其增加数据文件,或者修改现有数据文件大小.

  altertablespacesystem

  adddatafile'/oracle/oradata/crmtest/system02.dbf'size500M;

  2, 检查 XDB tablespace的大小

  对于RAC应用环境, 需要确保XDB tablespace至少有50M的剩余空间.

  selectsum(bytes)/1024/1024from dba_free_space dfs

  where dfs.tablespace_name = 'XDB' ;

  同样地, 假如剩余空间不足, 需要为tablespace增加数据文件.

  altertablespacesystem

  adddatafile'/oracle/oradata/crmtest/xdb02.dbf'size100M; 5.2 检查shared_pool_size和java_pool_size初始化参数

  JVM和XDB是9201版本的默认安装选项. 除非用户显式指定不使用这两个选项安装. 而一旦用户选择了安装jvm和xdb. 则需要在执行catpatch.sql进行更新数据库之前确认shared_pool_size和java_pool_size参数最小为150M. 假如设置的参数小于150M门限. 则有可能在升级过程中碰到错误提示.

  设置shared_pool_size和java_pool_size有两种可以选择的方式.

  5.2.1在数据库环境下修改

  1, 使用sys或者其他具有sysdba权限的用户登录系统.

  $ sqlplus " / as sysdba";

  2, 确认当前系统使用的初始化参数文件是initsid.ora还是spfiledbname.ora.

  SQL> show parameter pfile;

  上述命令将显示本地参数文件的文件名称.

  3, 显示当前参数文件设置.

  SQL> show parameter java_pool_size;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  java_pool_size big integer

  SQL> show parameter shared_pool_size;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  shared_pool_size big integer

  4, 修改参数文件的设置

  SQL> alter system set shared_pool_size='150M' scope=spfile;

  SQL>alter system set java_pool_size='150M' scope=spfile;

  5, 封闭数据库

  SQL> shutdown immediate;

  5.2.2修改初始化参数文件

  1, 确认当前系统启动使用的是pfile还是spfile;

  SQL> show parameter pfile;

  2, 假如使用的是spfile参数文件启动, 则需要利用当前spfile文件天生一个pfile文件.

  SQL> create pfile from spfile;

  假如创建时没有指定pfile文件的位置则默认存储在$ORACLE_HOME/dbs下或者$ORACLE_HOME/admin/sid/pfile下.

  3, 使用pfile重新启动数据库;

  SQL> shutdown immediate;

  Database closed.

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup pfile='$ORACLE_HOME/dbs/initsid.ora'

  4, 利用pfile创建spfile文件

  SQL> create spfile from pfile='$ORACLE_HOME/dbs/spfilesid.ora';

  5, 封闭数据库并重新启动.

  SQL> SHUTDOWN

  SQL>startup spfile=' $ORACLE_HOME/dbs/spfilesid.ora'; 5.3 升级数据库

  在完成升级包的安装之后, 用户必须执行下述的操纵步骤完成对数据库的升级.

  1, 使用oracle用户登录;

  2, 对每一个RAC节点, 启动global services Daemon(gsd).

  $ gsdctl start

  3, 启动oracle网络监听

  $ lsnrctl start

  4, 对单机数据库服务器, 使用sysdba权限用户登录

  $ sqlplus /nolog

  SQL> connect sys/sys_password as sysdba

  5, 对于RAC应用系统

  A, 使用下述命令启动数据库, 其中db_name是数据库名称.

  $ srvctl start database d db_name

  B, 使用sysdba权限用户登录

  $ sqlplus /nolog

  SQL> connect sys/sys_password as sysdba

  C, 设置cluster_database初始化参数为false

  SQL> alter system set cluster_database=false scope=spfile;

  D, 退出sqlplus并封闭数据库

  SQL> exit

  $ srvctl stop database d db_name

  E, 使用sysdba权限用户登录数据库

  $sqlplus "/ as sysdba"

  6, 执行下面的sqlplus命令

  SQL> startup migrate

  SQL> spool patch.log

  SQL> @?/rdbms/admin/catpatch.sql

  SQL> spool off

  7, 查看patch.log文件中是否有错误.

  8, 假如需要的话, 重新执行第六步, 运行catpatch.sql

  9, 重新启动数据库

  SQL> shutdown

  SQL> startup

  10, 这个步骤是可选的, 但oracle推荐执行. 运行utlrp.sql重新编译所有失效的程序package, 以免在下次执行时报错后再次重新编译.

  SQL> @?/rdbms/admin/utlrp.sql

  11, 对于RAC环境

  A, 设置cluster_database初始化参数为true

  Sql> alter system set cluster_database=true scope=spfile;

  B, 重新启动数据库

  SQL> shutdown

  SQL> exit

  $ srvctl start database d db_name

  12, 假如使用了RMAN catalog, 输进下面的命令更新catalog

  $ rman catalog username/password@alias

  RMAN> upgrade catalog

  

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

转载于:http://blog.itpub.net/241379/viewspace-701975/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值