Oracle 11g tar包方式安装数据库软件

本文中源库的ORACLE_HOME目录为/u01/app/oracle/product/11.2.0/db_1,目标环境的ORACLE_HOME目录规划为/u01/app/oracle/product/11.2.0/db_1

源库的数据库版本11.2.0.4,操作系统linux 7,其余linux版本和oracle11g版本,操作基本都类似

一、步骤简述

复制代码
1、安装操作系统
2、关闭防火墙和selinux安全设置
3、配置yum源
4、安装依赖包(oracle软件安装时必须使用到的)
5、创建用户和组(用于安装oracle数据库软件)
6、配置操作系统参数和内核限制
7、规划和创建Oracle数据库软件和Oracle数据库安装目录
8、Oracle用户环境变量设置(确保ORACLE_BASE,ORACLE_HOME环境变量与源tar数据库一致)
9、源Oracle环境下,,tar一个oracle安装目录,保持权限、用户一致
10、tar包传输到目标服务器上,解压,保持权限、用户一致
11、重新构建Inventory,这一步很重要
12、简单验证

备注:其中1到6步骤,可以参考我的文章《Oracle 11g 单机安装总结_linux7》,这里不再赘述

二、具体步骤

前提:本文从7步开始进行详细描述

7、规划和创建Oracle数据库软件和Oracle数据库安装目录

复制代码
安装目录
mkdir -p /u01/app/oracle
mkdir -p /u01/soft
mkdir -p /u01/psu
mkdir -p /oradata
mkdir -p /u01/app/oracle/product/11.2.0
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /oradata
备注:
这里需要特别注意,要保持与tar源数据库软件目录一致,例如源数据库安装软件ORACLE_HOME目录为/u01/app/oracle/product/11.2.0/db_1,则新建安装目录也必须一致,否则不能成功!

重要说明:

这里需要创建至ORACLE_HOME目录的上一级目录

例如源环境ORACLE_HOME目录为/u01/app/oracle/product/11.2.0/db_1,则创建如下:

mkdir -p /u01/app/oracle/product/11.2.0

因为tar包时,db_1目录会跟随一起tar,解压时,会自动生产db_1目录

8、Oracle用户环境变量设置(确保ORACLE_BASE,ORACLE_HOME环境变量与源tar数据库一致)

复制代码
ORACLE_SID可以不一致
ORACLE_BASE和ORACLE_HOME的环境变量必须与源tar数据库一致

9、源Oracle环境下,,tar一个oracle安装目录,保持权限、用户一致

复制代码
tar命令用root用户,经过验证,文件属性都是保持原有的
tar命令 
cd /u01/app/oracle/product/11.2.0/
tar  -czvf db_1.tar.zip   ./db_1

10、传输到目标服务器上,解压,保持权限、用户一致

复制代码
源环境上:
root用户执行
cd /u01/app/oracle/product/11.2.0/
scp db_1.tar.zip  192.168.11.19:/u01/app/oracle/product/11.2.0

备注:192.168.11.19为本文实验中的目标环境(需要安装数据库的环境)


目标环境上:
root用户执行
root解压命令
cd /u01/app/oracle/product/11.2.0/
tar  -xzvf db_1.tar.zip  .

简单验证是否tar包安装成功
su - oracle
sqlplus -v
sqlplus /nolog

11、重新构建Inventory,这一步很重要

复制代码
在操作系统环境相同的情况下,可能有一些数据库管理员,使用tar的方式复制数据库软件,而忘记了Inventory目录的复制或重构,导致后期打补丁时遇到了麻烦。重构步骤如下:
1)源库环境检查
[root@host01 11.2.0]# cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[root@host01 11.2.0]# cd /u01/app/oraInventory/ContentsXML
[root@host01 ContentsXML]# cat inventory.xml 
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>11.2.0.4.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/db_1" TYPE="O" IDX="1"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
其中HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/db_1"这两个键值对是后续需要使用的

2)目标环境中oracle用户执行重建
su - oracle
$ORACLE_HOME/oui/bin/runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/11.2.0/db_1" ORACLE_HOME_NAME="OraDb11g_home1"
备注:ORACLE_HOME和ORACLE_HOME_NAME这两个值就是上面步骤查询出来的两个键值对信息
安装输出提示,执行/u01/app/oraInventory/orainstRoot.sh脚本(以root用户执行)


输出如下,表示创建成功:
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 2028 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
Please execute the '/u01/app/oraInventory/orainstRoot.sh' script at the end of the session.  //这里提示需要root执行脚本
'AttachHome' was successful.



3)检查和验证
a.$ORACLE_HOME/OPatch/opatch lsinv  命令可以正常执行
b.目标服务器上下面目录中文件内容正常(刚tar安装后,目标服务器上根本没有/u01/app/oraInventory目录)
cat /u01/app/oraInventory/ContentsXML/inventory.xml 
c.目标服务器上/etc/oraInst.loc文件也正常生成(刚tar安装后,目标服务器上根本没有/etc/oraInst.loc文件)
cat /etc/oraInst.loc

至此完成tar包方式数据库软件安装

三、总结

复制代码
如果不进行Inventory信息重建,使用opatch是会出现如下类似错误
$ORACLE_HOME/OPatch/opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.36
Copyright (c) 2026, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version    : 11.2.0.3.36
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2026-03-11_01-26-43AM_1.log

LsInventorySession failed: OPatch failed to locate Central Inventory.
Possible causes are: 
    The Central Inventory is corrupted
    The oraInst.loc file specified is not valid.

OPatch failed with error code 73
相关推荐
美狐美颜SDK开放平台6 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
花间相见8 小时前
【计算基础|MySQL01】【上手】安装连接、数据类型与建库建表
数据库·后端
花间相见8 小时前
【计算基础|MySQL02】【上手】SQL 增删改查
数据库·后端
ITxiaobing20238 小时前
IP 库与 AppsFlyer 国家/地区数据不一致,如何系统地对账?
数据库·网络协议·tcp/ip
这个DBA有点耶8 小时前
从时间到语义:时序数据库与向量数据库的核心机制、选型与多模融合趋势
数据库·mysql·架构
对空六课9 小时前
RFM分层边界变化的回溯计算
大数据·服务器·前端·数据库·人工智能·算法·数据分析
小羊没烦恼!9 小时前
如何在IIS6,7中部署ASP.NET网站?
数据库·后端·python·web安全·asp.net
CableTech_SQH9 小时前
行业运维新标杆:百盛3D全场景运维系统
运维·数据库·信息与通信·综合布线
ITOM运维行者9 小时前
WAN监控怎么做?从链路质量指标到路径级定位的完整方法
数据库·人工智能·机器学习
太理摆烂哥10 小时前
MySQL库的操作
数据库·mysql