zoukankan      html  css  js  c++  java
  • Oracle 单实例 Relink Binary Options 说明

    一.引入问题

    帮朋友在CentOS上安装一个10g的Oracle,结果朋友的CentOS版本是6.2的版本,最新的一个版本,不过Linux上基本都差不多,所以按照以前的步骤,迅速的操作起来,结果遇到N多以前没有遇到过的错误。安装被迫中断,尝试忽略之前的错误,又会遇到其他的错误。

    64位 linux平台下Oracle安装文档

    http://blog.csdn.net/tianlesoftware/article/details/6062816

    如何搭建一个数据库服务器平台

    http://blog.csdn.net/tianlesoftware/article/details/5602291

    1.1 ins_ctx.mk 问题

    [oracle@xd logs]$ tail  installActions2012-05-05_01-20-00PM.log       

    INFO: collect2: ld returned 1 exit status

    INFO: make: *** [ctxhx] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'install' of makefile '/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk'.See '/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-20-00PM.log'for details.

    Exception Severity: 1

    [oracle@xd logs]$ yum install gcc

    Loaded plugins: fastestmirror,refresh-packagekit, security

    You need to be root to perform thiscommand.

    [oracle@xd logs]$ rpm -qa --queryformat"%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libgcc

    libgcc-4.4.6-3.el6 (i686)

    libgcc-4.4.6-3.el6 (x86_64)

    1.2 ins_rdbms.mk 问题

    [oracle@xd logs]$ tail  installActions2012-05-05_01-20-00PM.log

    INFO: make[1]: Leaving directory`/u01/app/oracle/product/10.2.0/db_1/rdbms/lib'

    INFO: make: *** [extproc32] Error 2

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'all_no_orcl' of makefile '/u01/app/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'.See '/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-20-00PM.log'for details.

    Exception Severity: 1

    1.3 ins_emdb.mk 问题

    [oracle@xd logs]$ tail  installActions2012-05-05_01-20-00PM.log

    INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib'

    INFO: make: *** [nmccollector] Error 2

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'collector' of makefile'/u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_emdb.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-20-00PM.log' fordetails.

    Exception Severity: 1

    1.4 ins_net_client.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    INFO: /usr/bin/ar:/u01/app/oracle/product/10.2.0/db_1/lib32/nnfgt.o: No such file or directory

    INFO: make: *** [nnfgt.o] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'nnfgt.o' of makefile'/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.5 ins_precomp.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    INFO: /bin/chmod: cannot access`/u01/app/oracle/product/10.2.0/db_1/precomp/lib/proc': No such file ordirectory

    INFO: make: ***[/u01/app/oracle/product/10.2.0/db_1/precomp/lib/proc] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'relink' of makefile'/u01/app/oracle/product/10.2.0/db_1/precomp/lib/ins_precomp.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.6 ins_plsql.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    collect2: ld returned 1 exit status

    INFO: make: *** [wrap] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'install' of makefile'/u01/app/oracle/product/10.2.0/db_1/plsql/lib/ins_plsql.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.7 ins_net_server.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    collect2: ld returned 1 exit status

    INFO: make: *** [tnslsnr] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'install' of makefile'/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_server.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.8 ins_nau.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    INFO: ld returned 1 exit status

    INFO: make: *** [oklist] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'ioklist iokinit iokdstry' of makefile'/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_nau.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.9 ins_ldap.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    collect2: ld returned 1 exit status

    INFO: make: *** [ldapadd] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'clientonlyinstall' of makefile'/u01/app/oracle/product/10.2.0/db_1/ldap/lib/ins_ldap.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.10 ins_srvm.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    INFO: ld returned 1 exit status

    INFO: make: *** [rawutl] Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    Exception String: Error in invoking target'install' of makefile'/u01/app/oracle/product/10.2.0/db_1/srvm/lib/ins_srvm.mk'. See'/u01/app/oracle/oraInventory/logs/installActions2012-05-05_01-51-59PM.log' fordetails.

    Exception Severity: 1

    1.11 ins_has.mk 问题

    [oracle@xd logs]$ tailinstallActions2012-05-05_01-51-59PM.log

    collect2: ld returned 1 exit status

    INFO: make: *** [/u01/app/oracle/product/10.2.0/db_1/racg/lib/racgmain]Error 1

    INFO: End output from spawned process.

    INFO: ----------------------------------

    INFO: Exception thrown from action: make

    Exception Name: MakefileException

    因为之前没有在CentOS 6.2 上安装过Oracle,所以开始也是争对具体情况去分析,饶了一圈之后,最终定位是安装之前少包了,才导致在安装过程中一些Binary Options不能进行link。用yum 把需要的包全部打上之后,再次安装就没有问题了。

    这里要清楚一个概念,就是Binary Options, 其就是Oracle 的组件,我们在把Oracle 安装到系统上时,会对这些组件进行一个link的操作,我们这里因为少了包导致不能进行link。

    OracleBinary Options 说明

    http://blog.csdn.net/tianlesoftware/article/details/7577637

           这次是太大意了,安装之前没有去检查包是否安装全了,因为根据以往的经验,把没有的包打上就可以了,没想到还有其他的包少了。所以操作中务必小心,要按照文档步骤来。

           其实在Linux 6平台下,可以使用oracle-rdbms-server-11gR2-preinstall包来操作,这个包会帮我们解决很多问题,包括前期包的依赖性和相关的参数配置工作,关于该包的使用,具体参考:

    Oracle Linux6 下Oracle RDBMS Server 11gR2 Preinstall RPM 包说明

    http://blog.csdn.net/tianlesoftware/article/details/7456878

    在Oracle Linux5中参考:

    Oracle ValidatedConfigurations 安装使用 说明

    http://blog.csdn.net/tianlesoftware/article/details/7061684

    二.MOS 上部分解决方法

    对第一部分列出的问题,这里从MOS上摘取2个的解决方案。

    2.1 Ins_net_client.Mk 问题一

    MOS 文章:

    'Error In Invoking Target Ntcontab.o OfMakefile Ins_net_client.Mk' [ID 341621.1]

    2.1.1 Symptoms

    A popuperror occurs during the installation of the Oracle9i R2 Client (9.2.0.1)on Sun Solaris 5.9 (64-bit).

    Popup error message:
    Error in invoking target ntcontab.o of makefile ins_net_client.mk

    2.1.2 Cause

    Expected defaultSun Solaris installed utilities (from Sun Packages) not present in /usr/ccs/bindirectory.

    Instead thefollowing utilities were symbolically linked to other provider (packaged)utilities and/or renamed in the '/usr/ccs/bin' directory:

    /usr/ccs/bin/ar >> was symbolically linked to /software/binutils/bin/ar(original ar was
    moved ot a new name)
    /usr/ccs/bin/as >> was moved to a new name
    /usr/ccs/bin/ld >> was symbolically linked to software/binutils/bin/ld(original ld was
    moved ot a new name)

    Investigation with System Administrator. 

    2.1.3 Solution

    To implement the solution, please executethe following steps:

    1. Request the System Administrator remove the symbolic links and restore theexpected default Sun Solaris installed utilities (at least long enough tocomplete the Oracle Client installation and relinking.

    2. Once in place, run the Oracle9i R2 Client installation, or manually relinkthe Oracle Client:
    --手工relink Oracle client


    Run:
    cd $ORACLE_HOME/network/lib
    make -f ins_net_client.mk nnfgt.o
    make -f ins_net_client.mk ntcontab.o
    make -f ins_net_client.mk client_sharedlib
    make -f ins_net_client.mk install


    cd $ORACLE_HOME/sqlplus/lib
    make -f ins_sqlplus.mk install


    cd $ORACLE_HOME/bin
    relink client 

    2.2 Ins_net_client.Mk 问题二

    MOS 文章:

    Installing OracleAS on a Linux 64bit: Errorin invoking target ntcontab.o of makefile ins_net_client.mk [ID 400301.1]

    2.2.1 Symptoms

    While installingthe Application Server 10.1.2.0.2 on a Linux 64 bit distribution (e.g.RedHat 4.0 64bit) the following error may be raised in a pop up windowwhen the Universal Installer starts linking the binaries:

    Error ininvoking target 'ntcontab.o' of makefile'/myoraclehome/network/lib/ins_net_client.mk'

    The error may beraised by any installation type (Infrastructure, Metadata Repository, IdentityManagement, Midtiers).

    2.2.2 Changes

    Toinstall the Application Server 10.1.2.0.2 in a Linux 64bit O/S we need totailor the environment so the gcc compiler works as a 32bitcompiler.  By default the gcc compiler bundled with the Linux x86 64bitdistributions works in 64bit mode.

    2.2.3 Cause

    There were 2 issues preventing thecompilation:

    1) The /usr/bin/gcc compiler need to bewrapped to compile in 32bit mode and pick up the crt1.o file

    2) The /usr/lib/crt1.o file was missing.

    2.2.4 Solution

    Firstly review the advice given in: 

    Note:377359.1 HandlingOracle Application Server 10g Relinking Errors on Redhat and Suse 64-bit Linux

    If the advice in this note does not lead to a solution,try the work-around steps given below.

    1) Create ashell script /usr/bin/gcc containing the following entries. Note the scriptwill differ depending on the gcc version. Create a different shell scriptdepending on the gccNN version:

    For gcc32:

    #!/bin/sh
    exec /usr/bin/gcc32 -m32 -static -libgcc -B/usr/lib/ "$@"

    For gcc33:

    #!/bin/sh
    exec /usr/bin/gcc33 -m32 -static -libgcc -B/usr/lib/ "$@"

    For gcc34:

    #!bin/sh
    exec /usr/bin/gcc34 -m32 -static -libgcc -B/usr/lib-L/usr/lib/gcc/x86_64-redhat-linux/3.4.3/32 "$@"

    2) Install the glibc-devel-2.3.4-2.25(32bit) RPM and verify you have /usr/lib/crt1.o afterwards

    3) Verify libdb.so.2 is installedin the system. The file should be there if gnome-libs-1.4.1.2.90-34.1 (orlater) is installed:

    rpm -qa |grep gnome-libs ==> Verifygnome-libs is there
    rpm -ql gnome-libs-1.4.1.2.90-34.1| grep libdb ==> Verify libdb.so.2 isincluded in the rpm

    4) Retry the failed relink and continue theinstallation.

    2.3 ins_ctx.mk 问题

    MOS 文章:

    Error in Invoking Target 'Install' of Makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk [ID 362285.1]

    2.3.1 Symptoms

    While executingthe link phase of an Oracle Database Server installation on LINUX x86-64 thefollowing error occurs: 

    $ORACLE_HOME/bin/ctxhx fails to relink witherror
    /usr/bin/ld: cannot find -lgcc_s_32

    2.3.2 Cause

    Missing required 32bit RPMs for:
    libgcc

    Per :
    Note851598.1 Linux OS Requirements Reference List for Database Server

    2.3.3 Solution

    1. Check if you have the missing RPMinstalled.  For example:

    rpm -qa --queryformat"%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libgcc

    libgcc-4.1.2-48.el5 (x86_64)  <<<64bit version
    libgcc-4.1.2-48.el5 (i386)   <<<32bit version



    2. Install any missing RPM's per:

    Note851598.1 Linux OS Requirements Reference List for Database Server

    In this case libgcc-4.1.2-48.el5 (i386) <<<32bit version was missing.

    3. Relink per

    Note131321.1 How to Relink Oracle Database Software on UNIX/LINUX

    for example:

    % relink all > /tmp/relink.txt2>&1


    4. Check relink.txt for errors

    三.Relink Oracle Database 说明

    MOS文章:

    How to Relink Oracle Database Software on UNIX [ID 131321.1]

    3.1 背景说明

           Applicationsfor UNIX are generally not distributed as complete executables. 

           Oracle,like many application vendors who create products for UNIX, distributeindividual object files, library archives of object files, and some sourcefiles which then get "relinked" at the operating system level duringinstallation to create usable executables. This guarantees a reliable integration with functions provided by the OSsystem libraries.

    UNIX平台下的应用通常不是作为一个完整的可执行文件来部署的。Oracle 分散部署单独的对象文件,对象文件的library archives 和一些源文件,然后在安装过程中,在系统级别获取这些对象的link,并用其创建可执行文件。

    3.1.1 在以下情况下会自动进行Relink

    Relinking occurs automatically under thesecircumstances:

    (1)An Oracle product has beeninstalled with an Oracle provided installer.

    (2)An Oracle patch set has beenapplied via an Oracle provided installer. 

    3.1.2 The following information has been added to the 'Certify' section of MyOracleSupport:

      General Notes For Oracle Database - Enterprise Edition:
       O/S Information:
       The vendors guarantee operating systembinary compatibility; therefore, no reinstall or relink of the Oracle software isrequired when upgrading these operating systems unless specifically statedotherwise.

    3.1.3 Relinking Oraclemanually is suggested under the following circumstances(even though the OSvendor may not require it):

    --在以下情况下需要手工的Relinking Oracle

    (1)An OS upgrade has occurred.
    (2)A change has been made to the OSsystem libraries.  This can occur duringthe application of an OS patch.
    (3)A new install failed during therelinking phase.
    (4)Individual Oracle executables coredump during initial startup.
    (5)An individual Oracle patch has beenapplied (however, explicit relink instructions are usually either included inthe README or integrated into the patch install script)

    3.2 Relinking Oracle

     

    注意事项:

    This note shouldnot be used for 11GR2 GI/ASM home's (GI: Grid Infrastructure).

    You shouldrather refer to clusterware admin guide and/or How to Check WhetherOracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC.

    以下方法争对的是单实例,如果是RAC,参考:

    How to Check Whether Oracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC [ID 284785.1]

    手工Relink的步骤如下:

    [Step 1] Log into theUNIX system as the Oracle software owner:
    =============================================================
    Typically this is the user 'oracle'.
     

    [STEP 2] Verify that your$ORACLE_HOME is set correctly:
    =============================================================
    For all Oracle Versions and Platforms, perform this basic environment check
    first:
     
     % cd $ORACLE_HOME
     % pwd   

    Doing this will ensure that $ORACLE_HOME is set correctly in your currentenvironment.
     

    [Step 3] Verify and/or Configure theUNIX Environment for proper relinking:
    =============================================================

    For all Oracle Versionsand UNIX Platforms:
     The Platform specific environment variablesLIBPATH, LD_LIBRARY_PATH,  SHLIB_PATHtypically are already set to include system library locations like  '/usr/lib'. In most cases, you need only check what they are set to first, then addthe $ORACLE_HOME/lib directory to them where appropriate.

     i.e.:  %setenv LD_LIBRARY_PATH ${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}  (see note:131207.1How to Set UNIX Environment Variables for help with  setting UNIX environment variables)

    If on AIX with:

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

    NOTE: Beforerelinking, after stopping all required processes, issue the     following as root to detach all files frommemory that are not attached to an active process:
             # /usr/sbin/slibclean

        Oracle 7.3.X:
           - Set LIBPATH to include$ORACLE_HOME/lib
       
        Oracle 8.0.X:
           - Set LIBPATH to include$ORACLE_HOME/lib
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib and
             $ORACLE_HOME/network/lib (Requiredwhen using Oracle products that use Java)
           - Set LINK_CNTRL to L_PTHREADS_D7if using AIX 4.3. ('oslevel' verifies  OSversion)
       
        Oracle 8.1.X, 9.X.X, 10.X.X or 11.x.x:
           - For 8.1.5, set LINK_CNTRL toL_PTHREADS_D7
           - If not 8.1.5, ensure thatLINK_CNTRL is not set
           - Set LIBPATH to include$ORACLE_HOME/lib
         

    If on DATA GENERAL AVIION (DG) with:
    -----------------------------------
        Oracle 7.3.X or 8.0.X:
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib
           - ensure TARGET_BINARY_INTERFACEis unset
       
        Oracle 8.1.X:
           - Set LD_LIBRARY_PATH toinclude         $ORACLE_HOME/lib:$ORACLE_HOME/JRE/lib/PentiumPro/native_threads

    If on HP-UX with:
    ----------------
        Oracle 7.3.X,8.0.X, 8.1.X;
           - Set SHLIB_PATH to $ORACLE_HOME/lib
           If using 64bit 8i Oracle, also
           - Set LD_LIBRARY_PATH to$ORACLE_HOME/lib64
           - ensure LPATH is unset
     
        Oracle 9.X.X,10.X.X or 11.x.x;
           - ensure LPATH is unset

    If on NCR with:
    --------------
        Oracle 7.3.X, 8.0.X or 8.1.X:
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib:/usr/ccs/lib

    If on SCO UNIXware with:
    -----------------------

        Oracle 7.3.X or 8.0.X:
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib
       
        Oracle 8.1.X:
           - Set LD_LIBRARY_PATH to include
            $ORACLE_HOME/lib:$ORACLE_HOME/JRE/lib/x86at/native_threads

    If on SGI with:
    --------------
        32bit Oracle 7.3.X or 8.0.X:
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib
           - Set SGI_ABI to -32 

        64bit Oracle 8.0.X or 8.1.X (8i isonly available in 64bit):
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib
           - Set SGI_ABI to -64
           - If one does not already exist,create the file compiler.defaults and
             set the COMPILER_DEFAULTS_PATHvariable:

         In the Oracle software owner's $HOMEdirectory, create a file called      'compiler.defaults':
     
            % cd $HOME
            % echo"-DEFAULT:abi=64:isa=mips3:proc=r10k" > compiler.defaults

         Then set the environment variableCOMPILER_DEFAULTS_PATH to point to the $HOME directory.
     
            % setenv COMPILER_DEFAULTS_PATH$HOME
     
         If this is not set, relinking willfail because the compiler defaults to      MIPS4 objects although Oracle requiresMIPS3.
           - Set LD_LIBRARY64_PATH to includethe $ORACLE_HOME/lib and the         $ORACLE_HOME/javavm/admin directories.
           - Set LD_LIBRARYN32_PATH toinclude the $ORACLE_HOME/lib32 directory.

    NOTE:LD_LIBRARY64_PATH & LD_LIBRARYN32_PATH must be undefined when installingsoftware with Oracle Universal Installer.

    If on SOLARIS (Sparc or Intel) with:
    ------------------------------------
        Oracle 7.3.X, 8.0.X, or 8.1.X:
           - Ensure that /usr/ccs/bin isbefore /usr/ucb in $PATH 
             % which ld   ....should return '/usr/ccs/bin/ld'

           If using 32bit(pre 9i) Oracle,
           - SetLD_LIBRARY_PATH=$ORACLE_HOME/lib

           If using 64bit(pre 9i) Oracle,
           - SetLD_LIBRARY_PATH=$ORACLE_HOME/lib
           - SetLD_LIBRARY_PATH_64=$ORACLE_HOME/lib64

        Oracle 9.X.X or higher:
           - LD_LIBRARY_PATH &LD_LIBRARY_PATH_64 do not need to be set to include a reference to$ORACLE_HOME/lib or $ORACLE_HOME/lib64 for a generic database softwareinstallation. (However they should not contain a reference to the ORACLE_HOMEof another Oracle version)


    If on Digital/Tru64,IBM/Sequent PTX, Linux or any other UNIX Platform not mentioned above with:
    ------------------------------------------------------------------------------

        Oracle 7.3.X, 8.0.X, 8.1.X, 9.X.X,10.X.X or 11.x.x:
           - Set LD_LIBRARY_PATH to include$ORACLE_HOME/lib


    [Step 4] For all Oracle Versions and UNIX Platforms:
    =============================================================
    Verify that you performed Step 2 correctly:

     % env | pg  ....make sure that you see the correctabsolute path for
       $ORACLE_HOME in the variabledefinitions.
     

    [Step 5] For all Oracle Versions and UNIX Platforms:
    =============================================================
    Verify umask is set correctly:

     % umask

    This must return 022.  If it does not,set umask to 022.

     % umask 022
     % umask

    [Step 6] Run the OS Commands to Relink Oracle:
    =============================================================

    Important Notes:

    --Relink 前的重要说明

    (1)Before relinking Oracle, shut downboth the database and the listener.
    (2)The following commands will outputa lot of text to your session window. To capture this output for upload tosupport, redirect the output to a file.
    (3)If relinking a client installation,it's expected that some aspects of the following commands will fail if thecomponents were not originally installed.

    For all UNIX platforms:

    Oracle 7.3.x
    ------------
     Forexecutables:  oracle, exp, imp, sqlldr,tkprof

          % cd $ORACLE_HOME/rdbms/lib
          % make -f ins_rdbms.mk install

     Forexecutables:  svrmgrl, svrmgrm

          % cd $ORACLE_HOME/svrmgr/lib
          % make -f ins_svrmgr.mk linstallminstall      <- linstall is forsvrmgrl, minstall is for svrmgrm

     Forexecutables:  sqlplus

          % cd $ORACLE_HOME/sqlplus/lib
          % make -f ins_sqlplus.mk install

     Forexecutables:  dbsnmp, oemevent, oratclsh

          % cd $ORACLE_HOME/network/lib
          % make -f ins_agent.mk install

     Forexecutables:  names, namesctl

          % cd $ORACLE_HOME/network/lib
          % make -f ins_names.mk install

     Forexecutables:  tnslsnr, lsnrctl, tnsping,csmnl, trceval, trcroute

          % cd $ORACLE_HOME/network/lib
          % make -f ins_network.mk install


    Oracle 8.0.x
    ------------
     Forexecutables:  oracle, exp, imp, sqlldr,tkprof, mig, dbv, orapwd, rman, svrmgrl, ogms, ogmsctl

          % cd $ORACLE_HOME/rdbms/lib
          % make -f ins_rdbms.mk install

     Forexecutables:  sqlplus

          % cd $ORACLE_HOME/sqlplus/lib
          % make -f ins_sqlplus.mk install

     For executables:  dbsnmp, oemevent, oratclsh, libosm.so

          % cd $ORACLE_HOME/network/lib
          % make -f ins_oemagent.mk install

     Forexecutables:  tnslsnr, lsnrctl, namesctl,names, osslogin, trcasst, trcroute

          % cd $ORACLE_HOME/network/lib
          % make -f ins_network.mk install


    Oracle 8.1 之前的版本,必须手工的relink 相关的工具,在8.1 之后,Oracle 提供了Relink 脚本,其可以帮助我们relink 大部分的工具。


    Oracle 8.1.X, 9.X.X, 10.X.X or 11.X.X
    -------------------------------------
      *** NEW IN 8i AND ABOVE ***

       A 'relink' script is provided in the$ORACLE_HOME/bin directory.
         % cd $ORACLE_HOME/bin
         % relink      ...this will display all of the command'soptions.
           usage: relink

    accepted valuesfor parameter: all, oracle, network, client,        client_sharedlib, interMedia, precomp,utilities, oemagent, ldap
     
      Note: ldap option is available onlyfrom 9i. In 8i, you would have to manually relink ldap.

    You can relink most of the executables associated with anOracle Server Installation  by runningthe following command:

    --可以使用relink命令关联大部分可执行文件:

         % relink all  

    This will notrelink every single executable Oracle provides(you can discern whichexecutables were relinked by checking their timestamp with 'ls -l' in the$ORACLE_HOME/bin directory).  However,'relink all' will recreate the shared libraries that most executables rely onand thereby resolve most issues that require a proper relink.


    @bug:1337908  THE $ORACLE_HOME/BIN/RELINK SCRIPT DOES NOTRELINK EXP, IMP SQLLOADER
    @bug:2338590  RELINK ALL DOES NOT RELINK SQLPLUS 


     

    11.2.x special instructions (11.2.0.1,11.2.0.2 etc...)
    --Oracle 11.2.X中的特殊指令

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

    A) From 11GR2 the relink script will only accept "all" as argument(it is also explained in:  Oracle 11gR2Relink New Feature).

           --Oracle 11.2.x 开始,relink 只接收all 参数。


    See in C) the traditional 'make' commands that can be run independently.

    B) From 11GR2 (11.2.0.1,11.2.0.2 etc...) the relink script no longer scans for*.mk files and no longer runs the make commands (that is what it used to do in11.1 and lower versions).

    All relinkoperations are done via the new runInstaller method described in: 
    Note883299.1 : Oracle 11gR2 Relink New Features. 

           Oracle11.2.x开始,relink 脚本不在扫描*.mk 和执行make命令。所有的relink操作都是通过runInstaller的方法来进行,关于11gR2Relink的新特性,参考MOS文档。

    A compatibilityscript was put in place for 11gR2 so if someone runs "relink all" itwill actually use the runInstaller method of relinking. 

    --为了脚本的兼容性,即使在11gR2中执行relink all,实际上也是使用runInstaller的方法来进行relink

    One exception in11.2.0.1: Sun Sparc Solaris which for scan of *.mk and make are still in use.

    --唯一例外的情况是在Sun Sparc Solaris下的11.2.0.1.其还是使用扫描*.mkmake命令。

    You may use thefollowing command which will only output errors to the screen, if any, but willcapture the entire relink to a log file:

    $ORACLE_HOME/oui/bin/runInstaller -relink -waitForCompletion -maketargetsxml$ORACLE_HOME/inventory/make/makeorder.xml \ORACLE_HOME=$ORACLE_HOME 2>&1| tee $ORACLE_HOME/install/relink.log | grep -i error | grep -iv warning


    C) Running the 'make' commands independently:

           --11gR2中单独运行make命令进行relink


     Forexecutables:  oracle, exp, imp, sqlldr,tkprof, mig, dbv, orapwd, rman, svrmgrl, ogms, ogmsctl

          % cd $ORACLE_HOME/rdbms/lib
          % make -f ins_rdbms.mk install

    NOTE: After relinking the oracle executable, make sure that the permissions onthe executable are 6751 (-rwsr-s--x). If they are not, run the followingcommand as the Oracle software owner:

          % cd $ORACLE_HOME/bin
          % chmod 6751 oracle

     Forexecutables:  sqlplus

          % cd $ORACLE_HOME/sqlplus/lib
          % make -f ins_sqlplus.mk install

     Forexecutables:  isqlplus   (Oracle9i and higher versions)

          % cd $ORACLE_HOME/sqlplus/lib
          % make -f ins_sqlplus.mkinstall_isqlplus

     Forexecutables:  dbsnmp, oemevent, oratclsh

          % cd $ORACLE_HOME/network/lib
          % make -f ins_oemagent.mk install

    NOTE: After relinking the dbsnmp executable, it is necessary to run thefollowing commands as root (so that the ownership/permissions on the executableare correct):

          # cd $ORACLE_HOME/bin
          # chown root dbsnmp
          # chmod 6750 dbsnmp

          @ References: note:233559.1and bug:2858326

     Forexecutables:  names, namesctl

          % cd $ORACLE_HOME/network/lib
          % make -f ins_names.mk install

     Forexecutables:  osslogin, trcasst,trcroute, onrsd, tnsping

          % cd $ORACLE_HOME/network/lib
          % make -f ins_net_client.mk install

     Forexecutables:  tnslsnr, lsnrctl

          % cd $ORACLE_HOME/network/lib
          % make -f ins_net_server.mk install

     For executablesrelated to ldap (for example Oracle Internet Directory):

          % cd $ORACLE_HOME/ldap/lib
          % make -f ins_ldap.mk install

    3.3 How to Tell if Relinking Was Successful:

    If relinking wassuccessful, the make command will eventually return to the OS prompt without anerror. There will NOT be a 'Relinking Successful' type message.


    If You Receive an Error Message During Relinking:
    =============================================================

    Confirm that themessage you received is an actual fatal error and not a warning. Relinkingerrors usually terminate the relinking process and contain verbiage similar tothe following:

    'Fatal error','Ld: fatal', 'Exit Code 1'

    While warningswill look similar to: 'ld: warning: option -YP appears more than once, firstsetting taken' and can most often be ignored.

    If you receivean error that terminates the relinking process, your first step should be toextract the relevant information about the error from the make output:

    This can be broken down into three basic steps:
     1. Identify the OS utility that isreturning the error.
        'ld', 'make', 'cc', 'mv', 'cp', 'ar'are common sources.
     2. Identify the type of error:
        'Permission Denied', 'UndefinedSymbol', 'File Not Found' are common types.
     3. Identify the files or symbolsinvolved.

    Using theinformation from above as keywords, search Oracle's My Oracle Supportrepository ( https://support.oracle.com ) for previous occurrences of the sameerror. If no previous occurrences are found or a solution is not provided,generate an iTAR that includes the complete error text.

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

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Skype: tianlesoftware

    QQ:              tianlesoftware@gmail.com

    Email:   tianlesoftware@gmail.com

    Blog:     http://www.tianlesoftware.com

    Weibo: http://weibo.com/tianlesoftware

    Twitter: http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware

    -------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

    DBA6 群:158654907    DBA7 群:172855474   DBA总群:104207940

  • 相关阅读:
    SQL语句集(转)
    Oracle 数据库 for update / for update nowait 的区别
    XML 关键字
    JAVA 操作 DBF 文件数据库
    Hibernate 懒加载和 Json 序列化冲突
    MYSQL 语法大全自己总结的
    php-laravel中间件使用
    php-表单验证
    php-laravel安装与使用
    iOS 关于权限设置的问题
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609288.html
Copyright © 2011-2022 走看看