一、环境筹备
1. 查看Swap分区空间(不能小于2G)
[root@VM-8-11-centos ~]# grep SwapTotal /proc/meminfoSwapTotal: 0 kB # 这就示意此刻零碎的替换分区为0# 也能够应用free命令进行查看分区空间[root@VM-8-11-centos ~]# free –h total used free shared buff/cache availableMem: 3782992 188508 3355240 568 239244 3373784Swap: 0 0 0 # 同样是显示空间大小为0
2. 创立Swap分区空间
Oracle官网倡议swap设置规范
- ORACLE官网要求最小1GB的RAM,倡议2GB或更大
- SWAP与RAM的大小配置关系
- RAM为1-2GB时,SWAP大小倡议为RAM大小的1.5倍
- RAM为2-16GB时,SWAP大小倡议与RAM大小相等
- RAM大于16GB时,SWAP大小倡议为16GB
应用dd命令创立名为swapfile 的swap交换文件(文件名和目录任意):
[root@VM-8-11-centos ~]# dd if=/dev/zero of=/home/swap bs=1M count=20482048+0 records in2048+0 records out2147483648 bytes (2.1 GB) copied, 8.82882 s, 243 MB/s
if(即输出文件,input file),of(即输入文件,output file)。dev/zero是Linux的一种特殊字符设施(输出设施),能够用来创立一个指定长度用于初始化的空文件,如长期交换文件,该设施无穷尽地提供0,能够提供任何你须要的数目。 bs=1M代表减少的模块大小,count=2048代表是2048个模块,也就是2G空间大小
- count的计算公式: count = size * bs (size以MB为单位)
回车后,会执行2g的读写操作,零碎会卡一段时间,急躁期待执行后果。
执行结束,对交换文件格式化并转换为swap分区:
[root@VM-8-11-centos ~]# mkswap /home/swapSetting up swapspace version 1, size = 2097148 KiBno label, UUID=cb2f5a45-8cd0-4868-8177-02a9328b0aee
挂载并激活分区:
[root@VM-8-11-centos ~]# swapon /home/swapswapon: /home/swap: insecure permissions 0644, 0600 suggested.
执行以上命令可能会呈现:“不平安的权限 0644,倡议应用 0600”相似提醒,不要缓和,实际上曾经激活了,能够疏忽提醒,也能够服从零碎的倡议批改下权限:
[root@VM-8-11-centos ~]# chmod -R 0600 /home/swap[root@VM-8-11-centos ~]#
这时候能够用 free –h 或 swapon –s命令查看新swap分区是否失常增加并激活应用。
[root@VM-8-11-centos ~]# free –h total used free shared buff/cache availableMem: 3782992 191436 1194972 568 2396584 3341556Swap: 2097148 0 2097148[root@VM-8-11-centos ~]# swapon -sFilename Type Size Used Priority/home/swap file 2097148 0 -2
如果须要敞开swap分区则执行
- swapoff /home/swap
批改 fstab 配置,设置开机主动挂载该分区:
[root@VM-8-11-centos ~]# vim /etc/fstab
在fstab文件开端追加如下内容后:wq!保留即可:
/home/swap swap swap default 0 0
或间接对fstab进行echo追加:
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab
至此,Swap空间筹备实现。
3.批改CentOS零碎标识 (因为Oracle默认不反对CentOS)
[root@VM-8-11-centos ~]# vim /etc/redhat-release删除CentOS Linux release 7.6.2009 (Core)(快捷键dd),改成redhat-7redhat-7
4. 服务器挂载硬盘
这里只是举一个例子,具体的挂载目录须要本人定义(依据须要操作、非必要条件)
[root@VM-8-11-centos ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 27G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 20G 0 disk sr0 11:0 1 4.2G 0 rom [root@localhost ~]#
留神:最初这个mountpoing的意思是挂载点 ,如果type类型是disk(硬盘)且没有挂载点。就证实这个硬盘还没有被挂载,须要你先去把硬盘给挂载上,在进行数据库存储门路的配置。
[root@VM-8-11-centos ~]# mkdir /backup # 新建一个文件夹作为挂载点[root@VM-8-11-centos ~]# cd / # 挪动至根目录下[root@VM-8-11-centos ~]# ls # 这里曾经有这个文件夹了backup bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var yumiso[root@VM-8-11-centos ~]# mount /dev/sdb /backup # 挂载硬盘,上面会报错。是因为没有对硬盘进行格式化。mount: /dev/sdb is write-protected, mounting read-only mount: unknown filesystem type '(null)' # Mount:未知的文件系统类型'(null)'[root@VM-8-11-centos ~]# mkfs.ext4 /dev/sdb # 对硬盘进行格式化(格局为ext4)mke2fs 1.42.9 (28-Dec-2013)/dev/sdb is entire device, not just one partition!Proceed anyway? (y,n) y # 这里选yFilesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks1310720 inodes, 5242880 blocks262144 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2153775104160 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done [root@VM-8-11-centos ~]# mount /dev/sdb /backup # 这里在执行一次挂载命令就能够了[root@VM-8-11-centos ~]# blkid /dev/sdb # 查看挂载硬盘的UUID,复制以下。写到上面的配置文件中,实现永恒挂载。/dev/sdb: UUID="6384d556-f444-48ee-8f1d-5257f0c350aa" TYPE="ext4" 用于挂载信息的指定填写格局中,各字段所示意的意义设施文件 个别为设施的门路+设施名称,也能够写惟一识别码(UUID,Universally Unique Identifier)挂载目录 指定要挂载到的目录,需在挂载前创立好格局类型 指定文件系统的格局,比方Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设施)等权限选项 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async是否备份 若为1则开机后应用dump进行磁盘备份,为0则不备份是否自检 若为1则开机后主动进行磁盘自检,为0则不自检如果想将文件系统为Ext4的硬件设施/dev/sdb2在开机后主动挂载到/backup目录上,并放弃默认权限且毋庸开机自检,就须要在/etc/fstab文件中写入上面的信息,这样在零碎重启后也会胜利挂载。[root@VM-8-11-centos ~]# vim /etc/fstab在最初一行减少如下信息UUID=b8c4a45f-ed74-3089-fcdb-0273de904d6d /backup ext4 defaults 0 0
写入到/etc/fstab文件中的设施信息并不会立刻失效,须要应用mount -a参数进行主动挂载:
[root@VM-8-11-centos ~]# mount -a
df命令用于查看已挂载的磁盘空间应用状况,英文全称为“disk free”,语法格局为“df -h”。
查看以后零碎中设施的挂载状况,列出零碎中正在应用的设施有哪些。
[root@VM-8-11-centos ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/centos-root 27G 9.5G 18G 36% /devtmpfs 899M 0 899M 0% /devtmpfs 911M 0 911M 0% /dev/shmtmpfs 911M 9.6M 902M 2% /runtmpfs 911M 0 911M 0% /sys/fs/cgroup/dev/sda1 1014M 142M 873M 14% /boottmpfs 183M 0 183M 0% /run/user/0/dev/sdb 20G 45M 19G 1% /backup # 当初硬盘就曾经挂在到了挂载点上了。
挂载谬误之后能够应用umount命令,进行卸载,而后从新进行挂载。如果是写入到了配置文件中,也须要对配置文件进行批改。
[root@VM-8-11-centos ~]# umount /dev/sdb
5.上传资源到服务器
- CentOS-7-x86_64-DVD-1810.iso (因为零碎是Centos7.6,所以这里抉择的和零碎版本雷同的、其余版本也能够)
因为须要下载一些依赖,内网环境无奈连贯外网。所以须要上传镜像文件,用于配置本地yum源。如能够连通网络环境则不须要上传该镜像文件。
- yum_source_change.sh 一个脚本文件,用于主动创立本地yum源配置文件。(如不须要构建本地yum源,则不必上传该文件。)
- compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm centos7 零碎中缺失的依赖
- linux.x64_11gR2_database_1of2.zip
- linux.x64_11gR2_database_2of2.zip 这两个都是装置oracle所需的资源包
如能够联通网络,则不需执行6、7 两步。间接跳过。
6. 应用root账户给脚本进行赋权操作
否则脚本没有被执行的权限,无奈运行。
chmod u+x *.sh # 要先进入到脚本的寄存目录下
7. 运行脚本文件,构建本地yum源
./yum_source_change.sh 2 xxxx/centos.iso阐明:给两个运行参数 2示意执行yum源装置 xxx/centos.iso示意镜像文件全门路例如我的就是:./yum_source_change.sh 2 /backup/CentOS-7-x86_64-DVD-1810.iso 回车执行,脚本会主动创立本地yum源执行:df -h 进行查看挂载状况/dev/loop0 4.3G 4.3G 0 100% /yumiso # 会发现上面多了一条信息,就示意yum源曾经构建实现了
二、装置步骤
1. 下载安装Oracle所需的rpm依赖包
[root@VM-8-11-centos ~]# yum -y install 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
查看是否全副装置胜利
[root@VM-8-11-centos ~]# 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 | grep "not installed"package compat-libstdc++-33 is not installed# 是因为可能centos 零碎中短少这个依赖、须要另外装置。进入到该rpm包上传的地位。[root@VM-8-11-centos database]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpmwarning: compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEYPreparing... ################################# [100%] package compat-libstdc++-33-3.2.3-72.el7.x86_64 is already installed file /usr/lib64/libstdc++.so.5.0.7 from install of compat-libstdc++-33-3.2.3-72.el7.x86_64 conflicts with file from package compat-libstdc++-33-3.2.3-72.el7.x86_64
2.批改sysctl.conf内核参数
[root@VM-8-11-centos ~]# vim /etc/sysctl.conf #批改文件# sysctl settings are defined through files in# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.## Vendors settings live in /usr/lib/sysctl.d/.# To override a whole file, create a new file with the same in# /etc/sysctl.d/ and put new settings there. To override# only specific settings, add a file with a lexically later# name in /etc/sysctl.d/ and put new settings there.## For more information, see sysctl.conf(5) and sysctl.d(5).# 把上面这些参数复制进去fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmmni = 4096kernel.sem = 250 32000 100 128kernel.shmall = 2097152kernel.shmmax = 2147483648net.ipv4.ip_local_port_range = 9000 65500net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1net.core.rmem_default = 262144net.core.rmem_max= 4194304net.core.wmem_default= 262144net.core.wmem_max= 1048576
批改完后,启用新的配置
[root@VM-8-11-centos ~]# sysctl -p
3. 创立相应的用户和用户组及相干操作
[root@VM-8-11-centos ~]# groupadd oinstall # 创立装置Oracle程序用户组[root@VM-8-11-centos ~]# groupadd dba # 创立dba用户组[root@VM-8-11-centos ~]# useradd -g dba -m oracle # 创立用户Oracle并退出dba用户组[root@VM-8-11-centos ~]# usermod -a -G oinstall oracle # 将用户Oracle退出oinstall用户组[root@VM-8-11-centos ~]# passwd oracle # 批改Oracle用户的明码Changing password for user oracle.New password:BAD PASSWORD: The password is shorter than 8 charactersRetype new password:passwd: all authentication tokens updated successfully.[root@VM-8-11-centos ~]# id oracle # 查看oracle用户的信息 uid=1001(oracle) gid=1002(dba) groups=1002(dba),1001(oinstall)
4. 创立相应的目录并批改目录权限
目录地位尽量抉择比拟大的硬盘上,mkdir -p /backup/ocdata/oracle # 创立Oracle主目录mkdir -p /backup/ocdata/inventory # 创立Oracle配置目录mkdir -p /backup/ocdata/src # 创立Oracle压缩包解压目录chown -R oracle:oinstall /backup/ocdata/oracle # 批改目录权限chown -R oracle:oinstall /backup/ocdata/inventory chown -R oracle:oinstall /backup/ocdata/src
5. 查看目录权限
ll /backup/ocdata
6.批改oracle用户的平安性能设置
vim /etc/security/limits.conf增加内容如下:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
7.批改用户环境变量
vim /home/oracle/.bashrc增加内容如下:export PATHexport ORACLE_BASE=/backup/ocdata/oracle # 是下面,创立Oracle主目录export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=orclexport ORACLE_UNQNAME=orclexport PATH=$ORACLE_HOME/bin:/usr/sbin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LANG=Cexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8
8.激活/home/oracle/.bashrc
source /home/oracle/.bashrc # 从新受权
9.解压两个zip安装包并受权
unzip linux.x64_11gR2_database_1of2.zip -d /backup/ocdata/src/unzip linux.x64_11gR2_database_2of2.zip -d /backup/ocdata/src/chown -R oracle:oinstall /backup/ocdata/src/ # 受权ll /backup/ocdata/src/ # 查看目录权限
\# 留神:如果执行unzip解压命令的时候报错(未找到命令)
[root@hq009 backup]# unzip linux.x64_11gR2_database_1of2.zip -d /backup/ocdata/src/
-bash: unzip: command not found
\# 这个时候示意零碎外面还没有这个命令,须要先进行装置,再执行解压。
yum install unzip
\# 装置实现后再执行下面的两个解压命令。
10.敞开selinux防火墙
vim /etc/selinux/config批改SELINUX=disabled
11.重启机器
reboot