CentOS7系统(图形化桌面)安装oracle19c数据库(图形化安装)详细流程


前言

oracle19c 数据库安装到CentOS7系统中。
准备:Centos7系统,安装的是从阿里源镜像网下载的
下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.0.6b3e4511vYKevM
oracle19c: 从官网下载的安装包
下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html


一、操作系统准备

我是在vm虚拟机中新安装了一个CentOS7系统用来实验的,

硬件配置:

1. 内存:4GB
2. 硬盘:50GB
3. 网络:桥接模式

系统安装完成

系统环境配置:

登陆用户如果不是root用户执行命令要加sudo

  1. oracle19c所需依赖包下载
	 yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.x86_64 glibc-devel.x86_64 ksh.x86_64 libaio.x86_64 libaio-devel.x86_64 libstdc++.x86_64 libstdc++-devel.x86_64 libXi.x86_64 libXtst.x86_64 make.x86_64 sysstat.x86_64 glibc.i686	
  1. 修改系统防火墙
 #systemctl stop firewalld.service     # 关闭防火墙
 #systemctl disable firewalld.service  # 设置开机自动关闭防火墙 
 #systemctl status firewalld.service   # 检查防火墙状态
  1. 配置全局系统参数
vim /etc/porfile    
============================================================================
#这个文件中存的是全局系统参数和环境变量
#配置的是oracle数据库的安装目录和服务名

#oracle
export ORACLE_HOME=/opt/oracle/product/19.3.0/db_1
export ORACLE_SID=orcl
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

  1. 关闭selinux
vim /etc/selinux/config   将 selinux改为 disabled

  1. 修改系统内核参数
vim /etc/sysctl.conf
##############
#添加如下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1073741824
kernel.shmmax =  4398046511104
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
########################

# 随后sysctl -p 检查是否生效
[root@localhost2 oracle]# sysctl -p
  1. 修改用户登陆认证配置
vim /etc/pam.d/login
###############添加如下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
  1. 创建 oracle 用户 ,以后操作数据库都使用这个用户 ,而不是root。
########## 创建用户和相关目录
[root@oracle ~]# /usr/sbin/groupadd  oinstall
[root@oracle ~]# /usr/sbin/groupadd  dba
[root@oracle ~]# /usr/sbin/groupadd  oper
[root@oracle ~]# /usr/sbin/useradd -g  oinstall -G dba,oper oracle
[root@oracle ~]# mkdir -p /opt/oracle/product/19.3.0/db_1
[root@oracle ~]# chown -R oracle:oinstall /opt/
[root@oracle ~]# chmod -R 775 /opt/
########创建数据、重做日志redolog、归档日志archivelog的目录 。
[root@oracle ~]# cd /opt/oracle/
[root@oracle oracle]# mkdir data
[root@oracle oracle]# mkdir redolog1
[root@oracle oracle]# mkdir redolog2
[root@oracle oracle]# mkdir archivelog1
  1. 设置oracle用户连接设置
vim /etc/security/limits.conf
###################添加如下内容
oracle soft nproc 131072             #Oracle用户或用户组可以拥有最多131072个进程。
oracle hard nproc 131072             #Oracle用户或用户组的最大进程数是131072。
oracle soft nofile 131072            #Oracle用户或用户组最大打开文件描述符数为131072
oracle hard nofile 131072            #Oracle用户或用户组最大打开文件描述符数为131072
oracle soft core unlimited           #Oracle用户或用户组可以生成任意大小的核心文件
oracle hard core unlimited           #Oracle用户或用户组可以生成任意大小的核心文件
oracle soft memlock 50000000         #Oracle用户或用户组可以锁定最多50,000,000字节的内存。
oracle hard memlock 50000000         #Oracle用户或用户组可以锁定最多50,000,000字节的内存。

9.配置 /etc/hosts 文件

##################首先看一下主机名
[root@oracle /]# hostname
oracle
##################随后看一下 IP 地址
[root@oracle /]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 177.77.77.77  netmask 255.255.255.0  broadcast 177.77.77.255
        inet6 fe80::df1e:7379:a2d7:2715  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:17:c8:0f  txqueuelen 1000  (Ethernet)
        RX packets 129261  bytes 161022317 (153.5 MiB)
        RX errors 0  dropped 36  overruns 0  frame 0
        TX packets 25868  bytes 14457117 (13.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
####################最后编辑 hosts 文件
vim /etc/hosts
###################添加如下内容
177.77.77.77 oracle



  1. 配置oracle用户的环境变量
[root@oracle /]# vim /home/oracle/.bash_profile


#################添加如下内容
export PATH
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

###################退出vim后,更新环境变量
[root@oracle /] source /home/oracle/.bash_profile

####################编辑显示环境变量
如果是远程控制
export DISPLAY=服务器物理机ip地址:0.0
如果是本地
export DISPLAY=:0.0
  1. 将安装包上传至 $ORACLE_HOME 目录下 (即/opt/oracle/product/19.3.0/db_1目录),
改变安装包的所有者以及操作权限 。
chown -R oracle:oinstall /opt/
chmod -R 775 /opt/ 

二、安装 oracle 19c 软件

1.切换oracle用户,进入安装目录,解压安装包

[root@oracle /]# su - oracle
[oracle@oracle ~]$ cd $ORACLE_HOME
[oracle@oracle db_1]$ unzip LINUX.X64_193000_db_home.zip

2.安装包解压完毕

开始安装

[oracle@oracle db_1]$ ./runInstaller  #打开图形化安装程序

在这里插入图片描述

3.创建监听器

[oracle@oracle db_1]$ netca #无脑下一步就行

4.创建数据库

[oracle@oracle db_1]$ dbca

三、安装过程可能会出现的问题

1. 执行安装程序报错,是图形化程序执行时没找到可用桌面

[oracle@oracle db_1]$ ./runInstaller 
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
No X11 DISPLAY variable was set, but this program performed an operation which requires it.

检查DISPLAY是否配置正确:(本地机器正常结果应该为0.0)

[oracle@oracle db_1]$ echo $DISPLAY
0.0

######################如果不是
export DISPLAY=:0.0 
如果是远程控制,正常结果应该是
export DISPLAY=服务器物理机ip地址:0.0


2. 终端中sqlplus查询数据库中数据,汉语显示为乱码

大概率是字符编码不统一的问题:
以我本机举例,

  1. 虚拟机的CentOS系统有自己的字符集,
  2. oracle数据库有自己的字符集
  3. sqlplus工具界面(客户端)有自己的字符集
  4. 如果要通过远程navicat等工具连接,navicat也有自己的字符集

这几个的字符集需要统一,否则会出现乱码

CentOS查询字符编码命令:

[oracle@oracle ~]$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

oarcle数据库查询字符编码

SELECT DISTINCT(value)  FROM nls_database_parameters  WHERE parameter = 'NLS_CHARACTERSET';

sqlplus工具界面(客户端)查询字符编码

SELECT * FROM nls_instance_parameters WHERE parameter = 'NLS_LANGUAGE';

远程工具自己设置吧,可能性太多了

3.oracle数据库实例开机未自启动

  • 21
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值