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连接数据库

相关推荐
jnrjian4 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_4 天前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥4 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
南 阳4 天前
Python从入门到精通day37
数据库·python·oracle
轩情吖4 天前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
脱发的老袁5 天前
【数据库】Oracle手动清理归档日志
数据库·oracle
jnrjian5 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
新缸中之脑5 天前
在Reddit上探索未满足的需求
数据库·oracle
light blue bird5 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
坐吃山猪5 天前
Neo4j04_数据库事务
数据库·oracle·neo4j