CentOS7安装Oracle-12c

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7安装Oracle-12c相关的知识,希望对你有一定的参考价值。

1、给虚拟机添加一块硬盘,并格式化

技术图片

[root@localhost ~]# systemctl stop firewalld.service    ##关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl disable firewalld.service   ##开启不自动启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# fdisk /dev/sdb    ##分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xbb26ef93 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n   ##创建
Partition type:
     p   primary (0 primary, 0 extended, 4 free)
     e   extended
Select (default p): p   ##主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w   ##保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# mkfs.xfs /dev/sdb1   ##格式化
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# 
[root@localhost ~]# vim /etc/hostname
localhost.localdomain
HOSTNAME=oracle   ##修改主机名(添加)
[root@localhost ~]# ifconfig    ##查询IP地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.150  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::5134:22f5:842b:5201  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:0d:f1:75  txqueuelen 1000  (Ethernet)
        RX packets 956  bytes 80659 (78.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 369  bytes 49985 (48.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost ~]# vim /etc/hosts
192.168.52.150 oracle   ##本地解析
[root@localhost ~]# init 6  ##重启

2、挂载分区,修改系统环境和用户环境

[root@oracle ~]# mkdir /orc
[root@oracle ~]# mount /dev/sdb1 /orc/  ##挂载
[root@oracle ~]# df -h  ##查看挂载点
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   20G  3.3G   17G   17% /
devtmpfs                 897M     0  897M    0% /dev
tmpfs                    912M     0  912M    0% /dev/shm
tmpfs                    912M  9.0M  903M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                6.0G  179M  5.9G    3% /boot
/dev/mapper/centos-home   10G   37M   10G    1% /home
tmpfs                    183M   12K  183M    1% /run/user/42
tmpfs                    183M     0  183M    0% /run/user/0
/dev/sdb1                 20G   33M   20G    1% /orc
[root@oracle ~]# 
[root@oracle ~]# 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@oracle ~]# vim /etc/sysctl.conf  ##修改内核参数
fs.aio-max-nr = 1048576
#异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K个
fs.file-max = 6815744
#打开的文件句柄的最大数量,防止文件描述符耗尽的问题
kernel.shmall = 2097152
#共享内存总量,页为单位,内存除以4K所得
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#SEMMSL:每个信号集的最大信号数量SEMMNS:用于控制整个Linux系统中信号的最大数
#SEMOPM:内核参数用于控制每个semop系统调用可以执行的信号操作的数量
#SEMMNI :内核参数用于控制整个Linux系统中信号集的最大数量 
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
#套接字发送缓冲区大小的最大值
[root@oracle ~]# sysctl -p  ##加载
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
[root@oracle ~]# 
[root@oracle ~]# groupadd oinstall  ##创建用户组
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle  ##创建系统用户
[root@oracle ~]# passwd oracle   ##创建密码
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@oracle ~]#
[root@oracle ~]# mkdir -p /orc/app/oracle   ##创建目录
[root@oracle ~]# chown -R oracle.oinstall /orc/app/  ##给与属组属主
[root@oracle ~]# chmod -R 755 /orc/app/oracle/     ##给与权限
[root@oracle ~]# vim /home/oracle/.bash_profile   ##修改Oracle自己的环境变量
# User specific environment and startup programs
umask 022      ##权限
ORACLE_BASE=/orc/app/oracle   ##文件路径
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/  ##顶级目录
ORACLE_SID=orcl    ##实例
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8  ##简体中文
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin  ##命令导入环境变量
LANG=zh_CN.UTF-8

export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
##导入到系统环境变量中

3、oracle用户资源限制

[root@oracle ~]# vim /etc/pam.d/login  ##修改pam_limits认证模块
##在password   include      system-auth下面插入
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so
[root@oracle ~]# vim /etc/security/limits.conf  ##修改limits配置文件
oracle          soft    nproc           2047
#单用户可使用的进程数量
oracle          hard    nproc           16384
oracle          soft    nofile          1024
#用户可打开的文件数量
oracle          hard    nofile          65536
oracle          soft    stack           10240
#堆栈设置
[root@oracle ~]# vim /etc/profile  ##修改环境变量
##末行插入
if [ $USER = "oracle" ]
  then
    if [ $SHELL = "/bin/ksh" ]
      then
        ulimit -p 16384          #缓冲区大小
        ulimit -n 65536          #文件数
    else
      ulimit -u 16384 -n 65536          #进程数     文件数
    fi
fi
[root@oracle ~]# mkdir /mnt/tools
[root@oracle ~]# mount.cifs //192.168.100.100/tools /mnt/tools/  ##挂载
Password for root@//192.168.100.100/tools:  
[root@oracle ~]# cd /mnt/tools/oracle/
[root@oracle oracle]# ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html   ##查看安装脚本

4、使用图形化界面用oracle用户进行安装

[root@oracle ~]# xhost +   ##以root用户在图形化界面操作
access control disabled, clients can connect from any host
[root@oracle ~]# su - oracle  ##切换oracle用户
[oracle@oracle ~]$ export DISPLAY=:0.0   ##设置DISPLAY环境变量, 用以运行图形程序
[oracle@oracle ~]$ cd /mnt/tools/oracle/
[oracle@oracle oracle]$ ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@oracle database-Oracle]$ ./runInstaller  ##执行安装脚本
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 500 MB。   实际为 16860 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 4095 MB    通过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2019-12-12_01-54-52PM. 请稍候...

5、进行图形化安装

(1)不选择安全更新,下一步

技术图片

(2)选择创建和配置数据库,下一步

技术图片

(3)选择服务器类,下一步

技术图片

(4)选择单实例安装,下一步

技术图片

(5)选择典型安装,下一步

技术图片

(6)输入超级管理员密码,下一步

技术图片

(7)默认进行下一步

技术图片

(8)查看清单,进行安装

技术图片

(9)进度为79%时,需要切换到远程终端登录,用root执行下面的两个脚本

技术图片

[root@oracle oracle]# /orc/app/oraInventory/orainstRoot.sh   ##用root用户执行
更改权限/orc/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/orc/app/oraInventory 到 oinstall.
脚本的执行已完成。
[root@oracle oracle]# /orc/app/oracle/product/12.2.0/dbhome_1/root.sh 
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /orc/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:    ##回车
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :    ##选择yes
yes
Installing Oracle Trace File Analyzer (TFA).
Log File: /orc/app/oracle/product/12.2.0/dbhome_1/install/root_oracle_2019-12-12_14-13-30-822286981.log
Finished installing Oracle Trace File Analyzer (TFA)
[root@oracle oracle]# 

执行完脚本后点击确定

技术图片

(10)安装完成

技术图片

以上是关于CentOS7安装Oracle-12c的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7安装Oracle-12c

CentOS7 静默安装oracle12c

centos7下安装ORACLE 12C-系统环境配置

Centos7 安装Oracle12.1

Centos7.3中安装Oracle12C详细过程

CentOS7.3上部署安装Oracle12c