unzip linux.x64_11gR2_database_1of2.zipunzip linux.x64_11gR2_database_2of2.zip

解压完成后,会在当前解压目前天生一个叫database的目录 。

2.1.2 修正hosts file文件

cat /etc/hostname127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.199.128 ol7.localdomain ol7

在/etc/hostname文件中设置安装机器的主机名,这里设置为o17

2.1.3 更新系统软件包至最新(可选)

# yum update2.1.4 设置系统的内核参数

cat /etc/sysctl.conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096# semaphores: semmsl, semmns, semopm, semmnikernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048586

运行如下命令使参数生效:

centosphporacleaprcentos7安装oracle11在实战 AJAX

sysctl -p

参数解释:

kernel.shmall:设置共享内存总页数。
这个值太小有可能导致数据库启动报错。
很多人调度系统内核参数的时候只关注SHMMAX参数,而忽略了SHMALL参数的设置。
这个值推举设置为物理内存大小除以分页大小。
例示:通过getconf获取分页的大小,用来打算SHMALL的合理设置值:SQL> select 32102410241024/4096 from dual;32102410241024/4096----------------------8388608对付32G的内存,4K分页大小的系统而言,SHMALL的值该当设置为8388608。
kernel.shmmax:Linux进程可以分配的单独共享内存段的最大值。
一样平常设置为内存总大小的一半。
这个值的设置该当大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对付安装Oracle数据库的系统,shmmax的值该当比内存的二分之一大一些。
kernel.shmmni = 4096:设置系统级最大共享内存段数量。
Oracle11g推举最小值为4096,可以适当比4096增加一些。
2.1.5 /etc/security/limits.conf

vim /etc/security/limits.conforacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 4096oracle hard nofile 65536oracle soft stack 10240

添加下列行至 "/etc/pam.d/login" file。

session required pam_limits.so2.1.6 系统安装相应软件包

yum install binutils -yyum install compat-libstdc++-33 -yyum install compat-libstdc++-33.i686 -yyum install gcc -yyum install gcc-c++ -yyum install glibc -yyum install glibc.i686 -yyum install glibc-devel -yyum install glibc-devel.i686 -yyum install ksh -yyum install libgcc -yyum install libgcc.i686 -yyum install libstdc++ -yyum install libstdc++.i686 -yyum install libstdc++-devel -yyum install libstdc++-devel.i686 -yyum install libaio -yyum install libaio.i686 -yyum install libaio-devel -yyum install libaio-devel.i686 -yyum install libXext -yyum install libXext.i686 -yyum install libXtst -yyum install libXtst.i686 -yyum install libX11 -yyum install libX11.i686 -yyum install libXau -yyum install libXau.i686 -yyum install libxcb -yyum install libxcb.i686 -yyum install libXi -yyum install libXi.i686 -yyum install make -yyum install sysstat -yyum install unixODBC -yyum install unixODBC-devel -yyum install zlib-devel -yyum install elfutils-libelf-devel -y2.1.7 创建相应的用户和组

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 oper#groupadd -g 54324 backupdba#groupadd -g 54325 dgdba#groupadd -g 54326 kmdba#groupadd -g 54327 asmdba#groupadd -g 54328 asmoper#groupadd -g 54329 asmadminuseradd -g oinstall -G dba,oper oracle2.1.8关闭selinx和防火墙

1、关闭selinux

vim /etc/sysconfig/selinux,编辑如下:SELINUX=disabled

2、关闭防火墙

systemctl stop firewalldsystemctl disable firewalld2.1.9 创建oracle相应目录

mkdir -p /u01/app/oracle/product/11.2.0.4/db_1chown -R oracle:oinstall /u01chmod -R 775 /u012.1.10 设置oracle用户环境变量

vim /home/oracle/.bash_profile,内容如下:# Oracle SettingsTMP=/tmp; export TMPTMPDIR=$TMP; export TMPDIRORACLE_HOSTNAME=ol7.localdomain; export ORACLE_HOSTNAMEORACLE_UNQNAME=DB11G; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1; export ORACLE_HOMEORACLE_SID=DB11G; export ORACLE_SIDORACLE_TERM=xterm; export ORACLE_TERMPATH=/usr/sbin:$PATH; export PATHPATH=$ORACLE_HOME/bin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH2.2 安装oracle2.2.1 oracle 支配过程

上岸至oracle用户,如果利用的是x仿真,则设置display环境变量

DISPLAY=<machine-name>:0.0; export DISPLAY

通过如下命令启动Oracle Universal Installer(OUI)的安装。

./runInstaller

连续进行您选择的安装。
您可以通过单击下面的链接查看我实行的安装类型,以查看每个阶段的屏幕截图。
“ pdksh”软件包将被列出为丢失,可以忽略,由于我们安装了“ ksh”软件包。

