oracle 静默安装

1.查看swap大小,若小于150M,需添加增加虚拟空间

dd if=/dev/zero of=/swapadd bs=1024 count=2006424

mkswap /swapadd

swapon /swapadd
重启系统虚拟空间会消失,除非打开/etc/fstab文件,加入
/swap swap swap default 0 0

2.查看操作系统信息

[root@docker ~]# uname -m

x86_64

[root@docker ~]# cat /etc/redhat-release

CentOS Linux release 7.1.1503 (Core)

3.安装前的准备

a.修改主机名,linux7以上系统用:hostnamectl set-hostname hostname 

 4.关闭selinux:vi /etc/selinux/config,设置如下,重启系统reboot;

 5.检查以下服务是否安装

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

compat-libstdc++-33-3.2.3-71.el7.i686

compat-libstdc++-33-3.2.3-71.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

unixODBC-2.3.1-6.el7.x86_64 or later

unixODBC-2.3.1-6.el7.i686 or later

unixODBC-devel-2.3.1-6.el7.x86_64 or later

unixODBC-devel-2.3.1-6.el7.i686 or later

 若担心系统包比较旧可考虑先更新程序包:yum -y upgrade,(提示:等待时间比较长!)

用yum进行安装所需服务:

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

检查31个包是否都有安装,版本号只能大于规定的版本,不能小于

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

 View Code

 6.创建oinstall和dba组

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

 7.创建Oracle用户:

/usr/sbin/useradd -g oinstall -G dba oracle

 设置oracle密码

passwd oracle

 验证创建及所属组是否正确:id oracle

[root@docker ~]# id oracle

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

 

8.配置内核参数

[root@docker ~]# vim /etc/sysctl.conf

 

# System default settings live in /usr/lib/sysctl.d/00-system.conf.

# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file

#

# For more information, see sysctl.conf(5) and sysctl.d(5).

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 7516192768 #7G
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

参数的值不能小于上面的配置,因为这是oracle官方建议的最小值,所以生产环境建议调整为这些参数,以优化系统性能。

注意:kernel.shmmax的值,#最低:536870912,最大值:比物理内存小1个字节的值,建议比物理内存小一点点就可以(过小的话后期会导致数据库实例无法启动或无法监听)

参数解释:

shmmax=物理内存*80%*80%,单位是字节

kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即“4294967295/1024/1024/1024=4G”。

kernel.shmmin:表示单个共享内存段的最小值,默认为1byte

kernel.shmall:表示整个系统范围内可用共享内存页的总量,单位是页(page),在32位系统上一页等于4kB,也就是4096字节。计算公式是:shmmax/PAGE_SIZE

kernel.shmmni:表示整个系统范围内内存段的最大数量,一般为4096.

ip_local_port_range  :表示端口的范围。在监听器帮助客户端进程和服务器进程建立连接时,会用到指定范围内的端口。

kernel.sem  :表示设置的信号量,这4个参数内容大小固定。

net.core.rmem_default  :表示接收套接字缓冲区大小的缺省值(以字节为单位)。

net.core.rmem_max  :表示接收套接字缓冲区大小的最大值(以字节为单位)

net.core.wmem_default  :表示发送套接字缓冲区大小的缺省值(以字节为单位)。

net.core.wmem_max  :表示发送套接字缓冲区大小的最大值(以字节为单位)。

 修改后使之生效

/sbin/sysctl -p

 9.修改用户权限

vim  /etc/security/limits.conf

 

#在末尾添加

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240

 10.在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容

session required /lib64/security/pam_limits.so

session required pam_limits.so

 11.在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容

if [ $USER = "oracle" ]; then

   if [ $SHELL = "/bin/ksh" ]; then

       ulimit -p 16384

       ulimit -n 65536

    else

       ulimit -u 16384 -n 65536

   fi

fi

使之生效:source /etc/profile

source /etc/profile

 12.创建安装目录

mkdir -p /data/oracle/app/

chown -R oracle:oinstall /data/oracle/app/

chmod -R 775 /data/oracle/app/

#提示:图型化界面安装需创建 oraInventory目录

mkdir -p /data/oracle/oraInventory

chown -R oracle:oinstall /data/oracle/oraInventory

chmod -R 775 /data/oracle/oraInventory

 13.配置环境变量

[oracle@docker ~]$ vim ~/.bash_profile

 

export ORACLE_BASE=/data/oracle/app/

export ORACLE_SID=dbsrv2

  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

  PATH=$PATH:$ORACLE_HOME/bin

 

使之生效

source ~/.bash_profile

 14.解压oracle软件

[root@docker src]# unzip linux.x64_11gR2_database_1of2.zip

[root@docker src]# unzip linux.x64_11gR2_database_2of2.zip

 15.切换到Oracle用户,复制响应文件模板

[oracle@docker ~]$ mkdir etc

[oracle@docker ~]$ cp  /usr/local/src/database/response/* /home/oracle/etc/

[oracle@docker ~]$ ls etc

dbca.rsp  db_install.rsp  netca.rsp

 16.设置响应文件权限

[oracle@docker ~]$ su - root

 

[root@docker ~]# chmod 700 /home/oracle/etc/*.rsp

 17.切换到oracle用户:su - oracle,修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY     // 安装类型

ORACLE_HOSTNAME=docker        // 主机名称(hostname查询)

UNIX_GROUP_NAME=oinstall     // 安装组

INVENTORY_LOCATION=/data/oracle/oraInventory   //INVENTORY目录(不填就是默认值)

SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言

ORACLE_HOME=/data/oracle/app/product/11.2.0/db_1    //oracle_home

ORACLE_BASE=/data/oracle/app/oracle     //oracle_base

oracle.install.db.InstallEdition=EE     // oracle版本

oracle.install.db.EEOptionsSelection=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:不管地址对不对)

 18.开始静默安装

[oracle@docker database]$ ./runInstaller

 

接下来就是等待(有点长,不要着急!!!)开始计时,快的话10分钟左右。(安装好的图示在下页)

安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。

 

 

2 运行安装命令:报错

[oracle@localhost database]$ ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 150565 MB Passed
Checking swap space: 0 MB available, 150 MB required. Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,


Exiting Oracle Universal Installer, log for this session can be found at /tmp/OraInstall2017-06-07_02-08-39PM/installActions2017-06-07_02-08-39PM.log

 

解决办法:

1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令:

1 swapon -s

如果返回的信息概要是空的,则表示 Swap 文件不存在。

2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:

1 df -hal


3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。

 

1 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

以上步骤做完,再次运行命令

 

swapon -s

 

你会发现返回的信息概要:

1 Filename                Type        Size    Used    Priority2 /swapfile               file        524284    0     -1

 

 

如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

1 /swapfile          swap            swap    defaults        0 0

最后,赋予 Swap 文件适当的权限:

1 chown root:root /swapfile 2 chmod 0600 /swapfile

重启服务器

reboot

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值