CentOS 7静默安装Oracle 11g(记一次最小化CentOS 7安装Oracle 11g的经历)

[在线工具网 - 各类免费AI工具合集,免费pdf转word等](https://www.orcc.online) https://orcc.online

1.最小化安装CentOS 7后首先设置一下固定IP

可以先查询一下自己的网卡设备的名称,是ens33,所以网卡配置文件名称就是ifcfg-ens33(前面的ifcfg-不用管,固定的)

plain 复制代码
ip addr

打开网卡配置文件:

plain 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens33

按需修改(添加)如下几行:

BOOTPROTO="static"
IPADDR=192.168.80.254 #填写你自己需要设置的IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.80.2 #网关
DNS1=8.8.8.8 #DNS按需填写
ONBOOT="yes" #开机启动该网卡

保存后重启一下网卡

plain 复制代码
service network restart

配置一下本机-IP的映射

plain 复制代码
vi /etc/hosts

在最后一行填写本机IP地址和你喜欢的本机名

这个时候其实你就可以通过相关的远程工具连接到该CentOS 7 进行远程配置,会方便很多很多,我使用的是SecureCRT

2.安装Oracle需要的依赖包(运行以下代码)

plain 复制代码
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel

出现Complete!字样后检测依赖包安装情况(运行以下代码)

plain 复制代码
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

当出现红色not installed的时候就说明有些依赖包没有安装成功

单独安装一次发现CentOS 7默认没有pdksh这个依赖包

然后只能去网上找pdksh的依赖包下载下载后手动安装,因为是最小化安装没有wget,所以先安装wget,然后再下载pdksh(分别运行下面两段代码)

plain 复制代码
yum install wget -y
plain 复制代码
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

安装下载好的 pdksh-5.2.14-37.el5_8.1.x86_64.rpm

plain 复制代码
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

再次检测Oracle依赖包情况,没有出现任何内容就说明都安装好了。

3.创建Oracle安装用户组与oracle用户

plain 复制代码
groupadd oinstall -g 2000 && groupadd dba -g 2001 && groupadd asmadmin -g 2002 && groupadd asmdba -g 2003
plain 复制代码
useradd oracle -g oinstall -G dba,asmdba

查看oracle用户创建情况

plain 复制代码
id oracle

设置oracle密码

plain 复制代码
passwd oracle

4.优化内核参数

plain 复制代码
vi /etc/sysctl.conf

在里面添加:

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=419430 #单位为4K,我的虚拟机内存4G,所以linux默认的shm是2G,我给了2G的80%给oracle就是419430
kernel.shmmni=4096
kernel.shmmax = 1073741824
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

oracle官方文档也贴出来http://www.oracle.com/technetwork/articles/servers-storage-admin/ginnydbinstallonlinux-488779.html

设置完成后重新加载

plain 复制代码
/sbin/sysctl -p

限制oracle用户权限,在limits.conf、login、profile加入限制(这三个限制暂未在官网文档里面找到出处,不过本着空穴来风的精神,还是做了,就算不做应该也不影响安装)

plain 复制代码
vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

plain 复制代码
vi /etc/pam.d/login

session required /lib64/security/pam_limits.so

session required pam_limits.so

plain 复制代码
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

5.创建安装目录并赋予权限,配置oracle环境变量

plain 复制代码
su oracle
plain 复制代码
vi ~/.bashrc

export ORACLE_HOSTNAME=oracle
export ORACLE_BASE=/db/oracle
export ORACLE_HOME=ORACLE_BASE/product/11.2.0 export ORACLE_SID=orcl export PATH=ORACLE_HOME/bin:ORACLE_HOME/OPatch:ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

plain 复制代码
cd ~ && source .bashrc

6.去官网下载相关的Oracel安装包到本地windows上,我的是64位所以就下载了:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

这两个东东,下载完成后传入CenOS 7,我使用的是lrzsz.x86_64,因为最小化没有安装该软件,先安装lrzsz.x86_64

plain 复制代码
su root
plain 复制代码
 yum install lrzsz unzip -y

然后cd到tmp,使用rz进行上传下载好的linux压缩包

plain 复制代码
cd /tmp && rz

7.解压oracle压缩包,按照自己前面设置的内容修改安装参数

plain 复制代码
unzip linux.x64_11gR2_database_1of2.zip && unzip  linux.x64_11gR2_database_2of2.zip
plain 复制代码
vi database/response/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/db/oracle/product/11.2.0
ORACLE_BASE=/db/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

plain 复制代码
reboot

8.开始安装

plain 复制代码
su oracle
plain 复制代码
cd /tmp/database
plain 复制代码
./runInstaller -silent -ignorePrereq -responseFile /tmp/database/response/db_install.rsp

以root运行提示的两个脚本

中途我把解压出来的database文件夹拷贝到了/db下,这个不拷贝也是可以的

plain 复制代码
cp -R /tmp/database /db

配置监听

plain 复制代码
netca /silent /responsefile /db/database/response/netca.rsp

查看监听端口

plain 复制代码
netstat -tnulp | grep 1521

有红字说明正常监听

修改配置参数,创建数据库

plain 复制代码
vi /db/database/response/dbca.rsp

GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/oracle/oradata
RECOVERYAREADESTINATION=/db/oracle/recovery
CHARACTERSET = "AL32UTF8"

TOTALMEMORY = "1638" #给了内存的40%

plain 复制代码
vi /db/oracle/product/11.2.0/dbs/init.ora

把里面所有的<ORACLE_BASE>改成真正的ORACLE_BASE,即:/db/oracle后建库

plain 复制代码
dbca -silent -responseFile /db/database/response/dbca.rsp

完成后即可使用sqlplus连接数据库

相关推荐
BearHan1 小时前
Sqlsugar调用Oracle的存储过程
oracle·存储过程·orm
superman超哥2 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
Mephisto.java3 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java3 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
毕业设计制作和分享12 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
Dingww101116 小时前
梧桐数据库中的网络地址类型使用介绍分享
数据库·oracle·php
2401_8570262318 小时前
Spring Boot框架下的知识管理与多维分类
spring boot·后端·oracle
刘艳兵的学习博客1 天前
刘艳兵-DBA027-在Oracle数据库,通常可以使用如下方法来得到目标SQL的执行计划,那么通过下列哪些方法得到的执行计划有可能是不准确的?
数据库·oracle·面试·database·刘艳兵
秋意钟1 天前
MySql事务
数据库·mysql·oracle
Mephisto.java1 天前
【大数据学习 | HBASE】hbase的整体架构
大数据·sql·oracle·json·hbase·database