共计 6538 个字符,预计需要花费 17 分钟才能阅读完成。
这篇文章主要介绍“linux 下静默安装 oracle11g 的详细步骤”,在日常操作中,相信很多人在 linux 下静默安装 oracle11g 的详细步骤问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux 下静默安装 oracle11g 的详细步骤”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
一 准备工作
1.linux 检查安装包是否全
使用 rpm –qa |
grep“包名” —— 检测包是否存在
·如不存在 使用命令 rpm –ivh“包名”—— 安装未安装的依赖包
·
在每个节点上做以下配置信息,查看依赖的 rpm 包是否安装:
binutils-2.* compat-libstdc++-33*
elfutils-libelf-0.*
libaio-0.* libaio-devel-0.* sysstat-9.*
glibc-2.* glibc-common-2.* glibc-devel-2.*glibc-headers-2.* ksh-2*
make-3.* libgcc-4.* libstdc++-4.*
libstdc++-4.*.i686*
libstdc++-devel-4.*
gcc-4.*x86_64* gcc-c++-4.*x86_64* elfutils-libelf-0*x86_64*
elfutils-libelf-devel-0*x86_64*
elfutils-libelf-0*i686*
elfutils-libelf-devel-0*i686*
libtool-ltdl*i686*
ncurses*i686* unixODBC*,这里 unixODBC,libaio,libaio-devel 等还需要安装 32 位的包
yum install -y binutils* compat* elfutils* libaio* sysstat*
glibc* ksh* make* libgcc* libstdc* gcc* libtool* ncurses* readline* unixODBC*
smartmontools*
如果安装不上,使用如下命令安装
yum install compat*
还需要安装如下 32 位包:
cd /mnt/Packages
rpm -ivh unixODBC-2.2.14-12.el6_3.i686.rpm
rpm -ivh unixODBC-devel-2.2.14-12.el6_3.i686.rpm
rpm -ivh libaio-0.3.107-10.el6.i686.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm
rpm -ivh libstdc++-4.4.7-4.el6.i686.rpm
rpm -ivh libgcc-4.4.7-4.el6.i686.rpm
rpm -ivh elfutils-libelf-0.152-1.el6.i686.rpm
rpm -ivh
compat-libstdc++-33-3.2.3-69.el6.i686.rpm
另外还要单独安装 pdksh 包:
报错 pdksh conflicts with ksh-20100621-12.el6_2.1.x86_64
则还需要先卸载 ksh 包
rpm -e ksh-20100621-12.el6_2.1.x86_64
卸载了 ksh 之后就简单咯
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
2.OS 参数修改
a 修改 /etc/sysctl.conf 文件 添加如下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 42949672960
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
执行:
/sbin/sysctl -p
b 修改 /etc/security/limits.conf 添加如下内容:
oracle
soft nproc 2047
oracle
hard nproc 16384
oracle
soft nofile 1024
oracle
hard nofile 65536
c 修改 /etc/pam.d/login 添加如下内容:
session required
pam_limits.so
d 修改 /etc/profile
if [$USER =
oracle ] ; then
if [$SHELL =
/bin/ksh ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n
65536
fi
umask 022
fi
3. 创建 oracle 属组并添加 oracle 用户
groupadd oinstall
groupadd dba
cd /
mkdir -p /u01/oracle
useradd -g oinstall
-G dba -d /home/oracle oracle
passwd oracle —- 为 Oracle 用户设置密码
创建 oracle 软件安装目录
mkdir -p /u01/oracle
mkdir -p /u01/oraInventory
chown -R oracle:oinstall
/u01/oracle
chmod -R 775 /u01
4.Oracle 环境变量
export ORACLE_BASE=/u01
export
ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=orcl
export
PATH=$ORACLE_HOME/bin:$PATH
二 安装
1配置 oraInst.loc 文件
1 此步骤很重要, 如果忽略 1 , 最终会提示 inventory
文件目录非空 导致静默安装失败 文章末尾会加以说明
vi /etc/oracle/olr.loc
inventory_loc=/u01/oraInventory
inst_group=oinstall
2 静默安装数据库软件
采用 debug 模式安装 , 如果有异常则更容易发现错误原因。
./runInstaller
-silent -debug -force -noconfig -IgnoreSysPreReqs \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
\
oracle.install.option=INSTALL_DB_SWONLY
\
DECLINE_SECURITY_UPDATES=true
\
UNIX_GROUP_NAME=oinstall
\
INVENTORY_LOCATION=/u01/oraInventory
\
SELECTED_LANGUAGES=en,zh_CN,zh_TW
\
ORACLE_HOME=/u01/oracle
\
ORACLE_BASE=/u01 \
oracle.install.db.InstallEdition=EE
\
oracle.install.db.isCustomInstall=false
\
oracle.install.db.DBA_GROUP=dba
\
oracle.install.db.OPER_GROUP=dba
开始 Oracle 在后台静默安装。安装过程中,如果提示 [WARNING] 不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
安装完成显示如下信息:
sh /u01/oracle/oraInventory/orainstRoot.sh
sh /u01/oracle/product/11.2.0/db
/root.sh
附上 oracle 软件静默安装的参数含义如下:
-silent 表示以静默方式安装, 不会有任何提示
-force 表示允许安装到一个非空目录
-noconfig 表示不运行配置助手 netca
-responseFile 表示使用哪个响应文件, 必需使用绝对路径
oracle.install.responseFileVersion 响应文件模板的版本, 该参数不要更改
oracle.install.option
安装模式选项, 本例只安装 oracle 软件, 该参数不要更改
DECLINE_SECURITY_UPDATES
是否需要在线安全更新, 设置为 false, 该参数不要更改
UNIX_GROUP_NAME oracle
用户用于安装软件的组名
INVENTORY_LOCATION
oracle 产品清单目录
SELECTED_LANGUAGES
oracle 运行语言环境, 一般包括引文和简繁体中文
ORACLE_HOME
oracle 安装目录
ORACLE_BASE
oracle 基础目录
oracle.install.db.InstallEdition 安装版本类型, 一般是企业版
oracle.install.db.isCustomInstall 是否定制安装, 默认 Partitioning,OLAP,RAT 都选上。根据自己的需要选择组件。
oracle.install.db.customComponents 定制安装组件列表: 除了以上默认的, 可加上 Label Security 和 Database
Vault
oracle.install.db.DBA_GROUP
oracle 用户用于授予 osdba 权限的组名
oracle.install.db.OPER_GROUP
oracle 用户用于授予 osoper 权限的组名
3 静默安装 db
安装完成 oracle 软件之后还没创建 db, 我们可以继续使用静默方式创建数据库。
dbca -silent
-responseFile /u01/database/dbca.rsp
dbca.rsp 文件内容如下:根据自己的场景进行修改。
[GENERAL]
RESPONSEFILE_VERSION
= 11.2.0
OPERATION_TYPE =
createDatabase
[CREATEDATABASE]
GDBNAME =
orcl
SID =
orcl
TEMPLATENAME =
New_Database.dbt
SYSPASSWORD =
oraclesys
SYSTEMPASSWORD =
oraclesys
SYSMANPASSWORD =
oraclesys
DBSNMPPASSWORD =
oraclesys
DATAFILEDESTINATION
= /u01/oracle/oradata
STORAGETYPE=FS
CHARACTERSET =
AL32UTF8
DATABASETYPE =
MULTIPURPOSE
AUTOMATICMEMORYMANAGEMENT
= FALSE
TOTALMEMORY =8192
静默安装的过程如下:
4配置网络监听
netca -silent -responsefile
/u01/database/response/netca.rsp
这块费了很长时间,最后的监听文件 listener.ora 的内容如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY =
EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =
10-0-0-209)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(sid_name = orcl)
(oracle_home = /u01/oracle)
)
)
ADR_BASE_LISTENER =
/u01
lsnrctl status 确定监听状态
完毕
5 登陆数据库
三 遇到的问题
问题一 相信这个问题也是很多人也会遇到
1. [FATAL] [INS-32035]
Unable to create a new central inventory at the specified location.
2. CAUSE: The central
inventory location provided is not empty.
3. ACTION: Please
provide another location for the inventory, or clean up the current location.
解决方法:
使用 root
vim /etc/oracle/olr.loc 加入
1. inventory_loc=/u01/oraInventory
2. inst_group=oinstall
问题二
1. [WARNING]
[INS-32055] The Central Inventory is located in the Oracle base.
2. CAUSE: The Central
Inventory is located in the Oracle base.
3. ACTION: Oracle
recommends placing this Central Inventory in a location outside the Oracle base
directory.
解决方法:
如提示所言 Inventory
目录安装在了 $ORACLE_BASE
目录下了,所以调整 Inventory 目录不在 $ORACLE_BASE
目录下,即可解决问题。
oraInventory 存放 Oracle 软件安装的目录信息,Oralce 的安装和升级都需要用到这个目录,删除或丢失 oraInventory 目录的内容就会导致安装 / 升级失败。
Oracle 官方文档对 oraInventory 的说明:
1. All Oracle software installations
rely on this directory.
2. Ensure that you back
it up regularly.
3. Do not delete this
directory unless you have completely removed
4. all Oracle software
from the system.
oraInventory
目录的位置是由 oraInst.loc 文件决定的:
/etc/oracle/olr.loc
(AIX and Linux Platform)
/var/opt/oracle/OraInst.loc (Solaris and HP-UX
platform)
四 小结
说些题外话 因为项目的原因需要安装一套 oracle 系统,谷歌,度娘 静默安装 等关键词,大多数文章基本都千篇一律。真不知道写文章的人是否真正安装成功?论坛上说学习称赞的人是否动手验证过?
纸上来得终觉浅,绝知此事要躬行。
做一个靠谱的人,更要做一个技术上靠谱的 dba。
出现错误:[FATAL] PRVF-0002 : Could not retrieve
local nodename
在 /etc/hosts 中加入如下内容:
Ip 主机名
Oracle 用户执行 dbca 命令的时候出现错误:
DISPLAY not set. Please set the DISPLAY and
try again
【解决办法】:
切换到 oracle 用户,执行以下命令:
export DISPLAY=:0.0
到此,关于“linux 下静默安装 oracle11g 的详细步骤”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!