一.引入问题

帮朋友在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/orHow 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的方法来进行,关于11gR2中Relink的新特性,参考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.其还是使用扫描*.mk和make命令。

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.

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

https://www.cndba.cn/Dave/article/1313

转载于:https://www.cnblogs.com/DataArt/p/10141722.html

Oracle 单实例 Relink Binary Options 说明相关推荐

  1. Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)

    实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...

  2. 单实例oracle ha,Oracle单实例启动多个实例

    Oracle单实例启动多个实例 多实例运行,单个实例就是一个数据库!一个数据库对应多个实例是RAC. Linux建立oracle的实例步骤: 1.在linux服务器的图形界面下,打开一个终端,输入如下 ...

  3. 新建oracle数据库 环境查询,Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇...

    Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇 系统环境: 操作系统:RedHat EL55 Oracle : Oracle 11.2.0.1.0 集群软件:Oracle ...

  4. ORACLE单实例ADG搭建

    ORACLE单实例ADG搭建 1.必要配置 1.1 查看是否开启归档 1.2 启库开启强制日志 1.3 添加standby logfile 2.修改主库参数 2.1 使用当前的spfile创建pfil ...

  5. 如何将 Oracle 单实例数据库转换为RAC数据库?

    墨墨导读:本文来自墨天轮用户投稿,文章详述安装一套RAC环境,并把单实例数据库通过通过rman还原到这个环境(通常如果是生产环境,我们会搭建从RAC到单实例数据库的ADG,以减少停机时间). 单实例数 ...

  6. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  7. azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程

    <->环境准备          线上单实例oracle11g(PD1),已经运行了一段时间,属于单点实例,按照云上一不小心发生的vm文件故障来看,这个很危险,所以需要做高可用. 所以今天 ...

  8. oracle单实例通过dataguard迁移到RAC 转

    原文链接,防止链接过去,内容拷贝如下:http://www.bkjia.com/oracle/949585.html One instance primary to RAC standbyDataGu ...

  9. Oracle单实例下oracle数据库从文件系统迁移到ASM上

    第一步:启动ASM实例(+ASM) [oracle@oracle ~]$ export ORACLE_SID=+ASM [oracle@oracle ~]$ sqlplus / as sysdba S ...

最新文章

  1. apache的prefork和workder模式
  2. Freebsd下如何安装配置ssh
  3. SQLServer数据表的创建
  4. 体验XHProf(linux版本)
  5. CentOS系统配置solr
  6. ArcGIS删除地图投影坐标,只保留地理坐标
  7. [Leetcode][第201题][JAVA][数字范围按位与][位运算][Brian Kernighan]
  8. NOIP2014 uoj20解方程 数论(同余)
  9. vue3中setup()函数的使用一
  10. 抽象类的成员特点 学习笔记
  11. UIWebView的离线缓存
  12. WPF捕获事件即使这个事件被标记为Handled
  13. 计算机二级c语言f7保存,国家计算机二级c语言上机真题
  14. 如何免费自动将邮件发送到多个邮件地址 - 自动邮件发送器使用教程
  15. 解读测试能力素质模型(Job Model)
  16. EV SSL证书和普通证书的区别
  17. bootstrap文档第一遍
  18. 中秋佳节,我想给粉丝们送个礼物,真诚祝福(已送出,恭喜下面这位粉丝)
  19. 微信小游戏《飞机打方块》源码分享
  20. CSS gradient渐变之webkit核心浏览器下的使用

热门文章

  1. logback之二:输出日志到控制台
  2. 5个省,7大 “5G+智能电网” 落地应用案例!
  3. Unity全面的面试题(包含答案)
  4. PHP - 命名空间(namespace)概述及实例说明
  5. 判断二极管导通例题_几种二极管的检测方法(普通,稳压,双向触发)
  6. WPS文字怎么设置页面如分隔符、背景、页面边框等等
  7. elasticsearch 过期数据自动删除Java代码
  8. 干货 : 揭秘信息可视化图表的设计方法
  9. 《后盾网Thinkphp5博客项目实战》最全
  10. 斐讯k1支持千兆吗_斐讯K2是不是千兆路由器