免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3098 | 回复: 3

9i单机升级到11gR2 RAC操作步骤 [复制链接]

论坛徽章:
0
发表于 2011-12-23 03:04 |显示全部楼层
一.Oracle 11g  Grid Infrastructure and Database安装

1.1.  检查操作系统的版本, 补丁, JDK版本是否符合要求,修改内核参数.

vmo -p -o minperm%=3

vmo -p -o maxperm%=90

vmo -p -o maxclient%=90

vmo -p -o lru_file_repage=0

vmo -p -o strict_maxclient=1

vmo -p -o strict_maxperm=0

chdev -l sys0 -a maxuproc=10000

chdev -l sys0 -a ncargs='128'

no -r -o ipqmaxlen=512

no -p -o rfc1323=1

no -p -o sb_max=41943040

no -p -o tcp_recvspace=1048576

no -p -o tcp_sendspace=1048576

no -p -o udp_recvspace=10485760

no -p -o udp_sendspace=1048576

1.2.  检查安装ORACLE产品的用户及组:

创建grid用户,并修改oraprod用户的相关属性

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oraprod

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

 

1.3.  设置grid用户的环境变量

umask 022

export ORACLE_BASE=/app/grid/grid_base

export ORACLE_HOME=/app/grid/11.2.0

export ORACLE_SID=+ASM1

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch

export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

export PS1=`hostname`:'$PWD'"$"

 

1.4.  配置grid用户在两节点的等效性

1.5.  Grid Infrastructure安装

使用grid用户进行安装,安装目录/app/grid/11.2.0

./runInstaller

安装过程略,请参考安装手册

1.6.  Database安装 

使用oraprod用户进行安装。使用11gprofile文件。安装目录/app/oracle/11.2.0

./runInstaller

安装过程略,请参考安装手册

1.7.  安装PSU UPDATE3补丁

分别对GRID_HOMEORACLE_HOMEPSU补丁

二.9i数据库升级前准备

2.1.执行pre-upgrade脚本utlu112i.sql

以下部分需要在参数文件中修改:

WARNING: --> "compatible" must be set to at least 10.1.0                                           

.                                                                                                  

**********************************************************************                             

Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]                               

**********************************************************************                             

-- No renamed parameters found. No changes are required.                                           

.                                                                                                  

**********************************************************************                             

Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]                   

**********************************************************************                             

--> optimizer_max_permutations   10.1       OBSOLETE                                               

--> row_locking                  10.1       OBSOLETE                                               

--> undo_suppress_errors         10.1       OBSOLETE                                               

--> max_enabled_roles            10.1       DEPRECATED                                             

--> enqueue_resources            10.2       OBSOLETE                                                

--> sql_trace                    10.2       DEPRECATED                                             

--> background_dump_dest         11.1       DEPRECATED   replaced by  "diagnostic_dest"            

--> user_dump_dest               11.1       DEPRECATED   replaced by  "diagnostic_dest"                                                                                                       

2.2.  确认数据库中没有无效对象

2.3.  检查具有connect角色的用户

由于升级后,connect角色只具有create session权限,因此要单独给这些用户附权限。

SQL> SELECT grantee FROM dba_role_privs

  2  WHERE granted_role = 'CONNECT' and

  3  grantee NOT IN (

  4  'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',

  5  'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',

  6  'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',

  7  'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',

  8  'WMSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',

  9  'SI_INFORMTN_SCHEMA', 'XDB', 'ODM');

 

GRANTEE

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

OLAPSYS

OLAP_USER

 

2.4.  检查db_link

9i数据库中的db_link在升级后会失效,记录一下现有的db_link,升级后需要重建

升级后需要重建的db_link

SQL> l

  1  SELECT 'CREATE '||DECODE(U.NAME,'PUBLIC','public ')||'DATABASE LINK '||CHR(10)

  2  ||DECODE(U.NAME,'PUBLIC',Null, 'SYS','',U.NAME||'.')|| L.NAME||chr(10)

  3  ||'CONNECT TO ' || L.USERID || ' IDENTIFIED BY "'||L.PASSWORD||'" USING

  4  '''||L.HOST||''''

  5  ||chr(10)||';' TEXT

  6  FROM SYS.LINK$ L, SYS.USER$ U

  7* WHERE L.OWNER# = U.USER#

SQL> /

 

TEXT

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

2.5.  确认没有需要恢复或正在备份的数据文件

SELECT * FROM v$recover_file;

 

SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';

 

2.6.  关闭9i数据库

如果可能最好做一个冷备,包括ORACLE_HOME,所有数据文件,控制文件和参数文件。

三.升级

3.1. 准备新的profile文件

umask 022

