首页 > 技术文章 > Linux静默安装oracle数据库

lidingyi 2021-08-13 11:30 原文

一、 准备工作
1.建立用户及组
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle

2.创建目录
mkdir -p /software/app/oracle
mkdir -p /software/app/oraInventory
chown -R oracle:oinstall /software/app/
chmod -R 755 /software/app

3.配置内核参数(操作系统内存16G),加在最后面。
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

4.设置登录限制
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF

 

 

 

5.设置profile
vi /etc/profile
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

让文件生效source /etc/profile

6.用户资源进行限制
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8388688
kernel.shmmax = 34359738367
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

/sbin/sysctl -p

7.检查CentOS依赖包

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel pdksh

8.安装缺少的依赖包

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel l make numactl-devel sysstat unixODBC unixODBC-devel pdksh

下需一个包如没安装成功,需要手动安装
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm  手动安装pdksh
rpm -ivh cpp-4.8.5-44.el7.x86_64.rpm 手动安装cpp


如果虚拟有已经安装的包。导致不能安装需要的版本,要把之前的版本卸载,然后重新安装新的。

9.配置环境变量
su - oracle
vi .bash_profile

export ORACLE_BASE=/software/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export PATH=$ORACLE_HOME/bin:$PATH

让文件生效

source .bash_profile

 

10.关闭selinux
临时关闭selinux
setenforce 0
永久关闭
vi /etc/selinux/config
设置SELINUX=disabled

11.关闭防火墙
临时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld

二、安装oracle

上传oracle 11g安装文件到服务器并解压
安装包上传到/home目录下,并解压
cd /home/oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
待解压完毕后会生成文件夹/home/oracle/database,里面是解压后的所有oracle安装文件
chown -R oracle:oinstall /home/oracle/database

编辑静默安装响应文件
切换到oracle用户
su - oracle

复制响应模板并赋权(可以用root)
cp /home/oracle/database/response/.rsp /software/app/oracle
chown oracle:oinstall /software/app/oracle/.rsp

4.配置安装响应文件db_install.rsp ,找到相应的选项并配置对应的值
cd /software/app/oracle
vi db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY #安装类型,只装数据库软件
ORACLE_HOSTNAME=host   #主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall #安装组
INVENTORY_LOCATION=/software/app/oraInventory #INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN #选择语言
ORACLE_HOME=/software/app/oracle/product/11.2.0/dbhome_1 #Oracle安装目录
ORACLE_BASE=/software/app/oracle #oracle主目录
oracle.install.db.InstallEdition=EE #oracle版本
oracle.install.db.isCustomInstall=false #自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba   #dba用户组
oracle.install.db.OPER_GROUP=dba  #oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据类型
oracle.install.db.config.starterdb.globalDBName=orcl #globalDBName,自定义
oracle.install.db.config.starterdb.SID=orcl #SID,自定义,与环境变量中的一致
oracle.install.db.config.starterdb.memoryLimit=81920 #自动管理内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle #设定所有数据库用户同一密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #
DECLINE_SECURITY_UPDATES=true #设置安全更新

根据响应文件安装oracle
cd /home/oracle/database
./runInstaller -silent -responseFile /software/app/oracle/db_install.rsp
当出现类似以下界面时, 表示安装成功了,按照其提示操作。

 

 


6.切换到root用户执行下面两个脚本
/software/app/oraInventory/orainstRoot.sh
/software/app/oracle/product/11.2.0/dbhome_1/root.sh

7 . 配置建库响应文件,安装数据库
su - oracle
cd /software/app/oracle/
vi dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = “11.2.0”
OPERATION_TYPE = “createDatabase”
[CREATEDATABASE]
GDBNAME = “orcl”
SID = “orcl”
TEMPLATENAME = “General_Purpose.dbc”
CHARACTERSET = “ZHS16GBK”
SYSPASSWORD = “oracle”
SYSTEMPASSWORD = “oracle”
SYSMANPASSWORD = “oracle”
DBSNMPPASSWORD = “oracle”

dbca -silent -responseFile /software/app/oracle/dbca.rsp

 

 

配置监听响应文件
su - oracle
netca /silent /responsefile /software/app/oracle/netca.rsp
ll /software/app/oracle/network/admin/*.ora
成功运行后,在/software/app/oracle/product/11.2.0/dbhome_1/network/admin目录下生成 sqlnet.ora和listener.ora两个文件。
启动监听
lsnrctl start
查看监听状态
lsnrctl status
netstat -tlnp
查看1521端口有没有监听
修改监听文件
在/software/app/oracle/product/11.2.0/dbhome_1/network/admin追加以下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = zzbs)
(SID_NAME = zzbs)
)
)

 

推荐阅读