理论+实验:Linux上部署Oracle数据库

一、关于Oralce数据库

■ 最流行的大型关系数据库

  • 由甲骨文公司出品, 目前最新版本为Oracle 12c
  • 本课程以64位企业版Oracle 12c为例
  • 官方网站:https://www.oracle.com/cn
  • 采用C/S模式、支持SQL查询语言
  • 在稳定性、高性能、安全性等方面优于其他数据库,
  • 因此常用于政府及企业
    在这里插入图片描述
    在这里插入图片描述

1.1、Oracle数据库的特点

  1. 完整的数据管理功能
    1)数据的大量性
    2)数据的保存的持久性
    3)数据的共享性
    4)数据的可靠性

  2. 完备关系的产品
    1)信息准则—关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
    2)保证访问的准则
    3)视图更新准则—只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
    4)数据物理性和逻辑性独立准则

2.2、优点

  • 可用性强
  • 可扩展性强
  • 数据安全性强
  • 稳定性强

二、在Linux安装Oracle的注意事项

2.1、安装CentOS操作系统的要求

  • 防火墙配置选项:禁用
  • SELinux设置:禁用
  • 内核:3.10.0.54.0.1.el7.x86_64及以上版本
  • 查看核心版本命令:uname -r
  • mysql7.0的内核版本是3.1
  • mysql6.0的内核版本是2.6

2.2、系统及配置要求

  • 物理内存:不少于1GB
  • 交换分区不少于(不少于4GB)
    1)物理内存为1 ~ 2GB时,设置为虚拟内存的1.5 ~ 2倍
    2)物理内存为2 ~ 16GB时,设置与虚拟内存大小相同
  • 磁盘空间:不少于15GB
  • 拥有固定的FQDN(完全合格域名)名称,安装好不建议在更改

2.3、软件环境要求

  • GNOME中文桌面环境
  • 中文Java支持
  • 安装所需软件包

2.4、Oracle 12c的安装条件

■ 内核要求

  • 修改内存调度参数、端口范围I/O请求…

■ 用户环境要求

  • 创建组账号oinstall、dba,用户账号oracle
  • 创建oracle基本目录
  • 为用户oracle设置环境变量,并允许使用x终端

■ 进程会话要求

  • 增大用户oracle的进程数、文件数限制
    soft:软限制
    hard:硬限制

2.5、Oracle 12c的安装过程

■ 允许runlnstaller安装程序

  • 将下载的zip包解压
  • 开启图形终端授权
  • 进入database目录,由用户oracle执行安装

三、安装Oracle

3.1、安装配置

-------------关闭防火墙自启动,以及相关功能和增强性安全功能
systemctl disable firewalld.service
systemctl stop firewalld.service
[root@localhost ~]# iptables -F  ###清空防火墙规则
[root@localhost ~]# setenforce 0      ###查看核心防护状态
setenforce: SELinux is disabled
[root@localhost ~]# hostnamectl  set-hostname oracle  ###更改名称
[root@localhost ~]# su      ###刷新
[root@oracle ~]# vim /etc/hosts  ###映射 ,把服务器ip地址和名称对应起来
20.0.0.3 oracle
[root@oracle ~]# ping oracle    ###ping一下看看
  • 软件环境包
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   //重新加载配置文件
  • 用户环境配置
[root@oracle ~]# groupadd oinstall    ###建立oinstall组
[root@oracle ~]# groupadd dba          ###建立dba组
[root@oracle ~]# useradd -g oinstall -G dba oracle     ###oinstall基本组 ,dba附加组
[root@oracle ~]# passwd oracle  ###设置密码123123
  • 可以添加一块硬盘
    在这里插入图片描述
  • 配置新硬盘
[root@oracle ~]# init 6    ###然后重启

[root@oracle ~]# fdisk -l   ###重启后就可以查看有一块新硬盘

[root@oracle ~]# fdisk /dev/sdb    ###进行分区
输入n,输入p,回车,回车,w保存退出

[root@oracle ~]# mkfs -t xfs /dev/sdb1    ###把dev下面的sdb1进行格式化

[root@oracle ~]# vim /etc/fstab    ###挂载
/dev/sdb1       /orc  xfs defaults  0 0 

[root@oracle ~]#[root@oracle ~]# mkdir /orc     ###先建一个orc目录
[root@oracle ~]# mount -a                              ###重新加载fstab文件,也就是把刚刚里面挂载信息挂载上去
[root@oracle ~]# df -Th                                   ###可以查看一下磁盘情况
  • 配置用户环境
