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
相关推荐
入瘾1 天前
etcd 显示连接失败
数据库·chrome·etcd
本体智能1 天前
预制指标、宽表、SQL、本体ABC:真正决定长期成本的,是一次变更会波及多少层
数据库·sql·本体神经网络·uino数据智能引擎
长安11081 天前
数据库基础知识----数据库大观
数据库·oracle
瀚高PG实验室1 天前
使用hgdbdeveloper开发工具导出数据后在异机恢复时报错
数据库·瀚高数据库
百结2141 天前
PostgreSQL 初体验
数据库·postgresql
ward RINL1 天前
Redis 安装及配置教程(Windows)【安装】
数据库·windows·redis
bingHHB1 天前
金蝶云星空旗舰版 × 赛狐ERP:亚马逊卖家业财一体化的最后一公里
运维·数据库·集成学习
Nontee1 天前
Redis高可用架构解析
数据库·redis·架构
淼淼爱喝水1 天前
DVWA SQL 注入(Medium/High 级别)过滤绕过与防范实验(超详细图文版)
数据库·sql·网络安全
csdn_aspnet1 天前
MySQL主从延迟根因诊断法,从网络、IO、SQL到参数,系统化定位高并发下的同步瓶颈
数据库·mysql·主从