如何在RHEL / CentOS 7上安装Oracle数据库12c

本文介绍如何在RHEL / CentOS 7上安装Oracle 12c,如何创建和配置数据库,以及如何创建表和插入数据行。

Oracle数据库是企业环境中使用最广泛的关系数据库管理系统( RDBMS )之一。 由Oracle公司开发,维护和支持,该RDBMS通常安装在企业Linux(RHEL,CentOS或Scientific Linux)的风格之上。 这使得一个非常强大的操作系统 - 数据库选择。

在本文中,我们将介绍如何在RHEL / CentOS 7 GUI服务器上安装Oracle 12c Release 2

注意 :RHEL / CentOS 6用户可以按照本指南在RHEL / CentOS 6.x上安装Oracle数据库12c

让我们开始。

先决条件:

安装Oracle 12c后 ,将通过图形界面执行配置。 这就是为什么我们需要安装了X Window系统软件组的CentOS 7服务器的原因。

另请参阅在RHEL / CentOS 7服务器上安装GUI(Gnome)

此外,请注意, Oracle帐户需要下载Oracle Database 12c安装文件3.2 GB )。 不要担心,尽管如此,您可以免费创建一个帐户。

最后,确保您的服务器至少有2 GB的RAM和30 GB的可用磁盘空间。 这些硬件要求对于像我们这样的测试环境是安全的,但是如果您考虑在生产中使用Oracle,则需要增加。

准备Oracle 12c安装

1.首先,确保RHEL / CentOS 7系统上当前安装的所有软件包都已更新为最新版本。

# yum update -y

2.接下来,为RDBMS安装所有必需的依赖项,以及zip和解压缩包。

# 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

3.为Oracle创建用户帐户和组。

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle

最后,为新创建的oracle帐户设置一个密码。

# passwd oracle

4.将以下内核参数添加到/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

并应用它们:

# sysctl -p
# sysct -a

5./etc/security/limits.conf文件中设置oracle的限制。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

6.创建一个名为/ 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

我们现在可以运行安装脚本了。

7.RHEL / CentOS 7服务器中打开GUI会话并启动安装脚本。

/stage/database/runInstaller 

并按照安装程序提供的步骤。

在CentOS 7上安装Oracle 12c

8.输入与您的Oracle帐户相关联的电子邮件地址(可选)。

Oracle帐户电子邮件地址

Oracle帐户电子邮件地址

9.选择创建并配置数据库。

配置Oracle数据库

配置Oracle数据库

10.选择桌面类,因为我们正在设置一个最小配置和一个起始数据库。

Oracle桌面类安装

Oracle桌面类安装

11.选择以下基本配置选项。

  • Oracle基础: / u01 / app / oracle
  • 软件位置: /u01/app/oracle/product/12.2.0/dbhome_1
  • 数据库文件位置: / u01
  • OSDBA组: dba
  • 全局数据库名称:您的选择。 我们在这里选择了howtoing
  • 注意密码 ,当您首次连接到数据库时将使用该密码
  • 取消选中创建为容器数据库。
Oracle 12c基本配置

Oracle 12c基本配置

12.将默认库存目录保留为/ u01 / app / oraInventory

Oracle 12c库存目录

Oracle 12c库存目录

13.验证安装预检完成没有错误。

Oracle 12c安装设置

Oracle 12c安装设置

如果发现任何错误,安装程序将不会让您超越这一点。

等待Oracle 12c安装完成。

Oracle 12c安装进度

Oracle 12c安装进度

有可能在安装过​​程中的某个时候,您将被要求运行几个脚本来设置进一步的权限或纠正问题。 这在这里说明:

Oracle 12c配置脚本

Oracle 12c配置脚本

和这里:

# cd /u01/app/oraInventory
# ./orainstRoot.sh
# cd /u01/app/oracle/product/12.2.0/dbhome_1
# ./root.sh
执行Oracle 12c配置脚本

执行Oracle 12c配置脚本

15.之后,您将需要返回到GUI会话中的上一个屏幕,然后单击确定,以便安装可以继续。

完成后,将显示以下消息,指示Oracle企业管理器的URL:

https://localhost:5500/em

Oracle 12c完成接触

16.要允许从服务器外部进行连接,您需要打开以下端口:

1521/TCP
5500/TCP
5520/TCP
3938/TCP

如下:

# firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
# firewall-cmd --reload

接下来,使用先前选择的密码登录为oracle ,并将以下行添加到.bash_profile文件。

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=howtoing; 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

最后,将localhost替换为0.0.0.0

# vi $ORACLE_HOME/network/admin/listener.ora
设置Oracle 12c监听器

设置Oracle 12c监听器

19.最后一步是重新加载.bash_profile以应用新的设置。

# source .bash_profile

20.然后使用上一节第1步1中选择的系统帐户和密码登录数据库。

# sqlplus [email protected]

或者,让我们在howtoing数据库中创建一个表,我们将在其中插入一些示例记录,如下所示。

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

请注意,在Oracle 12c中首先引入了IDENTITY列。

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;
在Oracle 12c数据库中创建表

在Oracle 12c数据库中创建表

启用Oracle以启动系统引导

21.要启用数据库服务以在启动时自动启动,请将以下行添加到/etc/systemd/system/oracle-rdbms.service文件中。

# /etc/systemd/system/oracle-rdbms.service
# Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
# and starts Listener
[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target
[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle
[Install]
WantedBy=multi-user.target

最后,我们需要指出, howtoing数据库应该在/ etc / oratabY:是 )中引导时启动。

启用Oracle 12c数据库

启用Oracle 12c数据库

概要

在本文中,我们已经解释了如何在RHEL / CentOS 7上安装Oracle 12c ,如何创建和配置数据库,以及如何创建表和插入数据行。

此外,重要的是要注意,数据库服务器应该在系统引导时启动并运行,并且我们的默认数据库应该在该点可用。

如果您对本文有任何问题或意见,请随时使用以下表单向我们提供一行。