[root@oracle ~]# mkdir -p /orc/app/oracle   ###创建/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用户环境配置
注意:进去后先把最后两行命令删除,因为下面的环境配置已经包含了,原来的那两行多余了!!!
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
------------------------上面用户环境配置解释--------------------
umask 022     ###反掩码,如果默然创建的目录是755,如果默认创建的文件就是644
ORACLE_BASE=/orc/app/oracle    ###数据库默认的工作目录
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/  ###产品的家目录
ORACLE_SID=orcl     ###实例id
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8   ###字符集
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin  ###便于Oracle命令被系统所识别
LANG=zh_CN.UTF-8    ###安装的时候语言用的是简体中文

export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
  • oracle用户资源限制
使用pam_limits认证模块
[root@oracle ~]# vim /etc/pam.d/login
在第一个# pam_selinux.so下面添加下面两条

session    required     /lib/security/pam_limits.so          ###资源限制模块
session    required     pam_limits.so

[root@oracle ~]# vim /etc/security/limits.conf  ###上面添加了限制模块,但是没有配置文件,现在设置配置文件
注意:在最后添加这五条命令,1、2两条对进程限制、3、4对文件数量限制、5是对内存做的优化
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 ~]# source /etc/profile   ###重新加载一下
------------oracle安装---------------------------------
把解压的database包挂载在Linux  /abc中
去服务器图形界面用root账户登录,在终端里面输入下面操作


------------在图形化界面操作------------------------
[root@oracle ~]# xhost +     ###以root用户在图形化界面操作

[root@oracle ~]# su - oracle  ###切换oracle用户

[oracle@oracle ~]# export DISPLAY=:0.0    ###像素初始化

------------用root用户在创建一个/abc目录--------------
[root@oracle ~]# mkdir /abc
[oracle@oracle ~]# cd /abc
把linuxx64_12201_database软件拖进来,比较大,耐心等待一下...

[root@oracle abc]# unzip linuxx64_12201_database.zip   ###解压一下
----------切换到oracle账户---------------------------
[oracle@oracle ~]# cd /abc/database/
[oracle@oracle ~]# ./runInstaller   ###执行一下就可以弹出安装页面
按下面图片步骤把更新去掉,设置一个口令密码,安装就好了,注意下面的弹窗操作!!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 安装中弹窗处理
注意:在安装进度条到79%的时候会弹出以root身份执行两个文件,这个时候只需要用root用户执行下面两条命令

切换 root  用户
[root@oracle ~]# /orc/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /orc/app/oracle/product/12.2.0/dbhome_1/root.sh
第二条执行的时候会出现互动,回车,输入yes,然后等一下就行了

-----------------------------------------------------------------
再回安装界面点刚刚弹出的弹窗,确定,就会继续安装
  • 测试:web界面管理
    挂载flash的rpm包安装
    使用火狐浏览打开
    https://Oracle:5500/em
    登录名:sys 密码:abc123 勾选:as sysdba
 操作步骤:
[root@oracle ~]# mkdir aaa   ###创建目录aaa
[root@oracle ~]# tar zxvf flash_player_npapi_linux.x86_64.tar.gz -C aaa  ###找到压缩文件直接解压到aaa文件夹
[root@oracle ~]# cd aaa/ 
[root@oracle aaa]# cp libflashplayer.so /usr/lib64/mozilla/plugins/   ###复制插件到火狐浏览器插件文件夹
#######因为插件的安装设计到更改权限问题,所以设置下插件的权限########
[root@oracle aaa]# cd /usr/lib64/mozilla/plugins/   ###定位到插件目录
[root@oracle plugins]# chmod 755 libflashplayer.so    ###更改插件权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 测试:使用命令行界面
---------------------使用oracle用户登录-----------------

[oracle@oracle ~]$ sqlplus / as sysdba  (sys用户是oracle的最高管理员所以要加上as)

如果是普通用户登录   sqlplus 用户名/密码

SQL> help index     (查看命令列表,sql中不区分大写小写)

SQL> show user       (查看当前用户)

问题集:

1、安装的时候显示swap分区不够,就增加了一下内存大小

解决方法:
1、free –m  ###查看swap内存大小

2、dd if=/dev/zero of=/home/swap bs=1M count=5024  ###增加5g内存

3、mkswap /home/swap         ###设置交换文件

4、swapon /home/swap         ### 启动交换分区文件

5、free –m     ###检查一下大小

6、vi /etc/fstab    ###启动后自动增加5g内存,添加下面那句
/home/swap swap swap defaults 0 0

2、增加之后在执行./runInstaller,想在安装就会报错。

错误显示:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLAY 变量。
在这里插入图片描述

解决方法:

  直接登录的时候就Oracle账户登录,不要先登录root用户,在切到Oracle账户里

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44733021/article/details/109225870