orcale数据库介绍及安装

orcale版本介绍

1 目前最稳当的版本为11.2.0.4 ,官方补丁维护期为2013-2018.12.30 ,目前维护期延长两年到2020年底支持付费扩展

从安全补丁版本考虑,oracle官方开始推进12c稳定版本了,目前11.2.0.4可使用到2020年底,所以生产环境现在基本使用11.2.0.4版本,这个版本最稳定

2 从稳定角度来说,11.2.0.4是最好的使用最多的,从性能优化角度来看,12c性能优化比11g好,12c支持云计算

3 从运维DBA测试的角度,已经有必要开始使用12c的稳定版本了,12.1.0.1为测试版不稳定版,

12.1.0.2为稳定版可以使用,12.2.0.1为测试版不稳定版,

18c(12.2.0.2)为稳定版可以使用,马上会出19c(12.2.0.3)为稳定版 此版为12c最终版。

像运维和开发的测试环境可以开始使用12.1.0.2和18c,19c的版本了,尝试测试,调整优化部署

4 从公司角度来考虑

目前生产环境使用11.2.0.4,可以用到2020年底,2021年以后还可以继续使用,但因为补丁优化,性能优化等原因,2021年以后最好使用19c版本(12.2.0.3)

目前运维测试环境,可以有11.2.0.4(配合生产测试使用),12.1.0.2(2019运维性能升级测试),18c(2019运维性能升级测试),19c(2020性能运维升级测试)

目前开发测试环境,可以有11.2.0.4(配合生产测试使用),12.1.0.2(2019运维性能升级测试),18c(2019运维性能升级测试)

对于公司2018年生产环境oracle来说,所有10G 11.2.0.1 11.2.0.2 11.2.0.3的版本 需要全部升级为11.2.0.4,11.2.0.4RAC和单机的环境不需要动,不需要改变

对于公司开发和运维的测试环境,要开始使用12c新版本了 (18c和19c也为12c升级版本) ,为公司2021年生产环境过度到18c,19c而做好准备

对于公司2019年新部署的oracle服务器,再不是特别重要生产的情况下,流量影响不高,可以部署使用12.1.0.2和18c的版本了,用来当生产环境和测试使用

对于公司2019年新部署的oracle服务器,是比较重要的生产环境情况下,需要保证99.99%得出稳定度的,还是使用11.2.0.4版本

对于公司2020年来说要逐渐过度12c版本,可以从影响比较小的生产环境开始过度,升级部署

对于公司2021年以后来说基本都要过度完成12c版本(18c和19c也为12c升级版本)

当然具体情况具体分析,以上时间节点只是参考,需要根据实际情况,比如公司情况,oracle版本的情况来综合考虑

oracle个版本优缺点介绍

11g

  1. oracle 11g在DBA管理上有很多完善,大大提升了DBA对数据库的管控能力,提供的很多自动特性,增强了调优,备份恢复,错误诊断等的功能,大大减轻DBA的低端管理工作; 相对来说,这个版本的升级比较平滑一些;
  2. 合并和扩展oracle的功能以实现网格计算的优势,将数据中心从分散的系统资源孤岛转换为包含服务器和存储的共享池。
    3)GI提供更强大的oracleASM支持,GI作为集群软件除了支持数据库集群,还支持timesten的集群。

12c

1)实现云数据库的支持,提供云平台管理,这是11所没有的。

2)oracle12c增加了CDB和PDB的概念。
CDB全称为Container Database, 数据库容器;
PDB全称为Pluggable Database,即可插拔数据库。

3)PL/SQL性能增强:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能

4)改善Defaults:包括序列作为默认值;自增列;当明确插入NULL时指定默认值;METADATA-ONLY default值指的是增加一个新列时指定的默认值,和11g中的区别在于,11g的default值要求NOT NULL列

5)放宽多种数据类型长度限制:增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并不是真正改变了VARCHAR2的限制,而是通过OUT OF LINE的CLOB实现

