zoukankan      html  css  js  c++  java
  • ORACLE 10.2.0.1 单机升级至10.2.0.4

    ORACLE 10.2.0.1 单机升级至10.2.0.4

    1 安装Oracle软件

     

    1.1 安装文件

    Oracle 10G 安装,目标是10.2.0.4 ,这里是先安装10.2.0.1,然后再升级到 10.2.0.4 . 需要提前下载 以下几个文件:

    • p6810189_10204_Linux-x86-64.zip
    • 10201_database_linux_x86_64.cpio.gz

    解压到Oracle 的$HOME路径,执行下面命令,进行解压:

    gunzip 10201_database_linux_x86_64.cpio.gz
    cpio -idmv < 10201_database_linux_x86_64.cpio
    unzip p6810189_10204_Linux-x86-64.zip
    

    解压后的结果如下:

    [oracle@boss1 ~]$ ls
    10201_database_linux_x86_64.cpio  database  Disk1  p6810189_10204_Linux-x86-64.zip  README.html
    

    其中database 是10.2.0.1的安装包。 Disk1 是 升级包。

    1.2 安装依赖包

    rpm -q binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf 
    elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel 
    glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel 
    libgcc libgcc libstdc++ libstdc++ libstdc++-devel make sysstat libXp.i686 
    libXt.i686 libXtst.i686 |grep "not installed"|xarsg -i yum install -y {}
    

    如果 libXp.i686 libXt.i686 libXtst.i686 三个包没有安装上,oracle 安装进行在执行configToolFailedCommands时,会报错。所以安装完成后,最好再确认一下是否有相关的库文件:

    ls -la /lib/libXt.so.6
    ls -la /lib/libXtst.so.6
    ls -la /lib/libXp.so.6
    ls -la /usr/lib/libXt.so.6
    ls -la /usr/lib/libXtst.so.6
    ls -la /usr/lib/libXp.so.6
    

    如果没有。请参考下面的处理方式。

    如果在安装过程中出现如下错误提示:

    SEVERE:OUI-10104: 一些 Configuration Assistant 失败。强烈建议您此时重试这些 Configuration Assistant。如果任何 "建议" 的 Assistant 没有成功运行, 那么将无法正确配置系统。请选择运行失败的 Assistant, 然后单击 '重试' 按钮进行重试。
    --------------------------------------
    "/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/configToolFailedCommands" 脚本包含所有失败的, 跳过的或取消的命令。可使用此文件在 OUI 外运行这些 Configuration Assistant。请注意, 执行此脚本前, 您可能需要用口令 (如果有) 来更新此脚本。
    "/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/configToolAllCommands" 脚本包含要由 Configuration Assistant 执行的所有命令。可使用此文件在 OUI 外运行 Configuration Assistant。请注意, 执行此脚本前, 您可能需要用口令 (如果有) 更新此脚本。
    

    那么就需要手动将这些库文件链接到系统库路径中。注意,使用root用户执行。

    ln -s $ORACLE_HOME/lib32/stubs/libXp.so.6  /lib/libXp.so.6
    ln -s $ORACLE_HOME/lib32/stubs/libXt.so.6  /lib/libXt.so.6
    ln -s $ORACLE_HOME/lib32/stubs/libXtst.so.6 /usr/lib/libXtst.so.6
    

    在本示例中,执行的命令如下:

    ln -s /u01/app/oracle/product/10.2.0/db_1/lib32/stubs/libXp.so.6  /lib/libXp.so.6
    ln -s /u01/app/oracle/product/10.2.0/db_1/lib32/stubs/libXt.so.6  /lib/libXt.so.6
    ln -s /u01/app/oracle/product/10.2.0/db_1/lib32/stubs/libXtst.so.6 /usr/lib/libXtst.so.6
    

    1.3 修改内核参数

    以root用户执行。

    cat >> /etc/sysctl.conf <<EOF
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144
    EOF
    
    sysctl -p
    
    cat >> /etc/security/limits.conf <<EOF
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    EOF
    
    # 下面可以不执行,主要是限制其他用户权限。
    cat >> /etc/profile <<EOF
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    EOF
    

    1.4 添加用户和组

    root 用户执行。

    groupadd -g 501 oinstall
    groupadd -g 502 dba
    useradd -g oinstall -G dba oracle
    passwd oracle
    

    1.5 修改Oracle用户环境变量

    以Oracle 用户执行。

    cat >> .bash_profile <<EOF
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=$ORACLE_BASE/product/10.2.0/dbhome1
    ORACLE_SID=boss1
    PATH=$PATH:$ORACLE_HOME/bin
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
    EOF
    . .bash_profile
    

    1.6 创建相关路径

    root用户执行。

    chown -R oracle:oinstall /u01/
    chmod -R 775 /u01
    

    以Oracle 用户执行:

    mkdir -p $ORACLE_HOME
    

    1.7 修改oracle系统兼容列表

    Oracle 兼容哪些系统, 是在配置文件中配置的。我们可以修改这些配置文件,达到正常安装的目的。但是这并不是万能的。版本差距过大,同样安装不了。

    cd ~/database/install
    vi oraparam.ini
    #找到下面两行;
    [Certified Versions]
    Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
    # 第二行,是oracle10G支持的系统列表。我们把el5,el6 也加进去。如下:
    Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5,redhat-6
    # 这样配置后,RHEL/CentOS 5、6两个版本都可以正常安装Oracle 10G。
    vi  oraparamsilent.ini
    # 相同的方式,调整 oraparamsilent.ini 中的默认配置。
    

    1.8 修改响应文件

    oracle 用户执行。

    RESPONSEFILE_VERSION=2.2.1.0.0
    UNIX_GROUP_NAME=oinstall                                # 配置oracle 用户的组,一般为oinstall
    FROM_LOCATION="../stage/products.xml"
    NEXT_SESSION_RESPONSE=<Value Unspecified>
    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1         # 配置ORACLE_HOME 变量值。
    ORACLE_HOME_NAME="OraDBHome1"                           # 配置ORACLE_HOME 别名,记住此名。
    TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
    DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
    SHOW_SPLASH_SCREEN=false
    SHOW_WELCOME_PAGE=false
    SHOW_NODE_SELECTION_PAGE=false
    SHOW_SUMMARY_PAGE=false
    SHOW_INSTALL_PROGRESS_PAGE=false
    SHOW_CONFIG_TOOL_PAGE=false
    SHOW_XML_PREREQ_PAGE=false
    SHOW_ROOTSH_CONFIRMATION=true
    SHOW_END_SESSION_PAGE=false
    SHOW_EXIT_CONFIRMATION=false
    NEXT_SESSION=false
    NEXT_SESSION_ON_FAIL=false
    SHOW_DEINSTALL_CONFIRMATION=false
    SHOW_DEINSTALL_PROGRESS=false
    RESTART_SYSTEM=<Value Unspecified>
    RESTART_REMOTE_SYSTEM=<Value Unspecified>
    REMOVE_HOMES=<Value Unspecified>
    ORACLE_HOSTNAME=<Value Unspecified>
    SHOW_END_OF_INSTALL_MSGS=false
    CLUSTER_NODES=<Value Unspecified>
    COMPONENT_LANGUAGES={"en"}
    INSTALL_TYPE="EE"
    s_nameForDBAGrp=<Value Required>
    s_nameForOPERGrp=<Value Required>
    n_configurationOption=<Value Required>
    s_ASMSYSPassword=""
    s_ASMSYSPasswordAgain=""
    n_dbType=<Value Required>
    oracle.assistants.server:s_responseFileName=<Value Unspecified>
    s_globalDBName=<Value Required>
    s_dbSid=<Value Required>
    s_dbRetChar="WE8ISO8859P1"
    b_loadExampleSchemas=false
    b_useDBControl=true
    b_receiveEmailNotification=false
    s_dlgEMSMTPServer=<Value Unspecified>
    s_dlgEMEmailAddress=<Value Unspecified>
    s_dlgEMCentralAgentSelected=<Value Unspecified>
    n_dbStorageType=<Value Unspecified>
    s_mountPoint=<Value Unspecified>
    s_rawDeviceMapFileLocation=<Value Unspecified>
    b_enableAutoBackup=false
    b_useFileSystemForRecovery=true
    s_dlgRBORecoveryLocation=<Value Unspecified>
    s_dlgRBOUsername=<Value Unspecified>
    s_dlgRBOPassword=<Value Unspecified>
    s_dlgASMCfgDiskGroupName="DATA"
    s_dlgASMCfgDiskDiscoveryString=<Value Unspecified>
    n_dlgASMCfgRedundancySelected=<Value Unspecified>
    sl_dlgASMCfgSelectableDisks=<Value Unspecified>
    sl_dlgASMCfgDiskSelections=<Value Unspecified>
    sl_dlgASMDskGrpSelectedGroup={" "," "," "," "}
    b_centrallyManageASMInstance=true
    b_useSamePassword=true
    s_superAdminSamePasswd=<Value Unspecified>
    s_superAdminSamePasswdAgain=<Value Unspecified>
    sl_superAdminPasswds=<Value Unspecified>
    sl_superAdminPasswdsAgain=<Value Unspecified>
    n_performUpgrade=0
    n_upgradeDB=0
    s_dbOHSelectedForUpgrade=""
    s_dbSIDSelectedForUpgrade=""
    n_upgradeASM=0
    s_dbSelectedUsesASM="no"
    sl_upgradableSIDBInstances={}
    sl_upgradableRACDBInstances={}
    n_dbSelection=0
    b_stateOfUpgradeASMCheckbox=false
    b_stateOfUpgradeDBCheckbox=false
    b_oneClick=false
    s_dlgASMCfgRedundancyValue=""
    s_dlgASMCfgExistingFreeSpace="0"
    s_dlgASMCfgNewDisksSize=""
    s_dlgASMCfgAdditionalSpaceNeeded="0 MB"
    

    除标记内容外,其他配置不需要修改。

    1.9 静默安装

    oracle 用户执行。安装Oracle RDBMS软件的响应文件,基本配置如下:

    cd ~/database
    ./runInstaller -silent -responseFile /home/oracle/database/response/enterprise.rsp
    

    最后根据提示执行以下两个命令:

    sh /u01/app/oracle/oraInventory/orainstRoot.sh
    sh /u01/app/oracle/product/10.2.0/db_1/root.sh
    

    1.10 升级

    在解压文件后,生成一个Disk1 的路径。这个路径里是升级用的各种文件。这一节的操作基本都围绕这个路径展开。

    1.10.1 配置系统兼容列表

    修改 Disk1/install/oraparam.ini,找到下面一行,

    Linux=redhat-3,SuSE-9,SuSE-10,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2,asianux-3
    

    在该后面添加需要支持的操作系统及版本,最终如下:

    Linux=redhat-3,SuSE-9,SuSE-10,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2,asianux-3,redhat-4,redhat-5,redhat-6
    

    1.10.2 配置升级响应文件

    Disk1/response/patchset.rsp 是数据库升级所使用的配置文件。内容如下:

    RESPONSEFILE_VERSION=2.2.1.0.0
    UNIX_GROUP_NAME=oinstall                                   =======> 配置执行升级的用户属组
    FROM_LOCATION=<Value Required>
    NEXT_SESSION_RESPONSE=<Value Unspecified>
    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1            =======> 配置ORACLE_HOME 变量的值
    ORACLE_HOME_NAME="OraDBHome1"                              =======> 配置ORACLE_HOME_NAME 与安装Oracle软件的名称保持一致
    TOPLEVEL_COMPONENT={"oracle.patchset.db","10.2.0.4.0"}
    SHOW_SPLASH_SCREEN=false
    SHOW_WELCOME_PAGE=false
    SHOW_COMPONENT_LOCATIONS_PAGE=false
    SHOW_CUSTOM_TREE_PAGE=false
    SHOW_SUMMARY_PAGE=false
    SHOW_INSTALL_PROGRESS_PAGE=true
    SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
    SHOW_OPTIONAL_CONFIG_TOOL_PAGE=false
    SHOW_CONFIG_TOOL_PAGE=false
    SHOW_XML_PREREQ_PAGE=false
    SHOW_RELEASE_NOTES=false
    SHOW_END_OF_INSTALL_MSGS=true
    SHOW_ROOTSH_CONFIRMATION=true
    SHOW_END_SESSION_PAGE=false
    SHOW_EXIT_CONFIRMATION=false
    NEXT_SESSION=false
    NEXT_SESSION_ON_FAIL=false
    SHOW_DEINSTALL_CONFIRMATION=false
    SHOW_DEINSTALL_PROGRESS=false
    ACCEPT_LICENSE_AGREEMENT=true
    RESTART_SYSTEM=<Value Unspecified>
    CLUSTER_NODES=<Value Unspecified>
    OUI_HOSTNAME=<Value Unspecified>
    REMOVE_HOMES=<Value Unspecified>
    COMPONENT_LANGUAGES={"en"}
    sl_userNodeList=<Value Unspecified>
    b_acceptLicense=<Value Unspecified>
    b_useRegistration=<Value Unspecified>
    s_csiNumber=<Value Unspecified>
    s_metaLink=<Value Unspecified>
    s_countryName=<Value Unspecified>
    b_proxyused=<Value Unspecified>
    s_serverName=<Value Unspecified>
    s_portNumber=<Value Unspecified>
    s_userName=<Value Unspecified>
    s_proxyPassword=<Value Unspecified>
    b_authenticationused=<Value Unspecified>
    

    只需要修改有提示的三个参数。其他不需要修改。

    特别说明的是,如果不记得ORACLE_HOME_NAME,可以在 oraInventory/ContentsXML/inventory.xml中找到,如下:

    <INVENTORY>
    <VERSION_INFO>
       <SAVED_WITH>10.2.0.1.0</SAVED_WITH>
       <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
    </VERSION_INFO>
    <HOME_LIST>
    <HOME NAME="OraDBHome1" LOC="/u01/app/oracle/product/10.2.0/db_1" TYPE="O" IDX="1"/>
    </HOME_LIST>
    </INVENTORY>
    

    HOME NAME="OraDBHome1" 就是ORACLE_HOME_NAME 对应的值。

    另外,如果想变更 ORACLE_HOME_NAME 的值,请参考变更ORACLE_HOME_NAME.

    1.10.3 安装补丁

    ./runInstaller -silent -responseFile <path>/Disk1/response/patchset.rsp
    

    注意,响应文件要使用绝对路径。

    执行部分结果如下:

    正在启动 Oracle Universal Installer...
    
    正在检查安装程序要求...
    
    检查操作系统版本: 必须是redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1, asianux-2, asianux-3, redhat-4, redhat-5 or redhat-6
                                          通过
    
    
    所有安装程序要求均已满足。
    
    准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2020-05-09_11-53-53PM. 请稍候...[oracle@boss1 Disk1]$ Oracle Universal Installer, 版本 10.2.0.4.0 正式版
    版权所有 (c) 1999, 2008, Oracle。保留所有权利。
    
    本次安装会话的日志可见于:
     /u01/app/oracle/oraInventory/logs/installActions2020-05-09_11-53-53PM.log
    .................................................................................................... 100% 已完成。
    
    
    正在加载产品信息
    .......................................................................................................... 100% 已完成。
    
    
    开始执行先决条件...
    Total No of checks: 2
    
    Performing check for checkToInstallCCR
    检查 Oracle 主目录中已安装的组件
    检查完成。此次检查的总体结果为: 通过
    
    
    Check complete: 通过
    =======================================================================
    Performing check for CompatibilityChecks
    正在检查 Oracle 主目录的不兼容性...
    检查完成。此次检查的总体结果为: 通过
    
    
    Check complete: 通过
    =======================================================================
    PrereqChecks complete
    
    
    分析相关性
    ............................................................................................................. 100% 已完成。
    
    -----------------------------------------------------------------------------
    概要
    全局设置
        来源: /home/oracle/Disk1/stage/products.xml
        Oracle 主目录: /u01/app/oracle/product/10.2.0/db_1 (OraDBHome1)
    产品语言
       英语
    空间要求
       / 要求空间 1.42GB (包括 55MB 临时空间) : 可用空间 39.73GB
    新安装组件 (81 个产品)
       Oracle Notification Service Patch 10.2.0.4.0
       Database Configuration and Upgrade Assistants Patch 10.2.0.4.0
    ........... 省略 ...............
    正在进行卸装 (2020年5月9日 星期六 下午11时54分04秒 CST)
    ...............................................................   0% 已完成。
    ...............................................................  14% 已完成。
    ...............................................................  29% 已完成。
    ...............................................................  44% 已完成。
    ...............................................................  59% 已完成。
    ...............................................................  74% 已完成。
    ..............................................                  100% 已完成。
    
    卸装成功
    
    正在安装 (2020年5月9日 星期六 下午11时54分04秒 CST)
    ...............................................................  14% 已完成。
    ...............................................................  29% 已完成。
    ...............................................................  44% 已完成。
    ...............................................................  59% 已完成。
    ...............................................................  74% 已完成。
    ......................................................           87% 已完成。
    安装成功
    
    正在进行链接 (2020年5月9日 星期六 下午11时54分33秒 CST)
    ...                                                              87% 已完成。
    链接成功
    
    正在进行设置 (2020年5月9日 星期六 下午11时57分15秒 CST)
    .........                                                       100% 已完成。
    设置成功
    
    安装阶段结束。(2020年5月9日 星期六 下午11时57分16秒 CST)
    WARNING:
    以下配置脚本需要以 "root" 用户的身份执行。
    #!/bin/sh
    #Root script to run
    /u01/app/oracle/product/10.2.0/db_1/root.sh
    要执行配置脚本, 请执行以下操作:
        1. 打开终端窗口
        2. 以 "root" 身份登录
        3. 运行脚本
    
    Oracle Database 10g Release 2 Patch Set 3 的 安装 已成功。
    请查看 '/u01/app/oracle/oraInventory/logs/silentInstall2020-05-09_11-53-53PM.log' 以获取详细资料。
    

    根据提示,再次执行root.sh,注意,以root用户执行。

    sh /u01/app/oracle/product/10.2.0/db_1/root.sh
    

    没有异常的话,至此,已升级完 RDBMS软件。 如果还没有数据库,只是升级软件,至此已完成。如果本身是有数据 库的,还需要执行下面两个步骤。

    1.10.4 升级数据字典

    sqlplus 环境操作,sysdba身份。

    startup upgrade
    spool patch.log
    @?/rdbms/admin/catupgrd.sql
    spool off
    

    1.10.5 重新编译无效对象

    sqlplus 环境操作,sysdba身份。

    startup force
    @?/rdbms/admin/utlrp.sql
    

    1.10.6 升级catalog

    如果使用catalog 库作为记录rman备份信息,那么还需要升级catalog。

    rman catalog /
    RMAN> UPGRADE CATALOG;
    

    1.10.7 回退

    SQL> STARTUP DOWNGRADE
    SQL> SPOOL downgrade.log
    SQL> @catdwgrd.sql
    SQL> spool off
    

    注意,如果你的版本里没有catdwgrd.sql,可以依据10.1中的文件全名规则, 降级使用的是d92000.sql,即d<old_release>.sql 。

    Author: halberd.lee

    Created: 2020-05-11 Mon 21:54

    Validate

  • 相关阅读:
    对于未来的搜索引擎的思考!
    [转]《C陷阱与缺陷》读书笔记——前车之覆,后车之鉴
    C语言深度解剖笔记
    感觉压力挺大的!!
    发现中国的代理服务器很少
    我的博客搬家了
    [转]22+1条经典的编程引言
    [转]想象五年之后的你
    什么叫做卷积
    《30天自制操作系统》读书笔记(1)读前感
  • 原文地址:https://www.cnblogs.com/halberd-lee/p/12872090.html
Copyright © 2011-2022 走看看