目录
一、关于Oralce数据库
■ 最流行的大型关系数据库
- 由甲骨文公司出品, 目前最新版本为Oracle 12c
- 本课程以64位企业版Oracle 12c为例
- 官方网站:https://www.oracle.com/cn
- 采用C/S模式、支持SQL查询语言
- 在稳定性、高性能、安全性等方面优于其他数据库,
- 因此常用于政府及企业
1.1、Oracle数据库的特点
-
完整的数据管理功能
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性 -
完备关系的产品
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账户里