6)TOPN的语句实现:在SELECT语句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N条或前百分之多少的记录

7)行模式匹配:类似分析函数的功能,可以在行间进行匹配判断并进行计算。在SQL中新的模式匹配语句是“match_recognize”

8)分区改进:Oracle Database 12c中对分区功能做了较多的调整,Oracle ACE总监杨廷琨花了较大的篇幅对分区提升进行了解读,其中共分成6个部分

INTERVAL-REFERENCE分区:把11g的interval分区和reference分区结合,这样主表自动增加一个分区后,所有的子表、孙子表、重孙子表、重重重…孙子表都可以自动随着外接列新数据增加,自动创建新的分区。

TRUNCATE和EXCHANGE分区及子分区。无论是TRUNCATE还是EXCHANGE分区,在主表上执行,都可以级联的作用在子表、孙子表、重孙子表、重重重…孙子表上同时运行。对于TRUNCATE而言,所有表的TRUNCATE操作在同一个事务中,如果中途失败,会回滚到命令执行之前的状头。这两个功能通过关键字CASCADE实现。

在线移动分区:通过MOVE ONLINE关键字实现在线分区移动。在移动的过程中,对表和被移动的分区可以执行查询、DML语句以及分区的创建和维护操作。整个移动过程对应用透明。这个功能极大的提高了整体可用性,缩短了分区维护窗口。

多个分区同时操作:可以对多个分区同时进行维护操作,比如将一年的12个分区MERGE到1个新的分区中,比如将一个分区SPLIT成多个分区。可以通过FOR语句指定操作的每个分区,对于RANGE分区而言,也可以通过TO来指定处理分区的范围。多个分区同时操作自动并行完成。

异步全局索引维护:对于非常大的分区表而言,UPDATE GLOBAL INDEX不再是痛苦。Oracle可以实现了异步全局索引异步维护的功能,即使是几亿条记录的全局索引,在分区维护操作,比如DROP或TRUNCATE后,仍然是VALID状态,索引不会失效,不过索引的状态是包含OBSOLETE数据,当维护操作完成,索引状态恢复。

部分本地和全局索引:Oracle的索引可以在分区级别定义。无论全局索引还是本地索引都可以在分区表的部分分区上建立,其他分区上则没有索引。当通过索引列访问全表数据时,Oracle通过UNION ALL实现,一部分通过索引扫描,另一部分通过全分区扫描。这可以减少对历史数据的索引量,极大的增加了灵活性。
9)Adaptive执行计划:拥有学习功能的执行计划,Oracle会把实际运行过程中读取到返回结果作为进一步执行计划判断的输入,因此统计信息不准确或查询真正结果与计算结果不准时,可以得到更好的执行计划

10)统计信息增强:动态统计信息收集增加第11层,使得动态统计信息收集的功能更强;增加了混合统计信息用以支持包含大量不同值,且个别值数据倾斜的情况;添加了数据加载过程收集统计信息的能力;对于临时表增加了会话私有统计信息

11)临时UNDO:将临时段的UNDO独立出来,放到TEMP表空间中,优点包括:减少UNDO产生的数量;减少REDO产生的数量;在ACTIVE DATA GUARD上允许对临时表进行DML操作

12)数据优化:新增了ILM(数据生命周期管理)功能,添加了“数据库热图”(Database heat map),在视图中直接看到数据的利用率,找到哪些数据是最"热"的数据。可以自动实现数据的在线压缩和数据分级,其中数据分级可以在线将定义时间内的数据文件转移到归档存储,也可以将数据表定时转移至归档文件。也可以实现在线的数据压缩

13)应用连续性:Oracle Database 12c之前RAC的FAILOVER只做到SESSION和SELECT级别,对于DML操作无能为力,当设置为SESSION,进行到一半的DML自动回滚;而对于SELECT,虽然FAILOVER可以不中断查询,但是对于DML的问题更甚之,必要要手工回滚。而Oracle Database 12c中Oracle终于支持事务的FAILOVER

