CentOS7.6静默(⽆图形化界⾯)安装Oracle11g
⼀、准备⼯作
1.准备CentOS 7 系统环境
由于是使⽤静默模式(silent)安装的,⽆需使⽤图形化界⾯,我选择了最⼩安装的服务器版的CentOS 7。安装完成后,只有命令⾏界⾯。
2.下载 Oracle 11g
特别注意:11.2.0.2.0  zlinux64版本的Oracle是安装在IBM服务器的,CentOS 7是⽆法安装的。
(2)下载完成后,有两个压缩⽂件
linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip
3.通过Xftp将压缩⽂件上传到 /db/
4.安装依赖包,安装依赖包之前,个⼈建议将yum源修改为aliyun源,下载速度快些,执⾏如下命令即可:cd /etc
pos.pos.d.bak
pos.d
wget -O /pos.po mirrors.aliyun/po
yum clean all
yum makecache
若提⽰:
正在解析主机mirrors.aliyun (mirrors.aliyun)... 失败:未知的名称或服务。
则执⾏:echo 'nameserver 8.8.8.8'>>/f
5.修改成功后,安装如下依赖包:
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
6.安装完成后显⽰如下界⾯
7.使⽤如下命令检查依赖是否安装完整
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"
8.发现 pdksh 没有安装
9.执⾏ yum -y install pdksh,发现CentOS 7 没有相关安装包可⽤
10.通过wget命令直接下载pdksh的rpm包,我下载到了/tmp/
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm /5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm 下载完成后,进⼊ /tmp/
cd /tmp/
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
11.再次检查依赖包是否安装完整
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"
到此依赖包安装完整
12.添加oracle⽤户组和⽤户
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
13.添加完成后,查看oracle⽤户
id oracle
14.初始化oracle⽤户的密码
passwd oracle
说明:密码需输⼊两次,提⽰密码强度若不⽤管,两次⼀致后会提⽰设置成功
15.配置hostname(本机IP映射)
vim /etc/hosts
192.168.154.154 centos-oracle
16.测试hostname
ping -c 3 centos-oracle
17.优化OS内核参数,kernel.shmmax 参数设置为物理内存的⼀半
vim /f
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 1073741824
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
18.使参数⽣效
sysctl -p
19.限制oracle⽤户的shell权限
vim /etc/f
oracle              soft    nproc  2047
oracle              hard    nproc  16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
vim /etc/pam.d/login
session  required  /lib64/security/pam_limits.so
session  required  pam_limits.so
vim /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
20.创建oracle安装⽬录
mkdir -p /db/app/oracle/product/11.2.0
mkdir /db/app/oracle/oradata
mkdir /db/app/oracle/inventory
mkdir /db/app/oracle/fast_recovery_area
chown -R oracle:oinstall /db/app/oracle
chmod -R 775 /db/app/oracle
21.配置oracle⽤户环境变量
su - oracle
vim .bash_profile
umask 022
export ORACLE_HOSTNAME=centos-oracle
export ORACLE_BASE=/db/app/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"
22.以上配置完成后,个⼈建议重启下系统
reboot
23.解压oracle压缩⽂件到 /db
cd /db/
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db
24.解压完成后
mkdir /db/etc/
cp /db/database/response/* /db/etc/
vim /db/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=centos-oracle
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_BASE=/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
⼆、开始安装
1.切换到oracle⽤户
su - oracle
# 先cd到/db/database/⽬录然后执⾏
./runInstaller -silent -ignorePrereq -responseFile /db/etc/db_install.rsp
报错:centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed <<<<【备注:若⽆此错误请忽略,我在华为云服务器挂载磁盘且安装位置设置为/mnt⽬录,此情景下安装oracle 11g时发送这样的错误,⼀般情况不会出现此错误】
解决办法:
(1)检查 Swap 空间在设置 Swap ⽂件之前,有必要先检查⼀下系统⾥有没有既存的 Swap ⽂件。运⾏以下命令:
swapon -s
如果返回的信息概要是空的,则表⽰ Swap ⽂件不存在。
(2)检查⽂件系统在设置 Swap ⽂件之前,同样有必要检查⼀下⽂件系统,看看是否有⾜够的硬盘空间来设置 Swap 。运⾏以下命令:
df -hal
(3)创建并允许 Swap ⽂件下⾯使⽤ dd 命令来创建 Swap ⽂件。检查返回的信息,还剩余⾜够的硬盘空间即可。
dd if=/dev/zero of=/swapfile bs=1024 count=512k
参数解读:if=⽂件名:输⼊⽂件名,缺省为标准输⼊。即指定源⽂件。< if=input file >of=⽂件名:输出⽂件名,缺省为标准输出。即指定⽬的⽂件。< of=output file >bs=bytes:同时设置读⼊/输出的块⼤⼩为bytes个字节count=blocks:仅拷贝blocks个块,块⼤⼩等于bs指定的字节数。
(4)格式化并激活 Swap ⽂件上⾯已经创建好 Swap ⽂件,还需要格式化后才能使⽤。运⾏命令:
mkswap /swapfile
激活 Swap ,运⾏命令:
swapon /swapfile
(5)以上步骤做完,再次运⾏命令:
swapon -s华为linux系统下载
(6)你会发现返回的信息概要:
Filename Type Size Used Priority
/swapfile file 524284 0 -1
(7)如果要机器重启的时候⾃动挂载 Swap ,那么还需要修改 fstab 配置。⽤ vim 打开 /etc/fstab ⽂件,在其最后添加如下⼀⾏:
vim /etc/fstab
/swapfile swap swap defaults 00
(8)最后,赋予 Swap ⽂件适当的权限:
chown root:root /swapfile
chmod0600 /swapfile
若⽆错误继续往下,若解决完以上错误继续执⾏⼀下命令:
./runInstaller -silent -ignorePrereq -responseFile /db/etc/db_install.rsp
2.安装期间可以使⽤tail命令监看oracle的安装⽇志
tail -f /db/app/oracle/inventory/logs/installActions2019-09-03_19-48-29PM.log
安装完成,提⽰Successfully Setup Software.
3.根据提⽰完成配置
su root
sh /db/app/oracle/inventory/orainstRoot.sh
sh /db/app/oracle/product/11.2.0/root.sh
4.配置静默监听
su - oracle
netca /silent /responsefile /db/etc/netca.rsp
注意:若失败可能是由于系统setlinux未设置为disable,设置好后需要重启系统
5.查看监听端⼝
netstat -tnulp | grep1521
6.静默创建数据库  TOTALMEMORY 设置为总内存的80%
切换为root⽤户
su root
vi /db/etc/dbca.rsp //打开⽂件后可通过搜索将“=”右边参数值补齐
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"
7.执⾏静默建库(切换为oracle⽤户)
su - oracle
dbca -silent -responseFile /db/etc/dbca.rsp
8.查看oracle实例进程
ps -ef | grep ora_ | grep -v grep
9.查看监听状态
lsnrctl status
10.切换为oracle⽤户,登录sqlplus,查看实例状态
su - oracle
sqlplus / as sysdba
select status from v$instance;
注意:此处会报错
解决办法:输⼊命令startup
startup
若依旧有问题,则ls命令查看  /db/app/oracle/admin/orcl/pfile/下有没有a.*****类似的⽂件,拷贝覆
盖报错的⽂件cp /db/app/oracle/admin/orcl/a.8420191849 /db/app/oracle/product/11.2.0/a
再次startup即可成功
再次查询即可正常显⽰
(1)查看数据库编码
select userenv('language') from dual;