Oracle凭借各种优势,在一些大型企业应用非常广泛,今天来分享一波Oracle12C 数据库安装过程,可以自己搭一个环境,练练手,学习学习。

首先说说我的搭建环境:

centos 7

Oracle12c

Oracle数据库的安装比较麻烦,但一般分为以下几个步骤:

下载Oracle

配置系统环境(过程最为复杂)

安装Oracle

防火墙等的配置

在这四个过程中,配置系统环境的过程最为麻烦,这一步如果出现问题,那么第三步就会出现问题。

如果在退到第二步,当再次进行到第三步时,有些安装文件夹的文件还存在,也会报错。

下载Oracle
Oracle数据库的官方下载链接点击阅读原文即可。这里我下载的是Oracle12C,大家可以根据自己的需求下载。

配置环境
更新系统包。

# yum update -y
安装下载Oracle12C所需软件包

# yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c .x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc -33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc .i686 libstdc .x86_64 libstdc -devel.i686 libstdc -devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip
为Oracle创建一个用户组,名字是Oracle,并对该用户设置登录密码。

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
将以下内容添加到/etc/sysctl.conf中。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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 = 1048586
打开该文件使用的指令是vim /etc/sysctl.conf。vim的基本使用方法在文末会有介绍。

接下来是使配置立即生效。

# sysctl -p
# sysctl -a
将以下内容添加到/etc/security/limits.conf 中。该内容是最Oracle用户的一些限制。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
解压Oracle到/stage目录中,如果没有的话可以自动创建。

# unzip linuxx64_12201_database.zip -d /stage/
创建一些其他目录,分配权限。

# mkdir /u01
# mkdir /u02
# chown -R oracle:oinstall /u01
# chown -R oracle:oinstall /u02
# chmod -R 775 /u01
# chmod -R 775 /u02
# chmod g s /u01
# chmod g s /u02
安装Oracle
环境配置
添加防火墙

# firewall-cmd –zone=public –add-port=1521/tcp –add-port=5500/tcp –add-port=5520/tcp –add-port=3938/tcp –permanent
# firewall-cmd –reload
配置.bash_profile文件

export PATH
TMPDIR=$TMP;
export TMPDIR
ORACLE_BASE=/u01/app/oracle;
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1;
export ORACLE_HOME
ORACLE_SID=orcl;
export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH;
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
配置.profile文件

export PATH
TMPDIR=$TMP;
export TMPDIR
ORACLE_BASE=/u01/app/oracle;
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1;
export ORACLE_HOME
ORACLE_SID=orcl;
export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH;
export PATH
安装Oracle数据库。在这里最好重启一下电脑。使用Oracle用户登录。在终端输入

/stage/database/runInstaller
接下来就会出现Oracle的安装窗口,一直点击下一步直到第22步,需要输入数据库的密码。继续下一步,如果没问题,点击安装。如果中间过程出现弹窗,请参考其他问题。

如果你弹出了以下界面,那么恭喜你离成功只有一半的距离了。

1、第一步用来配置更新以及技术支持的,把勾去掉直接下一步就行

第一步

2、 配置安装选项,这三个选项分别表示:①创建并配置一个新数据库,适用于新安装数据库的用户;②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的;③升级已有数据库,适用于将老数据库升级成新数据库的用户。毫无疑问这里选择第一个选项。

第二步

3、第三步配置桌面版还是服务器版,桌面版是最小化配置,这里为了练习选择服务器版的配置。

第三步

4、第四步分布式网格配置,这里选择单实例服务器配置,如果要配置分布式服务的话可以参考前面说的安装文档,里面有详细的分布式服务安装过程。

第四步

5、这个我们为了达到练手的目的选择高级安装(典型安装基本都已经帮我们配置好了,有啥挑战性)

第五步

6、选择语言,这里我选择英文和简体中文。

第六步

7、第七步选择数据库版本,这里选择企业版

第七步

8、选择安装路径,这个已经在环境变量里配置过了

第八步

9、这个Inventory Directory目录用于记录Oracle的清单信息的,清单信息中包括Oracle的安装路径等信息。这里我选择在oracle的家目录下建一个目录存放这些安装信息。

第九步

10、第十步用于创建数据库的类型:

  • 通用/事务处理:专为一般用途或交互较多的应用程序而设计。
  • 数据仓库:对数据存储应用程序进行优化。

这里选择通用的就行。

第十步

11、配置数据库名,和Oracle服务ID号

注意数据库名一定要记住,以后进行程序开发会用到这个数据库名

第十一步

12、十二步,这里需要配置一下字符集,将字符集设置成UTF-8,其他的不用修改(如果有特殊需求可以参考文档来配置)。

第十二步

13、这一步用来配置系统信息邮件通知的,可以跳过

第十三步

14、这一步用于配置数据存储的(数据文件存储位置),这里我们把数据存储在/oracle/oradata目录下。

第十四步

15、十五步用于配置数据备份,这里我们只是用来学习不需要自动备份,实际生产肯定是要做备份的。

第十五步

16、十六步配置账号密码,这里我将所有的默认用户统一使用相同的密码(如果密码太简单可能会报错,需要大小写数字都包含,需要精心设计一个密码)。

注意密码不能忘了,不管是数据库管理还是软件开发都会用到这个密码。

第十六步

17、这一步用于配置数据库用户组的,只要安装前的配置工作完成了,这一步可以直接使用默认的。

第十七步

18、这一步会检测交换分区大小、内核参数以及依赖包是否安装。只要前面准备工作都完成了,下面的错误可以直接忽略(比如它要求的软件包,我们的版本实际上比它要求的还高,所以这里的报错没必要理会它)。

第十八步

19、这一步是对前面所有配置的一个总结,我们可以直接点击完成

第十九步

20、只要前面的配置没问题,我们就可以安心的等待安装成功了

第二十步

21、安装完成后,弹出下面这个界面,我们点击password management对数据库用户的密码进行一些配置

第二十一步

22、配置数据库用户密码

第二十二步

这里叫你运行使用root用户运行两个脚本,运行一下就可以了。

第二十二步

第二十二步

安装成功,此处应有掌声。

使用SQLplus查询scott表进行测试

SQLplus

配置listener.ora文件

# vi $ORACLE_HOME/network/admin/listener.ora
设置HOST=0.0.0.0。

使配置生效

source .bash_profile
source .profile
进入Oracle终端
sqlplus / as sysdba
如果在关机重启之后还是提示sqlplus指令没有找到,则在终端输入source .bash_profile即可。

其他问题
soft limit:maximum stabk size失败

查看stack size:

ulimit -a或ulimit -s。这两个的区别是第一个查看所有,第二个是只查看stack size。默认是8192,Oracle要求最少是10240。设置方法使用如下语句:

ulimit -s 10240

2. 如下问题

运行指令:

# cd /u01/app/oracle/product/12.2.0/dbhome_1
# ./root.sh
如果提示还需要运行orainstRoot.sh,则继续运行以下指令:

# cd /u01/app/oraInventory
# ./orainstRoot.sh