14)OraclePluggable Database:Oracle PDB体系结构由一个容器数据库(CDB)和多个可组装式数据库(PDB)构成,PDB包含独立的系统表空间和SYSAUX表空间等,但是所有PDB共享CDB的控制文件、日志文件和UNDO表空间。

编译安装Oracle

3.1 关闭防火墙,核心防护
systemctl stop firewalld #关闭防火墙
vi /etc/selinux/config #关闭核心防护
SELINUX=disabled
setenforce ? #查看状态
iptables -F #关闭防火墙规则

3.2 设置映射,改变主机名
hostnamectl set-hostname oracle #更改主机名oracle
vim /etc/hosts
20.0.0.25 oracle

3.3 软件环境包

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

3.4 调整内核参数

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   #套接字发送缓冲区大小的最大值

sysctl -p ##重新加载配置文件

3.5 用户环境配置
创建两个组
创建oracle用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle   #密码123123

注意这是在根目录下创建
mkdir -p /orc/app/oracle
chown -R oracle:oinstall /orc/app/
chmod -R 755 /orc/app/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

3.6 oracle用户资源限制
使用pam_limits认证模块
vim /etc/pam.d/login

session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

vim /etc/security/limits.conf

oracle        soft    nproc           2047       #单用户可使用的进程数量
oracle        hard    nproc           16384
oracle        soft    nofile          1024       #用户可打开的文件数量
oracle        hard    nofile          65536
oracle        soft    stack           10240      #堆栈设置

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
source /etc/profile

3.7 oracle 安装
mkdir /abc #在根目录下创建abc文件夹
cd abc
oracle 软件包 放入文件夹内
unzip linuxx64_12201_database.zip #解压

3.8 图形化界面操作
xhost + #以root用户在图形化界面操作 (中间有空格)
su - oracle #切换oracle用户 (注意:中间的-不能少 少了的话安装时就不是中文界面了,因为没有进入字符界面)
cd /abc
export DISPLAY=:0.0 ‘初始化像素’
cd database
./runInstaller ‘启动oracle程序’
3.8 oracle 图形化安装

安装Oracle数据库
一.配置安全更新,取消图中所示的勾选,然后单击”下一步”继续
在这里插入图片描述

出现下面这种情况,点击是
在这里插入图片描述

二.选择安装选项,默认创建和配置数据库
在这里插入图片描述

三.选择系统类,这里选择默认的”桌面类”,点击”下一步”继续。 如果系统是服务器版本,如windows server则选择服务器版本。
在这里插入图片描述

四.创建Oracle主目录用户
这一步是其他版本Oracle没有的,为的是更安全的管理Oracle,防止登录的win用户误删Oracle文件。
这里选择第二个选项”创建新的windows用户”,输入用户名和口令,创建专门管理Oracle的win用户,然后单击”下一步”。

选项
如果选择第一个,或者选择第二个选项,则会出现如下情况: 导致无法继续安装。

五.典型安装配置

a.Oracle基目录、软件位置、数据库文件位置,均保持默认。
b.数据库版本选择”企业版”,字符集选择默认的”UTF8”。
c.口令:要求密码包含:大写字母+小写字母+数字。
d.勾选”创建为容器数据库”选项,单击”下一步”。
在这里插入图片描述

六.先决条件检查
这一步自行完成,是对之前的配置进行检查。单击”下一步”。

七.概要
上一步的检查没有问题后,会生成Oracle安装配置的概要信息,也可以这些配置信息保存到本地,方便以后查阅,确认无误后,单击”安装”

注意:安装前最好将电脑的杀毒软件都强行关闭,确保安装过程顺利。
注意:安装过程中,切勿关闭程序、断电或重启电脑。
在这里插入图片描述

八.安装产品安装过程状态,整个安装过程持续时间较长,大概需要半个小时,耐心等待
在这里插入图片描述

九.安装完成,点击关闭
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值