Oracle 11g 静默安装过程(CentOS 7 1810 最小安装)
文档适用范围:实施人员,系统工程师,开发人员,测试人员。
需要工具:
CentOS-7-x86_64-Everything-1810.iso(阿里云可以下载。)
CentOS 7 环境(有yum工具且可以使用)
Xshell 5 Xftp5(或其他等效的ssh工具)
linux.x64_11gR2_database_1of2.zip(官网下载,下载后需要校验MD5码)
linux.x64_11gR2_database_2of2.zip(官网下载,下载后需要校验MD5码)
其他在常见问题中未提及的安装过程中发生的问题,需要读者有独立解决问题的能力。
请严格区分oracle用户与root用户的操作步骤。
目录
Oracle 11g 静默安装过程(CentOS 7)... 1
安装unzip 工具、vim编辑器(个人习惯,vi也可以)... 3
关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled 4
添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中... 6
修改用户的限制文件,编辑 /etc/security/limits.conf. 8
上传oracle软件包到 /tmp目录下(xftp上传)... 11
切换到oracle用户,设置oracle用户环境变量... 11
出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca:... 15
成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora两个文件。... 16
开启机器,本次实例分配的ip是:192.168.80.130(Xshell ssh连接)
在/etc/hosts文件中添加本机IP跟主机名
vi /etc/hosts
在最后加入
192.168.80.130 oracle130
关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled
关闭防火墙
(1)查看防火墙状态:systemctl status firewalld
(2)停止防火墙:systemctl stop firewalld
(3)关闭自启动防火墙服务:systemctl disable firewalld
配置本地yum源
挂载镜像文件CentOS-7-x86_64-Everything-1810.iso(找到光盘的完整路径):
ls -l /dev | grep cdrom
mount /dev/cdrom /mnt/
查看挂载状态:
df -h
使用本地iso作为yum源:
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
cp CentOS-Media.repo CentOS- Media.repo.bak
vi CentOS-Media.repo
修改baseurl=file:///mnt/
enabled = 1
用#注释掉无用的baseurl,保存退出
yum clean all
完成。
这里多说一句:如果服务器不让插移动介质(比如移动硬盘、U盘之类的)也可以自行搭建内网YUM源,请参考:https://blog.csdn.net/edius12/article/details/79180014
安装unzip 工具、vim编辑器(个人习惯,vi也可以)
yum -y install unzip vim
安装Oracle 11g依赖包
yum -y install net-tools gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
修改内核参数:编辑 /etc/sysctl.conf
添加以下设置:
io-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 = 1048576
让参数生效:sysctl –p(此处如果不行,可以reboot)
修改用户的限制文件,编辑 /etc/security/limits.conf
添加以下配置:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改/etc/pam.d/login文件,添加:
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile文件:
[root@woitumi-197 ~]# 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
创建安装目录、修改文件权限
[root@woitumi-197 ~]# mkdir -p /u01/app/oracle/product/11.2.0
[root@woitumi-197 ~]# mkdir /u01/app/oracle/oradata
[root@woitumi-197 ~]# mkdir /u01/app/oracle/inventory
[root@woitumi-197 ~]# mkdir /u01/app/oracle/fast_recovery_area
[root@woitumi-197 ~]# chown -R oracle:oinstall /u01/app/oracle
[root@woitumi-197 ~]# chmod -R 775 /u01/app/oracle
上传oracle软件包到 /tmp目录下(xftp上传)
解压oracle软件包:
[root@woitumi-197 tmp]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
切换到oracle用户,设置oracle用户环境变量
[root@woitumi-197 database]# su - oracle
[oracle@woitumi-197 ~]$ vim .bash_profile
添加:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
到.bash_profile最后。
编辑静默安装响应文件
1.切换到root 用户进入oracle安装包解压后的目录 /tmp/database/response/下备份db_install.rsp文件。
2.编辑 /tmp/database/response/db_install.rsp文件
[root@woitumi-197 response]# vim db_install.rsp
修改以下参数:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=woitumi-197
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
根据响应文件安装oracle 11g
[oracle@woitumi-197 database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
出现以上界面,说明安装程序已在后台运行,此时再打开另外一个终端选项卡,输入提示的会话日志目录:[root@woitumi-197 ~]# tail –f /u01/app/oracle/inventory/logs/installActions2017-06-09_03-00-09PM.log
看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常。
待看到下图红色框部分,则表明安装已经完成
按照提示切换root用户运行脚本
按照提示切换root用户运行脚本
[oracle@woitumi-197 database]$ su
[root@woitumi-197database]#sh u01/app/oracle/inventory/orainstRoot.sh
[root@woitumi-197 database]# sh /u01/app/oracle/product/11.2.0/root.sh
用oracle用户登录配置监听
netca -silent -responseFile /tmp/database/response/netca.rsp
出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca:
[oracle@woitumi-197 ~]$ export DISPLAY=localhost:0.0
成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora两个文件。
查看监听端口:
[root@woitumi-197 admin]# netstat -tnulp | grep 1521
建立新库,同时建立对应的实例
切换到root用户,编辑 /tmp/database/response/dbca.rsp
修改以下参数:
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ALT32UTF8"
TOTALMEMORY = "1638"
用orcle用户进行静默配置
su - oracle
dbca -silent -responseFile /tmp/database/response/dbca.rsp
完成建库后进行实例检查
[oracle@woitumi-197 ~]$ ps -ef | grep ora_ | grep -v grep
查看监听状态
[oracle@woitumi-197 ~]$ lsnrctl status
登录查看实例状态
[oracle@woitumi-197 dbs]$ sqlplus / as sysdba
启动数据库:SQL> startup
看到以下信息,,表明数据库实例已经启动成功,至此,oracle 11g静默安装完成结束。
常见问题:
有可能会在配置监听步骤出现下图报错:
需要切换到root用户执行: yum install libxawt安装缺失的依赖包
然后再用oracle用户身份登录启动数据库实例,然后以root身份启动监听。
重新启动CentOS系统后,需要重新启动监听服务和数据库实例
su – oracle
lsnrctl start
sqlplus / as sysdba
startup