静默安装Oracle11R2数据库(纯享命令行版)

引言

我终于成功在centos7中安装完成Oracle数据库,又是多少的不言,看过很多的文章,
有感于国内平台护城河的强大,以及各个平台随意覆盖的文章,
质量堪忧,更有甚者,装X程度日益丰盛,以至于达不到我仅想干净安装Oracle的需求,
遂整理此文,以供云端备份及后来者借鉴,同时如果各位看官能指出哪里可以优化精简,
以及有什么建议,欢迎留言讨论

首先后来者需要了解一些基本的Linux文件命令,比如,编辑文件,保存文件,退出文件,
在文件中查找,能看懂什么是文件中的注释,创建路径,切换路径,移动文件,复制文件,
下载,重启,更新,用户切换,用户创建,用户组创建,文件授权等等等

还要熟悉如何正确配置测试的oracle数据库连接工具,ssh工具
自备有112040_Linux-x86-64那两个安装包和CentOS-7-x86_64-Minimal-2009.iso

安装环境

  • CentOS-7-x86_64-Minimal-2009.iso
  • 112040_Linux-x86-64
  • vm虚拟机1G内存1个处理器

一、VM安装centos7并进行网络配置和常用工具及系统更新

1.安装过程不赘叙,按照自己习惯来即可
  • 时区上海
  • 语言支持添加简体中文
2.系统重新启动后先配置网络网络环境
1). 宿主机设置
  1. 在vm虚拟机网络配置中设置nat网卡,并在nat设置中指定网关,本文以192.168.134.1为例
  2. 不进行DHCP(按需设置)
2). 虚拟机系统配置静态地址192.168.134.130(需要在nat网卡IP地址配置范围内)
  1. vi /etc/sysconfig/network-scripts/ifcfg-ens32 增加或者调整以下配置
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.134.130
PREFIX=24
GATEWAY=192.168.134.1
DNS1=223.5.5.5
  1. (可选)因centos7默认为过度产品有两套网络配置系统,可以下命令禁用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl is-enabled NetworkManager
  1. 测试网络配置是否生效并且是否可正常联通外网
systemctl stop network
systemctl start network
ping -c4 baidu.com
ping -c4 主机网关IP  
3.(可选) 启用或更新centos7自带open-vm-tools以增强虚拟机性能,并设置开机自启
yum install -y open-vm-tools
systemctl enable vmtoolsd
systemctl start vmtoolsd
4.(可选) 修改pip下载源加快软件下载速度,先备份后替换
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache
5.安装解压工具,更新已安装软件到最新
yum -y install unzip
yum -y update
6. 永久开放防火墙1521端口
sudo firewall-cmd --add-port=1521/tcp --permanent
sudo firewall-cmd --reload
7.修改主机名为centos后重启,以使主机名更改生效
hostnamectl set-hostname centos
reboot

二、安装Oracle11R2的准备工作

1. 安装Oracle前置依赖包(以后步骤推荐用ssh工具操作,方便copy,如果下载过慢,可考虑更换pip下载源)
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernel-headers ksh pcre-devel readline 
2. 创建用户及相关路径和权限设置(密码123456)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "123456" | passwd --stdin oracle
mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}
chown -R oracle:oinstall /data/u01/app/oracle
chmod -R 775 /data/u01/app/oracle
mkdir -p /data/u01/software
3. 用自己常用的工具上传Linux版本Oracle11R2相关文件到/data/u01/software目录后执行以下命令(这里自行替换文件名称)
mv p13390677_112040_Linux-x86-64_1of7.zip /data/u01/software/
mv p13390677_112040_Linux-x86-64_2of7.zip /data/u01/software/
cd /data/u01/software
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
4. 修改系统配置文件
  1. 修改内核文件: vi /etc/sysctl.conf 在紧挨#For more infomation.上方添加以下信息
fs.aio-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
  1. 按esc键盘按键后输入:wq保存并退出后,执行sysctl -p使配置生效
  2. 修改用户限制:vi /etc/security/limits.conf 在紧挨着#End of file上方添加以下信息后保存并退出
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
  1. 修改文件:vi /etc/pam.d/login 在紧挨着# pam selinux.so close should样例文字下添加以下信息后保存并退出
