111. What are the
different options available for clone.pl ?
-O : If you use this
argument, anything following it is passed to the OUI clone command line. For
example, you can use this option to pass the location of the oraparam.ini file
to be used by OUI:
Eg: -O -paramFile
C:\OraHome_1\oui\oraparam.ini
-debug : If you use this
argument, the script runs in debug mode.
-help : If you use this
argument, the script prints the help for the clone script.
112. What are the
mandatory parameters for cloning (clone.pl)?
ORACLE_HOME="<Path
to the Oracle_Homebeing_cloned>"
ORACLE_HOME_NAME="<Oracle_Home_Name
for the Oracle_Home being cloned>"
ORACLE_BASE="<Path
_to _the _Oracle_Base>" (Only applicable to 11g)
Windows :
perl<Oracle_Home>\clone\bin\clone.pl
ORACLE_HOME="C:\u01\app\product\oracle\clone_home"
ORACLE_HOME_NAME="CLONE"
Linux-based and UNIX-based systems:
perl<Oracle_Home>/clone/bin/clone.pl
ORACLE_HOME="/u01/app/product/oracle/clone_home"
ORACLE_HOME_NAME="CLONE
113. Why do you
require cloner stage patches for 9.2?
Cloner stage patches are
required while cloning 9iR2 installations because in 9iR2 certain products were
installed outside the Oracle Home, for example, oui, jre etc., as opposed to
10g where everything is installed inside the Oracle Home.
114. Can you use jar
utility for archiving and compressing the Oracle Home ?
Do not use the jar
utility for archiving and compressing the Oracle Home, as this causes the file
permissions to become lost.
115. Do the source
and the destination path (of the Oracle Home to be cloned) need to be the same
?
The source and the
destination path (of the Oracle Home to be cloned) need not be the same.
116. Are the changes
made by applying one-off patches on the source Oracle Home also present after the
clone operation?
Yes, all the changes
made by applying one-off patches on the source Oracle Home are also present
after the clone operation.
117. Can you use the
cloned Oracle Home as the source for another cloning operation ?
Yes, you can also use
the cloned Oracle Home as the source for another cloning operation. The cloned
installation behaves the same as the source installation. For example, the
cloned Oracle Home can be removed using OUI orpatched using OPatch.
118. Does the size of
the binaries at the source and the destination differ ?
Yes, the size of the
binaries at the source and the destination may differ because these are
relinked as part of the clone operation, and the operating system patch levels
may also differ between these two source and destination servers. Additionally,
the number of files in the cloned home would increase because several files
copied from the source, specifically those being instantiated, are backed up as
part of the clone operation.
119. Is it necessary
to shutdown database(s) and stop all processes running out of the Oracle Home before
copying it for cloning?
It is not necessary, but
it is recommended that the database(s), listeners and any processes in the
source home are shutdown so that we have a clean backup of the installation to
create the target home.
120. What is the
significance of the inventory pointer file (oraInst.loc) while cloning?
If the oraInst.loc file
is present in a non-default location (default location is
/var/opt/oracle/oraInst.loc or/etc/oraInst.loc) then edit the cs.properties
file and add the following to the clone_command_line and preclone_command_line:
-ignoreSysPrereqs -invPtrLoc<path_to_oraInst.loc>/oraInst.loc
121. Can you clone
the Oracle Home across platforms?
No, cloning across
platforms is not possible because the binaries across platforms are different
Eg : Binary for Solaris
cannot be used on Linux.
122. Can you clone the
Oracle Home across different OS versions ?
Yes, cloning across OS
versions is possible provided the Oracle version is certified on the respective
OS version. Eg : Cloning can be done from RHEL5 to RHEL6 and vice versa.
123. Can you clone
with a different OS user/group?
Yes, you can clone with
a different OS user/group.
124. What is the
difference between attach home and cloning?
During cloning OUI
replays the actions that are performed during the actual installation of the
home, whereas attachhome attaches an Oracle Home to the Central Inventory or to
register an existing Oracle Home with the CentralInventory when it is lost or
corrupted.
125. Is the
preparation phase ($ORACLE_HOME/clone/bin/prepare_clone.pl) required for
Database and CRS Oracle Home cloning ?
No, database and CRS
Oracle Home cloning does not require the script ($ORACLE_HOME/clone/bin/prepare_clone.pl)during
preparation phase.
126. What is the
$ORACLE_HOME/clone/config/cs.properties file used for ?
$ORACLE_HOME/clone/config/cs.properties
file can be used for passing values in the command line to OUI for cloning.
You can enter values in
the line clone_command_line=<value>.
The values entered here
are appended to the OUI command line, which is run to perform the clone
operation. For example, to specify a non-default location for the Oracle
Inventory file on UNIX system computers, you can add the following line to the
cs.properties file:
clone_command_line= -invptrloc /private/oracle/oraInst.loc
Note: To specify
multiple arguments, separate each argument with a space.
127. Is it required
to run root.sh after cloning?
Yes, on UNIX/Linux
installations, after the cloning operation is completed, it is mandatory to run
root.sh (as root) in the cloned Oracle Home.
128. Common ERROR in cloning process ?
ERROR: (Only applicable to 11g)
Values for the following variables could not be
obtained from the command line or response file(s):
ORACLE_BASE Cloning cannot continue
Reason: ORACLE_BASE is a mandatory
variable for 11g cloning. As the variable ORACLE_BASE is not set, OUI throws
the above error.
Solution:
Option 1: Specify the variable
when invoking the OUI or clone.pl.
perl
<Oracle_Home>\clone\bin\clone.pl ORACLE_HOME="<Path to the
Oracle_Home being_cloned>"
ORACLE_HOME_NAME="<Oracle_Home_Name
for the Oracle_Home being cloned>" ORACLE_BASE="<Path to the
Oracle_Base>"
setup.exe -clone -silent -noconfig
ORACLE_HOME="<Path to the Oracle_Home being_cloned>"
ORACLE_HOME_NAME="<Oracle_Home_Name
for the Oracle_Home being cloned>" ORACLE_BASE="<Path to the
Oracle_Base>"
./runInstaller -clone -silent
-noconfig ORACLE_HOME="<Path to the Oracle_Home being_cloned>"
ORACLE_HOME_NAME="<Oracle_Home_Name
for the Oracle_Home being cloned>" ORACLE_BASE="<Path to the
Oracle_Base>"
For more details On ORACLE_BASE in
11g :
Refer Metalink Note 454442.1 11g Install :
Understanding about Oracle Base, Oracle Home and Oracle Inventory locations
Option 2: Set the variable
ORACLE_BASE in the environment:
set ORACLE_BASE=<Path to the
Oracle_Base> ( Windows )
export ORACLE_BASE=<Path to the
Oracle_Base> ( Unix )
Then restart the cloning
ERROR:
The home at <ORACLE_HOME_path>is invalid
or corrupt. Unable to continue cloning
Reason: The target ORACLE_HOME variable
supplied/passed for cloning
Solution: Pass a valid target ORACLE_HOME
variable for cloning
ERROR: Oracle Home has not been specified. Aborting
the clone operation.
ERROR: Values for the following variables could not be
obtained from the command line or response file(s):ORACLE_HOME_NAME Cloning
cannot continue
Reason: The mandatory variables
required (passed) for cloning are:
ORACLE_HOME
ORACLE_HOME_NAME
If any of the above variables are
not passed, then OUI throws the above error.
Solution: Pass the mandatory
variables ORACLE_HOME & ORACLE_HOME_NAME
(In 11g ORACLE_BASE is also
mandatory)
Eg: ./runInstaller -clone -silent
-noconfig ORACLE_HOME="<Path to the Oracle_Home being_cloned>"
ORACLE_HOME_NAME="<Oracle_Home_Name
for the Oracle_Home being cloned>"
ERROR:
OUI-10198: Unable to create a new Oracle Home
with name <home_name>. An Oracle Home with this name already exists.
Please select another name.
SEVERE:OUI-10198: Unable to create a new Oracle
Home with name <home_name>. An Oracle Home with this name already exists.
Please select another name.
java.io.IOException: OUI-10198: Unable to
create a new Oracle Home with name <home_name>. An Oracle Home with this
name already exists. Please select another name.
Reason: The ORACLE_HOME_NAME is
the name of the Oracle Home directory in which Oracle products are installed.
This should be unique in a server/node.
Cloning requires an
ORACLE_HOME_NAME (for the new Oracle Home) which is not present in the server
already.
The above error mentions that the
value of the variable passed by the ORACLE_HOME_NAME is already existing on the
server.
Solution: Specify another
ORACLE_HOME_NAME which is not present already.
The ORACLE_HOME_NAME can be found
in the file <path to central
inventory>/ContentsXML/inventory.xml
Windows : "C:\Program
Files\Oracle\Inventory\ContentsXML\inventory.xml ( by default)
Unix : Locate the oraInst.loc file
(/var/opt/oracle or /etc) and hence the location of
Central Inventory
For example the entry will be :
<HOME
NAME="OraDb10g_home1" LOC="D:\10GR2\db_1"
TYPE="O" IDX="1" />
Here ORACLE_HOME_NAME will be
OraDb10g_home1
129. What is
relinking ?
The predefined functions
for any language are defined inside the library files for that language and it
is required to Compile the code to create a binary format file (object
file).The Object files are then linked together with OS libraries to create one
executable file. Successful linking requires all the function definition should
be found , Linking generates an executable from it's component. The terms
linking and relinking mean the same in this context and used interchangeably.
In both cases an executable is being built from pre-built components. The types
of files involved in relinking are:
* .c (source code file)
* .o (object file)
* .a (archived file)
* .so or .sl on HP/UX (PA-RISC)
(library files)
130. What is relinking of Oracle Home Binaries ?
The Oracle software is
shipped in form of object files (.o files), archive files (.a files) and then
grouped in a compressed jar format. These object files are then get
"relinked" at the operating system level during installation to create
usable executables. This guarantees a reliable integration with functions
provided by the OS system libraries.
Generally, during
relinking the current executables are renamed and saved, while the new
executables are being generated. Once the new executables are in place and you
have successfully tested that the new executables are working, you can delete
the old executables in the directory ORACLE_HOME/bin. Each old executable has
an 'O' appended to it's file name, for example, 'exp' is renamed to 'expO'.
The advantage of
providing the object file is that it reduces the patch/package size , instead
of providing the whole libraries or program , only objects files are shipped
which then linked with OS libraries to create usable executables.
The following are the
directories where various object files and archive files will reside in Oracle
Home.
- /lib
- /usr/lib
- $ORACLE_HOME/lib
- $ORACLE_HOME/rdbms/lib
-
$ORACLE_HOME/<product>/lib
There is file named “ sysliblist
“ which lives in $ORACLE_HOME/rdbms/lib or $ORACLE_HOME/lib directory. It contains
a list of other libraries, which need to be included.
131. Why Oracle Home
Relinking is required ?
Oracle Home relinking is
required to link Oracle provided object files to the OS system library.
Relinking guarantees a reliable integration with functions provided by the OS
system libraries.
Relinking occurs automatically under these circumstances:
An Oracle Database has
been installed with Oracle Universal Installer ( OUI )
An Oracle Database
Patchset has been applied via Oracle Universal Installer ( OUI )
An Oracle Database Patch
has been applied using “ opatch tool “
Relinking can also be
performed manually.
132. When Manual
relinking is required?
Manual relinking is
required in below situations.
A) After OS upgrade,
Generally OS Vendors guarantee operating system binary compatibility,
therefore, no reinstall or relink of the Oracle software is required when
upgrading these operating systems unless specifically stated otherwise.
"However Oracle
recommends performing manual relinking of Oracle Home binaries after OS
upgrade".
B) After Operating
system has been patched.( Recommended ).
C) Relinking phase
during installation of Oracle Home has errors/warnings.
D) Application of a
RDBMS patch failed in relinking phase.
E) Applications gives
error for missing lib files in RDBMS home.
F) Troubleshooting RDBMS
home binaries issue.
G) After manually
modifying RDBMS home binary permissions.
H) Verifying Integrity
of Oracle Home Binaries.
I) Resetting Oracle Home
binaries permission.
133. Is relinking
required after an OS upgrade , Downgrade , Patching or removal of the patch ?
Yes, Oracle recommends
to perform manual relinking of Oracle Home Binaries after OS Upgrade , Patching
,Downgrade or removal of the Patch or any change which impact OS library
behavior . Successful relinking shows Oracle Executable are properly linked
with OS binaries.
134. How to relink Oracle Home ?
Below are the steps to
relink Oracle Home Binaries.
A) Set Environment
variables
When linking the
following environment variables need to be set:
DISPLAY
TERM or ORACLE_TERM
ORACLE_HOME
PATH to include $ORACLE_HOME/bin
LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib
SHLIB_PATH $ORACLE_HOME/lib:/usr/lib (for HP-UX only)
B) Verify umask value is
set as 022 , in case umask value is not correct , set umask to 022 ( run
cammand " umask 022 " )
C) Stop all oracle
instances accessing this ORACLE_HOME, listener and sqlplus in case if any. For
AIX OS only as root user run slibclean, after 5 minutes run slibclean once
again.
It is safe to run slibclean
even if other database are up and running , please refer to below document for
more details Note 435071.1 Can Slibclean command be Executed when the Database
is up and running?
D) As Oracle user
perform following Command:
$ORACLE_HOME/bin/relink
Accepted values for
parameter:
"all ", "
oracle " , " network", "client" ,
"client_sharedlib" , "interMedia" , "precomp" ,
"utilities ",
"oemagent",
"ldap".
The manual relinking
logs can be collected using unix redirection feature as mentioned below :
$
$ORACLE_HOME/bin/relink all >> relink.out
The Ouput will be
written to relink.out file.
Reference Note 131321.1
How to Relink Oracle Database Software on UNIX
E) Additional option
available for 11GR2
11.2.0.1 Database
onwards there is an another option to use “ Oracle Universal Installer “ to
perform relinking as mentioned below:
Below option can be used
with runinstaller
-relink : For performing
relink actions on the oracle home
Usage: -relink
-maketargetsxml <location of maketargetsxml> [-makedepsxml <location
of makedepsxml>] [name=value]
Example :
$ORACLE_HOME/oui/bin/runInstaller
-relink -waitForCompletion -maketargetsxml
$ORACLE_HOME/inventory/make/makeorder.xml
-logLocation $ORACLE_HOME/install
ORACLE_HOME=$ORACLE_HOME >
$ORACLE_HOME/install/relink.log 2>&1
F) relinking individual
components
You can manually relink
any one executable or all executables at any one time using the supplied 'MAKE'
files and providing an appropriate link_option. Below describes the command
used to perform a manual relink:
make
-f <makefile> <link_option>
To relink an executable
the above command is executed by the user who is logged on to the system as the
software owner. The command is executed from the LIB directory where the
<makefile> resides, i.e.
$ORACLE_HOME/<product_name>/lib
where
<product_name> could be oracle, forms45 or reports30 etc.
G ) debugging relinking
logs
relinking script is a
shell script and can be debugged as like any normal script as below:
$
sh -x relink all >relink_all.out 2>&1
The output will be
written to relink_all.out file.
135. Where to find
relinking logs ?
linking during Oracle Home Installation or Patchset installation
relinking logs during installation of Oracle
Home binaries can be found in below file:
$ORACLE_HOME/install/make.log
Also you can fine
relinking logs in OUI logs for the database installation. Below document
describes the details of OUI installation log files:
Note 403212.1 "Location
Of Logs For Opatch And OUI
linking during Oracle patching using opatch
relinking occurs during
patch ( PSU or One off patch ) installation using opatch and logs can be found
in opatch logs .Below document describes the details of OUI installation log
files:
Note 403212.1
"Location Of Logs For Opatch And OUI
Manual relinking
The manual relinking
logs can also be collected using unix redirection feature:
$
$ORACLE_HOME/bin/relink all >> relink.out
The logs will be
redirected to relink.out file
Additional feature for
11gR2
Option 1
If relink is performed
using OUI then "$ORACLE_HOME/install/relink.log"
is not created by default.
To send the relink
output to $ORACLE_HOME/install/relink.log we need to redirect the output
explicitly.
$ORACLE_HOME/oui/bin/runInstaller
-relink -waitForCompletion -maketargetsxml
$ORACLE_HOME/inventory/make/makeorder.xml
-logDir $ORACLE_HOME/install ORACLE_HOME=$ORACLE_HOME
>
$ORACLE_HOME/install/relink.log 2>&1
Option 2
In case of " relink
all " command, it always creates a new log file with a name
"relink.log" and it will not append log information to the existing
relink log file . The previous log will be saved with a timestamp ( Ex:
relinkActions2009-09-14_09-01-10-PM.log )
136. What are the
known issues with manual relinking ?
A) Relink all is a
generic script and it will try to relink all the components irrespective of the
fact whether the components is installed or not and will give errors .You need
to verify if the components in installed or not ( use “opatch lsinventory
–details” command to list installed components )
For Oracle Client where
not all the components is installed , “ relink all “ is likely to give many
errors. The better way to relink a client home is to issue below command:
$
relink client
B) Executing
"relink all" will reset the ownership and permission for root owned
files. After "relink all", it is recommended to change the ownership
and permission back.
More details are in
Note.1555453.1 - Executing "relink all" resets permission of extjob,
jssu, oradism, externaljob.ora
137. How to
troubleshoot relinking issues ?
Relinking errors during
Oracle Home installation or Applying Patchset.
A) Please check whether
the database version you are trying to install is certified on your OS version
or not. Refer to below documentation and look for " Certification (or
compatibility) Information " to check the certification details:
Note 1194734.1 Where do
I find that on My Oracle Support (MOS) [Video]
B) Verify if the
downloaded software is not corrupt , Please refer to below documentation for
more details: Note 549617.1 How To Verify The Integrity Of A Patch/Software
Download? [Video]
C) Confirm whether you
have verified all the OS pre-requirements as described in below documentaion O
Installation Guide:
Note 169706.1 Oracle
Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems
Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2).
Or
Run the install
validation engine from the following article to verify system requirements.
Note 250262.1 "RDA
4 - Health Check / Validation Engine Guide"
Use the following
command for Health Check
./rda.sh -dT hcve
The results are written
to a HTML file that is located in the RDA output directory.The HTML file can be
opened in any web browser and will give details reports of any OS
pre-requirements missing in the server , verify if the OS meets all the OS
pre-requirements for installing the respective database version.
D) Verify if below
command’s are included in PATH :
which ar
which ld
which cc
which gcc
which make
If any of the above
commands does not return the PATH of command it means the command PATH is not
set and you have to set it manually. Also try running these commands manually
and see these commands working fine at OS level
E) Check if enough space
is availble in /tmp directory and filesystem where ORACLE_HOME Resides
F) The relinking error
while installation is gathered in below log file:
$ORACLE_HOME/install/make.log
and OUI log file
G) Identify the first
occurrence of “ warning” , “fatal” , “ error” , "stop” , "exception”
, "severe ", "Exit Code 1" messages and these messages will
help you out in identifying the root cause if relinking failure .
Relinking
errors during patching of Oracle Home using opatch
A) Check the following
points
1) You have downloaded
correct version of patch ( Acording to your database version and OS version )
2) The patch zip file
name that you have downloaded shows the correct version and platform.
3) The size of the
downloaded zip file is the same as shown on the download page.
4) The patch is
downloaded/transferred in "BINARY" mode if it is downloaded on the
some other machine and then transferred to this machine.
5) The patch is unzipped
at the same server which is being patched.
6 ) Verify if the
downloaded patch zip file is not corrupt as per below Note.
Note: 549617.1 - How To
Verify The Integrity Of A Patch/Software Download? [Video].
B) If patch has been
applied and patching has been failed?
1) Restore from
pre-backup stage or in case backup is not availble rollback the failed patch as
described in below documentation.
Note.312767.1 How to
rollback a failed Interim patch installation.
2) Perform manual
relinking of the database , if you still get the same error it means the issue
is not with patching , if error is no more appearing then its issue with
patching.
3) Check if enough space
is availble in /tmp directory and filesystem where ORACLE_HOME Resides
3) Look into the opatch
logs and identify the first occurrence of the error, Below document describe
the details of opatch log files.
Note 403212.1
"Location Of Logs For Opatch And OUI"
5) Identify the first
occurrence of “ warning” , “fatal” , “ error” , "stop” , "exception”
, "severe ", "Exit Code 1" messages and these messages will
help you out in identifying the root cause if relinking failure .
138. What are the
utilities to troubleshoot relinking issues?
A ) nm
Used to list all symbols
in an .o, .a and binary file. It is useful in finding where a symbol is
defined. A useful command to use would be:
nm <file> | grep
<symbol>
Where <file>
states the name of the library you want to examine and <symbol> names the
symbol you are actually looking for.
B) ar
Builds and maintains
libraries and archives of .o files. Using this command you can group .o files
into a single archive (.a) for use in
creating executables. It is used to insert, delete & replace objects files
from an archive library.
C) Symfind
A script available at
below location
$ORACLE_HOME/bin/symfind
<symbol>:
looks for a symbol in
the shared objects of Oracle. This script basically performs the two above
commands.
139. Does relinking
occurs in windows ?
Relinking concept is
applicable for Unix platform only , relinking does not occur in Windows OS.
140.What is OUI ?
Oracle Universal
Installer (OUI) is a Java-based graphical user interface (GUI) application that
enables you to install Oracle components from a CD, multiple CDs, or the Web.
OUI performs
component-based installations and enables different levels of integrated bundle,
suite, and Web-based installations, as well as complex logic in a single
package. The installation engine portable across all Java-enabled platforms,
and platform-specific issues can be encapsulated from the overall installation
process.
No comments:
Post a Comment