如果要为企业管理器存储库进行安装,请记住进行高等安装并选择ALT32UTF8字符集或ZHS16GBK字符集。

1、配置安全更新

2、选择安装选项

3、系统种别

4、节点选择

5、选择安装类型

6、范例安装配置

7、创建库存

8、实行先决条件检讨

9、概要

10、安装产品

11、数据库配置助手

12、数据库配置助手2

13、实行配置脚本

14、完

2.2.2 安装后设置

编辑“ / etc / oratab”文件,将每个实例的重启标志设置为“ Y”。

DB11G:/u01/app/oracle/product/11.2.0.4/db_1:Y三、常见问题3.1 提示pdksh软件包不存在。

pdksh”软件包将被列出为丢失,可以忽略,由于我们安装了“ ksh”软件包。

3.2 在连接阶段,调用“ ins_emagent.mk”文件时会碰着缺点

要办理此问题,请编辑“ $ ORACLE_HOME / sysman / lib / ins_emagent.mk”,进行搜索并更换下面显示的行。

从:$(MK_EMAGENT_NMECTL)至 :$(MK_EMAGENT_NMECTL)-lnnz11四、附录4.1 自动启动脚本

以root用户身份创建一个名为“ /etc/init.d/dbora”的文件,个中包含以下代码
调度路径以匹配您的系统。

#!/bin/sh# chkconfig: 345 99 10# description: Oracle auto start-stop script.## Set ORA_HOME to be equivalent to the $ORACLE_HOME# from which you wish to execute dbstart and dbshut;## Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME.#ORA_HOME=/u01/app/oracle/product/10.2.0/db_1#ORA_HOME=/u01/app/oracle/product/11.1.0/db_1ORA_HOME=/u01/app/oracle/product/11.2.0.4/db_1#ORA_HOME=/u01/app/oracle/product/12.1.0.2/db_1#ORA_HOME=/u01/app/oracle/product/12.2.0.1/db_1ORA_OWNER=oracleexport ORACLE_UNQNAME=db12cif [ ! -f $ORA_HOME/bin/dbstart ]then echo "Oracle startup: cannot start" exitficase "$1" in 'start') # Start the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values # Remove "&" if you don't want startup as a background process. su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" & touch /var/lock/subsys/dbora ;; 'stop') # Stop the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" rm -f /var/lock/subsys/dbora ;;esac

用chmod 命令修正权限为 750.

chmod 750 /etc/init.d/dbora

将“ dbora”做事与适当的运行级别干系联,并利用以下命令将其设置为自动启动。

chkconfig --add dbora

现在,干系实例应在系统启动/关闭时自动启动/关闭。

另附Oracle数据库版本先容

首先来说下Oracle的版本背景。

根据Oracle的产品线方案,18c开始的新版本将是年度版,版本将是发布年度的末了两位数字。
原来操持作为12.2.0.2的版本便是现在发布中的18c,12.2.0.3将以19c的版本形式发布。
预期Oracle数据库19将是12.2的末了一个版本(“长期支持”版本)。

以是经历了8,8i,9i,10g,11g,12c之后,接下来的便是18c,19c,现在是2020年了,最新版本按照方案还是19c,可没有20c,要不会被笑话。

从版本V2发展至今,我细数了如下的一些版本情形。

版本发布年

版本

1979

2.3

1983

3.1.3

1984

4.1.4.0

1985

5.0.22

1988

6.0.17

1992

7.0.12

1997

8.0.3

1998

8.1.5.0

2001

9.0.1.0

2002

9.2.0.1

2003

10.1.0.2

2005

10.2.0.1

2007

11.1.0.6

2009

11.2.0.1

2013

12.1.0.1

2016

12.2.0.1

2018

18.1.0

2019

19c

如果要从整体看出版本的差异情形,可以看下面的柱状图。

这个图没有表示版本之间的韶光差,仅仅从版本的变革情形来看。

仅仅从这个图上就能够看出一种光鲜的差异,那便是类似SQL Server这样的年度版本,能够对付版本的差异没有那么敏感。

Oracle数据库版本方案

我们能够看到有很多的版本,如果要选择升级数据库,到底是选择12c还是18c,还是19c呢,我们来看一个版本路线图,可以参考在MOS 官方文章:Release Schedule of Current Database Releases (文档 ID 742060.1)

这个图是理解全体内容的核心,可以看到19c的定位是长期版本,而且扩展做事的截止韶光是目前最长的。

