Oracle 12c 静默安装
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系型数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
环境配置
1、安装centos7.1操作系统
这个步骤忽略,详情可以参考网上安装centos的资料。
物理内存不少于1.5G
硬盘可以空间不少于5G
cpu主频不小于550mHZ
swap分区空间不少于2G
**************Linux创建swap交换分区*******************
LINUX使用文件作为Swap分区
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
dd if=/dev/zero of=/root/swapfile bs=1M count=2048
2.格式化为交换分区文件:
mkswap /root/swapfile
建立swap的文件系统
3.启用交换分区文件:
swapon /root/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
vim /etc/fstab
/root/swapfile swap swap defaults 0 0
**************Linux创建swap交换分区*******************
2.下载安装包linuxx64_12201_database.zip的oracle12c第二版本
这个步骤需要登陆Oracle账号,并且同意相关策略才可以。
下载任务建立之后,可以把下载好的文件使用ftp工具上传至指定目录,也可以在下载页面复制下载地址,采用wget的方式直接下载。
3.配置hosts文件
vim /etc/hosts
格式:ip 主机名
格式:127.0.0.1 主机名(采用hostname命令获取,写错之后后期安装会提示监听启动错误)
4.配置yum源
使用默认yum源即可、国内
可以配置阿里云的yum源。
**************配置阿里云yum源*******************
1、打开centos的yum文件夹
输入命令cd /etc/yum.repos.d/
2、用wget下载repo文件或者下载到本机采用FTP方式上传至/etc/yum.repos.d/也可。
输入命令wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装。
当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这个目录上
3、备份系统原来的repo文件
mv CentOs-Base.repo CentOs-Base.repo.bak
即是重命名 CentOs-Base.repo -> CentOs-Base.repo.bak
4、替换系统原理的repo文件
mv Centos-7.repo CentOs-Base.repo
即是重命名 Centos-7.repo -> CentOs-Base.repo
5、执行yum源更新命令
yum clean all && yum makecache && yum update
依次执行上述三条命令即配置完毕。
--资料来源于网络https://blog.csdn.net/ltx06/article/details/78030056
**************配置阿里云yum源*******************
--依据个人需求选择后面的update
yum clean all && yum makecache && yum update
5.关闭selinux&iptables
步骤一:
Vim /etc/selinux/config
修改参数:SELINUX=disabled
步骤二:关闭防火墙
/etc/init.d/iptables stop
步骤三:挂壁防火墙开机自动启动
chkconfig iptables off
安装部署数据库
1、安装oracle依赖包关系
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
2、修改内核参数
内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl–p命令使新配置立即生效。
vim /etc/sysctl.conf 请根据自己实际情况修改,内核参数如下
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
*****************各参数详解******************
fs.aio-max-nr:
此参数限制并发未完成的请求,应该设置避免I/O子系统故障。
fs.file-max:
该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。
kernel.shmall:
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem:
以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。 128是参数semmni的值,表示系统信号量集合总数。
net.ipv4.ip_local_port_range:
表示应用程序可使用的IPv4端口范围。
net.core.rmem_default:
表示套接字接收缓冲区大小的缺省值。
net.core.rmem_max:
表示套接字接收缓冲区大小的最大值。
net.core.wmem_default:
表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max:
表示套接字发送缓冲区大小的最大值。
*****************各参数详解******************
终端执行:
/sbin/sysctl -p 刷新内核参数表
3、修改内核限制参数(修改完毕之后,reboot使得参数生效)
vim /etc/security/limits.conf
在文件末尾添加
oracle soft nproc 2047
oracle hard nproc 16348
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
第1行是设置进程数软限制;
第2行是设置进程数硬限制;
第3行是设置文件数软限制;
第4行是设置文件数硬限制
4、创建oracle帐号和组
--安装组
groupadd oinstall
--管理组
groupadd dba
--运行用户
useradd -g oinstall -G dba oracle
--设置密码
passwd oracle
--建议密码oracle
5、创建相关数据库目录
mkdir -p /app/oracle
mkdir -p /app/oracle/oraInventory //安装必须目录
chmod -R 775 /app //权限
chown -R oracle:oinstall /app/oracle //属主属组
6、修改oracle环境变量
vim /etc/proile
(文件最后加入)
.bash_profile
Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
User specific environment and startup programs
PATH=
export PATH
Oracle Settings
export TMP=/tmp #日志存放位置
export TMPDIR=$TMP
export ORACLE_HOSTNAME=hostname #主机名
export ORACLE_UNQNAME=orcl #库名称
export ORACLE_BASE=/app/oracle #oracle安装目录
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=orcl #库名称
export PATH=/usr/sbin:
export LD_LIBRARY_PATH=
export PATH=
export LD_LIBRARY_PATH=
7、解压oracle二进制包至根目录下 (解压的目录默认名为database)
unzip linuxx64_12201_database.zip
chown -R oracle:oinstall /database
8、修改配置文件并
进入response目录下,编辑应答文件:
--以下是应答文件模板
vim /u01/database/response/db_install.rsp
####################################################################
Copyright(c) Oracle Corporation 1998,2017. All rights reserved.##
Specify values for the variables listed below to customize
your installation.
Each variable is associated with a comment. The comment
can help to populate the variables with the appropriate
values.
IMPORTANT NOTE: This file contains plain text passwords and
should be secured to have read permission only by oracle user
or db administrator who owns this installation.
####################################################################
-------------------------------------------------------------------------------
Do not change the following system generated value.
-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
-------------------------------------------------------------------------------
Specify the installation option.
It can be one of the following:
- INSTALL_DB_SWONLY
- INSTALL_DB_AND_CONFIG
- UPGRADE_DB
-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_SWONLY
-------------------------------------------------------------------------------
Specify the Unix group to be set for the inventory directory.
-------------------------------------------------------------------------------
UNIX_GROUP_NAME=oinstall
-------------------------------------------------------------------------------
Specify the location which holds the inventory files.
This is an optional parameter if installing on
Windows based Operating System.
-------------------------------------------------------------------------------
INVENTORY_LOCATION=/app/oracle/oraInventory
-------------------------------------------------------------------------------
Specify the complete path of the Oracle Home.
-------------------------------------------------------------------------------
ORACLE_HOME=/app/oracle/product/12.2.0.1/db_1
-------------------------------------------------------------------------------
Specify the complete path of the Oracle Base.
-------------------------------------------------------------------------------
ORACLE_BASE=/app/oracle/
-------------------------------------------------------------------------------
Specify the installation edition of the component.
The value should contain only one of these choices.
- EE : Enterprise Edition
- SE2 : Standard Edition 2
-------------------------------------------------------------------------------
oracle.install.db.InstallEdition=EE
###############################################################################
PRIVILEGED OPERATING SYSTEM GROUPS
------------------------------------------
Provide values for the OS groups to which SYSDBA and SYSOPER privileges
needs to be granted. If the install is being performed as a member of the
group "dba", then that will be used unless specified otherwise below.
The value to be specified for OSDBA and OSOPER group is only for UNIX based
Operating System.
###############################################################################
------------------------------------------------------------------------------
The OSDBA_GROUP is the OS group which is to be granted SYSDBA privileges.
-------------------------------------------------------------------------------
oracle.install.db.OSDBA_GROUP=oinstall
------------------------------------------------------------------------------
The OSOPER_GROUP is the OS group which is to be granted SYSOPER privileges.
The value to be specified for OSOPER group is optional.
------------------------------------------------------------------------------
oracle.install.db.OSOPER_GROUP=oinstall
------------------------------------------------------------------------------
The OSBACKUPDBA_GROUP is the OS group which is to be granted SYSBACKUP privileges.
------------------------------------------------------------------------------
oracle.install.db.OSBACKUPDBA_GROUP=dba
------------------------------------------------------------------------------
The OSDGDBA_GROUP is the OS group which is to be granted SYSDG privileges.
------------------------------------------------------------------------------
oracle.install.db.OSDGDBA_GROUP=dba
------------------------------------------------------------------------------
The OSKMDBA_GROUP is the OS group which is to be granted SYSKM privileges.
------------------------------------------------------------------------------
作者:朋友们都叫我阿飞
链接:https://www.jianshu.com/p/e30fff9ce61d