session required /lib64/security/pam_limits.so
session required pam_limits.so
  1. 修改文件:vi /etc/profile在紧挨着# Path manipulation 上方添加以下信息保存并退出
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
  1. 设置oracle 用户环境变量su - oracle后vi .bash_profile在紧挨着export PATH上方添加以下信息保存并退出,执行:source .bash_profile 使变量马上生效;(无特殊说明以后步骤均为Oracle用户操作)
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#alias sqlplus='rlwrap sqlplus'
#alias rman='rlwrap rman'

三、进行Oracle11R2的响应文件配置及安装和测试

1. 修改静默安装数据库的响应文件
cp -R /data/u01/software/database/response/ .
cd response/
vi db_install.rsp
2. 查找并修改为以下内容,遇到带#号的删除#号以使配置生效,保存并退出
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=centos
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
3. 调用响应文件进行静默安装,他会提示你配置文件在产品目录下,这错误提示可忽略,对数据库使用无影响,然后等待,出现successfully即成功安装
cd /data/u01/software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
4.Ctrl+C后切换root用户,根据提示执行以下命令
sh /data/u01/app/oracle/inventory/orainstRoot.sh
sh /data/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
su - oracle
4. 修改静默安装数据库实例的响应文件vi /home/oracle/response/dbca.rsp,查找并修改以下配置后,保存并退出(遇到#号的删除#号使配置生效,密码自定义,根据名字设置值)
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "输入密码"
SYSTEMPASSWORD = "输入密码"
SYSMANPASSWORD = "输入密码"
DBSNMPPASSWORD = "输入密码"
DATAFILEDESTINATION =/data/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "2048"
5. 检查配置信息
egrep -v "(^#|^$)" /home/oracle/response/dbca.rsp
6.确认无误后执行以下命令静默安装,等待安装完成后可以查看安装的实例(执行前建议拍个快照)
dbca -silent -responseFile /home/oracle/response/dbca.rsp
env|grep ORACLE_UNQNAME
7. 配置监听程序
cd /data/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/samples/
cp listener.ora sqlnet.ora tnsnames.ora ..
cd ..
> tnsnames.ora
vi listener.ora
8. 在文件中添加或者删除以下信息之前的# ,保存并退出
LISTENER =
  (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
        (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
        
 SID_LIST_LISTENER=
   (SID_LIST=
        (SID_DESC=
          (GLOBAL_DBNAME=orcl)
          (SID_NAME=orcl)
          (ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1)
 )
      )
9.编辑 vi tnsnames.ora,添加以下信息并保存退出

    ORCL = 
        (DESCRIPTION = 
            (ADDRESS_LIST = 
                (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )   
                (CONNECT_DATA = (SERVICE_NAME = orcl)
            ) 
        )
    
    
10. 测试数据库连通性,若数据库已经启用可用shutdown命令后再startup
sqlplus
sys as sysdba
密码
startup
exit
lsnrctl start
用主机的数据库连接工具进行连接测试,不同工具连接配置些许不同,比如navicat需再高级选项卡配置角色身份
11. 若此时一切正常后,开始配置数据库实例及监听程序的开机自启
12. 配置数据库特定实例开机自启vi /etc/oratab,修改N为Y,保存并退出
orcl:/data/u01/app/oracle/product/11.2.0/dbhome_1:N
13.切换 root用户执行 vi /etc/rc.d/rc.local 在紧挨着touch /var/lock/subsys/local上方添加以下信息并退出
su - oracle -c "dbstart"
su - oracle -c "lsnrctl start"
su - oracle -c "lsnrctl start listenerl"
13. 11g操作系统是centos7,/etc/rc.d/rc.local默认没有执行权限(root用户)同步更改并重启(因为需要sync,所以重启会卡住一小会,不要担心)
 chmod +x /etc/rc.d/rc.local
 ll /etc/rc.d/rc.local
 sync
 reboot

14. 大功告成!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容