比较而言18c的生命周期就会短许多,有点像昙花一些的过渡版本,从性价最近看彷佛还不如早一些的12.2.0.1这个版本,如何和当时的韶光背景联系起来,该当是一批早期用户从11g升级,在没有12.2版本发布时,选择了升级到12.1.0.2,以是看到的12.2.0.1和18c的发布韶光也很靠近。

值得一提的是,在2020年4月15日,Oracle修正了12.2.0.1的扩展做事截止韶光,从2020年12月1日扩展到了2020年3月31日。
(Added Limited Error Correction for 12.2.0.1 from Dec 1, 2020 until March 31, 2022)

Oracle数据库做事支持

对付扩展做事,我们可能有些陌生,大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Extended Support(中等优先级的支持),Sustaining Support(最低优先级的支持)。

如果和上面的图联系起来,实在便是对付扩展做事打了一些补丁,可以举个例子来解释,比如主流版本是11g,那么会有一个相对稳定产品生命周期,比如是5年,那么在这5年内是官方大力支持的阶段,会修复一系列的版本bug,推出一些改进和新功能,附近产品生命周期,就须要考虑升级,如果不升级做事支持力度上就会打一定的折扣,比如说扩展做事周期是2年,那么2年后正常来说是无法下载一些补丁更新的,如果过了扩展做事周期还没有升级,如果是大客户,费钱连续支持也可以,如果又超过了多个时段,但是原来的版本支持还是须要,就须要做定制化的支持了。

对付数据库版本来说,10g是个坎,升级到11g是个坎,升级到12c的选择空间从上图来看就比较有限了,目前可选的便是12.2.0.1,18c和19c了。
我们来看下这3个版本,我来划一下重点。

版本

补丁截止韶光

备注息争释

19c

Long-Term Release

Mar 31, 2023 with no ES/ULA

Mar 31, 2026 with ES/ULA

Premier Support (PS) ends Mar 31, 2023, Extended Support (ES) fees will be required beginning Apr 01, 2023 through Mar 31, 2026Error Correction / Patching is available through Mar 31, 2026 with paid ES. Without paid ES, patching is only available until Mar 31, 2023.

18c

Annual Release

Jun 08, 2021

Error Correction / Patching is available until Jun 08, 202118c is not eligible for Extended Support (ES)

12.2.0.1

Annual Release

March 31, 2022 with Limited Error Correction from Dec 1, 2020

Error Correction / Patching is available until Nov 30, 2020Limited Error Correction (Sev 1 and Security Updates only) is available from Dec 1, 2020 - March 31, 2022 See Note 161818.1 for details.12.2.0.1 is not eligible for Extended Support (ES)Gen 1 ExaCC, OCC DBCS, and ODA will have 3 additional months of support life. The end of life dates for databases on these platforms is: 28-Feb-2021

从上面的图来看,为了求稳,我们不是选择最靠近的低版本,而是要首选尽可能稳定的大版本,避免后续的大版本改动。
如果说得更清楚些,那便是选择19c.

版本的情形基本说完了,我们来看下升级的精确姿势,由于环境的差异,肯定初始版本都不大相同。

Oracle数据库版本升级矩阵

对付11g的数据库来说,如果是11g的最新版本,则可以直接升级到19c,这是一个极大的利好,避免了过渡升级带来的潜在隐患和做事不可用过长。

对付12c以上的版本(12.1.0.2以上),则可以直接升级到19c。

升级的过程可以考虑纯手工办法升级数据字典,也可以考虑利用DBUA来做。

Oracle 19c - Complete Checklist for Upgrading to Oracle Database 19c (19.x) using DBUA (Doc ID 2545064.1)

如果利用DBUA来升级,直接升级可以参考如下的表格:

Source Database

Target Database

11.2.0.4 and Higher

19.x

12.1.0.2

19.x

12.2.0.1

19.x

18.1

19.x

对付有些版本来说,则不可以直接升级,就须要过渡,比如你的版本是11.2.0.2,则须要先升级到11.2.0.4之后才可以升级到19c.

Source Database

Intermediate upgrade path

Target database

11.2.0.1/11.2.0.2/11.2.0.3

-->

11.2.0.4

-->

19.x

11.1.0.6/11.1.0.7

-->

11.2.0.4

-->

19.x

10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5

-->

11.2.0.4/12.1.0.2

-->

19.x

10.1.0.5

-->

11.2.0.4/12.1.0.2

-->

19.x

9.2.0.8 or earlier

-->

11.2.0.4

-->

19.x

12.1.0.1

-->

12.1.0.2/12.2.0.1

-->

19.x

5 尝鲜新版本

此外,如果我们想先尝尝鲜,做下测试,

Oracle供应了其余两种办法来体验新版本,一种是LiveSQL,链接是https://livesql.oracle.com,同时也可以通过dosc.oracle.com进行理解。