export ORACLE_BASE=/app/oracle

export ORACLE_HOME=$ORACLE_BASE/11.2.0

export ORACLE_SID=prod

export NLS_LANG=American_America.ZHS16GBK

export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

export PATH=${PATH}:$HOME/bin:$ORACLE_HOME/bin:/app/grid/11.2.0/bin/:$ORACLE_HOME/OPatch

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

export PS1=`hostname`:'$PWD'"$"

 

3.2. 修改initprod.ora文件

      注意需要保留_kghdsidx_count=1参数,否则upgrade的时候会出错

3.3. startup UPGRADE方式启动数据库

3.4. 创建sysaux表空间

CREATE TABLESPACE SYSAUX

DATAFILE '/oracle/proddata/sysaux01.dbf'

SIZE 2048M REUSE

EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO

ONLINE;

3.5. 执行catupgrd.sql脚本

3.6. 执行utlu112s.sql脚本

      确认数据库中的所有组件都升级有效

3.7. 执行catuppst.sql脚本完成升级

3.8. 执行utlrp.sql脚本编译无效对象

 

四.单实例转换为RAC

采用oracle自带的rconfig工具进行转换,配置文件rconfig.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<n:RConfig xmlns:n="http://www.oracle.com/rconfig"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="http://www.oracle.com/rconfig rconfig.xsd">

    <n:ConvertToRAC>  

<!-- Verify does a precheck to ensure all pre-requisites are met, before the conversion is attempted. Allowable values are: YES|NO|ONLY -->

        <n:Convert verify="YES">

<!--Specify current OracleHome of non-rac database for SourceDBHome -->

              <n:SourceDBHome>/app/oracle/11.2.0</n:SourceDBHome>

<!--Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome -->

              <n:TargetDBHome>/app/oracle/11.2.0</n:TargetDBHome>

<!--Specify SID of non-rac database and credential. User with sysdba role is required to perform conversion -->

              <n:SourceDBInfo SID="prod">

                <n:Credentials>

                  <n:User>sys</n:User>

                  <n:Password>oracle</n:Password>

                  <n:Role>sysdba</n:Role>

                </n:Credentials>

              </n:SourceDBInfo>

<!--Specify the list of nodes that should have rac instances running for the Admin Managed Cluster Database. LocalNode should be the first node in this nodelist. -->

              <n:NodeList>       

                <n:Node name="gldb1"/>

                <n:Node name="gldb2"/>

              </n:NodeList>

<!--Specify RacOneNode along with servicename to convert database to RACOne Node -->

              <!--n:RacOneNode  servicename="prod1service"/-->

<!--Instance Prefix tag is optional starting with 11.2. If left empty, it is derived from db_unique_name.-->

              <n:InstancePrefix>prod</n:InstancePrefix>

<!-- Listener details are no longer needed starting 11.2. Database is registered with default listener and SCAN listener running from Oracle Grid Infrastructure home. -->

<!--Specify the type of storage to be used by rac database. Allowable values are CFS|ASM. The non-rac database should have same storage type. ASM credentials are no needed for conversion. -->

              <n:SharedStorage type="ASM">

<!--Specify Database Area Location to be configured for rac database.If this field is left empty, current storage will be used for rac database. For CFS, this field will have directory path. -->

                <n:TargetDatabaseArea>+DATAORA</n:TargetDatabaseArea>

<!--Specify Fast Recovery Area to be configured for rac database. If this field is left empty, current recovery area of non-rac database will be configured for rac database. If current database is not using recovery Area, the resulting rac database will not have a recovery area. -->

                <n:TargetFlashRecoveryArea> </n:TargetFlashRecoveryArea>

              </n:SharedStorage>

        </n:Convert>

    </n:ConvertToRAC>

</n:RConfig>

注意修改红色标注的部分,使符合本系统转换需要,需要实例在OPEN状态。

执行下面的命令开始转换

#rconfig rconfig.xml 

根据数据文件大小,IO性能的不同,该操作时间也不确定。

论坛徽章:
0
发表于 2012-01-12 14:27 |显示全部楼层
本帖最后由 wu_wei_jie 于 2012-01-12 14:28 编辑

好文!!顶!
有一些问题还需要请教 :
1. 大部分的9i都跑在 linux 4 上,是否需要先升级到 linux 5.0 以上?

2. 如果有standby机器,对于 standby 是如何处理的?

3. 有没有9i(920 rac 升级到 11G r2 rac 的文档?能否发一份给我?

非常感谢。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2012-01-12 20:45 |显示全部楼层
非常不错。我还没有装过RAC.

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2012-01-12 20:46 |显示全部楼层
希望可以更全面一些。如RAC的安装等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP