在上一章我已经介绍了《基于VMware安装CentOs7的镜像》完成了我们的系统的安装,那么到了本章我将给大家介绍如何使用静默的方式安装我们的Oracle11g数据库
1、安装前的配置
1.1、添加主机名与IP对应记录
vi /etc/hosts
添加以下的信息到hosts文件中:
10.10.10.129 oracledb.test
然后保存修改的信息。
1.2、修改主机名
sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb.test/" /etc/sysconfig/network
1.3、关闭Selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
1.4、下载安装包
可以直接访问以下的地址下载oracle的安装包:
https://www.oracle.com/database/technologies/112010-linx8664soft.html
下载以下的两个文件:
2、安装相关的软件依赖
直接执行以下的命令安装相关的依赖即可:
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
然后就默默的等待下载完成即可。
3、检验依赖是否安装完成
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
4、创建用户相关信息
4.1、创建用户组
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
4.2、创建oracle用户
/usr/sbin/useradd -g oinstall -G dba linzef
4.3、设置用户密码
passwd linzef
4.4、验证用户设置是否正确
id linzef
5、配置内核参数
vi /etc/sysctl.conf
加入以下的配置信息:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
修改完成使之生效执行以下的命令:
/sbin/sysctl -p
6、修改用户限制
vi /etc/security/limits.conf
linzef soft nproc 2047
linzef hard nproc 16384
linzef soft nofile 1024
linzef hard nofile 65536
linzef soft stack 10240
linzef hard stack 10240
接着执行
vi /etc/pam.d/login
在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
接着执行
vi /etc/profile
在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
if [ $USER = "linzef" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
最后执行使之生效
source /etc/profile
7、配置安装环境
7.1、创建安装目录
mkdir -p /u01/app/
chown -R linzef:oinstall /u01/app/
chmod -R 775 /u01/app/
7.2、配置环境变量
vi ~/.bash_profile
添加以下的信息:
export ORACLE_BASE=/u01/app/linzef
export ORACLE_SID=dbsrv2
最后使之生效:
source ~/.bash_profile
7.3、解压下载oracle软件
首先我们需要安装unzip的,执行以下代码。
yum install unzip
然后在home目录底下创建一个app目录。
cd /home
mkdir app
cd app
然后将我们事先下载好的文件上传到app目录中,然后解压文件。
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
7.4、复制响应文件模板
接着我们需要进入到我们的创建的linzef这个创建的用户的目录:
cd /home/linzef
然后在执行下面第二条命令的时候一定要记得【/home/app/database/response】这个是刚刚你解压的zip所在的文件的路径。
mkdir etc
cp /home/app/database/response/* /home/linzef/etc/
8、静默安装oracle
cd /home/linzef/etc
接着编辑/home/linzef/etc/文件夹底下的【db_install.rsp】文件,一定要记得拉倒最末尾的位置才把下面的配置黏贴上去,修改如下:
vi db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=oracledb // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/u01/app/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/u01/app/linzef/product/11.2.0/db_1 //oracle_home
ORACLE_BASE=/u01/app/linzef //oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba / / dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=dbsrv2 //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false)
DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
这时候我们使用ssh切换到【linzef】这个账号进行登录,
su - linzef
然后进入我们的前面的解压目录【/home/app/database】
cd /home/app/database
然后执行以下进行命令安装。
./runInstaller -silent -responseFile /home/linzef/etc/db_install.rsp
接着我们可以查看日志:
tail -f /u01/app/oraInventory/logs/installActionsxxxx.log
看到此处说明我们就安装成功了,这个安装过程需要点时间,大家要慢慢的等待,记住慢慢的等待,只要你按着我前面的步骤做的到这里就不会有错的,如果这里出现错误了,那就是你前面的配置哪里配置错了,自己回去重新检查一遍,因为这个教程我已经反复安装了三遍了,确保完全没问题了。
8.1、使用root用户执行脚本
su - root
/u01/app/oraInventory/orainstRoot.sh
/u01/app/linzef/product/11.2.0/db_1/root.sh
8.2、增加或修改oracle的环境变量
切换到linzef这个账号
su - linzef
vi ~/.bash_profile
以下是需要添加的内容:
export ORACLE_BASE=/u01/app/linzef
export ORACLE_SID=dbsrv2
export ROACLE_PID=ora11g
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/u01/app/linzef/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
8.3、配置、启动监听
切换到linzef用户
su - linzef
然后需要执行以下的命令:
export DISPLAY=10.10.10.129:0.0
然后接着执行以下命令来实现监听的配置:
/u01/app/linzef/product/11.2.0/db_1/bin/netca -silent -responseFile /home/linzef/etc/netca.rsp
完成配置以后接着启动监听:
lsnrctl start
最后我们可以查看我们的监听的状态:
lsnrctl status
8.4、静默创建数据库实例
然后执行以下命令安装数据库实例:
/u01/app/linzef/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/linzef/etc/dbca.rsp
执行安装的时候需要我们输入sys和system用户的账号和密码,这时候大家直接输入相应的密码即可,一定要记得输入密码,要不会一直卡在哪里等待着你输入密码。
稍等片刻我们就我完成了数据库的安装。
8.5、开放端口
最后切换到root用户然后执行以下的命令:
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --zone=public --add-port=5500/tcp --permanent
firewall-cmd --reload
8.6、关机以后如何启动oracle
当我们重新启动我们的虚拟机的时候,大家会发现我们无法启动我们的Oracle数据库了,这是什么原因呢,网上所有的静默安装的博文都没有告诉你们原因,因为他们关机以后就没重启了,这时候我们需要linzef这个账号登陆到我们的centos7,然后用vi命令编辑我们的dbstart这个文件,若你当前是用root登陆就使用su命令切换到linzef这个账号:
vi /u01/app/linzef/product/11.2.0/db_1/bin/dbstart
将里面的这段代码进行修改:
成为如下的内容:
ORACLE_HOME_LISTNER=$ORACLE_HOME
编辑/etc/oratab
vi /etc/oratab
将里面的值由N设置为Y
orcl:/u01/app/linzef/product/11.2.0/db_1:Y
最后我们就可以启动我们的oracle数据库了。
lsnrctl start
dbstart