Centos7.6安装Oracle11g

简介: Centos7.6安装Oracle11g

一、环境准备

1. 查看Swap分区空间(不能小于2G)

[root@VM-8-11-centos ~]# grep SwapTotal /proc/meminfo

SwapTotal:             0 kB                             # 这就表示此刻系统的交换分区为0

# 也可以使用free命令进行查看分区空间

[root@VM-8-11-centos ~]# free –h

             total        used        free      shared  buff/cache   available

Mem:        3782992      188508     3355240         568      239244     3373784

Swap:             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=2048

2048+0 records in

2048+0 records out

2147483648 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/swap

Setting up swapspace version 1, size =2097148 KiB

no label, UUID=cb2f5a45-8cd0-4868-8177-02a9328b0aee

挂载并激活分区:

[root@VM-8-11-centos ~]# swapon /home/swap

swapon: /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   available

Mem:        3782992      191436     1194972         568     2396584     3341556

Swap:       2097148           0     2097148

[root@VM-8-11-centos ~]# swapon -s

Filename                                Type            Size    Used    Priority

/home/swap                              file    20971480       -2

如果需要关闭swap分区则执行

  • swapoff /home/swap

修改 fstab 配置,设置开机自动挂载该分区:

[root@VM-8-11-centos ~]# vim  /etc/fstab

在fstab文件末尾追加如下内容后:wq!保存即可:

/home/swap swap swap default 00

或直接对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-7


redhat-7

4. 服务器挂载硬盘

这里只是举一个例子,具体的挂载目录需要自己定义(根据需要操作、非必要条件)

[root@VM-8-11-centos ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda               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                    # 这里选y

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

1310720 inodes, 5242880 blocks

262144 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2153775104

160 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

       32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

       4096000


Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing 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 -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   27G  9.5G   18G  36% /

devtmpfs                 899M     0  899M   0% /dev

tmpfs                    911M     0  911M   0% /dev/shm

tmpfs                    911M  9.6M  902M   2% /run

tmpfs                    911M     0  911M   0% /sys/fs/cgroup

/dev/sda1               1014M  142M  873M  14% /boot

tmpfs                    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.rpm

warning: compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

Preparing...                          ################################# [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 = 1048576

fs.file-max = 6815744

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmax = 2147483648

net.ipv4.ip_local_port_range = 9000 65500

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

net.core.rmem_default = 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.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 characters

Retype 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 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

7.修改用户环境变量

vim /home/oracle/.bashrc


添加内容如下:

export PATH

export ORACLE_BASE=/backup/ocdata/oracle    # 是上面,创建Oracle主目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl

export ORACLE_UNQNAME=orcl

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export LANG=C

export 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


目录
相关文章
|
7月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1345 69
|
6月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
2730 3
|
7月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
628 78
|
8月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
333 80
|
6月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
1448 16
|
7月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
569 10
|
8月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
711 2
|
7月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
613 0
|
7月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。